/* Highcharts JS v7.1.1 (2019-04-09) (c) 2016-2019 Highsoft AS Authors: Jon Arild Nygard License: www.highcharts.com/license */ (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/sunburst",["highcharts"],function(w){d(w);d.Highcharts=w;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function w(b,k,d,h){b.hasOwnProperty(k)||(b[k]=h.apply(null,d))}d=d?d._modules:{};w(d,"mixins/draw-point.js",[],function(){var b=function(b){var d=this,h=d.graphic,k=b.animatableAttribs,E=b.onComplete,v=b.css,G=b.renderer; if(d.shouldDraw())h||(d.graphic=h=G[b.shapeType](b.shapeArgs).add(b.group)),h.css(v).attr(b.attribs).animate(k,b.isNew?!1:void 0,E);else if(h){var q=function(){d.graphic=h=h.destroy();"function"===typeof E&&E()};Object.keys(k).length?h.animate(k,void 0,function(){q()}):q()}};return function(d){(d.attribs=d.attribs||{})["class"]=this.getClassName();b.call(this,d)}});w(d,"mixins/tree-series.js",[d["parts/Globals.js"]],function(b){var d=b.extend,w=b.isArray,h=b.isObject,M=b.isNumber,E=b.merge,v=b.pick; return{getColor:function(d,q){var C=q.index,g=q.mapOptionsToLevel,h=q.parentColor,G=q.parentColorIndex,H=q.series,D=q.colors,k=q.siblings,m=H.points,A=H.chart.options.chart,u,z,e,p;if(d){m=m[d.i];d=g[d.level]||{};if(g=m&&d.colorByPoint)z=m.index%(D?D.length:A.colorCount),u=D&&D[z];if(!H.chart.styledMode){D=m&&m.options.color;A=d&&d.color;if(e=h)e=(e=d&&d.colorVariation)&&"brightness"===e.key?b.color(h).brighten(C/k*e.to).get():h;e=v(D,A,u,e,H.color)}p=v(m&&m.options.colorIndex,d&&d.colorIndex,z,G, q.colorIndex)}return{color:e,colorIndex:p}},getLevelOptions:function(b){var q=null,C,g,v,k;if(h(b))for(q={},v=M(b.from)?b.from:1,k=b.levels,g={},C=h(b.defaults)?b.defaults:{},w(k)&&(g=k.reduce(function(b,g){var q,m;h(g)&&M(g.level)&&(m=E({},g),q="boolean"===typeof m.levelIsConstant?m.levelIsConstant:C.levelIsConstant,delete m.levelIsConstant,delete m.level,g=g.level+(q?0:v-1),h(b[g])?d(b[g],m):b[g]=m);return b},{})),k=M(b.to)?b.to:1,b=0;b<=k;b++)q[b]=E({},C,h(g[b])?g[b]:{});return q},setTreeValues:function q(b, g){var h=g.before,k=g.idRoot,C=g.mapIdToNode[k],D=g.points[b.i],E=D&&D.options||{},m=0,A=[];d(b,{levelDynamic:b.level-(("boolean"===typeof g.levelIsConstant?g.levelIsConstant:1)?0:C.level),name:v(D&&D.name,""),visible:k===b.id||("boolean"===typeof g.visible?g.visible:!1)});"function"===typeof h&&(b=h(b,g));b.children.forEach(function(h,k){var e=d({},g);d(e,{index:k,siblings:b.children.length,visible:b.visible});h=q(h,e);A.push(h);h.visible&&(m+=h.val)});b.visible=0r.lP.lR&&e.algorithmCalcPoints(a,!1,r,f,p);g===h&&e.algorithmCalcPoints(a,!0,r,f,p);g+=1});return f},algorithmFill:function(a,c,b){var f=[],e,d=c.direction,p=c.x,g=c.y,r=c.width,h=c.height,t,m,k,q;b.forEach(function(b){e=b.val/c.val*c.height*c.width;t=p;m=g;0===d?(q=h,k=e/q,r-=k,p+=k):(k=r,q=e/k,h-=q,g+=q);f.push({x:t,y:m,width:k,height:q});a&&(d=1-d)});return f},strip:function(a,c){return this.algorithmLowAspectRatio(!1, a,c)},squarified:function(a,c){return this.algorithmLowAspectRatio(!0,a,c)},sliceAndDice:function(a,c){return this.algorithmFill(!0,a,c)},stripes:function(a,c){return this.algorithmFill(!1,a,c)},translate:function(){var a=this,c=a.options,b=J(a),e,d;z.prototype.translate.call(a);d=a.tree=a.getTree();e=a.nodeMap[b];a.renderTraverseUpButton(b);a.mapOptionsToLevel=H({from:e.level+1,levels:c.levels,to:d.height,defaults:{levelIsConstant:a.options.levelIsConstant,colorByPoint:c.colorByPoint}});""===b|| e&&e.children.length||(a.setRootNode("",!1),b=a.rootNode,e=a.nodeMap[b]);t(a.nodeMap[a.rootNode],function(c){var b=!1,e=c.parent;c.visible=!0;if(e||""===e)b=a.nodeMap[e];return b});t(a.nodeMap[a.rootNode].children,function(a){var c=!1;a.forEach(function(a){a.visible=!0;a.children.length&&(c=(c||[]).concat(a.children))});return c});a.setTreeValues(d);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=b={x:0,y:0,width:100,height:100};a.nodeMap[""].values=b=v(b,{width:b.width*a.axisRatio, direction:"vertical"===c.layoutStartingDirection?0:1,val:d.val});a.calculateChildrenAreas(d,b);a.colorAxis?a.translateColors():c.colorByPoint||a.setColorRecursive(a.tree);c.allowTraversingTree&&(c=e.pointValues,a.xAxis.setExtremes(c.x,c.x+c.width,!1),a.yAxis.setExtremes(c.y,c.y+c.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,c=a.mapOptionsToLevel,b,e;a.points.filter(function(a){return a.node.visible}).forEach(function(f){e=c[f.node.level]; b={style:{}};f.node.isLeaf||(b.enabled=!1);e&&e.dataLabels&&(b=v(b,e.dataLabels),a._hasPointLabels=!0);f.shapeArgs&&(b.style.width=f.shapeArgs.width,f.dataLabel&&f.dataLabel.css({width:f.shapeArgs.width+"px"}));f.dlOptions=v(b,f.options.dataLabels)});z.prototype.drawDataLabels.call(this)},alignDataLabel:function(a,c,e){var f=e.style;!b.defined(f.textOverflow)&&c.text&&c.getBBox().width>c.text.textWidth&&c.css({textOverflow:"ellipsis",width:f.width+="px"});k.column.prototype.alignDataLabel.apply(this, arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})},pointAttribs:function(a,c){var b=m(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},e=a&&b[a.node.level]||{},b=this.options,d=c&&b.states[c]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||e.borderColor||d.borderColor||b.borderColor,"stroke-width":u(a&&a.borderWidth,e.borderWidth,d.borderWidth,b.borderWidth),dashstyle:a&&a.borderDashStyle||e.borderDashStyle||d.borderDashStyle||b.borderDashStyle,fill:a&&a.color||this.color}; -1!==g.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(c=u(d.opacity,b.opacity),a.fill=p(a.fill).setOpacity(c).get(),a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":c&&(a.fill=p(a.fill).brighten(d.brightness).get());return a},drawPoints:function(){var a=this,c=a.chart,b=c.renderer,e=c.styledMode,d=a.options,p=e?{}:d.shadow,g=d.borderRadius,r=c.pointCounte.innerArcLength&&e.outerArcLength>k.radius?F=0:B=11.5*k.radius?"parallel":"perpendicular"),"auto"!==B&&(F=k.end-(k.end-k.start)/2),r.style.width= "parallel"===B?Math.min(2.5*k.radius,(e.outerArcLength+e.innerArcLength)/2):k.radius,"perpendicular"===B&&e.series.chart.renderer.fontMetrics(r.style.fontSize).h>e.outerArcLength&&(r.style.width=1),r.style.width=Math.max(r.style.width-2*(r.padding||0),1),F=F*D%180,"parallel"===B&&(F-=90),90F&&(F+=180),r.rotation=F);0===r.rotation&&(r.rotation=.001);e.dlOptions=r;!G&&z&&(G=!0,y=A);e.draw({animatableAttribs:p,attribs:E(l,!v.styledMode&&b.pointAttribs(e,e.selected&&"select")),onComplete:y, group:m,renderer:C,shapeType:"arc",shapeArgs:t})});y&&G?(b.hasRendered=!1,b.options.dataLabels.defer=!0,k.prototype.drawDataLabels.call(b),b.hasRendered=!0,z&&A()):k.prototype.drawDataLabels.call(b)},pointAttribs:b.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(b,d,h){var e=b.start,k=b.end-e,a=b.val,c=b.x,f=b.y,l=h&&I(h.levelSize)&&g(h.levelSize.value)?h.levelSize.value:0,p=b.r,r=p+l,m=h&&g(h.slicedOffset)?h.slicedOffset:0;return(d||[]).reduce(function(b,d){var g=1/a*d.val*k,h= e+g/2,n=c+Math.cos(h)*m,h=f+Math.sin(h)*m;d={x:d.sliced?n:c,y:d.sliced?h:f,innerR:p,r:r,radius:l,start:e,end:e+g};b.push(d);e=d.end;return b},[])},setShapeArgs:function(b,d,h){var e=[],g=h[b.level+1];b=b.children.filter(function(a){return a.visible});e=this.layoutAlgorithm(d,b,g);b.forEach(function(a,b){b=e[b];var c=b.start+(b.end-b.start)/2,d=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start,d=0===b.innerR&&6.28a.val?a.childrenTotal: a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=H(b,{plotX:d.x,plotY:d.y+4*Math.abs(Math.cos(c))});a.values=H(b,{val:k});a.children.length&&this.setShapeArgs(a,a.values,h)},this)},translate:function(){var b=this.options,d=this.center=v.call(this),g=this.startAndEndRadians=C(b.startAngle,b.endAngle),h=d[3]/2,w=d[2]/2-h,a=m(this),c=this.nodeMap,f,l=c&&c[a],n,x;this.shapeRoot=l&&l.shapeArgs;k.prototype.translate.call(this); x=this.tree=this.getTree();this.renderTraverseUpButton(a);c=this.nodeMap;l=c[a];f=L(l.parent)?l.parent:"";n=c[f];f=q({from:0