n.height&&(n.y+=n.height,n.height*=-1);t.plotY=n.y=Math.round(n.y)-this.borderWidth%2/2;n.height=Math.max(Math.round(n.height),.001);t.yBottom=n.y+n.height;n.height<=c&&!t.isNull?(n.height=c,n.y-=d,t.plotY=n.y,t.minPointLengthOffset=0>t.y?-d:d):(t.isNull&&(n.width=0),t.minPointLengthOffset=0);n=t.plotY+(t.negative?n.height:0);this.chart.inverted?t.tooltipPos[0]=b.len-n:t.tooltipPos[1]=n}};c.prototype.processData=function(b){var c=this.options,g=this.yData,d=c.data,\np=g.length,f=c.threshold||0,r,e,h,k,m;for(m=e=r=h=k=0;mn.y&&!e||0m.indexOf(e)&&(u=!0);g[e]||(g[e]={});m=g[e];for(var q=0;q=b&&this.renderRange(a)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()};a.prototype.renderRange=\nfunction(a){var b=this.options,g=b.labels,c=this.chart,d=c.series[b.seriesIndex],f=c.renderer,e=this.symbols;c=e.labels;var h=a.center,m=Math.abs(a.radius),k=b.connectorDistance||0,r=g.align;k=this.legend.options.rtl||\"left\"===r?-k:k;var n=b.connectorWidth,t=this.ranges[0].radius||0,v=h-m-b.borderWidth/2+n/2,u=this.fontMetrics;u=u.f/2-(u.h-u.f)/2;var q=f.styledMode;\"center\"===r&&(k=0,b.connectorDistance=0,a.labelAttribs.align=\"center\");r=v+b.labels.y;var w=t+k+b.labels.x;e.bubbleItems.push(f.circle(t,\nh+((v%1?1:.5)-(n%2?0:.5)),m).attr(q?{}:a.bubbleAttribs).addClass((q?\"highcharts-color-\"+d.colorIndex+\" \":\"\")+\"highcharts-bubble-legend-symbol \"+(b.className||\"\")).add(this.legendSymbol));e.connectors.push(f.path(f.crispLine([[\"M\",t,v],[\"L\",t+k,v]],b.connectorWidth)).attr(q?{}:a.connectorAttribs).addClass((q?\"highcharts-color-\"+this.options.seriesIndex+\" \":\"\")+\"highcharts-bubble-legend-connectors \"+(b.connectorClassName||\"\")).add(this.legendSymbol));a=f.text(this.formatLabel(a),w,r+u).attr(q?{}:a.labelAttribs).css(q?\n{}:g.style).addClass(\"highcharts-bubble-legend-labels \"+(b.labels.className||\"\")).add(this.legendSymbol);c.push(a);a.placed=!0;a.alignAttr={x:w,y:r+u}};a.prototype.getMaxLabelSize=function(){var a,b;this.symbols.labels.forEach(function(g){b=g.getBBox(!0);a=a?b.width>a.width?b:a:b});return a||{}};a.prototype.formatLabel=function(a){var b=this.options,g=b.labels.formatter;b=b.labels.format;var c=this.chart.numberFormatter;return b?h.format(b,a):g?g.call(a):c(a.value,1)};a.prototype.hideOverlappingLabels=\nfunction(){var a=this.chart,b=this.symbols;!this.options.labels.allowOverlap&&b&&(a.hideOverlappingLabels(b.labels),b.labels.forEach(function(a,c){a.newOpacity?a.newOpacity!==a.oldOpacity&&b.connectors[c].show():b.connectors[c].hide()}))};a.prototype.getRanges=function(){var a=this.legend.bubbleLegend,b=a.options.ranges,g,c=Number.MAX_VALUE,d=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(g=a.zData.filter(v),g.length&&(c=z(a.options.zMin,Math.min(c,Math.max(m(g),\n!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),d=z(a.options.zMax,Math.max(d,f(g)))))});var e=c===d?[{value:d}]:[{value:c},{value:(c+d)/2},{value:d,autoRanges:!0}];b.length&&b[0].radius&&e.reverse();e.forEach(function(a,g){b&&b[g]&&(e[g]=w(b[g],a))});return e};a.prototype.predictBubbleSizes=function(){var a=this.chart,b=this.fontMetrics,g=a.legend.options,c=\"horizontal\"===g.layout,d=c?a.legend.lastLineHeight:0,f=a.plotSizeX,e=a.plotSizeY,h=a.series[this.options.seriesIndex];\na=Math.ceil(h.minPxSize);var m=Math.ceil(h.maxPxSize);h=h.options.maxSize;var k=Math.min(e,f);if(g.floating||!/%$/.test(h))b=m;else if(h=parseFloat(h),b=(k+d-b.h/2)*h/100/(h/100+1),c&&e-b>=f||!c&&f-b>=e)b=m;return[a,Math.ceil(b)]};a.prototype.updateRanges=function(a,b){var g=this.legend.options.bubbleLegend;g.minSize=a;g.maxSize=b;g.ranges=this.getRanges()};a.prototype.correctSizes=function(){var a=this.legend,b=this.chart.series[this.options.seriesIndex];1f.height&&(f.height=a[d].itemHeight);f.step=g}return b};a.prototype.retranslateItems=function(a){var b,\nc,g,d=this.options.rtl,f=0;this.allItems.forEach(function(l,p){b=l.legendGroup.translateX;c=l._legendItemPos[1];if((g=l.movementX)||d&&l.ranges)g=d?b-l.options.maxSize/2:b+g,l.legendGroup.attr({translateX:g});p>a[f].step&&f++;l.legendGroup.attr({translateY:Math.round(c+a[f].height/2)});l._legendItemPos[1]=c+a[f].height/2})};d(t,\"legendItemClick\",function(){var a=this.chart,b=this.visible,c=this.chart.legend;c&&c.bubbleLegend&&(this.visible=!b,this.ignoreSeries=b,a=0<=a.getVisibleBubbleSeriesIndex(),\nc.bubbleLegend.visible!==a&&(c.update({bubbleLegend:{enabled:a}}),c.bubbleLegend.visible=a),this.visible=b)});q(e.prototype,\"drawChartBox\",function(a,b,c){var g=this.legend,d=0<=this.getVisibleBubbleSeriesIndex();if(g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&d){var f=g.bubbleLegend.options;d=g.bubbleLegend.predictBubbleSizes();g.bubbleLegend.updateRanges(d[0],d[1]);f.placed||(g.group.placed=!1,g.allItems.forEach(function(a){a.legendGroup.translateY=null}));g.render();\nthis.getMargins();this.axes.forEach(function(a){a.visible&&a.render();f.placed||(a.setScale(),a.updateNames(),B(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))});f.placed=!0;this.getMargins();a.call(this,b,c);g.bubbleLegend.correctSizes();g.retranslateItems(g.getLinesHeights())}else a.call(this,b,c),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),g.retranslateItems(g.getLinesHeights()))});c.BubbleLegend=k;return c.BubbleLegend});z(e,\"Series/Bubble/BubbleSeries.js\",[e[\"Core/Axis/Axis.js\"],e[\"Series/Bubble/BubblePoint.js\"],\ne[\"Core/Color/Color.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/Series.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(e,d,h,c,a,n,k){var t=this&&this.__extends||function(){var a=function(b,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var g in b)b.hasOwnProperty(g)&&(a[g]=b[g])};return a(b,g)};return function(b,g){function c(){this.constructor=b}a(b,g);b.prototype=null===g?Object.create(g):(c.prototype=g.prototype,\nnew c)}}(),q=h.parse;h=c.noop;var y=n.seriesTypes;c=y.column;var b=y.scatter,f=k.arrayMax,m=k.arrayMin,v=k.clamp,w=k.extend,B=k.isNumber,z=k.merge,E=k.pick,u=k.pInt;k=function(c){function d(){var a=null!==c&&c.apply(this,arguments)||this;a.data=void 0;a.maxPxSize=void 0;a.minPxSize=void 0;a.options=void 0;a.points=void 0;a.radii=void 0;a.yData=void 0;a.zData=void 0;return a}t(d,c);d.prototype.animate=function(a){!a&&this.points.length=this.minPxSize/2?(f.marker=w(f.marker,{radius:l,width:2*l,height:2*l}),f.dlBox={x:f.plotX-l,y:f.plotY-l,width:2*l,height:2*l}):f.shapeArgs=f.plotY=f.dlBox=void 0}};d.defaultOptions=z(b.defaultOptions,{dataLabels:{formatter:function(){return this.point.z},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}}},\ntooltip:{pointFormat:\"({point.x}, {point.y}), Size: {point.z}\"},turboThreshold:0,zThreshold:0,zoneAxis:\"z\"});return d}(b);w(k.prototype,{alignDataLabel:c.prototype.alignDataLabel,applyZones:h,bubblePadding:!0,buildKDTree:h,directTouch:!0,isBubble:!0,pointArrayMap:[\"y\",\"z\"],pointClass:d,parallelArrays:[\"x\",\"y\",\"z\"],trackerGroups:[\"group\",\"dataLabelsGroup\"],specialGroup:\"group\",zoneAxis:\"z\"});e.prototype.beforePadding=function(){var a=this,b=this.len,g=this.chart,c=0,d=b,e=this.isXAxis,h=e?\"xData\":\n\"yData\",k=this.min,n={},t=Math.min(g.plotWidth,g.plotHeight),q=Number.MAX_VALUE,w=-Number.MAX_VALUE,y=this.max-k,z=b/y,G=[];this.series.forEach(function(b){var c=b.options;!b.bubblePadding||!b.visible&&g.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,G.push(b),e&&([\"minSize\",\"maxSize\"].forEach(function(a){var b=c[a],g=/%$/.test(b);b=u(b);n[a]=g?t*b/100:b}),b.minPxSize=n.minSize,b.maxPxSize=Math.max(n.maxSize,n.minSize),b=b.zData.filter(B),b.length&&(q=E(c.zMin,v(m(b),!1===c.displayNegative?\nc.zThreshold:-Number.MAX_VALUE,q)),w=E(c.zMax,Math.max(w,f(b))))))});G.forEach(function(b){var g=b[h],f=g.length;e&&b.getRadii(q,w,b);if(0d?1:0)},barycenter:function(){var d=this.options.gravitationalConstant,e=this.barycenter.xFactor,c=this.barycenter.yFactor;e=(e-(this.box.left+this.box.width)/2)*d;c=(c-(this.box.top+this.box.height)/2)*d;this.nodes.forEach(function(a){a.fixedPosition||(a.plotX-=e/a.mass/a.degree,a.plotY-=c/a.mass/a.degree)})},repulsive:function(d,e,c){e=e*this.diffTemperature/\nd.mass/d.degree;d.fixedPosition||(d.plotX+=c.x*e,d.plotY+=c.y*e)},attractive:function(d,e,c){var a=d.getMass(),h=-c.x*e*this.diffTemperature;e=-c.y*e*this.diffTemperature;d.fromNode.fixedPosition||(d.fromNode.plotX-=h*a.fromNode/d.fromNode.degree,d.fromNode.plotY-=e*a.fromNode/d.fromNode.degree);d.toNode.fixedPosition||(d.toNode.plotX+=h*a.toNode/d.toNode.degree,d.toNode.plotY+=e*a.toNode/d.toNode.degree)},integrate:function(d,e){var c=-d.options.friction,a=d.options.maxSpeed,h=(e.plotX+e.dispX-e.prevX)*\nc;c*=e.plotY+e.dispY-e.prevY;var k=Math.abs,t=k(h)/(h||1);k=k(c)/(c||1);h=t*Math.min(a,Math.abs(h));c=k*Math.min(a,Math.abs(c));e.prevX=e.plotX+e.dispX;e.prevY=e.plotY+e.dispY;e.plotX+=h;e.plotY+=c;e.temperature=d.vectorLength({x:h,y:c})},getK:function(d){return Math.pow(d.box.width*d.box.height/d.nodes.length,.5)}},euler:{attractiveForceFunction:function(d,e){return d*d/e},repulsiveForceFunction:function(d,e){return e*e/d},barycenter:function(){var d=this.options.gravitationalConstant,e=this.barycenter.xFactor,\nc=this.barycenter.yFactor;this.nodes.forEach(function(a){if(!a.fixedPosition){var h=a.getDegree();h*=1+h/2;a.dispX+=(e-a.plotX)*d*h/a.degree;a.dispY+=(c-a.plotY)*d*h/a.degree}})},repulsive:function(d,e,c,a){d.dispX+=c.x/a*e/d.degree;d.dispY+=c.y/a*e/d.degree},attractive:function(d,e,c,a){var h=d.getMass(),k=c.x/a*e;e*=c.y/a;d.fromNode.fixedPosition||(d.fromNode.dispX-=k*h.fromNode/d.fromNode.degree,d.fromNode.dispY-=e*h.fromNode/d.fromNode.degree);d.toNode.fixedPosition||(d.toNode.dispX+=k*h.toNode/\nd.toNode.degree,d.toNode.dispY+=e*h.toNode/d.toNode.degree)},integrate:function(d,e){e.dispX+=e.dispX*d.options.friction;e.dispY+=e.dispY*d.options.friction;var c=e.temperature=d.vectorLength({x:e.dispX,y:e.dispY});0!==c&&(e.plotX+=e.dispX/c*Math.min(Math.abs(e.dispX),d.temperature),e.plotY+=e.dispY/c*Math.min(Math.abs(e.dispY),d.temperature))},getK:function(d){return Math.pow(d.box.width*d.box.height/d.nodes.length,.3)}}}});z(e,\"Series/Networkgraph/QuadTree.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],\nfunction(e,d){d=d.extend;var h=e.QuadTreeNode=function(c){this.box=c;this.boxSize=Math.min(c.width,c.height);this.nodes=[];this.body=this.isInternal=!1;this.isEmpty=!0};d(h.prototype,{insert:function(c,a){this.isInternal?this.nodes[this.getBoxPosition(c)].insert(c,a-1):(this.isEmpty=!1,this.body?a?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,a-1),this.body=!0),this.nodes[this.getBoxPosition(c)].insert(c,a-1)):(a=new h({top:c.plotX,\nleft:c.plotY,width:.1,height:.1}),a.body=c,a.isInternal=!1,this.nodes.push(a)):(this.isInternal=!1,this.body=c))},updateMassAndCenter:function(){var c=0,a=0,d=0;this.isInternal?(this.nodes.forEach(function(e){e.isEmpty||(c+=e.mass,a+=e.plotX*e.mass,d+=e.plotY*e.mass)}),a/=c,d/=c):this.body&&(c=this.body.mass,a=this.body.plotX,d=this.body.plotY);this.mass=c;this.plotX=a;this.plotY=d},divideBox:function(){var c=this.box.width/2,a=this.box.height/2;this.nodes[0]=new h({left:this.box.left,top:this.box.top,\nwidth:c,height:a});this.nodes[1]=new h({left:this.box.left+c,top:this.box.top,width:c,height:a});this.nodes[2]=new h({left:this.box.left+c,top:this.box.top+a,width:c,height:a});this.nodes[3]=new h({left:this.box.left,top:this.box.top+a,width:c,height:a})},getBoxPosition:function(c){var a=c.plotYMath.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature},getSystemTemperature:function(){return this.nodes.reduce(function(a,c){return a+c.temperature},0)},\nvectorLength:function(a){return Math.sqrt(a.x*a.x+a.y*a.y)},getDistR:function(a,c){a=this.getDistXY(a,c);return this.vectorLength(a)},getDistXY:function(a,c){var b=a.plotX-c.plotX;a=a.plotY-c.plotY;return{x:b,y:a,absX:Math.abs(b),absY:Math.abs(a)}}});d(e,\"predraw\",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(a){a.stop()})});d(e,\"render\",function(){function b(a){a.maxIterations--&&isFinite(a.temperature)&&!a.isStable()&&!a.enableSimulation&&(a.beforeStep&&a.beforeStep(),\na.step(),d=!1,c=!0)}var c=!1;if(this.graphLayoutsLookup){a(!1,this);for(this.graphLayoutsLookup.forEach(function(a){a.start()});!d;){var d=!0;this.graphLayoutsLookup.forEach(b)}c&&this.series.forEach(function(a){a&&a.layout&&a.render()})}});d(e,\"beforePrint\",function(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation(!1)}),this.redraw())});d(e,\"afterPrint\",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(a){a.updateSimulation()});\nthis.redraw()})});z(e,\"Series/PackedBubble/PackedBubbleComposition.js\",[e[\"Core/Chart/Chart.js\"],e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(e,d,h){var c=d.layouts[\"reingold-fruchterman\"],a=h.addEvent,n=h.extendClass,k=h.pick;e.prototype.getSelectedParentNodes=function(){var a=[];this.series.forEach(function(c){c.parentNode&&c.parentNode.selected&&a.push(c.parentNode)});return a};d.networkgraphIntegrations.packedbubble={repulsiveForceFunction:function(a,c,d,b){return Math.min(a,(d.marker.radius+\nb.marker.radius)/2)},barycenter:function(){var a=this,c=a.options.gravitationalConstant,d=a.box,b=a.nodes,e,h;b.forEach(function(f){a.options.splitSeries&&!f.isParentNode?(e=f.series.parentNode.plotX,h=f.series.parentNode.plotY):(e=d.width/2,h=d.height/2);f.fixedPosition||(f.plotX-=(f.plotX-e)*c/(f.mass*Math.sqrt(b.length)),f.plotY-=(f.plotY-h)*c/(f.mass*Math.sqrt(b.length)))})},repulsive:function(a,c,d,b){var e=c*this.diffTemperature/a.mass/a.degree;c=d.x*e;d=d.y*e;a.fixedPosition||(a.plotX+=c,a.plotY+=\nd);b.fixedPosition||(b.plotX-=c,b.plotY-=d)},integrate:d.networkgraphIntegrations.verlet.integrate,getK:d.noop};d.layouts.packedbubble=n(c,{beforeStep:function(){this.options.marker&&this.series.forEach(function(a){a&&a.calculateParentRadius()})},isStable:function(){var a=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&.00001>a||0>=this.temperature},setCircularPositions:function(){var a=this,c=a.box,d=a.nodes,b=\n2*Math.PI/(d.length+1),e,h,n=a.options.initialPositionRadius;d.forEach(function(d,f){a.options.splitSeries&&!d.isParentNode?(e=d.series.parentNode.plotX,h=d.series.parentNode.plotY):(e=c.width/2,h=c.height/2);d.plotX=d.prevX=k(d.plotX,e+n*Math.cos(d.index||f*b));d.plotY=d.prevY=k(d.plotY,h+n*Math.sin(d.index||f*b));d.dispX=0;d.dispY=0})},repulsiveForces:function(){var a=this,c,d,b,e=a.options.bubblePadding;a.nodes.forEach(function(f){f.degree=f.mass;f.neighbours=0;a.nodes.forEach(function(h){c=0;\nf===h||f.fixedPosition||!a.options.seriesInteraction&&f.series!==h.series||(b=a.getDistXY(f,h),d=a.vectorLength(b)-(f.marker.radius+h.marker.radius+e),0>d&&(f.degree+=.01,f.neighbours++,c=a.repulsiveForce(-d/Math.sqrt(f.neighbours),a.k,f,h)),a.force(\"repulsive\",f,c*h.mass,b,h,d))})})},applyLimitBox:function(a){if(this.options.splitSeries&&!a.isParentNode&&this.options.parentNodeLimit){var d=this.getDistXY(a,a.series.parentNode);var e=a.series.parentNodeRadius-a.marker.radius-this.vectorLength(d);\n0>e&&e>-2*a.marker.radius&&(a.plotX-=.01*d.x,a.plotY-=.01*d.y)}c.prototype.applyLimitBox.apply(this,arguments)}});a(e,\"beforeRedraw\",function(){this.allDataPoints&&delete this.allDataPoints})});z(e,\"Series/PackedBubble/PackedBubbleSeries.js\",[e[\"Core/Color/Color.js\"],e[\"Core/Globals.js\"],e[\"Series/PackedBubble/PackedBubblePoint.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(e,d,h,c,a){var n=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof\nArray&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function g(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(g.prototype=c.prototype,new g)}}(),k=e.parse,t=c.series,q=c.seriesTypes.bubble,y=a.addEvent,b=a.clamp,f=a.defined,m=a.extend,v=a.fireEvent,w=a.isArray,z=a.isNumber,B=a.merge,E=a.pick,u=d.dragNodesMixin;e=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0;\nb.data=void 0;b.layout=void 0;b.options=void 0;b.points=void 0;b.xData=void 0;return b}n(c,a);c.prototype.accumulateAllPoints=function(a){var b=a.chart,c=[],g,d;for(g=0;gd&&(d=a),aMath.sqrt(c*c+d*d)-Math.abs(a[2]+b[2])};c.prototype.createParentNodes=function(){var a=this,b=a.chart,c=a.parentNodeLayout,d,e=a.parentNode,f=a.pointClass;a.parentNodeMass=0;a.points.forEach(function(b){a.parentNodeMass+=Math.PI*Math.pow(b.marker.radius,2)});a.calculateParentRadius();c.nodes.forEach(function(b){b.seriesIndex===a.index&&(d=!0)});c.setArea(0,0,b.plotWidth,b.plotHeight);d||(e||(e=(new f).init(this,{mass:a.parentNodeRadius/2,marker:{radius:a.parentNodeRadius},dataLabels:{inside:!1},\ndataLabelOnNull:!0,degree:a.parentNodeRadius,isParentNode:!0,seriesIndex:a.index})),a.parentNode&&(e.plotX=a.parentNode.plotX,e.plotY=a.parentNode.plotY),a.parentNode=e,c.addElementsToCollection([a],c.series),c.addElementsToCollection([e],c.nodes))};c.prototype.deferLayout=function(){var a=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),a.splitSeries&&this.addSeriesLayout())};c.prototype.destroy=function(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(function(a){a.removeElementFromCollection(this,\na.series)},this);this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy()));t.prototype.destroy.apply(this,arguments)};c.prototype.drawDataLabels=function(){var a=this.options.dataLabels.textPath,b=this.points;t.prototype.drawDataLabels.apply(this,arguments);this.parentNode&&(this.parentNode.formatPrefix=\"parentNode\",this.points=[this.parentNode],\nthis.options.dataLabels.textPath=this.options.dataLabels.parentNodeTextPath,t.prototype.drawDataLabels.apply(this,arguments),this.points=b,this.options.dataLabels.textPath=a)};c.prototype.drawGraph=function(){if(this.layout&&this.layout.options.splitSeries){var a=this.chart;var b=this.layout.options.parentNodeOptions.marker;var c={fill:b.fillColor||k(this.color).brighten(.4).get(),opacity:b.fillOpacity,stroke:b.lineColor||this.color,\"stroke-width\":b.lineWidth};this.parentNodesGroup||(this.parentNodesGroup=\nthis.plotGroup(\"parentNodesGroup\",\"parentNode\",this.visible?\"inherit\":\"hidden\",.1,a.seriesGroup),this.group.attr({zIndex:2}));this.calculateParentRadius();b=B({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},c);this.parentNode.graphic||(this.graph=this.parentNode.graphic=a.renderer.symbol(c.symbol).add(this.parentNodesGroup));this.parentNode.graphic.attr(b)}};c.prototype.drawTracker=function(){var b=\nthis.parentNode;a.prototype.drawTracker.call(this);if(b){var c=w(b.dataLabels)?b.dataLabels:b.dataLabel?[b.dataLabel]:[];b.graphic&&(b.graphic.element.point=b);c.forEach(function(a){a.div?a.div.point=b:a.element.point=b})}};c.prototype.getPointRadius=function(){var a=this,c=a.chart,d=a.options,e=d.useSimulation,f=Math.min(c.plotWidth,c.plotHeight),l={},h=[],k=c.allDataPoints,m,n,q,r;[\"minSize\",\"maxSize\"].forEach(function(a){var b=parseInt(d[a],10),c=/%$/.test(d[a]);l[a]=c?f*b/100:b*Math.sqrt(k.length)});\nc.minRadius=m=l.minSize/Math.sqrt(k.length);c.maxRadius=n=l.maxSize/Math.sqrt(k.length);var t=e?a.calculateZExtremes():[m,n];(k||[]).forEach(function(c,d){q=e?b(c[2],t[0],t[1]):c[2];r=a.getRadius(t[0],t[1],m,n,q);0===r&&(r=null);k[d][2]=r;h.push(r)});a.radii=h};c.prototype.init=function(){t.prototype.init.apply(this,arguments);this.eventsToUnbind.push(y(this,\"updatedData\",function(){this.chart.series.forEach(function(a){a.type===this.type&&(a.isDirty=!0)},this)}));return this};c.prototype.onMouseUp=\nfunction(a){if(a.fixedPosition&&!a.removed){var b,c,d=this.layout,g=this.parentNodeLayout;g&&d.options.dragBetweenSeries&&g.nodes.forEach(function(g){a&&a.marker&&g!==a.series.parentNode&&(b=d.getDistXY(a,g),c=d.vectorLength(b)-g.marker.radius-a.marker.radius,0>c&&(g.series.addPoint(B(a.options,{plotX:a.plotX,plotY:a.plotY}),!1),d.removeElementFromCollection(a,d.nodes),a.remove()))});u.onMouseUp.apply(this,arguments)}};c.prototype.placeBubbles=function(a){var b=this.checkOverlap,c=this.positionBubble,\nd=[],g=1,e=0,f=0;var l=[];var h;a=a.sort(function(a,b){return b[2]-a[2]});if(a.length){d.push([[0,0,a[0][2],a[0][3],a[0][4]]]);if(1a[1]-b[1]?0:Math.PI)+e+g*(0>(a[0]-b[0])*(a[1]-b[1])?1:-1);return[b[0]+(b[2]+c[2])*Math.sin(a),b[1]-(b[2]+c[2])*Math.cos(a),c[2],c[3],c[4]]};c.prototype.render=function(){var a=[];t.prototype.render.apply(this,arguments);\nthis.options.dataLabels.allowOverlap||(this.data.forEach(function(b){w(b.dataLabels)&&b.dataLabels.forEach(function(b){a.push(b)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(a))};c.prototype.resizeRadius=function(){var a=this.chart,b=a.rawPositions,c=Math.min,d=Math.max,e=a.plotLeft,f=a.plotTop,l=a.plotHeight,h=a.plotWidth,k,m,n;var q=k=Number.POSITIVE_INFINITY;var r=m=Number.NEGATIVE_INFINITY;for(n=0;nb?a.length-1+b:0;b=0>g-1?a.length-(1+e):g-1;e=g+1>a.length-1?e:g+1;var f=a[b];e=a[e];var l=f.plotX;f=f.plotY;var h=e.plotX;var k=e.plotY;e=a[g].plotX;g=a[g].plotY;l=(1.5*e+l)/2.5;f=(1.5*g+f)/2.5;h=(1.5*e+h)/2.5;var p=(1.5*g+k)/2.5;k=Math.sqrt(Math.pow(l-e,2)+Math.pow(f-g,2));var m=Math.sqrt(Math.pow(h-e,2)+Math.pow(p-\ng,2));l=Math.atan2(f-g,l-e);p=Math.PI/2+(l+Math.atan2(p-g,h-e))/2;Math.abs(l-p)>Math.PI/2&&(p-=Math.PI);l=e+Math.cos(p)*k;f=g+Math.sin(p)*k;h=e+Math.cos(Math.PI+p)*m;p=g+Math.sin(Math.PI+p)*m;e={rightContX:h,rightContY:p,leftContX:l,leftContY:f,plotX:e,plotY:g};c&&(e.prevPointCont=this.getConnectors(a,b,!1,d));return e};E.toXY=function(a){var b=this.chart,c=this.xAxis,d=this.yAxis,e=a.plotX,f=a.plotY,l=a.series,h=b.inverted,k=a.y,m=h?e:d.len-f;h&&l&&!l.isRadialBar&&(a.plotY=f=\"number\"===typeof k?\nd.translate(k)||0:0);a.rectPlotX=e;a.rectPlotY=f;d.center&&(m+=d.center[3]/2);v(f)&&(d=h?d.postTranslate(f,m):c.postTranslate(e,m),a.plotX=a.polarPlotX=d.x-b.plotLeft,a.plotY=a.polarPlotY=d.y-b.plotTop);this.kdByAngle?(b=(e/Math.PI*180+c.pane.options.startAngle)%360,0>b&&(b+=360),a.clientX=b):a.clientX=a.plotX};k.spline&&(e(k.spline.prototype,\"getPointSpline\",function(a,b,c,d){this.chart.polar?d?(a=this.getConnectors(b,d,!0,this.connectEnds),b=a.prevPointCont&&a.prevPointCont.rightContX,c=a.prevPointCont&&\na.prevPointCont.rightContY,a=[\"C\",v(b)?b:a.plotX,v(c)?c:a.plotY,v(a.leftContX)?a.leftContX:a.plotX,v(a.leftContY)?a.leftContY:a.plotY,a.plotX,a.plotY]):a=[\"M\",c.plotX,c.plotY]:a=a.call(this,b,c,d);return a}),k.areasplinerange&&(k.areasplinerange.prototype.getPointSpline=k.spline.prototype.getPointSpline));b(n,\"afterTranslate\",function(){var a=this.chart;if(a.polar&&this.xAxis){(this.kdByAngle=a.tooltip&&a.tooltip.shared)?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy=\"xy\";\nif(!this.preventPostTranslate)for(var c=this.points,d=c.length;d--;)this.toXY(c[d]),!a.hasParallelCoordinates&&!this.yAxis.reversed&&c[d].yb&&(b=f),0>a&&(a=f));return{x:e[0],y:e[1],r:b,innerR:a,start:c,end:d}};e(k,\"animate\",u);e(k,\"translate\",function(a){var b=this.options,c=b.stacking,\nd=this.chart,e=this.xAxis,h=this.yAxis,l=h.reversed,k=h.center,m=e.startAngleRad,n=e.endAngleRad-m;this.preventPostTranslate=!0;a.call(this);if(e.isRadial){a=this.points;e=a.length;var r=h.translate(h.min);var t=h.translate(h.max);b=b.threshold||0;if(d.inverted&&v(b)){var u=h.translate(b);f(u)&&(0>u?u=0:u>n&&(u=n),this.translatedThreshold=u+m)}for(;e--;){b=a[e];var w=b.barX;var y=b.x;var z=b.y;b.shapeType=\"arc\";if(d.inverted){b.plotY=h.translate(z);if(c&&h.stacking){if(z=h.stacking.stacks[(0>z?\"-\":\n\"\")+this.stackKey],this.visible&&z&&z[y]&&!b.isNull){var B=z[y].points[this.getStackIndicator(void 0,y,this.index).key];var D=h.translate(B[0]);B=h.translate(B[1]);f(D)&&(D=q.clamp(D,0,n))}}else D=u,B=b.plotY;D>B&&(B=[D,D=B][0]);if(!l)if(Dt)B=t;else{if(Bt)D=B=0}else if(B>r)B=r;else if(Dr||Bh.max&&(D=B=l?n:0);D+=m;B+=m;k&&(b.barX=w+=k[3]/2);y=Math.max(w,0);z=Math.max(w+b.pointWidth,0);b.shapeArgs={x:k&&k[0],y:k&&k[1],r:z,innerR:y,start:D,end:B};\nb.opacity=D===B?0:void 0;b.plotY=(f(this.translatedThreshold)&&(Dk[1])}}});k.findAlignments=function(a,b){null===b.align&&(b.align=20a?\"left\":200a?\"right\":\"center\");null===b.verticalAlign&&(b.verticalAlign=45>\na||315a?\"top\":\"middle\");return b};r&&(r.findAlignments=k.findAlignments);e(k,\"alignDataLabel\",function(a,b,c,d,e,f){var g=this.chart,h=w(d.inside,!!this.options.stacking);g.polar?(a=b.rectPlotX/Math.PI*180,g.inverted?(this.forceDL=g.isInsidePlot(b.plotX,Math.round(b.plotY)),h&&b.shapeArgs?(e=b.shapeArgs,e=this.yAxis.postTranslate(((e.start||0)+(e.end||0))/2-this.xAxis.startAngleRad,b.barX+b.pointWidth/2),e={x:e.x-g.plotLeft,y:e.y-g.plotTop}):b.tooltipPos&&(e={x:b.tooltipPos[0],\ny:b.tooltipPos[1]}),d.align=w(d.align,\"center\"),d.verticalAlign=w(d.verticalAlign,\"middle\")):this.findAlignments&&(d=this.findAlignments(a,d)),E.alignDataLabel.call(this,b,c,d,e,f),this.isRadialBar&&b.shapeArgs&&b.shapeArgs.start===b.shapeArgs.end&&c.hide(!0)):a.call(this,b,c,d,e,f)})}e(a,\"getCoordinates\",function(a,b){var c=this.chart,d={xAxis:[],yAxis:[]};c.polar?c.axes.forEach(function(a){var e=a.isXAxis,f=a.center;if(\"colorAxis\"!==a.coll){var g=b.chartX-f[0]-c.plotLeft;f=b.chartY-f[1]-c.plotTop;\nd[e?\"xAxis\":\"yAxis\"].push({axis:a,value:a.translate(e?Math.PI-Math.atan2(g,f):Math.sqrt(Math.pow(g,2)+Math.pow(f,2)),!0)})}}):d=a.call(this,b);return d});t.prototype.clipCircle=function(a,b,c,d){var e=B(),f=this.createElement(\"clipPath\").attr({id:e}).add(this.defs);a=d?this.arc(a,b,c,d,0,2*Math.PI).add(f):this.circle(a,b,c).add(f);a.id=e;a.clipPath=f;return a};b(d,\"getAxes\",function(){this.pane||(this.pane=[]);z(this.options.pane).forEach(function(a){new c(a,this)},this)});b(d,\"afterDrawChartBox\",\nfunction(){this.pane.forEach(function(a){a.render()})});b(n,\"afterInit\",function(){var a=this.chart;a.inverted&&a.polar&&(this.isRadialSeries=!0,this.is(\"column\")&&(this.isRadialBar=!0))});e(d.prototype,\"get\",function(a,b){return m(this.pane||[],function(a){return a.options.id===b})||a.call(this,b)})});z(e,\"masters/highcharts-more.src.js\",[],function(){})});\n//# sourceMappingURL=highcharts-more.js.map","/*\n Highcharts JS v9.1.0 (2021-05-03)\n\n Exporting module\n\n (c) 2010-2021 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(c){\"object\"===typeof module&&module.exports?(c[\"default\"]=c,module.exports=c):\"function\"===typeof define&&define.amd?define(\"highcharts/modules/exporting\",[\"highcharts\"],function(q){c(q);c.Highcharts=q;return c}):c(\"undefined\"!==typeof Highcharts?Highcharts:void 0)})(function(c){function q(c,m,h,k){c.hasOwnProperty(m)||(c[m]=k.apply(null,h))}c=c?c._modules:{};q(c,\"Extensions/FullScreen.js\",[c[\"Core/Chart/Chart.js\"],c[\"Core/Globals.js\"],c[\"Core/Renderer/HTML/AST.js\"],c[\"Core/Utilities.js\"]],\nfunction(c,m,h,k){var n=k.addEvent;k=function(){function c(e){this.chart=e;this.isOpen=!1;e=e.renderTo;this.browserProps||(\"function\"===typeof e.requestFullscreen?this.browserProps={fullscreenChange:\"fullscreenchange\",requestFullscreen:\"requestFullscreen\",exitFullscreen:\"exitFullscreen\"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:\"mozfullscreenchange\",requestFullscreen:\"mozRequestFullScreen\",exitFullscreen:\"mozCancelFullScreen\"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:\"webkitfullscreenchange\",\nrequestFullscreen:\"webkitRequestFullScreen\",exitFullscreen:\"webkitExitFullscreen\"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:\"MSFullscreenChange\",requestFullscreen:\"msRequestFullscreen\",exitFullscreen:\"msExitFullscreen\"}))}c.prototype.close=function(){var e=this.chart,c=e.options.chart;if(this.isOpen&&this.browserProps&&e.container.ownerDocument instanceof Document)e.container.ownerDocument[this.browserProps.exitFullscreen]();this.unbindFullscreenEvent&&(this.unbindFullscreenEvent=\nthis.unbindFullscreenEvent());e.setSize(this.origWidth,this.origHeight,!1);this.origHeight=this.origWidth=void 0;c.width=this.origWidthOption;c.height=this.origHeightOption;this.origHeightOption=this.origWidthOption=void 0;this.isOpen=!1;this.setButtonText()};c.prototype.open=function(){var e=this,c=e.chart,h=c.options.chart;h&&(e.origWidthOption=h.width,e.origHeightOption=h.height);e.origWidth=c.chartWidth;e.origHeight=c.chartHeight;if(e.browserProps){var k=n(c.container.ownerDocument,e.browserProps.fullscreenChange,\nfunction(){e.isOpen?(e.isOpen=!1,e.close()):(c.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),m=n(c,\"destroy\",k);e.unbindFullscreenEvent=function(){k();m()};if(h=c.renderTo[e.browserProps.requestFullscreen]())h[\"catch\"](function(){alert(\"Full screen is not supported inside a frame.\")})}};c.prototype.setButtonText=function(){var e=this.chart,c=e.exportDivElements,k=e.options.exporting,m=k&&k.buttons&&k.buttons.contextButton.menuItems;e=e.options.lang;k&&k.menuItemDefinitions&&e&&e.exitFullscreen&&\ne.viewFullscreen&&m&&c&&c.length&&h.setElementHTML(c[m.indexOf(\"viewFullscreen\")],this.isOpen?e.exitFullscreen:k.menuItemDefinitions.viewFullscreen.text||e.viewFullscreen)};c.prototype.toggle=function(){this.isOpen?this.close():this.open()};return c}();m.Fullscreen=k;n(c,\"beforeRender\",function(){this.fullscreen=new m.Fullscreen(this)});return m.Fullscreen});q(c,\"Mixins/Navigation.js\",[],function(){return{initUpdate:function(c){c.navigation||(c.navigation={updates:[],update:function(c,h){this.updates.forEach(function(k){k.update.call(k.context,\nc,h)})}})},addUpdate:function(c,m){m.navigation||this.initUpdate(m);m.navigation.updates.push({update:c,context:m})}}});q(c,\"Extensions/Exporting.js\",[c[\"Core/Chart/Chart.js\"],c[\"Mixins/Navigation.js\"],c[\"Core/Globals.js\"],c[\"Core/Options.js\"],c[\"Core/Color/Palette.js\"],c[\"Core/Renderer/SVG/SVGRenderer.js\"],c[\"Core/Utilities.js\"]],function(c,m,h,k,n,q,e){var z=h.doc,G=h.isTouchDevice,B=h.win;k=k.defaultOptions;var x=e.addEvent,r=e.css,y=e.createElement,E=e.discardElement,A=e.extend,H=e.find,D=e.fireEvent,\nI=e.isObject,p=e.merge,F=e.objectEach,t=e.pick,J=e.removeEvent,K=e.uniqueKey;A(k.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\"});k.navigation||(k.navigation={});p(!0,k.navigation,{buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:\"right\",\nbuttonSpacing:3,height:22,verticalAlign:\"top\",width:24}});p(!0,k.navigation,{menuStyle:{border:\"1px solid \"+n.neutralColor40,background:n.backgroundColor,padding:\"5px 0\"},menuItemStyle:{padding:\"0.5em 1em\",color:n.neutralColor80,background:\"none\",fontSize:G?\"14px\":\"11px\",transition:\"background 250ms, color 250ms\"},menuItemHoverStyle:{background:n.highlightColor80,color:n.backgroundColor},buttonOptions:{symbolFill:n.neutralColor60,symbolStroke:n.neutralColor60,symbolStrokeWidth:3,theme:{padding:5}}});\nk.exporting={type:\"image/png\",url:\"https://export.highcharts.com/\",printMaxWidth:780,scale:2,buttons:{contextButton:{className:\"highcharts-contextbutton\",menuClassName:\"highcharts-contextmenu\",symbol:\"menu\",titleKey:\"contextButtonTitle\",menuItems:\"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG\".split(\" \")}},menuItemDefinitions:{viewFullscreen:{textKey:\"viewFullscreen\",onclick:function(){this.fullscreen.toggle()}},printChart:{textKey:\"printChart\",onclick:function(){this.print()}},\nseparator:{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\"})}}}};h.post=function(a,b,f){var d=y(\"form\",p({method:\"post\",action:a,enctype:\"multipart/form-data\"},f),{display:\"none\"},\nz.body);F(b,function(a,b){y(\"input\",{type:\"hidden\",name:b,value:a},null,d)});d.submit();E(d)};h.isSafari&&h.win.matchMedia(\"print\").addListener(function(a){h.printingChart&&(a.matches?h.printingChart.beforePrint():h.printingChart.afterPrint())});A(c.prototype,{sanitizeSVG:function(a,b){var f=a.indexOf(\"\")+6,d=a.substr(f);a=a.substr(0,f);b&&b.exporting&&b.exporting.allowHTML&&d&&(d=''+\nd.replace(/(<(?:img|br).*?(?=>))>/g,\"$1 />\")+\"\",a=a.replace(\"\",d+\"\"));a=a.replace(/zIndex=\"[^\"]+\"/g,\"\").replace(/symbolName=\"[^\"]+\"/g,\"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g,\"\").replace(/url\\((\"|")(.*?)(\"|");?\\)/g,\"url($2)\").replace(/url\\([^#]+#/g,\"url(#\").replace(/