/* Highcharts JS v6.1.0 (2018-04-13) 3D features for Highcharts JS @license: www.highcharts.com/license */ (function(C){"object"===typeof module&&module.exports?module.exports=C:C(Highcharts)})(function(C){(function(b){var p=b.deg2rad,B=b.pick;b.perspective=function(n,v,A){var x=v.options.chart.options3d,f=A?v.inverted:!1,y=v.plotWidth/2,u=v.plotHeight/2,r=x.depth/2,k=B(x.depth,1)*B(x.viewDistance,0),a=v.scale3d||1,e=p*x.beta*(f?-1:1),x=p*x.alpha*(f?-1:1),g=Math.cos(x),m=Math.cos(-e),d=Math.sin(x),c=Math.sin(-e);A||(y+=v.plotLeft,u+=v.plotTop);return b.map(n,function(b){var e,t;t=(f?b.y:b.x)-y;var w=(f? b.x:b.y)-u,F=(b.z||0)-r;e=m*t-c*F;b=-d*c*t+g*w-m*d*F;t=g*c*t+d*w+g*m*F;w=0b&&e-b>Math.PI/2+.0001?(z=z.concat(p(a,c,h,d,b,b+Math.PI/2,g,k)),z=z.concat(p(a,c,h,d,b+Math.PI/2,e,g,k))):eMath.PI/2+.0001?(z=z.concat(p(a,c,h,d,b,b-Math.PI/2,g,k)),z=z.concat(p(a,c,h,d,b-Math.PI/2,e,g,k))):["C",a+h*Math.cos(b)-h*t*w*Math.sin(b)+g,c+d*Math.sin(b)+d*t*w*Math.cos(b)+k,a+h*Math.cos(e)+h*t*w*Math.sin(e)+g,c+d*Math.sin(e)- d*t*w*Math.cos(e)+k,a+h*Math.cos(e)+g,c+d*Math.sin(e)+k]}var B=Math.cos,n=Math.PI,v=Math.sin,A=b.animObject,x=b.charts,f=b.color,y=b.defined,u=b.deg2rad,r=b.each,k=b.extend,a=b.inArray,e=b.map,g=b.merge,m=b.perspective,d=b.pick,c=b.SVGElement,l=b.SVGRenderer,q=b.wrap,t=4*(Math.sqrt(2)-1)/3/(n/2);q(l.prototype,"init",function(a){a.apply(this,[].slice.call(arguments,1));r([{name:"darker",slope:.6},{name:"brighter",slope:1.4}],function(a){this.definition({tagName:"filter",id:"highcharts-"+a.name,children:[{tagName:"feComponentTransfer", children:[{tagName:"feFuncR",type:"linear",slope:a.slope},{tagName:"feFuncG",type:"linear",slope:a.slope},{tagName:"feFuncB",type:"linear",slope:a.slope}]}]})},this)});l.prototype.toLinePath=function(a,c){var d=[];r(a,function(a){d.push("L",a.x,a.y)});a.length&&(d[0]="M",c&&d.push("Z"));return d};l.prototype.toLineSegments=function(a){var c=[],d=!0;r(a,function(a){c.push(d?"M":"L",a.x,a.y);d=!d});return c};l.prototype.face3d=function(a){var c=this,h=this.createElement("path");h.vertexes=[];h.insidePlotArea= !1;h.enabled=!0;q(h,"attr",function(a,h){if("object"===typeof h&&(y(h.enabled)||y(h.vertexes)||y(h.insidePlotArea))){this.enabled=d(h.enabled,this.enabled);this.vertexes=d(h.vertexes,this.vertexes);this.insidePlotArea=d(h.insidePlotArea,this.insidePlotArea);delete h.enabled;delete h.vertexes;delete h.insidePlotArea;var z=m(this.vertexes,x[c.chartIndex],this.insidePlotArea),e=c.toLinePath(z,!0),z=b.shapeArea(z),z=this.enabled&&0d.faces.length;)h.faces.pop().destroy();for(;h.faces.lengthd.faces.length;)h.faces.pop().destroy();for(;h.faces.lengthb.shapeArea(a)? h=[a,0]:0>b.shapeArea(c)&&(h=[c,1]);return h};l=f([3,2,1,0],[7,6,5,4]);a=l[0];r=l[1];l=f([1,6,7,0],[4,5,2,3]);q=l[0];t=l[1];l=f([1,2,5,6],[0,7,4,3]);f=l[0];l=l[1];1===l?v+=1E4*(1E3-c):l||(v+=1E4*c);v+=10*(!t||0<=n&&180>=n||360>n&&357.5Math.PI&&(a=2*Math.PI-a);return a}var c=a.x,b=a.y,e=a.start,g=a.end-.00001,k=a.r,q=a.innerR,r=a.depth,l=a.alpha,m=a.beta,t=Math.cos(e),w=Math.sin(e);a=Math.cos(g);var f=Math.sin(g),x=k*Math.cos(m),k=k*Math.cos(l),u=q*Math.cos(m), y=q*Math.cos(l),q=r*Math.sin(m),A=r*Math.sin(l),r=["M",c+x*t,b+k*w],r=r.concat(p(c,b,x,k,e,g,0,0)),r=r.concat(["L",c+u*a,b+y*f]),r=r.concat(p(c,b,u,y,g,e,0,0)),r=r.concat(["Z"]),C=0-C?e:g>-C?-C:e,D=gE&&en-m&&el&&(h=Math.min(h,1-Math.abs((a+d)/(l+d))%1));er&&(h=0>r?Math.min(h, (g+c)/(-r+g+c)):Math.min(h,1-(g+c)/(r+c)%1));ma?-1:0},q=l([{x:e,y:d,z:c},{x:g,y:d,z:c},{x:g,y:d,z:0},{x:e,y:d,z:0}]),t=l([{x:e,y:m,z:0},{x:g,y:m,z:0},{x:g,y:m,z:c},{x:e,y:m,z:c}]),w= l([{x:e,y:m,z:0},{x:e,y:m,z:c},{x:e,y:d,z:c},{x:e,y:d,z:0}]),n=l([{x:g,y:m,z:c},{x:g,y:m,z:0},{x:g,y:d,z:0},{x:g,y:d,z:c}]),h=l([{x:e,y:d,z:0},{x:g,y:d,z:0},{x:g,y:m,z:0},{x:e,y:m,z:0}]),l=l([{x:e,y:m,z:c},{x:g,y:m,z:c},{x:g,y:d,z:c},{x:e,y:d,z:c}]),z=!1,u=!1,A=!1,y=!1;v([].concat(r.xAxis,r.yAxis,r.zAxis),function(a){a&&(a.horiz?a.opposite?u=!0:z=!0:a.opposite?y=!0:A=!0)});var p=function(a,c,d){for(var b=["size","color","visible"],e={},g=0;g d*e[b][c]?b=g:d*e[g][c]===d*e[b][c]&&e[g].zthis.pos&&(b.isArray(this.start)||b.isArray(this.end))){var k=this.start||[1,0,0,1,0,0],a=this.end||[1,0,0,1,0,0];f=[];for(var e=0;6>e;e++)f.push(this.pos*a[e]+(1-this.pos)*k[e])}else f=this.end;this.elem.attr(this.prop,f,null,!0)}})(C);(function(b){function p(d,c,b){if(!d.chart.is3d()||"colorAxis"===d.coll)return c;var e=d.chart,g=x*e.options.chart.options3d.alpha,l=x*e.options.chart.options3d.beta,m=k(b&&d.options.title.position3d,d.options.labels.position3d);b=k(b&&d.options.title.skew3d, d.options.labels.skew3d);var h=e.frame3d,f=e.plotLeft,n=e.plotWidth+f,v=e.plotTop,A=e.plotHeight+v,e=!1,u=0,y=0,p={x:0,y:1,z:0};c=d.swapZ({x:c.x,y:c.y,z:0});if(d.isZAxis)if(d.opposite){if(null===h.axes.z.top)return{};y=c.y-v;c.x=h.axes.z.top.x;c.y=h.axes.z.top.y;f=h.axes.z.top.xDir;e=!h.top.frontFacing}else{if(null===h.axes.z.bottom)return{};y=c.y-A;c.x=h.axes.z.bottom.x;c.y=h.axes.z.bottom.y;f=h.axes.z.bottom.xDir;e=!h.bottom.frontFacing}else if(d.horiz)if(d.opposite){if(null===h.axes.x.top)return{}; y=c.y-v;c.y=h.axes.x.top.y;c.z=h.axes.x.top.z;f=h.axes.x.top.xDir;e=!h.top.frontFacing}else{if(null===h.axes.x.bottom)return{};y=c.y-A;c.y=h.axes.x.bottom.y;c.z=h.axes.x.bottom.z;f=h.axes.x.bottom.xDir;e=!h.bottom.frontFacing}else if(d.opposite){if(null===h.axes.y.right)return{};u=c.x-n;c.x=h.axes.y.right.x;c.z=h.axes.y.right.z;f=h.axes.y.right.xDir;f={x:f.z,y:f.y,z:-f.x}}else{if(null===h.axes.y.left)return{};u=c.x-f;c.x=h.axes.y.left.x;c.z=h.axes.y.left.z;f=h.axes.y.left.xDir}"chart"!==m&&("flap"=== m?d.horiz?(l=Math.sin(g),g=Math.cos(g),d.opposite&&(l=-l),e&&(l=-l),p={x:f.z*l,y:g,z:-f.x*l}):f={x:Math.cos(l),y:0,z:Math.sin(l)}:"ortho"===m?d.horiz?(p=Math.cos(g),m=Math.sin(l)*p,g=-Math.sin(g),l=-p*Math.cos(l),p={x:f.y*l-f.z*g,y:f.z*m-f.x*l,z:f.x*g-f.y*m},g=1/Math.sqrt(p.x*p.x+p.y*p.y+p.z*p.z),e&&(g=-g),p={x:g*p.x,y:g*p.y,z:g*p.z}):f={x:Math.cos(l),y:0,z:Math.sin(l)}:d.horiz?p={x:Math.sin(l)*Math.sin(g),y:Math.cos(g),z:-Math.cos(l)*Math.sin(g)}:f={x:Math.cos(l),y:0,z:Math.sin(l)});c.x+=u*f.x+y* p.x;c.y+=u*f.y+y*p.y;c.z+=u*f.z+y*p.z;e=r([c],d.chart)[0];b?(0>a(r([c,{x:c.x+f.x,y:c.y+f.y,z:c.z+f.z},{x:c.x+p.x,y:c.y+p.y,z:c.z+p.z}],d.chart))&&(f={x:-f.x,y:-f.y,z:-f.z}),d=r([{x:c.x,y:c.y,z:c.z},{x:c.x+f.x,y:c.y+f.y,z:c.z+f.z},{x:c.x+p.x,y:c.y+p.y,z:c.z+p.z}],d.chart),e.matrix=[d[1].x-d[0].x,d[1].y-d[0].y,d[2].x-d[0].x,d[2].y-d[0].y,e.x,e.y],e.matrix[4]-=e.x*e.matrix[0]+e.y*e.matrix[2],e.matrix[5]-=e.x*e.matrix[1]+e.y*e.matrix[3]):e.matrix=null;return e}var B,n=b.addEvent,v=b.Axis,A=b.Chart,x= b.deg2rad,f=b.each,y=b.extend,u=b.merge,r=b.perspective,k=b.pick,a=b.shapeArea,e=b.splat,g=b.Tick,m=b.wrap;u(!0,v.prototype.defaultOptions,{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}});n(v,"afterSetOptions",function(){var a;this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll&&(a=this.options,a.tickWidth=k(a.tickWidth,0),a.gridLineWidth=k(a.gridLineWidth,1))});m(v.prototype,"getPlotLinePath",function(a){var c=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()|| "colorAxis"===this.coll||null===c)return c;var d=this.chart,b=d.options.chart.options3d,b=this.isZAxis?d.plotWidth:b.depth,d=d.frame3d,c=[this.swapZ({x:c[1],y:c[2],z:0}),this.swapZ({x:c[1],y:c[2],z:b}),this.swapZ({x:c[4],y:c[5],z:0}),this.swapZ({x:c[4],y:c[5],z:b})],b=[];this.horiz?(this.isZAxis?(d.left.visible&&b.push(c[0],c[2]),d.right.visible&&b.push(c[1],c[3])):(d.front.visible&&b.push(c[0],c[2]),d.back.visible&&b.push(c[1],c[3])),d.top.visible&&b.push(c[0],c[1]),d.bottom.visible&&b.push(c[2], c[3])):(d.front.visible&&b.push(c[0],c[2]),d.back.visible&&b.push(c[1],c[3]),d.left.visible&&b.push(c[0],c[1]),d.right.visible&&b.push(c[2],c[3]));b=r(b,this.chart,!1);return this.chart.renderer.toLineSegments(b)});m(v.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))});m(v.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var c=arguments, b=c[2],d=[],c=this.getPlotLinePath(c[1]),b=this.getPlotLinePath(b);if(c&&b)for(var e=0;e=p.min&&y<=p.max:!1):f.plotZ=0,x.push({x:n(f.plotXold,f.plotX),y:n(f.plotYold,f.plotY),z:n(f.plotZold,f.plotZ)});b=B(x,b,!0);for(u= 0;um&&(c[d[1]]+=c[d[0]]+f,c[d[0]]=-f,m=0);m+c[d[1]]>b[d[0]+"Axis"].len&&0!==c[d[1]]&&(c[d[1]]=b[d[0]+"Axis"].len-c[d[0]]);if(0!==c[d[1]]&&(c[d[0]]>=b[d[0]+"Axis"].len||c[d[0]]+c[d[1]]<=f)){for(var e in c)c[e]=0;a.outside3dPlot=!0}});a.shapeType="cuboid";c.z=g;c.depth=e;c.insidePlotArea=!0;d=n([{x:d[0],y:d[1],z:g}],k,!0)[0];a.tooltipPos=[d.x,d.y]}});b.z=g};u(x.column.prototype,"animate",function(b){if(this.chart.is3d()){var f= arguments[1],a=this.yAxis,e=this,g=this.yAxis.reversed;y&&(f?B(e.data,function(b){null!==b.y&&(b.height=b.shapeArgs.height,b.shapey=b.shapeArgs.y,b.shapeArgs.height=1,g||(b.shapeArgs.y=b.stackY?b.plotY+a.translate(b.stackY):b.plotY+(b.negative?-b.height:b.height)))}):(B(e.data,function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,e.options.animation))}),this.drawDataLabels(),e.animate=null))}else b.apply(this,[].slice.call(arguments,1))}); u(x.column.prototype,"plotGroup",function(b,f,a,e,g,m){this.chart.is3d()&&m&&!this[f]&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(m)),this[f]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[f].survive=!0);return b.apply(this,Array.prototype.slice.call(arguments,1))});u(x.column.prototype,"setVisible",function(b,k){var a=this,e;a.chart.is3d()&&B(a.data,function(b){e=(b.visible=b.options.visible=k=void 0===k?!b.visible:k)?"visible": "hidden";a.options.data[f(b,a.data)]=b.options;b.graphic&&b.graphic.attr({visibility:e})});b.apply(this,Array.prototype.slice.call(arguments,1))});x.column.prototype.handle3dGrouping=!0;p(A,"afterInit",function(){if(this.chart.is3d()&&this.handle3dGrouping){var b=this.options,f=b.grouping,a=b.stacking,e=v(this.yAxis.options.reversedStacks,!0),g=0;if(void 0===f||f){f=this.chart.retrieveStacks(a);g=b.stack||0;for(a=0;a