text: /*
   Highcharts JS v5.0.10 custom build (2017-04-22)
  
   (c) 2009-2016 Torstein Honsi
  
   License: www.highcharts.com/license
  */
  (function(I,a){"object"===typeof module&&module.exports?module.exports=I.document?a(I):a:I.Highcharts=a(I)})("undefined"!==typeof window?window:this,function(I){I=function(){var a=window,E=a.document,y=a.navigator&&a.navigator.userAgent||"",C=E&&E.createElementNS&&!!E.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,D=/(edge|msie|trident)/i.test(y)&&!window.opera,t=!C,p=/Firefox/.test(y),r=p&&4>parseInt(y.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",
  version:"5.0.10 custom build",deg2rad:2*Math.PI/360,doc:E,hasBidiBug:r,hasTouch:E&&void 0!==E.documentElement.ontouchstart,isMS:D,isWebKit:/AppleWebKit/.test(y),isFirefox:p,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,vml:t,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var E=[],y=a.charts,C=a.doc,D=a.win;a.error=function(t,p){t=a.isNumber(t)?
  "Highcharts error #"+t+": www.highcharts.com/errors/"+t:t;if(p)throw Error(t);D.console&&console.log(t)};a.Fx=function(a,p,r){this.options=p;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],p=this.paths[1],r=[],m=this.now,f=a.length,h;if(1===m)r=this.toD;else if(f===p.length&&1>m)for(;f--;)h=parseFloat(a[f]),r[f]=isNaN(h)?a[f]:m*parseFloat(p[f]-h)+h;else r=p;this.elem.attr("d",r,null,!0)},update:function(){var a=this.elem,p=this.prop,r=this.now,m=this.options.step;if(this[p+
  "Setter"])this[p+"Setter"]();else a.attr?a.element&&a.attr(p,r,null,!0):a.style[p]=r+this.unit;m&&m.call(a,r,this)},run:function(a,p,r){var m=this,f=function(a){return f.stopped?!1:m.step(a)},h;this.startTime=+new Date;this.start=a;this.end=p;this.unit=r;this.now=this.start;this.pos=0;f.elem=this.elem;f.prop=this.prop;f()&&1===E.push(f)&&(f.timerId=setInterval(function(){for(h=0;h<E.length;h++)E[h]()||E.splice(h--,1);E.length||clearInterval(f.timerId)},13))},step:function(a){var t=+new Date,r,m=this.options;
  r=this.elem;var f=m.complete,h=m.duration,e=m.curAnim,b;if(r.attr&&!r.element)r=!1;else if(a||t>=h+this.startTime){this.now=this.end;this.pos=1;this.update();a=e[this.prop]=!0;for(b in e)!0!==e[b]&&(a=!1);a&&f&&f.call(r);r=!1}else this.pos=m.easing((t-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),r=!0;return r},initPath:function(t,p,r){function m(a){var c,k;for(n=a.length;n--;)c="M"===a[n]||"L"===a[n],k=/[a-zA-Z]/.test(a[n+3]),c&&k&&a.splice(n+1,0,a[n+1],a[n+
  2],a[n+1],a[n+2])}function f(a,c){for(;a.length<B;){a[0]=c[B-a.length];var d=a.slice(0,g);[].splice.apply(a,[0,0].concat(d));z&&(d=a.slice(a.length-g),[].splice.apply(a,[a.length,0].concat(d)),n--)}a[0]="M"}function h(a,c){for(var k=(B-a.length)/g;0<k&&k--;)d=a.slice().splice(a.length/v-g,g*v),d[0]=c[B-g-k*g],q&&(d[g-6]=d[g-2],d[g-5]=d[g-1]),[].splice.apply(a,[a.length/v,0].concat(d)),z&&k--}p=p||"";var e,b=t.startX,l=t.endX,q=-1<p.indexOf("C"),g=q?7:3,B,d,n;p=p.split(" ");r=r.slice();var z=t.isArea,
  v=z?2:1,c;q&&(m(p),m(r));if(b&&l){for(n=0;n<b.length;n++)if(b[n]===l[0]){e=n;break}else if(b[0]===l[l.length-b.length+n]){e=n;c=!0;break}void 0===e&&(p=[])}p.length&&a.isNumber(e)&&(B=r.length+e*v*g,c?(f(p,r),h(r,p)):(f(r,p),h(p,r)));return[p,r]}};a.extend=function(a,p){var t;a||(a={});for(t in p)a[t]=p[t];return a};a.merge=function(){var t,p=arguments,r,m={},f=function(h,e){var b,l;"object"!==typeof h&&(h={});for(l in e)e.hasOwnProperty(l)&&(b=e[l],a.isObject(b,!0)&&"renderTo"!==l&&"number"!==typeof b.nodeType?
  h[l]=f(h[l]||{},b):h[l]=e[l]);return h};!0===p[0]&&(m=p[1],p=Array.prototype.slice.call(p,2));r=p.length;for(t=0;t<r;t++)m=f(m,p[t]);return m};a.pInt=function(a,p){return parseInt(a,p||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(t,p){return t&&"object"===typeof t&&(!p||!a.isArray(t))};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=
  function(a,p){for(var t=a.length;t--;)if(a[t]===p){a.splice(t,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(t,p,r){var m,f;if(a.isString(p))a.defined(r)?t.setAttribute(p,r):t&&t.getAttribute&&(f=t.getAttribute(p));else if(a.defined(p)&&a.isObject(p))for(m in p)t.setAttribute(m,p[m]);return f};a.splat=function(t){return a.isArray(t)?t:[t]};a.syncTimeout=function(a,p,r){if(p)return setTimeout(a,p,r);a.call(0,r)};a.pick=function(){var a=arguments,p,r,m=a.length;for(p=
  0;p<m;p++)if(r=a[p],void 0!==r&&null!==r)return r};a.css=function(t,p){a.isMS&&!a.svg&&p&&void 0!==p.opacity&&(p.filter="alpha(opacity\x3d"+100*p.opacity+")");a.extend(t.style,p)};a.createElement=function(t,p,r,m,f){t=C.createElement(t);var h=a.css;p&&a.extend(t,p);f&&h(t,{padding:0,border:"none",margin:0});r&&h(t,r);m&&m.appendChild(t);return t};a.extendClass=function(t,p){var r=function(){};r.prototype=new t;a.extend(r.prototype,p);return r};a.pad=function(a,p,r){return Array((p||2)+1-String(a).length).join(r||
  0)+a};a.relativeLength=function(a,p){return/%$/.test(a)?p*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,p,r){var m=a[p];a[p]=function(){var a=Array.prototype.slice.call(arguments),h=arguments,e=this;e.proceed=function(){m.apply(e,arguments.length?arguments:h)};a.unshift(m);a=r.apply(this,a);e.proceed=null;return a}};a.getTZOffset=function(t){var p=a.Date;return 6E4*(p.hcGetTimezoneOffset&&p.hcGetTimezoneOffset(t)||p.hcTimezoneOffset||0)};a.dateFormat=function(t,p,r){if(!a.defined(p)||isNaN(p))return a.defaultOptions.lang.invalidDate||
  "";t=a.pick(t,"%Y-%m-%d %H:%M:%S");var m=a.Date,f=new m(p-a.getTZOffset(p)),h,e=f[m.hcGetHours](),b=f[m.hcGetDay](),l=f[m.hcGetDate](),q=f[m.hcGetMonth](),g=f[m.hcGetFullYear](),B=a.defaultOptions.lang,d=B.weekdays,n=B.shortWeekdays,z=a.pad,m=a.extend({a:n?n[b]:d[b].substr(0,3),A:d[b],d:z(l),e:z(l,2," "),w:b,b:B.shortMonths[q],B:B.months[q],m:z(q+1),y:g.toString().substr(2,2),Y:g,H:z(e),k:e,I:z(e%12||12),l:e%12||12,M:z(f[m.hcGetMinutes]()),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:z(f.getSeconds()),L:z(Math.round(p%
  1E3),3)},a.dateFormats);for(h in m)for(;-1!==t.indexOf("%"+h);)t=t.replace("%"+h,"function"===typeof m[h]?m[h](p):m[h]);return r?t.substr(0,1).toUpperCase()+t.substr(1):t};a.formatSingle=function(t,p){var r=/\.([0-9])/,m=a.defaultOptions.lang;/f$/.test(t)?(r=(r=t.match(r))?r[1]:-1,null!==p&&(p=a.numberFormat(p,r,m.decimalPoint,-1<t.indexOf(",")?m.thousandsSep:""))):p=a.dateFormat(t,p);return p};a.format=function(t,p){for(var r="{",m=!1,f,h,e,b,l=[],q;t;){r=t.indexOf(r);if(-1===r)break;f=t.slice(0,
  r);if(m){f=f.split(":");h=f.shift().split(".");b=h.length;q=p;for(e=0;e<b;e++)q=q[h[e]];f.length&&(q=a.formatSingle(f.join(":"),q));l.push(q)}else l.push(f);t=t.slice(r+1);r=(m=!m)?"}":"{"}l.push(t);return l.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(t,p,r,m,f){var h,e=t;r=a.pick(r,1);h=t/r;p||(p=f?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===m&&(1===r?p=a.grep(p,function(a){return 0===a%1}):.1>=r&&(p=[1/r])));
  for(m=0;m<p.length&&!(e=p[m],f&&e*r>=t||!f&&h<=(p[m]+(p[m+1]||p[m]))/2);m++);return e=a.correctFloat(e*r,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,p){var r=a.length,m,f;for(f=0;f<r;f++)a[f].safeI=f;a.sort(function(a,e){m=p(a,e);return 0===m?a.safeI-e.safeI:m});for(f=0;f<r;f++)delete a[f].safeI};a.arrayMin=function(a){for(var p=a.length,r=a[0];p--;)a[p]<r&&(r=a[p]);return r};a.arrayMax=function(a){for(var p=a.length,r=a[0];p--;)a[p]>r&&(r=a[p]);return r};a.destroyObjectProperties=
  function(a,p){for(var r in a)a[r]&&a[r]!==p&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(t){var p=a.garbageBin;p||(p=a.createElement("div"));t&&p.appendChild(t);p.innerHTML=""};a.correctFloat=function(a,p){return parseFloat(a.toPrecision(p||14))};a.setAnimation=function(t,p){p.renderer.globalAnimation=a.pick(t,p.options.chart.animation,!0)};a.animObject=function(t){return a.isObject(t)?a.merge(t):{duration:t?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,
  day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(t,p,r,m){t=+t||0;p=+p;var f=a.defaultOptions.lang,h=(t.toString().split(".")[1]||"").length,e,b;-1===p?p=Math.min(h,20):a.isNumber(p)||(p=2);b=(Math.abs(t)+Math.pow(10,-Math.max(p,h)-1)).toFixed(p);h=String(a.pInt(b));e=3<h.length?h.length%3:0;r=a.pick(r,f.decimalPoint);m=a.pick(m,f.thousandsSep);t=(0>t?"-":"")+(e?h.substr(0,e)+m:"");t+=h.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+m);p&&(t+=r+b.slice(-p));return t};Math.easeInOutSine=
  function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(t,p){return"width"===p?Math.min(t.offsetWidth,t.scrollWidth)-a.getStyle(t,"padding-left")-a.getStyle(t,"padding-right"):"height"===p?Math.min(t.offsetHeight,t.scrollHeight)-a.getStyle(t,"padding-top")-a.getStyle(t,"padding-bottom"):(t=D.getComputedStyle(t,void 0))&&a.pInt(t.getPropertyValue(p))};a.inArray=function(a,p){return p.indexOf?p.indexOf(a):[].indexOf.call(p,a)};a.grep=function(a,p){return[].filter.call(a,p)};a.find=function(a,
  p){return[].find.call(a,p)};a.map=function(a,p){for(var r=[],m=0,f=a.length;m<f;m++)r[m]=p.call(a[m],a[m],m,a);return r};a.offset=function(a){var p=C.documentElement;a=a.getBoundingClientRect();return{top:a.top+(D.pageYOffset||p.scrollTop)-(p.clientTop||0),left:a.left+(D.pageXOffset||p.scrollLeft)-(p.clientLeft||0)}};a.stop=function(a,p){for(var r=E.length;r--;)E[r].elem!==a||p&&p!==E[r].prop||(E[r].stopped=!0)};a.each=function(a,p,r){return Array.prototype.forEach.call(a,p,r)};a.addEvent=function(t,
  p,r){function m(a){a.target=a.srcElement||D;r.call(t,a)}var f=t.hcEvents=t.hcEvents||{};t.addEventListener?t.addEventListener(p,r,!1):t.attachEvent&&(t.hcEventsIE||(t.hcEventsIE={}),t.hcEventsIE[r.toString()]=m,t.attachEvent("on"+p,m));f[p]||(f[p]=[]);f[p].push(r);return function(){a.removeEvent(t,p,r)}};a.removeEvent=function(t,p,r){function m(a,b){t.removeEventListener?t.removeEventListener(a,b,!1):t.attachEvent&&(b=t.hcEventsIE[b.toString()],t.detachEvent("on"+a,b))}function f(){var a,b;if(t.nodeName)for(b in p?
  (a={},a[p]=!0):a=e,a)if(e[b])for(a=e[b].length;a--;)m(b,e[b][a])}var h,e=t.hcEvents,b;e&&(p?(h=e[p]||[],r?(b=a.inArray(r,h),-1<b&&(h.splice(b,1),e[p]=h),m(p,r)):(f(),e[p]=[])):(f(),t.hcEvents={}))};a.fireEvent=function(t,p,r,m){var f;f=t.hcEvents;var h,e;r=r||{};if(C.createEvent&&(t.dispatchEvent||t.fireEvent))f=C.createEvent("Events"),f.initEvent(p,!0,!0),a.extend(f,r),t.dispatchEvent?t.dispatchEvent(f):t.fireEvent(p,f);else if(f)for(f=f[p]||[],h=f.length,r.target||a.extend(r,{preventDefault:function(){r.defaultPrevented=
  !0},target:t,type:p}),p=0;p<h;p++)(e=f[p])&&!1===e.call(t,r)&&r.preventDefault();m&&!r.defaultPrevented&&m(r)};a.animate=function(t,p,r){var m,f="",h,e,b;a.isObject(r)||(m=arguments,r={duration:m[2],easing:m[3],complete:m[4]});a.isNumber(r.duration)||(r.duration=400);r.easing="function"===typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine;r.curAnim=a.merge(p);for(b in p)a.stop(t,b),e=new a.Fx(t,r,b),h=null,"d"===b?(e.paths=e.initPath(t,t.d,p.d),e.toD=p.d,m=0,h=1):t.attr?m=t.attr(b):(m=parseFloat(a.getStyle(t,
  b))||0,"opacity"!==b&&(f="px")),h||(h=p[b]),h&&h.match&&h.match("px")&&(h=h.replace(/px/g,"")),e.run(m,h,f)};a.seriesType=function(t,p,r,m,f){var h=a.getOptions(),e=a.seriesTypes;h.plotOptions[t]=a.merge(h.plotOptions[p],r);e[t]=a.extendClass(e[p]||function(){},m);e[t].prototype.type=t;f&&(e[t].prototype.pointClass=a.extendClass(a.Point,f));return e[t]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),p=0;return function(){return"highcharts-"+a+"-"+p++}}();D.jQuery&&(D.jQuery.fn.highcharts=
  function(){var t=[].slice.call(arguments);if(this[0])return t[0]?(new (a[a.isString(t[0])?t.shift():"Chart"])(this[0],t[0],t[1]),this):y[a.attr(this[0],"data-highcharts-chart")]});C&&!C.defaultView&&(a.getStyle=function(t,p){var r={width:"clientWidth",height:"clientHeight"}[p];if(t.style[p])return a.pInt(t.style[p]);"opacity"===p&&(p="filter");if(r)return t.style.zoom=1,Math.max(t[r]-2*a.getStyle(t,"padding"),0);t=t.currentStyle[p.replace(/\-(\w)/g,function(a,f){return f.toUpperCase()})];"filter"===
  p&&(t=t.replace(/alpha\(opacity=([0-9]+)\)/,function(a,f){return f/100}));return""===t?1:a.pInt(t)});Array.prototype.forEach||(a.each=function(a,p,r){for(var m=0,f=a.length;m<f;m++)if(!1===p.call(r,a[m],m,a))return m});Array.prototype.indexOf||(a.inArray=function(a,p){var r,m=0;if(p)for(r=p.length;m<r;m++)if(p[m]===a)return m;return-1});Array.prototype.filter||(a.grep=function(a,p){for(var r=[],m=0,f=a.length;m<f;m++)p(a[m],m)&&r.push(a[m]);return r});Array.prototype.find||(a.find=function(a,p){var r,
  m=a.length;for(r=0;r<m;r++)if(p(a[r],r))return a[r]})})(I);(function(a){var E=a.each,y=a.isNumber,C=a.map,D=a.merge,t=a.pInt;a.Color=function(p){if(!(this instanceof a.Color))return new a.Color(p);this.init(p)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[t(a[1]),t(a[2]),t(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[t(a[1]),
  t(a[2]),t(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(p){var r,m,f,h;if((this.input=p=this.names[p&&p.toLowerCase?p.toLowerCase():""]||p)&&p.stops)this.stops=C(p.stops,function(e){return new a.Color(e[1])});else if(p&&"#"===p[0]&&(r=p.length,p=parseInt(p.substr(1),16),7===r?m=[(p&16711680)>>16,(p&65280)>>8,p&255,1]:4===r&&(m=[(p&3840)>>4|(p&3840)>>8,(p&240)>>4|p&240,(p&15)<<4|p&15,1])),!m)for(f=this.parsers.length;f--&&!m;)h=this.parsers[f],(r=h.regex.exec(p))&&(m=h.parse(r));
  this.rgba=m||[]},get:function(a){var r=this.input,m=this.rgba,f;this.stops?(f=D(r),f.stops=[].concat(f.stops),E(this.stops,function(h,e){f.stops[e]=[f.stops[e][0],h.get(a)]})):f=m&&y(m[0])?"rgb"===a||!a&&1===m[3]?"rgb("+m[0]+","+m[1]+","+m[2]+")":"a"===a?m[3]:"rgba("+m.join(",")+")":r;return f},brighten:function(a){var r,m=this.rgba;if(this.stops)E(this.stops,function(f){f.brighten(a)});else if(y(a)&&0!==a)for(r=0;3>r;r++)m[r]+=t(255*a),0>m[r]&&(m[r]=0),255<m[r]&&(m[r]=255);return this},setOpacity:function(a){this.rgba[3]=
  a;return this}};a.color=function(p){return new a.Color(p)}})(I);(function(a){function E(){var f=a.defaultOptions.global,h=m.moment;if(f.timezone){if(h)return function(a){return-h.tz(a,f.timezone).utcOffset()};a.error(25)}return f.useUTC&&f.getTimezoneOffset}function y(){var f=a.defaultOptions.global,h,e=f.useUTC,b=e?"getUTC":"get",l=e?"setUTC":"set";a.Date=h=f.Date||m.Date;h.hcTimezoneOffset=e&&f.timezoneOffset;h.hcGetTimezoneOffset=E();h.hcMakeTime=function(a,b,f,d,l,z){var g;e?(g=h.UTC.apply(0,
  arguments),g+=t(g)):g=(new h(a,b,r(f,1),r(d,0),r(l,0),r(z,0))).getTime();return g};D("Minutes Hours Day Date Month FullYear".split(" "),function(a){h["hcGet"+a]=b+a});D("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){h["hcSet"+a]=l+a})}var C=a.color,D=a.each,t=a.getTZOffset,p=a.merge,r=a.pick,m=a.win;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],
  lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com/5.0.10 custom build/gfx/vml-radial-gradient.png"},
  chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",
  labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",
  top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:C("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
  pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(f){a.defaultOptions=p(!0,a.defaultOptions,f);y();
  return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;y()})(I);(function(a){var E,y,C=a.addEvent,D=a.animate,t=a.attr,p=a.charts,r=a.color,m=a.css,f=a.createElement,h=a.defined,e=a.deg2rad,b=a.destroyObjectProperties,l=a.doc,q=a.each,g=a.extend,B=a.erase,d=a.grep,n=a.hasTouch,z=a.inArray,v=a.isArray,c=a.isFirefox,k=a.isMS,w=a.isObject,G=a.isString,u=a.isWebKit,F=a.merge,J=a.noop,L=a.pick,K=a.pInt,x=a.removeEvent,H=a.stop,Q=a.svg,
  N=a.SVG_NS,O=a.symbolSizes,M=a.win;E=a.SVGElement=function(){return this};E.prototype={opacity:1,SVG_NS:N,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,c){this.element="span"===c?f(c):l.createElementNS(this.SVG_NS,c);this.renderer=a},animate:function(A,c,d){c=a.animObject(L(c,this.renderer.globalAnimation,!0));0!==c.duration?(d&&(c.complete=d),D(this,A,c)):(this.attr(A,null,d),c.step&&
  c.step.call(this));return this},colorGradient:function(A,c,d){var k=this.renderer,b,g,x,u,f,e,l,w,n,H,P,z=[],G;A.radialGradient?g="radialGradient":A.linearGradient&&(g="linearGradient");if(g){x=A[g];f=k.gradients;l=A.stops;H=d.radialReference;v(x)&&(A[g]=x={x1:x[0],y1:x[1],x2:x[2],y2:x[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===g&&H&&!h(x.gradientUnits)&&(u=x,x=F(x,k.getRadialAttr(H,u),{gradientUnits:"userSpaceOnUse"}));for(P in x)"id"!==P&&z.push(P,x[P]);for(P in l)z.push(l[P]);z=z.join(",");
  f[z]?H=f[z].attr("id"):(x.id=H=a.uniqueKey(),f[z]=e=k.createElement(g).attr(x).add(k.defs),e.radAttr=u,e.stops=[],q(l,function(A){0===A[1].indexOf("rgba")?(b=a.color(A[1]),w=b.get("rgb"),n=b.get("a")):(w=A[1],n=1);A=k.createElement("stop").attr({offset:A[0],"stop-color":w,"stop-opacity":n}).add(e);e.stops.push(A)}));G="url("+k.url+"#"+H+")";d.setAttribute(c,G);d.gradient=z;A.toString=function(){return G}}},applyTextOutline:function(A){var c=this.element,d,k,b,x,g;-1!==A.indexOf("contrast")&&(A=A.replace(/contrast/g,
  this.renderer.getContrast(c.style.fill)));A=A.split(" ");k=A[A.length-1];if((b=A[0])&&"none"!==b&&a.svg){this.fakeTS=!0;A=[].slice.call(c.getElementsByTagName("tspan"));this.ySetter=this.xSetter;b=b.replace(/(^[\d\.]+)(.*?)$/g,function(a,A,c){return 2*A+c});for(g=A.length;g--;)d=A[g],"highcharts-text-outline"===d.getAttribute("class")&&B(A,c.removeChild(d));x=c.firstChild;q(A,function(a,A){0===A&&(a.setAttribute("x",c.getAttribute("x")),A=c.getAttribute("y"),a.setAttribute("y",A||0),null===A&&c.setAttribute("y",
  0));a=a.cloneNode(1);t(a,{"class":"highcharts-text-outline",fill:k,stroke:k,"stroke-width":b,"stroke-linejoin":"round"});c.insertBefore(a,x)})}},attr:function(a,c,d,k){var A,b=this.element,x,g=this,u;"string"===typeof a&&void 0!==c&&(A=a,a={},a[A]=c);if("string"===typeof a)g=(this[a+"Getter"]||this._defaultGetter).call(this,a,b);else{for(A in a)c=a[A],u=!1,k||H(this,A),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(A)&&(x||(this.symbolAttr(a),x=!0),u=!0),!this.rotation||
  "x"!==A&&"y"!==A||(this.doTransform=!0),u||(u=this[A+"Setter"]||this._defaultSetter,u.call(this,c,A,b),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(A)&&this.updateShadows(A,c,u));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}d&&d();return g},updateShadows:function(a,c,d){for(var A=this.shadows,k=A.length;k--;)d.call(A[k],"height"===a?Math.max(c-(A[k].cutHeight||0),0):"d"===a?this.d:c,a,A[k])},addClass:function(a,c){var A=this.attr("class")||"";-1===A.indexOf(a)&&
  (c||(a=(A+(A?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==t(this.element,"class").indexOf(a)},removeClass:function(a){t(this.element,"class",(t(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var A=this;q("x y r start end width height innerR anchorX anchorY".split(" "),function(c){A[c]=L(a[c],A[c])});A.attr({d:A.renderer.symbols[A.symbolName](A.x,A.y,A.width,A.height,A)})},clip:function(a){return this.attr("clip-path",
  a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,c){var A,d={},k;c=c||a.strokeWidth||0;k=Math.round(c)%2/2;a.x=Math.floor(a.x||this.x||0)+k;a.y=Math.floor(a.y||this.y||0)+k;a.width=Math.floor((a.width||this.width||0)-2*k);a.height=Math.floor((a.height||this.height||0)-2*k);h(a.strokeWidth)&&(a.strokeWidth=c);for(A in a)this[A]!==a[A]&&(this[A]=d[A]=a[A]);return d},css:function(a){var A=this.styles,c={},d=this.element,b,x="",u=!A,f=["textOutline","textOverflow","width"];a&&a.color&&
  (a.fill=a.color);if(A)for(b in a)a[b]!==A[b]&&(c[b]=a[b],u=!0);if(u){A&&(a=g(A,c));A=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===d.nodeName.toLowerCase()&&K(a.width);this.styles=a;A&&!Q&&this.renderer.forExport&&delete a.width;if(k&&!Q)m(this.element,a);else{A=function(a,A){return"-"+A.toLowerCase()};for(b in a)-1===z(b,f)&&(x+=b.replace(/([A-Z])/g,A)+":"+a[b]+";");x&&t(d,"style",x)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},
  strokeWidth:function(){return this["stroke-width"]||0},on:function(a,c){var A=this,d=A.element;n&&"click"===a?(d.ontouchstart=function(a){A.touchEventFired=Date.now();a.preventDefault();c.call(d,a)},d.onclick=function(a){(-1===M.navigator.userAgent.indexOf("Android")||1100<Date.now()-(A.touchEventFired||0))&&c.call(d,a)}):d["on"+a]=c;return this},setRadialReference:function(a){var A=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;A&&A.radAttr&&A.animate(this.renderer.getRadialAttr(a,
  A.radAttr));return this},translate:function(a,c){return this.attr({translateX:a,translateY:c})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,c=this.translateY||0,d=this.scaleX,k=this.scaleY,b=this.inverted,x=this.rotation,g=this.element;b&&(a+=this.width,c+=this.height);a=["translate("+a+","+c+")"];b?a.push("rotate(90) scale(-1,1)"):x&&a.push("rotate("+x+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(h(d)||
  h(k))&&a.push("scale("+L(d,1)+" "+L(k,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,c,d){var A,k,b,x,g={};k=this.renderer;b=k.alignedObjects;var u,f;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!d||G(d))this.alignTo=A=d||"renderer",B(b,this),b.push(this),d=null}else a=this.alignOptions,c=this.alignByTranslate,A=this.alignTo;d=L(d,k[A],k);A=a.align;k=a.verticalAlign;b=(d.x||0)+(a.x||
  0);x=(d.y||0)+(a.y||0);"right"===A?u=1:"center"===A&&(u=2);u&&(b+=(d.width-(a.width||0))/u);g[c?"translateX":"x"]=Math.round(b);"bottom"===k?f=1:"middle"===k&&(f=2);f&&(x+=(d.height-(a.height||0))/f);g[c?"translateY":"y"]=Math.round(x);this[this.placed?"animate":"attr"](g);this.placed=!0;this.alignAttr=g;return this},getBBox:function(a,c){var A,d=this.renderer,k,b=this.element,x=this.styles,u,f=this.textStr,l,v=d.cache,w=d.cacheKeys,n;c=L(c,this.rotation);k=c*e;u=x&&x.fontSize;void 0!==f&&(n=f.toString(),
  -1===n.indexOf("\x3c")&&(n=n.replace(/[0-9]/g,"0")),n+=["",c||0,u,x&&x.width,x&&x.textOverflow].join());n&&!a&&(A=v[n]);if(!A){if(b.namespaceURI===this.SVG_NS||d.forExport){try{(l=this.fakeTS&&function(a){q(b.querySelectorAll(".highcharts-text-outline"),function(A){A.style.display=a})})&&l("none"),A=b.getBBox?g({},b.getBBox()):{width:b.offsetWidth,height:b.offsetHeight},l&&l("")}catch(W){}if(!A||0>A.width)A={width:0,height:0}}else A=this.htmlGetBBox();d.isSVG&&(a=A.width,d=A.height,x&&"11px"===x.fontSize&&
  17===Math.round(d)&&(A.height=d=14),c&&(A.width=Math.abs(d*Math.sin(k))+Math.abs(a*Math.cos(k)),A.height=Math.abs(d*Math.cos(k))+Math.abs(a*Math.sin(k))));if(n&&0<A.height){for(;250<w.length;)delete v[w.shift()];v[n]||w.push(n);v[n]=A}}return A},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var A=this;A.animate({opacity:0},{duration:a||150,complete:function(){A.attr({y:-9999})}})},add:function(a){var A=
  this.renderer,c=this.element,d;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&A.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)d=this.zIndexSetter();d||(a?a.element:A.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var A=a.parentNode;A&&A.removeChild(a)},destroy:function(){var a=this,c=a.element||{},d=a.renderer.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,k,b;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=
  null;H(a);a.clipPath&&(q(a.element.ownerSVGElement.querySelectorAll("[clip-path]"),function(c){-1<c.getAttribute("clip-path").indexOf(a.clipPath.element.id)&&c.removeAttribute("clip-path")}),a.clipPath=a.clipPath.destroy());if(a.stops){for(b=0;b<a.stops.length;b++)a.stops[b]=a.stops[b].destroy();a.stops=null}a.safeRemoveChild(c);for(a.destroyShadows();d&&d.div&&0===d.div.childNodes.length;)c=d.parentGroup,a.safeRemoveChild(d.div),delete d.div,d=c;a.alignTo&&B(a.renderer.alignedObjects,a);for(k in a)delete a[k];
  return null},shadow:function(a,c,d){var A=[],k,b,x=this.element,g,u,f,l;if(!a)this.destroyShadows();else if(!this.shadows){u=L(a.width,3);f=(a.opacity||.15)/u;l=this.parentInverted?"(-1,-1)":"("+L(a.offsetX,1)+", "+L(a.offsetY,1)+")";for(k=1;k<=u;k++)b=x.cloneNode(0),g=2*u+1-2*k,t(b,{isShadow:"true",stroke:a.color||"#000000","stroke-opacity":f*k,"stroke-width":g,transform:"translate"+l,fill:"none"}),d&&(t(b,"height",Math.max(t(b,"height")-g,0)),b.cutHeight=g),c?c.element.appendChild(b):x.parentNode.insertBefore(b,
  x),A.push(b);this.shadows=A}return this},destroyShadows:function(){q(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=L(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,c,d){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");d.setAttribute(c,
  a);this[c]=a},dashstyleSetter:function(a){var c,d=this["stroke-width"];"inherit"===d&&(d=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(c=a.length;c--;)a[c]=K(a[c])*d;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.element.setAttribute("text-anchor",
  {left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,c,d){this[c]=a;d.setAttribute(c,a)},titleSetter:function(a){var c=this.element.getElementsByTagName("title")[0];c||(c=l.createElementNS(this.SVG_NS,"title"),this.element.appendChild(c));c.firstChild&&c.removeChild(c.firstChild);c.appendChild(l.createTextNode(String(L(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,
  c,d){"string"===typeof a?d.setAttribute(c,a):a&&this.colorGradient(a,c,d)},visibilitySetter:function(a,c,d){"inherit"===a?d.removeAttribute(c):d.setAttribute(c,a)},zIndexSetter:function(a,c){var d=this.renderer,b=this.parentGroup,k=(b||d).element||d.box,A,x=this.element,g;A=this.added;var u;h(a)&&(x.zIndex=a,a=+a,this[c]===a&&(A=!1),this[c]=a);if(A){(a=this.zIndex)&&b&&(b.handleZ=!0);c=k.childNodes;for(u=0;u<c.length&&!g;u++)b=c[u],A=b.zIndex,b!==x&&(K(A)>a||!h(a)&&h(A)||0>a&&!h(A)&&k!==d.box)&&(k.insertBefore(x,
  b),g=!0);g||k.appendChild(x)}return g},_defaultSetter:function(a,c,d){d.setAttribute(c,a)}};E.prototype.yGetter=E.prototype.xGetter;E.prototype.translateXSetter=E.prototype.translateYSetter=E.prototype.rotationSetter=E.prototype.verticalAlignSetter=E.prototype.scaleXSetter=E.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};E.prototype["stroke-widthSetter"]=E.prototype.strokeSetter=function(a,c,d){this[c]=a;this.stroke&&this["stroke-width"]?(E.prototype.fillSetter.call(this,this.stroke,
  "stroke",d),d.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(d.removeAttribute("stroke"),this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};y.prototype={Element:E,SVG_NS:N,init:function(a,d,b,k,x,g){var A;k=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(k));A=k.element;a.appendChild(A);-1===a.innerHTML.indexOf("xmlns")&&t(A,"xmlns",this.SVG_NS);this.isSVG=!0;
  this.box=A;this.boxWrapper=k;this.alignedObjects=[];this.url=(c||u)&&l.getElementsByTagName("base").length?M.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(l.createTextNode("Created with Highcharts 5.0.10 custom build"));this.defs=this.createElement("defs").add();this.allowHTML=g;this.forExport=x;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,b,!1);var f;
  c&&a.getBoundingClientRect&&(d=function(){m(a,{left:0,top:0});f=a.getBoundingClientRect();m(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},d(),this.unSubPixelFix=C(M,"resize",d))},getStyle:function(a){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;
  this.box=null;this.boxWrapper=this.boxWrapper.destroy();b(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},getSpanWidth:function(a,c){var d=a.getBBox(!0).width;!Q&&this.forExport&&(d=this.measureSpanWidth(c.firstChild.data,a.styles));
  return d},applyEllipsis:function(a,c,d,b){var k=this.getSpanWidth(a,c),x=k>b,k=d,g,A=0,u=d.length,f=function(a){c.removeChild(c.firstChild);a&&c.appendChild(l.createTextNode(a))};if(x){for(;A<=u;)g=Math.ceil((A+u)/2),k=d.substring(0,g)+"\u2026",f(k),k=this.getSpanWidth(a,c),A===u?A=u+1:k>b?u=g-1:A=g;0===u&&f("")}return x},buildText:function(a){var c=a.element,k=this,b=k.forExport,x=L(a.textStr,"").toString(),g=-1!==x.indexOf("\x3c"),A=c.childNodes,u,f,e,n,v=t(c,"x"),w=a.styles,F=a.textWidth,H=w&&
  w.lineHeight,h=w&&w.textOutline,z=w&&"ellipsis"===w.textOverflow,G=w&&"nowrap"===w.whiteSpace,B=w&&w.fontSize,J,r,p=A.length,w=F&&!a.added&&this.box,O=function(a){var d;d=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:B||k.style.fontSize||12;return H?K(H):k.fontMetrics(d,a.getAttribute("style")?a:c).h};J=[x,z,G,H,h,B,F].join();if(J!==a.textCache){for(a.textCache=J;p--;)c.removeChild(A[p]);g||h||z||F||-1!==x.indexOf(" ")?(u=/<.*class="([^"]+)".*>/,f=/<.*style="([^"]+)".*>/,e=/<.*href="(http[^"]+)".*>/,
  w&&w.appendChild(c),x=g?x.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[x],x=d(x,function(a){return""!==a}),q(x,function(d,x){var g,A=0;d=d.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");g=d.split("|||");q(g,function(d){if(""!==d||1===g.length){var w={},H=l.createElementNS(k.SVG_NS,
  "tspan"),h,q;u.test(d)&&(h=d.match(u)[1],t(H,"class",h));f.test(d)&&(q=d.match(f)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),t(H,"style",q));e.test(d)&&!b&&(t(H,"onclick",'location.href\x3d"'+d.match(e)[1]+'"'),m(H,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==d){H.appendChild(l.createTextNode(d));A?w.dx=0:x&&null!==v&&(w.x=v);t(H,w);c.appendChild(H);!A&&r&&(!Q&&b&&m(H,{display:"block"}),t(H,"dy",O(H)));if(F){w=d.replace(/([^\^])-/g,
  "$1- ").split(" ");h=1<g.length||x||1<w.length&&!G;var B=[],J,p=O(H),P=a.rotation;for(z&&(n=k.applyEllipsis(a,H,d,F));!z&&h&&(w.length||B.length);)a.rotation=0,J=k.getSpanWidth(a,H),d=J>F,void 0===n&&(n=d),d&&1!==w.length?(H.removeChild(H.firstChild),B.unshift(w.pop())):(w=B,B=[],w.length&&!G&&(H=l.createElementNS(N,"tspan"),t(H,{dy:p,x:v}),q&&t(H,"style",q),c.appendChild(H)),J>F&&(F=J)),w.length&&H.appendChild(l.createTextNode(w.join(" ").replace(/- /g,"-")));a.rotation=P}A++}}});r=r||c.childNodes.length}),
  n&&a.attr("title",a.textStr),w&&w.removeChild(c),h&&a.applyTextOutline&&a.applyTextOutline(h)):c.appendChild(l.createTextNode(x.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=r(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,c,d,b,x,u,f,w,e){var A=this.label(a,c,d,e,null,null,null,null,"button"),l=0;A.attr(F({padding:8,r:2},x));var n,v,H,h;x=F({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},
  x);n=x.style;delete x.style;u=F(x,{fill:"#e6e6e6"},u);v=u.style;delete u.style;f=F(x,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},f);H=f.style;delete f.style;w=F(x,{style:{color:"#cccccc"}},w);h=w.style;delete w.style;C(A.element,k?"mouseover":"mouseenter",function(){3!==l&&A.setState(1)});C(A.element,k?"mouseout":"mouseleave",function(){3!==l&&A.setState(l)});A.setState=function(a){1!==a&&(A.state=l=a);A.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
  ["normal","hover","pressed","disabled"][a||0]);A.attr([x,u,f,w][a||0]).css([n,v,H,h][a||0])};A.attr(x).css(g({cursor:"default"},n));return A.on("click",function(a){3!==l&&b.call(A,a)})},crispLine:function(a,c){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-c%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+c%2/2);return a},path:function(a){var c={fill:"none"};v(a)?c.d=a:w(a)&&g(c,a);return this.createElement("path").attr(c)},circle:function(a,c,d){a=w(a)?a:{x:a,y:c,r:d};c=this.createElement("circle");c.xSetter=
  c.ySetter=function(a,c,d){d.setAttribute("c"+c,a)};return c.attr(a)},arc:function(a,c,d,k,b,x){w(a)?(k=a,c=k.y,d=k.r,a=k.x):k={innerR:k,start:b,end:x};a=this.symbol("arc",a,c,d,d,k);a.r=d;return a},rect:function(a,c,d,k,b,x){b=w(a)?a.r:b;var g=this.createElement("rect");a=w(a)?a:void 0===a?{}:{x:a,y:c,width:Math.max(d,0),height:Math.max(k,0)};void 0!==x&&(a.strokeWidth=x,a=g.crisp(a));a.fill="none";b&&(a.r=b);g.rSetter=function(a,c,d){t(d,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,c,d){var k=
  this.alignedObjects,b=k.length;this.width=a;this.height=c;for(this.boxWrapper.animate({width:a,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:L(d,!0)?void 0:0});b--;)k[b].align()},g:function(a){var c=this.createElement("g");return a?c.attr({"class":"highcharts-"+a}):c},image:function(a,c,d,k,b){var x={preserveAspectRatio:"none"};1<arguments.length&&g(x,{x:c,y:d,width:k,height:b});x=this.createElement("image").attr(x);x.element.setAttributeNS?
  x.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):x.element.setAttribute("hc-svg-href",a);return x},symbol:function(a,c,d,k,b,x){var u=this,w,A=this.symbols[a],e=h(c)&&A&&this.symbols[a](Math.round(c),Math.round(d),k,b,x),n=/^url\((.*?)\)$/,v,F;A?(w=this.path(e),w.attr("fill","none"),g(w,{symbolName:a,x:c,y:d,width:k,height:b}),x&&g(w,x)):n.test(a)&&(v=a.match(n)[1],w=this.image(v),w.imgwidth=L(O[v]&&O[v].width,x&&x.width),w.imgheight=L(O[v]&&O[v].height,x&&x.height),F=function(){w.attr({width:w.width,
  height:w.height})},q(["width","height"],function(a){w[a+"Setter"]=function(a,c){var d={},k=this["img"+c],b="width"===c?"translateX":"translateY";this[c]=a;h(k)&&(this.element&&this.element.setAttribute(c,k),this.alignByTranslate||(d[b]=((this[c]||0)-k)/2,this.attr(d)))}}),h(c)&&w.attr({x:c,y:d}),w.isImg=!0,h(w.imgwidth)&&h(w.imgheight)?F():(w.attr({width:0,height:0}),f("img",{onload:function(){var a=p[u.chartIndex];0===this.width&&(m(this,{position:"absolute",top:"-999em"}),l.body.appendChild(this));
  O[v]={width:this.width,height:this.height};w.imgwidth=this.width;w.imgheight=this.height;w.element&&F();this.parentNode&&this.parentNode.removeChild(this);u.imgCount--;if(!u.imgCount&&a&&a.onload)a.onload()},src:v}),this.imgCount++));return w},symbols:{circle:function(a,c,d,k){return this.arc(a+d/2,c+k/2,d/2,k/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,c,d,k){return["M",a,c,"L",a+d,c,a+d,c+k,a,c+k,"Z"]},triangle:function(a,c,d,k){return["M",a+d/2,c,"L",a+d,c+k,a,c+k,"Z"]},"triangle-down":function(a,
  c,d,k){return["M",a,c,"L",a+d,c,a+d/2,c+k,"Z"]},diamond:function(a,c,d,k){return["M",a+d/2,c,"L",a+d,c+k/2,a+d/2,c+k,a,c+k/2,"Z"]},arc:function(a,c,d,k,b){var x=b.start,g=b.r||d,u=b.r||k||d,w=b.end-.001;d=b.innerR;k=b.open;var f=Math.cos(x),l=Math.sin(x),v=Math.cos(w),w=Math.sin(w);b=b.end-x<Math.PI?0:1;g=["M",a+g*f,c+u*l,"A",g,u,0,b,1,a+g*v,c+u*w];h(d)&&g.push(k?"M":"L",a+d*v,c+d*w,"A",d,d,0,b,0,a+d*f,c+d*l);g.push(k?"":"Z");return g},callout:function(a,c,d,k,b){var x=Math.min(b&&b.r||0,d,k),g=x+
  6,u=b&&b.anchorX;b=b&&b.anchorY;var w;w=["M",a+x,c,"L",a+d-x,c,"C",a+d,c,a+d,c,a+d,c+x,"L",a+d,c+k-x,"C",a+d,c+k,a+d,c+k,a+d-x,c+k,"L",a+x,c+k,"C",a,c+k,a,c+k,a,c+k-x,"L",a,c+x,"C",a,c,a,c,a+x,c];u&&u>d?b>c+g&&b<c+k-g?w.splice(13,3,"L",a+d,b-6,a+d+6,b,a+d,b+6,a+d,c+k-x):w.splice(13,3,"L",a+d,k/2,u,b,a+d,k/2,a+d,c+k-x):u&&0>u?b>c+g&&b<c+k-g?w.splice(33,3,"L",a,b+6,a-6,b,a,b-6,a,c+x):w.splice(33,3,"L",a,k/2,u,b,a,k/2,a,c+x):b&&b>k&&u>a+g&&u<a+d-g?w.splice(23,3,"L",u+6,c+k,u,c+k+6,u-6,c+k,a+x,c+k):b&&
  0>b&&u>a+g&&u<a+d-g&&w.splice(3,3,"L",u-6,c,u,c-6,u+6,c,d-x,c);return w}},clipRect:function(c,d,k,b){var x=a.uniqueKey(),g=this.createElement("clipPath").attr({id:x}).add(this.defs);c=this.rect(c,d,k,b,0).add(g);c.id=x;c.clipPath=g;c.count=0;return c},text:function(a,c,d,k){var b=!Q&&this.forExport,x={};if(k&&(this.allowHTML||!this.forExport))return this.html(a,c,d);x.x=Math.round(c||0);d&&(x.y=Math.round(d));if(a||0===a)x.text=a;a=this.createElement("text").attr(x);b&&a.css({position:"absolute"});
  k||(a.xSetter=function(a,c,d){var k=d.getElementsByTagName("tspan"),b,x=d.getAttribute(c),g;for(g=0;g<k.length;g++)b=k[g],b.getAttribute(c)===x&&b.setAttribute(c,a);d.setAttribute(c,a)});return a},fontMetrics:function(a,c){a=a||c&&c.style&&c.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?K(a):/em/.test(a)?parseFloat(a)*(c?this.fontMetrics(null,c.parentNode).f:16):12;c=24>a?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a,c,d){var k=a;c&&d&&(k=Math.max(k*
  Math.cos(c*e),4));return{x:-a/3*Math.sin(c*e),y:k}},label:function(c,d,k,b,u,w,f,l,v){var e=this,n=e.g("button"!==v&&"label"),H=n.text=e.text("",0,0,f).attr({zIndex:1}),z,G,A=0,B=3,m=0,J,r,p,Q,L,K={},N,t,P=/^url\((.*?)\)$/.test(b),O=P,R,S,M,U;v&&n.addClass("highcharts-"+v);O=P;R=function(){return(N||0)%2/2};S=function(){var a=H.element.style,c={};G=(void 0===J||void 0===r||L)&&h(H.textStr)&&H.getBBox();n.width=(J||G.width||0)+2*B+m;n.height=(r||G.height||0)+2*B;t=B+e.fontMetrics(a&&a.fontSize,H).b;
  O&&(z||(n.box=z=e.symbols[b]||P?e.symbol(b):e.rect(),z.addClass(("button"===v?"":"highcharts-label-box")+(v?" highcharts-"+v+"-box":"")),z.add(n),a=R(),c.x=a,c.y=(l?-t:0)+a),c.width=Math.round(n.width),c.height=Math.round(n.height),z.attr(g(c,K)),K={})};M=function(){var a=m+B,c;c=l?0:t;h(J)&&G&&("center"===L||"right"===L)&&(a+={center:.5,right:1}[L]*(J-G.width));if(a!==H.x||c!==H.y)H.attr("x",a),void 0!==c&&H.attr("y",c);H.x=a;H.y=c};U=function(a,c){z?z.attr(a,c):K[a]=c};n.onAdd=function(){H.add(n);
  n.attr({text:c||0===c?c:"",x:d,y:k});z&&h(u)&&n.attr({anchorX:u,anchorY:w})};n.widthSetter=function(c){J=a.isNumber(c)?c:null};n.heightSetter=function(a){r=a};n["text-alignSetter"]=function(a){L=a};n.paddingSetter=function(a){h(a)&&a!==B&&(B=n.padding=a,M())};n.paddingLeftSetter=function(a){h(a)&&a!==m&&(m=a,M())};n.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==A&&(A=a,G&&n.attr({x:p}))};n.textSetter=function(a){void 0!==a&&H.textSetter(a);S();M()};n["stroke-widthSetter"]=function(a,
  c){a&&(O=!0);N=this["stroke-width"]=a;U(c,a)};n.strokeSetter=n.fillSetter=n.rSetter=function(a,c){"fill"===c&&a&&(O=!0);U(c,a)};n.anchorXSetter=function(a,c){u=a;U(c,Math.round(a)-R()-p)};n.anchorYSetter=function(a,c){w=a;U(c,a-Q)};n.xSetter=function(a){n.x=a;A&&(a-=A*((J||G.width)+2*B));p=Math.round(a);n.attr("translateX",p)};n.ySetter=function(a){Q=n.y=Math.round(a);n.attr("translateY",Q)};var y=n.css;return g(n,{css:function(a){if(a){var c={};a=F(a);q(n.textProps,function(d){void 0!==a[d]&&(c[d]=
  a[d],delete a[d])});H.css(c)}return y.call(n,a)},getBBox:function(){return{width:G.width+2*B,height:G.height+2*B,x:G.x-B,y:G.y-B}},shadow:function(a){a&&(S(),z&&z.shadow(a));return n},destroy:function(){x(n.element,"mouseenter");x(n.element,"mouseleave");H&&(H=H.destroy());z&&(z=z.destroy());E.prototype.destroy.call(n);n=e=S=M=U=null}})}};a.Renderer=y})(I);(function(a){var E=a.attr,y=a.createElement,C=a.css,D=a.defined,t=a.each,p=a.extend,r=a.isFirefox,m=a.isMS,f=a.isWebKit,h=a.pInt,e=a.SVGRenderer,
  b=a.win,l=a.wrap;p(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=p(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=
  this.renderer,b=this.element,e=this.translateX||0,d=this.translateY||0,n=this.x||0,l=this.y||0,v=this.textAlign||"left",c={left:0,center:.5,right:1}[v],k=this.styles;C(b,{marginLeft:e,marginTop:d});this.shadows&&t(this.shadows,function(a){C(a,{marginLeft:e+1,marginTop:d+1})});this.inverted&&t(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var w=this.rotation,G=h(this.textWidth),u=k&&k.whiteSpace,F=[w,v,b.innerHTML,this.textWidth,this.textAlign].join();F!==this.cTT&&(k=a.fontMetrics(b.style.fontSize).b,
  D(w)&&this.setSpanRotation(w,c,k),C(b,{width:"",whiteSpace:u||"nowrap"}),b.offsetWidth>G&&/[ \-]/.test(b.textContent||b.innerText)&&C(b,{width:G+"px",display:"block",whiteSpace:u||"normal"}),this.getSpanCorrection(b.offsetWidth,k,c,w,v));C(b,{left:n+(this.xCorr||0)+"px",top:l+(this.yCorr||0)+"px"});f&&(k=b.offsetHeight);this.cTT=F}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,e){var d={},n=m?"-ms-transform":f?"-webkit-transform":r?"MozTransform":b.opera?"-o-transform":"";d[n]=d.transform=
  "rotate("+a+"deg)";d[n+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+e+"px";C(this.element,d)},getSpanCorrection:function(a,b,f){this.xCorr=-a*f;this.yCorr=-b}});p(e.prototype,{html:function(a,b,f){var d=this.createElement("span"),g=d.element,e=d.renderer,v=e.isSVG,c=function(a,c){t(["opacity","visibility"],function(d){l(a,d+"Setter",function(a,d,b,k){a.call(this,d,b,k);c[b]=d})})};d.textSetter=function(a){a!==g.innerHTML&&delete this.bBox;g.innerHTML=this.textStr=a;d.htmlUpdateTransform()};
  v&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(b),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});g.style.whiteSpace="nowrap";d.css=d.htmlCss;v&&(d.add=function(a){var b,k=e.box.parentNode,u=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)u.push(a),a=a.parentGroup;t(u.reverse(),function(a){var g,w=E(a.element,
  "class");w&&(w={className:w});b=a.div=a.div||y("div",w,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||k);g=b.style;p(a,{on:function(){d.on.apply({element:u[0].div},arguments);return a},translateXSetter:function(c,d){g.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){g.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,g)})}}else b=k;b.appendChild(g);d.added=!0;d.alignOnAdd&&
  d.htmlUpdateTransform();return d});return d}})})(I);(function(a){var E,y,C=a.createElement,D=a.css,t=a.defined,p=a.deg2rad,r=a.discardElement,m=a.doc,f=a.each,h=a.erase,e=a.extend;E=a.extendClass;var b=a.isArray,l=a.isNumber,q=a.isObject,g=a.merge;y=a.noop;var B=a.pick,d=a.pInt,n=a.SVGElement,z=a.SVGRenderer,v=a.win;a.svg||(y={docMode8:m&&8===m.documentMode,init:function(a,d){var c=["\x3c",d,' filled\x3d"f" stroked\x3d"f"'],b=["position: ","absolute",";"],k="div"===d;("shape"===d||k)&&b.push("left:0;top:0;width:1px;height:1px;");
  b.push("visibility: ",k?"hidden":"visible");c.push(' style\x3d"',b.join(""),'"/\x3e');d&&(c=k||"span"===d||"img"===d?c.join(""):a.prepVML(c),this.element=C(c));this.renderer=a},add:function(a){var c=this.renderer,d=this.element,b=c.box,g=a&&a.inverted,b=a?a.element||a:b;a&&(this.parentGroup=a);g&&c.invertChild(d,b);b.appendChild(d);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},
  updateTransform:n.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,d=Math.cos(a*p),b=Math.sin(a*p);D(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",d,", M12\x3d",-b,", M21\x3d",b,", M22\x3d",d,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,d,b,g,u){var c=g?Math.cos(g*p):1,k=g?Math.sin(g*p):0,n=B(this.elemHeight,this.element.offsetHeight),f;this.xCorr=0>c&&-a;this.yCorr=0>k&&-n;f=0>c*k;this.xCorr+=k*d*(f?1-
  b:b);this.yCorr-=c*d*(g?f?b:1-b:1);u&&"left"!==u&&(this.xCorr-=a*b*(0>c?-1:1),g&&(this.yCorr-=n*b*(0>k?-1:1)),D(this.element,{textAlign:u}))},pathToVML:function(a){for(var c=a.length,d=[];c--;)l(a[c])?d[c]=Math.round(10*a[c])-5:"Z"===a[c]?d[c]="x":(d[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(d[c+5]===d[c+7]&&(d[c+7]+=a[c+7]>a[c+5]?1:-1),d[c+6]===d[c+8]&&(d[c+8]+=a[c+8]>a[c+6]?1:-1)));return d.join(" ")||"x"},clip:function(a){var c=this,d;a?(d=a.members,h(d,c),d.push(c),c.destroyClip=function(){h(d,
  c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(),a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:n.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return n.prototype.destroy.apply(this)},on:function(a,d){this.element["on"+a]=function(){var a=v.event;a.target=a.srcElement;d(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},
  shadow:function(a,b,g){var c=[],k,n=this.element,f=this.renderer,e,v=n.style,x,l=n.path,w,h,z,q;l&&"string"!==typeof l.value&&(l="x");h=l;if(a){z=B(a.width,3);q=(a.opacity||.15)/z;for(k=1;3>=k;k++)w=2*z+1-2*k,g&&(h=this.cutOffPath(l.value,w+.5)),x=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',w,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',n.style.cssText,'" /\x3e'],e=C(f.prepVML(x),null,{left:d(v.left)+B(a.offsetX,1),top:d(v.top)+B(a.offsetY,1)}),g&&(e.cutOff=w+1),x=['\x3cstroke color\x3d"',
  a.color||"#000000",'" opacity\x3d"',q*k,'"/\x3e'],C(f.prepVML(x),null,null,e),b?b.element.appendChild(e):n.parentNode.insertBefore(e,n),c.push(e);this.shadows=c}return this},updateShadows:y,setAttr:function(a,d){this.docMode8?this.element[a]=d:this.element.setAttribute(a,d)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,d,b){(b.getElementsByTagName("stroke")[0]||C(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,b))[d]=a||"solid";this[d]=a},dSetter:function(a,
  d,b){var c=this.shadows;a=a||[];this.d=a.join&&a.join(" ");b.path=a=this.pathToVML(a);if(c)for(b=c.length;b--;)c[b].path=c[b].cutOff?this.cutOffPath(a,c[b].cutOff):a;this.setAttr(d,a)},fillSetter:function(a,d,b){var c=b.nodeName;"SPAN"===c?b.style.color=a:"IMG"!==c&&(b.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,b,d,this)))},"fill-opacitySetter":function(a,d,b){C(this.renderer.prepVML(["\x3c",d.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,b)},opacitySetter:y,rotationSetter:function(a,
  d,b){b=b.style;this[d]=b[d]=a;b.left=-Math.round(Math.sin(a*p)+1)+"px";b.top=Math.round(Math.cos(a*p))+"px"},strokeSetter:function(a,d,b){this.setAttr("strokecolor",this.renderer.color(a,b,d,this))},"stroke-widthSetter":function(a,d,b){b.stroked=!!a;this[d]=a;l(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,d){this.setAttr(d,a)},visibilitySetter:function(a,d,b){"inherit"===a&&(a="visible");this.shadows&&f(this.shadows,function(c){c.style[d]=a});"DIV"===b.nodeName&&(a="hidden"===
  a?"-999em":0,this.docMode8||(b.style[d]=a?"visible":"hidden"),d="top");b.style[d]=a},xSetter:function(a,d,b){this[d]=a;"x"===d?d="left":"y"===d&&(d="top");this.updateClipping?(this[d]=a,this.updateClipping()):b.style[d]=a},zIndexSetter:function(a,d,b){b.style[d]=a}},y["stroke-opacitySetter"]=y["fill-opacitySetter"],a.VMLElement=y=E(n,y),y.prototype.ySetter=y.prototype.widthSetter=y.prototype.heightSetter=y.prototype.xSetter,y={Element:y,isIE8:-1<v.navigator.userAgent.indexOf("MSIE 8.0"),init:function(a,
  d,b){var c,k;this.alignedObjects=[];c=this.createElement("div").css({position:"relative"});k=c.element;a.appendChild(c.element);this.isVML=!0;this.box=k;this.boxWrapper=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,b,!1);if(!m.namespaces.hcv){m.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{m.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(F){m.styleSheets[0].cssText+=
  "hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,d,b,g){var c=this.createElement(),k=q(a);return e(c,{members:[],count:0,left:(k?a.x:a)+1,top:(k?a.y:d)+1,width:(k?a.width:b)-1,height:(k?a.height:g)-1,getCSS:function(a){var c=a.element,d=c.nodeName,b=a.inverted,k=this.top-("shape"===d?c.offsetTop:0),g=this.left,c=g+this.width,u=k+this.height,k={clip:"rect("+Math.round(b?
  g:k)+"px,"+Math.round(b?u:c)+"px,"+Math.round(b?c:u)+"px,"+Math.round(b?k:g)+"px)"};!b&&a.docMode8&&"DIV"===d&&e(k,{width:c+"px",height:u+"px"});return k},updateClipping:function(){f(c.members,function(a){a.element&&a.css(c.getCSS(a))})}})},color:function(c,d,b,g){var k=this,n,e=/^rgba/,l,v,x="none";c&&c.linearGradient?v="gradient":c&&c.radialGradient&&(v="pattern");if(v){var H,w,h=c.linearGradient||c.radialGradient,z,q,A,G,B,m="";c=c.stops;var r,p=[],t=function(){l=['\x3cfill colors\x3d"'+p.join(",")+
  '" opacity\x3d"',A,'" o:opacity2\x3d"',q,'" type\x3d"',v,'" ',m,'focus\x3d"100%" method\x3d"any" /\x3e'];C(k.prepVML(l),null,null,d)};z=c[0];r=c[c.length-1];0<z[0]&&c.unshift([0,z[1]]);1>r[0]&&c.push([1,r[1]]);f(c,function(c,d){e.test(c[1])?(n=a.color(c[1]),H=n.get("rgb"),w=n.get("a")):(H=c[1],w=1);p.push(100*c[0]+"% "+H);d?(A=w,G=H):(q=w,B=H)});if("fill"===b)if("gradient"===v)b=h.x1||h[0]||0,c=h.y1||h[1]||0,z=h.x2||h[2]||0,h=h.y2||h[3]||0,m='angle\x3d"'+(90-180*Math.atan((h-c)/(z-b))/Math.PI)+'"',
  t();else{var x=h.r,y=2*x,D=2*x,E=h.cx,V=h.cy,I=d.radialReference,T,x=function(){I&&(T=g.getBBox(),E+=(I[0]-T.x)/T.width-.5,V+=(I[1]-T.y)/T.height-.5,y*=I[2]/T.width,D*=I[2]/T.height);m='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+y+","+D+'" origin\x3d"0.5,0.5" position\x3d"'+E+","+V+'" color2\x3d"'+B+'" ';t()};g.added?x():g.onAdd=x;x=G}else x=H}else e.test(c)&&"IMG"!==d.tagName?(n=a.color(c),g[b+"-opacitySetter"](n.get("a"),b,d),x=n.get("rgb")):(x=d.getElementsByTagName(b),
  x.length&&(x[0].opacity=1,x[0].type="solid"),x=c);return x},prepVML:function(a){var c=this.isIE8;a=a.join("");c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:z.prototype.html,path:function(a){var d={coordsize:"10 10"};b(a)?d.d=
  a:q(a)&&e(d,a);return this.createElement("shape").attr(d)},circle:function(a,d,b){var c=this.symbol("circle");q(a)&&(b=a.r,d=a.y,a=a.x);c.isCircle=!0;c.r=b;return c.attr({x:a,y:d})},g:function(a){var d;a&&(d={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(d)},image:function(a,d,b,g,u){var c=this.createElement("img").attr({src:a});1<arguments.length&&c.attr({x:d,y:b,width:g,height:u});return c},createElement:function(a){return"rect"===a?this.symbol(a):z.prototype.createElement.call(this,
  a)},invertChild:function(a,b){var c=this;b=b.style;var g="IMG"===a.tagName&&a.style;D(a,{flip:"x",left:d(b.width)-(g?d(g.top):1),top:d(b.height)-(g?d(g.left):1),rotation:-90});f(a.childNodes,function(d){c.invertChild(d,a)})},symbols:{arc:function(a,d,b,g,u){var c=u.start,k=u.end,n=u.r||b||g;b=u.innerR;g=Math.cos(c);var f=Math.sin(c),x=Math.cos(k),e=Math.sin(k);if(0===k-c)return["x"];c=["wa",a-n,d-n,a+n,d+n,a+n*g,d+n*f,a+n*x,d+n*e];u.open&&!b&&c.push("e","M",a,d);c.push("at",a-b,d-b,a+b,d+b,a+b*x,
  d+b*e,a+b*g,d+b*f,"x","e");c.isArc=!0;return c},circle:function(a,d,b,g,u){u&&t(u.r)&&(b=g=2*u.r);u&&u.isCircle&&(a-=b/2,d-=g/2);return["wa",a,d,a+b,d+g,a+b,d+g/2,a+b,d+g/2,"e"]},rect:function(a,d,b,g,u){return z.prototype.symbols[t(u)&&u.r?"callout":"square"].call(0,a,d,b,g,u)}}},a.VMLRenderer=E=function(){this.init.apply(this,arguments)},E.prototype=g(z.prototype,y),a.Renderer=E);z.prototype.measureSpanWidth=function(a,d){var c=m.createElement("span");a=m.createTextNode(a);c.appendChild(a);D(c,
  d);this.box.appendChild(c);d=c.offsetWidth;r(c);return d}})(I);(function(a){var E=a.correctFloat,y=a.defined,C=a.destroyObjectProperties,D=a.isNumber,t=a.merge,p=a.pick,r=a.deg2rad;a.Tick=function(a,f,h,e){this.axis=a;this.pos=f;this.type=h||"";this.isNew=!0;h||e||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,f=a.options,h=a.chart,e=a.categories,b=a.names,l=this.pos,q=f.labels,g=a.tickPositions,B=l===g[0],d=l===g[g.length-1],b=e?p(e[l],b[l],l):l,e=this.label,g=g.info,n;a.isDatetimeAxis&&
  g&&(n=f.dateTimeLabelFormats[g.higherRanks[l]||g.unitName]);this.isFirst=B;this.isLast=d;f=a.labelFormatter.call({axis:a,chart:h,isFirst:B,isLast:d,dateTimeLabelFormat:n,value:a.isLog?E(a.lin2log(b)):b});y(e)?e&&e.attr({text:f}):(this.labelLength=(this.label=e=y(f)&&q.enabled?h.renderer.text(f,0,0,q.useHTML).css(t(q.style)).add(a.labelGroup):null)&&e.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var f=
  this.axis,h=a.x,e=f.chart.chartWidth,b=f.chart.spacing,l=p(f.labelLeft,Math.min(f.pos,b[3])),b=p(f.labelRight,Math.max(f.pos+f.len,e-b[1])),q=this.label,g=this.rotation,B={left:0,center:.5,right:1}[f.labelAlign],d=q.getBBox().width,n=f.getSlotWidth(),z=n,v=1,c,k={};if(g)0>g&&h-B*d<l?c=Math.round(h/Math.cos(g*r)-l):0<g&&h+B*d>b&&(c=Math.round((e-h)/Math.cos(g*r)));else if(e=h+(1-B)*d,h-B*d<l?z=a.x+z*(1-B)-l:e>b&&(z=b-a.x+z*B,v=-1),z=Math.min(n,z),z<n&&"center"===f.labelAlign&&(a.x+=v*(n-z-B*(n-Math.min(d,
  z)))),d>z||f.autoRotation&&(q.styles||{}).width)c=z;c&&(k.width=c,(f.options.labels.style||{}).textOverflow||(k.textOverflow="ellipsis"),q.css(k))},getPosition:function(a,f,h,e){var b=this.axis,l=b.chart,q=e&&l.oldChartHeight||l.chartHeight;return{x:a?b.translate(f+h,null,null,e)+b.transB:b.left+b.offset+(b.opposite?(e&&l.oldChartWidth||l.chartWidth)-b.right-b.left:0),y:a?q-b.bottom+b.offset-(b.opposite?b.height:0):q-b.translate(f+h,null,null,e)-b.transB}},getLabelPosition:function(a,f,h,e,b,l,q,
  g){var B=this.axis,d=B.transA,n=B.reversed,z=B.staggerLines,v=B.tickRotCorr||{x:0,y:0},c=b.y;y(c)||(c=0===B.side?h.rotation?-8:-h.getBBox().height:2===B.side?v.y+8:Math.cos(h.rotation*r)*(v.y-h.getBBox(!1,0).height/2));a=a+b.x+v.x-(l&&e?l*d*(n?-1:1):0);f=f+c-(l&&!e?l*d*(n?1:-1):0);z&&(h=q/(g||1)%z,B.opposite&&(h=z-h-1),f+=B.labelOffset/z*h);return{x:a,y:Math.round(f)}},getMarkPath:function(a,f,h,e,b,l){return l.crispLine(["M",a,f,"L",a+(b?0:-h),f+(b?h:0)],e)},renderGridLine:function(a,f,h){var e=
  this.axis,b=e.options,l=this.gridLine,q={},g=this.pos,B=this.type,d=e.tickmarkOffset,n=e.chart.renderer,z=B?B+"Grid":"grid",v=b[z+"LineWidth"],c=b[z+"LineColor"],b=b[z+"LineDashStyle"];l||(q.stroke=c,q["stroke-width"]=v,b&&(q.dashstyle=b),B||(q.zIndex=1),a&&(q.opacity=0),this.gridLine=l=n.path().attr(q).addClass("highcharts-"+(B?B+"-":"")+"grid-line").add(e.gridGroup));if(!a&&l&&(a=e.getPlotLinePath(g+d,l.strokeWidth()*h,a,!0)))l[this.isNew?"attr":"animate"]({d:a,opacity:f})},renderMark:function(a,
  f,h){var e=this.axis,b=e.options,l=e.chart.renderer,q=this.type,g=q?q+"Tick":"tick",B=e.tickSize(g),d=this.mark,n=!d,z=a.x;a=a.y;var v=p(b[g+"Width"],!q&&e.isXAxis?1:0),b=b[g+"Color"];B&&(e.opposite&&(B[0]=-B[0]),n&&(this.mark=d=l.path().addClass("highcharts-"+(q?q+"-":"")+"tick").add(e.axisGroup),d.attr({stroke:b,"stroke-width":v})),d[n?"attr":"animate"]({d:this.getMarkPath(z,a,B[0],d.strokeWidth()*h,e.horiz,l),opacity:f}))},renderLabel:function(a,f,h,e){var b=this.axis,l=b.horiz,q=b.options,g=this.label,
  B=q.labels,d=B.step,n=b.tickmarkOffset,z=!0,v=a.x;a=a.y;g&&D(v)&&(g.xy=a=this.getLabelPosition(v,a,g,l,B,n,e,d),this.isFirst&&!this.isLast&&!p(q.showFirstLabel,1)||this.isLast&&!this.isFirst&&!p(q.showLastLabel,1)?z=!1:!l||b.isRadial||B.step||B.rotation||f||0===h||this.handleOverflow(a),d&&e%d&&(z=!1),z&&D(a.y)?(a.opacity=h,g[this.isNew?"attr":"animate"](a)):g.attr("y",-9999),this.isNew=!1)},render:function(a,f,h){var e=this.axis,b=e.horiz,l=this.getPosition(b,this.pos,e.tickmarkOffset,f),q=l.x,g=
  l.y,e=b&&q===e.pos+e.len||!b&&g===e.pos?-1:1;h=p(h,1);this.isActive=!0;this.renderGridLine(f,h,e);this.renderMark(l,h,e);this.renderLabel(l,f,h,a)},destroy:function(){C(this,this.axis)}}})(I);(function(a){var E=a.arrayMax,y=a.arrayMin,C=a.defined,D=a.destroyObjectProperties,t=a.each,p=a.erase,r=a.merge,m=a.pick;a.PlotLineOrBand=function(a,h){this.axis=a;h&&(this.options=h,this.id=h.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,h=a.axis,e=h.horiz,b=a.options,l=b.label,q=a.label,g=b.to,
  B=b.from,d=b.value,n=C(B)&&C(g),z=C(d),v=a.svgElem,c=!v,k=[],w,G=b.color,u=m(b.zIndex,0),F=b.events,k={"class":"highcharts-plot-"+(n?"band ":"line ")+(b.className||"")},J={},p=h.chart.renderer,K=n?"bands":"lines",x=h.log2lin;h.isLog&&(B=x(B),g=x(g),d=x(d));z?(k={stroke:G,"stroke-width":b.width},b.dashStyle&&(k.dashstyle=b.dashStyle)):n&&(G&&(k.fill=G),b.borderWidth&&(k.stroke=b.borderColor,k["stroke-width"]=b.borderWidth));J.zIndex=u;K+="-"+u;(G=h.plotLinesAndBandsGroups[K])||(h.plotLinesAndBandsGroups[K]=
  G=p.g("plot-"+K).attr(J).add());c&&(a.svgElem=v=p.path().attr(k).add(G));if(z)k=h.getPlotLinePath(d,v.strokeWidth());else if(n)k=h.getPlotBandPath(B,g,b);else return;if(c&&k&&k.length){if(v.attr({d:k}),F)for(w in b=function(d){v.on(d,function(c){F[d].apply(a,[c])})},F)b(w)}else v&&(k?(v.show(),v.animate({d:k})):(v.hide(),q&&(a.label=q=q.destroy())));l&&C(l.text)&&k&&k.length&&0<h.width&&0<h.height&&!k.flat?(l=r({align:e&&n&&"center",x:e?!n&&4:10,verticalAlign:!e&&n&&"middle",y:e?n?16:10:n?6:-4,rotation:e&&
  !n&&90},l),this.renderLabel(l,k,n,u)):q&&q.hide();return a},renderLabel:function(a,h,e,b){var f=this.label,q=this.axis.chart.renderer;f||(f={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(e?"band":"line")+"-label "+(a.className||"")},f.zIndex=b,this.label=f=q.text(a.text,0,0,a.useHTML).attr(f).add(),f.css(a.style));b=[h[1],h[4],e?h[6]:h[1]];h=[h[2],h[5],e?h[7]:h[2]];e=y(b);q=y(h);f.align(a,!1,{x:e,y:q,width:E(b)-e,height:E(h)-q});f.show()},destroy:function(){p(this.axis.plotLinesAndBands,
  this);delete this.axis;D(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,h){var e=this.getPlotLinePath(h,null,null,!0),b=this.getPlotLinePath(a,null,null,!0),f=this.horiz,q=1;a=a<this.min&&h<this.min||a>this.max&&h>this.max;b&&e?(a&&(b.flat=b.toString()===e.toString(),q=0),b.push(f&&e[4]===b[4]?e[4]+q:e[4],f||e[5]!==b[5]?e[5]:e[5]+q,f&&e[1]===b[1]?e[1]+q:e[1],f||e[2]!==b[2]?e[2]:e[2]+q)):b=null;return b},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,
  "plotLines")},addPlotBandOrLine:function(f,h){var e=(new a.PlotLineOrBand(this,f)).render(),b=this.userOptions;e&&(h&&(b[h]=b[h]||[],b[h].push(f)),this.plotLinesAndBands.push(e));return e},removePlotBandOrLine:function(a){for(var f=this.plotLinesAndBands,e=this.options,b=this.userOptions,l=f.length;l--;)f[l].id===a&&f[l].destroy();t([e.plotLines||[],b.plotLines||[],e.plotBands||[],b.plotBands||[]],function(b){for(l=b.length;l--;)b[l].id===a&&p(b,b[l])})}}})(I);(function(a){var E=a.addEvent,y=a.animObject,
  C=a.arrayMax,D=a.arrayMin,t=a.AxisPlotLineOrBandExtension,p=a.color,r=a.correctFloat,m=a.defaultOptions,f=a.defined,h=a.deg2rad,e=a.destroyObjectProperties,b=a.each,l=a.extend,q=a.fireEvent,g=a.format,B=a.getMagnitude,d=a.grep,n=a.inArray,z=a.isArray,v=a.isNumber,c=a.isString,k=a.merge,w=a.normalizeTickInterval,G=a.pick,u=a.PlotLineOrBand,F=a.removeEvent,J=a.splat,L=a.syncTimeout,K=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",
  second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",
  lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},
  defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,d){var c=d.isX;this.chart=a;this.horiz=a.inverted?!c:c;this.isXAxis=c;this.coll=this.coll||(c?"xAxis":"yAxis");this.opposite=d.opposite;this.side=d.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(d);var b=this.options,g=b.type;this.labelFormatter=b.labels.formatter||
  this.defaultLabelFormatter;this.userOptions=d;this.minPixelPadding=0;this.reversed=b.reversed;this.visible=!1!==b.visible;this.zoomEnabled=!1!==b.zoomEnabled;this.hasNames="category"===g||!0===b.categories;this.categories=b.categories||this.hasNames;this.names=this.names||[];this.plotLinesAndBandsGroups={};this.isLog="logarithmic"===g;this.isDatetimeAxis="datetime"===g;this.positiveValuesOnly=this.isLog&&!this.allowNegativeLog;this.isLinked=f(b.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks=
  {};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=b.minRange||b.maxZoom;this.range=b.range;this.offset=b.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=G(b.crosshair,J(a.options.tooltip.crosshairs)[c?0:1],!1);var x;d=this.options.events;-1===n(this,a.axes)&&(c?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&c&&void 0===this.reversed&&
  (this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(x in d)E(this,x,d[x]);this.lin2log=b.linearToLogConverter||this.lin2log;this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=k(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],k(m[this.coll],a))},defaultLabelFormatter:function(){var d=
  this.axis,c=this.value,b=d.categories,k=this.dateTimeLabelFormat,u=m.lang,n=u.numericSymbols,u=u.numericSymbolMagnitude||1E3,f=n&&n.length,e,v=d.options.labels.format,d=d.isLog?Math.abs(c):d.tickInterval;if(v)e=g(v,this);else if(b)e=c;else if(k)e=a.dateFormat(k,c);else if(f&&1E3<=d)for(;f--&&void 0===e;)b=Math.pow(u,f+1),d>=b&&0===10*c%b&&null!==n[f]&&0!==c&&(e=a.numberFormat(c/b,-1)+n[f]);void 0===e&&(e=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return e},getSeriesExtremes:function(){var a=
  this,c=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();b(a.series,function(b){if(b.visible||!c.options.chart.ignoreHiddenSeries){var g=b.options,x=g.threshold,k;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=x&&(x=null);if(a.isXAxis)g=b.xData,g.length&&(b=D(g),v(b)||b instanceof Date||(g=d(g,function(a){return v(a)}),b=D(g)),a.dataMin=Math.min(G(a.dataMin,g[0]),b),a.dataMax=Math.max(G(a.dataMax,g[0]),C(g)));else if(b.getExtremes(),
  k=b.dataMax,b=b.dataMin,f(b)&&f(k)&&(a.dataMin=Math.min(G(a.dataMin,b),b),a.dataMax=Math.max(G(a.dataMax,k),k)),f(x)&&(a.threshold=x),!g.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,d,c,b,g,k){var x=this.linkedParent||this,u=1,n=0,e=b?x.oldTransA:x.transA;b=b?x.oldMin:x.min;var f=x.minPixelPadding;g=(x.isOrdinal||x.isBroken||x.isLog&&g)&&x.lin2val;e||(e=x.transA);c&&(u*=-1,n=x.len);x.reversed&&(u*=-1,n-=u*(x.sector||x.len));d?(a=(a*u+n-f)/e+b,g&&(a=x.lin2val(a))):
  (g&&(a=x.val2lin(a)),a=u*(a-b)*e+n+u*f+(v(k)?e*k:0));return a},toPixels:function(a,d){return this.translate(a,!1,!this.horiz,null,!0)+(d?0:this.pos)},toValue:function(a,d){return this.translate(a-(d?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,d,c,b,g){var x=this.chart,k=this.left,u=this.top,n,e,f=c&&x.oldChartHeight||x.chartHeight,l=c&&x.oldChartWidth||x.chartWidth,h;n=this.transB;var z=function(a,d,c){if(a<d||a>c)b?a=Math.min(Math.max(d,a),c):h=!0;return a};g=G(g,this.translate(a,
  null,null,c));a=c=Math.round(g+n);n=e=Math.round(f-g-n);v(g)?this.horiz?(n=u,e=f-this.bottom,a=c=z(a,k,k+this.width)):(a=k,c=l-this.right,n=e=z(n,u,u+this.height)):h=!0;return h&&!b?null:x.renderer.crispLine(["M",a,n,"L",c,e],d||1)},getLinearTickPositions:function(a,d,c){var b,g=r(Math.floor(d/a)*a);c=r(Math.ceil(c/a)*a);var x=[];if(this.single)return[d];for(d=g;d<=c;){x.push(d);d=r(d+a);if(d===b)break;b=d}return x},getMinorTickPositions:function(){var a=this,d=a.options,c=a.tickPositions,g=a.minorTickInterval,
  k=[],u=a.pointRangePadding||0,n=a.min-u,u=a.max+u,e=u-n;if(e&&e/g<a.len/3)if(a.isLog)b(this.paddedTicks,function(d,c,b){c&&k.push.apply(k,a.getLogTickPositions(g,b[c-1],b[c],!0))});else if(a.isDatetimeAxis&&"auto"===d.minorTickInterval)k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(g),n,u,d.startOfWeek));else for(d=n+(c[0]-n)%g;d<=u&&d!==k[0];d+=g)k.push(d);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,d=this.min,c=this.max,g,k=this.dataMax-this.dataMin>=
  this.minRange,u,n,e,v,l,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(f(a.min)||f(a.max)?this.minRange=null:(b(this.series,function(a){v=a.xData;for(n=l=a.xIncrement?1:v.length-1;0<n;n--)if(e=v[n]-v[n-1],void 0===u||e<u)u=e}),this.minRange=Math.min(5*u,this.dataMax-this.dataMin)));c-d<this.minRange&&(h=this.minRange,g=(h-c+d)/2,g=[d-g,G(a.min,d-g)],k&&(g[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),d=C(g),c=[d+h,G(a.max,d+h)],k&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),
  c=D(c),c-d<h&&(g[0]=c-h,g[1]=G(a.min,c-h),d=C(g)));this.min=d;this.max=c},getClosest:function(){var a;this.categories?a=1:b(this.series,function(d){var c=d.closestPointRange,b=d.visible||!d.chart.options.chart.ignoreHiddenSeries;!d.noSharedTooltip&&f(c)&&b&&(a=f(a)?Math.min(a,c):c)});return a},nameToX:function(a){var d=z(this.categories),c=d?this.categories:this.names,b=a.options.x,g;a.series.requireSorting=!1;f(b)||(b=!1===this.options.uniqueNames?a.series.autoIncrement():n(a.name,c));-1===b?d||
  (g=c.length):g=b;void 0!==g&&(this.names[g]=a.name);return g},updateNames:function(){var a=this;0<this.names.length&&(this.names.length=0,this.minRange=void 0,b(this.series||[],function(d){d.xIncrement=null;if(!d.points||d.isDirtyData)d.processData(),d.generatePoints();b(d.points,function(c,b){var g;c.options&&(g=a.nameToX(c),void 0!==g&&g!==c.x&&(c.x=g,d.xData[b]=g))})}))},setAxisTranslation:function(a){var d=this,g=d.max-d.min,k=d.axisPointRange||0,u,n=0,x=0,e=d.linkedParent,f=!!d.categories,v=
  d.transA,l=d.isXAxis;if(l||f||k)u=d.getClosest(),e?(n=e.minPointOffset,x=e.pointRangePadding):b(d.series,function(a){var b=f?1:l?G(a.options.pointRange,u,0):d.axisPointRange||0;a=a.options.pointPlacement;k=Math.max(k,b);d.single||(n=Math.max(n,c(a)?0:b/2),x=Math.max(x,"on"===a?0:b))}),e=d.ordinalSlope&&u?d.ordinalSlope/u:1,d.minPointOffset=n*=e,d.pointRangePadding=x*=e,d.pointRange=Math.min(k,g),l&&(d.closestPointRange=u);a&&(d.oldTransA=v);d.translationSlope=d.transA=v=d.options.staticScale||d.len/
  (g+x||1);d.transB=d.horiz?d.left:d.bottom;d.minPixelPadding=v*n},minFromRange:function(){return this.max-this.range},setTickInterval:function(d){var c=this,g=c.chart,k=c.options,u=c.isLog,n=c.log2lin,x=c.isDatetimeAxis,e=c.isXAxis,l=c.isLinked,h=k.maxPadding,z=k.minPadding,F=k.tickInterval,m=k.tickPixelInterval,p=c.categories,J=c.threshold,K=c.softThreshold,t,L,y,C;x||p||l||this.getTickAmount();y=G(c.userMin,k.min);C=G(c.userMax,k.max);l?(c.linkedParent=g[c.coll][k.linkedTo],g=c.linkedParent.getExtremes(),
  c.min=G(g.min,g.dataMin),c.max=G(g.max,g.dataMax),k.type!==c.linkedParent.options.type&&a.error(11,1)):(!K&&f(J)&&(c.dataMin>=J?(t=J,z=0):c.dataMax<=J&&(L=J,h=0)),c.min=G(y,t,c.dataMin),c.max=G(C,L,c.dataMax));u&&(c.positiveValuesOnly&&!d&&0>=Math.min(c.min,G(c.dataMin,c.min))&&a.error(10,1),c.min=r(n(c.min),15),c.max=r(n(c.max),15));c.range&&f(c.max)&&(c.userMin=c.min=y=Math.max(c.min,c.minFromRange()),c.userMax=C=c.max,c.range=null);q(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();
  !(p||c.axisPointRange||c.usePercentage||l)&&f(c.min)&&f(c.max)&&(n=c.max-c.min)&&(!f(y)&&z&&(c.min-=n*z),!f(C)&&h&&(c.max+=n*h));v(k.softMin)&&(c.min=Math.min(c.min,k.softMin));v(k.softMax)&&(c.max=Math.max(c.max,k.softMax));v(k.floor)&&(c.min=Math.max(c.min,k.floor));v(k.ceiling)&&(c.max=Math.min(c.max,k.ceiling));K&&f(c.dataMin)&&(J=J||0,!f(y)&&c.min<J&&c.dataMin>=J?c.min=J:!f(C)&&c.max>J&&c.dataMax<=J&&(c.max=J));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:l&&!F&&m===c.linkedParent.options.tickPixelInterval?
  F=c.linkedParent.tickInterval:G(F,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,p?1:(c.max-c.min)*m/Math.max(c.len,m));e&&!d&&b(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!F&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));d=G(k.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);
  !F&&c.tickInterval<d&&(c.tickInterval=d);x||u||F||(c.tickInterval=w(c.tickInterval,null,B(c.tickInterval),G(k.allowDecimals,!(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,c,d=a.tickPositions,b=a.tickPositioner,g=a.startOnTick,k=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval=
  "auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&&f(this.min)&&!this.tickAmount&&!1!==a.allowDecimals;this.tickPositions=c=d&&d.slice();!c&&(c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,
  this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()]),this.tickPositions=c,b&&(b=b.apply(this,[this.min,this.max])))&&(this.tickPositions=c=b);this.paddedTicks=c.slice(0);this.trimTicks(c,g,k);this.isLinked||(this.single&&(this.min-=.5,this.max+=.5),d||b||this.adjustTickAmount())},trimTicks:function(a,c,d){var b=a[0],g=a[a.length-1],k=this.minPointOffset||0;if(!this.isLinked){if(c&&-Infinity!==b)this.min=b;else for(;this.min-k>a[0];)a.shift();if(d)this.max=g;else for(;this.max+k<a[a.length-1];)a.pop();
  0===a.length&&f(b)&&a.push((g+b)/2)}},alignToOthers:function(){var a={},c,d=this.options;!1===this.chart.options.chart.alignTicks||!1===d.alignTicks||this.isLog||b(this.chart[this.coll],function(d){var b=d.options,b=[d.horiz?b.left:b.top,b.width,b.height,b.pane].join();d.series.length&&(a[b]?c=!0:a[b]=1)});return c},getTickAmount:function(){var a=this.options,c=a.tickAmount,d=a.tickPixelInterval;!f(a.tickInterval)&&this.len<d&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(c=2);!c&&this.alignToOthers()&&
  (c=Math.ceil(this.len/d)+1);4>c&&(this.finalTickAmt=c,c=5);this.tickAmount=c},adjustTickAmount:function(){var a=this.tickInterval,c=this.tickPositions,d=this.tickAmount,b=this.finalTickAmt,g=c&&c.length;if(g<d){for(;c.length<d;)c.push(r(c[c.length-1]+a));this.transA*=(g-1)/(d-1);this.max=c[c.length-1]}else g>d&&(this.tickInterval*=2,this.setTickPositions());if(f(b)){for(a=d=c.length;a--;)(3===b&&1===a%2||2>=b&&0<a&&a<d-1)&&c.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,c;this.oldMin=
  this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();c=this.len!==this.oldAxisLength;b(this.series,function(c){if(c.isDirtyData||c.isDirty||c.xAxis.isDirty)a=!0});c||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=
  c||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(a,c,d,g,k){var u=this,n=u.chart;d=G(d,!0);b(u.series,function(a){delete a.kdTree});k=l(k,{min:a,max:c});q(u,"setExtremes",k,function(){u.userMin=a;u.userMax=c;u.eventArgs=k;d&&n.redraw(g)})},zoom:function(a,c){var d=this.dataMin,b=this.dataMax,g=this.options,k=Math.min(d,G(g.min,d)),g=Math.max(b,G(g.max,b));if(a!==this.min||c!==this.max)this.allowZoomOutside||(f(d)&&(a<k&&(a=k),a>g&&(a=g)),
  f(b)&&(c<k&&(c=k),c>g&&(c=g))),this.displayBtn=void 0!==a||void 0!==c,this.setExtremes(a,c,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,c=this.options,d=c.offsets||[0,0,0,0],b=this.horiz,g=G(c.width,a.plotWidth-d[3]+d[1]),k=G(c.height,a.plotHeight-d[0]+d[2]),u=G(c.top,a.plotTop+d[0]),c=G(c.left,a.plotLeft+d[3]),d=/%$/;d.test(k)&&(k=Math.round(parseFloat(k)/100*a.plotHeight));d.test(u)&&(u=Math.round(parseFloat(u)/100*a.plotHeight+a.plotTop));this.left=c;this.top=u;
  this.width=g;this.height=k;this.bottom=a.chartHeight-k-u;this.right=a.chartWidth-g-c;this.len=Math.max(b?g:k,0);this.pos=b?c:u},getExtremes:function(){var a=this.isLog,c=this.lin2log;return{min:a?r(c(this.min)):this.min,max:a?r(c(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var c=this.isLog,d=this.lin2log,b=c?d(this.min):this.min,c=c?d(this.max):this.max;null===a?a=b:b>a?a=b:c<a&&(a=c);return this.translate(a,0,
  1,0,1)},autoLabelAlign:function(a){a=(G(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var c=this.options,d=c[a+"Length"],b=G(c[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(b&&d)return"inside"===c[a+"Position"]&&(d=-d),[d,b]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,c=this.horiz,
  d=this.tickInterval,g=d,k=this.len/(((this.categories?1:0)+this.max-this.min)/d),u,n=a.rotation,e=this.labelMetrics(),v,l=Number.MAX_VALUE,z,w=function(a){a/=k||1;a=1<a?Math.ceil(a):1;return a*d};c?(z=!a.staggerLines&&!a.step&&(f(n)?[n]:k<G(a.autoRotationLimit,80)&&a.autoRotation))&&b(z,function(a){var c;if(a===n||a&&-90<=a&&90>=a)v=w(Math.abs(e.h/Math.sin(h*a))),c=v+Math.abs(a/360),c<l&&(l=c,u=a,g=v)}):a.step||(g=w(e.h));this.autoRotation=z;this.labelRotation=G(u,n);return g},getSlotWidth:function(){var a=
  this.chart,c=this.horiz,d=this.options.labels,b=Math.max(this.tickPositions.length-(this.categories?0:1),1),g=a.margin[3];return c&&2>(d.step||0)&&!d.rotation&&(this.staggerLines||1)*this.len/b||!c&&(g&&g-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,g=this.tickPositions,u=this.ticks,n=this.options.labels,e=this.horiz,f=this.getSlotWidth(),v=Math.max(1,Math.round(f-2*(n.padding||5))),l={},h=this.labelMetrics(),z=n.style&&n.style.textOverflow,w,F=0,q,B;c(n.rotation)||
  (l.rotation=n.rotation||0);b(g,function(a){(a=u[a])&&a.labelLength>F&&(F=a.labelLength)});this.maxLabelLength=F;if(this.autoRotation)F>v&&F>h.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(f&&(w={width:v+"px"},!z))for(w.textOverflow="clip",q=g.length;!e&&q--;)if(B=g[q],v=u[B].label)v.styles&&"ellipsis"===v.styles.textOverflow?v.css({textOverflow:"clip"}):u[B].labelLength>f&&v.css({width:f+"px"}),v.getBBox().height>this.len/g.length-(h.h-h.f)&&(v.specCss={textOverflow:"ellipsis"});l.rotation&&
  (w={width:(F>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},z||(w.textOverflow="ellipsis"));if(this.labelAlign=n.align||this.autoLabelAlign(this.labelRotation))l.align=this.labelAlign;b(g,function(a){var c=(a=u[a])&&a.label;c&&(c.attr(l),w&&c.css(k(w,c.specCss)),delete c.specCss,a.rotation=l.rotation)});this.tickRotCorr=d.rotCorr(h.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||f(this.min)&&f(this.max)&&!!this.tickPositions},addTitle:function(a){var c=
  this.chart.renderer,d=this.horiz,b=this.opposite,g=this.options.title,k;this.axisTitle||((k=g.textAlign)||(k=(d?{low:"left",middle:"center",high:"right"}:{low:b?"right":"left",middle:"center",high:b?"left":"right"})[g.align]),this.axisTitle=c.text(g.text,0,0,g.useHTML).attr({zIndex:7,rotation:g.rotation||0,align:k}).addClass("highcharts-axis-title").css(g.style).add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var c=this.ticks;c[a]?c[a].addLabel():
  c[a]=new K(this,a)},getOffset:function(){var a=this,c=a.chart,d=c.renderer,g=a.options,k=a.tickPositions,u=a.ticks,n=a.horiz,e=a.side,v=c.inverted?[1,0,3,2][e]:e,l,h,z=0,w,F=0,q=g.title,B=g.labels,m=0,J=c.axisOffset,c=c.clipOffset,p=[-1,1,1,-1][e],r,K=g.className,t=a.axisParent,L=this.tickSize("tick");l=a.hasData();a.showAxis=h=l||G(g.showEmpty,!0);a.staggerLines=a.horiz&&B.staggerLines;a.axisGroup||(a.gridGroup=d.g("grid").attr({zIndex:g.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+
  "-grid "+(K||"")).add(t),a.axisGroup=d.g("axis").attr({zIndex:g.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(K||"")).add(t),a.labelGroup=d.g("axis-labels").attr({zIndex:B.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(K||"")).add(t));if(l||a.isLinked)b(k,function(c,d){a.generateTick(c,d)}),a.renderUnsquish(),!1===B.reserveSpace||0!==e&&2!==e&&{1:"left",3:"right"}[e]!==a.labelAlign&&"center"!==a.labelAlign||b(k,function(a){m=Math.max(u[a].getLabelSize(),m)}),
  a.staggerLines&&(m*=a.staggerLines,a.labelOffset=m*(a.opposite?-1:1));else for(r in u)u[r].destroy(),delete u[r];q&&q.text&&!1!==q.enabled&&(a.addTitle(h),h&&(z=a.axisTitle.getBBox()[n?"height":"width"],w=q.offset,F=f(w)?0:G(q.margin,n?5:10)));a.renderLine();a.offset=p*G(g.offset,J[e]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};d=0===e?-a.labelMetrics().h:2===e?a.tickRotCorr.y:0;F=Math.abs(m)+F;m&&(F=F-d+p*(n?G(B.y,a.tickRotCorr.y+8*p):B.x));a.axisTitleMargin=G(w,F);J[e]=Math.max(J[e],a.axisTitleMargin+
  z+p*a.offset,F,l&&k.length&&L?L[0]+p*a.offset:0);g=g.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);c[v]=Math.max(c[v],g)},getLinePath:function(a){var c=this.chart,d=this.opposite,b=this.offset,g=this.horiz,k=this.left+(d?this.width:0)+b,b=c.chartHeight-this.bottom-(d?this.height:0)+b;d&&(a*=-1);return c.renderer.crispLine(["M",g?this.left:k,g?b:this.top,"L",g?c.chartWidth-this.right:k,g?b:c.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),
  this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,c=this.left,d=this.top,b=this.len,g=this.options.title,k=a?c:d,u=this.opposite,n=this.offset,e=g.x||0,f=g.y||0,v=this.chart.renderer.fontMetrics(g.style&&g.style.fontSize,this.axisTitle).f,b={low:k+(a?0:b),middle:k+b/2,high:k+(a?b:0)}[g.align],c=(a?d+this.height:c)+(a?1:-1)*(u?-1:1)*this.axisTitleMargin+(2===this.side?v:0);return{x:a?b+e:c+(u?this.width:
  0)+n+e,y:a?c+f-(u?this.height:0)+n:b+f}},renderMinorTick:function(a){var c=this.chart.hasRendered&&v(this.oldMin),d=this.minorTicks;d[a]||(d[a]=new K(this,a,"minor"));c&&d[a].isNew&&d[a].render(null,!0);d[a].render(null,!1,1)},renderTick:function(a,c){var d=this.isLinked,b=this.ticks,g=this.chart.hasRendered&&v(this.oldMin);if(!d||a>=this.min&&a<=this.max)b[a]||(b[a]=new K(this,a)),g&&b[a].isNew&&b[a].render(c,!0,.1),b[a].render(c)},render:function(){var a=this,c=a.chart,d=a.options,g=a.isLog,k=a.lin2log,
  n=a.isLinked,e=a.tickPositions,f=a.axisTitle,v=a.ticks,l=a.minorTicks,h=a.alternateBands,z=d.stackLabels,w=d.alternateGridColor,F=a.tickmarkOffset,q=a.axisLine,B=a.showAxis,G=y(c.renderer.globalAnimation),m,J;a.labelEdge.length=0;a.overlap=!1;b([v,l,h],function(a){for(var c in a)a[c].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&b(a.getMinorTickPositions(),function(c){a.renderMinorTick(c)}),e.length&&(b(e,function(c,d){a.renderTick(c,d)}),F&&(0===a.min||a.single)&&(v[-1]||(v[-1]=
  new K(a,-1,null,!0)),v[-1].render(-1))),w&&b(e,function(d,b){J=void 0!==e[b+1]?e[b+1]+F:a.max-F;0===b%2&&d<a.max&&J<=a.max+(c.polar?-F:F)&&(h[d]||(h[d]=new u(a)),m=d+F,h[d].options={from:g?k(m):m,to:g?k(J):J,color:w},h[d].render(),h[d].isActive=!0)}),a._addedPlotLB||(b((d.plotLines||[]).concat(d.plotBands||[]),function(c){a.addPlotBandOrLine(c)}),a._addedPlotLB=!0);b([v,l,h],function(a){var d,b,g=[],k=G.duration;for(d in a)a[d].isActive||(a[d].render(d,!1,0),a[d].isActive=!1,g.push(d));L(function(){for(b=
  g.length;b--;)a[g[b]]&&!a[g[b]].isActive&&(a[g[b]].destroy(),delete a[g[b]])},a!==h&&c.hasRendered&&k?k:0)});q&&(q[q.isPlaced?"animate":"attr"]({d:this.getLinePath(q.strokeWidth())}),q.isPlaced=!0,q[B?"show":"hide"](!0));f&&B&&(f[f.isNew?"attr":"animate"](a.getTitlePosition()),f.isNew=!1);z&&z.enabled&&a.renderStackTotals();a.isDirty=!1},redraw:function(){this.visible&&(this.render(),b(this.plotLinesAndBands,function(a){a.render()}));b(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),
  destroy:function(a){var c=this,d=c.stacks,g,k=c.plotLinesAndBands,u,f;a||F(c);for(g in d)e(d[g]),d[g]=null;b([c.ticks,c.minorTicks,c.alternateBands],function(a){e(a)});if(k)for(a=k.length;a--;)k[a].destroy();b("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){c[a]&&(c[a]=c[a].destroy())});for(u in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[u]=c.plotLinesAndBandsGroups[u].destroy();for(f in c)c.hasOwnProperty(f)&&-1===n(f,c.keepProps)&&delete c[f]},
  drawCrosshair:function(a,c){var d,b=this.crosshair,g=G(b.snap,!0),k,u=this.cross;a||(a=this.cross&&this.cross.e);this.crosshair&&!1!==(f(c)||!g)?(g?f(c)&&(k=this.isXAxis?c.plotX:this.len-c.plotY):k=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),f(k)&&(d=this.getPlotLinePath(c&&(this.isXAxis?c.x:G(c.stackY,c.y)),null,null,null,k)||null),f(d)?(c=this.categories&&!this.isRadial,u||(this.cross=u=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(c?"category ":
  "thin ")+b.className).attr({zIndex:G(b.zIndex,2)}).add(),u.attr({stroke:b.color||(c?p("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":G(b.width,1)}),b.dashStyle&&u.attr({dashstyle:b.dashStyle})),u.show().attr({d:d}),c&&!b.width&&u.attr({"stroke-width":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}};l(a.Axis.prototype,t)})(I);(function(a){var E=a.Axis,y=a.Date,C=a.dateFormat,D=a.defaultOptions,t=a.defined,
  p=a.each,r=a.extend,m=a.getMagnitude,f=a.getTZOffset,h=a.normalizeTickInterval,e=a.pick,b=a.timeUnits;E.prototype.getTimeTicks=function(a,h,g,B){var d=[],n={},l=D.global.useUTC,v,c=new y(h-Math.abs(f(h))),k=y.hcMakeTime,w=a.unitRange,q=a.count,u;if(t(h)){c[y.hcSetMilliseconds](w>=b.second?0:q*Math.floor(c.getMilliseconds()/q));if(w>=b.second)c[y.hcSetSeconds](w>=b.minute?0:q*Math.floor(c.getSeconds()/q));if(w>=b.minute)c[y.hcSetMinutes](w>=b.hour?0:q*Math.floor(c[y.hcGetMinutes]()/q));if(w>=b.hour)c[y.hcSetHours](w>=
  b.day?0:q*Math.floor(c[y.hcGetHours]()/q));if(w>=b.day)c[y.hcSetDate](w>=b.month?1:q*Math.floor(c[y.hcGetDate]()/q));w>=b.month&&(c[y.hcSetMonth](w>=b.year?0:q*Math.floor(c[y.hcGetMonth]()/q)),v=c[y.hcGetFullYear]());if(w>=b.year)c[y.hcSetFullYear](v-v%q);if(w===b.week)c[y.hcSetDate](c[y.hcGetDate]()-c[y.hcGetDay]()+e(B,1));v=c[y.hcGetFullYear]();B=c[y.hcGetMonth]();var F=c[y.hcGetDate](),m=c[y.hcGetHours]();if(y.hcTimezoneOffset||y.hcGetTimezoneOffset)u=(!l||!!y.hcGetTimezoneOffset)&&(g-h>4*b.month||
  f(h)!==f(g)),c=c.getTime(),c=new y(c+f(c));l=c.getTime();for(h=1;l<g;)d.push(l),l=w===b.year?k(v+h*q,0):w===b.month?k(v,B+h*q):!u||w!==b.day&&w!==b.week?u&&w===b.hour?k(v,B,F,m+h*q):l+w*q:k(v,B,F+h*q*(w===b.day?1:7)),h++;d.push(l);w<=b.hour&&1E4>d.length&&p(d,function(a){0===a%18E5&&"000000000"===C("%H%M%S%L",a)&&(n[a]="day")})}d.info=r(a,{higherRanks:n,totalRange:w*q});return d};E.prototype.normalizeTimeTickInterval=function(a,e){var g=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",
  [1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];e=g[g.length-1];var f=b[e[0]],d=e[1],n;for(n=0;n<g.length&&!(e=g[n],f=b[e[0]],d=e[1],g[n+1]&&a<=(f*d[d.length-1]+b[g[n+1][0]])/2);n++);f===b.year&&a<5*f&&(d=[1,2,5]);a=h(a/f,d,"year"===e[0]?Math.max(m(a/f),1):1);return{unitRange:f,count:a,unitName:e[0]}}})(I);(function(a){var E=a.Axis,y=a.getMagnitude,C=a.map,D=a.normalizeTickInterval,t=a.pick;E.prototype.getLogTickPositions=
  function(a,r,m,f){var h=this.options,e=this.len,b=this.lin2log,l=this.log2lin,q=[];f||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),q=this.getLinearTickPositions(a,r,m);else if(.08<=a)for(var e=Math.floor(r),g,B,d,n,z,h=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];e<m+1&&!z;e++)for(B=h.length,g=0;g<B&&!z;g++)d=l(b(e)*h[g]),d>r&&(!f||n<=m)&&void 0!==n&&q.push(n),n>m&&(z=!0),n=d;else r=b(r),m=b(m),a=h[f?"minorTickInterval":"tickInterval"],a=t("auto"===a?null:a,this._minorAutoInterval,
  h.tickPixelInterval/(f?5:1)*(m-r)/((f?e/this.tickPositions.length:e)||1)),a=D(a,null,y(a)),q=C(this.getLinearTickPositions(a,r,m),l),f||(this._minorAutoInterval=a/5);f||(this.tickInterval=a);return q};E.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};E.prototype.lin2log=function(a){return Math.pow(10,a)}})(I);(function(a){var E=a.dateFormat,y=a.each,C=a.extend,D=a.format,t=a.isNumber,p=a.map,r=a.merge,m=a.pick,f=a.splat,h=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,
  arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){y(this.chart.series,function(b){var e=b&&b.tt;e&&(!e.isActive||a?b.tt=e.destroy():e.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label||(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,
  null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},
  move:function(a,e,f,g){var b=this,d=b.now,n=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(a-d.x)||1<Math.abs(e-d.y)),l=b.followPointer||1<b.len;C(d,{x:n?(2*d.x+a)/3:a,y:n?(d.y+e)/2:e,anchorX:l?void 0:n?(2*d.anchorX+f)/3:f,anchorY:l?void 0:n?(d.anchorY+g)/2:g});b.getLabel().attr(d);n&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(a,e,f,g)},32))},hide:function(a){var b=this;clearTimeout(this.hideTimer);a=m(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=
  h(function(){b.getLabel()[a?"fadeOut":"hide"]();b.isHidden=!0},a))},getAnchor:function(a,e){var b,g=this.chart,l=g.inverted,d=g.plotTop,n=g.plotLeft,h=0,v=0,c,k;a=f(a);b=a[0].tooltipPos;this.followPointer&&e&&(void 0===e.chartX&&(e=g.pointer.normalize(e)),b=[e.chartX-g.plotLeft,e.chartY-d]);b||(y(a,function(a){c=a.series.yAxis;k=a.series.xAxis;h+=a.plotX+(!l&&k?k.left-n:0);v+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!l&&c?c.top-d:0)}),h/=a.length,v/=a.length,b=[l?g.plotWidth-v:h,this.shared&&
  !l&&1<a.length&&e?e.chartY-d:l?g.plotHeight-h:v]);return p(b,Math.round)},getPosition:function(a,e,f){var b=this.chart,l=this.distance,d={},n=f.h||0,h,v=["y",b.chartHeight,e,f.plotY+b.plotTop,b.plotTop,b.plotTop+b.plotHeight],c=["x",b.chartWidth,a,f.plotX+b.plotLeft,b.plotLeft,b.plotLeft+b.plotWidth],k=!this.followPointer&&m(f.ttBelow,!b.inverted===!!f.negative),w=function(a,c,b,g,u,e){var f=b<g-l,v=g+l+b<c,h=g-l-b;g+=l;if(k&&v)d[a]=g;else if(!k&&f)d[a]=h;else if(f)d[a]=Math.min(e-b,0>h-n?h:h-n);
  else if(v)d[a]=Math.max(u,g+n+b>c?g:g+n);else return!1},q=function(a,c,b,g){var k;g<l||g>c-l?k=!1:d[a]=g<b/2?1:g>c-b/2?c-b-2:g-b/2;return k},u=function(a){var d=v;v=c;c=d;h=a},F=function(){!1!==w.apply(0,v)?!1!==q.apply(0,c)||h||(u(!0),F()):h?d.x=d.y=0:(u(!0),F())};(b.inverted||1<this.len)&&u();F();return d},defaultFormatter:function(a){var b=this.points||f(this),e;e=[a.tooltipFooterHeaderFormatter(b[0])];e=e.concat(a.bodyFormatter(b));e.push(a.tooltipFooterHeaderFormatter(b[0],!0));return e},refresh:function(a,
  e){var b,g=this.options,h,d=a,n,l={},v=[];b=g.formatter||this.defaultFormatter;var l=this.shared,c;clearTimeout(this.hideTimer);this.followPointer=f(d)[0].series.tooltipOptions.followPointer;n=this.getAnchor(d,e);e=n[0];h=n[1];!l||d.series&&d.series.noSharedTooltip?l=d.getLabelConfig():(y(d,function(a){a.setState("hover");v.push(a.getLabelConfig())}),l={x:d[0].category,y:d[0].y},l.points=v,d=d[0]);this.len=v.length;l=b.call(l,this);c=d.series;this.distance=m(c.tooltipOptions.distance,16);!1===l?this.hide():
  (b=this.getLabel(),this.isHidden&&b.attr({opacity:1}).show(),this.split?this.renderSplit(l,a):(b.attr({text:l&&l.join?l.join(""):l}),b.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+m(d.colorIndex,c.colorIndex)),b.attr({stroke:g.borderColor||d.color||c.color||"#666666"}),this.updatePosition({plotX:e,plotY:h,negative:d.negative,ttBelow:d.ttBelow,h:n[2]||0})),this.isHidden=!1)},renderSplit:function(b,e){var f=this,g=[],l=this.chart,d=l.renderer,n=!0,h=this.options,v,c=this.getLabel();
  y(b.slice(0,e.length+1),function(a,b){b=e[b-1]||{isHeader:!0,plotX:e[0].plotX};var k=b.series||f,u=k.tt,F=b.series||{},z="highcharts-color-"+m(b.colorIndex,F.colorIndex,"none");u||(k.tt=u=d.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+z).attr({padding:h.padding,r:h.borderRadius,fill:h.backgroundColor,stroke:b.color||F.color||"#333333","stroke-width":h.borderWidth}).add(c));u.isActive=!0;u.attr({text:a});u.css(h.style);a=u.getBBox();F=a.width+u.strokeWidth();b.isHeader?(v=a.height,
  F=Math.max(0,Math.min(b.plotX+l.plotLeft-F/2,l.chartWidth-F))):F=b.plotX+l.plotLeft-m(h.distance,16)-F;0>F&&(n=!1);a=(b.series&&b.series.yAxis&&b.series.yAxis.pos)+(b.plotY||0);a-=l.plotTop;g.push({target:b.isHeader?l.plotHeight+v:a,rank:b.isHeader?1:0,size:k.tt.getBBox().height+1,point:b,x:F,tt:u})});this.cleanSplit();a.distribute(g,l.plotHeight+v);y(g,function(a){var c=a.point,d=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:n||c.isHeader?a.x:c.plotX+l.plotLeft+m(h.distance,
  16),y:a.pos+l.plotTop,anchorX:c.isHeader?c.plotX+l.plotLeft:c.plotX+d.xAxis.pos,anchorY:c.isHeader?a.pos+l.plotTop-15:c.plotY+d.yAxis.pos})})},updatePosition:function(a){var b=this.chart,e=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,e.width,e.height,a);this.move(Math.round(e.x),Math.round(e.y||0),a.plotX+b.plotLeft,a.plotY+b.plotTop)},getDateFormat:function(a,f,h,g){var b=E("%m-%d %H:%M:%S.%L",f),d,n,l={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond";for(n in e){if(a===
  e.week&&+E("%w",f)===h&&"00:00:00.000"===b.substr(6)){n="week";break}if(e[n]>a){n=v;break}if(l[n]&&b.substr(l[n])!=="01-01 00:00:00.000".substr(l[n]))break;"week"!==n&&(v=n)}n&&(d=g[n]);return d},getXDateFormat:function(a,e,f){e=e.dateTimeLabelFormats;var b=f&&f.closestPointRange;return(b?this.getDateFormat(b,a.x,f.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){var b=e?"footer":"header";e=a.series;var g=e.tooltipOptions,f=g.xDateFormat,d=e.xAxis,n=d&&"datetime"===
  d.options.type&&t(a.key),b=g[b+"Format"];n&&!f&&(f=this.getXDateFormat(a,g,d));n&&f&&(b=b.replace("{point.key}","{point.key:"+f+"}"));return D(b,{point:a,series:e})},bodyFormatter:function(a){return p(a,function(a){var b=a.series.tooltipOptions;return(b.pointFormatter||a.point.tooltipFormatter).call(a.point,b.pointFormat)})}}})(I);(function(a){var E=a.addEvent,y=a.attr,C=a.charts,D=a.color,t=a.css,p=a.defined,r=a.doc,m=a.each,f=a.extend,h=a.fireEvent,e=a.offset,b=a.pick,l=a.removeEvent,q=a.splat,
  g=a.Tooltip,B=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,e){this.options=e;this.chart=a;this.runChartClick=e.chart.events&&!!e.chart.events.click;this.pinchDown=[];this.lastValidTouch={};g&&e.tooltip.enabled&&(a.tooltip=new g(a,e.tooltip),this.followTouchMove=b(e.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var d=this.chart,g=d.options.chart,e=g.zoomType||"",d=d.inverted;/touch/.test(a.type)&&(e=b(g.pinchType,e));this.zoomX=a=/x/.test(e);
  this.zoomY=e=/y/.test(e);this.zoomHor=a&&!d||e&&d;this.zoomVert=e&&!d||a&&d;this.hasZoom=a||e},normalize:function(a,b){var d,g;a=a||B.event;a.target||(a.target=a.srcElement);g=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=e(this.chart.container));void 0===g.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=g.pageX-b.left,b=g.pageY-b.top);return f(a,{chartX:Math.round(d),chartY:Math.round(b)})},getCoordinates:function(a){var d={xAxis:[],yAxis:[]};m(this.chart.axes,
  function(b){d[b.isXAxis?"xAxis":"yAxis"].push({axis:b,value:b.toValue(a[b.horiz?"chartX":"chartY"])})});return d},getKDPoints:function(a,g,e){var d=[],c,k,f;m(a,function(a){c=a.noSharedTooltip&&g;k=!g&&a.directTouch;a.visible&&!k&&b(a.options.enableMouseTracking,!0)&&(f=a.searchPoint(e,!c&&0>a.options.findNearestPointBy.indexOf("y")))&&f.series&&d.push(f)});d.sort(function(a,c){var d=a.distX-c.distX,b=a.dist-c.dist,k=(c.series.group&&c.series.group.zIndex)-(a.series.group&&a.series.group.zIndex);
  return 0!==d&&g?d:0!==b?b:0!==k?k:a.series.index>c.series.index?-1:1});if(g&&d[0]&&!d[0].series.noSharedTooltip)for(a=d.length;a--;)(d[a].x!==d[0].x||d[a].series.noSharedTooltip)&&d.splice(a,1);return d},getPointFromEvent:function(a){a=a.target;for(var d;a&&!d;)d=a.point,a=a.parentNode;return d},getHoverData:function(d,g,e,f,c,k){var n=d,v=g,u;f?c?(u=[],m(e,function(a){var d=a.noSharedTooltip&&c,g=!c&&a.directTouch;a.visible&&!d&&!g&&b(a.options.enableMouseTracking,!0)&&(a=a.searchKDTree({clientX:n.clientX,
  plotY:n.plotY},!d&&1===a.kdDimensions))&&a.series&&u.push(a)}),0===u.length&&(u=[n])):u=[n]:v&&!v.stickyTracking?(c||(e=[v]),u=this.getKDPoints(e,c,k),n=a.find(u,function(a){return a.series===v})):(d=a.grep(e,function(a){return a.stickyTracking}),u=this.getKDPoints(d,c,k),v=(n=u[0])&&n.series,c&&(u=this.getKDPoints(e,c,k)));u.sort(function(a,c){return a.series.index-c.series.index});return{hoverPoint:n,hoverSeries:v,hoverPoints:u}},runPointActions:function(d,g){var e=this.chart,f=e.tooltip,c=f?f.shared:
  !1,k=g||e.hoverPoint,n=k&&k.series||e.hoverSeries;g=this.getHoverData(k,n,e.series,!!g||!c&&n&&n.directTouch,c,d);var h,u,k=g.hoverPoint;h=(n=g.hoverSeries)&&n.tooltipOptions.followPointer;u=(c=c&&k&&!k.series.noSharedTooltip)?g.hoverPoints:k?[k]:[];if(k&&(k!==e.hoverPoint||f&&f.isHidden)){m(e.hoverPoints||[],function(c){-1===a.inArray(c,u)&&c.setState()});m(u||[],function(a){a.setState("hover")});if(e.hoverSeries!==n)n.onMouseOver();n&&!n.directTouch&&(e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),
  k.firePointEvent("mouseOver"));e.hoverPoints=u;e.hoverPoint=k;f&&f.refresh(c?u:k,d)}else h&&f&&!f.isHidden&&(k=f.getAnchor([{}],d),f.updatePosition({plotX:k[0],plotY:k[1]}));this.unDocMouseMove||(this.unDocMouseMove=E(r,"mousemove",function(c){var d=C[a.hoverChartIndex];if(d)d.pointer.onDocumentMouseMove(c)}));m(e.axes,function(a){b(a.crosshair.snap,!0)?m(u,function(c){c.series[a.coll]===a&&a.drawCrosshair(d,c)}):a.drawCrosshair(d)})},reset:function(a,b){var d=this.chart,g=d.hoverSeries,c=d.hoverPoint,
  e=d.hoverPoints,f=d.tooltip,n=f&&f.shared?e:c;a&&n&&m(q(n),function(c){c.series.isCartesian&&void 0===c.plotX&&(a=!1)});if(a)f&&n&&(f.refresh(n),c&&(c.setState(c.state,!0),m(d.axes,function(a){a.crosshair&&a.drawCrosshair(null,c)})));else{if(c)c.onMouseOut();e&&m(e,function(a){a.setState()});if(g)g.onMouseOut();f&&f.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());m(d.axes,function(a){a.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}},scaleGroups:function(a,
  b){var d=this.chart,g;m(d.series,function(c){g=a||c.getPlotBox();c.xAxis&&c.xAxis.zoomEnabled&&c.group&&(c.group.attr(g),c.markerGroup&&(c.markerGroup.attr(g),c.markerGroup.clip(b?d.clipRect:null)),c.dataLabelsGroup&&c.dataLabelsGroup.attr(g))});d.clipRect.attr(b||d.clipBox)},dragStart:function(a){var d=this.chart;d.mouseIsDown=a.type;d.cancelClick=!1;d.mouseDownX=this.mouseDownX=a.chartX;d.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var d=this.chart,b=d.options.chart,g=a.chartX,c=a.chartY,
  e=this.zoomHor,f=this.zoomVert,h=d.plotLeft,u=d.plotTop,l=d.plotWidth,q=d.plotHeight,B,m=this.selectionMarker,x=this.mouseDownX,r=this.mouseDownY,p=b.panKey&&a[b.panKey+"Key"];m&&m.touch||(g<h?g=h:g>h+l&&(g=h+l),c<u?c=u:c>u+q&&(c=u+q),this.hasDragged=Math.sqrt(Math.pow(x-g,2)+Math.pow(r-c,2)),10<this.hasDragged&&(B=d.isInsidePlot(x-h,r-u),d.hasCartesianSeries&&(this.zoomX||this.zoomY)&&B&&!p&&!m&&(this.selectionMarker=m=d.renderer.rect(h,u,e?1:l,f?1:q,0).attr({fill:b.selectionMarkerFill||D("#335cad").setOpacity(.25).get(),
  "class":"highcharts-selection-marker",zIndex:7}).add()),m&&e&&(g-=x,m.attr({width:Math.abs(g),x:(0<g?0:g)+x})),m&&f&&(g=c-r,m.attr({height:Math.abs(g),y:(0<g?0:g)+r})),B&&!m&&b.panning&&d.pan(a,b.panning)))},drop:function(a){var d=this,b=this.chart,g=this.hasPinched;if(this.selectionMarker){var c={originalEvent:a,xAxis:[],yAxis:[]},e=this.selectionMarker,l=e.attr?e.attr("x"):e.x,q=e.attr?e.attr("y"):e.y,u=e.attr?e.attr("width"):e.width,F=e.attr?e.attr("height"):e.height,B;if(this.hasDragged||g)m(b.axes,
  function(b){if(b.zoomEnabled&&p(b.min)&&(g||d[{xAxis:"zoomX",yAxis:"zoomY"}[b.coll]])){var e=b.horiz,k="touchend"===a.type?b.minPixelPadding:0,f=b.toValue((e?l:q)+k),e=b.toValue((e?l+u:q+F)-k);c[b.coll].push({axis:b,min:Math.min(f,e),max:Math.max(f,e)});B=!0}}),B&&h(b,"selection",c,function(a){b.zoom(f(a,g?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();g&&this.scaleGroups()}b&&(t(b.container,{cursor:b._cursor}),b.cancelClick=10<this.hasDragged,b.mouseIsDown=this.hasDragged=
  this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(d){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(d)},onDocumentMouseMove:function(a){var d=this.chart,b=this.chartPosition;a=this.normalize(a,b);!b||this.inClass(a.target,"highcharts-tracker")||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)||this.reset()},onContainerMouseLeave:function(d){var b=
  C[a.hoverChartIndex];b&&(d.relatedTarget||d.toElement)&&(b.pointer.reset(),b.pointer.chartPosition=null)},onContainerMouseMove:function(d){var b=this.chart;p(a.hoverChartIndex)&&C[a.hoverChartIndex]&&C[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=b.index);d=this.normalize(d);d.returnValue=!1;"mousedown"===b.mouseIsDown&&this.drag(d);!this.inClass(d.target,"highcharts-tracker")&&!b.isInsidePlot(d.chartX-b.plotLeft,d.chartY-b.plotTop)||b.openMenu||this.runPointActions(d)},inClass:function(a,b){for(var d;a;){if(d=
  y(a,"class")){if(-1!==d.indexOf(b))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var d=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;if(!(!d||!a||d.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+d.index)&&this.inClass(a,"highcharts-tracker")))d.onMouseOut()},onContainerClick:function(a){var d=this.chart,b=d.hoverPoint,g=d.plotLeft,c=d.plotTop;a=this.normalize(a);d.cancelClick||(b&&this.inClass(a.target,
  "highcharts-tracker")?(h(b.series,"click",f(a,{point:b})),d.hoverPoint&&b.firePointEvent("click",a)):(f(a,this.getCoordinates(a)),d.isInsidePlot(a.chartX-g,a.chartY-c)&&h(d,"click",a)))},setDOMEvents:function(){var d=this,b=d.chart.container;b.onmousedown=function(a){d.onContainerMouseDown(a)};b.onmousemove=function(a){d.onContainerMouseMove(a)};b.onclick=function(a){d.onContainerClick(a)};E(b,"mouseleave",d.onContainerMouseLeave);1===a.chartCount&&E(r,"mouseup",d.onDocumentMouseUp);a.hasTouch&&(b.ontouchstart=
  function(a){d.onContainerTouchStart(a)},b.ontouchmove=function(a){d.onContainerTouchMove(a)},1===a.chartCount&&E(r,"touchend",d.onDocumentTouchEnd))},destroy:function(){var d;this.unDocMouseMove&&this.unDocMouseMove();l(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||(l(r,"mouseup",this.onDocumentMouseUp),l(r,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(d in this)this[d]=null}}})(I);(function(a){var E=a.charts,y=a.each,C=a.extend,D=a.map,
  t=a.noop,p=a.pick;C(a.Pointer.prototype,{pinchTranslate:function(a,m,f,h,e,b){this.zoomHor&&this.pinchTranslateDirection(!0,a,m,f,h,e,b);this.zoomVert&&this.pinchTranslateDirection(!1,a,m,f,h,e,b)},pinchTranslateDirection:function(a,m,f,h,e,b,l,q){var g=this.chart,B=a?"x":"y",d=a?"X":"Y",n="chart"+d,z=a?"width":"height",v=g["plot"+(a?"Left":"Top")],c,k,w=q||1,G=g.inverted,u=g.bounds[a?"h":"v"],F=1===m.length,r=m[0][n],p=f[0][n],t=!F&&m[1][n],x=!F&&f[1][n],H;f=function(){!F&&20<Math.abs(r-t)&&(w=q||
  Math.abs(p-x)/Math.abs(r-t));k=(v-p)/w+r;c=g["plot"+(a?"Width":"Height")]/w};f();m=k;m<u.min?(m=u.min,H=!0):m+c>u.max&&(m=u.max-c,H=!0);H?(p-=.8*(p-l[B][0]),F||(x-=.8*(x-l[B][1])),f()):l[B]=[p,x];G||(b[B]=k-v,b[z]=c);b=G?1/w:w;e[z]=c;e[B]=m;h[G?a?"scaleY":"scaleX":"scale"+d]=w;h["translate"+d]=b*v+(p-b*r)},pinch:function(a){var m=this,f=m.chart,h=m.pinchDown,e=a.touches,b=e.length,l=m.lastValidTouch,q=m.hasZoom,g=m.selectionMarker,B={},d=1===b&&(m.inClass(a.target,"highcharts-tracker")&&f.runTrackerClick||
  m.runChartClick),n={};1<b&&(m.initiated=!0);q&&m.initiated&&!d&&a.preventDefault();D(e,function(a){return m.normalize(a)});"touchstart"===a.type?(y(e,function(a,d){h[d]={chartX:a.chartX,chartY:a.chartY}}),l.x=[h[0].chartX,h[1]&&h[1].chartX],l.y=[h[0].chartY,h[1]&&h[1].chartY],y(f.axes,function(a){if(a.zoomEnabled){var d=f.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,b=a.toPixels(p(a.options.min,a.dataMin)),g=a.toPixels(p(a.options.max,a.dataMax)),e=Math.max(b,g);d.min=Math.min(a.pos,Math.min(b,g)-
  c);d.max=Math.max(a.pos+a.len,e+c)}}),m.res=!0):m.followTouchMove&&1===b?this.runPointActions(m.normalize(a)):h.length&&(g||(m.selectionMarker=g=C({destroy:t,touch:!0},f.plotBox)),m.pinchTranslate(h,e,B,g,n,l),m.hasPinched=q,m.scaleGroups(B,n),m.res&&(m.res=!1,this.reset(!1,0)))},touch:function(r,m){var f=this.chart,h,e;if(f.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=f.index;1===r.touches.length?(r=this.normalize(r),(e=f.isInsidePlot(r.chartX-f.plotLeft,
  r.chartY-f.plotTop))&&!f.openMenu?(m&&this.runPointActions(r),"touchmove"===r.type&&(m=this.pinchDown,h=m[0]?4<=Math.sqrt(Math.pow(m[0].chartX-r.chartX,2)+Math.pow(m[0].chartY-r.chartY,2)):!1),p(h,!0)&&this.pinch(r)):m&&this.reset()):2===r.touches.length&&this.pinch(r)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(p){E[a.hoverChartIndex]&&E[a.hoverChartIndex].pointer.drop(p)}})})(I);(function(a){var E=
  a.addEvent,y=a.charts,C=a.css,D=a.doc,t=a.extend,p=a.noop,r=a.Pointer,m=a.removeEvent,f=a.win,h=a.wrap;if(f.PointerEvent||f.MSPointerEvent){var e={},b=!!f.PointerEvent,l=function(){var a,b=[];b.item=function(a){return this[a]};for(a in e)e.hasOwnProperty(a)&&b.push({pageX:e[a].pageX,pageY:e[a].pageY,target:e[a].target});return b},q=function(b,e,d,f){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(f(b),f=y[a.hoverChartIndex].pointer,f[e]({type:d,target:b.currentTarget,
  preventDefault:p,touches:l()}))};t(r.prototype,{onContainerPointerDown:function(a){q(a,"onContainerTouchStart","touchstart",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){q(a,"onContainerTouchMove","touchmove",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY};e[a.pointerId].target||(e[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){q(a,"onDocumentTouchEnd","touchend",function(a){delete e[a.pointerId]})},
  batchMSEvents:function(a){a(this.chart.container,b?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,b?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(D,b?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});h(r.prototype,"init",function(a,b,d){a.call(this,b,d);this.hasZoom&&C(b.container,{"-ms-touch-action":"none","touch-action":"none"})});h(r.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(E)});
  h(r.prototype,"destroy",function(a){this.batchMSEvents(m);a.call(this)})}})(I);(function(a){var E,y=a.addEvent,C=a.css,D=a.discardElement,t=a.defined,p=a.each,r=a.isFirefox,m=a.marginNames,f=a.merge,h=a.pick,e=a.setAnimation,b=a.stableSort,l=a.win,q=a.wrap;E=a.Legend=function(a,b){this.init(a,b)};E.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),y(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(a){var b=h(a.padding,
  8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=f(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=h(a.symbolWidth,16);this.pages=[]},update:function(a,b){var d=this.chart;this.setOptions(f(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;h(b,!0)&&d.redraw()},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");
  var d=this.options,g=a.legendItem,e=a.legendLine,f=a.legendSymbol,c=this.itemHiddenStyle.color,d=b?d.itemStyle.color:c,k=b?a.color||c:c,h=a.options&&a.options.marker,l={fill:k},u;g&&g.css({fill:d,color:d});e&&e.attr({stroke:k});if(f){if(h&&f.isMarker&&(l=a.pointAttribs(),!b))for(u in l)l[u]=c;f.attr(l)}},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,g=a._legendItemPos,e=g[0],g=g[1],f=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?e:this.legendWidth-e-2*d-4,g);f&&(f.x=
  e,f.y=g)},destroyItem:function(a){var b=a.checkbox;p(["legendItem","legendLine","legendSymbol","legendGroup"],function(d){a[d]&&(a[d]=a[d].destroy())});b&&D(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}p(this.getAllItems(),function(b){p(["legendItem","legendGroup"],a,b)});p("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,d,g=this.clipHeight||this.legendHeight,
  e=this.titleHeight;b&&(d=b.translateY,p(this.allItems,function(f){var c=f.checkbox,k;c&&(k=d+e+c.y+(a||0)+3,C(c,{left:b.translateX+f.checkboxOffset+c.x-20+"px",top:k+"px",display:k>d-6&&k<d+g-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,b=this.options.title,d=0;b.text&&(this.title||(this.title=this.chart.renderer.label(b.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(b.style).add(this.group)),a=this.title.getBBox(),d=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));
  this.titleHeight=d},setText:function(b){var g=this.options;b.legendItem.attr({text:g.labelFormat?a.format(g.labelFormat,b):g.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,d=b.renderer,g=this.options,e="horizontal"===g.layout,l=this.symbolWidth,c=g.symbolPadding,k=this.itemStyle,w=this.itemHiddenStyle,q=this.padding,u=e?h(g.itemDistance,20):0,F=!g.rtl,m=g.width,p=g.itemMarginBottom||0,r=this.itemMarginTop,x=a.legendItem,t=!a.series,Q=!t&&a.series.drawLegendSymbol?a.series:a,y=Q.options,
  y=this.createCheckboxForItem&&y&&y.showCheckbox,C=g.useHTML,D=a.options.className;x||(a.legendGroup=d.g("legend-item").addClass("highcharts-"+Q.type+"-series highcharts-color-"+a.colorIndex+(D?" "+D:"")+(t?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=x=d.text("",F?l+c:-c,this.baseline||0,C).css(f(a.visible?k:w)).attr({align:F?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(k=k.fontSize,this.fontMetrics=d.fontMetrics(k,x),this.baseline=this.fontMetrics.f+
  3+r,x.attr("y",this.baseline)),this.symbolHeight=g.symbolHeight||this.fontMetrics.f,Q.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,x,C),y&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);d=x.getBBox();l=a.checkboxOffset=g.itemWidth||a.legendItemWidth||l+c+d.width+u+(y?20:0);this.itemHeight=c=Math.round(a.legendItemHeight||d.height||this.symbolHeight);e&&this.itemX-q+l>(m||b.spacingBox.width-2*q-g.x)&&(this.itemX=q,this.itemY+=r+this.lastLineHeight+
  p,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,l);this.lastItemY=r+this.itemY+p;this.lastLineHeight=Math.max(c,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=l:(this.itemY+=r+c+p,this.lastLineHeight=c);this.offsetWidth=m||Math.max((e?this.itemX-q-u:l)+q,this.offsetWidth)},getAllItems:function(){var a=[];p(this.chart.series,function(b){var d=b&&b.options;b&&h(d.showInLegend,t(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType?
  b.data:b)))});return a},adjustMargins:function(a,b){var d=this.chart,g=this.options,e=g.align.charAt(0)+g.verticalAlign.charAt(0)+g.layout.charAt(0);g.floating||p([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,c){f.test(e)&&!t(a[c])&&(d[m[c]]=Math.max(d[m[c]],d.legend[(c+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][c]*g[c%2?"x":"y"]+h(g.margin,12)+b[c]))})},render:function(){var a=this,e=a.chart,d=e.renderer,h=a.group,l,v,c,k,w=a.box,q=a.options,u=a.padding;a.itemX=u;a.itemY=
  a.initialItemY;a.offsetWidth=0;a.lastItemY=0;h||(a.group=h=d.g("legend").attr({zIndex:7}).add(),a.contentGroup=d.g().attr({zIndex:1}).add(h),a.scrollGroup=d.g().add(a.contentGroup));a.renderTitle();l=a.getAllItems();b(l,function(a,c){return(a.options&&a.options.legendIndex||0)-(c.options&&c.options.legendIndex||0)});q.reversed&&l.reverse();a.allItems=l;a.display=v=!!l.length;a.lastLineHeight=0;p(l,function(c){a.renderItem(c)});c=(q.width||a.offsetWidth)+u;k=a.lastItemY+a.lastLineHeight+a.titleHeight;
  k=a.handleOverflow(k);k+=u;w||(a.box=w=d.rect().addClass("highcharts-legend-box").attr({r:q.borderRadius}).add(h),w.isNew=!0);w.attr({stroke:q.borderColor,"stroke-width":q.borderWidth||0,fill:q.backgroundColor||"none"}).shadow(q.shadow);0<c&&0<k&&(w[w.isNew?"attr":"animate"](w.crisp({x:0,y:0,width:c,height:k},w.strokeWidth())),w.isNew=!1);w[v?"show":"hide"]();a.legendWidth=c;a.legendHeight=k;p(l,function(c){a.positionItem(c)});v&&h.align(f(q,{width:c,height:k}),!0,"spacingBox");e.isResizing||this.positionCheckboxes()},
  handleOverflow:function(a){var b=this,d=this.chart,e=d.renderer,g=this.options,f=g.y,c=this.padding,d=d.spacingBox.height+("top"===g.verticalAlign?-f:f)-c,f=g.maxHeight,k,l=this.clipRect,q=g.navigation,u=h(q.animation,!0),F=q.arrowSize||12,m=this.nav,r=this.pages,t,x=this.allItems,H=function(a){a?l.attr({height:a}):l&&(b.clipRect=l.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+c+"px,9999px,"+(c+a)+"px,0)":"auto")};"horizontal"!==g.layout||"middle"===
  g.verticalAlign||g.floating||(d/=2);f&&(d=Math.min(d,f));r.length=0;a>d&&!1!==q.enabled?(this.clipHeight=k=Math.max(d-20-this.titleHeight-c,0),this.currentPage=h(this.currentPage,1),this.fullHeight=a,p(x,function(a,c){var b=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=r.length;if(!d||b-r[d-1]>k&&(t||b)!==r[d-1])r.push(t||b),d++;c===x.length-1&&b+a-r[d-1]>k&&r.push(b);b!==t&&(t=b)}),l||(l=b.clipRect=e.clipRect(0,c,9999,0),b.contentGroup.clip(l)),H(k),m||(this.nav=m=e.g().attr({zIndex:1}).add(this.group),
  this.up=e.symbol("triangle",0,0,F,F).on("click",function(){b.scroll(-1,u)}).add(m),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(q.style).add(m),this.down=e.symbol("triangle-down",0,0,F,F).on("click",function(){b.scroll(1,u)}).add(m)),b.scroll(0),a=d):m&&(H(),this.nav=m.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var d=this.pages,g=d.length;a=this.currentPage+a;var f=this.clipHeight,l=this.options.navigation,c=this.pager,
  k=this.padding;a>g&&(a=g);0<a&&(void 0!==b&&e(b,this.chart),this.nav.attr({translateX:k,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),c.attr({text:a+"/"+g}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===g?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===a?l.inactiveColor:l.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===
  g?l.inactiveColor:l.activeColor}).css({cursor:a===g?"default":"pointer"}),b=-d[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:b}),this.currentPage=a,this.positionCheckboxes(b))}};a.LegendSymbolMixin={drawRectangle:function(a,b){var d=a.symbolHeight,e=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-d)/2:0,a.baseline-d+1,e?d:a.symbolWidth,d,h(a.options.symbolRadius,d/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=
  this.options,d=b.marker,e=a.symbolWidth,g=a.symbolHeight,l=g/2,c=this.chart.renderer,k=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var q;q={"stroke-width":b.lineWidth||0};b.dashStyle&&(q.dashstyle=b.dashStyle);this.legendLine=c.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(q).add(k);d&&!1!==d.enabled&&(b=Math.min(h(d.radius,l),l),0===this.symbol.indexOf("url")&&(d=f(d,{width:g,height:g}),b=0),this.legendSymbol=d=c.symbol(this.symbol,e/2-b,a-b,2*b,2*b,d).addClass("highcharts-point").add(k),
  d.isMarker=!0)}};(/Trident\/7\.0/.test(l.navigator.userAgent)||r)&&q(E.prototype,"positionItem",function(a,b){var d=this,e=function(){b._legendItemPos&&a.call(d,b)};e();setTimeout(e)})})(I);(function(a){var E=a.addEvent,y=a.animate,C=a.animObject,D=a.attr,t=a.doc,p=a.Axis,r=a.createElement,m=a.defaultOptions,f=a.discardElement,h=a.charts,e=a.css,b=a.defined,l=a.each,q=a.extend,g=a.find,B=a.fireEvent,d=a.getStyle,n=a.grep,z=a.isNumber,v=a.isObject,c=a.isString,k=a.Legend,w=a.marginNames,G=a.merge,
  u=a.Pointer,F=a.pick,J=a.pInt,L=a.removeEvent,K=a.seriesTypes,x=a.splat,H=a.svg,Q=a.syncTimeout,N=a.win,O=a.Renderer,M=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,c,b){return new M(a,c,b)};M.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(c(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(c,b){var d,e=c.series;c.series=null;d=G(m,c);d.series=c.series=e;this.userOptions=c;c=d.chart;e=c.events;this.margin=[];
  this.spacing=[];this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=d;this.axes=[];this.series=[];this.hasCartesianSeries=c.showAxes;var g;this.index=h.length;h.push(this);a.chartCount++;if(e)for(g in e)E(this,g,e[g]);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.firstRender()},initSeries:function(c){var b=this.options.chart;(b=K[c.type||b.type||b.defaultSeriesType])||a.error(17,!0);b=new b;b.init(this,c);return b},orderSeries:function(a){var c=
  this.series;for(a=a||0;a<c.length;a++)c[a]&&(c[a].index=a,c[a].name=c[a].name||"Series "+(c[a].index+1))},isInsidePlot:function(a,c,b){var d=b?c:a;a=b?a:c;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){var b=this.axes,d=this.series,e=this.pointer,g=this.legend,k=this.isDirtyLegend,f,u,h=this.hasCartesianSeries,n=this.isDirtyBox,v,F=this.renderer,w=F.isHidden(),m=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);w&&this.cloneRenderTo();this.layOutTitles();
  for(c=d.length;c--;)if(v=d[c],v.options.stacking&&(f=!0,v.isDirty)){u=!0;break}if(u)for(c=d.length;c--;)v=d[c],v.options.stacking&&(v.isDirty=!0);l(d,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),k=!0);a.isDirtyData&&B(a,"updatedData")});k&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);f&&this.getStacks();h&&l(b,function(a){a.updateNames();a.setScale()});this.getMargins();h&&(l(b,function(a){a.isDirty&&(n=!0)}),l(b,function(a){var c=a.min+","+a.max;
  a.extKey!==c&&(a.extKey=c,m.push(function(){B(a,"afterSetExtremes",q(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(n||f)&&a.redraw()}));n&&this.drawChartBox();B(this,"predraw");l(d,function(a){(n||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);F.draw();B(this,"redraw");B(this,"render");w&&this.cloneRenderTo(!0);l(m,function(a){a.call()})},get:function(a){function c(c){return c.id===a||c.options&&c.options.id===a}var b,d=this.series,e;b=g(this.axes,c)||g(this.series,c);
  for(e=0;!b&&e<d.length;e++)b=g(d[e].points||[],c);return b},getAxes:function(){var a=this,c=this.options,b=c.xAxis=x(c.xAxis||{}),c=c.yAxis=x(c.yAxis||{});l(b,function(a,c){a.index=c;a.isX=!0});l(c,function(a,c){a.index=c});b=b.concat(c);l(b,function(c){new p(a,c)})},getSelectedPoints:function(){var a=[];l(this.series,function(c){a=a.concat(n(c.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return n(this.series,function(a){return a.selected})},setTitle:function(a,
  c,b){var d=this,e=d.options,g;g=e.title=G({style:{color:"#333333",fontSize:e.isStock?"16px":"18px"}},e.title,a);e=e.subtitle=G({style:{color:"#666666"}},e.subtitle,c);l([["title",a,g],["subtitle",c,e]],function(a,c){var b=a[0],e=d[b],g=a[1];a=a[2];e&&g&&(d[b]=e=e.destroy());a&&a.text&&!e&&(d[b]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).add(),d[b].update=function(a){d.setTitle(!c&&a,c&&a)},d[b].css(a.style))});d.layOutTitles(b)},layOutTitles:function(a){var c=
  0,b,d=this.renderer,e=this.spacingBox;l(["title","subtitle"],function(a){var b=this[a],g=this.options[a],k;b&&(k=g.style.fontSize,k=d.fontMetrics(k,b).b,b.css({width:(g.width||e.width+g.widthAdjust)+"px"}).align(q({y:c+k+("title"===a?-3:2)},g),!1,"spacingBox"),g.floating||g.verticalAlign||(c=Math.ceil(c+b.getBBox(g.useHTML).height)))},this);b=this.titleOffset!==c;this.titleOffset=c;!this.isDirtyBox&&b&&(this.isDirtyBox=b,this.hasRendered&&F(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var c=
  this.options.chart,e=c.width,c=c.height,g=this.renderToClone||this.renderTo;b(e)||(this.containerWidth=d(g,"width"));b(c)||(this.containerHeight=d(g,"height"));this.chartWidth=Math.max(0,e||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(c,this.chartWidth)||this.containerHeight||400)},cloneRenderTo:function(a){var c=this.renderToClone,b=this.container;if(a){if(c){for(;c.childNodes.length;)this.renderTo.appendChild(c.firstChild);f(c);delete this.renderToClone}}else b&&b.parentNode===
  this.renderTo&&this.renderTo.removeChild(b),this.renderToClone=c=this.renderTo.cloneNode(0),e(c,{position:"absolute",top:"-9999px",display:"block"}),c.style.setProperty&&c.style.setProperty("display","block","important"),t.body.appendChild(c),b&&c.appendChild(b)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,d=this.options,e=d.chart,g,k;b=this.renderTo;var f=a.uniqueKey(),u;b||(this.renderTo=b=e.renderTo);c(b)&&(this.renderTo=b=t.getElementById(b));
  b||a.error(13,!0);g=J(D(b,"data-highcharts-chart"));z(g)&&h[g]&&h[g].hasRendered&&h[g].destroy();D(b,"data-highcharts-chart",this.index);b.innerHTML="";e.skipClone||b.offsetWidth||this.cloneRenderTo();this.getChartSize();g=this.chartWidth;k=this.chartHeight;u=q({position:"relative",overflow:"hidden",width:g+"px",height:k+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},e.style);this.container=b=r("div",{id:f},u,this.renderToClone||b);this._cursor=b.style.cursor;
  this.renderer=new (a[e.renderer]||O)(b,g,k,null,e.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(e.className);this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index},getMargins:function(a){var c=this.spacing,d=this.margin,e=this.titleOffset;this.resetMargins();e&&!b(d[0])&&(this.plotTop=Math.max(this.plotTop,e+this.options.title.margin+c[0]));this.legend.display&&this.legend.adjustMargins(d,c);this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||
  0)+this.extraMargin.value);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,c=a.axisOffset=[0,0,0,0],d=a.margin;a.hasCartesianSeries&&l(a.axes,function(a){a.visible&&a.getOffset()});l(w,function(e,g){b(d[g])||(a[e]+=c[g])});a.setChartSize()},reflow:function(a){var c=this,e=c.options.chart,g=c.renderTo,k=b(e.width),f=e.width||d(g,"width"),e=e.height||d(g,"height"),g=a?a.target:N;if(!k&&!c.isPrinting&&f&&e&&(g===N||g===t)){if(f!==
  c.containerWidth||e!==c.containerHeight)clearTimeout(c.reflowTimeout),c.reflowTimeout=Q(function(){c.container&&c.setSize(void 0,void 0,!1)},a?100:0);c.containerWidth=f;c.containerHeight=e}},initReflow:function(){var a=this,c;c=E(N,"resize",function(c){a.reflow(c)});E(a,"destroy",c)},setSize:function(c,b,d){var g=this,k=g.renderer;g.isResizing+=1;a.setAnimation(d,g);g.oldChartHeight=g.chartHeight;g.oldChartWidth=g.chartWidth;void 0!==c&&(g.options.chart.width=c);void 0!==b&&(g.options.chart.height=
  b);g.getChartSize();c=k.globalAnimation;(c?y:e)(g.container,{width:g.chartWidth+"px",height:g.chartHeight+"px"},c);g.setChartSize(!0);k.setSize(g.chartWidth,g.chartHeight,d);l(g.axes,function(a){a.isDirty=!0;a.setScale()});g.isDirtyLegend=!0;g.isDirtyBox=!0;g.layOutTitles();g.getMargins();g.redraw(d);g.oldChartHeight=null;B(g,"resize");Q(function(){g&&B(g,"endResize",null,function(){--g.isResizing})},C(c).duration)},setChartSize:function(a){var c=this.inverted,b=this.renderer,d=this.chartWidth,e=
  this.chartHeight,g=this.options.chart,k=this.spacing,f=this.clipOffset,u,h,n,v;this.plotLeft=u=Math.round(this.plotLeft);this.plotTop=h=Math.round(this.plotTop);this.plotWidth=n=Math.max(0,Math.round(d-u-this.marginRight));this.plotHeight=v=Math.max(0,Math.round(e-h-this.marginBottom));this.plotSizeX=c?v:n;this.plotSizeY=c?n:v;this.plotBorderWidth=g.plotBorderWidth||0;this.spacingBox=b.spacingBox={x:k[3],y:k[0],width:d-k[3]-k[1],height:e-k[0]-k[2]};this.plotBox=b.plotBox={x:u,y:h,width:n,height:v};
  d=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(d,f[3])/2);b=Math.ceil(Math.max(d,f[0])/2);this.clipBox={x:c,y:b,width:Math.floor(this.plotSizeX-Math.max(d,f[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,f[2])/2-b))};a||l(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,c=a.options.chart;l(["margin","spacing"],function(b){var d=c[b],e=v(d)?d:[d,d,d,d];l(["Top","Right","Bottom","Left"],function(d,g){a[b][g]=F(c[b+d],e[g])})});
  l(w,function(c,b){a[c]=F(a.margin[b],a.spacing[b])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,c=this.renderer,b=this.chartWidth,d=this.chartHeight,e=this.chartBackground,g=this.plotBackground,k=this.plotBorder,f,u=this.plotBGImage,l=a.backgroundColor,h=a.plotBackgroundColor,n=a.plotBackgroundImage,v,F=this.plotLeft,q=this.plotTop,w=this.plotWidth,m=this.plotHeight,x=this.plotBox,r=this.clipRect,p=this.clipBox,z="animate";e||(this.chartBackground=
  e=c.rect().addClass("highcharts-background").add(),z="attr");f=a.borderWidth||0;v=f+(a.shadow?8:0);l={fill:l||"none"};if(f||e["stroke-width"])l.stroke=a.borderColor,l["stroke-width"]=f;e.attr(l).shadow(a.shadow);e[z]({x:v/2,y:v/2,width:b-v-f%2,height:d-v-f%2,r:a.borderRadius});z="animate";g||(z="attr",this.plotBackground=g=c.rect().addClass("highcharts-plot-background").add());g[z](x);g.attr({fill:h||"none"}).shadow(a.plotShadow);n&&(u?u.animate(x):this.plotBGImage=c.image(n,F,q,w,m).add());r?r.animate({width:p.width,
  height:p.height}):this.clipRect=c.clipRect(p);z="animate";k||(z="attr",this.plotBorder=k=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());k.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});k[z](k.crisp({x:F,y:q,width:w,height:m},-k.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,c=a.options.chart,b,d=a.options.series,e,g;l(["inverted","angular","polar"],function(k){b=K[c.type||c.defaultSeriesType];g=c[k]||b&&b.prototype[k];
  for(e=d&&d.length;!g&&e--;)(b=K[d[e].type])&&b.prototype[k]&&(g=!0);a[k]=g})},linkSeries:function(){var a=this,b=a.series;l(b,function(a){a.linkedSeries.length=0});l(b,function(b){var d=b.options.linkedTo;c(d)&&(d=":previous"===d?a.series[b.index-1]:a.get(d))&&d.linkedParent!==b&&(d.linkedSeries.push(b),b.linkedParent=d,b.visible=F(b.options.visible,d.options.visible,b.visible))})},renderSeries:function(){l(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,c=a.options.labels;
  c.items&&l(c.items,function(b){var d=q(c.style,b.style),e=J(d.left)+a.plotLeft,g=J(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(b.html,e,g).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,c=this.renderer,b=this.options,d,e,g;this.setTitle();this.legend=new k(this,b.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();b=this.plotWidth;d=this.plotHeight-=21;l(a,function(a){a.setScale()});this.getAxisMargins();e=1.1<b/this.plotWidth;g=
  1.05<d/this.plotHeight;if(e||g)l(a,function(a){(a.horiz&&e||!a.horiz&&g)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&l(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=c.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var c=this;a=G(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=
  this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(N.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){c.credits=c.credits.destroy();c.addCredits(a)})},destroy:function(){var c=this,b=c.axes,d=c.series,e=c.container,g,k=e&&e.parentNode;B(c,"destroy");h[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");L(c);for(g=b.length;g--;)b[g]=
  b[g].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(g=d.length;g--;)d[g]=d[g].destroy();l("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});e&&(e.innerHTML="",L(e),k&&f(e));for(g in c)delete c[g]},isReadyToRender:function(){var a=this;return H||N!=N.top||"complete"===t.readyState?!0:(t.attachEvent("onreadystatechange",
  function(){t.detachEvent("onreadystatechange",a.firstRender);"complete"===t.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,c=a.options;if(a.isReadyToRender()){a.getContainer();B(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();l(c.series||[],function(c){a.initSeries(c)});a.linkSeries();B(a,"beforeRender");u&&(a.pointer=new u(a,c));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){l([this.callback].concat(this.callbacks),
  function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);B(this,"load");B(this,"render");b(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(I);(function(a){var E=a.pick,y=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,D=this.chart,t=2*(a.slicedOffset||0),p=D.plotWidth-2*t,D=D.plotHeight-2*t,r=a.center,r=[E(r[0],"50%"),E(r[1],"50%"),a.size||"100%",a.innerSize||0],m=Math.min(p,D),f,h;for(f=0;4>f;++f)h=r[f],a=2>f||2===f&&/%$/.test(h),
  r[f]=y(h,[p,D,m,r[2]][f])+(a?t:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(I);(function(a){var E,y=a.each,C=a.extend,D=a.erase,t=a.fireEvent,p=a.format,r=a.isArray,m=a.isNumber,f=a.pick,h=a.removeEvent;E=a.Point=function(){};E.prototype={init:function(a,b,l){this.series=a;this.color=a.color;this.applyOptions(b,l);a.options.colorByPoint?(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter],b=b.length,l=a.colorCounter,a.colorCounter++,a.colorCounter===b&&(a.colorCounter=0)):
  l=a.colorIndex;this.colorIndex=f(this.colorIndex,l);a.chart.pointCount++;return this},applyOptions:function(a,b){var e=this.series,h=e.options.pointValKey||e.pointValKey;a=E.prototype.optionsToObject.call(this,a);C(this,a);this.options=this.options?C(this.options,a):a;a.group&&delete this.group;h&&(this.y=this[h]);this.isNull=f(this.isValid&&!this.isValid(),null===this.x||!m(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===b&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));
  void 0===this.x&&e&&(this.x=void 0===b?e.autoIncrement(this):b);return this},optionsToObject:function(a){var b={},e=this.series,f=e.options.keys,g=f||e.pointArrayMap||["y"],h=g.length,d=0,n=0;if(m(a)||null===a)b[g[0]]=a;else if(r(a))for(!f&&a.length>h&&(e=typeof a[0],"string"===e?b.name=a[0]:"number"===e&&(b.x=a[0]),d++);n<h;)f&&void 0===a[d]||(b[g[n]]=a[d]),d++,n++;else"object"===typeof a&&(b=a,a.dataLabels&&(e._hasPointLabels=!0),a.marker&&(e._hasPointMarkers=!0));return b},getClassName:function(){return"highcharts-point"+
  (this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,b=a.zones,a=a.zoneAxis||"y",f=0,h;for(h=b[f];this[a]>=h.value;)h=b[++f];h&&h.color&&!this.options.color&&(this.color=
  h.color);return h},destroy:function(){var a=this.series.chart,b=a.hoverPoints,f;a.pointCount--;b&&(this.setState(),D(b,this),b.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)h(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],b,f=6;f--;)b=a[f],this[b]&&(this[b]=this[b].destroy())},getLabelConfig:function(){return{x:this.category,
  y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var b=this.series,e=b.tooltipOptions,h=f(e.valueDecimals,""),g=e.valuePrefix||"",m=e.valueSuffix||"";y(b.pointArrayMap||["y"],function(b){b="{point."+b;if(g||m)a=a.replace(b+"}",g+b+"}"+m);a=a.replace(b+"}",b+":,."+h+"f}")});return p(a,{point:this,series:this.series})},firePointEvent:function(a,b,
  f){var e=this,g=this.series.options;(g.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&this.importEvents();"click"===a&&g.allowPointSelect&&(f=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});t(this,a,b,f)},visible:!0}})(I);(function(a){var E=a.addEvent,y=a.animObject,C=a.arrayMax,D=a.arrayMin,t=a.correctFloat,p=a.Date,r=a.defaultOptions,m=a.defaultPlotOptions,f=a.defined,h=a.each,e=a.erase,b=a.extend,l=a.fireEvent,q=a.grep,g=a.isArray,B=a.isNumber,d=a.isString,
  n=a.merge,z=a.pick,v=a.removeEvent,c=a.splat,k=a.SVGElement,w=a.syncTimeout,G=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,
  -1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],
  coll:"series",init:function(a,c){var d=this,g,e,k=a.series,f;d.chart=a;d.options=c=d.setOptions(c);d.linkedSeries=[];d.bindAxes();b(d,{name:c.name,state:"",visible:!1!==c.visible,selected:!0===c.selected});e=c.events;for(g in e)E(d,g,e[g]);if(e&&e.click||c.point&&c.point.events&&c.point.events.click||c.allowPointSelect)a.runTrackerClick=!0;d.getColor();d.getSymbol();h(d.parallelArrays,function(a){d[a+"Data"]=[]});d.setData(c.data,!1);d.isCartesian&&(a.hasCartesianSeries=!0);k.length&&(f=k[k.length-
  1]);d._i=z(f&&f._i,-1)+1;a.orderSeries(this.insert(k))},insert:function(a){var c=this.options.index,b;if(B(c)){for(b=a.length;b--;)if(c>=z(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===b&&a.unshift(this);b+=1}else a.push(this);return z(b,a.length-1)},bindAxes:function(){var c=this,b=c.options,d=c.chart,g;h(c.axisTypes||[],function(e){h(d[e],function(a){g=a.options;if(b[e]===g.index||void 0!==b[e]&&b[e]===g.id||void 0===b[e]&&0===g.index)c.insert(a.series),c[e]=a,a.isDirty=!0});c[e]||
  c.optionalAxis===e||a.error(18,!0)})},updateParallelArrays:function(a,c){var b=a.series,d=arguments,g=B(c)?function(d){var g="y"===d&&b.toYData?b.toYData(a):a[d];b[d+"Data"][c]=g}:function(a){Array.prototype[c].apply(b[a+"Data"],Array.prototype.slice.call(d,2))};h(b.parallelArrays,g)},autoIncrement:function(){var a=this.options,c=this.xIncrement,b,d=a.pointIntervalUnit,c=z(c,a.pointStart,0);this.pointInterval=b=z(this.pointInterval,a.pointInterval,1);d&&(a=new p(c),"day"===d?a=+a[p.hcSetDate](a[p.hcGetDate]()+
  b):"month"===d?a=+a[p.hcSetMonth](a[p.hcGetMonth]()+b):"year"===d&&(a=+a[p.hcSetFullYear](a[p.hcGetFullYear]()+b)),b=a-c);this.xIncrement=c+b;return c},setOptions:function(a){var c=this.chart,b=c.options.plotOptions,c=c.userOptions||{},d=c.plotOptions||{},g=b[this.type];this.userOptions=a;b=n(g,b.series,a);this.tooltipOptions=n(r.tooltip,r.plotOptions[this.type].tooltip,c.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);this.stickyTracking=z(a.stickyTracking,d[this.type]&&
  d[this.type].stickyTracking,d.series&&d.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===g.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&f(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});
  return b},getCyclic:function(a,c,b){var d,g=this.chart,e=this.userOptions,k=a+"Index",u=a+"Counter",h=b?b.length:z(g.options.chart[a+"Count"],g[a+"Count"]);c||(d=z(e[k],e["_"+k]),f(d)||(g.series.length||(g[u]=0),e["_"+k]=d=g[u]%h,g[u]+=1),b&&(c=b[d]));void 0!==d&&(this[k]=d);this[a]=c},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||m[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,
  this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(c,b,e,k){var f=this,u=f.points,l=u&&u.length||0,n,v=f.options,w=f.chart,q=null,m=f.xAxis,F=v.turboThreshold,r=this.xData,p=this.yData,G=(n=f.pointArrayMap)&&n.length;c=c||[];n=c.length;b=z(b,!0);if(!1!==k&&n&&l===n&&!f.cropped&&!f.hasGroupedData&&f.visible)h(c,function(a,c){u[c].update&&a!==v.data[c]&&u[c].update(a,!1,null,!1)});else{f.xIncrement=null;f.colorCounter=0;h(this.parallelArrays,function(a){f[a+
  "Data"].length=0});if(F&&n>F){for(e=0;null===q&&e<n;)q=c[e],e++;if(B(q))for(e=0;e<n;e++)r[e]=this.autoIncrement(),p[e]=c[e];else if(g(q))if(G)for(e=0;e<n;e++)q=c[e],r[e]=q[0],p[e]=q.slice(1,G+1);else for(e=0;e<n;e++)q=c[e],r[e]=q[0],p[e]=q[1];else a.error(12)}else for(e=0;e<n;e++)void 0!==c[e]&&(q={series:f},f.pointClass.prototype.applyOptions.apply(q,[c[e]]),f.updateParallelArrays(q,e));d(p[0])&&a.error(14,!0);f.data=[];f.options.data=f.userOptions.data=c;for(e=l;e--;)u[e]&&u[e].destroy&&u[e].destroy();
  m&&(m.minRange=m.userMinRange);f.isDirty=w.isDirtyBox=!0;f.isDirtyData=!!u;e=!1}"point"===v.legendType&&(this.processData(),this.generatePoints());b&&w.redraw(e)},processData:function(c){var b=this.xData,d=this.yData,e=b.length,g;g=0;var k,f,u=this.xAxis,h,l=this.options;h=l.cropThreshold;var n=this.getExtremesFromAll||l.getExtremesFromAll,v=this.isCartesian,l=u&&u.val2lin,q=u&&u.isLog,w,m;if(v&&!this.isDirty&&!u.isDirty&&!this.yAxis.isDirty&&!c)return!1;u&&(c=u.getExtremes(),w=c.min,m=c.max);if(v&&
  this.sorted&&!n&&(!h||e>h||this.forceCrop))if(b[e-1]<w||b[0]>m)b=[],d=[];else if(b[0]<w||b[e-1]>m)g=this.cropData(this.xData,this.yData,w,m),b=g.xData,d=g.yData,g=g.start,k=!0;for(h=b.length||1;--h;)e=q?l(b[h])-l(b[h-1]):b[h]-b[h-1],0<e&&(void 0===f||e<f)?f=e:0>e&&this.requireSorting&&a.error(15);this.cropped=k;this.cropStart=g;this.processedXData=b;this.processedYData=d;this.closestPointRange=f},cropData:function(a,c,b,d){var e=a.length,g=0,k=e,f=z(this.cropShoulder,1),u;for(u=0;u<e;u++)if(a[u]>=
  b){g=Math.max(0,u-f);break}for(b=u;b<e;b++)if(a[b]>d){k=b+f;break}return{xData:a.slice(g,k),yData:c.slice(g,k),start:g,end:k}},generatePoints:function(){var a=this.options.data,b=this.data,d,e=this.processedXData,g=this.processedYData,k=this.pointClass,f=e.length,h=this.cropStart||0,l,n=this.hasGroupedData,v,q=[],w;b||n||(b=[],b.length=a.length,b=this.data=b);for(w=0;w<f;w++)l=h+w,n?(v=(new k).init(this,[e[w]].concat(c(g[w]))),v.dataGroup=this.groupMap[w]):(v=b[l])||void 0===a[l]||(b[l]=v=(new k).init(this,
  a[l],e[w])),v&&(v.index=l,q[w]=v);if(b&&(f!==(d=b.length)||n))for(w=0;w<d;w++)w!==h||n||(w+=f),b[w]&&(b[w].destroyElements(),b[w].plotX=void 0);this.data=b;this.points=q},getExtremes:function(a){var c=this.yAxis,b=this.processedXData,d,e=[],k=0;d=this.xAxis.getExtremes();var f=d.min,u=d.max,h,l,n,v;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(v=0;v<d;v++)if(l=b[v],n=a[v],h=(B(n,!0)||g(n))&&(!c.positiveValuesOnly||n.length||0<n),l=this.getExtremesFromAll||this.options.getExtremesFromAll||
  this.cropped||(b[v]||l)>=f&&(b[v]||l)<=u,h&&l)if(h=n.length)for(;h--;)null!==n[h]&&(e[k++]=n[h]);else e[k++]=n;this.dataMin=D(e);this.dataMax=C(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,c=a.stacking,b=this.xAxis,d=b.categories,e=this.yAxis,g=this.points,k=g.length,h=!!this.modifyValue,l=a.pointPlacement,n="between"===l||B(l),v=a.threshold,w=a.startFromThreshold?v:0,q,m,r,p,G=Number.MAX_VALUE;"between"===l&&(l=.5);B(l)&&(l*=z(a.pointRange||
  b.pointRange));for(a=0;a<k;a++){var y=g[a],C=y.x,D=y.y;m=y.low;var E=c&&e.stacks[(this.negStacks&&D<(w?0:v)?"-":"")+this.stackKey],I;e.positiveValuesOnly&&null!==D&&0>=D&&(y.isNull=!0);y.plotX=q=t(Math.min(Math.max(-1E5,b.translate(C,0,0,0,1,l,"flags"===this.type)),1E5));c&&this.visible&&!y.isNull&&E&&E[C]&&(p=this.getStackIndicator(p,C,this.index),I=E[C],D=I.points[p.key],m=D[0],D=D[1],m===w&&p.key===E[C].base&&(m=z(v,e.min)),e.positiveValuesOnly&&0>=m&&(m=null),y.total=y.stackTotal=I.total,y.percentage=
  I.total&&y.y/I.total*100,y.stackY=D,I.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=f(m)?e.translate(m,0,1,0,1):null;h&&(D=this.modifyValue(D,y));y.plotY=m="number"===typeof D&&Infinity!==D?Math.min(Math.max(-1E5,e.translate(D,0,1,0,1)),1E5):void 0;y.isInside=void 0!==m&&0<=m&&m<=e.len&&0<=q&&q<=b.len;y.clientX=n?t(b.translate(C,0,0,0,1,l)):q;y.negative=y.y<(v||0);y.category=d&&void 0!==d[y.x]?d[y.x]:y.x;y.isNull||(void 0!==r&&(G=Math.min(G,Math.abs(q-r))),r=q);y.zone=this.zones.length&&
  y.getZone()}this.closestPointRangePx=G},getValidPoints:function(a,c){var b=this.chart;return q(a||this.points||[],function(a){return c&&!b.isInsidePlot(a.plotX,a.plotY,b.inverted)?!1:!a.isNull})},setClip:function(a){var c=this.chart,b=this.options,d=c.renderer,e=c.inverted,g=this.clipBox,k=g||c.clipBox,f=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,k.height,b.xAxis,b.yAxis].join(),h=c[f],u=c[f+"m"];h||(a&&(k.width=0,c[f+"m"]=u=d.clipRect(-99,e?-c.plotLeft:-c.plotTop,99,e?c.chartWidth:
  c.chartHeight)),c[f]=h=d.clipRect(k),h.count={length:0});a&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1);!1!==b.clip&&(this.group.clip(a||g?h:c.clipRect),this.markerGroup.clip(u),this.sharedClipKey=f);a||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&f&&c[f]&&(g||(c[f]=c[f].destroy()),c[f+"m"]&&(c[f+"m"]=c[f+"m"].destroy())))},animate:function(a){var c=this.chart,b=y(this.options.animation),d;a?this.setClip(b):(d=this.sharedClipKey,(a=c[d])&&
  a.animate({width:c.plotSizeX},b),c[d+"m"]&&c[d+"m"].animate({width:c.plotSizeX+99},b),this.animate=null)},afterAnimate:function(){this.setClip();l(this,"afterAnimate")},drawPoints:function(){var a=this.points,c=this.chart,b,d,e,g,k=this.options.marker,f,h,l,n,v=this.markerGroup,w=z(k.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*k.radius);if(!1!==k.enabled||this._hasPointMarkers)for(d=0;d<a.length;d++)e=a[d],b=e.plotY,g=e.graphic,f=e.marker||{},h=!!e.marker,l=w&&void 0===f.enabled||
  f.enabled,n=e.isInside,l&&B(b)&&null!==e.y?(b=z(f.symbol,this.symbol),e.hasImage=0===b.indexOf("url"),l=this.markerAttribs(e,e.selected&&"select"),g?g[n?"show":"hide"](!0).animate(l):n&&(0<l.width||e.hasImage)&&(e.graphic=g=c.renderer.symbol(b,l.x,l.y,l.width,l.height,h?f:k).add(v)),g&&g.attr(this.pointAttribs(e,e.selected&&"select")),g&&g.addClass(e.getClassName(),!0)):g&&(e.graphic=g.destroy())},markerAttribs:function(a,c){var b=this.options.marker,d=a.marker||{},e=z(d.radius,b.radius);c&&(b=b.states[c],
  c=d.states&&d.states[c],e=z(c&&c.radius,b&&b.radius,e+(b&&b.radiusPlus||0)));a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},pointAttribs:function(a,c){var b=this.options.marker,d=a&&a.options,e=d&&d.marker||{},g=this.color,k=d&&d.color,f=a&&a.color,d=z(e.lineWidth,b.lineWidth);a=a&&a.zone&&a.zone.color;g=k||a||f||g;a=e.fillColor||b.fillColor||g;g=e.lineColor||b.lineColor||g;c&&(b=b.states[c],c=e.states&&e.states[c]||{},d=z(c.lineWidth,b.lineWidth,d+z(c.lineWidthPlus,
  b.lineWidthPlus,0)),a=c.fillColor||b.fillColor||a,g=c.lineColor||b.lineColor||g);return{stroke:g,"stroke-width":d,fill:a}},destroy:function(){var a=this,c=a.chart,b=/AppleWebKit\/533/.test(G.navigator.userAgent),d,g=a.data||[],f,n,w;l(a,"destroy");v(a);h(a.axisTypes||[],function(c){(w=a[c])&&w.series&&(e(w.series,a),w.isDirty=w.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(d=g.length;d--;)(f=g[d])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);for(n in a)a[n]instanceof
  k&&!a[n].survive&&(d=b&&"group"===n?"hide":"destroy",a[n][d]());c.hoverSeries===a&&(c.hoverSeries=null);e(c.series,a);c.orderSeries();for(n in a)delete a[n]},getGraphPath:function(a,c,b){var d=this,e=d.options,g=e.step,k,l=[],n=[],u;a=a||d.points;(k=a.reversed)&&a.reverse();(g={right:1,center:2}[g]||g&&3)&&k&&(g=4-g);!e.connectNulls||c||b||(a=this.getValidPoints(a));h(a,function(k,h){var v=k.plotX,w=k.plotY,q=a[h-1];(k.leftCliff||q&&q.rightCliff)&&!b&&(u=!0);k.isNull&&!f(c)&&0<h?u=!e.connectNulls:
  k.isNull&&!c?u=!0:(0===h||u?h=["M",k.plotX,k.plotY]:d.getPointSpline?h=d.getPointSpline(a,k,h):g?(h=1===g?["L",q.plotX,w]:2===g?["L",(q.plotX+v)/2,q.plotY,"L",(q.plotX+v)/2,w]:["L",v,q.plotY],h.push("L",v,w)):h=["L",v,w],n.push(k.x),g&&n.push(k.x),l.push.apply(l,h),u=!1)});l.xMap=n;return d.graphPath=l},drawGraph:function(){var a=this,c=this.options,b=(this.gappedPath||this.getGraphPath).call(this),d=[["graph","highcharts-graph",c.lineColor||this.color,c.dashStyle]];h(this.zones,function(b,e){d.push(["zone-graph-"+
  e,"highcharts-graph highcharts-zone-graph-"+e+" "+(b.className||""),b.color||a.color,b.dashStyle||c.dashStyle])});h(d,function(d,e){var g=d[0],k=a[g];k?(k.endX=b.xMap,k.animate({d:b})):b.length&&(a[g]=a.chart.renderer.path(b).addClass(d[1]).attr({zIndex:1}).add(a.group),k={stroke:d[2],"stroke-width":c.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?k.dashstyle=d[3]:"square"!==c.linecap&&(k["stroke-linecap"]=k["stroke-linejoin"]="round"),k=a[g].attr(k).shadow(2>e&&c.shadow));k&&(k.startX=b.xMap,
  k.isArea=b.isArea)})},applyZones:function(){var a=this,c=this.chart,b=c.renderer,d=this.zones,e,g,k=this.clips||[],f,l=this.graph,n=this.area,v=Math.max(c.chartWidth,c.chartHeight),w=this[(this.zoneAxis||"y")+"Axis"],q,m,r=c.inverted,p,G,t,B,y=!1;d.length&&(l||n)&&w&&void 0!==w.min&&(m=w.reversed,p=w.horiz,l&&l.hide(),n&&n.hide(),q=w.getExtremes(),h(d,function(d,h){e=m?p?c.plotWidth:0:p?0:w.toPixels(q.min);e=Math.min(Math.max(z(g,e),0),v);g=Math.min(Math.max(Math.round(w.toPixels(z(d.value,q.max),
  !0)),0),v);y&&(e=g=w.toPixels(q.max));G=Math.abs(e-g);t=Math.min(e,g);B=Math.max(e,g);w.isXAxis?(f={x:r?B:t,y:0,width:G,height:v},p||(f.x=c.plotHeight-f.x)):(f={x:0,y:r?B:t,width:v,height:G},p&&(f.y=c.plotWidth-f.y));r&&b.isVML&&(f=w.isXAxis?{x:0,y:m?t:B,height:f.width,width:c.chartWidth}:{x:f.y-c.plotLeft-c.spacingBox.x,y:0,width:f.height,height:c.chartHeight});k[h]?k[h].animate(f):(k[h]=b.clipRect(f),l&&a["zone-graph-"+h].clip(k[h]),n&&a["zone-area-"+h].clip(k[h]));y=d.value>q.max}),this.clips=
  k)},invertGroups:function(a){function c(){h(["group","markerGroup"],function(c){b[c]&&(d.renderer.isVML&&b[c].attr({width:b.yAxis.len,height:b.xAxis.len}),b[c].width=b.yAxis.len,b[c].height=b.xAxis.len,b[c].invert(a))})}var b=this,d=b.chart,e;b.xAxis&&(e=E(d,"resize",c),E(b,"destroy",e),c(a),b.invertGroups=c)},plotGroup:function(a,c,b,d,e){var g=this[a],k=!g;k&&(this[a]=g=this.chart.renderer.g(c).attr({zIndex:d||.1}).add(e),g.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+
  this.colorIndex+" "+(this.options.className||"")));g.attr({visibility:b})[k?"attr":"animate"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,c=this.xAxis,b=this.yAxis;a.inverted&&(c=b,b=this.xAxis);return{translateX:c?c.left:a.plotLeft,translateY:b?b.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,c=a.chart,b,d=a.options,e=!!a.animate&&c.renderer.isSVG&&y(d.animation).duration,g=a.visible?"inherit":"hidden",k=d.zIndex,f=a.hasRendered,h=c.seriesGroup,l=c.inverted;
  b=a.plotGroup("group","series",g,k,h);a.markerGroup=a.plotGroup("markerGroup","markers",g,k,h);e&&a.animate(!0);b.inverted=a.isCartesian?l:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(l);!1===d.clip||a.sharedClipKey||f||b.clip(c.clipRect);e&&a.animate();f||(a.animationTimeout=w(function(){a.afterAnimate()},e));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=
  this.chart,c=this.isDirty||this.isDirtyData,b=this.group,d=this.xAxis,e=this.yAxis;b&&(a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight}),b.animate({translateX:z(d&&d.left,a.plotLeft),translateY:z(e&&e.top,a.plotTop)}));this.translate();this.render();c&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,c){var b=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?b.len-a.chartY+b.pos:a.chartX-b.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-
  d.pos},c)},buildKDTree:function(){function a(b,d,e){var g,k;if(k=b&&b.length)return g=c.kdAxisArray[d%e],b.sort(function(a,c){return a[g]-c[g]}),k=Math.floor(k/2),{point:b[k],left:a(b.slice(0,k),d+1,e),right:a(b.slice(k+1),d+1,e)}}this.buildingKdTree=!0;var c=this,b=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;w(function(){c.kdTree=a(c.getValidPoints(null,!c.directTouch),b,b);c.buildingKdTree=!1},c.options.kdNow?0:1)},searchKDTree:function(a,c){function b(a,c,h,l){var n=c.point,
  v=d.kdAxisArray[h%l],u,w,q=n;w=f(a[e])&&f(n[e])?Math.pow(a[e]-n[e],2):null;u=f(a[g])&&f(n[g])?Math.pow(a[g]-n[g],2):null;u=(w||0)+(u||0);n.dist=f(u)?Math.sqrt(u):Number.MAX_VALUE;n.distX=f(w)?Math.sqrt(w):Number.MAX_VALUE;v=a[v]-n[v];u=0>v?"left":"right";w=0>v?"right":"left";c[u]&&(u=b(a,c[u],h+1,l),q=u[k]<q[k]?u:n);c[w]&&Math.sqrt(v*v)<q[k]&&(a=b(a,c[w],h+1,l),q=a[k]<q[k]?a:q);return q}var d=this,e=this.kdAxisArray[0],g=this.kdAxisArray[1],k=c?"distX":"dist";c=-1<d.options.findNearestPointBy.indexOf("y")?
  2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return b(a,this.kdTree,c,c)}})})(I);(function(a){function E(a,e,b,l,q){var g=a.chart.inverted;this.axis=a;this.isNegative=b;this.options=e;this.x=l;this.total=null;this.points={};this.stack=q;this.rightCliff=this.leftCliff=0;this.alignOptions={align:e.align||(g?b?"left":"right":"center"),verticalAlign:e.verticalAlign||(g?"middle":b?"bottom":"top"),y:f(e.y,g?4:b?14:-6),x:f(e.x,g?b?-6:6:0)};this.textAlign=e.textAlign||(g?b?"right":
  "left":"center")}var y=a.Axis,C=a.Chart,D=a.correctFloat,t=a.defined,p=a.destroyObjectProperties,r=a.each,m=a.format,f=a.pick;a=a.Series;E.prototype={destroy:function(){p(this,this.axis)},render:function(a){var e=this.options,b=e.format,b=b?m(b,this):e.formatter.call(this);this.label?this.label.attr({text:b,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(b,null,null,e.useHTML).css(e.style).attr({align:this.textAlign,rotation:e.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,
  e){var b=this.axis,f=b.chart,h=f.inverted,g=b.reversed,g=this.isNegative&&!g||!this.isNegative&&g,m=b.translate(b.usePercentage?100:this.total,0,0,0,1),b=b.translate(0),b=Math.abs(m-b);a=f.xAxis[0].translate(this.x)+a;var d=f.plotHeight,h={x:h?g?m:m-b:a,y:h?d-a-e:g?d-m-b:d-m,width:h?b:e,height:h?e:b};if(e=this.label)e.align(this.alignOptions,null,h),h=e.alignAttr,e[!1===this.options.crop||f.isInsidePlot(h.x,h.y)?"show":"hide"](!0)}};C.prototype.getStacks=function(){var a=this;r(a.yAxis,function(a){a.stacks&&
  a.hasVisibleSeries&&(a.oldStacks=a.stacks)});r(a.series,function(e){!e.options.stacking||!0!==e.visible&&!1!==a.options.chart.ignoreHiddenSeries||(e.stackKey=e.type+f(e.options.stack,""))})};y.prototype.buildStacks=function(){var a=this.series,e,b=f(this.options.reversedStacks,!0),l=a.length,q;if(!this.isXAxis){this.usePercentage=!1;for(q=l;q--;)a[b?q:l-q-1].setStackedPoints();for(q=l;q--;)e=a[b?q:l-q-1],e.setStackCliffs&&e.setStackCliffs();if(this.usePercentage)for(q=0;q<l;q++)a[q].setPercentStacks()}};
  y.prototype.renderStackTotals=function(){var a=this.chart,e=a.renderer,b=this.stacks,f,q,g=this.stackTotalGroup;g||(this.stackTotalGroup=g=e.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());g.translate(a.plotLeft,a.plotTop);for(f in b)for(q in a=b[f],a)a[q].render(g)};y.prototype.resetStacks=function(){var a=this.stacks,e,b;if(!this.isXAxis)for(e in a)for(b in a[e])a[e][b].touched<this.stacksTouched?(a[e][b].destroy(),delete a[e][b]):(a[e][b].total=null,a[e][b].cum=null)};y.prototype.cleanStacks=
  function(){var a,e,b;if(!this.isXAxis)for(e in this.oldStacks&&(a=this.stacks=this.oldStacks),a)for(b in a[e])a[e][b].cum=a[e][b].total};a.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var a=this.processedXData,e=this.processedYData,b=[],l=e.length,q=this.options,g=q.threshold,m=q.startFromThreshold?g:0,d=q.stack,q=q.stacking,n=this.stackKey,p="-"+n,v=this.negStacks,c=this.yAxis,k=c.stacks,w=c.oldStacks,r,u,F,
  y,C,K,x;c.stacksTouched+=1;for(C=0;C<l;C++)K=a[C],x=e[C],r=this.getStackIndicator(r,K,this.index),y=r.key,F=(u=v&&x<(m?0:g))?p:n,k[F]||(k[F]={}),k[F][K]||(w[F]&&w[F][K]?(k[F][K]=w[F][K],k[F][K].total=null):k[F][K]=new E(c,c.options.stackLabels,u,K,d)),F=k[F][K],null!==x&&(F.points[y]=F.points[this.index]=[f(F.cum,m)],t(F.cum)||(F.base=y),F.touched=c.stacksTouched,0<r.index&&!1===this.singleStacks&&(F.points[y][0]=F.points[this.index+","+K+",0"][0])),"percent"===q?(u=u?n:p,v&&k[u]&&k[u][K]?(u=k[u][K],
  F.total=u.total=Math.max(u.total,F.total)+Math.abs(x)||0):F.total=D(F.total+(Math.abs(x)||0))):F.total=D(F.total+(x||0)),F.cum=f(F.cum,m)+(x||0),null!==x&&(F.points[y].push(F.cum),b[C]=F.cum);"percent"===q&&(c.usePercentage=!0);this.stackedYData=b;c.oldStacks={}}};a.prototype.setPercentStacks=function(){var a=this,e=a.stackKey,b=a.yAxis.stacks,f=a.processedXData,q;r([e,"-"+e],function(e){for(var g=f.length,d,h;g--;)if(d=f[g],q=a.getStackIndicator(q,d,a.index,e),d=(h=b[e]&&b[e][d])&&h.points[q.key])h=
  h.total?100/h.total:0,d[0]=D(d[0]*h),d[1]=D(d[1]*h),a.stackedYData[g]=d[1]})};a.prototype.getStackIndicator=function(a,e,b,f){!t(a)||a.x!==e||f&&a.key!==f?a={x:e,index:0,key:f}:a.index++;a.key=[b,e,a.index].join();return a}})(I);(function(a){var E=a.addEvent,y=a.animate,C=a.Axis,D=a.createElement,t=a.css,p=a.defined,r=a.each,m=a.erase,f=a.extend,h=a.fireEvent,e=a.inArray,b=a.isNumber,l=a.isObject,q=a.merge,g=a.pick,B=a.Point,d=a.Series,n=a.seriesTypes,z=a.setAnimation,v=a.splat;f(a.Chart.prototype,
  {addSeries:function(a,b,d){var c,e=this;a&&(b=g(b,!0),h(e,"addSeries",{options:a},function(){c=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();b&&e.redraw(d)}));return c},addAxis:function(a,b,d,e){var c=b?"xAxis":"yAxis",k=this.options;a=q(a,{index:this[c].length,isX:b});new C(this,a);k[c]=v(k[c]||{});k[c].push(a);g(d,!0)&&this.redraw(e)},showLoading:function(a){var c=this,b=c.options,d=c.loadingDiv,e=b.loading,g=function(){d&&t(d,{left:c.plotLeft+"px",top:c.plotTop+"px",width:c.plotWidth+"px",
  height:c.plotHeight+"px"})};d||(c.loadingDiv=d=D("div",{className:"highcharts-loading highcharts-loading-hidden"},null,c.container),c.loadingSpan=D("span",{className:"highcharts-loading-inner"},null,d),E(c,"redraw",g));d.className="highcharts-loading";c.loadingSpan.innerHTML=a||b.lang.loading;t(d,f(e.style,{zIndex:10}));t(c.loadingSpan,e.labelStyle);c.loadingShown||(t(d,{opacity:0,display:""}),y(d,{opacity:e.style.opacity||.5},{duration:e.showDuration||0}));c.loadingShown=!0;g()},hideLoading:function(){var a=
  this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",y(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){t(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
  propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions".split(" "),update:function(a,d){var c,f={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},k=a.chart,h,l;if(k){q(!0,this.options.chart,k);"className"in k&&this.setClassName(k.className);if("inverted"in k||"polar"in k)this.propFromSeries(),h=!0;"alignTicks"in k&&(h=!0);for(c in k)k.hasOwnProperty(c)&&(-1!==e("chart."+c,this.propsRequireUpdateSeries)&&(l=!0),-1!==e(c,this.propsRequireDirtyBox)&&
  (this.isDirtyBox=!0));"style"in k&&this.renderer.setStyle(k.style)}for(c in a){if(this[c]&&"function"===typeof this[c].update)this[c].update(a[c],!1);else if("function"===typeof this[f[c]])this[f[c]](a[c]);"chart"!==c&&-1!==e(c,this.propsRequireUpdateSeries)&&(l=!0)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&q(!0,this.options.plotOptions,a.plotOptions);r(["xAxis","yAxis","series","colorAxis","pane"],function(c){a[c]&&r(v(a[c]),function(a,b){(b=p(a.id)&&this.get(a.id)||this[c][b])&&b.coll===
  c&&b.update(a,!1)},this)},this);h&&r(this.axes,function(a){a.update({},!1)});l&&r(this.series,function(a){a.update({},!1)});a.loading&&q(!0,this.options.loading,a.loading);c=k&&k.width;k=k&&k.height;b(c)&&c!==this.chartWidth||b(k)&&k!==this.chartHeight?this.setSize(c,k):g(d,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,a)}});f(B.prototype,{update:function(a,b,d,e){function c(){k.applyOptions(a);null===k.y&&h&&(k.graphic=h.destroy());l(a,!0)&&(h&&h.element&&a&&a.marker&&a.marker.symbol&&
  (k.graphic=h.destroy()),a&&a.dataLabels&&k.dataLabel&&(k.dataLabel=k.dataLabel.destroy()));n=k.index;f.updateParallelArrays(k,n);w.data[n]=l(w.data[n],!0)||l(a,!0)?k.options:a;f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(v.isDirtyBox=!0);"point"===w.legendType&&(v.isDirtyLegend=!0);b&&v.redraw(d)}var k=this,f=k.series,h=k.graphic,n,v=f.chart,w=f.options;b=g(b,!0);!1===e?c():k.firePointEvent("update",{options:a},c)},remove:function(a,b){this.series.removePoint(e(this,this.series.data),
  a,b)}});f(d.prototype,{addPoint:function(a,b,d,e){var c=this.options,k=this.data,f=this.chart,h=this.xAxis,h=h&&h.hasNames&&h.names,l=c.data,n,v,w=this.xData,q,m;b=g(b,!0);n={series:this};this.pointClass.prototype.applyOptions.apply(n,[a]);m=n.x;q=w.length;if(this.requireSorting&&m<w[q-1])for(v=!0;q&&w[q-1]>m;)q--;this.updateParallelArrays(n,"splice",q,0,0);this.updateParallelArrays(n,q);h&&n.name&&(h[m]=n.name);l.splice(q,0,a);v&&(this.data.splice(q,0,null),this.processData());"point"===c.legendType&&
  this.generatePoints();d&&(k[0]&&k[0].remove?k[0].remove(!1):(k.shift(),this.updateParallelArrays(n,"shift"),l.shift()));this.isDirtyData=this.isDirty=!0;b&&f.redraw(e)},removePoint:function(a,b,d){var c=this,e=c.data,k=e[a],f=c.points,h=c.chart,l=function(){f&&f.length===e.length&&f.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(k||{series:c},"splice",a,1);k&&k.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&h.redraw()};z(d,h);b=g(b,!0);k?k.firePointEvent("remove",null,l):
  l()},remove:function(a,b,d){function c(){e.destroy();k.isDirtyLegend=k.isDirtyBox=!0;k.linkSeries();g(a,!0)&&k.redraw(b)}var e=this,k=e.chart;!1!==d?h(e,"remove",null,c):c()},update:function(a,b){var c=this,d=this.chart,e=this.userOptions,k=this.oldType||this.type,h=a.type||e.type||d.options.chart.type,l=n[k].prototype,v=["group","markerGroup","dataLabelsGroup"],m;if(h&&h!==k||void 0!==a.zIndex)v.length=0;r(v,function(a){v[a]=c[a];delete c[a]});a=q(e,{animation:!1,index:this.index,pointStart:this.xData[0]},
  {data:this.options.data},a);this.remove(!1,null,!1);for(m in l)this[m]=void 0;f(this,n[h||k].prototype);r(v,function(a){c[a]=v[a]});this.init(d,a);this.oldType=k;d.linkSeries();g(b,!0)&&d.redraw(!1)}});f(C.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=q(this.userOptions,a);this.destroy(!0);this.init(c,f(a,{events:void 0}));c.isDirtyBox=!0;g(b,!0)&&c.redraw()},remove:function(a){for(var c=this.chart,b=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);
  m(c.axes,this);m(c[b],this);c.options[b].splice(this.options.index,1);r(c[b],function(a,c){a.options.index=c});this.destroy();c.isDirtyBox=!0;g(a,!0)&&c.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(I);(function(a){var E=a.color,y=a.each,C=a.map,D=a.pick,t=a.Series,p=a.seriesType;p("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],m=[],f=this.xAxis,h=this.yAxis,e=h.stacks[this.stackKey],
  b={},l=this.points,q=this.index,g=h.series,p=g.length,d,n=D(h.options.reversedStacks,!0)?1:-1,z,v;if(this.options.stacking){for(z=0;z<l.length;z++)b[l[z].x]=l[z];for(v in e)null!==e[v].total&&m.push(v);m.sort(function(a,b){return a-b});d=C(g,function(){return this.visible});y(m,function(c,g){var k=0,l,v;if(b[c]&&!b[c].isNull)a.push(b[c]),y([-1,1],function(a){var k=1===a?"rightNull":"leftNull",f=0,h=e[m[g+a]];if(h)for(z=q;0<=z&&z<p;)l=h.points[z],l||(z===q?b[c][k]=!0:d[z]&&(v=e[c].points[z])&&(f-=
  v[1]-v[0])),z+=n;b[c][1===a?"rightCliff":"leftCliff"]=f});else{for(z=q;0<=z&&z<p;){if(l=e[c].points[z]){k=l[1];break}z+=n}k=h.translate(k,0,1,0,1);a.push({isNull:!0,plotX:f.translate(c,0,0,0,1),x:c,plotY:k,yBottom:k})}})}return a},getGraphPath:function(a){var m=t.prototype.getGraphPath,f=this.options,h=f.stacking,e=this.yAxis,b,l,q=[],g=[],p=this.index,d,n=e.stacks[this.stackKey],r=f.threshold,v=e.getThreshold(f.threshold),c,f=f.connectNulls||"percent"===h,k=function(c,b,k){var f=a[c];c=h&&n[f.x].points[p];
  var l=f[k+"Null"]||0;k=f[k+"Cliff"]||0;var m,u,f=!0;k||l?(m=(l?c[0]:c[1])+k,u=c[0]+k,f=!!l):!h&&a[b]&&a[b].isNull&&(m=u=r);void 0!==m&&(g.push({plotX:d,plotY:null===m?v:e.getThreshold(m),isNull:f,isCliff:!0}),q.push({plotX:d,plotY:null===u?v:e.getThreshold(u),doCurve:!1}))};a=a||this.points;h&&(a=this.getStackPoints());for(b=0;b<a.length;b++)if(l=a[b].isNull,d=D(a[b].rectPlotX,a[b].plotX),c=D(a[b].yBottom,v),!l||f)f||k(b,b-1,"left"),l&&!h&&f||(g.push(a[b]),q.push({x:b,plotX:d,plotY:c})),f||k(b,b+
  1,"right");b=m.call(this,g,!0,!0);q.reversed=!0;l=m.call(this,q,!0,!0);l.length&&(l[0]="L");l=b.concat(l);m=m.call(this,g,!1,f);l.xMap=b.xMap;this.areaPath=l;return m},drawGraph:function(){this.areaPath=[];t.prototype.drawGraph.apply(this);var a=this,m=this.areaPath,f=this.options,h=[["area","highcharts-area",this.color,f.fillColor]];y(this.zones,function(e,b){h.push(["zone-area-"+b,"highcharts-area highcharts-zone-area-"+b+" "+e.className,e.color||a.color,e.fillColor||f.fillColor])});y(h,function(e){var b=
  e[0],h=a[b];h?(h.endX=m.xMap,h.animate({d:m})):(h=a[b]=a.chart.renderer.path(m).addClass(e[1]).attr({fill:D(e[3],E(e[2]).setOpacity(D(f.fillOpacity,.75)).get()),zIndex:0}).add(a.group),h.isArea=!0);h.startX=m.xMap;h.shiftUnit=f.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(I);(function(a){var E=a.addEvent,y=a.arrayMax,C=a.defined,D=a.each,t=a.extend,p=a.format,r=a.map,m=a.merge,f=a.noop,h=a.pick,e=a.relativeLength,b=a.Series,l=a.seriesTypes,q=a.stableSort;a.distribute=function(a,
  b){function d(a,c){return a.target-c.target}var e,g=!0,f=a,c=[],k;k=0;for(e=a.length;e--;)k+=a[e].size;if(k>b){q(a,function(a,c){return(c.rank||0)-(a.rank||0)});for(k=e=0;k<=b;)k+=a[e].size,e++;c=a.splice(e-1,a.length)}q(a,d);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});g;){for(e=a.length;e--;)g=a[e],k=(Math.min.apply(0,g.targets)+Math.max.apply(0,g.targets))/2,g.pos=Math.min(Math.max(0,k-g.size/2),b-g.size);e=a.length;for(g=!1;e--;)0<e&&a[e-1].pos+a[e-1].size>a[e].pos&&(a[e-1].size+=
  a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>b&&(a[e-1].pos=b-a[e-1].size),a.splice(e,1),g=!0)}e=0;D(a,function(a){var c=0;D(a.targets,function(){f[e].pos=a.pos+c;c+=f[e].size;e++})});f.push.apply(f,c);q(f,d)};b.prototype.drawDataLabels=function(){var a=this,b=a.options,d=b.dataLabels,e=a.points,f,l,c=a.hasRendered||0,k,q,r=h(d.defer,!0),u=a.chart.renderer;if(d.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(d),q=a.plotGroup("dataLabelsGroup",
  "data-labels",r&&!c?"hidden":"visible",d.zIndex||6),r&&(q.attr({opacity:+c}),c||E(a,"afterAnimate",function(){a.visible&&q.show(!0);q[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),l=d,D(e,function(c){var e,g=c.dataLabel,v,n,w,r=c.connector,z=!g,t;f=c.dlOptions||c.options&&c.options.dataLabels;if(e=h(f&&f.enabled,l.enabled)&&null!==c.y)for(n in d=m(l,f),v=c.getLabelConfig(),k=d.format?p(d.format,v):d.formatter.call(v,d),t=d.style,w=d.rotation,t.color=h(d.color,t.color,a.color,"#000000"),
  "contrast"===t.color&&(c.contrastColor=u.getContrast(c.color||a.color),t.color=d.inside||0>d.distance||b.stacking?c.contrastColor:"#000000"),b.cursor&&(t.cursor=b.cursor),v={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:w,padding:d.padding,zIndex:1},v)void 0===v[n]&&delete v[n];!g||e&&C(k)?e&&C(k)&&(g?v.text=k:(g=c.dataLabel=u[w?"text":"label"](k,0,-9999,d.shape,null,null,d.useHTML,null,"data-label"),g.addClass("highcharts-data-label-color-"+
  c.colorIndex+" "+(d.className||"")+(d.useHTML?"highcharts-tracker":""))),g.attr(v),g.css(t).shadow(d.shadow),g.added||g.add(q),a.alignDataLabel(c,g,d,null,z)):(c.dataLabel=g.destroy(),r&&(c.connector=r.destroy()))})};b.prototype.alignDataLabel=function(a,b,d,e,f){var g=this.chart,c=g.inverted,k=h(a.plotX,-9999),l=h(a.plotY,-9999),n=b.getBBox(),q,m=d.rotation,p=d.align,r=this.visible&&(a.series.forceDL||g.isInsidePlot(k,Math.round(l),c)||e&&g.isInsidePlot(k,c?e.x+1:e.y+e.height-1,c)),z="justify"===
  h(d.overflow,"justify");r&&(q=d.style.fontSize,q=g.renderer.fontMetrics(q,b).b,e=t({x:c?g.plotWidth-l:k,y:Math.round(c?g.plotHeight-k:l),width:0,height:0},e),t(d,{width:n.width,height:n.height}),m?(z=!1,c=g.renderer.rotCorr(q,m),c={x:e.x+d.x+e.width/2+c.x,y:e.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*e.height},b[f?"attr":"animate"](c).attr({align:p}),k=(m+720)%360,k=180<k&&360>k,"left"===p?c.y-=k?n.height:0:"center"===p?(c.x-=n.width/2,c.y-=n.height/2):"right"===p&&(c.x-=n.width,c.y-=k?0:
  n.height)):(b.align(d,null,e),c=b.alignAttr),z?a.isLabelJustified=this.justifyDataLabel(b,d,c,n,e,f):h(d.crop,!0)&&(r=g.isInsidePlot(c.x,c.y)&&g.isInsidePlot(c.x+n.width,c.y+n.height)),d.shape&&!m&&b.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(b.attr({y:-9999}),b.placed=!1)};b.prototype.justifyDataLabel=function(a,b,d,e,f,h){var c=this.chart,g=b.align,l=b.verticalAlign,v,n,q=a.box?0:a.padding||0;v=d.x+q;0>v&&("right"===g?b.align="left":b.x=-v,n=!0);v=d.x+e.width-q;v>c.plotWidth&&("left"===g?b.align=
  "right":b.x=c.plotWidth-v,n=!0);v=d.y+q;0>v&&("bottom"===l?b.verticalAlign="top":b.y=-v,n=!0);v=d.y+e.height-q;v>c.plotHeight&&("top"===l?b.verticalAlign="bottom":b.y=c.plotHeight-v,n=!0);n&&(a.placed=!h,a.align(b,null,f));return n};l.pie&&(l.pie.prototype.drawDataLabels=function(){var e=this,f=e.data,d,l=e.chart,q=e.options.dataLabels,v=h(q.connectorPadding,10),c=h(q.connectorWidth,1),k=l.plotWidth,m=l.plotHeight,p,u=q.distance,t=e.center,C=t[2]/2,E=t[1],K=0<u,x,H,I,N,O=[[],[]],M,A,P,S,R=[0,0,0,
  0];e.visible&&(q.enabled||e._hasPointLabels)&&(D(f,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),b.prototype.drawDataLabels.apply(e),D(f,function(a){a.dataLabel&&a.visible&&(O[a.half].push(a),a.dataLabel._pos=null)}),D(O,function(c,b){var g,f,h=c.length,n,w,p;if(h)for(e.sortByAngle(c,b-.5),0<u&&(g=Math.max(0,E-C-u),f=Math.min(E+C+u,l.plotHeight),n=r(c,function(a){if(a.dataLabel)return p=
  a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-g+p/2,size:p,rank:a.y}}),a.distribute(n,f+p-g)),S=0;S<h;S++)d=c[S],I=d.labelPos,x=d.dataLabel,P=!1===d.visible?"hidden":"inherit",w=I[1],n?void 0===n[S].pos?P="hidden":(N=n[S].size,A=g+n[S].pos):A=w,M=q.justify?t[0]+(b?-1:1)*(C+u):e.getX(A<g+2||A>f-2?w:A,b),x._attr={visibility:P,align:I[6]},x._pos={x:M+q.x+({left:v,right:-v}[I[6]]||0),y:A+q.y-10},I.x=M,I.y=A,null===e.options.size&&(H=x.getBBox().width,w=null,M-H<v?(w=Math.round(H-M+v),R[3]=Math.max(w,
  R[3])):M+H>k-v&&(w=Math.round(M+H-k+v),R[1]=Math.max(w,R[1])),0>A-N/2?R[0]=Math.max(Math.round(-A+N/2),R[0]):A+N/2>m&&(R[2]=Math.max(Math.round(A+N/2-m),R[2])),x.sideOverflow=w)}),0===y(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),K&&c&&D(this.points,function(a){var b;p=a.connector;if((x=a.dataLabel)&&x._pos&&a.visible){P=x._attr.visibility;if(b=!p)a.connector=p=l.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(e.dataLabelsGroup),p.attr({"stroke-width":c,
  stroke:q.connectorColor||a.color||"#666666"});p[b?"attr":"animate"]({d:e.connectorPath(a.labelPos)});p.attr("visibility",P)}else p&&(a.connector=p.destroy())}))},l.pie.prototype.connectorPath=function(a){var b=a.x,d=a.y;return h(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),d,"C",b,d,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),d,"L",a[2],a[3],"L",a[4],a[5]]},l.pie.prototype.placeDataLabels=function(){D(this.points,function(a){var b=a.dataLabel;
  b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},l.pie.prototype.alignDataLabel=f,l.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,d=this.options,g=d.center,f=d.minSize||80,h,c;null!==g[0]?h=Math.max(b[2]-Math.max(a[1],a[3]),f):(h=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/
  2);null!==g[1]?h=Math.max(Math.min(h,b[2]-Math.max(a[0],a[2])),f):(h=Math.max(Math.min(h,b[2]-a[0]-a[2]),f),b[1]+=(a[0]-a[2])/2);h<b[2]?(b[2]=h,b[3]=Math.min(e(d.innerSize||0,h),h),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):c=!0;return c});l.column&&(l.column.prototype.alignDataLabel=function(a,e,d,f,l){var g=this.chart.inverted,c=a.series,k=a.dlBox||a.shapeArgs,n=h(a.below,a.plotY>h(this.translatedThreshold,c.yAxis.len)),q=h(d.inside,!!this.options.stacking);k&&(f=m(k),0>f.y&&
  (f.height+=f.y,f.y=0),k=f.y+f.height-c.yAxis.len,0<k&&(f.height-=k),g&&(f={x:c.yAxis.len-f.y-f.height,y:c.xAxis.len-f.x-f.width,width:f.height,height:f.width}),q||(g?(f.x+=n?0:f.width,f.width=0):(f.y+=n?f.height:0,f.height=0)));d.align=h(d.align,!g||q?"center":n?"right":"left");d.verticalAlign=h(d.verticalAlign,g||q?"middle":n?"top":"bottom");b.prototype.alignDataLabel.call(this,a,e,d,f,l);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(I);(function(a){var E=a.addEvent,
  y=a.Chart,C=a.createElement,D=a.css,t=a.defaultOptions,p=a.defaultPlotOptions,r=a.each,m=a.extend,f=a.fireEvent,h=a.hasTouch,e=a.inArray,b=a.isObject,l=a.Legend,q=a.merge,g=a.pick,B=a.Point,d=a.Series,n=a.seriesTypes,z=a.svg;a=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,d=function(a){var c=b.getPointFromEvent(a);if(void 0!==c)c.onMouseOver(a)};r(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=
  a)});a._hasTracking||(r(a.trackerGroups,function(c){if(a[c]){a[c].addClass("highcharts-tracker").on("mouseover",d).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(h)a[c].on("touchstart",d);a.options.cursor&&a[c].css(D).css({cursor:a.options.cursor})}}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=this,c=a.options,b=c.trackByArea,d=[].concat(b?a.areaPath:a.graphPath),e=d.length,g=a.chart,f=g.pointer,l=g.renderer,n=g.options.tooltip.snap,q=a.tracker,m,p=function(){if(g.hoverSeries!==
  a)a.onMouseOver()},t="rgba(192,192,192,"+(z?.0001:.002)+")";if(e&&!b)for(m=e+1;m--;)"M"===d[m]&&d.splice(m+1,0,d[m+1]-n,d[m+2],"L"),(m&&"M"===d[m]||m===e)&&d.splice(m,0,"L",d[m-2]+n,d[m-1]);q?q.attr({d:d}):a.graph&&(a.tracker=l.path(d).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:t,fill:b?t:"none","stroke-width":a.graph.strokeWidth()+(b?0:2*n),zIndex:2}).add(a.group),r([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",p).on("mouseout",
  function(a){f.onTrackerMouseOut(a)});c.cursor&&a.css({cursor:c.cursor});if(h)a.on("touchstart",p)}))}};n.column&&(n.column.prototype.drawTracker=a.drawTrackerPoint);n.pie&&(n.pie.prototype.drawTracker=a.drawTrackerPoint);n.scatter&&(n.scatter.prototype.drawTracker=a.drawTrackerPoint);m(l.prototype,{setItemEvents:function(a,b,d){var c=this,e=c.chart.renderer.boxWrapper,g="highcharts-legend-"+(a.series?"point":"series")+"-active";(d?b:a.legendGroup).on("mouseover",function(){a.setState("hover");e.addClass(g);
  b.css(c.options.itemHoverStyle)}).on("mouseout",function(){b.css(a.visible?c.itemStyle:c.itemHiddenStyle);e.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):f(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=C("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);E(a.checkbox,"click",
  function(b){f(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});t.legend.itemStyle.cursor="pointer";m(y.prototype,{showResetZoom:function(){var a=this,b=t.lang,d=a.options.chart.resetZoomButton,e=d.theme,g=e.states,f="chart"===d.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},e,g&&g.hover).attr({align:d.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,
  !1,f)},zoomOut:function(){var a=this;f(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var c,d=this.pointer,e=!1,f;!a||a.resetSelection?r(this.axes,function(a){c=a.zoom()}):r(a.xAxis.concat(a.yAxis),function(a){var b=a.axis;d[b.isXAxis?"zoomX":"zoomY"]&&(c=b.zoom(a.min,a.max),b.displayBtn&&(e=!0))});f=this.resetZoomButton;e&&!f?this.showResetZoom():!e&&b(f)&&(this.resetZoomButton=f.destroy());c&&this.redraw(g(this.options.chart.animation,a&&a.animation,100>this.pointCount))},
  pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",f=c[d],k=(b.pointRange||0)/2,h=b.getExtremes(),l=b.toValue(f-g,!0)+k,k=b.toValue(f+b.len-g,!0)-k,n=k<l,f=n?k:l,l=n?l:k,n=b.toValue(b.toPixels(h.min)-b.minPixelPadding),k=b.toValue(b.toPixels(h.max)+b.minPixelPadding),n=Math.min(h.dataMin,n)-f,h=l-Math.max(h.dataMax,k);b.series.length&&0>n&&0>
  h&&(b.setExtremes(f,l,!1,!1,{trigger:"pan"}),e=!0);c[d]=g});e&&c.redraw(!1);D(c.container,{cursor:"move"})}});m(B.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=g(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[e(c,d.data)]=c.options;c.setState(a&&"select");b||r(f.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[e(a,d.data)]=a.options,a.setState(""),
  a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart.pointer;this.firePointEvent("mouseOver");b.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");r(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var a=q(this.series.options.point,this.options).events,b;this.events=a;for(b in a)E(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,
  b){var c=Math.floor(this.plotX),d=this.plotY,e=this.series,f=e.options.states[a]||{},h=p[e.type].marker&&e.options.marker,l=h&&!1===h.enabled,n=h&&h.states&&h.states[a]||{},q=!1===n.enabled,v=e.stateMarkerGraphic,r=this.marker||{},z=e.chart,t=e.halo,B,y=h&&e.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(q||l&&!1===n.enabled)||a&&r.states&&r.states[a]&&!1===r.states[a].enabled)){y&&(B=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+
  this.state),a&&this.graphic.addClass("highcharts-point-"+a),this.graphic.attr(e.pointAttribs(this,a)),B&&this.graphic.animate(B,g(z.options.chart.animation,n.animation,h.animation)),v&&v.hide();else{if(a&&n){h=r.symbol||e.symbol;v&&v.currentSymbol!==h&&(v=v.destroy());if(v)v[b?"animate":"attr"]({x:B.x,y:B.y});else h&&(e.stateMarkerGraphic=v=z.renderer.symbol(h,B.x,B.y,B.width,B.height).add(e.markerGroup),v.currentSymbol=h);v&&v.attr(e.pointAttribs(this,a))}v&&(v[a&&z.isInsidePlot(c,d,z.inverted)?
  "show":"hide"](),v.element.point=this)}(c=f.halo)&&c.size?(t||(e.halo=t=z.renderer.path().add(y?e.markerGroup:e.group)),t[b?"animate":"attr"]({d:this.haloPath(c.size)}),t.attr({"class":"highcharts-halo highcharts-color-"+g(this.colorIndex,e.colorIndex)}),t.point=this,t.attr(m({fill:this.color||e.color,"fill-opacity":c.opacity,zIndex:-1},c.attributes))):t&&t.point&&t.point.haloPath&&t.animate({d:t.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-
  a,this.plotY-a,2*a,2*a)}});m(d.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&f(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&&a.events.mouseOut&&f(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();this.setState()},setState:function(a){var b=this,
  d=b.options,e=b.graph,f=d.states,h=d.lineWidth,d=0;a=a||"";if(b.state!==a&&(r([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!f[a]||!1!==f[a].enabled)&&(a&&(h=f[a].lineWidth||h+(f[a].lineWidthPlus||0)),e&&!e.dashstyle))for(h={"stroke-width":h},e.animate(h,g(b.chart.options.chart.animation,f[a]&&f[a].animation));b["zone-graph-"+d];)b["zone-graph-"+d].attr(h),d+=1},setVisible:function(a,
  b){var c=this,d=c.chart,e=c.legendItem,g,h=d.options.chart.ignoreHiddenSeries,l=c.visible;g=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!l:a)?"show":"hide";r(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][g]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&r(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});r(c.linkedSeries,function(b){b.setVisible(a,
  !1)});h&&(d.isDirtyBox=!0);!1!==b&&d.redraw();f(c,g)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);f(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(I);(function(a){function E(a,m){this.init(a,m)}var y=a.CenteredSeriesMixin,C=a.each,D=a.extend,t=a.merge,p=a.splat;D(E.prototype,{coll:"pane",init:function(a,m){this.chart=m;this.background=[];m.pane.push(this);
  this.setOptions(a)},setOptions:function(a){this.options=t(this.defaultOptions,this.chart.angular?{background:{}}:void 0,a)},render:function(){var a=this.options,m=this.options.background,f=this.chart.renderer;this.group||(this.group=f.g("pane-group").attr({zIndex:a.zIndex||0}).add());this.updateCenter();if(m)for(m=p(m),a=Math.max(m.length,this.background.length||0),f=0;f<a;f++)m[f]?this.renderBackground(t(this.defaultBackgroundOptions,m[f]),f):this.background[f]&&(this.background[f]=this.background[f].destroy(),
  this.background.splice(f,1))},renderBackground:function(a,m){var f="animate";this.background[m]||(this.background[m]=this.chart.renderer.path().add(this.group),f="attr");this.background[m][f]({d:this.axis.getPlotBandPath(a.from,a.to,a)}).attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.borderWidth,"class":"highcharts-pane "+(a.className||"")})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"#cccccc",
  backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(a){this.center=(a||this.axis||{}).center=y.getCenter.call(this)},update:function(a,m){t(!0,this.options,a);this.setOptions(this.options);this.render();C(this.chart.axes,function(a){a.pane===this&&(a.pane=null,a.update({},m))},this)}});a.Pane=E})(I);(function(a){var E=a.each,y=a.extend,C=a.map,D=a.merge,t=a.noop,
  p=a.pick,r=a.pInt,m=a.wrap,f,h,e=a.Axis.prototype;a=a.Tick.prototype;f={getOffset:t,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:t,setCategories:t,setTitle:t};h={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,
  distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=D(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){e.getOffset.call(this);this.chart.axisOffset[this.side]=0},getLinePath:function(a,e){a=this.center;var b=this.chart,g=p(e,a[2]/2-this.offset);
  this.isCircular||void 0!==e?e=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],g,g,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(e=this.postTranslate(this.angleRad,g),e=["M",a[0]+b.plotLeft,a[1]+b.plotTop,"L",e.x,e.y]);return e},setAxisTranslation:function(){e.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?
  this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===p(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){e.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*p(this.sector,1)/2)},getPosition:function(a,
  e){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,p(this.isCircular?e:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,e){var b=this.chart,g=this.center;a=this.startAngleRad+a;return{x:b.plotLeft+g[0]+Math.cos(a)*e,y:b.plotTop+g[1]+Math.sin(a)*e}},getPlotBandPath:function(a,e,f){var b=this.center,h=this.startAngleRad,d=b[2]/2,l=[p(f.outerRadius,"100%"),f.innerRadius,p(f.thickness,10)],q=Math.min(this.offset,0),m=/%$/,c,k=this.isCircular;"polygon"===
  this.options.gridLineInterpolation?b=this.getPlotLinePath(a).concat(this.getPlotLinePath(e,!0)):(a=Math.max(a,this.min),e=Math.min(e,this.max),k||(l[0]=this.translate(a),l[1]=this.translate(e)),l=C(l,function(a){m.test(a)&&(a=r(a,10)*d/100);return a}),"circle"!==f.shape&&k?(a=h+this.translate(a),e=h+this.translate(e)):(a=-Math.PI/2,e=1.5*Math.PI,c=!0),l[0]-=q,l[2]-=q,b=this.chart.renderer.symbols.arc(this.left+b[0],this.top+b[1],l[0],l[0],{start:Math.min(a,e),end:Math.max(a,e),innerR:p(l[1],l[0]-
  l[2]),open:c}));return b},getPlotLinePath:function(a,e){var b=this,g=b.center,f=b.chart,d=b.getPosition(a),h,l,m;b.isCircular?m=["M",g[0]+f.plotLeft,g[1]+f.plotTop,"L",d.x,d.y]:"circle"===b.options.gridLineInterpolation?(a=b.translate(a))&&(m=b.getLinePath(0,a)):(E(f.xAxis,function(a){a.pane===b.pane&&(h=a)}),m=[],a=b.translate(a),g=h.tickPositions,h.autoConnect&&(g=g.concat([g[0]])),e&&(g=[].concat(g).reverse()),E(g,function(b,d){l=h.getPosition(b,a);m.push(d?"L":"M",l.x,l.y)}));return m},getTitlePosition:function(){var a=
  this.center,e=this.chart,f=this.options.title;return{x:e.plotLeft+a[0]+(f.x||0),y:e.plotTop+a[1]-{high:.5,middle:.25,low:0}[f.align]*a[2]+(f.y||0)}}};m(e,"init",function(a,e,m){var b=e.angular,l=e.polar,d=m.isX,n=b&&d,q,v=e.options,c=this.pane=e.pane[m.pane||0],k=c.options;if(b){if(y(this,n?f:h),q=!d)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else l&&(y(this,h),this.defaultRadialOptions=(q=d)?this.defaultRadialXOptions:D(this.defaultYAxisOptions,this.defaultRadialYOptions));b||l?(this.isRadial=
  !0,e.inverted=!1,v.chart.zoomType=null):this.isRadial=!1;q&&(c.axis=this);a.call(this,e,m);n||!b&&!l||(a=this.options,this.angleRad=(a.angle||0)*Math.PI/180,this.startAngleRad=(k.startAngle-90)*Math.PI/180,this.endAngleRad=(p(k.endAngle,k.startAngle+360)-90)*Math.PI/180,this.offset=a.offset||0,this.isCircular=q)});m(e,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});m(a,"getPosition",function(a,e,f,g,h){var b=this.axis;return b.getPosition?b.getPosition(f):
  a.call(this,e,f,g,h)});m(a,"getLabelPosition",function(a,e,f,g,h,d,n,m,v){var b=this.axis,k=d.y,l=20,q=d.align,u=(b.translate(this.pos)+b.startAngleRad+Math.PI/2)/Math.PI*180%360;b.isRadial?(a=b.getPosition(this.pos,b.center[2]/2+p(d.distance,-25)),"auto"===d.rotation?g.attr({rotation:u}):null===k&&(k=b.chart.renderer.fontMetrics(g.styles.fontSize).b-g.getBBox().height/2),null===q&&(b.isCircular?(this.label.getBBox().width>b.len*b.tickInterval/(b.max-b.min)&&(l=0),q=u>l&&u<180-l?"left":u>180+l&&u<
  360-l?"right":"center"):q="center",g.attr({align:q})),a.x+=d.x,a.y+=k):a=a.call(this,e,f,g,h,d,n,m,v);return a});m(a,"getMarkPath",function(a,e,f,g,h,d,n){var b=this.axis;b.isRadial?(a=b.getPosition(this.pos,b.center[2]/2+g),e=["M",e,f,"L",a.x,a.y]):e=a.call(this,e,f,g,h,d,n);return e})})(I);(function(a){function E(a,f){var h=this.chart,e=this.options.animation,b=this.group,l=this.markerGroup,m=this.xAxis.center,g=h.plotLeft,p=h.plotTop;h.polar?h.renderer.isSVG&&(!0===e&&(e={}),f?(a={translateX:m[0]+
  g,translateY:m[1]+p,scaleX:.001,scaleY:.001},b.attr(a),l&&l.attr(a)):(a={translateX:g,translateY:p,scaleX:1,scaleY:1},b.animate(a,e),l&&l.animate(a,e),this.animate=null)):a.call(this,f)}var y=a.each,C=a.pick,D=a.seriesTypes,t=a.wrap,p=a.Series.prototype,r=a.Pointer.prototype;p.searchPointByAngle=function(a){var f=this.chart,h=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-h[0]-f.plotLeft,a.chartY-h[1]-f.plotTop)})};p.getConnectors=function(a,f,h,e){var b,
  l,m,g,p,d,n,r;l=e?1:0;b=0<=f&&f<=a.length-1?f:0>f?a.length-1+f:0;f=0>b-1?a.length-(1+l):b-1;l=b+1>a.length-1?l:b+1;m=a[f];l=a[l];g=m.plotX;m=m.plotY;p=l.plotX;d=l.plotY;l=a[b].plotX;b=a[b].plotY;g=(1.5*l+g)/2.5;m=(1.5*b+m)/2.5;p=(1.5*l+p)/2.5;n=(1.5*b+d)/2.5;d=Math.sqrt(Math.pow(g-l,2)+Math.pow(m-b,2));r=Math.sqrt(Math.pow(p-l,2)+Math.pow(n-b,2));g=Math.atan2(m-b,g-l);n=Math.PI/2+(g+Math.atan2(n-b,p-l))/2;Math.abs(g-n)>Math.PI/2&&(n-=Math.PI);g=l+Math.cos(n)*d;m=b+Math.sin(n)*d;p=l+Math.cos(Math.PI+
  n)*r;n=b+Math.sin(Math.PI+n)*r;l={rightContX:p,rightContY:n,leftContX:g,leftContY:m,plotX:l,plotY:b};h&&(l.prevPointCont=this.getConnectors(a,f,!1,e));return l};t(p,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy="xy");a.apply(this)});p.toXY=function(a){var f,h=this.chart,e=a.plotX;f=a.plotY;a.rectPlotX=e;a.rectPlotY=f;f=this.xAxis.postTranslate(a.plotX,this.yAxis.len-f);a.plotX=a.polarPlotX=f.x-h.plotLeft;a.plotY=
  a.polarPlotY=f.y-h.plotTop;this.kdByAngle?(h=(e/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>h&&(h+=360),a.clientX=h):a.clientX=a.plotX};D.spline&&(t(D.spline.prototype,"getPointSpline",function(a,f,h,e){this.chart.polar?e?(a=this.getConnectors(f,e,!0,this.connectEnds),a=["C",a.prevPointCont.rightContX,a.prevPointCont.rightContY,a.leftContX,a.leftContY,a.plotX,a.plotY]):a=["M",h.plotX,h.plotY]:a=a.call(this,f,h,e);return a}),D.areasplinerange&&(D.areasplinerange.prototype.getPointSpline=
  D.spline.prototype.getPointSpline));t(p,"translate",function(a){var f=this.chart;a.call(this);if(f.polar&&(this.kdByAngle=f.tooltip&&f.tooltip.shared,!this.preventPostTranslate))for(a=this.points,f=a.length;f--;)this.toXY(a[f])});t(p,"getGraphPath",function(a,f){var h=this,e,b,l;if(this.chart.polar){f=f||this.points;for(e=0;e<f.length;e++)if(!f[e].isNull){b=e;break}!1!==this.options.connectEnds&&void 0!==b&&(this.connectEnds=!0,f.splice(f.length,0,f[b]),l=!0);y(f,function(a){void 0===a.polarPlotY&&
  h.toXY(a)})}e=a.apply(this,[].slice.call(arguments,1));l&&f.pop();return e});t(p,"animate",E);D.column&&(D=D.column.prototype,D.polarArc=function(a,f,h,e){var b=this.xAxis.center,l=this.yAxis.len;return this.chart.renderer.symbols.arc(b[0],b[1],l-f,null,{start:h,end:e,innerR:l-C(a,l)})},t(D,"animate",E),t(D,"translate",function(a){var f=this.xAxis,h=f.startAngleRad,e,b,l;this.preventPostTranslate=!0;a.call(this);if(f.isRadial)for(e=this.points,l=e.length;l--;)b=e[l],a=b.barX+h,b.shapeType="path",
  b.shapeArgs={d:this.polarArc(b.yBottom,b.plotY,a,a+b.pointWidth)},this.toXY(b),b.tooltipPos=[b.plotX,b.plotY],b.ttBelow=b.plotY>f.center[1]}),t(D,"alignDataLabel",function(a,f,h,e,b,l){this.chart.polar?(a=f.rectPlotX/Math.PI*180,null===e.align&&(e.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===e.verticalAlign&&(e.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),p.alignDataLabel.call(this,f,h,e,b,l)):a.call(this,f,h,e,b,l)}));t(r,"getCoordinates",function(a,f){var h=
  this.chart,e={xAxis:[],yAxis:[]};h.polar?y(h.axes,function(a){var b=a.isXAxis,q=a.center,g=f.chartX-q[0]-h.plotLeft,q=f.chartY-q[1]-h.plotTop;e[b?"xAxis":"yAxis"].push({axis:a,value:a.translate(b?Math.PI-Math.atan2(g,q):Math.sqrt(Math.pow(g,2)+Math.pow(q,2)),!0)})}):e=a.call(this,f);return e});t(a.Chart.prototype,"getAxes",function(m){this.pane||(this.pane=[]);y(a.splat(this.options.pane),function(f){new a.Pane(f,this)},this);m.call(this)});t(a.Chart.prototype,"drawChartBox",function(a){a.call(this);
  y(this.pane,function(a){a.render()})});t(a.Chart.prototype,"get",function(m,f){return a.find(this.pane,function(a){return a.options.id===f})||m.call(this,f)})})(I);(function(a){var E=a.defaultOptions,y=a.doc,C=a.Chart,D=a.addEvent,t=a.removeEvent,p=a.fireEvent,r=a.createElement,m=a.discardElement,f=a.css,h=a.merge,e=a.pick,b=a.each,l=a.extend,q=a.isTouchDevice,g=a.win,B=a.Renderer.prototype.symbols;l(E.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",
  downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});E.navigation={buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}};h(!0,E.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",background:"none",color:"#333333",fontSize:q?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",
  color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",stroke:"none",padding:5}}});E.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:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},
  {textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};a.post=function(a,b,e){var d;a=r("form",h({method:"post",action:a,enctype:"multipart/form-data"},e),{display:"none"},y.body);for(d in b)r("input",{type:"hidden",name:d,value:b[d]},null,a);a.submit();m(a)};l(C.prototype,{sanitizeSVG:function(a,
  b){if(b&&b.exporting&&b.exporting.allowHTML){var d=a.match(/<\/svg>(.*?$)/);d&&d[1]&&(d='\x3cforeignObject x\x3d"0" y\x3d"0" width\x3d"'+b.chart.width+'" height\x3d"'+b.chart.height+'"\x3e\x3cbody xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e'+d[1]+"\x3c/body\x3e\x3c/foreignObject\x3e",a=a.replace("\x3c/svg\x3e",d+"\x3c/svg\x3e"))}a=a.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|&quot;)(\S+)("|&quot;)\)/g,
  "url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'\x3csvg xmlns:xlink\x3d"http://www.w3.org/1999/xlink" ').replace(/ (NS[0-9]+\:)?href=/g," xlink:href\x3d").replace(/\n/," ").replace(/<\/svg>.*?$/,"\x3c/svg\x3e").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1\x3d"rgb($2)" $1-opacity\x3d"$3"').replace(/&nbsp;/g,"\u00a0").replace(/&shy;/g,"\u00ad");return a=a.replace(/<IMG /g,"\x3cimage ").replace(/<(\/?)TITLE>/g,"\x3c$1title\x3e").replace(/height=([^" ]+)/g,
  'height\x3d"$1"').replace(/width=([^" ]+)/g,'width\x3d"$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href\x3d"$1"/\x3e').replace(/ id=([^" >]+)/g,' id\x3d"$1"').replace(/class=([^" >]+)/g,'class\x3d"$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},getSVG:function(d){var e,f,g,c,k,q=h(this.options,d);y.createElementNS||(y.createElementNS=function(a,b){return y.createElement(b)});
  f=r("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},y.body);g=this.renderTo.style.width;k=this.renderTo.style.height;g=q.exporting.sourceWidth||q.chart.width||/px$/.test(g)&&parseInt(g,10)||600;k=q.exporting.sourceHeight||q.chart.height||/px$/.test(k)&&parseInt(k,10)||400;l(q.chart,{animation:!1,renderTo:f,forExport:!0,renderer:"SVGRenderer",width:g,height:k});q.exporting.enabled=!1;delete q.data;q.series=[];b(this.series,function(a){c=h(a.userOptions,
  {animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});c.isInternal||q.series.push(c)});b(this.axes,function(b){b.userOptions.internalKey||(b.userOptions.internalKey=a.uniqueKey())});e=new a.Chart(q,this.callback);d&&b(["xAxis","yAxis","series"],function(a){var b={};d[a]&&(b[a]=d[a],e.update(b))});b(this.axes,function(b){var c=a.find(e.axes,function(a){return a.options.internalKey===b.userOptions.internalKey}),d=b.getExtremes(),f=d.userMin,d=d.userMax;!c||void 0===f&&void 0===d||
  c.setExtremes(f,d,!0,!1)});g=e.getChartHTML();g=this.sanitizeSVG(g,q);q=null;e.destroy();m(f);return g},getSVGForExport:function(a,b){var d=this.options.exporting;return this.getSVG(h({chart:{borderRadius:0}},d.chartOptions,b,{exporting:{sourceWidth:a&&a.sourceWidth||d.sourceWidth,sourceHeight:a&&a.sourceHeight||d.sourceHeight}}))},exportChart:function(b,e){e=this.getSVGForExport(b,e);b=h(this.options.exporting,b);a.post(b.url,{filename:b.filename||"chart",type:b.type,width:b.width||0,scale:b.scale,
  svg:e},b.formAttributes)},print:function(){var a=this,e=a.container,f=[],h=e.parentNode,c=y.body,k=c.childNodes,l=a.options.exporting.printMaxWidth,q,m;if(!a.isPrinting){a.isPrinting=!0;a.pointer.reset(null,0);p(a,"beforePrint");if(m=l&&a.chartWidth>l)q=[a.options.chart.width,void 0,!1],a.setSize(l,void 0,!1);b(k,function(a,b){1===a.nodeType&&(f[b]=a.style.display,a.style.display="none")});c.appendChild(e);g.focus();g.print();setTimeout(function(){h.appendChild(e);b(k,function(a,b){1===a.nodeType&&
  (a.style.display=f[b])});a.isPrinting=!1;m&&a.setSize.apply(a,q);p(a,"afterPrint")},1E3)}},contextMenu:function(a,e,g,h,c,k,q){var d=this,n=d.options.navigation,v=d.chartWidth,m=d.chartHeight,p="cache-"+a,t=d[p],w=Math.max(c,k),z,B;t||(d[p]=t=r("div",{className:a},{position:"absolute",zIndex:1E3,padding:w+"px"},d.container),z=r("div",{className:"highcharts-menu"},null,t),f(z,l({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},n.menuStyle)),B=function(){f(t,
  {display:"none"});q&&q.setState(0);d.openMenu=!1},d.exportEvents.push(D(t,"mouseleave",function(){t.hideTimer=setTimeout(B,500)}),D(t,"mouseenter",function(){clearTimeout(t.hideTimer)}),D(y,"mouseup",function(b){d.pointer.inClass(b.target,a)||B()})),b(e,function(a){if(a){var b;a.separator?b=r("hr",null,null,z):(b=r("div",{className:"highcharts-menu-item",onclick:function(b){b&&b.stopPropagation();B();a.onclick&&a.onclick.apply(d,arguments)},innerHTML:a.text||d.options.lang[a.textKey]},null,z),b.onmouseover=
  function(){f(this,n.menuItemHoverStyle)},b.onmouseout=function(){f(this,n.menuItemStyle)},f(b,l({cursor:"pointer"},n.menuItemStyle)));d.exportDivElements.push(b)}}),d.exportDivElements.push(z,t),d.exportMenuWidth=t.offsetWidth,d.exportMenuHeight=t.offsetHeight);e={display:"block"};g+d.exportMenuWidth>v?e.right=v-g-c-w+"px":e.left=g-w+"px";h+k+d.exportMenuHeight>m&&"top"!==q.alignOptions.verticalAlign?e.bottom=m-h-w+"px":e.top=h+k-w+"px";f(t,e);d.openMenu=!0},addButton:function(a){var b=this,d=b.renderer,
  f=h(b.options.navigation.buttonOptions,a),c=f.onclick,g=f.menuItems,q,m,p=f.symbolSize||12;b.btnCount||(b.btnCount=0);b.exportDivElements||(b.exportDivElements=[],b.exportSVGElements=[]);if(!1!==f.enabled){var r=f.theme,t=r.states,B=t&&t.hover,t=t&&t.select,y;delete r.states;c?y=function(a){a.stopPropagation();c.call(b,a)}:g&&(y=function(){b.contextMenu(m.menuClassName,g,m.translateX,m.translateY,m.width,m.height,m);m.setState(2)});f.text&&f.symbol?r.paddingLeft=e(r.paddingLeft,25):f.text||l(r,{width:f.width,
  height:f.height,padding:0});m=d.button(f.text,0,0,y,r,B,t).addClass(a.className).attr({"stroke-linecap":"round",title:b.options.lang[f._titleKey],zIndex:3});m.menuClassName=a.menuClassName||"highcharts-menu-"+b.btnCount++;f.symbol&&(q=d.symbol(f.symbol,f.symbolX-p/2,f.symbolY-p/2,p,p).addClass("highcharts-button-symbol").attr({zIndex:1}).add(m),q.attr({stroke:f.symbolStroke,fill:f.symbolFill,"stroke-width":f.symbolStrokeWidth||1}));m.add().align(l(f,{width:m.width,x:e(f.x,b.buttonOffset)}),!0,"spacingBox");
  b.buttonOffset+=(m.width+f.buttonSpacing)*("right"===f.align?-1:1);b.exportSVGElements.push(m,q)}},destroyExport:function(a){var d=a?a.target:this;a=d.exportSVGElements;var e=d.exportDivElements,f=d.exportEvents,c;a&&(b(a,function(a,b){a&&(a.onclick=a.ontouchstart=null,c="cache-"+a.menuClassName,d[c]&&delete d[c],d.exportSVGElements[b]=a.destroy())}),a.length=0);e&&(b(e,function(a,b){clearTimeout(a.hideTimer);t(a,"mouseleave");d.exportDivElements[b]=a.onmouseout=a.onmouseover=a.ontouchstart=a.onclick=
  null;m(a)}),e.length=0);f&&(b(f,function(a){a()}),f.length=0)}});B.menu=function(a,b,e,f){return["M",a,b+2.5,"L",a+e,b+2.5,"M",a,b+f/2+.5,"L",a+e,b+f/2+.5,"M",a,b+f-1.5,"L",a+e,b+f-1.5]};C.prototype.renderExporting=function(){var a,b=this.options.exporting,e=b.buttons,f=this.isDirtyExporting||!this.exportSVGElements;this.buttonOffset=0;this.isDirtyExporting&&this.destroyExport();if(f&&!1!==b.enabled){this.exportEvents=[];for(a in e)this.addButton(e[a]);this.isDirtyExporting=!1}D(this,"destroy",this.destroyExport)};
  C.prototype.callbacks.push(function(a){a.renderExporting();D(a,"redraw",a.renderExporting);b(["exporting","navigation"],function(b){a[b]={update:function(d,f){a.isDirtyExporting=!0;h(!0,a.options[b],d);e(f,!0)&&a.redraw()}}})})})(I);(function(a){function E(a,b){var e=t.getElementsByTagName("head")[0],f=t.createElement("script");f.type="text/javascript";f.src=a;f.onload=b;f.onerror=function(){console.error("Error loading script",a)};e.appendChild(f)}var y=a.merge,C=a.win,D=C.navigator,t=C.document,
  p=a.each,r=C.URL||C.webkitURL||C,m=/Edge\/|Trident\/|MSIE /.test(D.userAgent),f=/Edge\/\d+/.test(D.userAgent),h=m?150:0;a.CanVGRenderer={};a.dataURLtoBlob=function(a){if(C.atob&&C.ArrayBuffer&&C.Uint8Array&&C.Blob&&r.createObjectURL){a=a.match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/);for(var b=C.atob(a[3]),e=new C.ArrayBuffer(b.length),e=new C.Uint8Array(e),f=0;f<e.length;++f)e[f]=b.charCodeAt(f);a=new C.Blob([e],{type:a[1]});return r.createObjectURL(a)}};a.downloadURL=function(e,b){var f=t.createElement("a"),
  h;if(D.msSaveOrOpenBlob)D.msSaveOrOpenBlob(e,b);else{if(2E6<e.length&&(e=a.dataURLtoBlob(e),!e))throw"Data URL length limit reached";if(void 0!==f.download)f.href=e,f.download=b,f.target="_blank",t.body.appendChild(f),f.click(),t.body.removeChild(f);else try{if(h=C.open(e,"chart"),void 0===h||null===h)throw"Failed to open window";}catch(g){C.location.href=e}}};a.svgToDataUrl=function(a){var b=-1<D.userAgent.indexOf("WebKit")&&0>D.userAgent.indexOf("Chrome");try{if(!b&&0>D.userAgent.toLowerCase().indexOf("firefox"))return r.createObjectURL(new C.Blob([a],
  {type:"image/svg+xml;charset-utf-16"}))}catch(l){}return"data:image/svg+xml;charset\x3dUTF-8,"+encodeURIComponent(a)};a.imageToDataUrl=function(a,b,f,q,g,m,d,n,p){var e=new C.Image,c,k=function(){setTimeout(function(){var k=t.createElement("canvas"),h=k.getContext&&k.getContext("2d"),l;try{if(h){k.height=e.height*q;k.width=e.width*q;h.drawImage(e,0,0,k.width,k.height);try{l=k.toDataURL(b),g(l,b,f,q)}catch(J){c(a,b,f,q)}}else d(a,b,f,q)}finally{p&&p(a,b,f,q)}},h)},l=function(){n(a,b,f,q);p&&p(a,b,
  f,q)};c=function(){e=new C.Image;c=m;e.crossOrigin="Anonymous";e.onload=k;e.onerror=l;e.src=a};e.onload=k;e.onerror=l;e.src=a};a.downloadSVGLocal=function(e,b,f,h){function g(a,b){b=new C.jsPDF("l","pt",[a.width.baseVal.value+2*b,a.height.baseVal.value+2*b]);C.svg2pdf(a,b,{removeInvalid:!0});return b.output("datauristring")}function l(){k.innerHTML=e;var b=k.getElementsByTagName("text"),c,d=k.getElementsByTagName("svg")[0].style;p(b,function(a){p(["font-family","font-size"],function(b){!a.style[b]&&
  d[b]&&(a.style[b]=d[b])});a.style["font-family"]=a.style["font-family"]&&a.style["font-family"].split(" ").splice(-1);c=a.getElementsByTagName("title");p(c,function(b){a.removeChild(b)})});b=g(k.firstChild,0);try{a.downloadURL(b,y),h&&h()}catch(K){f()}}var d,n,m=!0,q,c=b.libURL||a.getOptions().exporting.libURL,k=t.createElement("div"),w=b.type||"image/png",y=(b.filename||"chart")+"."+("image/svg+xml"===w?"svg":w.split("/")[1]),u=b.scale||1,c="/"!==c.slice(-1)?c+"/":c;if("image/svg+xml"===w)try{D.msSaveOrOpenBlob?
  (n=new MSBlobBuilder,n.append(e),d=n.getBlob("image/svg+xml")):d=a.svgToDataUrl(e),a.downloadURL(d,y),h&&h()}catch(F){f()}else"application/pdf"===w?C.jsPDF&&C.svg2pdf?l():(m=!0,E(c+"jspdf.js",function(){E(c+"svg2pdf.js",function(){l()})})):(d=a.svgToDataUrl(e),q=function(){try{r.revokeObjectURL(d)}catch(F){}},a.imageToDataUrl(d,w,{},u,function(b){try{a.downloadURL(b,y),h&&h()}catch(J){f()}},function(){var b=t.createElement("canvas"),d=b.getContext("2d"),g=e.match(/^<svg[^>]*width\s*=\s*\"?(\d+)\"?[^>]*>/)[1]*
  u,k=e.match(/^<svg[^>]*height\s*=\s*\"?(\d+)\"?[^>]*>/)[1]*u,l=function(){d.drawSvg(e,0,0,g,k);try{a.downloadURL(D.msSaveOrOpenBlob?b.msToBlob():b.toDataURL(w),y),h&&h()}catch(H){f()}finally{q()}};b.width=g;b.height=k;C.canvg?l():(m=!0,E(c+"rgbcolor.js",function(){E(c+"canvg.js",function(){l()})}))},f,f,function(){m&&q()}))};a.Chart.prototype.getSVGForLocalExport=function(e,b,f,h){var g=this,l,d=0,n,m,q,c,k,p=function(a,b,c){++d;c.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",
  a);d===l.length&&h(g.sanitizeSVG(n.innerHTML,m))};a.wrap(a.Chart.prototype,"getChartHTML",function(a){var b=a.apply(this,Array.prototype.slice.call(arguments,1));m=this.options;n=this.container.cloneNode(!0);return b});g.getSVGForExport(e,b);l=n.getElementsByTagName("image");try{if(l.length)for(c=0,k=l.length;c<k;++c)q=l[c],a.imageToDataUrl(q.getAttributeNS("http://www.w3.org/1999/xlink","href"),"image/png",{imageElement:q},e.scale,p,f,f,f);else h(g.sanitizeSVG(n.innerHTML,m))}catch(G){f()}};a.Chart.prototype.exportChartLocal=
  function(e,b){var h=this,q=a.merge(h.options.exporting,e),g=function(){if(!1===q.fallbackToExportServer)if(q.error)q.error(q);else throw"Fallback to export server disabled";else h.exportChart(q)};m&&("application/pdf"===q.type||h.container.getElementsByTagName("image").length&&"image/svg+xml"!==q.type)||f&&"image/svg+xml"!==q.type||"application/pdf"===q.type&&h.container.getElementsByTagName("image").length?g():h.getSVGForLocalExport(q,b,g,function(b){-1<b.indexOf("\x3cforeignObject")&&"image/svg+xml"!==
  q.type?g():a.downloadSVGLocal(b,q,g)})};y(!0,a.getOptions().exporting,{libURL:"https://code.highcharts.com/5.0.10 custom build/lib/",buttons:{contextButton:{menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChartLocal()}},{textKey:"downloadJPEG",onclick:function(){this.exportChartLocal({type:"image/jpeg"})}},{textKey:"downloadSVG",onclick:function(){this.exportChartLocal({type:"image/svg+xml"})}},{textKey:"downloadPDF",
  onclick:function(){this.exportChartLocal({type:"application/pdf"})}}]}}})})(I);(function(a){var E=a.win.document,y=a.each,C=a.pick,D=a.inArray,t=a.isNumber,p=a.splat,r,m=function(a,h){this.init(a,h)};a.extend(m.prototype,{init:function(a,h){this.options=a;this.chartOptions=h;this.columns=a.columns||this.rowsToColumns(a.rows)||[];this.firstRowAsNames=C(a.firstRowAsNames,!0);this.decimalRegex=a.decimalPoint&&new RegExp("^(-?[0-9]+)"+a.decimalPoint+"([0-9]+)$");this.rawColumns=[];this.columns.length?
  this.dataFound():(this.parseCSV(),this.parseTable(),this.parseGoogleSpreadsheet())},getColumnDistribution:function(){var f=this.chartOptions,h=this.options,e=[],b=function(b){return(a.seriesTypes[b||"line"].prototype.pointArrayMap||[0]).length},l=f&&f.chart&&f.chart.type,m=[],g=[],p=0,d;y(f&&f.series||[],function(a){m.push(b(a.type||l))});y(h&&h.seriesMapping||[],function(a){e.push(a.x||0)});0===e.length&&e.push(0);y(h&&h.seriesMapping||[],function(e){var h=new r,n,c=m[p]||b(l),k=a.seriesTypes[((f&&
  f.series||[])[p]||{}).type||l||"line"].prototype.pointArrayMap||["y"];h.addColumnReader(e.x,"x");for(n in e)e.hasOwnProperty(n)&&"x"!==n&&h.addColumnReader(e[n],n);for(d=0;d<c;d++)h.hasReader(k[d])||h.addColumnReader(void 0,k[d]);g.push(h);p++});h=a.seriesTypes[l||"line"].prototype.pointArrayMap;void 0===h&&(h=["y"]);this.valueCount={global:b(l),xColumns:e,individual:m,seriesBuilders:g,globalPointArrayMap:h}},dataFound:function(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns));
  this.getColumnDistribution();this.parseTypes();!1!==this.parsed()&&this.complete()},parseCSV:function(){var a=this,h=this.options,e=h.csv,b=this.columns,l=h.startRow||0,m=h.endRow||Number.MAX_VALUE,g=h.startColumn||0,p=h.endColumn||Number.MAX_VALUE,d,n,r=0;e&&(n=e.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(h.lineDelimiter||"\n"),d=h.itemDelimiter||(-1!==e.indexOf("\t")?"\t":","),y(n,function(e,c){var f=a.trim(e),h=0===f.indexOf("#");c>=l&&c<=m&&!h&&""!==f&&(e=e.split(d),y(e,function(a,c){c>=
  g&&c<=p&&(b[c-g]||(b[c-g]=[]),b[c-g][r]=a)}),r+=1)}),this.dataFound())},parseTable:function(){var a=this.options,h=a.table,e=this.columns,b=a.startRow||0,l=a.endRow||Number.MAX_VALUE,m=a.startColumn||0,g=a.endColumn||Number.MAX_VALUE;h&&("string"===typeof h&&(h=E.getElementById(h)),y(h.getElementsByTagName("tr"),function(a,d){d>=b&&d<=l&&y(a.children,function(a,f){("TD"===a.tagName||"TH"===a.tagName)&&f>=m&&f<=g&&(e[f-m]||(e[f-m]=[]),e[f-m][d-b]=a.innerHTML)})}),this.dataFound())},parseGoogleSpreadsheet:function(){var a=
  this,h=this.options,e=h.googleSpreadsheetKey,b=this.columns,l=h.startRow||0,m=h.endRow||Number.MAX_VALUE,g=h.startColumn||0,p=h.endColumn||Number.MAX_VALUE,d,n;e&&jQuery.ajax({dataType:"json",url:"https://spreadsheets.google.com/feeds/cells/"+e+"/"+(h.googleSpreadsheetWorksheet||"od6")+"/public/values?alt\x3djson-in-script\x26callback\x3d?",error:h.error,success:function(e){e=e.feed.entry;var f,c=e.length,k=0,h=0,q;for(q=0;q<c;q++)f=e[q],k=Math.max(k,f.gs$cell.col),h=Math.max(h,f.gs$cell.row);for(q=
  0;q<k;q++)q>=g&&q<=p&&(b[q-g]=[],b[q-g].length=Math.min(h,m-l));for(q=0;q<c;q++)f=e[q],d=f.gs$cell.row-1,n=f.gs$cell.col-1,n>=g&&n<=p&&d>=l&&d<=m&&(b[n-g][d-l]=f.content.$t);y(b,function(a){for(q=0;q<a.length;q++)void 0===a[q]&&(a[q]=null)});a.dataFound()}})},trim:function(a,h){"string"===typeof a&&(a=a.replace(/^\s+|\s+$/g,""),h&&/^[0-9\s]+$/.test(a)&&(a=a.replace(/\s/g,"")),this.decimalRegex&&(a=a.replace(this.decimalRegex,"$1.$2")));return a},parseTypes:function(){for(var a=this.columns,h=a.length;h--;)this.parseColumn(a[h],
  h)},parseColumn:function(a,h){var e=this.rawColumns,b=this.columns,f=a.length,m,g,r,d,n=this.firstRowAsNames,z=-1!==D(h,this.valueCount.xColumns),v=[],c=this.chartOptions,k,w=(this.options.columnTypes||[])[h],c=z&&(c&&c.xAxis&&"category"===p(c.xAxis)[0].type||"string"===w);for(e[h]||(e[h]=[]);f--;)m=v[f]||a[f],r=this.trim(m),d=this.trim(m,!0),g=parseFloat(d),void 0===e[h][f]&&(e[h][f]=r),c||0===f&&n?a[f]=r:+d===g?(a[f]=g,31536E6<g&&"float"!==w?a.isDatetime=!0:a.isNumeric=!0,void 0!==a[f+1]&&(k=g>
  a[f+1])):(g=this.parseDate(m),z&&t(g)&&"float"!==w?(v[f]=m,a[f]=g,a.isDatetime=!0,void 0!==a[f+1]&&(m=g>a[f+1],m!==k&&void 0!==k&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,f=a.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):a.unsorted=!0),k=m)):(a[f]=""===r?null:r,0!==f&&(a.isDatetime||a.isNumeric)&&(a.mixed=!0)));z&&a.mixed&&(b[h]=e[h]);if(z&&k&&this.options.sort)for(h=0;h<b.length;h++)b[h].reverse(),n&&b[h].unshift(b[h].pop())},dateFormats:{"YYYY-mm-dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{2})[\-\/\.]([0-9]{2})$/,
  parser:function(a){return Date.UTC(+a[1],a[2]-1,+a[3])}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return Date.UTC(+a[3],a[2]-1,+a[1])},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return Date.UTC(+a[3],a[1]-1,+a[2])}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(a){return Date.UTC(+a[3]+2E3,a[2]-1,+a[1])},alternative:"mm/dd/YY"},
  "mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(a){return Date.UTC(+a[3]+2E3,a[1]-1,+a[2])}}},parseDate:function(a){var f=this.options.parseDate,e,b,l=this.options.dateFormat||this.dateFormat,m;if(f)e=f(a);else if("string"===typeof a){if(l)f=this.dateFormats[l],(m=a.match(f.regex))&&(e=f.parser(m));else for(b in this.dateFormats)if(f=this.dateFormats[b],m=a.match(f.regex)){this.dateFormat=b;this.alternativeFormat=f.alternative;e=f.parser(m);break}m||(m=Date.parse(a),
  "object"===typeof m&&null!==m&&m.getTime?e=m.getTime()-6E4*m.getTimezoneOffset():t(m)&&(e=m-6E4*(new Date(m)).getTimezoneOffset()))}return e},rowsToColumns:function(a){var f,e,b,l,m;if(a)for(m=[],e=a.length,f=0;f<e;f++)for(l=a[f].length,b=0;b<l;b++)m[b]||(m[b]=[]),m[b][f]=a[f][b];return m},parsed:function(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)},getFreeIndexes:function(a,h){var e,b=[],f=[],m;for(e=0;e<a;e+=1)b.push(!0);for(a=0;a<h.length;a+=1)for(m=h[a].getReferencedColumnIndexes(),
  e=0;e<m.length;e+=1)b[m[e]]=!1;for(e=0;e<b.length;e+=1)b[e]&&f.push(e);return f},complete:function(){var a=this.columns,h,e=this.options,b,l,m,g,p=[],d;if(e.complete||e.afterComplete){for(m=0;m<a.length;m++)this.firstRowAsNames&&(a[m].name=a[m].shift());b=[];l=this.getFreeIndexes(a.length,this.valueCount.seriesBuilders);for(m=0;m<this.valueCount.seriesBuilders.length;m++)d=this.valueCount.seriesBuilders[m],d.populateColumns(l)&&p.push(d);for(;0<l.length;){d=new r;d.addColumnReader(0,"x");m=D(0,l);
  -1!==m&&l.splice(m,1);for(m=0;m<this.valueCount.global;m++)d.addColumnReader(void 0,this.valueCount.globalPointArrayMap[m]);d.populateColumns(l)&&p.push(d)}0<p.length&&0<p[0].readers.length&&(d=a[p[0].readers[0].columnIndex],void 0!==d&&(d.isDatetime?h="datetime":d.isNumeric||(h="category")));if("category"===h)for(m=0;m<p.length;m++)for(d=p[m],l=0;l<d.readers.length;l++)"x"===d.readers[l].configName&&(d.readers[l].configName="name");for(m=0;m<p.length;m++){d=p[m];l=[];for(g=0;g<a[0].length;g++)l[g]=
  d.read(a,g);b[m]={data:l};d.name&&(b[m].name=d.name);"category"===h&&(b[m].turboThreshold=0)}a={series:b};h&&(a.xAxis={type:h},"category"===h&&(a.xAxis.uniqueNames=!1));e.complete&&e.complete(a);e.afterComplete&&e.afterComplete(a)}}});a.Data=m;a.data=function(a,h){return new m(a,h)};a.wrap(a.Chart.prototype,"init",function(f,h,e){var b=this;h&&h.data?a.data(a.extend(h.data,{afterComplete:function(l){var m,g;if(h.hasOwnProperty("series"))if("object"===typeof h.series)for(m=Math.max(h.series.length,
  l.series.length);m--;)g=h.series[m]||{},h.series[m]=a.merge(g,l.series[m]);else delete h.series;h=a.merge(l,h);f.call(b,h,e)}}),h):f.call(b,h,e)});r=function(){this.readers=[];this.pointIsArray=!0};r.prototype.populateColumns=function(a){var f=!0;y(this.readers,function(e){void 0===e.columnIndex&&(e.columnIndex=a.shift())});y(this.readers,function(a){void 0===a.columnIndex&&(f=!1)});return f};r.prototype.read=function(a,h){var e=this.pointIsArray,b=e?[]:{},f;y(this.readers,function(f){var g=a[f.columnIndex][h];
  e?b.push(g):b[f.configName]=g});void 0===this.name&&2<=this.readers.length&&(f=this.getReferencedColumnIndexes(),2<=f.length&&(f.shift(),f.sort(),this.name=a[f.shift()].name));return b};r.prototype.addColumnReader=function(a,h){this.readers.push({columnIndex:a,configName:h});"x"!==h&&"y"!==h&&void 0!==h&&(this.pointIsArray=!1)};r.prototype.getReferencedColumnIndexes=function(){var a,h=[],e;for(a=0;a<this.readers.length;a+=1)e=this.readers[a],void 0!==e.columnIndex&&h.push(e.columnIndex);return h};
  r.prototype.hasReader=function(a){var f,e;for(f=0;f<this.readers.length;f+=1)if(e=this.readers[f],e.configName===a)return!0}})(I);(function(a){function E(){return!!this.points.length}function y(){this.hasData()?this.hideNoData():this.showNoData()}var C=a.seriesTypes,D=a.Chart.prototype,t=a.getOptions(),p=a.extend,r=a.each;p(t.lang,{noData:"No data to display"});t.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"}};t.noData.style={fontWeight:"bold",fontSize:"12px",color:"#666666"};r(["pie",
  "gauge","waterfall","bubble","treemap"],function(a){C[a]&&(C[a].prototype.hasData=E)});a.Series.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin};D.showNoData=function(a){var f=this.options;a=a||f.lang.noData;f=f.noData;this.noDataLabel||(this.noDataLabel=this.renderer.label(a,0,0,null,null,null,f.useHTML,null,"no-data"),this.noDataLabel.attr(f.attr).css(f.style),this.noDataLabel.add(),this.noDataLabel.align(p(this.noDataLabel.getBBox(),f.position),!1,
  "plotBox"))};D.hideNoData=function(){this.noDataLabel&&(this.noDataLabel=this.noDataLabel.destroy())};D.hasData=function(){for(var a=this.series,f=a.length;f--;)if(a[f].hasData()&&!a[f].options.isInternal)return!0;return!1};D.callbacks.push(function(m){a.addEvent(m,"load",y);a.addEvent(m,"redraw",y)})})(I);(function(a){var E=a.animObject,y=a.color,C=a.each,D=a.extend,t=a.isNumber,p=a.merge,r=a.pick,m=a.Series,f=a.seriesType,h=a.svg;f("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,
  pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1},select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){m.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasRendered&&
  C(b.series,function(b){b.type===a.type&&(b.isDirty=!0)})},getColumnMetrics:function(){var a=this,b=a.options,f=a.xAxis,h=a.yAxis,g=f.reversed,m,d={},n=0;!1===b.grouping?n=1:C(a.chart.series,function(b){var c=b.options,e=b.yAxis,f;b.type===a.type&&b.visible&&h.len===e.len&&h.pos===e.pos&&(c.stacking?(m=b.stackKey,void 0===d[m]&&(d[m]=n++),f=d[m]):!1!==c.grouping&&(f=n++),b.columnIndex=f)});var p=Math.min(Math.abs(f.transA)*(f.ordinalSlope||b.pointRange||f.closestPointRange||f.tickInterval||1),f.len),
  v=p*b.groupPadding,c=(p-2*v)/(n||1),b=Math.min(b.maxPointWidth||f.len,r(b.pointWidth,c*(1-2*b.pointPadding)));a.columnMetrics={width:b,offset:(c-b)/2+(v+((a.columnIndex||0)+(g?1:0))*c-p/2)*(g?-1:1)};return a.columnMetrics},crispCol:function(a,b,f,h){var e=this.chart,l=this.borderWidth,d=-(l%2?.5:0),l=l%2?.5:1;e.inverted&&e.renderer.isVML&&(l+=1);this.options.crisp&&(f=Math.round(a+f)+d,a=Math.round(a)+d,f-=a);h=Math.round(b+h)+l;d=.5>=Math.abs(b)&&.5<h;b=Math.round(b)+l;h-=b;d&&h&&(--b,h+=1);return{x:a,
  y:b,width:f,height:h}},translate:function(){var a=this,b=a.chart,f=a.options,h=a.dense=2>a.closestPointRange*a.xAxis.transA,h=a.borderWidth=r(f.borderWidth,h?0:1),g=a.yAxis,p=a.translatedThreshold=g.getThreshold(f.threshold),d=r(f.minPointLength,5),n=a.getColumnMetrics(),t=n.width,v=a.barW=Math.max(t,1+2*h),c=a.pointXOffset=n.offset;b.inverted&&(p-=.5);f.pointPadding&&(v=Math.ceil(v));m.prototype.translate.apply(a);C(a.points,function(e){var f=r(e.yBottom,p),k=999+Math.abs(f),k=Math.min(Math.max(-k,
  e.plotY),g.len+k),h=e.plotX+c,l=v,m=Math.min(k,f),n,q=Math.max(k,f)-m;Math.abs(q)<d&&d&&(q=d,n=!g.reversed&&!e.negative||g.reversed&&e.negative,m=Math.abs(m-p)>d?f-d:p-(n?d:0));e.barX=h;e.pointWidth=t;e.tooltipPos=b.inverted?[g.len+g.pos-b.plotLeft-k,a.xAxis.len-h-l/2,q]:[h+l/2,k+g.pos-b.plotTop,q];e.shapeType="rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?[e.plotX,g.len/2,0,0]:[h,m,l,q])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?
  "addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,b){var e=this.options,f,g=this.pointAttrToOptions||{};f=g.stroke||"borderColor";var h=g["stroke-width"]||"borderWidth",d=a&&a.color||this.color,m=a[f]||e[f]||this.color||d,r=a[h]||e[h]||this[h]||0,g=e.dashStyle;a&&this.zones.length&&(d=(d=a.getZone())&&d.color||a.options.color||this.color);b&&(a=p(e.states[b],a.options.states&&a.options.states[b]||{}),b=a.brightness,d=a.color||void 0!==b&&y(d).brighten(a.brightness).get()||
  d,m=a[f]||m,r=a[h]||r,g=a.dashStyle||g);f={fill:d,stroke:m,"stroke-width":r};e.borderRadius&&(f.r=e.borderRadius);g&&(f.dashstyle=g);return f},drawPoints:function(){var a=this,b=this.chart,f=a.options,h=b.renderer,g=f.animationLimit||250,m;C(a.points,function(d){var e=d.graphic;if(t(d.plotY)&&null!==d.y){m=d.shapeArgs;if(e)e[b.pointCount<g?"animate":"attr"](p(m));else d.graphic=e=h[d.shapeType](m).add(d.group||a.group);e.attr(a.pointAttribs(d,d.selected&&"select")).shadow(f.shadow,null,f.stacking&&
  !f.borderRadius);e.addClass(d.getClassName(),!0)}else e&&(d.graphic=e.destroy())})},animate:function(a){var b=this,e=this.yAxis,f=b.options,g=this.chart.inverted,m={};h&&(a?(m.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(f.threshold))),g?m.translateX=a-e.len:m.translateY=a,b.group.attr(m)):(m[g?"translateX":"translateY"]=e.pos,b.group.animate(m,D(E(b.options.animation),{step:function(a,e){b.group.attr({scaleY:Math.max(.001,e.pos)})}})),b.animate=null))},remove:function(){var a=this,
  b=a.chart;b.hasRendered&&C(b.series,function(b){b.type===a.type&&(b.isDirty=!0)});m.prototype.remove.apply(a,arguments)}})})(I);(function(a){function E(a,b,c){var d;b.rgba.length&&a.rgba.length?(a=a.rgba,b=b.rgba,d=1!==b[3]||1!==a[3],a=(d?"rgba(":"rgb(")+Math.round(b[0]+(a[0]-b[0])*(1-c))+","+Math.round(b[1]+(a[1]-b[1])*(1-c))+","+Math.round(b[2]+(a[2]-b[2])*(1-c))+(d?","+(b[3]+(a[3]-b[3])*(1-c)):"")+")"):a=b.input||"none";return a}var y=a.noop,C=a.color,D=a.defaultOptions,t=a.each,p=a.extend,r=a.format,
  m=a.pick,f=a.wrap,h=a.Chart,e=a.seriesTypes,b=e.pie,l=e.column,q=a.Tick,g=a.fireEvent,B=a.inArray,d=1;t(["fill","stroke"],function(b){a.Fx.prototype[b+"Setter"]=function(){this.elem.attr(b,E(C(this.start),C(this.end),this.pos),null,!0)}});p(D.lang,{drillUpText:"\u25c1 Back to {series.name}"});D.drilldown={activeAxisLabelStyle:{cursor:"pointer",color:"#003399",fontWeight:"bold",textDecoration:"underline"},activeDataLabelStyle:{cursor:"pointer",color:"#003399",fontWeight:"bold",textDecoration:"underline"},
  animation:{duration:500},drillUpButton:{position:{align:"right",x:-10,y:10}}};a.SVGRenderer.prototype.Element.prototype.fadeIn=function(a){this.attr({opacity:.1,visibility:"inherit"}).animate({opacity:m(this.newOpacity,1)},a||{duration:250})};h.prototype.addSeriesAsDrilldown=function(a,b){this.addSingleSeriesAsDrilldown(a,b);this.applyDrilldown()};h.prototype.addSingleSeriesAsDrilldown=function(b,e){var c=b.series,f=c.xAxis,g=c.yAxis,h,l=[],m=[],n,q,r;r={color:b.color||c.color};this.drilldownLevels||
  (this.drilldownLevels=[]);n=c.options._levelNumber||0;(q=this.drilldownLevels[this.drilldownLevels.length-1])&&q.levelNumber!==n&&(q=void 0);e=p(p({_ddSeriesId:d++},r),e);h=B(b,c.points);t(c.chart.series,function(a){a.xAxis!==f||a.isDrilling||(a.options._ddSeriesId=a.options._ddSeriesId||d++,a.options._colorIndex=a.userOptions._colorIndex,a.options._levelNumber=a.options._levelNumber||n,q?(l=q.levelSeries,m=q.levelSeriesOptions):(l.push(a),m.push(a.options)))});b=p({levelNumber:n,seriesOptions:c.options,
  levelSeriesOptions:m,levelSeries:l,shapeArgs:b.shapeArgs,bBox:b.graphic?b.graphic.getBBox():{},color:b.isNull?(new a.Color(C)).setOpacity(0).get():C,lowerSeriesOptions:e,pointOptions:c.options.data[h],pointIndex:h,oldExtremes:{xMin:f&&f.userMin,xMax:f&&f.userMax,yMin:g&&g.userMin,yMax:g&&g.userMax}},r);this.drilldownLevels.push(b);e=b.lowerSeries=this.addSeries(e,!1);e.options._levelNumber=n+1;f&&(f.oldPos=f.pos,f.userMin=f.userMax=null,g.userMin=g.userMax=null);c.type===e.type&&(e.animate=e.animateDrilldown||
  y,e.options.animation=!0)};h.prototype.applyDrilldown=function(){var a=this.drilldownLevels,b;a&&0<a.length&&(b=a[a.length-1].levelNumber,t(this.drilldownLevels,function(a){a.levelNumber===b&&t(a.levelSeries,function(a){a.options&&a.options._levelNumber===b&&a.remove(!1)})}));this.redraw();this.showDrillUpButton()};h.prototype.getDrilldownBackText=function(){var a=this.drilldownLevels;if(a&&0<a.length)return a=a[a.length-1],a.series=a.seriesOptions,r(this.options.lang.drillUpText,a)};h.prototype.showDrillUpButton=
  function(){var a=this,b=this.getDrilldownBackText(),c=a.options.drilldown.drillUpButton,d,e;this.drillUpButton?this.drillUpButton.attr({text:b}).align():(e=(d=c.theme)&&d.states,this.drillUpButton=this.renderer.button(b,null,null,function(){a.drillUp()},d,e&&e.hover,e&&e.select).addClass("highcharts-drillup-button").attr({align:c.position.align,zIndex:7}).add().align(c.position,!1,c.relativeTo||"plotBox"))};h.prototype.drillUp=function(){for(var a=this,b=a.drilldownLevels,c=b[b.length-1].levelNumber,
  d=b.length,e=a.series,f,h,l,m,n=function(b){var c;t(e,function(a){a.options._ddSeriesId===b._ddSeriesId&&(c=a)});c=c||a.addSeries(b,!1);c.type===l.type&&c.animateDrillupTo&&(c.animate=c.animateDrillupTo);b===h.seriesOptions&&(m=c)};d--;)if(h=b[d],h.levelNumber===c){b.pop();l=h.lowerSeries;if(!l.chart)for(f=e.length;f--;)if(e[f].options.id===h.lowerSeriesOptions.id&&e[f].options._levelNumber===c+1){l=e[f];break}l.xData=[];t(h.levelSeriesOptions,n);g(a,"drillup",{seriesOptions:h.seriesOptions});m.type===
  l.type&&(m.drilldownLevel=h,m.options.animation=a.options.drilldown.animation,l.animateDrillupFrom&&l.chart&&l.animateDrillupFrom(h));m.options._levelNumber=c;l.remove(!1);m.xAxis&&(f=h.oldExtremes,m.xAxis.setExtremes(f.xMin,f.xMax,!1),m.yAxis.setExtremes(f.yMin,f.yMax,!1))}g(a,"drillupall");this.redraw();0===this.drilldownLevels.length?this.drillUpButton=this.drillUpButton.destroy():this.drillUpButton.attr({text:this.getDrilldownBackText()}).align();this.ddDupes.length=[]};l.prototype.supportsDrilldown=
  !0;l.prototype.animateDrillupTo=function(a){if(!a){var b=this,c=b.drilldownLevel;t(this.points,function(a){var b=a.dataLabel;a.graphic&&a.graphic.hide();b&&(b.hidden="hidden"===b.attr("visibility"),b.hidden||(b.hide(),a.connector&&a.connector.hide()))});setTimeout(function(){b.points&&t(b.points,function(a,b){b=b===(c&&c.pointIndex)?"show":"fadeIn";var d="show"===b?!0:void 0,e=a.dataLabel;if(a.graphic)a.graphic[b](d);if(e&&!e.hidden&&(e[b](d),a.connector))a.connector[b](d)})},Math.max(this.chart.options.drilldown.animation.duration-
  50,0));this.animate=y}};l.prototype.animateDrilldown=function(a){var b=this,c=this.chart.drilldownLevels,d,e=this.chart.options.drilldown.animation,f=this.xAxis;a||(t(c,function(a){b.options._ddSeriesId===a.lowerSeriesOptions._ddSeriesId&&(d=a.shapeArgs,d.fill=a.color)}),d.x+=m(f.oldPos,f.pos)-f.pos,t(this.points,function(a){a.shapeArgs.fill=a.color;a.graphic&&a.graphic.attr(d).animate(p(a.shapeArgs,{fill:a.color||b.color}),e);a.dataLabel&&a.dataLabel.fadeIn(e)}),this.animate=null)};l.prototype.animateDrillupFrom=
  function(b){var d=this.chart.options.drilldown.animation,c=this.group,e=this;t(e.trackerGroups,function(a){if(e[a])e[a].on("mouseover")});delete this.group;t(this.points,function(e){var f=e.graphic,g=b.shapeArgs,h=function(){f.destroy();c&&(c=c.destroy())};f&&(delete e.graphic,g.fill=b.color,d?f.animate(g,a.merge(d,{complete:h})):(f.attr(g),h()))})};b&&p(b.prototype,{supportsDrilldown:!0,animateDrillupTo:l.prototype.animateDrillupTo,animateDrillupFrom:l.prototype.animateDrillupFrom,animateDrilldown:function(b){var d=
  this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],c=this.chart.options.drilldown.animation,e=d.shapeArgs,f=e.start,g=(e.end-f)/this.points.length;b||(t(this.points,function(b,h){var k=b.shapeArgs;e.fill=d.color;k.fill=b.color;if(b.graphic)b.graphic.attr(a.merge(e,{start:f+h*g,end:f+(h+1)*g}))[c?"animate":"attr"](k,c)}),this.animate=null)}});a.Point.prototype.doDrilldown=function(a,b,c){var d=this.series.chart,e=d.options.drilldown,f=(e.series||[]).length,h;d.ddDupes||(d.ddDupes=[]);
  for(;f--&&!h;)e.series[f].id===this.drilldown&&-1===B(this.drilldown,d.ddDupes)&&(h=e.series[f],d.ddDupes.push(this.drilldown));g(d,"drilldown",{point:this,seriesOptions:h,category:b,originalEvent:c,points:void 0!==b&&this.series.xAxis.getDDPoints(b).slice(0)},function(b){var c=b.point.series&&b.point.series.chart,d=b.seriesOptions;c&&d&&(a?c.addSingleSeriesAsDrilldown(b.point,d):c.addSeriesAsDrilldown(b.point,d))})};a.Axis.prototype.drilldownCategory=function(a,b){var c,d,e=this.getDDPoints(a);for(c in e)(d=
  e[c])&&d.series&&d.series.visible&&d.doDrilldown&&d.doDrilldown(!0,a,b);this.chart.applyDrilldown()};a.Axis.prototype.getDDPoints=function(a){var b=[];t(this.series,function(c){var d,e=c.xData,f=c.points;for(d=0;d<e.length;d++)if(e[d]===a&&c.options.data[d]&&c.options.data[d].drilldown){b.push(f?f[d]:!0);break}});return b};q.prototype.drillable=function(){var b=this.pos,d=this.label,c=this.axis,e="xAxis"===c.coll&&c.getDDPoints,f=e&&c.getDDPoints(b);e&&(d&&f.length?(d.drillable=!0,d.basicStyles||
  (d.basicStyles=a.merge(d.styles)),d.addClass("highcharts-drilldown-axis-label").css(c.chart.options.drilldown.activeAxisLabelStyle).on("click",function(a){c.drilldownCategory(b,a)})):d&&d.drillable&&(d.styles={},d.css(d.basicStyles),d.on("click",null),d.removeClass("highcharts-drilldown-axis-label")))};f(q.prototype,"addLabel",function(a){a.call(this);this.drillable()});f(a.Point.prototype,"init",function(b,d,c,e){var f=b.call(this,d,c,e);e=(b=d.xAxis)&&b.ticks[e];f.drilldown&&a.addEvent(f,"click",
  function(a){d.xAxis&&!1===d.chart.options.drilldown.allowPointDrilldown?d.xAxis.drilldownCategory(f.x,a):f.doDrilldown(void 0,void 0,a)});e&&e.drillable();return f});f(a.Series.prototype,"drawDataLabels",function(a){var b=this.chart.options.drilldown.activeDataLabelStyle,c=this.chart.renderer;a.call(this);t(this.points,function(a){var d={};a.drilldown&&a.dataLabel&&("contrast"===b.color&&(d.color=c.getContrast(a.color||this.color)),a.dataLabel.addClass("highcharts-drilldown-data-label"),a.dataLabel.css(b).css(d))},
  this)});var n,D=function(a){a.call(this);t(this.points,function(a){a.drilldown&&a.graphic&&(a.graphic.addClass("highcharts-drilldown-point"),a.graphic.css({cursor:"pointer"}))})};for(n in e)e[n].prototype.supportsDrilldown&&f(e[n].prototype,"drawTracker",D)})(I);return I});