1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2619],{4084:(t,e,i)=>{var o,s;s=function(t){"use strict";var e=t?t._modules:{};function i(e,i,o,s){e.hasOwnProperty(i)||(e[i]=s.apply(null,o),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Core/Axis/Color/ColorAxisComposition.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i;let{parse:o}=t,{addEvent:s,extend:r,merge:n,pick:a,splat:l}=e;return function(t){let e;function i(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=l(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function h(t){let e=this.chart.colorAxis||[],i=e=>{let i=t.allItems.indexOf(e);-1!==i&&(this.destroyItem(t.allItems[i]),t.allItems.splice(i,1))},o=[],s,r;for(e.forEach(function(t){(s=t.options)&&s.showInLegend&&(s.dataClasses&&s.visible?o=o.concat(t.getDataClassLegendSymbols()):s.visible&&o.push(t),t.series.forEach(function(t){(!t.options.showInLegend||s.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=o.length;r--;)t.allItems.unshift(o[r])}function p(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function d(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function c(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function u(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function m(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 g(){let t=this,e=this.getPointsCollection(),i=this.options.nullColor,o=this.colorAxis,s=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(s),n=e.options.color||(e.isNull||null===e.value?i:o&&void 0!==r?o.toColor(r,e):e.color||t.color);n&&e.color!==n&&(e.color=n,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function f(){this.elem.attr("fill",o(this.start).tweenTo(o(this.end),this.pos),void 0,!0)}function b(){this.elem.attr("stroke",o(this.start).tweenTo(o(this.end),this.pos),void 0,!0)}t.compose=function(t,o,l,y,x){let M,v=o.prototype,C=l.prototype,w=x.prototype;v.collectionsWithUpdate.includes("colorAxis")||(e=t,v.collectionsWithUpdate.push("colorAxis"),v.collectionsWithInit.colorAxis=[v.addColorAxis],s(o,"afterGetAxes",i),M=o.prototype.createAxis,o.prototype.createAxis=function(t,i){if("colorAxis"!==t)return M.apply(this,arguments);let o=new e(this,n(i.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}),a(i.redraw,!0)&&this.redraw(i.animation),o},C.fillSetter=f,C.strokeSetter=b,s(y,"afterGetAllItems",h),s(y,"afterColorizeItem",p),s(y,"afterUpdate",d),r(w,{optionalAxis:"colorAxis",translateColors:g}),r(w.pointClass.prototype,{setVisible:m}),s(x,"afterTranslate",c,{order:1}),s(x,"bindAxes",u))},t.pointSetVisible=m}(i||(i={})),i}),i(e,"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}}),i(e,"Core/Axis/Color/ColorAxisLike.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i,o;let{parse:s}=t,{merge:r}=e;return(o=i||(i={})).initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},o=this.options,n=t.dataClasses||[],a,l,h=e.options.chart.colorCount,p=0,d;this.dataClasses=l=[],i.labels=[];for(let t=0,i=n.length;t<i;++t)a=r(a=n[t]),l.push(a),(e.styledMode||!a.color)&&("category"===o.dataClassColor?(e.styledMode||(h=(d=e.options.colors||[]).length,a.color=d[p]),a.colorIndex=p,++p===h&&(p=0)):a.color=s(o.minColor).tweenTo(s(o.maxColor),i<2?.5:t/(i-1)))},o.initStops=function(){let t=this.options,e=this.stops=t.stops||[[0,t.minColor||""],[1,t.maxColor||""]];for(let t=0,i=e.length;t<i;++t)e[t].color=s(e[t][1])},o.normalizedValue=function(t){let e=this.max||0,i=this.min||0;return this.logarithmic&&(t=this.logarithmic.log2lin(t)),1-(e-t)/(e-i||1)},o.toColor=function(t,e){let i,o,s,r,n,a,l=this.dataClasses,h=this.stops;if(l){for(a=l.length;a--;)if(o=(n=l[a]).from,s=n.to,(void 0===o||t>=o)&&(void 0===s||t<=s)){r=n.color,e&&(e.dataClass=a,e.colorIndex=n.colorIndex);break}}else{for(i=this.normalizedValue(t),a=h.length;a--&&!(i>h[a][0]););o=h[a]||h[a+1],i=1-((s=h[a+1]||o)[0]-i)/(s[0]-o[0]||1),r=o.color.tweenTo(s.color,i)}return r},i}),i(e,"Core/Axis/Color/ColorAxis.js",[e["Core/Axis/Axis.js"],e["Core/Axis/Color/ColorAxisComposition.js"],e["Core/Axis/Color/ColorAxisDefaults.js"],e["Core/Axis/Color/ColorAxisLike.js"],e["Core/Defaults.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,
1i,o,s,r,n,a){let{defaultOptions:l}=s,{series:h}=n,{defined:p,extend:d,fireEvent:c,isArray:u,isNumber:m,merge:g,pick:f,relativeLength:b}=a;l.colorAxis=g(l.xAxis,i);class y extends t{static compose(t,i,o,s){e.compose(y,t,i,o,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let i=t.options.legend||{},o=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||o?2:1,this.reversed=e.reversed||!o,this.opposite=!o,super.init(t,e,"colorAxis"),this.userOptions=e,u(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=o,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=g(l.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:o}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=o=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-o,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:o)||y.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let i=this.chart.legend;i.allItems.forEach(function(t){t instanceof y&&t.drawLegendSymbol(i,t)}),i.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]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,i=+!!e,o=+!e,s=t?[i,0,o,0]:[0,o,0,i];this.legendColor={linearGradient:{x1:s[0],y1:s[1],x2:s[2],y2:s[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},o=t.padding,s=t.options,r=this.options.labels,n=f(s.itemDistance,10),a=this.horiz,{width:l,height:h}=this.getSize(),p=f(s.labelPadding,a?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:s.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+o+(a?n:f(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+o+(a?p:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,o,s,r,n,a=t.length,l,d;for(this.dataMin=1/0,this.dataMax=-1/0;a--;){if(i=(n=t[a]).colorKey=f(n.options.colorKey,n.colorKey,n.pointValKey,n.zoneAxis,"y"),s=n.pointArrayMap,r=n[i+"Min"]&&n[i+"Max"],n[i+"Data"])e=n[i+"Data"];else if(s){if(e=[],o=s.indexOf(i),l=n.yData,o>=0&&l)for(d=0;d<l.length;
1d++)e.push(f(l[d][o],l[d]))}else e=n.yData;if(r)n.minColorValue=n[i+"Min"],n.maxColorValue=n[i+"Max"];else{let t=h.prototype.getExtremes.call(n,e);n.minColorValue=t.dataMin,n.maxColorValue=t.dataMax}p(n.minColorValue)&&p(n.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,n.minColorValue),this.dataMax=Math.max(this.dataMax,n.maxColorValue)),r||h.prototype.applyExtremes.call(n)}}drawCrosshair(t,e){let i,o=this.legendItem||{},s=e&&e.plotX,r=e&&e.plotY,n=this.pos,a=this.len;e&&((i=this.toPixels(e.getNestedProperty(e.series.colorKey)))<n?i=n-2:i>n+a&&(i=n+a+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=s,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&o.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(o.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,i=t.translatedValue,o=this.top;return m(i)?this.horiz?[["M",i-4,o-6],["L",i+4,o-6],["L",i,o],["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(let 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 t,e=this,i=e.chart,o=e.legendItem&&e.legendItem.labels||[],s=i.options.legend,n=f(s.valueDecimals,-1),a=f(s.valueSuffix,""),l=t=>e.series.reduce((e,i)=>(e.push(...i.points.filter(e=>e.dataClass===t)),e),[]);return o.length||e.dataClasses.forEach((s,h)=>{let p=s.from,u=s.to,{numberFormatter:m}=i,g=!0;t="",void 0===p?t="< ":void 0===u&&(t="> "),void 0!==p&&(t+=m(p,n)+a),void 0!==p&&void 0!==u&&(t+=" - "),void 0!==u&&(t+=m(u,n)+a),o.push(d({chart:i,name:t,options:{},drawLegendSymbol:r.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of l(h))e.setState(t)},setVisible:function(){this.visible=g=e.visible=!g;let t=[];for(let e of l(h))e.setVisible(g),e.hiddenInDataClass=!g,-1===t.indexOf(e.series)&&t.push(e.series);i.legend.colorizeItem(this,g),t.forEach(t=>{c(t,"afterDataClassLegendClick")})}},s))}),o}getSize(){let{chart:t,horiz:e}=this,{height:i,width:o}=this.options,{legend:s}=t.options;return{width:f(p(o)?b(o,t.chartWidth):void 0,s?.symbolWidth,e?y.defaultLegendLength:12),height:f(p(i)?b(i,t.chartHeight):void 0,s?.symbolHeight,e?12:y.defaultLegendLength)}}}return y.defaultLegendLength=200,y.keepProps=["legendItem"],d(y.prototype,o),Array.prototype.push.apply(t.keepProps,y.keepProps),y}),i(e,"masters/modules/coloraxis.src.js",[e["Core/Globals.js"],e["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}),i(e,"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}}}),i(e,"Maps/MapPointer.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:i,extend:o,pick:s,wrap:r}=t;return function(t){let e,n=0;function a(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 o=this.chart,s=i((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(s)>=1&&(n+=Math.abs(s),e&&clearTimeout(e),e=setTimeout(()=>{n=0},50)),n<10&&o.isInsidePlot(t.chartX-o.plotLeft,t.chartY-o.plotTop)&&o.mapView&&o.mapView.zoomBy(-((o.options.mapNavigation.mouseWheelSensitivity-1)*s),void 0,[t.chartX,t.chartY],!(1>Math.abs(s))&&void 0)}
1function h(t,e,i){let s=this.chart;if(e=t.call(this,e,i),s&&s.mapView){let t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop});t&&o(e,t)}return e}function p(t){let e=this.chart.options.mapNavigation;e&&s(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(o(e,{onContainerDblClick:a,onContainerMouseWheel:l}),r(e,"normalize",h),r(e,"zoomOption",p))}}(e||(e={})),e}),i(e,"Maps/MapSymbols.js",[],function(){let t;function e(e,i,o,s,r){if(r){let t=r?.r||0;r.brBoxY=i-t,r.brBoxHeight=s+t}return t.roundedRect(e,i,o,s,r)}function i(e,i,o,s,r){if(r){let t=r?.r||0;r.brBoxHeight=s+t}return t.roundedRect(e,i,o,s,r)}return{compose:function(o){(t=o.prototype.symbols).bottombutton=e,t.topbutton=i}}}),i(e,"Maps/MapNavigation.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Maps/MapNavigationDefaults.js"],e["Maps/MapPointer.js"],e["Maps/MapSymbols.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r){let{setOptions:n}=t,{composed:a}=e,{addEvent:l,extend:h,merge:p,objectEach:d,pick:c,pushUnique:u}=r;function m(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}class g{static compose(t,e,r){o.compose(e),s.compose(r),u(a,"Map.Navigation")&&(l(t,"beforeRender",function(){this.mapNavigation=new g(this),this.mapNavigation.update()}),n(i))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,o=e.navButtons,s=function(t){this.handler.call(i,t),m(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=p(i.options.mapNavigation,t));o.length;)o.pop().destroy();!i.renderer.forExport&&c(r.enableButtons,r.enabled)&&(e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),d(r.buttons,(t,n)=>{let a={padding:(t=p(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(h(a,t.theme),a.style=p(t.theme.style,t.style));let{text:d,width:c=0,height:u=0,padding:g=0}=t,f=i.renderer.button("+"!==d&&"-"!==d&&d||"",0,0,s,a,void 0,void 0,void 0,"zoomIn"===n?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom-out"})[n]).attr({width:c,height:u,title:i.options.lang[n],zIndex:5}).add(e.navButtonsGroup);if("+"===d||"-"===d){let e=c+1,o=[["M",g+3,g+u/2],["L",g+e-3,g+u/2]];"+"===d&&o.push(["M",g+e/2,g+3],["L",g+e/2,g+u-3]),i.renderer.path(o).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(f)}if(f.handler=t.onclick,l(f.element,"dblclick",m),o.push(f),h(t,{width:f.width,height:2*(f.height||0)}),i.hasLoaded)f.align(t,!1,t.alignTo);else{let e=l(i,"load",()=>{f.element&&f.align(t,!1,t.alignTo),e()})}}),i.hasLoaded||l(i,"render",function(){let t=i.exportingGroup&&i.exportingGroup.getBBox();if(t){let i=e.navButtonsGroup.getBBox();if(!(i.x>=t.x+t.width||i.x+i.width<=t.x||i.y>=t.y+t.height||i.y+i.height<=t.y)){let o=-i.y-i.height+t.y-5,s=t.y+t.height-i.y+5,n=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===n?o:s})}}})),this.updateEvents(r)}updateEvents(t){let e=this.chart;c(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||l(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),c(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||l(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),m(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return g}),i(e,"Series/ColorMapComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i){var o;let{column:{prototype:s}}=t.seriesTypes,{addEvent:r,defined:n}=i;return function(t){function i(t){let i=this.series,o=i.chart.renderer;this.moveToTopOnHover&&this.graphic&&(i.stateMarkerGraphic||(i.stateMarkerGraphic=new e(o,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),i.stateMarkerGraphic.attr({href:`${o.url}#${this.id}`,visibility:"visible"})):i.stateMarkerGraphic.attr({href:""}))}
1t.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return n(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:s.pointAttribs},t.compose=function(t){return r(t.prototype.pointClass,"afterSetState",i),t}}(o||(o={})),o}),i(e,"Core/Chart/MapChart.js",[e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,o){var s;let{getOptions:r}=e,{isNumber:n,merge:a,pick:l}=o;class h extends t{init(t,e){let i=r().credits,o=a({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:l(i.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:l(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(o,e)}mapZoom(t,e,i,o,s){this.mapView&&(n(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,n(e)&&n(i)?this.mapView.projection.inverse([e,i]):void 0,n(o)&&n(s)?[o,s]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(s=h||(h={})).maps={},s.mapChart=function(t,e,i){return new s(t,e,i)},s.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,i.prototype.pathToSegments(e)},h}),i(e,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,o=-Number.MAX_VALUE,s=Number.MAX_VALUE,r;if(t.forEach(t=>{let n=t[t.length-2],a=t[t.length-1];"number"==typeof n&&"number"==typeof a&&(i=Math.min(i,n),e=Math.max(e,n),s=Math.min(s,a),o=Math.max(o,a),r=!0)}),r)return{x1:i,y1:s,x2:e,y2:o}}}}),i(e,"Series/Map/MapPoint.js",[e["Series/ColorMapComposition.js"],e["Maps/MapUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o){let{boundsFromPath:s}=e,r=i.seriesTypes.scatter.prototype.pointClass,{extend:n,isNumber:a,pick:l}=o;class h 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,o=super.applyOptions(t,e),s=i.joinBy;if(i.mapData&&i.mapMap){let t=s[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?n(o,{...r,name:o.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(o.value=o.value||null)}return o}getProjectedBounds(t){let e=s(h.getProjectedPath(this,t)),i=this.properties,o=this.series.chart.mapView;if(e){let s=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(o&&a(s)&&a(r)){let i=t.forward([s,r]);e.midX=i[0],e.midY=i[1]}else{let t=i&&i["hc-middle-x"],o=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*l(this.middleX,a(t)?t:.5);let s=l(this.middleY,a(o)?o:.5);this.geometry||(s=1-s),e.midY=e.y2-(e.y2-e.y1)*s}return e}}onMouseOver(t){o.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,o=this.bounds;if(i&&o){let s=a(this.insetIndex)&&i.insets[this.insetIndex];if(s){let t=s.projectedUnitsToPixels({x:o.x1,y:o.y1}),e=s.projectedUnitsToPixels({x:o.x2,y:o.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),n=i.pixelsToProjectedUnits({x:e.x,y:e.y});o={x1:r.x,y1:r.y,x2:n.x,y2:n.y}}i.fitToBounds(o,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}return n(h.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),h}),i(e,"Series/Map/MapSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),i(e,"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"}}}),i(e,"Maps/GeoJSONComposition.js",[e["Core/Globals.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 25,230 bytes, line 1
1i){var o;let{win:s}=t,{format:r}=e,{error:n,extend:a,merge:l,wrap:h}=i;return function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function o(t,e){let i=this.options.chart.proj4||s.proj4;if(!i)return void n(21,!1,this);let{jsonmarginX:o=0,jsonmarginY:r=0,jsonres:a=1,scale:l=1,xoffset:h=0,xpan:p=0,yoffset:d=0,ypan:c=0}=e,u=i(e.crs,[t.lon,t.lat]),m=e.cosAngle||e.rotation&&Math.cos(e.rotation),g=e.sinAngle||e.rotation&&Math.sin(e.rotation),f=e.rotation?[u[0]*m+u[1]*g,-u[0]*g+u[1]*m]:u;return{x:((f[0]-h)*l+p)*a+o,y:-(((d-f[1])*l+c)*a-r)}}function p(t,e){let i=this.options.chart.proj4||s.proj4;if(!i)return void n(21,!1,this);if(null===t.y)return;let{jsonmarginX:o=0,jsonmarginY:r=0,jsonres:a=1,scale:l=1,xoffset:h=0,xpan:p=0,yoffset:d=0,ypan:c=0}=e,u={x:((t.x-o)/a-p)/l+h,y:((t.y-r)/a+c)/l+d},m=e.cosAngle||e.rotation&&Math.cos(e.rotation),g=e.sinAngle||e.rotation&&Math.sin(e.rotation),f=i(e.crs,"WGS84",e.rotation?{x:u.x*m+-(u.y*g),y:u.x*g+u.y*m}:u);return{lat:f.y,lon:f.x}}function d(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let o=t.arcs;if(t.transform){let e,i,s,r=t.arcs,{scale:n,translate:a}=t.transform;o=[];for(let t=0,l=r.length;t<l;++t){let l=r[t];o.push(e=[]),i=0,s=0;for(let t=0,o=l.length;t<o;++t)e.push([(i+=l[t][0])*n[0]+a[0],(s+=l[t][1])*n[1]+a[1]])}}let s=t=>"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?o[~e]:o[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),r=i.geometries,n=[];for(let t=0,e=r.length;t<e;++t)n.push({type:"Feature",properties:r[t].properties,geometry:{type:r[t].type,coordinates:r[t].coordinates||s(r[t].arcs)}});let a={type:"FeatureCollection",copyright:t.copyright,copyrightShort:t.copyrightShort,copyrightUrl:t.copyrightUrl,features:n,"hc-recommended-mapview":i["hc-recommended-mapview"],bbox:t.bbox,title:t.title};return i["hc-decoded-geojson"]=a,a}function c(t,e){e=l(!0,this.options.credits,e),this.mapCredits&&(e.href=void 0),t.call(this,e),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})}t.compose=function(t){let s=t.prototype;s.transformFromLatLon||(s.fromLatLonToPoint=e,s.fromPointToLatLon=i,s.transformFromLatLon=o,s.transformToLatLon=p,h(s,"addCredits",c))},t.geojson=function(t,e="map",i){let o=[],s="Topology"===t.type?d(t):t,n=s.features;for(let t=0,i=n.length;t<i;++t){let i,s=n[t],r=s.geometry||{},l=r.type,h=r.coordinates,p=s.properties;if(("map"===e||"mapbubble"===e)&&("Polygon"===l||"MultiPolygon"===l)||"mapline"===e&&("LineString"===l||"MultiLineString"===l)?h.length&&(i={geometry:{coordinates:h,type:l}}):"mappoint"===e&&"Point"===l&&h.length&&(i={geometry:{coordinates:h,type:l}}),i){let t=p&&(p.name||p.NAME),e=p&&p.lon,s=p&&p.lat;o.push(a(i,{lat:"number"==typeof s?s:void 0,lon:"number"==typeof e?e:void 0,name:"string"==typeof t?t:void 0,properties:p}))}}return i&&s.copyrightShort&&(i.chart.mapCredits=r(i.chart.options.credits?.mapText,{geojson:s}),i.chart.mapCreditsFull=r(i.chart.options.credits?.mapTextFull,{geojson:s})),o},t.topo2geo=d}(o||(o={})),o}),i(e,"Core/Geometry/PolygonClip.js",[],function(){function t(o,s,r=!0){let n=s[s.length-1],a,l,h,p=o;for(let t=0;t<s.length;t++){let o=p;a=s[t],p=[],l=r?o[o.length-1]:o[0];for(let t=0;t<o.length;t++)e(n,a,h=o[t])?(e(n,a,l)||p.push(i(n,a,l,h)),p.push(h)):e(n,a,l)&&p.push(i(n,a,l,h)),l=h;n=a}return p}function e(t,e,i){return(e[0]-t[0])*(i[1]-t[1])>(e[1]-t[1])*(i[0]-t[0])}function i(t,e,i,o){let s=[t[0]-e[0],t[1]-e[1]],r=[i[0]-o[0],i[1]-o[1]],n=t[0]*e[1]-t[1]*e[0],a=i[0]*o[1]-i[1]*o[0],l=1/(s[0]*r[1]-s[1]*r[0]),h=[(n*r[0]-a*s[0])*l,(n*r[1]-a*s[1])*l];return h.isIntersection=!0,h}return{clipLineString:function(e,i){let o=[],s=t(e,i,!1);for(let t=1;t<s.length;t++)s[t].isIntersection&&s[t-1].isIntersection&&(o.push(s.splice(0,t)),t=0),t===s.length-1&&o.push(s);return o},clipPolygon:t}}),i(e,"Maps/Projections/LambertConformalConic.js",[],function(){let t=Math.sign||(t=>0===t?0:t>0?1:-1),e=Math.PI/180,i=Math.PI/2,o=t=>Math.tan((i+t)/2);return class{constructor(i){let s=(i.parallels||[]).map(t=>t*e),r=s[0]||0,n=s[1]??r,a=Math.cos(r);"object"==typeof i.projectedBounds&&(this.projectedBounds=i.projectedBounds);let l=r===n?Math.sin(r):Math.log(a/Math.cos(n))/Math.log(o(n)/o(r));1e-10>Math.abs(l)&&(l=1e-10*(t(l)||1)),this.n=l,this.c=a*Math.pow(o(r),l)/l}forward(t){let{c:s,n:r,projectedBounds:n}=this,a=t[0]*e,l=t[1]*e;s>0?l<-i+1e-6&&(l=-i+1e-6):l>i-1e-6&&(l=i-1e-6);let h=s/Math.pow(o(l),r),p=h*Math.sin(r*a)*63.78137,d=(s-h*Math.cos(r*a))*63.78137,c=[p,d];return n&&(p<n.x1||p>n.x2||d<n.y1||d>n.y2)&&(c.outside=!0),c}inverse(o){let{c:s,n:r}=this,n=o[0]/63.78137,a=s-o[1]/63.78137,l=t(r)*Math.sqrt(n*n+a*a),h=Math.atan2(n,Math.abs(a))*t(a);return a*r<0&&(h-=Math.PI*t(n)*t(a)),[h/r/e,(2*Math.atan(Math.pow(s/l,1/r))-i)/e]}}}),i(e,"Maps/Projections/EqualEarth.js",[],function(){let t=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(e){let i=Math.PI/180,o=Math.asin(t*Math.sin(e[1]*i)),s=o*o,r=s*s*s;return[e[0]*i*Math.cos(o)*74.03120656864502/(t*(1.340264+-.24331799999999998*s+r*(.0062510000000000005+.034164*s))),74.03120656864502*o*(1.340264+-.081106*s+r*(893e-6+.003796*s))]}inverse(e){let i=e[0]/74.03120656864502,o=e[1]/74.03120656864502,s=180/Math.PI,r=o,n,a,l,h;for(let t=0;t<12&&(a=(n=r*r)*n*n,l=r*(1.340264+-.081106*n+a*(893e-6+.003796*n))-o,r-=h=l/(1.340264+-.24331799999999998*n+a*(.0062510000000000005+.034164*n)),!(1e-9>Math.abs(h)));++t);a=(n=r*r)*n*n;let p=s*t*i*(1.340264+-.24331799999999998*n+a*(.0062510000000000005+.034164*n))/Math.cos(r),d=s*Math.asin(Math.sin(r)/t);return Math.abs(p)>180?[NaN,NaN]:[p,d]}}}),i(e,"Maps/Projections/Miller.js",[],function(){let t=Math.PI/4,e=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(i){return[i[0]*e*63.78137,79.7267125*Math.log(Math.tan(t+.4*i[1]*e))]}inverse(i){return[i[0]/63.78137/e,2.5*(Math.atan(Math.exp(.8*(i[1]/63.78137)))-t)/e]}}}),i(e,"Maps/Projections/Orthographic.js",[],function(){let t=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(e){let i=e[0],o=e[1]*t,s=[Math.cos(o)*Math.sin(i*t)*63.78460826781007,63.78460826781007*Math.sin(o)];return(i<-90||i>90)&&(s.outside=!0),s}inverse(e){let i=e[0]/63.78460826781007,o=e[1]/63.78460826781007,s=Math.sqrt(i*i+o*o),r=Math.asin(s),n=Math.sin(r);return[Math.atan2(i*n,s*Math.cos(r))/t,Math.asin(s&&o*n/s)/t]}}}),i(e,"Maps/Projections/WebMercator.js",[],function(){let t=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(e){let i=Math.sin(e[1]*t),o=[63.78137*e[0]*t,63.78137*Math.log((1+i)/(1-i))/2];return Math.abs(e[1])>this.maxLatitude&&(o.outside=!0),o}inverse(e){return[e[0]/(63.78137*t),(2*Math.atan(Math.exp(e[1]/63.78137))-Math.PI/2)/t]}}}),i(e,"Maps/Projections/ProjectionRegistry.js",[e["Maps/Projections/LambertConformalConic.js"],e["Maps/Projections/EqualEarth.js"],e["Maps/Projections/Miller.js"],e["Maps/Projections/Orthographic.js"],e["Maps/Projections/WebMercator.js"]],function(t,e,i,o,s){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:o,WebMercator:s}}),i(e,"Maps/Projection.js",[e["Core/Geometry/PolygonClip.js"],e["Maps/Projections/ProjectionRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{clipLineString:o,clipPolygon:s}=t,{clamp:r,erase:n}=i,a=2*Math.PI/360,l=t=>(t<-180&&(t+=360),t>180&&(t-=360),t),h=t=>(1-Math.cos(t))/2;class p{static add(t,e){p.registry[t]=e}static distance(t,e){let i,o,s,r,n,{atan2:l,sqrt:p}=Math,d=(i=Math.cos,o=t[1]*a,s=t[0]*a,r=e[1]*a,n=e[0]*a,h(r-o)+i(o)*i(r)*h(n-s));return 6371e3*(2*l(p(d),p(1-d)))}static geodesic(t,e,i,o=5e5){let{atan2:s,cos:r,sin:n,sqrt:l}=Math,h=p.distance,d=t[1]*a,c=t[0]*a,u=e[1]*a,m=e[0]*a,g=r(d)*r(c),f=r(u)*r(m),b=r(d)*n(c),y=r(u)*n(m),x=n(d),M=n(u),v=h(t,e),C=v/6371e3,w=n(C),j=Math.round(v/o),S=[];if(i&&S.push(t),j>1){let t=1/j;for(let e=t;e<.999;e+=t){let t=n((1-e)*C)/w,i=n(e*C)/w,o=t*g+i*f,r=t*b+i*y,h=s(t*x+i*M,l(o*o+r*r)),p=s(r,o);S.push([p/a,h/a])}}return i&&S.push(e),S}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=p.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:o}=t;this.rotator=o?this.getRotator(o):void 0;let s=e?p.registry[e]:void 0;s&&(this.def=new s(t));let{def:r,rotator:n}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),n&&r?(this.forward=t=>r.forward(n.forward(t)),this.inverse=t=>n.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):n&&(this.forward=n.forward,this.inverse=n.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:o,y2:s}=this.bounds||{},r=(t,e,i)=>{let[o,s]=t,r=+!e;if("number"==typeof i&&o[e]>=i!=s[e]>=i){let t=(i-o[e])/(s[e]-o[e]),n=o[r]+t*(s[r]-o[r]);return e?[n,i]:[i,n]}},n,a=t[0];return(n=r(t,0,e))?(a=n,t[1]=n):(n=r(t,0,i))&&(a=n,t[1]=n),(n=r(t,1,o))?a=n:(n=r(t,1,s))&&(a=n),a}getRotator(t){let e=t[0]*a,i=(t[1]||0)*a,o=(t[2]||0)*a,s=Math.cos(i),r=Math.sin(i),n=Math.cos(o),l=Math.sin(o);if(0!==e||0!==i||0!==o)return{forward:t=>{let i=t[0]*a+e,o=t[1]*a,h=Math.cos(o),p=Math.cos(i)*h,d=Math.sin(i)*h,c=Math.sin(o),u=c*s+p*r;return[Math.atan2(d*n-u*l,p*s-c*r)/a,Math.asin(u*n+d*l)/a]},inverse:t=>{let i=t[0]*a,o=t[1]*a,h=Math.cos(o),p=Math.cos(i)*h,d=Math.sin(i)*h,c=Math.sin(o),u=c*n-d*l;return[(Math.atan2(d*n+c*l,p*s+u*r)-e)/a,Math.asin(u*s-p*r)/a]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i,o=[],s=[t];for(let i=0,s=t.length;i<s;++i){let s=t[i],n=t[i-1];if(!i){if(!e)continue;n=t[t.length-1]}let a=n[0],l=s[0];if((a<-90||a>90)&&(l<-90||l>90)&&a>0!=l>0){let t=r((180-(a+360)%360)/((l+360)%360-(a+360)%360),0,1),e=n[1]+t*(s[1]-n[1]);o.push({i,lat:e,direction:a<0?1:-1,previousLonLat:n,lonLat:s})}}if(o.length)if(e){o.length%2==1&&(i=o.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],n(o,i));let e=o.length-2;for(;e>=0;){let i=o[e].i,r=l(180+1e-6*o[e].direction),n=l(180-1e-6*o[e].direction),a=t.splice(i,o[e+1].i-i,...p.geodesic([r,o[e].lat],[r,o[e+1].lat],!0));a.push(...p.geodesic([n,o[e+1].lat],[n,o[e].lat],!0)),s.push(a),e-=2}if(i)for(let t=0;t<s.length;t++){let{direction:e,lat:o}=i,r=s[t],n=r.indexOf(i.lonLat);if(n>-1){let t=(o<0?-1:1)*this.maxLatitude,s=l(180+1e-6*e),a=l(180-1e-6*e),h=p.geodesic([s,o],[s,t],!0);for(let i=s+120*e;i>-180&&i<180;i+=120*e)h.push([i,t]);h.push(...p.geodesic([a,t],[a,i.lat],!0)),r.splice(n,0,...h);break}}}else{let e=o.length;for(;e--;){let i=o[e].i,r=t.splice(i,t.length,[l(180+1e-6*o[e].direction),o[e].lat]);r.unshift([l(180-1e-6*o[e].direction),o[e].lat]),s.push(r)}}return s}path(t){let e,{bounds:i,def:r,rotator:n}=this,a=[],l="Polygon"===t.type||"MultiPolygon"===t.type,h=this.hasGeoProjection,d=!r||!1!==r.antimeridianCutting,c=d?n:void 0,u=d&&r||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let m=t=>{let r=t.map(t=>{if(d){c&&(t=c.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),n=[r];h&&(p.insertGeodesics(r),d&&(n=this.cutOnAntimeridian(r,l))),n.forEach(t=>{let r,n;if(t.length<2)return;let c=!1,m=!1,g=t=>{c?a.push(["L",t[0],t[1]]):(a.push(["M",t[0],t[1]]),c=!0)},f=!1,b=!1,y=t.map(t=>{let e=u.forward(t);return e.outside?f=!0:b=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(d){if(l&&y.push(y[0]),f){if(!b)return;if(e){if(l)y=s(y,e);else if(i)return void o(y,e).forEach(t=>{c=!1,t.forEach(g)})}}y.forEach(g)}else for(let e=0;e<y.length;e++){let i=t[e],o=y[e];o.outside?m=!0:(l&&!r&&(r=i,t.push(i),y.push(o)),m&&n&&(l&&h?p.geodesic(n,i).forEach(t=>g(u.forward(t))):c=!1),g(o),n=i,m=!1)}})};return"LineString"===t.type?m(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>m(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>m(t)),a.length&&a.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>m(t))}),a.length&&a.push(["Z"])),a}}return p.registry=e,p}),i(e,"Maps/MapView.js",[e["Core/Globals.js"],e["Maps/MapViewDefaults.js"],e["Maps/GeoJSONComposition.js"],e["Core/Geometry/GeometryUtilities.js"],e["Maps/MapUtilities.js"],e["Maps/Projection.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n){let{composed:a}=t,{pointInPolygon:l}=o,{topo2geo:h}=i,{boundsFromPath:p}=s,{addEvent:d,clamp:c,crisp:u,fireEvent:m,isArray:g,isNumber:f,isObject:b,isString:y,merge:x,pick:M,pushUnique:v,relativeLength:C}=n,w={};function j(t,e){let{width:i,height:o}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(o/256)))/Math.log(2)}function S(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class P{static compose(t){v(a,"MapView")&&(w=t.maps,d(t,"afterInit",function(){this.mapView=new P(this,this.options.mapView)},{order:0}),d(t,"addSeriesAsDrilldown",S),d(t,"afterDrillUp",S))}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 e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},o=x(i(t),i(e));return Object.keys(o).map(t=>o[t])}constructor(t,i){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=i||{};let o=x(e,this.recommendedMapView,i),s=this.recommendedMapView?.insets,n=i&&i.insets;s&&n&&(o.insets=P.mergeInsets(s,n)),this.chart=t,this.center=o.center,this.options=o,this.projection=new r(o.projection),this.playingField=t.plotBox,this.zoom=o.zoom||0,this.minZoom=o.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 t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new T(this,x(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,o){let s=t||this.getProjectedBounds();if(s){let r=M(e,t?0:this.options.padding),n=this.getField(!1),a=g(r)?r:[r,r,r,r];this.padding=[C(a[0],n.height),C(a[1],n.width),C(a[2],n.height),C(a[3],n.width)],this.playingField=this.getField();let l=j(s,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(s.x2+s.x1)/2,(s.y2+s.y1)/2]);this.setView(h,l,i,o)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(y(t))return w[t]&&"Topology"===w[t].type?h(w[t]):w[t];if(b(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return h(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,o=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:o.x-i[3],y:o.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache)if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),o=e.map(t=>t[0]),s=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,o),x2:Math.max.apply(0,o),y1:Math.min.apply(0,s),y2:Math.max.apply(0,s)}}else this.fitToGeometryCache=p(t.path(i));return this.fitToGeometryCache}return this.projection.bounds||P.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:o}=this.playingField,s=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,n=this.getScale(),a=n*r,l=t+i/2-s[0]*n,h=e+o/2-s[1]*a;return{scaleX:n,scaleY:a,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let o in i)if(Object.hasOwnProperty.call(i,o)&&i[o].hitZone){let s=e.transformFromLatLon(t,i[o]);if(s&&l(s,i[o].hitZone.coordinates[0]))return s}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&l({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),o=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(o)}let o=this.projection.forward([t.lon,t.lat]);if(!o.outside)return{x:o[0],y:o[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let o in i)if(Object.hasOwnProperty.call(i,o)&&i[o].hitZone&&l(t,i[o].hitZone.coordinates[0]))return e.transformToLatLon(t,i[o]);return e.transformToLatLon(t,i.default)}let o=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&l(o,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(o),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let s=this.projection.inverse([t.x,t.y]);return{lon:s[0],lat:s[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let o=e.map(t=>this.getGeoMap(t)),s=[];o.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,o,r]=t.bbox;s.push({x1:e,y1:i,x2:o,y2:r})}});let r=s.length&&P.compositeBounds(s);m(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:o}=r;this.recommendedMapView.projection=i-t>180&&o-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,o],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=o[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,o){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),f(e)&&(this.zoom=e));let s=this.getProjectedBounds();if(s){let t=this.projection.forward(this.center),{x:e,y:i,width:o,height:r}=this.playingField,n=this.getScale(),a=this.projectedUnitsToPixels({x:s.x1,y:s.y1}),l=this.projectedUnitsToPixels({x:s.x2,y:s.y2}),h=[(s.x1+s.x2)/2,(s.y1+s.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let s=a.x,p=l.y,d=l.x,c=a.y;d-s<o?t[0]=h[0]:s<e&&d<e+o?t[0]+=Math.max(s-e,d-o-e)/n:d>e+o&&s>e&&(t[0]+=Math.min(d-o-e,s-e)/n),c-p<r?t[1]=h[1]:p<i&&c<i+r?t[1]-=Math.max(p-i,c-r-i)/n:c>i+r&&p>i&&(t[1]-=Math.min(c-r-i,p-i)/n),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}m(this,"afterSetView"),i&&this.redraw(o)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),o=this.playingField,s=o.x+o.width/2,r=o.y+o.height/2;return{x:s-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,o=this.getScale(),s=this.projection.forward(this.center),r=this.playingField,n=r.x+r.width/2,a=r.y+r.height/2;return{x:s[0]+(e-n)/o,y:s[1]-(i-a)/o}}setUpEvents(){let t,e,i,{chart:o}=this,s=s=>{let{lastTouches:r,pinchDown:n}=o.pointer,a=this.projection,l=s.touches,{mouseDownX:h,mouseDownY:p}=o,d=0;if(n?.length===1?(h=n[0].chartX,p=n[0].chartY):n?.length===2&&(h=(n[0].chartX+n[1].chartX)/2,p=(n[0].chartY+n[1].chartY)/2),l?.length===2&&r&&(d=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),f(h)&&f(p)){let r=`${h},${p}`,{chartX:n,chartY:u}=s.originalEvent;l?.length===2&&(n=(l[0].chartX+l[1].chartX)/2,u=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let m=a.def&&a.def.bounds,g=m&&j(m,this.playingField)||-1/0;if("Orthographic"===a.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*g){let t=440/(this.getScale()*Math.min(o.plotWidth,o.plotHeight));if(i){let e=(h-n)*t-i[0],s=c(-i[1]-(p-u)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-s]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,o.redraw(!1)}}else if(f(n)&&f(u)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,o=this.projection.inverse([t[0]+(h-n)/e,t[1]-(p-u)/e*i]);isNaN(o[0]+o[1])||this.zoomBy(d,o,void 0,!1)}s.preventDefault()}};d(o,"pan",s),d(o,"touchpan",s),d(o,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-o.plotLeft,i=t.y-o.plotTop,{y:s,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:n,x:a}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:s,x2:a,y2:n},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||o.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let o=t.projection,s=o&&r.toString(o)!==r.toString(this.options.projection),n=!1;x(!0,this.userOptions,t),x(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,n=!0),(s||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(s||n)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,n&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),s&&(this.projection=new r(this.options.projection)),n&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!f(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||f(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,o){let s=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let n,a,l,h=this.zoom+t;if(i){let[t,e]=i,o=this.getScale(),n=t-s.plotLeft-s.plotWidth/2,h=e-s.plotTop-s.plotHeight/2;a=r[0]+n/o,l=r[1]+h/o}if("number"==typeof a&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-a,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,n=this.projection.inverse(r)}this.setView(e||n,h,void 0,o)}else this.fitToBounds(void 0,void 0,void 0,o)}}class T extends P{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=x({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=p(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],o=e.coordinates[0],s=o.map(t=>t[0]),r=o.map(t=>t[1]),n=Math.min.apply(0,s)+i[3],a=Math.max.apply(0,s)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(f(n)&&f(l))return{x:n,y:l,width:a-n,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:o}=i.field||{};if(o){let s=o[0];if("percent"===i.units){let o="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||x(t.plotBox,{x:0,y:0});s=s.map(t=>[C(`${t[0]}%`,o.width,o.x),C(`${t[1]}%`,o.height,o.y)])}return{type:"Polygon",coordinates:[s]}}}getProjectedBounds(){return P.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&l(t,i))}render(){let{chart:t,mapView:e,options:i}=this,o=i.borderPath||i.field;if(o&&e.group){let s=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),s=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),n="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,a=(o.coordinates||[]).reduce((e,o)=>o.reduce((e,o,s)=>{let[a,l]=o;return"percent"===i.units&&(a=t.plotLeft+C(`${a}%`,n.width,n.x),l=t.plotTop+C(`${l}%`,n.height,n.y)),a=u(a,r),l=u(l,r),e.push(0===s?["M",a,l]:["L",a,l]),e},e),[]);this.border[s?"animate":"attr"]({d:a})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEac
1h(t=>t())}setUpEvents(){}}return P}),i(e,"Series/Map/MapSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Series/ColorMapComposition.js"],e["Series/CenteredUtilities.js"],e["Core/Globals.js"],e["Core/Chart/MapChart.js"],e["Series/Map/MapPoint.js"],e["Series/Map/MapSeriesDefaults.js"],e["Maps/MapView.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n,a,l,h){let{animObject:p,stop:d}=t,{noop:c}=o,{splitPath:u}=s,{column:m,scatter:g}=l.seriesTypes,{extend:f,find:b,fireEvent:y,getNestedProperty:x,isArray:M,defined:v,isNumber:C,isObject:w,merge:j,objectEach:S,pick:P,splat:T}=h;class L extends g{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,o=p(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},o)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:o=[]}=this,{mapView:s,renderer:r}=e;if(s){this.transformGroups=o,o[0]||(o[0]=r.g().add(i));for(let t=0,e=s.insets.length;t<e;++t)o[t+1]||o.push(r.g().add(i));this.doFullTranslate()&&(this.points.forEach(t=>{let{graphic:e}=t;t.group=o["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),m.prototype.drawPoints.apply(this),this.points.forEach(i=>{let o=i.graphic;if(o){let s=o.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties&&i.properties["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&o.addClass(r),e.styledMode&&o.css(this.pointAttribs(i,i.selected&&"select"||void 0)),o.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),o.animate=function(i,r,n){let a=C(i["stroke-width"])&&!C(o["stroke-width"]),l=C(o["stroke-width"])&&!C(i["stroke-width"]);if(a||l){let s=P(t.getStrokeWidth(t.options),1)/(e.mapView&&e.mapView.getScale()||1);a&&(o["stroke-width"]=s),l&&(i["stroke-width"]=s)}return s.call(o,i,r,l?function(){o.element.removeAttribute("stroke-width"),delete o["stroke-width"],n&&n.apply(this,arguments)}:n)}}})),o.forEach((i,o)=>{let n=(0===o?s:s.insets[o-1]).getSVGTransform(),a=P(this.getStrokeWidth(this.options),1),l=n.scaleX,h=n.scaleY>0?1:-1,c=e=>{(t.points||[]).forEach(t=>{let i,o=t.graphic;o&&o["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&o.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&s.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),o=Number(i.attr("scaleX")),s=(s,r)=>{let p=o+(l-o)*r.pos;i.attr({translateX:t+(n.translateX-t)*r.pos,translateY:e+(n.translateY-e)*r.pos,scaleX:p,scaleY:p*h,"stroke-width":a/p}),c(p)},d=j(p(r.globalAnimation)),u=d.step;d.step=function(){u&&u.apply(this,arguments),s.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},d,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),y(this,"mapZoomComplete")}).bind(this))}else d(i),i.attr(j(n,{"stroke-width":a/l})),c(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(o=>{if(o.path||o.geometry){if("string"==typeof o.path?o.path=u(o.path):M(o.path)&&"M"===o.path[0]&&(o.path=this.chart.renderer.pathToSegments(o.path)),!o.bounds){let i=o.getProjectedBounds(e);if(i){o.labelrank=P(o.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:s}=i;if(t&&C(e)&&C(s)){let r=b(t,t=>t.isInside({x:e,y:s}));r&&(delete o.projectedPath,(i=o.getProjectedBounds(r.projection))&&r.allBounds.push(i),o.insetIndex=t.indexOf(r))}o.bounds=i}}o.bounds&&void 0===o.insetIndex&&i.push(o.bounds)}}),this.bounds=a.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:o}=t.series.chart,s=o?this.colorAttribs(t):m.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=j(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),o=this.getStrokeWidth(i);v(o)&&(r=o),s.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let n=this.getStrokeWidth(this.options);return s.dashstyle&&i&&C(n)&&(r=n/i.getScale()),t.visible||(s.fill=this.options.nullColor),v(r)?s["stroke-width"]=r:delete s["stroke-width"],s["stroke-linecap"]=s["stroke-linejoin"]=this.options.linecap,s}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,o){delete this.bounds,super.setData(t,!1,void 0,o),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let t,e,i,s=this.options,n=s.data,a=this.chart,l=a.options.chart,h=this.joinBy,p=s.keys||this.pointArrayMap,d=[],c={},u=this.chart.mapView,m=u&&(w(s.mapData,!0)?u.getGeoMap(s.mapData):u.geoMap),g=a.mapTransforms=l.mapTransforms||m&&m["hc-transform"]||a.mapTransforms;g&&S(g,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),M(s.mapData)?i=s.mapData:m&&"FeatureCollection"===m.type&&(this.mapTitle=m.title,i=o.geojson(m,this.type,this)),this.processedData=[];let f=this.processedData;if(n){let t;for(let e=0,i=n.length;e<i;++e){if(C(t=n[e]))f[e]={value:t};else if(M(t)){let i=0;f[e]={},!s.keys&&t.length>p.length&&"string"==typeof t[0]&&(f[e]["hc-key"]=t[0],++i);for(let o=0;o<p.length;++o,++i)p[o]&&void 0!==t[i]&&(p[o].indexOf(".")>0?r.prototype.setNestedProperty(f[e],t[i],p[o]):f[e][p[o]]=t[i])}else f[e]=n[e];h&&"_i"===h[0]&&(f[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let o=0;o<i.length;
1o++)e=(t=i[o]).properties,t._i=o,h[0]&&e&&e[h[0]]&&(t[h[0]]=e[h[0]]),c[t[h[0]]]=t;if(this.mapMap=c,h[1]){let t=h[1];f.forEach(e=>{let i=x(t,e);c[i]&&d.push(c[i])})}if(s.allAreas){if(h[1]){let t=h[1];f.forEach(e=>{d.push(x(t,e))})}let t="|"+d.map(function(t){return t&&t[h[0]]}).join("|")+"|";i.forEach(e=>{h[0]&&-1!==t.indexOf("|"+e[h[0]]+"|")||f.push(j(e,{value:null}))})}}this.processedXData=Array(f.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 t=this.doFullTranslate(),e=this.chart.mapView,i=e&&e.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||C(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let o=e.getSVGTransform();this.points.forEach(s=>{let n=C(s.insetIndex)&&e.insets[s.insetIndex].getSVGTransform()||o;n&&s.bounds&&C(s.bounds.midX)&&C(s.bounds.midY)&&(s.plotX=s.bounds.midX*n.scaleX+n.translateX,s.plotY=s.bounds.midY*n.scaleY+n.translateY),t&&(s.shapeType="path",s.shapeArgs={d:r.getProjectedPath(s,i)}),s.hiddenInDataClass||(s.projectedPath&&!s.projectedPath.length?s.setVisible(!1):s.visible||s.setVisible(!0))})}y(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}return L.defaultOptions=j(g.defaultOptions,n),f(L.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:c,drawGraph:c,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:c,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:r,preserveAspectRatio:!0,searchPoint:c,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(L),l.registerSeriesType("map",L),L}),i(e,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),i(e,"Series/MapLine/MapLineSeries.js",[e["Series/MapLine/MapLineSeriesDefaults.js"],e["Series/Map/MapSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o){let{extend:s,merge:r}=o;class n extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return n.defaultOptions=r(e.defaultOptions,t),s(n.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",n),n}),i(e,"Series/MapPoint/MapPointPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{scatter:i}=t.seriesTypes,{isNumber:o}=e;class s extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||o(this.x)&&o(this.y)||o(this.options.lon)&&o(this.options.lat))}}return s}),i(e,"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"}}),i(e,"Series/MapPoint/MapPointSeries.js",[e["Core/Globals.js"],e["Series/MapPoint/MapPointPoint.js"],e["Series/MapPoint/MapPointSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r){let{noop:n}=t,{map:a,scatter:l}=o.seriesTypes,{extend:h,fireEvent:p,isNumber:d,merge:c}=r;class u extends l{constructor(){super(...arguments),this.clearBounds=a.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:o,lat:s}=t,r=i&&"Point"===i.type&&i.coordinates;if(d(o)&&d(s)&&(r=[o,s]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;
1this.points.forEach(o=>{let s,{x:r,y:n}=o,a=d(o.insetIndex)&&t.insets[o.insetIndex].getSVGTransform()||e,l=this.projectPoint(o.options)||o.properties&&this.projectPoint(o.properties);if(l?(r=l.x,n=l.y):o.bounds&&(r=o.bounds.midX,n=o.bounds.midY,a&&d(r)&&d(n)&&(o.plotX=r*a.scaleX+a.translateX,o.plotY=n*a.scaleY+a.translateY,s=!0)),d(r)&&d(n)){if(!s){let e=t.projectedUnitsToPixels({x:r,y:n});o.plotX=e.x,o.plotY=i?e.y:this.chart.plotHeight-e.y}}else o.y=o.plotX=o.plotY=void 0;o.isInside=this.isPointInside(o),o.zone=this.zones.length?o.getZone():void 0})}p(this,"afterTranslate")}}return u.defaultOptions=c(l.defaultOptions,i),s.prototype.symbols.mapmarker=(t,e,i,o,s)=>{let r,n,a=s&&"legend"===s.context;a?(r=t+i/2,n=e+o):s&&"number"==typeof s.anchorX&&"number"==typeof s.anchorY?(r=s.anchorX,n=s.anchorY):(r=t+i/2,n=e+o/2,e-=o);let l=a?o/3:o/2;return[["M",r,n],["C",r,n,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,n,r,n],["Z"]]},h(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:n,useMapGeometry:!0}),o.registerSeriesType("mappoint",u),u}),i(e,"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}}),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,o){let{parse:s}=t,{noop:r}=i,{arrayMax:n,arrayMin:a,isNumber:l,merge:h,pick:p,stableSort:d}=o;return class{constructor(t,e){this.setState=r,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=p(t.options.itemDistance,20),o=this.legendItem||{},s=this.options,r=s.ranges,n=s.connectorDistance;if(!r||!r.length||!l(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}d(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let a=this.getMaxLabelSize(),h=this.ranges[0].radius,c=2*h;e=(e=n-h+a.width)>0?e:0,this.maxLabel=a,this.movementX="left"===s.labels.align?e:0,o.labelWidth=c+e+i,o.labelHeight=c+a.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],o=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},n={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,d=this.chart.styledMode;t.forEach(function(c,u){d||(r.stroke=p(c.borderColor,e.borderColor,i.color),r.fill=p(c.color,e.color,1!==l?s(i.color).setOpacity(l).get("rgba"):i.color),n.stroke=p(c.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(c.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+o}),d||h(!0,t[u],{bubbleAttribs:h(r),connectorAttribs:h(n),labelAttribs:a})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,o=this.chart.series[i],s=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,n=e.minSize,a=e.maxSize;return o.getRadius.call(this,r,s,n,a,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let o of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))o.value>=i&&this.renderRange(o);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,o=this.options,s=o.labels,r=this.chart,n=r.series[o.seriesIndex],a=r.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=o.connectorDistance||0,u=s.align,m=i.options.rtl,g=o.borderWidth,f=o.connectorWidth,b=e.radiu
1s||0,y=p-d-g/2+f/2,x=(y%1?1:.5)-(f%2?0:.5),M=a.styledMode,v=m||"left"===u?-c:c;"center"===u&&(v=0,o.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(a.circle(b,p+x,d).attr(M?{}:t.bubbleAttribs).addClass((M?"highcharts-color-"+n.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(o.className||"")).add(this.legendItem.symbol)),l.connectors.push(a.path(a.crispLine([["M",b,y],["L",b+v,y]],o.connectorWidth)).attr(M?{}:t.connectorAttribs).addClass((M?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(o.connectorClassName||"")).add(this.legendItem.symbol));let C=a.text(this.formatLabel(t)).attr(M?{}:t.labelAttribs).css(M?{}:s.style).addClass("highcharts-bubble-legend-labels "+(o.labels.className||"")).add(this.legendItem.symbol),w={x:b+v+o.labels.x,y:y+o.labels.y+.4*C.getBBox().height};C.attr(w),h.push(C),C.placed=!0,C.alignAttr=w}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let i=this.options,o=i.labels.formatter,s=i.labels.format,{numberFormatter:r}=this.chart;return s?e.format(s,t):o?o.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,o,s,r=Number.MAX_VALUE,d=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(s=t.zData.filter(l)).length&&(r=p(t.options.zMin,Math.min(r,Math.max(a(s),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),d=p(t.options.zMax,Math.max(d,n(s))))}),o=r===d?[{value:d}]:[{value:r},{value:(r+d)/2},{value:d,autoRanges:!0}],i.length&&i[0].radius&&o.reverse(),o.forEach(function(t,e){i&&i[e]&&(o[e]=h(i[e],t))}),o}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,o="horizontal"===e.layout,s=o?t.legend.lastLineHeight:0,r=t.plotSizeX,n=t.plotSizeY,a=t.series[this.options.seriesIndex],l=a.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(n,r),c,u=a.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+s)*(u=parseFloat(u))/100/(u/100+1),(o&&n-c>=r||!o&&r-c>=n)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}}),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){let{setOptions:r}=i,{composed:n}=o,{addEvent:a,objectEach:l,pushUnique:h,wrap:p}=s;function d(t,e,i){let o,s,r,n=this.legend,a=c(this)>=0;n&&n.options.enabled&&n.bubbleLegend&&n.options.bubbleLegend.autoRanges&&a?(o=n.bubbleLegend.options,s=n.bubbleLegend.predictBubbleSizes(),n.bubbleLegend.updateRanges(s[0],s[1]),o.placed||(n.group.placed=!1,n.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),n.render(),o.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),o.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),o.placed=!0,t.call(this,e,i),n.bubbleLegend.correctSizes(),f(n,u(n))):(t.call(this,e,i),n&&n.options.enabled&&n.bubbleLegend&&(n.render(),f(n,u(n))))}function c(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].zData.length)return i;i++}return -1}function u(t){let e=t.allItems,i=[],o=e.length,s,r,n,a=0,l=0;for(a=0;a<o;a++)if(r=e[a].legendItem||{},n=(e[a+1]||{}).legendItem||{},r.labelHeight&&(e[a].itemHeight=r.labelHeight),e[a]===e[o-1]||r.y!==n.y){for(i.push({height:0}),s=i[i.length-1];l<=a;l++)e[l].itemHeight>s.height&&(s.height=e[l].itemHeight);s.step=a}return i}function m(t){let i=this.bubbleLegend,o=this.options,s=o.bubbleLegend,r=c(this.chart);i&&i.ranges&&i.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(i)),r>=0&&o.enabled&&s.enabled&&(s.seriesIndex=r,this.bubbleLegend=new e(s,this),this.bubbleLegend.addToLegend(t.allItems))}function g(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,o=this.chart,s=i.visible;this&&this.bubbleLegend&&(i.visible=!s,i.ignoreSeries=s,e=c(o)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=s)}function f(t,e){let i=t.allItems,o=t.options.rtl,s,r,n,a,l=0;
1i.forEach((t,i)=>{(a=t.legendItem||{}).group&&(s=a.group.translateX||0,r=a.y||0,((n=t.movementX)||o&&t.ranges)&&(n=o?s-t.options.maxSize/2:s+n,a.group.attr({translateX:n})),i>e[l].step&&l++,a.group.attr({translateY:Math.round(r+e[l].height/2)}),a.y=r+e[l].height/2)})}return{compose:function(e,i){h(n,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:t}}),p(e.prototype,"drawChartBox",d),a(i,"afterGetAllItems",m),a(i,"itemClick",g))}}}),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:o}}}}=e,{extend:s}=i;class r extends o{haloPath(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)}}return s(r.prototype,{ttBelow:!1}),r}),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r){let{parse:n}=i,{composed:a,noop:l}=o,{series:h,seriesTypes:{column:{prototype:p},scatter:d}}=s,{addEvent:c,arrayMax:u,arrayMin:m,clamp:g,extend:f,isNumber:b,merge:y,pick:x,pushUnique:M}=r;function v(){let t=this.len,{coll:e,isXAxis:i,min:o}=this,s=i?"xData":"yData",r=(this.max||0)-(o||0),n=0,a=t,l=t/r,h;
1("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,h=!0;let e=t[s];if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),r>0){let i=e.length;for(;i--;)if(b(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let s=t.radii&&t.radii[i]||0;n=Math.min((e[i]-o)*l-s,n),a=Math.max((e[i]-o)*l+s,a)}}}}),h&&r>0&&!this.logarithmic&&(a-=t,l*=(t+Math.max(0,n)-Math.min(a,t))/t,[["min","userMin",n],["max","userMax",a]].forEach(t=>{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}class C extends d{static compose(e,i,o){t.compose(i,o),M(a,"Series.Bubble")&&c(e,"foundExtremes",v)}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:o=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:o,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=this.zData,e=this.yData,i=[],o,s,r,n=this.chart.bubbleZExtremes,{minPxSize:a,maxPxSize:l}=this.getPxExtremes();if(!n){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(o=>{if(o.bubblePadding&&o.reserveSpace()){let s=(o.onPoint||o).getZExtremes();s&&(e=Math.min(x(e,s.zMin),s.zMin),i=Math.max(x(i,s.zMax),s.zMax),t=!0)}}),t?(n={zMin:e,zMax:i},this.chart.bubbleZExtremes=n):n={zMin:0,zMax:0}}for(s=0,o=t.length;s<o;s++)r=t[s],i.push(this.getRadius(n.zMin,n.zMax,a,l,r,e&&e[s]));this.radii=i}getRadius(t,e,i,o,s,r){let n=this.options,a="width"!==n.sizeBy,l=n.zThreshold,h=e-t,p=.5;if(null===r||null===s)return null;if(b(s)){if(n.sizeByAbsoluteValue&&(s=Math.abs(s-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),s<t)return i/2-1;h>0&&(p=(s-t)/h)}return a&&p>=0&&(p=Math.sqrt(p)),Math.ceil(i+p*(o-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:o=0,width:s=0}=i;return this.chart.inverted?f(i,{x:(t.plotX||0)-s/2,y:(t.plotY||0)-o/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,o=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(o.fill=n(o.fill).setOpacity(i).get("rgba")),o}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:o}=this.getPxExtremes(),s=t.length;for(;s--;){let r=t[s],n=i?i[s]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),b(n)&&n>=o/2?(r.marker=f(r.marker,{radius:n,width:2*n,height:2*n}),r.dlBox={x:r.plotX-n,y:r.plotY-n,width:2*n,height:2*n}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(x(this.options.minSize,8)),o=Math.max(e(x(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:o}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(b);if(e.length){let i=x(t.zMin,g(m(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),o=x(t.zMax,u(e));if(b(i)&&b(o))return{zMin:i,zMax:o}}}}return C.defaultOptions=y(d.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return b(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:p.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),c(C,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),c(C,"remove",t=>{delete t.target.chart.bubbleZExtremes}),s.registerSeriesType("bubble",C),C}),i(e,"Series/MapBubble/MapBubblePoint.js",[e["Series/Bubble/BubblePoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{map:{prototype:{pointClass:{prototype:o}}}}}=e,{extend:s}=i;class r extends t{isValid(){return"number"==typeof this.z}}return s(r.prototype,{applyOptions:o.applyOptions,getProjectedBounds:o.getProjectedBounds}),r}),i(e,"Series/MapBubble/MapBubbleSeries.js",[e["Series/Bubble/BubbleSeries.js"],e["Series/MapBubble/MapBubblePoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,
1i,o){let{seriesTypes:{map:{prototype:s},mappoint:{prototype:r}}}=i,{extend:n,merge:a}=o;class l extends t{constructor(){super(...arguments),this.clearBounds=s.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 o=this.processedXData,s=this.xData;o&&s&&(o.length=s.length)}}return l.defaultOptions=a(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),n(l.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:s.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:s.processData,projectPoint:r.projectPoint,kdAxisArray:["plotX","plotY"],setData:s.setData,setOptions:s.setOptions,updateData:s.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",l),l}),i(e,"Series/Heatmap/HeatmapPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{scatter:{prototype:{pointClass:i}}}=t.seriesTypes,{clamp:o,defined:s,extend:r,pick:n}=e;class a 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,r=(e.rowsize||1)/2,a=t.xAxis,l=t.yAxis,h=this.options.marker||t.options.marker,p=t.pointPlacementToXValue(),d=n(this.pointPadding,e.pointPadding,0),c={x1:o(Math.round(a.len-a.translate(this.x-i,!1,!0,!1,!0,-p)),-a.len,2*a.len),x2:o(Math.round(a.len-a.translate(this.x+i,!1,!0,!1,!0,-p)),-a.len,2*a.len),y1:o(Math.round(l.translate(this.y-r,!1,!0,!1,!0)),-l.len,2*l.len),y2:o(Math.round(l.translate(this.y+r,!1,!0,!1,!0)),-l.len,2*l.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],o=i+"1",r=i+"2",n=Math.abs(c[o]-c[r]),p=h&&h.lineWidth||0,u=Math.abs(c[o]+c[r])/2,m=h&&h[e];if(s(m)&&m<n){let t=m/2+p/2;c[o]=u-t,c[r]=u+t}d&&(("x"===i&&a.reversed||"y"===i&&!l.reversed)&&(o=r,r=i+"1"),c[o]+=d,c[r]-=d)}return c}haloPath(t){if(!t)return[];let{x:e=0,y:i=0,width:o=0,height:s=0}=this.shapeArgs||{};return[["M",e-t,i-t],["L",e-t,i+s+t],["L",e+o+t,i+s+t],["L",e+o+t,i-t],["Z"]]}isValid(){return this.value!==1/0&&this.value!==-1/0}}return r(a.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1}),a}),i(e,"Series/Heatmap/HeatmapSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{animation:!1,borderRadius:0,borderWidth:0,interpolation:!1,nullColor:"#f7f7f7",dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:"allow",padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),i(e,"Series/InterpolationUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{doc:i}=t,{defined:o,pick:s}=e;return{colorFromPoint:function(t,e){let i=e.series.colorAxis;if(i){let r=i.toColor(t||0,e).split(")")[0].split("(")[1].split(",").map(t=>s(parseFloat(t),parseInt(t,10)));return r[3]=255*s(r[3],1),o(t)&&e.visible||(r[3]=0),r}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:o}=t;return e&&o?(o.clearRect(0,0,e.width,e.height),o):(t.canvas=i.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),i(e,"Series/Heatmap/HeatmapSeries.js",[e["Core/Color/Color.js"],e["Series/ColorMapComposition.js"],e["Series/Heatmap/HeatmapPoint.js"],e["Series/Heatmap/HeatmapSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"],e["Series/InterpolationUtilities.js"]],function(t,e,i,o,s,r,n,a){let{series:l,seriesTypes:{column:h,scatter:p}}=s,{prototype:{symbols:d}}=r,{addEvent:c,extend:u,fireEvent:m,isNumber:g,merge:f,pick:b}=n,{colorFromPoint:y,getContext:x}=a;class M extends p{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,o=e.marker||{};if(i){let{image:e,chart:i,xAxis:o,yAxis:s}=t,{reversed:r=!1,len:n}=o,{reversed:a=!1,len:l}=s,h={width:n,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let n=x(t),{canvas:l,options:{colsize:p=1,rowsize:d=1},points:c,points:{length:u}}=t,m=i.colorAxis&&i.colorAxis[0];if(l&&n&&m){let{min:m,max:g}=o.getExtremes(),{min:f,max:b}=s.getExtremes(),x=g-m,M=b-f,v=Math.round(x/p/8*8),C=Math.round(M/d/8*8),[w,j]=[[v,v/x,r,"ceil"],[C,C/M,!a,"floor"]].map(([t,e,i,o])=>i?i=>Math[o](t-e*i):t=>Math[o](e*t)),S=l.width=v+1,P=S*(l.height=C+1),T=(u-1)/P,L=new Uint8ClampedArray(4*P),E=(t,e)=>4*Math.ceil(S*j(e-f)+w(t-m));t.buildKDTree();for(let t=0;t<P;t++){let e=c[Math.ceil(T*t)],{x:i,y:o}=e;L.set(y(e.value,e),E(i,o))}n.putImageData(new ImageData(L,S),0,0),e?e.attr({...h,href:l.toDataURL("image/png",1)}):(t.directTouch=!1,t.image=i.renderer.image(l.toDataURL("image/png",1)).attr(h).add(t.group))}t.isDirtyCanvas=!1}else(e.width!==n||e.height!==l)&&e.attr(h)}else(o.enabled||t._hasPointMarkers)&&(l.prototype.drawPoints.call(t),t.points.forEac
1h(e=>{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=l.prototype.getExtremes.call(this,this.valueData);return g(t)&&(this.valueMin=t),g(e)&&(this.valueMax=e),l.prototype.getExtremes.call(this)}getValidPoints(t,e){return l.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=b(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){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let o=t.options.marker||{},s=this.options.marker||{},r=s.states&&s.states[e]||{},n=o.states&&o.states[e]||{},a=(n.width||r.width||i.width||0)+(n.widthPlus||r.widthPlus||0),l=(n.height||r.height||i.height||0)+(n.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-a)/2,y:(i.y||0)+((i.height||0)-l)/2,width:a,height:l}}return i}pointAttribs(e,i){let o=l.prototype.pointAttribs.call(this,e,i),s=this.options||{},r=this.chart.options.plotOptions||{},n=r.series||{},a=r.heatmap||{},h=e&&e.options.borderColor||s.borderColor||a.borderColor||n.borderColor,p=e&&e.options.borderWidth||s.borderWidth||a.borderWidth||n.borderWidth||o["stroke-width"];if(o.stroke=e&&e.marker&&e.marker.lineColor||s.marker&&s.marker.lineColor||h||this.color,o["stroke-width"]=p,i&&"normal"!==i){let r=f(s.states&&s.states[i],s.marker&&s.marker.states&&s.marker.states[i],e&&e.options.states&&e.options.states[i]||{});o.fill=r.color||t.parse(o.fill).brighten(r.brightness||0).get(),o.stroke=r.lineColor||o.stroke}return o}translate(){let{borderRadius:t,marker:e}=this.options,i=e&&e.symbol||"rect",o=d[i]?i:"rect",s=-1!==["circle","square"].indexOf(o);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),n=Math.min(r.x1,r.x2),a=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||i||"").indexOf("url"),s){let t=Math.abs(l-h);n=Math.min(r.x1,r.x2)+(l<h?0:t/2),a=Math.min(r.y1,r.y2)+(l<h?t/2:0),l=h=Math.min(l,h)}e.hasImage&&(e.marker={width:l,height:h}),e.plotX=e.clientX=(r.x1+r.x2)/2,e.plotY=(r.y1+r.y2)/2,e.shapeType="path",e.shapeArgs=f(!0,{x:n,y:a,width:l,height:h},{d:d[o](n,a,l,h,{r:g(t)?t:0})})}m(this,"afterTranslate")}}return M.defaultOptions=f(p.defaultOptions,o),c(M,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),u(M.prototype,{axisTypes:e.seriesMembers.axisTypes,colorKey:e.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:i,specialGroup:"group",trackerGroups:e.seriesMembers.trackerGroups,alignDataLabel:h.prototype.alignDataLabel,colorAttribs:e.seriesMembers.colorAttribs,getSymbol:l.prototype.getSymbol}),e.compose(M),s.registerSeriesType("heatmap",M),M}),i(e,"masters/modules/map.src.js",[e["Core/Globals.js"],e["Maps/MapNavigation.js"],e["Series/ColorMapComposition.js"],e["Series/MapBubble/MapBubbleSeries.js"],e["Maps/GeoJSONComposition.js"],e["Core/Chart/MapChart.js"],e["Maps/MapView.js"],e["Maps/Projection.js"]],function(t,e,i,o,s,r,n,a){return t.ColorMapComposition=i,t.MapChart=t.MapChart||r,t.MapNavigation=t.MapNavigation||e,t.MapView=t.MapView||n,t.Projection=t.Projection||a,t.mapChart=t.Map=t.MapChart.mapChart,t.maps=t.MapChart.maps,t.geojson=s.geojson,t.topo2geo=s.topo2geo,s.compose(t.Chart),o.compose(t.Axis,t.Chart,t.Legend),e.compose(r,t.Pointer,t.SVGRenderer),n.compose(r),t})},t.exports?(s.default=s,t.exports=s):void 0===(o=(function(t){return s(t),s.Highcharts=t,s}).apply(e,[i(15081)]))||(t.exports=o)},43728:(t,e,i)=>{var o,s;s=function(t){"use strict";var e=t?t._modules:{};function i(e,i,o,s){e.hasOwnProperty(i)||(e[i]=s.apply(null,o),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;return function(t){t.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)}
1update(t,e){this.updates.forEach(i=>{i.call(this.chart,t,e)})}}t.Additions=e}(t||(t={})),t}),i(e,"Extensions/Exporting/ExportingDefaults.js",[e["Core/Globals.js"]],function(t){let{isTouchDevice:e}=t;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"}}}}),i(e,"Extensions/Exporting/ExportingSymbols.js",[],function(){var t;return function(t){let e=[];function i(t,e,i,o){return[["M",t,e+2.5],["L",t+i,e+2.5],["M",t,e+o/2+.5],["L",t+i,e+o/2+.5],["M",t,e+o-1.5],["L",t+i,e+o-1.5]]}function o(t,e,i,o){let s=o/3-2;return[].concat(this.circle(i-s,e,s,s),this.circle(i-s,e+s+4,s,s),this.circle(i-s,e+2*(s+4),s,s))}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);let s=t.prototype.symbols;s.menu=i,s.menuball=o.bind(s)}}}(t||(t={})),t}),i(e,"Extensions/Exporting/Fullscreen.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{composed:o}=e,{addEvent:s,fireEvent:r,pushUnique:n}=i;function a(){this.fullscreen=new l(this)}class l{static compose(t){n(o,"Fullscreen")&&s(t,"beforeRender",a)}constructor(t){this.chart=t,this.isOpen=!1;let e=t.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 t=this,e=t.chart,i=e.options.chart;r(e,"fullscreenClose",null,function(){t.isOpen&&t.browserProps&&e.container.ownerDocument instanceof Document&&e.container.ownerDocument[t.browserProps.exitFullscreen](),t.unbindFullscreenEvent&&(t.unbindFullscreenEvent=t.unbindFullscreenEvent()),e.setSize(t.origWidth,t.origHeight,!1),t.origWidth=void 0,t.origHeight=void 0,i.width=t.origWidthOption,i.height=t.origHeightOption,t.origWidthOption=void 0,t.origHeightOption=void 0,t.isOpen=!1,t.setButtonText()})}open(){let t=this,e=t.chart,i=e.options.chart;r(e,"fullscreenOpen",null,function(){if(i&&(t.origWidthOption=i.width,t.origHeightOption=i.height),t.origWidth=e.chartWidth,t.origHeight=e.chartHeight,t.browserProps){let i=s(e.container.ownerDocument,t.browserProps.fullscreenChange,function(){t.isOpen?(t.isOpen=!1,t.close()):(e.setSize(null,null,!1),t.isOpen=!0,t.setButtonText())}),o=s(e,"destroy",i);t.unbindFullscreenEvent=()=>{i(),o()};let r=e.renderTo[t.browserProps.requestFullscreen]();r&&r.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,i=e.exportDivElements,o=e.options.exporting,s=o&&o.buttons&&o.buttons.contextButton.menuItems,r=e.options.lang;if(o&&o.menuItemDefinitions&&r&&r.exitFullscreen&&r.viewFullscreen&&s&&i){let e=i[s.indexOf("viewFullscreen")];e&&t.setElementHTML(e,this.isOpen?r.exitFullscreen:o.menuItemDefinitions.viewFullscreen.text||r.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}return l}),i(e,"Core/HttpUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{win:i}=t,{discardElement:o,objectEach:s}=e,r={ajax:function(t){let e={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},i=new XMLHttpRequest;function o(e,i){t.error&&t.error(e,i)}if(!t.url)return!1;i.open((t.type||"get").toUpperCase(),t.url,!0),t.headers&&t.headers["Content-Type"]||i.setRequestHeader("Content-Type",e[t.dataType||"json"]||e.text),s(t.headers,function(t,e){i.setRequestHeader(e,t)}),t.responseType&&(i.responseType=t.responseType),i.onreadystatechange=function(){let e;if(4===i.readyState){if(200===i.status){if("blob"!==t.responseType&&(e=i.responseText,"json"===t.dataType))try{e=JSON.parse(e)}catch(t){if(t instanceof Error)return o(i,t)}return t.success&&t.success(e,i)}o(i,i.responseText)}},t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data)),i.send(t.data)},getJSON:function(t,e){r.ajax({url:t,success:e,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(t,e,r){let n=new i.FormData;s(e,function(t,e){n.append(e,t)}),n.append("b64","true");let{filename:a,type:l}=e;return i.fetch(t,{method:"POST",body:n,...r}).then(t=>{t.ok&&t.text().then(t=>{let e=document.createElement("a");e.href=`data:${l};base64,${t}`,e.download=a,e.click(),o(e)})})}};return r}),i(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(t,e,
1i,o,s,r,n,a,l,h){var p;let{defaultOptions:d}=o,{doc:c,SVG_NS:u,win:m}=a,{addEvent:g,css:f,createElement:b,discardElement:y,extend:x,find:M,fireEvent:v,isObject:C,merge:w,objectEach:j,pick:S,removeEvent:P,uniqueKey:T}=h;return function(e){let o,p=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],L=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];e.inlineAllowlist=[];let E=["clipPath","defs","desc"];function A(t){let e,i,o=this,s=o.renderer,r=w(o.options.navigation.buttonOptions,t),n=r.onclick,a=r.menuItems,l=r.symbolSize||12;if(o.btnCount||(o.btnCount=0),o.exportDivElements||(o.exportDivElements=[],o.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let h=o.styledMode?{}:r.theme;n?i=function(t){t&&t.stopPropagation(),n.call(o,t)}:a&&(i=function(t){t&&t.stopPropagation(),o.contextMenu(p.menuClassName,a,p.translateX||0,p.translateY||0,p.width||0,p.height||0,p),p.setState(2)}),r.text&&r.symbol?h.paddingLeft=S(h.paddingLeft,30):r.text||x(h,{width:r.width,height:r.height,padding:0});let p=s.button(r.text,0,0,i,h,void 0,void 0,void 0,void 0,r.useHTML).addClass(t.className).attr({title:S(o.options.lang[r._titleKey||r.titleKey],"")});p.menuClassName=t.menuClassName||"highcharts-menu-"+o.btnCount++,r.symbol&&(e=s.symbol(r.symbol,Math.round((r.symbolX||0)-l/2),Math.round((r.symbolY||0)-l/2),l,l,{width:l,height:l}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(p),o.styledMode||e.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),p.add(o.exportingGroup).align(x(r,{width:p.width,x:S(r.x,o.buttonOffset)}),!0,"spacingBox"),o.buttonOffset+=((p.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),o.exportSVGElements.push(p,e)}function k(){if(!this.printReverseInfo)return;let{childNodes:t,origDisplay:e,resetParams:i}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(t,function(t,i){1===t.nodeType&&(t.style.display=e[i]||"")}),this.isPrinting=!1,i&&this.setSize.apply(this,i),delete this.printReverseInfo,o=void 0,v(this,"afterPrint")}function D(){let t=c.body,e=this.options.exporting.printMaxWidth,i={childNodes:t.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),v(this,"beforePrint"),e&&this.chartWidth>e&&(i.resetParams=[this.options.chart.width,void 0,!1],this.setSize(e,void 0,!1)),[].forEach.call(i.childNodes,function(t,e){1===t.nodeType&&(i.origDisplay[e]=t.style.display,t.style.display="none")}),this.moveContainers(t),this.printReverseInfo=i}function z(t){t.renderExporting(),g(t,"redraw",t.renderExporting),g(t,"destroy",t.destroyExport)}function O(e,i,o,s,r,n,a){let l=this,p=l.options.navigation,d=l.chartWidth,u=l.chartHeight,y="cache-"+e,M=Math.max(r,n),w,j=l[y];j||(l.exportContextMenu=l[y]=j=b("div",{className:e},{position:"absolute",zIndex:1e3,padding:M+"px",pointerEvents:"auto",...l.renderer.style},l.scrollablePlotArea?.fixedDiv||l.container),w=b("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},j),l.styledMode||f(w,x({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},p.menuStyle)),j.hideMenu=function(){f(j,{display:"none"}),a&&a.setState(0),l.openMenu=!1,f(l.renderTo,{overflow:"hidden"}),f(l.container,{overflow:"hidden"}),h.clearTimeout(j.hideTimer),v(l,"exportMenuHidden")},l.exportEvents.push(g(j,"mouseleave",function(){j.hideTimer=m.setTimeout(j.hideMenu,500)}),g(j,"mouseenter",function(){h.clearTimeout(j.hideTimer)}),g(c,"mouseup",function(t){l.pointer?.inClass(t.target,e)||j.hideMenu()}),g(j,"click",function(){l.openMenu&&j.hideMenu()})),i.forEach(function(e){if("string"==typeof e&&(e=l.options.exporting.menuItemDefinitions[e]),C(e,!0)){let i;e.separator?i=b("hr",void 0,void 0,w):("viewData"===e.textKey&&l.isDataTableVisible&&(e.textKey="hideData"),i=b("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation(),j.hideMenu(),"string"!=typeof e&&e.onclick&&e.onclick.apply(l,arguments)}},void 0,w),t.setElementHTML(i,e.text||l.options.lang[e.textKey]),l.styledMode||(i.onmouseover=function(){f(this,p.menuItemHoverStyle)}
1,i.onmouseout=function(){f(this,p.menuItemStyle)},f(i,x({cursor:"pointer"},p.menuItemStyle||{})))),l.exportDivElements.push(i)}}),l.exportDivElements.push(w,j),l.exportMenuWidth=j.offsetWidth,l.exportMenuHeight=j.offsetHeight);let S={display:"block"};o+(l.exportMenuWidth||0)>d?S.right=d-o-r-M+"px":S.left=o-M+"px",s+n+(l.exportMenuHeight||0)>u&&a.alignOptions?.verticalAlign!=="top"?S.bottom=u-s-M+"px":S.top=s+n-M+"px",f(j,S),f(l.renderTo,{overflow:""}),f(l.container,{overflow:""}),l.openMenu=!0,v(l,"exportMenuShown")}function B(t){let e,i=t?t.target:this,o=i.exportSVGElements,s=i.exportDivElements,r=i.exportEvents;o&&(o.forEach((t,s)=>{t&&(t.onclick=t.ontouchstart=null,i[e="cache-"+t.menuClassName]&&delete i[e],o[s]=t.destroy())}),o.length=0),i.exportingGroup&&(i.exportingGroup.destroy(),delete i.exportingGroup),s&&(s.forEach(function(t,e){t&&(h.clearTimeout(t.hideTimer),P(t,"mouseleave"),s[e]=t.onmouseout=t.onmouseover=t.ontouchstart=t.onclick=null,y(t))}),s.length=0),r&&(r.forEach(function(t){t()}),r.length=0)}function I(t,e){let i=this.getSVGForExport(t,e);t=w(this.options.exporting,t),l.post(t.url,{filename:t.filename?t.filename.replace(/\//g,"-"):this.getFilename(),type:t.type,width:t.width,scale:t.scale,svg:i},t.fetchOptions)}function V(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function G(){let t=this.userOptions.title&&this.userOptions.title.text,e=this.options.exporting.filename;return e?e.replace(/\//g,"-"):("string"==typeof t&&(e=t.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!e||e.length<5)&&(e="chart"),e)}function N(t){let e,i,o=w(this.options,t);o.plotOptions=w(this.userOptions.plotOptions,t&&t.plotOptions),o.time=w(this.userOptions.time,t&&t.time);let s=b("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},c.body),r=this.renderTo.style.width,n=this.renderTo.style.height,a=o.exporting.sourceWidth||o.chart.width||/px$/.test(r)&&parseInt(r,10)||(o.isGantt?800:600),l=o.exporting.sourceHeight||o.chart.height||/px$/.test(n)&&parseInt(n,10)||400;x(o.chart,{animation:!1,renderTo:s,forExport:!0,renderer:"SVGRenderer",width:a,height:l}),o.exporting.enabled=!1,delete o.data,o.series=[],this.series.forEach(function(t){(i=w(t.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:t.visible})).isInternal||o.series.push(i)});let h={};this.axes.forEach(function(t){t.userOptions.internalKey||(t.userOptions.internalKey=T()),t.options.isInternal||(h[t.coll]||(h[t.coll]=!0,o[t.coll]=[]),o[t.coll].push(w(t.userOptions,{visible:t.visible})))}),o.colorAxis=this.userOptions.colorAxis;let p=new this.constructor(o,this.callback);return t&&["xAxis","yAxis","series"].forEach(function(e){let i={};t[e]&&(i[e]=t[e],p.update(i))}),this.axes.forEach(function(t){let e=M(p.axes,function(e){return e.options.internalKey===t.userOptions.internalKey}),i=t.getExtremes(),o=i.userMin,s=i.userMax;e&&(void 0!==o&&o!==e.min||void 0!==s&&s!==e.max)&&e.setExtremes(o,s,!0,!1)}),e=p.getChartHTML(),v(this,"getSVG",{chartCopy:p}),e=this.sanitizeSVG(e,o),o=null,p.destroy(),y(s),e}function F(t,e){let i=this.options.exporting;return this.getSVG(w({chart:{borderRadius:0}}
1,i.chartOptions,e,{exporting:{sourceWidth:t&&t.sourceWidth||i.sourceWidth,sourceHeight:t&&t.sourceHeight||i.sourceHeight}}))}function U(){let t,i=e.inlineAllowlist,o={},s=c.createElement("iframe");f(s,{width:"1px",height:"1px",visibility:"hidden"}),c.body.appendChild(s);let r=s.contentWindow&&s.contentWindow.document;r&&r.body.appendChild(r.createElementNS(u,"svg")),function e(s){let n,l,h,d,c,u,g={};if(r&&1===s.nodeType&&-1===E.indexOf(s.nodeName)){if(n=m.getComputedStyle(s,null),l="svg"===s.nodeName?{}:m.getComputedStyle(s.parentNode,null),!o[s.nodeName]){t=r.getElementsByTagName("svg")[0],h=r.createElementNS(s.namespaceURI,s.nodeName),t.appendChild(h);let e=m.getComputedStyle(h,null),i={};for(let t in e)t.length<1e3&&"string"==typeof e[t]&&!/^\d+$/.test(t)&&(i[t]=e[t]);o[s.nodeName]=i,"text"===s.nodeName&&delete o.text.fill,t.removeChild(h)}for(let t in n)(a.isFirefox||a.isMS||a.isSafari||Object.hasOwnProperty.call(n,t))&&function(t,e){if(d=c=!1,i.length){for(u=i.length;u--&&!c;)c=i[u].test(e);d=!c}for("transform"===e&&"none"===t&&(d=!0),u=p.length;u--&&!d;){if(e.length>1e3)throw Error("Input too long");d=p[u].test(e)||"function"==typeof t}!d&&(l[e]!==t||"svg"===s.nodeName)&&o[s.nodeName][e]!==t&&(L&&-1===L.indexOf(e)?g[e]=t:t&&s.setAttribute(e.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()}),t))}(n[t],t);if(f(s,g),"svg"===s.nodeName&&s.setAttribute("stroke-width","1px"),"text"===s.nodeName)return;[].forEach.call(s.children||s.childNodes,e)}}(this.container.querySelector("svg")),t.parentNode.removeChild(t),s.parentNode.removeChild(s)}function R(t){let{scrollablePlotArea:e}=this;(e?[e.fixedDiv,e.scrollingContainer]:[this.container]).forEach(function(e){t.appendChild(e)})}function X(){let t=this,e=(e,i,o)=>{t.isDirtyExporting=!0,w(!0,t.options[e],i),S(o,!0)&&t.redraw()};t.exporting={update:function(t,i){e("exporting",t,i)}},i.compose(t).navigation.addUpdate((t,i)=>{e("navigation",t,i)})}function W(){let t=this;t.isPrinting||(o=t,a.isSafari||t.beforePrint(),setTimeout(()=>{m.focus(),m.print(),a.isSafari||setTimeout(()=>{t.afterPrint()},1e3)},1))}function H(){let t=this,e=t.options.exporting,i=e.buttons,o=t.isDirtyExporting||!t.exportSVGElements;t.buttonOffset=0,t.isDirtyExporting&&t.destroyExport(),o&&!1!==e.enabled&&(t.exportEvents=[],t.exportingGroup=t.exportingGroup||t.renderer.g("exporting-group").attr({zIndex:3}).add(),j(i,function(e){t.addButton(e)}),t.isDirtyExporting=!1)}function Y(t,e){let i=t.indexOf("</svg>")+6,o=t.substr(i);return t=t.substr(0,i),e&&e.exporting&&e.exporting.allowHTML&&o&&(o='<foreignObject x="0" y="0" width="'+e.chart.width+'" height="'+e.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+o.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"</body></foreignObject>",t=t.replace("</svg>",o+"</svg>")),t=t.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (NS\d+\:)?href=/g," xlink:href=").replace(/\n+/g," ").replace(/(fill|stroke)="rgba\(([ \d]+,[ \d]+,[ \d]+),([ \d\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/ /g,"\xa0").replace(/­/g,"\xad")}e.compose=function(t,e){r.compose(e),n.compose(t);let i=t.prototype;i.exportChart||(i.afterPrint=k,i.exportChart=I,i.inlineStyles=U,i.print=W,i.sanitizeSVG=Y,i.getChartHTML=V,i.getSVG=N,i.getSVGForExport=F,i.getFilename=G,i.moveContainers=R,i.beforePrint=D,i.contextMenu=O,i.addButton=A,i.destroyExport=B,i.renderExporting=H,i.callbacks.push(z),g(t,"init",X),a.isSafari&&m.matchMedia("print").addListener(function(t){o&&(t.matches?o.beforePrint():o.afterPrint())}),d.exporting=w(s.exporting,d.exporting),d.lang=w(s.lang,d.lang),d.navigation=w(s.navigation,d.navigation))}}(p||(p={})),p}),i(e,"masters/modules/exporting.src.js",[e["Core/Globals.js"],e["Extensions/Exporting/Exporting.js"],e["Core/HttpUtilities.js"]],function(t,e,i){return t.HttpUtilities=t.HttpUtilities||i,t.ajax=t.HttpUtilities.ajax,t.getJSON=t.HttpUtilities.getJSON,t.post=t.HttpUtilities.post,e.compose(t.Chart,t.Renderer),t})}
1,t.exports?(s.default=s,t.exports=s):void 0===(o=(function(t){return s(t),s.Highcharts=t,s}).apply(e,[i(15081)]))||(t.exports=o)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.