text: (function(b,c){"object"===typeof module&&module.exports?module.exports=b.document?c(b):c:b.Highcharts=c(b)})("undefined"!==typeof window?window:this,function(a){a=function(){var c=window,k=c.document,b=c.navigator&&c.navigator.userAgent||"",d=k&&k.createElementNS&&!!k.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,e=/(edge|msie|trident)/i.test(b)&&!window.opera,i=!d,h=/Firefox/.test(b),j=h&&4>parseInt(b.split("Firefox/")[1],10);return c.Highcharts?c.Highcharts.error(16,!0):{product:"Highcharts",version:"5.0.7",deg2rad:2*Math.PI/360,doc:k,hasBidiBug:j,hasTouch:k&&void 0!==k.documentElement.ontouchstart,isMS:e,isWebKit:/AppleWebKit/.test(b),isFirefox:h,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(b),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:d,vml:i,win:c,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(c){var f=[],b=c.charts,d=c.doc,e=c.win;c.error=function(i,h){i=c.isNumber(i)?"Highcharts error #"+i+": www.highcharts.com/errors/"+i:i;if(h){throw Error(i)}e.console&&console.log(i)};c.Fx=function(h,i,j){this.options=i;this.elem=h;this.prop=j};c.Fx.prototype={dSetter:function(){var i=this.paths[0],k=this.paths[1],n=[],j=this.now,h=i.length,m;if(1===j){n=this.toD}else{if(h===k.length&&1>j){for(;h--;){m=parseFloat(i[h]),n[h]=isNaN(m)?i[h]:j*parseFloat(k[h]-m)+m}}else{n=k}}this.elem.attr("d",n,null,!0)},update:function(){var h=this.elem,j=this.prop,k=this.now,i=this.options.step;if(this[j+"Setter"]){this[j+"Setter"]()}else{h.attr?h.element&&h.attr(j,k,null,!0):h.style[j]=k+this.unit}i&&i.call(h,k,this)},run:function(i,k,n){var j=this,h=function(g){return h.stopped?!1:j.step(g)},m;this.startTime=+new Date;this.start=i;this.end=k;this.unit=n;this.now=this.start;this.pos=0;h.elem=this.elem;h.prop=this.prop;h()&&1===f.push(h)&&(h.timerId=setInterval(function(){for(m=0;m<f.length;m++){f[m]()||f.splice(m--,1)}f.length||clearInterval(h.timerId)},13))},step:function(i){var k=+new Date,n,j=this.options;n=this.elem;var h=j.complete,m=j.duration,o=j.curAnim,g;if(n.attr&&!n.element){n=!1}else{if(i||k>=m+this.startTime){this.now=this.end;this.pos=1;this.update();i=o[this.prop]=!0;for(g in o){!0!==o[g]&&(i=!1)}i&&h&&h.call(n);n=!1}else{this.pos=j.easing((k-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0}}return n},initPath:function(h,w,x){function G(l){var m,g;for(o=l.length;o--;){m="M"===l[o]||"L"===l[o],g=/[a-zA-Z]/.test(l[o+3]),m&&g&&l.splice(o+1,0,l[o+1],l[o+2],l[o+1],l[o+2])}}function v(l,m){for(;l.length<s;){l[0]=m[s-l.length];var g=l.slice(0,H);[].splice.apply(l,[0,0].concat(g));I&&(g=l.slice(l.length-H),[].splice.apply(l,[l.length,0].concat(g)),o--)}l[0]="M"}function j(l,m){for(var g=(s-l.length)/H;0<g&&g--;){D=l.slice().splice(l.length/B-H,H*B),D[0]=m[s-H-g*H],i&&(D[H-6]=D[H-2],D[H-5]=D[H-1]),[].splice.apply(l,[l.length/B,0].concat(D)),I&&g--}}w=w||"";var A,F=h.startX,k=h.endX,i=-1<w.indexOf("C"),H=i?7:3,s,D,o;w=w.split(" ");x=x.slice();var I=h.isArea,B=I?2:1,y;i&&(G(w),G(x));if(F&&k){for(o=0;o<F.length;o++){if(F[o]===k[0]){A=o;break}else{if(F[0]===k[k.length-F.length+o]){A=o;y=!0;break}}}void 0===A&&(w=[])}w.length&&c.isNumber(A)&&(s=x.length+A*B*H,y?(v(w,x),j(x,w)):(v(x,w),j(w,x)));return[w,x]}};c.extend=function(h,i){var j;h||(h={});for(j in i){h[j]=i[j]}return h};c.merge=function(){var k,j=arguments,m,i={},h=function(l,o){var g,n;"object"!==typeof l&&(l={});for(n in o){o.hasOwnProperty(n)&&(g=o[n],c.isObject(g,!0)&&"renderTo"!==n&&"number"!==typeof g.nodeType?l[n]=h(l[n]||{},g):l[n]=o[n])}return l};!0===j[0]&&(i=j[1],j=Array.prototype.slice.call(j,2));m=j.length;for(k=0;k<m;k++){i=h(i,j[k])}return i};c.pInt=function(h,i){return parseInt(h,i||10)};c.isString=function(g){return"string"===typeof g};c.isArray=function(g){g=Object.prototype.toString.call(g);return"[object Array]"===g||"[object Array Iterator]"===g};c.isObject=function(i,h){return i&&"object"===typeof i&&(!h||!c.isArray(i))};c.isNumber=function(g){return"number"===typeof g&&!isNaN(g)};c.erase=function(h,i){for(var j=h.length;j--;){if(h[j]===i){h.splice(j,1);break}}};c.defined=function(g){return void 0!==g&&null!==g};c.attr=function(k,j,m){var i,h;if(c.isString(j)){c.defined(m)?k.setAttribute(j,m):k&&k.getAttribute&&(h=k.getAttribute(j))}else{if(c.defined(j)&&c.isObject(j)){for(i in j){k.setAttribute(i,j[i])}}}return h};c.splat=function(g){return c.isArray(g)?g:[g]};c.syncTimeout=function(h,i,j){if(i){return setTimeout(h,i,j)}h.call(0,j)};c.pick=function(){var h=arguments,j,k,i=h.length;for(j=0;j<i;j++){if(k=h[j],void 0!==k&&null!==k){return k}}};c.css=function(i,h){c.isMS&&!c.svg&&h&&void 0!==h.opacity&&(h.filter="alpha(opacity\x3d"+100*h.opacity+")");c.extend(i.style,h)};c.createElement=function(k,j,n,i,h){k=d.createElement(k);var m=c.css;j&&c.extend(k,j);h&&m(k,{padding:0,border:"none",margin:0});n&&m(k,n);i&&i.appendChild(k);return k};c.extendClass=function(i,h){var j=function(){};j.prototype=new i;c.extend(j.prototype,h);return j};c.pad=function(h,i,j){return Array((i||2)+1-String(h).length).join(j||0)+h};c.relativeLength=function(h,i){return/%$/.test(h)?i*parseFloat(h)/100:parseFloat(h)};c.wrap=function(h,j,k){var i=h[j];h[j]=function(){var g=Array.prototype.slice.call(arguments),l=arguments,m=this;m.proceed=function(){i.apply(m,arguments.length?arguments:l)};g.unshift(i);g=k.apply(this,g);m.proceed=null;return g}};c.getTZOffset=function(i){var h=c.Date;return 60000*(h.hcGetTimezoneOffset&&h.hcGetTimezoneOffset(i)||h.hcTimezoneOffset||0)};c.dateFormat=function(h,w,x){if(!c.defined(w)||isNaN(w)){return c.defaultOptions.lang.invalidDate||""}h=c.pick(h,"%Y-%m-%d %H:%M:%S");var B=c.Date,v=new B(w-c.getTZOffset(w)),j,y=v[B.hcGetHours](),A=v[B.hcGetDay](),k=v[B.hcGetDate](),i=v[B.hcGetMonth](),D=v[B.hcGetFullYear](),s=c.defaultOptions.lang,z=s.weekdays,o=s.shortWeekdays,F=c.pad,B=c.extend({a:o?o[A]:z[A].substr(0,3),A:z[A],d:F(k),e:F(k,2," "),w:A,b:s.shortMonths[i],B:s.months[i],m:F(i+1),y:D.toString().substr(2,2),Y:D,H:F(y),k:y,I:F(y%12||12),l:y%12||12,M:F(v[B.hcGetMinutes]()),p:12>y?"AM":"PM",P:12>y?"am":"pm",S:F(v.getSeconds()),L:F(Math.round(w%1000),3)},c.dateFormats);for(j in B){for(;-1!==h.indexOf("%"+j);){h=h.replace("%"+j,"function"===typeof B[j]?B[j](w):B[j])}}return x?h.substr(0,1).toUpperCase()+h.substr(1):h};c.formatSingle=function(j,i){var k=/\.([0-9])/,h=c.defaultOptions.lang;/f$/.test(j)?(k=(k=j.match(k))?k[1]:-1,null!==i&&(i=c.numberFormat(i,k,h.decimalPoint,-1<j.indexOf(",")?h.thousandsSep:""))):i=c.dateFormat(j,i);return i};c.format=function(h,n){for(var o="{",v=!1,m,j,s,t,k=[],i;h;){o=h.indexOf(o);if(-1===o){break}m=h.slice(0,o);if(v){m=m.split(":");j=m.shift().split(".");t=j.length;i=n;for(s=0;s<t;s++){i=i[j[s]]}m.length&&(i=c.formatSingle(m.join(":"),i));k.push(i)}else{k.push(m)}h=h.slice(o+1);o=(v=!v)?"}":"{"}k.push(h);return k.join("")};c.getMagnitude=function(g){return Math.pow(10,Math.floor(Math.log(g)/Math.LN10))};c.normalizeTickInterval=function(k,j,n,i,h){var m,o=k;n=c.pick(n,1);m=k/n;j||(j=h?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===i&&(1===n?j=c.grep(j,function(g){return 0===g%1}):0.1>=n&&(j=[1/n])));for(i=0;i<j.length&&!(o=j[i],h&&o*n>=k||!h&&m<=(j[i]+(j[i+1]||j[i]))/2);i++){}return o=c.correctFloat(o*n,-Math.round(Math.log(0.001)/Math.LN10))};c.stableSort=function(i,k){var m=i.length,j,h;for(h=0;h<m;h++){i[h].safeI=h}i.sort(function(g,l){j=k(g,l);return 0===j?g.safeI-l.safeI:j});for(h=0;h<m;h++){delete i[h].safeI}};c.arrayMin=function(h){for(var i=h.length,j=h[0];i--;){h[i]<j&&(j=h[i])}return j};c.arrayMax=function(h){for(var i=h.length,j=h[0];i--;){h[i]>j&&(j=h[i])}return j};c.destroyObjectProperties=function(h,i){for(var j in h){h[j]&&h[j]!==i&&h[j].destroy&&h[j].destroy(),delete h[j]}};c.discardElement=function(i){var h=c.garbageBin;h||(h=c.createElement("div"));i&&h.appendChild(i);h.innerHTML=""};c.correctFloat=function(h,i){return parseFloat(h.toPrecision(i||14))};c.setAnimation=function(i,h){h.renderer.globalAnimation=c.pick(i,h.options.chart.animation,!0)};c.animObject=function(g){return c.isObject(g)?c.merge(g):{duration:g?500:0}};c.timeUnits={millisecond:1,second:1000,minute:60000,hour:3600000,day:86400000,week:604800000,month:2419200000,year:31449600000};c.numberFormat=function(m,k,o,j){m=+m||0;k=+k;var i=c.defaultOptions.lang,n=(m.toString().split(".")[1]||"").length,p,h;-1===k?k=Math.min(n,20):c.isNumber(k)||(k=2);h=(Math.abs(m)+Math.pow(10,-Math.max(k,n)-1)).toFixed(k);n=String(c.pInt(h));p=3<n.length?n.length%3:0;o=c.pick(o,i.decimalPoint);j=c.pick(j,i.thousandsSep);m=(0>m?"-":"")+(p?n.substr(0,p)+j:"");m+=n.substr(p).replace(/(\d{3})(?=\d)/g,"$1"+j);k&&(m+=o+h.slice(-k));return m};Math.easeInOutSine=function(g){return -0.5*(Math.cos(Math.PI*g)-1)};c.getStyle=function(i,h){return"width"===h?Math.min(i.offsetWidth,i.scrollWidth)-c.getStyle(i,"padding-left")-c.getStyle(i,"padding-right"):"height"===h?Math.min(i.offsetHeight,i.scrollHeight)-c.getStyle(i,"padding-top")-c.getStyle(i,"padding-bottom"):(i=e.getComputedStyle(i,void 0))&&c.pInt(i.getPropertyValue(h))};c.inArray=function(h,i){return i.indexOf?i.indexOf(h):[].indexOf.call(i,h)};c.grep=function(h,i){return[].filter.call(h,i)};c.find=function(h,i){return[].find.call(h,i)};c.map=function(i,k){for(var m=[],j=0,h=i.length;j<h;j++){m[j]=k.call(i[j],i[j],j,i)}return m};c.offset=function(h){var i=d.documentElement;h=h.getBoundingClientRect();return{top:h.top+(e.pageYOffset||i.scrollTop)-(i.clientTop||0),left:h.left+(e.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}};c.stop=function(h,i){for(var j=f.length;j--;){f[j].elem!==h||i&&i!==f[j].prop||(f[j].stopped=!0)}};c.each=function(h,i,j){return Array.prototype.forEach.call(h,i,j)};c.addEvent=function(k,j,m){function i(g){g.target=g.srcElement||e;m.call(k,g)}var h=k.hcEvents=k.hcEvents||{};k.addEventListener?k.addEventListener(j,m,!1):k.attachEvent&&(k.hcEventsIE||(k.hcEventsIE={}),k.hcEventsIE[m.toString()]=i,k.attachEvent("on"+j,i));h[j]||(h[j]=[]);h[j].push(m);return function(){c.removeEvent(k,j,m)}};c.removeEvent=function(m,k,o){function j(l,g){m.removeEventListener?m.removeEventListener(l,g,!1):m.attachEvent&&(g=m.hcEventsIE[g.toString()],m.detachEvent("on"+l,g))}function i(){var l,g;if(m.nodeName){for(g in k?(l={},l[k]=!0):l=p,l){if(p[g]){for(l=p[g].length;l--;){j(g,p[g][l])}}}}}var n,p=m.hcEvents,h;p&&(k?(n=p[k]||[],o?(h=c.inArray(o,n),-1<h&&(n.splice(h,1),p[k]=n),j(k,o)):(i(),p[k]=[])):(i(),m.hcEvents={}))};c.fireEvent=function(k,j,n,i){var h;h=k.hcEvents;var m,o;n=n||{};if(d.createEvent&&(k.dispatchEvent||k.fireEvent)){h=d.createEvent("Events"),h.initEvent(j,!0,!0),c.extend(h,n),k.dispatchEvent?k.dispatchEvent(h):k.fireEvent(j,h)}else{if(h){for(h=h[j]||[],m=h.length,n.target||c.extend(n,{preventDefault:function(){n.defaultPrevented=!0},target:k,type:j}),j=0;j<m;j++){(o=h[j])&&!1===o.call(k,n)&&n.preventDefault()}}}i&&!n.defaultPrevented&&i(n)};c.animate=function(m,k,o){var j,i="",n,p,h;c.isObject(o)||(j=arguments,o={duration:j[2],easing:j[3],complete:j[4]});c.isNumber(o.duration)||(o.duration=400);o.easing="function"===typeof o.easing?o.easing:Math[o.easing]||Math.easeInOutSine;o.curAnim=c.merge(k);for(h in k){c.stop(m,h),p=new c.Fx(m,o,h),n=null,"d"===h?(p.paths=p.initPath(m,m.d,k.d),p.toD=k.d,j=0,n=1):m.attr?j=m.attr(h):(j=parseFloat(c.getStyle(m,h))||0,"opacity"!==h&&(i="px")),n||(n=k[h]),n.match&&n.match("px")&&(n=n.replace(/px/g,"")),p.run(j,n,i)}};c.seriesType=function(k,j,n,i,h){var m=c.getOptions(),o=c.seriesTypes;m.plotOptions[k]=c.merge(m.plotOptions[j],n);o[k]=c.extendClass(o[j]||function(){},i);o[k].prototype.type=k;h&&(o[k].prototype.pointClass=c.extendClass(c.Point,h));return o[k]};c.uniqueKey=function(){var h=Math.random().toString(36).substring(2,9),i=0;return function(){return"highcharts-"+h+"-"+i++}}();e.jQuery&&(e.jQuery.fn.highcharts=function(){var g=[].slice.call(arguments);if(this[0]){return g[0]?(new (c[c.isString(g[0])?g.shift():"Chart"])(this[0],g[0],g[1]),this):b[c.attr(this[0],"data-highcharts-chart")]}});d&&!d.defaultView&&(c.getStyle=function(i,h){var j={width:"clientWidth",height:"clientHeight"}[h];if(i.style[h]){return c.pInt(i.style[h])}"opacity"===h&&(h="filter");if(j){return i.style.zoom=1,Math.max(i[j]-2*c.getStyle(i,"padding"),0)}i=i.currentStyle[h.replace(/\-(\w)/g,function(k,g){return g.toUpperCase()})];"filter"===h&&(i=i.replace(/alpha\(opacity=([0-9]+)\)/,function(k,g){return g/100}));return""===i?1:c.pInt(i)});Array.prototype.forEach||(c.each=function(i,k,m){for(var j=0,h=i.length;j<h;j++){if(!1===k.call(m,i[j],j,i)){return j}}});Array.prototype.indexOf||(c.inArray=function(h,j){var k,i=0;if(j){for(k=j.length;i<k;i++){if(j[i]===h){return i}}}return -1});Array.prototype.filter||(c.grep=function(i,k){for(var m=[],j=0,h=i.length;j<h;j++){k(i[j],j)&&m.push(i[j])}return m});Array.prototype.find||(c.find=function(h,j){var k,i=h.length;for(k=0;k<i;k++){if(j(h[k],k)){return h[k]}}})})(a);(function(c){var g=c.each,b=c.isNumber,d=c.map,e=c.merge,f=c.pInt;c.Color=function(h){if(!(this instanceof c.Color)){return new c.Color(h)}this.init(h)};c.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(h){return[f(h[1]),f(h[2]),f(h[3]),parseFloat(h[4],10)]}},{regex:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(h){return[f(h[1],16),f(h[2],16),f(h[3],16),1]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(h){return[f(h[1]),f(h[2]),f(h[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(j){var m,i,h,k;if((this.input=j=this.names[j]||j)&&j.stops){this.stops=d(j.stops,function(l){return new c.Color(l[1])})}else{for(h=this.parsers.length;h--&&!i;){k=this.parsers[h],(m=k.regex.exec(j))&&(i=k.parse(m))}}this.rgba=i||[]},get:function(i){var k=this.input,j=this.rgba,h;this.stops?(h=e(k),h.stops=[].concat(h.stops),g(this.stops,function(l,m){h.stops[m]=[h.stops[m][0],l.get(i)]})):h=j&&b(j[0])?"rgb"===i||!i&&1===j[3]?"rgb("+j[0]+","+j[1]+","+j[2]+")":"a"===i?j[3]:"rgba("+j.join(",")+")":k;return h},brighten:function(h){var j,i=this.rgba;if(this.stops){g(this.stops,function(k){k.brighten(h)})}else{if(b(h)&&0!==h){for(j=0;3>j;j++){i[j]+=f(255*h),0>i[j]&&(i[j]=0),255<i[j]&&(i[j]=255)}}}return this},setOpacity:function(h){this.rgba[3]=h;return this}};c.color=function(h){return new c.Color(h)}})(a);(function(au){var X,Y,Q=au.addEvent,R=au.animate,af=au.attr,an=au.charts,ao=au.color,ad=au.css,ak=au.createElement,ag=au.defined,aq=au.deg2rad,at=au.destroyObjectProperties,ah=au.doc,W=au.each,ae=au.extend,aj=au.erase,ar=au.grep,ai=au.hasTouch,U=au.inArray,Z=au.isArray,ap=au.isFirefox,ab=au.isMS,T=au.isObject,ac=au.isString,am=au.isWebKit,aa=au.merge,L=au.noop,v=au.pick,M=au.pInt,al=au.removeEvent,V=au.stop,j=au.svg,s=au.SVG_NS,i=au.symbolSizes,o=au.win;X=au.SVGElement=function(){return this};X.prototype={opacity:1,SVG_NS:s,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline".split(" "),init:function(b,c){this.element="span"===c?ak(c):ah.createElementNS(this.SVG_NS,c);this.renderer=b},animate:function(c,b,d){b=au.animObject(v(b,this.renderer.globalAnimation,!0));0!==b.duration?(d&&(b.complete=d),R(this,c,b)):this.attr(c,null,d);return this},colorGradient:function(J,y,A){var G=this.renderer,z,f,E,H,C,r,q,B,N,K,g,I=[],u;J.linearGradient?f="linearGradient":J.radialGradient&&(f="radialGradient");if(f){E=J[f];C=G.gradients;q=J.stops;K=A.radialReference;Z(E)&&(J[f]=E={x1:E[0],y1:E[1],x2:E[2],y2:E[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===f&&K&&!ag(E.gradientUnits)&&(H=E,E=aa(E,G.getRadialAttr(K,H),{gradientUnits:"userSpaceOnUse"}));for(g in E){"id"!==g&&I.push(g,E[g])}for(g in q){I.push(q[g])}I=I.join(",");C[I]?K=C[I].attr("id"):(E.id=K=au.uniqueKey(),C[I]=r=G.createElement(f).attr(E).add(G.defs),r.radAttr=H,r.stops=[],W(q,function(b){0===b[1].indexOf("rgba")?(z=au.color(b[1]),B=z.get("rgb"),N=z.get("a")):(B=b[1],N=1);b=G.createElement("stop").attr({offset:b[0],"stop-color":B,"stop-opacity":N}).add(r);r.stops.push(b)}));u="url("+G.url+"#"+K+")";A.setAttribute(y,u);A.gradient=I;J.toString=function(){return u}}},applyTextOutline:function(f){var h=this.element,g,l,d,m;-1!==f.indexOf("contrast")&&(f=f.replace(/contrast/g,this.renderer.getContrast(h.style.fill)));this.fakeTS=!0;this.ySetter=this.xSetter;g=[].slice.call(h.getElementsByTagName("tspan"));f=f.split(" ");l=f[f.length-1];(d=f[0])&&"none"!==d&&(d=d.replace(/(^[\d\.]+)(.*?)$/g,function(b,e,c){return 2*e+c}),W(g,function(b){"highcharts-text-outline"===b.getAttribute("class")&&aj(g,h.removeChild(b))}),m=h.firstChild,W(g,function(b,c){0===c&&(b.setAttribute("x",h.getAttribute("x")),c=h.getAttribute("y"),b.setAttribute("y",c||0),null===c&&h.setAttribute("y",0));b=b.cloneNode(1);af(b,{"class":"highcharts-text-outline",fill:l,stroke:l,"stroke-width":d,"stroke-linejoin":"round"});h.insertBefore(b,m)}))},attr:function(p,d,g,n){var r,m=this.element,f,q=this,l;"string"===typeof p&&void 0!==d&&(r=p,p={},p[r]=d);if("string"===typeof p){q=(this[p+"Getter"]||this._defaultGetter).call(this,p,m)}else{for(r in p){d=p[r],l=!1,n||V(this,r),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(r)&&(f||(this.symbolAttr(p),f=!0),l=!0),!this.rotation||"x"!==r&&"y"!==r||(this.doTransform=!0),l||(l=this[r+"Setter"]||this._defaultSetter,l.call(this,d,r,m),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(r)&&this.updateShadows(r,d,l))}this.doTransform&&(this.updateTransform(),this.doTransform=!1)}g&&g();return q},updateShadows:function(d,g,h){for(var f=this.shadows,c=f.length;c--;){h.call(f[c],"height"===d?Math.max(g-(f[c].cutHeight||0),0):"d"===d?this.d:g,d,f[c])}},addClass:function(b,d){var c=this.attr("class")||"";-1===c.indexOf(b)&&(d||(b=(c+(c?" ":"")+b).replace("  "," ")),this.attr("class",b));return this},hasClass:function(b){return -1!==af(this.element,"class").indexOf(b)},removeClass:function(b){af(this.element,"class",(af(this.element,"class")||"").replace(b,""));return this},symbolAttr:function(b){var c=this;W("x y r start end width height innerR anchorX anchorY".split(" "),function(d){c[d]=v(b[d],c[d])});c.attr({d:c.renderer.symbols[c.symbolName](c.x,c.y,c.width,c.height,c)})},clip:function(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+")":"none")},crisp:function(d,g){var f,h={},c;g=g||d.strokeWidth||0;c=Math.round(g)%2/2;d.x=Math.floor(d.x||this.x||0)+c;d.y=Math.floor(d.y||this.y||0)+c;d.width=Math.floor((d.width||this.width||0)-2*c);d.height=Math.floor((d.height||this.height||0)-2*c);ag(d.strokeWidth)&&(d.strokeWidth=g);for(f in d){this[f]!==d[f]&&(this[f]=h[f]=d[f])}return h},css:function(f){var l=this.styles,g={},p=this.element,d,q,m="";d=!l;var n=["textOverflow","width"];f&&f.color&&(f.fill=f.color);if(l){for(q in f){f[q]!==l[q]&&(g[q]=f[q],d=!0)}}if(d){d=this.textWidth=f&&f.width&&"text"===p.nodeName.toLowerCase()&&M(f.width)||this.textWidth;l&&(f=ae(l,g));this.styles=f;d&&!j&&this.renderer.forExport&&delete f.width;if(ab&&!j){ad(this.element,f)}else{l=function(b,c){return"-"+c.toLowerCase()};for(q in f){-1===U(q,n)&&(m+=q.replace(/([A-Z])/g,l)+":"+f[q]+";")}m&&af(p,"style",m)}this.added&&(d&&this.renderer.buildText(this),f&&f.textOutline&&this.applyTextOutline(f.textOutline))}return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(b,d){var c=this,f=c.element;ai&&"click"===b?(f.ontouchstart=function(e){c.touchEventFired=Date.now();e.preventDefault();d.call(f,e)},f.onclick=function(e){(-1===o.navigator.userAgent.indexOf("Android")||1100<Date.now()-(c.touchEventFired||0))&&d.call(f,e)}):f["on"+b]=d;return this},setRadialReference:function(b){var c=this.renderer.gradients[this.element.gradient];this.element.radialReference=b;c&&c.radAttr&&c.animate(this.renderer.getRadialAttr(b,c.radAttr));return this},translate:function(b,c){return this.attr({translateX:b,translateY:c})},invert:function(b){this.inverted=b;this.updateTransform();return this},updateTransform:function(){var f=this.translateX||0,g=this.translateY||0,n=this.scaleX,d=this.scaleY,p=this.inverted,l=this.rotation,m=this.element;p&&(f+=this.width,g+=this.height);f=["translate("+f+","+g+")"];p?f.push("rotate(90) scale(-1,1)"):l&&f.push("rotate("+l+" "+(m.getAttribute("x")||0)+" "+(m.getAttribute("y")||0)+")");(ag(n)||ag(d))&&f.push("scale("+v(n,1)+" "+v(d,1)+")");f.length&&m.setAttribute("transform",f.join(" "))},toFront:function(){var b=this.element;b.parentNode.appendChild(b);return this},align:function(r,f,l){var t,p,m,g,d={};p=this.renderer;m=p.alignedObjects;var q,n;if(r){if(this.alignOptions=r,this.alignByTranslate=f,!l||ac(l)){this.alignTo=t=l||"renderer",aj(m,this),m.push(this),l=null}}else{r=this.alignOptions,f=this.alignByTranslate,t=this.alignTo}l=v(l,p[t],p);t=r.align;p=r.verticalAlign;m=(l.x||0)+(r.x||0);g=(l.y||0)+(r.y||0);"right"===t?q=1:"center"===t&&(q=2);q&&(m+=(l.width-(r.width||0))/q);d[f?"translateX":"x"]=Math.round(m);"bottom"===p?n=1:"middle"===p&&(n=2);n&&(g+=(l.height-(r.height||0))/n);d[f?"translateY":"y"]=Math.round(g);this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this},getBBox:function(A,p){var B,r=this.renderer,w,t=this.element,q=this.styles,d,z=this.textStr,l,u=r.cache,g=r.cacheKeys,C;p=v(p,this.rotation);w=p*aq;d=q&&q.fontSize;void 0!==z&&(C=z.toString(),-1===C.indexOf("\x3c")&&(C=C.replace(/[0-9]/g,"0")),C+=["",p||0,d,q&&q.width,q&&q.textOverflow].join());C&&!A&&(B=u[C]);if(!B){if(t.namespaceURI===this.SVG_NS||r.forExport){try{(l=this.fakeTS&&function(b){W(t.querySelectorAll(".highcharts-text-outline"),function(c){c.style.display=b})})&&l("none"),B=t.getBBox?ae({},t.getBBox()):{width:t.offsetWidth,height:t.offsetHeight},l&&l("")}catch(f){}if(!B||0>B.width){B={width:0,height:0}}}else{B=this.htmlGetBBox()}r.isSVG&&(A=B.width,r=B.height,q&&"11px"===q.fontSize&&17===Math.round(r)&&(B.height=r=14),p&&(B.width=Math.abs(r*Math.sin(w))+Math.abs(A*Math.cos(w)),B.height=Math.abs(r*Math.cos(w))+Math.abs(A*Math.sin(w))));if(C&&0<B.height){for(;250<g.length;){delete u[g.shift()]}u[C]||g.push(C);u[C]=B}}return B},show:function(b){return this.attr({visibility:b?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(b){var c=this;c.animate({opacity:0},{duration:b||150,complete:function(){c.attr({y:-9999})}})},add:function(b){var d=this.renderer,c=this.element,f;b&&(this.parentGroup=b);this.parentInverted=b&&b.inverted;void 0!==this.textStr&&d.buildText(this);this.added=!0;if(!b||b.handleZ||this.zIndex){f=this.zIndexSetter()}f||(b?b.element:d.box).appendChild(c);if(this.onAdd){this.onAdd()}return this},safeRemoveChild:function(b){var c=b.parentNode;c&&c.removeChild(b)},destroy:function(){var d=this.element||{},f=this.renderer.isSVG&&"SPAN"===d.nodeName&&this.parentGroup,g,c;d.onclick=d.onmouseout=d.onmouseover=d.onmousemove=d.point=null;V(this);this.clipPath&&(this.clipPath=this.clipPath.destroy());if(this.stops){for(c=0;c<this.stops.length;c++){this.stops[c]=this.stops[c].destroy()}this.stops=null}this.safeRemoveChild(d);for(this.destroyShadows();f&&f.div&&0===f.div.childNodes.length;){d=f.parentGroup,this.safeRemoveChild(f.div),delete f.div,f=d}this.alignTo&&aj(this.renderer.alignedObjects,this);for(g in this){delete this[g]}return null},shadow:function(u,g,n){var w=[],r,p,l=this.element,d,t,f,q;if(!u){this.destroyShadows()}else{if(!this.shadows){t=v(u.width,3);f=(u.opacity||0.15)/t;q=this.parentInverted?"(-1,-1)":"("+v(u.offsetX,1)+", "+v(u.offsetY,1)+")";for(r=1;r<=t;r++){p=l.cloneNode(0),d=2*t+1-2*r,af(p,{isShadow:"true",stroke:u.color||"#000000","stroke-opacity":f*r,"stroke-width":d,transform:"translate"+q,fill:"none"}),n&&(af(p,"height",Math.max(af(p,"height")-d,0)),p.cutHeight=d),g?g.element.appendChild(p):l.parentNode.insertBefore(p,l),w.push(p)}this.shadows=w}}return this},destroyShadows:function(){W(this.shadows||[],function(b){this.safeRemoveChild(b)},this);this.shadows=void 0},xGetter:function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)},_defaultGetter:function(b){b=v(this[b],this.element?this.element.getAttribute(b):null,0);/^[\-0-9\.]+$/.test(b)&&(b=parseFloat(b));return b},dSetter:function(b,c,d){b&&b.join&&(b=b.join(" "));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");d.setAttribute(c,b);this[c]=b},dashstyleSetter:function(b){var d,c=this["stroke-width"];"inherit"===c&&(c=1);if(b=b&&b.toLowerCase()){b=b.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(d=b.length;d--;){b[d]=M(b[d])*c}b=b.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",b)}},alignSetter:function(b){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[b])},opacitySetter:function(b,c,d){this[c]=b;d.setAttribute(c,b)},titleSetter:function(b){var c=this.element.getElementsByTagName("title")[0];c||(c=ah.createElementNS(this.SVG_NS,"title"),this.element.appendChild(c));c.firstChild&&c.removeChild(c.firstChild);c.appendChild(ah.createTextNode(String(v(b),"").replace(/<[^>]*>/g,"")))},textSetter:function(b){b!==this.textStr&&(delete this.bBox,this.textStr=b,this.added&&this.renderer.buildText(this))},fillSetter:function(b,c,d){"string"===typeof b?d.setAttribute(c,b):b&&this.colorGradient(b,c,d)},visibilitySetter:function(b,c,d){"inherit"===b?d.removeAttribute(c):d.setAttribute(c,b)},zIndexSetter:function(q,f){var r=this.renderer,l=this.parentGroup,n=(l||r).element||r.box,m,g=this.element,d;m=this.added;var p;ag(q)&&(g.zIndex=q,q=+q,this[f]===q&&(m=!1),this[f]=q);if(m){(q=this.zIndex)&&l&&(l.handleZ=!0);f=n.childNodes;for(p=0;p<f.length&&!d;p++){l=f[p],m=l.zIndex,l!==g&&(M(m)>q||!ag(q)&&ag(m)||0>q&&!ag(m)&&n!==r.box)&&(n.insertBefore(g,l),d=!0)}d||n.appendChild(g)}return d},_defaultSetter:function(b,c,d){d.setAttribute(c,b)}};X.prototype.yGetter=X.prototype.xGetter;X.prototype.translateXSetter=X.prototype.translateYSetter=X.prototype.rotationSetter=X.prototype.verticalAlignSetter=X.prototype.scaleXSetter=X.prototype.scaleYSetter=function(b,c){this[c]=b;this.doTransform=!0};X.prototype["stroke-widthSetter"]=X.prototype.strokeSetter=function(b,c,d){this[c]=b;this.stroke&&this["stroke-width"]?(X.prototype.fillSetter.call(this,this.stroke,"stroke",d),d.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===b&&this.hasStroke&&(d.removeAttribute("stroke"),this.hasStroke=!1)};Y=au.SVGRenderer=function(){this.init.apply(this,arguments)};Y.prototype={Element:X,SVG_NS:s,init:function(g,l,f,p,n,e){var h;p=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(p));h=p.element;g.appendChild(h);-1===g.innerHTML.indexOf("xmlns")&&af(h,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=h;this.boxWrapper=p;this.alignedObjects=[];this.url=(ap||am)&&ah.getElementsByTagName("base").length?o.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(ah.createTextNode("Created with Highcharts 5.0.7"));this.defs=this.createElement("defs").add();this.allowHTML=e;this.forExport=n;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(l,f,!1);var d;ap&&g.getBoundingClientRect&&(l=function(){ad(g,{left:0,top:0});d=g.getBoundingClientRect();ad(g,{left:Math.ceil(d.left)-d.left+"px",top:Math.ceil(d.top)-d.top+"px"})},l(),this.unSubPixelFix=Q(o,"resize",l))},getStyle:function(b){return this.style=ae({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},b)},setStyle:function(b){this.boxWrapper.css(this.getStyle(b))},isHidden:function(){return !this.boxWrapper.getBBox().width},destroy:function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();at(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(b){var c=new this.Element;c.init(this,b);return c},draw:L,getRadialAttr:function(b,c){return{cx:b[0]-b[2]/2+c.cx*b[2],cy:b[1]-b[2]/2+c.cy*b[2],r:c.r*b[2]}},buildText:function(aB){var S=aB.element,B=this,ay=B.forExport,aA=v(aB.textStr,"").toString(),av=-1!==aA.indexOf("\x3c"),I=S.childNodes,u,O,r,N,C=af(S,"x"),az=aB.styles,H=aB.textWidth,A=az&&az.lineHeight,P=az&&az.textOutline,c=az&&"ellipsis"===az.textOverflow,ax=az&&"nowrap"===az.whiteSpace,G=az&&az.fontSize,K,aw=I.length,az=H&&!aB.added&&this.box,p=function(b){var d;d=/(px|em)$/.test(b&&b.style.fontSize)?b.style.fontSize:G||B.style.fontSize||12;return A?M(A):B.fontMetrics(d,b.getAttribute("style")?b:S).h};K=[aA,c,ax,A,P,G,H].join();if(K!==aB.textCache){for(aB.textCache=K;aw--;){S.removeChild(I[aw])}av||P||c||H||-1!==aA.indexOf(" ")?(u=/<.*class="([^"]+)".*>/,O=/<.*style="([^"]+)".*>/,r=/<.*href="(http[^"]+)".*>/,az&&az.appendChild(S),aA=av?aA.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):[aA],aA=ar(aA,function(b){return""!==b}),W(aA,function(d,g){var e,f=0;d=d.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");e=d.split("|||");W(e,function(D){if(""!==D||1===e.length){var y={},J=ah.createElementNS(B.SVG_NS,"tspan"),m,aC;u.test(D)&&(m=D.match(u)[1],af(J,"class",m));O.test(D)&&(aC=D.match(O)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),af(J,"style",aC));r.test(D)&&!ay&&(af(J,"onclick",'location.href\x3d"'+D.match(r)[1]+'"'),ad(J,{cursor:"pointer"}));D=(D.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==D){J.appendChild(ah.createTextNode(D));f?y.dx=0:g&&null!==C&&(y.x=C);af(J,y);S.appendChild(J);!f&&g&&(!j&&ay&&ad(J,{display:"block"}),af(J,"dy",p(J)));if(H){y=D.replace(/([^\^])-/g,"$1- ").split(" ");m=1<e.length||g||1<y.length&&!ax;for(var k,t,x=[],h=p(J),z=aB.rotation,F=D,n=F.length;(m||c)&&(y.length||x.length);){aB.rotation=0,k=aB.getBBox(!0),t=k.width,!j&&B.forExport&&(t=B.measureSpanWidth(J.firstChild.data,aB.styles)),k=t>H,void 0===N&&(N=k),c&&N?(n/=2,""===F||!k&&0.5>n?y=[]:(F=D.substring(0,F.length+(k?-1:1)*Math.ceil(n)),y=[F+(3<H?"\u2026":"")],J.removeChild(J.firstChild))):k&&1!==y.length?(J.removeChild(J.firstChild),x.unshift(y.pop())):(y=x,x=[],y.length&&!ax&&(J=ah.createElementNS(s,"tspan"),af(J,{dy:h,x:C}),aC&&af(J,"style",aC),S.appendChild(J)),t>H&&(H=t)),y.length&&J.appendChild(ah.createTextNode(y.join(" ").replace(/- /g,"-")))}aB.rotation=z}f++}}})}),N&&aB.attr("title",aB.textStr),az&&az.removeChild(S),P&&aB.applyTextOutline&&aB.applyTextOutline(P)):S.appendChild(ah.createTextNode(aA.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(b){b=ao(b).rgba;return 510<b[0]+b[1]+b[2]?"#000000":"#FFFFFF"},button:function(C,u,y,B,A,x,f,r,z){var G=this.label(C,u,y,z,null,null,null,null,"button"),q=0;G.attr(aa({padding:8,r:2},A));var H,E,g,t;A=aa({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},A);H=A.style;delete A.style;x=aa(A,{fill:"#e6e6e6"},x);E=x.style;delete x.style;f=aa(A,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},f);g=f.style;delete f.style;r=aa(A,{style:{color:"#cccccc"}},r);t=r.style;delete r.style;Q(G.element,ab?"mouseover":"mouseenter",function(){3!==q&&G.setState(1)});Q(G.element,ab?"mouseout":"mouseleave",function(){3!==q&&G.setState(q)});G.setState=function(b){1!==b&&(G.state=q=b);G.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b||0]);G.attr([A,x,f,r][b||0]).css([H,E,g,t][b||0])};G.attr(A).css(ae({cursor:"default"},H));return G.on("click",function(b){3!==q&&B.call(G,b)})},crispLine:function(b,c){b[1]===b[4]&&(b[1]=b[4]=Math.round(b[1])-c%2/2);b[2]===b[5]&&(b[2]=b[5]=Math.round(b[2])+c%2/2);return b},path:function(b){var c={fill:"none"};Z(b)?c.d=b:T(b)&&ae(c,b);return this.createElement("path").attr(c)},circle:function(b,c,d){b=T(b)?b:{x:b,y:c,r:d};c=this.createElement("circle");c.xSetter=c.ySetter=function(f,g,h){h.setAttribute("c"+g,f)};return c.attr(b)},arc:function(f,g,m,d,n,l){T(f)&&(g=f.y,m=f.r,d=f.innerR,n=f.start,l=f.end,f=f.x);f=this.symbol("arc",f||0,g||0,m||0,m||0,{innerR:d||0,start:n||0,end:l||0});f.r=m;return f},rect:function(f,l,n,d,p,m){p=T(f)?f.r:p;var g=this.createElement("rect");f=T(f)?f:void 0===f?{}:{x:f,y:l,width:Math.max(n,0),height:Math.max(d,0)};void 0!==m&&(f.strokeWidth=m,f=g.crisp(f));f.fill="none";p&&(f.r=p);g.rSetter=function(b,c,h){af(h,{rx:b,ry:b})};return g.attr(f)},setSize:function(d,g,h){var c=this.alignedObjects,f=c.length;this.width=d;this.height=g;for(this.boxWrapper.animate({width:d,height:g},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:v(h,!0)?void 0:0});f--;){c[f].align()}},g:function(b){var c=this.createElement("g");return b?c.attr({"class":"highcharts-"+b}):c},image:function(f,h,l,d,m){var g={preserveAspectRatio:"none"};1<arguments.length&&ae(g,{x:h,y:l,width:d,height:m});g=this.createElement("image").attr(g);g.element.setAttributeNS?g.element.setAttributeNS("http://www.w3.org/1999/xlink","href",f):g.element.setAttribute("hc-svg-href",f);return g},symbol:function(B,p,r,z,u,q){var C=this,f,A=this.symbols[B],l=ag(p)&&A&&this.symbols[B](Math.round(p),Math.round(r),z,u,q),w=/^url\((.*?)\)$/,t,g;A?(f=this.path(l),f.attr("fill","none"),ae(f,{symbolName:B,x:p,y:r,width:z,height:u}),q&&ae(f,q)):w.test(B)&&(t=B.match(w)[1],f=this.image(t),f.imgwidth=v(i[t]&&i[t].width,q&&q.width),f.imgheight=v(i[t]&&i[t].height,q&&q.height),g=function(){f.attr({width:f.width,height:f.height})},W(["width","height"],function(b){f[b+"Setter"]=function(d,m){var n={},c=this["img"+m],h="width"===m?"translateX":"translateY";this[m]=d;ag(c)&&(this.element&&this.element.setAttribute(m,c),this.alignByTranslate||(n[h]=((this[m]||0)-c)/2,this.attr(n)))}}),ag(p)&&f.attr({x:p,y:r}),f.isImg=!0,ag(f.imgwidth)&&ag(f.imgheight)?g():(f.attr({width:0,height:0}),ak("img",{onload:function(){var b=an[C.chartIndex];0===this.width&&(ad(this,{position:"absolute",top:"-999em"}),ah.body.appendChild(this));i[t]={width:this.width,height:this.height};f.imgwidth=this.width;f.imgheight=this.height;f.element&&g();this.parentNode&&this.parentNode.removeChild(this);C.imgCount--;if(!C.imgCount&&b&&b.onload){b.onload()}},src:t}),this.imgCount++));return f},symbols:{circle:function(d,f,g,c){return this.arc(d+g/2,f+c/2,g/2,c/2,{start:0,end:2*Math.PI,open:!1})},square:function(d,f,g,c){return["M",d,f,"L",d+g,f,d+g,f+c,d,f+c,"Z"]},triangle:function(d,f,g,c){return["M",d+g/2,f,"L",d+g,f+c,d,f+c,"Z"]},"triangle-down":function(d,f,g,c){return["M",d,f,"L",d+g,f,d+g/2,f+c,"Z"]},diamond:function(d,f,g,c){return["M",d+g/2,f,"L",d+g,f+c/2,d+g/2,f+c,d,f+c/2,"Z"]},arc:function(z,l,p,u,r){var A=r.start,n=r.r||p,f=r.r||u||p,w=r.end-0.001;p=r.innerR;u=r.open;var g=Math.cos(A),q=Math.sin(A),t=Math.cos(w),w=Math.sin(w);r=r.end-A<Math.PI?0:1;n=["M",z+n*g,l+f*q,"A",n,f,0,r,1,z+n*t,l+f*w];ag(p)&&n.push(u?"M":"L",z+p*t,l+p*w,"A",p,p,0,r,0,z+p*g,l+p*q);n.push(u?"":"Z");return n},callout:function(q,f,l,n,m){var g=Math.min(m&&m.r||0,l,n),d=g+6,r=m&&m.anchorX;m=m&&m.anchorY;var p;p=["M",q+g,f,"L",q+l-g,f,"C",q+l,f,q+l,f,q+l,f+g,"L",q+l,f+n-g,"C",q+l,f+n,q+l,f+n,q+l-g,f+n,"L",q+g,f+n,"C",q,f+n,q,f+n,q,f+n-g,"L",q,f+g,"C",q,f,q,f,q+g,f];r&&r>l?m>f+d&&m<f+n-d?p.splice(13,3,"L",q+l,m-6,q+l+6,m,q+l,m+6,q+l,f+n-g):p.splice(13,3,"L",q+l,n/2,r,m,q+l,n/2,q+l,f+n-g):r&&0>r?m>f+d&&m<f+n-d?p.splice(33,3,"L",q,m+6,q-6,m,q,m-6,q,f+g):p.splice(33,3,"L",q,n/2,r,m,q,n/2,q,f+g):m&&m>n&&r>q+d&&r<q+l-d?p.splice(23,3,"L",r+6,f+n,r,f+n+6,r-6,f+n,q+g,f+n):m&&0>m&&r>q+d&&r<q+l-d&&p.splice(3,3,"L",r-6,f,r,f-6,r+6,f,l-g,f);return p}},clipRect:function(f,m,d,n){var g=au.uniqueKey(),l=this.createElement("clipPath").attr({id:g}).add(this.defs);f=this.rect(f,m,d,n,0).add(l);f.id=g;f.clipPath=l;f.count=0;return f},text:function(f,g,m,d){var n=!j&&this.forExport,l={};if(d&&(this.allowHTML||!this.forExport)){return this.html(f,g,m)}l.x=Math.round(g||0);m&&(l.y=Math.round(m));if(f||0===f){l.text=f}f=this.createElement("text").attr(l);n&&f.css({position:"absolute"});d||(f.xSetter=function(q,r,w){var p=w.getElementsByTagName("tspan"),x,t=w.getAttribute(r),u;for(u=0;u<p.length;u++){x=p[u],x.getAttribute(r)===t&&x.setAttribute(r,q)}w.setAttribute(r,q)});return f},fontMetrics:function(b,c){b=b||c&&c.style&&c.style.fontSize||this.style&&this.style.fontSize;b=/px/.test(b)?M(b):/em/.test(b)?parseFloat(b)*(c?this.fontMetrics(null,c.parentNode).f:16):12;c=24>b?b+3:Math.round(1.2*b);return{h:c,b:Math.round(0.8*c),f:b}},rotCorr:function(d,f,g){var c=d;f&&g&&(c=Math.max(c*Math.cos(f*aq),4));return{x:-d/3*Math.sin(f*aq),y:c}},label:function(aR,aN,aQ,aP,aK,aE,ay,aI,aO){var aA=this,aH=aA.g("button"!==aO&&"label"),aC=aH.text=aA.text("",0,0,ay).attr({zIndex:1}),az,aG,aJ=0,av=3,aD=0,aM,aL,aw,H,A,C={},ax,aB,aF=/^url\((.*?)\)$/.test(aP),G=aF,q,y,t,B;aO&&aH.addClass("highcharts-"+aO);G=aF;q=function(){return(ax||0)%2/2};y=function(){var b=aC.element.style,c={};aG=(void 0===aM||void 0===aL||A)&&ag(aC.textStr)&&aC.getBBox();aH.width=(aM||aG.width||0)+2*av+aD;aH.height=(aL||aG.height||0)+2*av;aB=av+aA.fontMetrics(b&&b.fontSize,aC).b;G&&(az||(aH.box=az=aA.symbols[aP]||aF?aA.symbol(aP):aA.rect(),az.addClass(("button"===aO?"":"highcharts-label-box")+(aO?" highcharts-"+aO+"-box":"")),az.add(aH),b=q(),c.x=b,c.y=(aI?-aB:0)+b),c.width=Math.round(aH.width),c.height=Math.round(aH.height),az.attr(ae(c,C)),C={})};t=function(){var b=aD+av,c;c=aI?0:aB;ag(aM)&&aG&&("center"===A||"right"===A)&&(b+={center:0.5,right:1}[A]*(aM-aG.width));if(b!==aC.x||c!==aC.y){aC.attr("x",b),void 0!==c&&aC.attr("y",c)}aC.x=b;aC.y=c};B=function(b,c){az?az.attr(b,c):C[b]=c};aH.onAdd=function(){aC.add(aH);aH.attr({text:aR||0===aR?aR:"",x:aN,y:aQ});az&&ag(aK)&&aH.attr({anchorX:aK,anchorY:aE})};aH.widthSetter=function(b){aM=b};aH.heightSetter=function(b){aL=b};aH["text-alignSetter"]=function(b){A=b};aH.paddingSetter=function(b){ag(b)&&b!==av&&(av=aH.padding=b,t())};aH.paddingLeftSetter=function(b){ag(b)&&b!==aD&&(aD=b,t())};aH.alignSetter=function(b){b={left:0,center:0.5,right:1}[b];b!==aJ&&(aJ=b,aG&&aH.attr({x:aw}))};aH.textSetter=function(b){void 0!==b&&aC.textSetter(b);y();t()};aH["stroke-widthSetter"]=function(b,c){b&&(G=!0);ax=this["stroke-width"]=b;B(c,b)};aH.strokeSetter=aH.fillSetter=aH.rSetter=function(b,c){"fill"===c&&b&&(G=!0);B(c,b)};aH.anchorXSetter=function(b,c){aK=b;B(c,Math.round(b)-q()-aw)};aH.anchorYSetter=function(b,c){aE=b;B(c,b-H)};aH.xSetter=function(b){aH.x=b;aJ&&(b-=aJ*((aM||aG.width)+2*av));aw=Math.round(b);aH.attr("translateX",aw)};aH.ySetter=function(b){H=aH.y=Math.round(b);aH.attr("translateY",H)};var k=aH.css;return ae(aH,{css:function(b){if(b){var c={};b=aa(b);W(aH.textProps,function(d){void 0!==b[d]&&(c[d]=b[d],delete b[d])});aC.css(c)}return k.call(aH,b)},getBBox:function(){return{width:aG.width+2*av,height:aG.height+2*av,x:aG.x-av,y:aG.y-av}},shadow:function(b){b&&(y(),az&&az.shadow(b));return aH},destroy:function(){al(aH.element,"mouseenter");al(aH.element,"mouseleave");aC&&(aC=aC.destroy());az&&(az=az.destroy());X.prototype.destroy.call(aH);aH=aA=y=t=B=null}})}};au.Renderer=Y})(a);(function(t){var i=t.attr,j=t.createElement,v=t.css,x=t.defined,c=t.each,m=t.extend,n=t.isFirefox,w=t.isMS,k=t.isWebKit,e=t.pInt,o=t.SVGRenderer,s=t.win,h=t.wrap;m(t.SVGElement.prototype,{htmlCss:function(f){var d=this.element;if(d=f&&"SPAN"===d.tagName&&f.width){delete f.width,this.textWidth=d,this.updateTransform()}f&&"ellipsis"===f.textOverflow&&(f.whiteSpace="nowrap",f.overflow="hidden");this.styles=m(this.styles,f);v(this.element,f);return this},htmlGetBBox:function(){var b=this.element;"text"===b.nodeName&&(b.style.position="absolute");return{x:b.offsetLeft,y:b.offsetTop,width:b.offsetWidth,height:b.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var D=this.renderer,B=this.element,l=this.translateX||0,z=this.translateY||0,g=this.x||0,u=this.y||0,f=this.textAlign||"left",r={left:0,center:0.5,right:1}[f],C=this.styles;v(B,{marginLeft:l,marginTop:z});this.shadows&&c(this.shadows,function(b){v(b,{marginLeft:l+1,marginTop:z+1})});this.inverted&&c(B.childNodes,function(b){D.invertChild(b,B)});if("SPAN"===B.tagName){var G=this.rotation,E=e(this.textWidth),q=C&&C.whiteSpace,A=[G,f,B.innerHTML,this.textWidth,this.textAlign].join();A!==this.cTT&&(C=D.fontMetrics(B.style.fontSize).b,x(G)&&this.setSpanRotation(G,r,C),v(B,{width:"",whiteSpace:q||"nowrap"}),B.offsetWidth>E&&/[ \-]/.test(B.textContent||B.innerText)&&v(B,{width:E+"px",display:"block",whiteSpace:q||"normal"}),this.getSpanCorrection(B.offsetWidth,C,r,G,f));v(B,{left:g+(this.xCorr||0)+"px",top:u+(this.yCorr||0)+"px"});k&&(C=B.offsetHeight);this.cTT=A}}else{this.alignOnAdd=!0}},setSpanRotation:function(f,g,b){var p={},l=w?"-ms-transform":k?"-webkit-transform":n?"MozTransform":s.opera?"-o-transform":"";p[l]=p.transform="rotate("+f+"deg)";p[l+(n?"Origin":"-origin")]=p.transformOrigin=100*g+"% "+b+"px";v(this.element,p)},getSpanCorrection:function(g,f,d){this.xCorr=-g*d;this.yCorr=-f}});m(o.prototype,{html:function(q,g,f){var z=this.createElement("span"),y=z.element,u=z.renderer,p=u.isSVG,r=function(b,d){c(["opacity","visibility"],function(l){h(b,l+"Setter",function(C,B,D,A){C.call(this,B,D,A);d[D]=B})})};z.textSetter=function(b){b!==y.innerHTML&&delete this.bBox;y.innerHTML=this.textStr=b;z.htmlUpdateTransform()};p&&r(z,z.element.style);z.xSetter=z.ySetter=z.alignSetter=z.rotationSetter=function(b,d){"align"===d&&(d="textAlign");z[d]=b;z.htmlUpdateTransform()};z.attr({text:q,x:Math.round(g),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});y.style.whiteSpace="nowrap";z.css=z.htmlCss;p&&(z.add=function(A){var l,d=u.box.parentNode,B=[];if(this.parentGroup=A){if(l=A.div,!l){for(;A;){B.push(A),A=A.parentGroup}c(B.reverse(),function(C){var D,b=i(C.element,"class");b&&(b={className:b});l=C.div=C.div||j("div",b,{position:"absolute",left:(C.translateX||0)+"px",top:(C.translateY||0)+"px",display:C.display,opacity:C.opacity,pointerEvents:C.styles&&C.styles.pointerEvents},l||d);D=l.style;m(C,{on:function(){z.on.apply({element:B[0].div},arguments);return C},translateXSetter:function(F,E){D.left=F+"px";C[E]=F;C.doTransform=!0},translateYSetter:function(F,E){D.top=F+"px";C[E]=F;C.doTransform=!0}});r(C,D)})}}else{l=d}l.appendChild(y);z.added=!0;z.alignOnAdd&&z.htmlUpdateTransform();return z});return z}})})(a);(function(P){var w,y,h=P.createElement,i=P.css,v=P.defined,K=P.deg2rad,L=P.discardElement,j=P.doc,J=P.each,x=P.erase,M=P.extend;w=P.extendClass;var O=P.isArray,D=P.isNumber,s=P.isObject,o=P.merge;y=P.noop;var I=P.pick,N=P.pInt,F=P.SVGElement,k=P.SVGRenderer,e=P.win;P.svg||(y={docMode8:j&&8===j.documentMode,init:function(f,d){var l=["\x3c",d,' filled\x3d"f" stroked\x3d"f"'],m=["position: ","absolute",";"],g="div"===d;("shape"===d||g)&&m.push("left:0;top:0;width:1px;height:1px;");m.push("visibility: ",g?"hidden":"visible");l.push(' style\x3d"',m.join(""),'"/\x3e');d&&(l=g||"span"===d||"img"===d?l.join(""):f.prepVML(l),this.element=h(l));this.renderer=f},add:function(f){var l=this.renderer,d=this.element,m=l.box,g=f&&f.inverted,m=f?f.element||f:m;f&&(this.parentGroup=f);g&&l.invertChild(d,m);m.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:F.prototype.htmlUpdateTransform,setSpanRotation:function(){var f=this.rotation,d=Math.cos(f*K),g=Math.sin(f*K);i(this.element,{filter:f?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",d,", M12\x3d",-g,", M21\x3d",g,", M22\x3d",d,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(r,q,p,f,g){var l=f?Math.cos(f*K):1,t=f?Math.sin(f*K):0,m=I(this.elemHeight,this.element.offsetHeight),u;this.xCorr=0>l&&-r;this.yCorr=0>t&&-m;u=0>l*t;this.xCorr+=t*q*(u?1-p:p);this.yCorr-=l*q*(f?u?p:1-p:1);g&&"left"!==g&&(this.xCorr-=r*p*(0>l?-1:1),f&&(this.yCorr-=m*p*(0>t?-1:1)),i(this.element,{textAlign:g}))},pathToVML:function(d){for(var c=d.length,f=[];c--;){D(d[c])?f[c]=Math.round(10*d[c])-5:"Z"===d[c]?f[c]="x":(f[c]=d[c],!d.isArc||"wa"!==d[c]&&"at"!==d[c]||(f[c+5]===f[c+7]&&(f[c+7]+=d[c+7]>d[c+5]?1:-1),f[c+6]===f[c+8]&&(f[c+8]+=d[c+8]>d[c+6]?1:-1)))}return f.join(" ")||"x"},clip:function(d){var c=this,f;d?(f=d.members,x(f,c),f.push(c),c.destroyClip=function(){x(f,c)},d=d.getCSS(c)):(c.destroyClip&&c.destroyClip(),d={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(d)},css:F.prototype.htmlCss,safeRemoveChild:function(b){b.parentNode&&L(b)},destroy:function(){this.destroyClip&&this.destroyClip();return F.prototype.destroy.apply(this)},on:function(d,c){this.element["on"+d]=function(){var b=e.event;b.target=b.srcElement;c(b)};return this},cutOffPath:function(d,c){var f;d=d.split(/[ ,]/);f=d.length;if(9===f||11===f){d[f-4]=d[f-2]=N(d[f-2])-10*c}return d.join(" ")},shadow:function(H,G,m){var B=[],u,C=this.element,Q=this.renderer,g,S=C.style,r,c=C.path,q,R,E,A;c&&"string"!==typeof c.value&&(c="x");R=c;if(H){E=I(H.width,3);A=(H.opacity||0.15)/E;for(u=1;3>=u;u++){q=2*E+1-2*u,m&&(R=this.cutOffPath(c.value,q+0.5)),r=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',q,'" filled\x3d"false" path\x3d"',R,'" coordsize\x3d"10 10" style\x3d"',C.style.cssText,'" /\x3e'],g=h(Q.prepVML(r),null,{left:N(S.left)+I(H.offsetX,1),top:N(S.top)+I(H.offsetY,1)}),m&&(g.cutOff=q+1),r=['\x3cstroke color\x3d"',H.color||"#000000",'" opacity\x3d"',A*u,'"/\x3e'],h(Q.prepVML(r),null,null,g),G?G.element.appendChild(g):C.parentNode.insertBefore(g,C),B.push(g)}this.shadows=B}return this},updateShadows:y,setAttr:function(d,c){this.docMode8?this.element[d]=c:this.element.setAttribute(d,c)},classSetter:function(b){(this.added?this.element:this).className=b},dashstyleSetter:function(f,d,g){(g.getElementsByTagName("stroke")[0]||h(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,g))[d]=f||"solid";this[d]=f},dSetter:function(f,d,l){var g=this.shadows;f=f||[];this.d=f.join&&f.join(" ");l.path=f=this.pathToVML(f);if(g){for(l=g.length;l--;){g[l].path=g[l].cutOff?this.cutOffPath(f,g[l].cutOff):f}}this.setAttr(d,f)},fillSetter:function(f,d,l){var g=l.nodeName;"SPAN"===g?l.style.color=f:"IMG"!==g&&(l.filled="none"!==f,this.setAttr("fillcolor",this.renderer.color(f,l,d,this)))},"fill-opacitySetter":function(f,d,g){h(this.renderer.prepVML(["\x3c",d.split("-")[0],' opacity\x3d"',f,'"/\x3e']),null,null,g)},opacitySetter:y,rotationSetter:function(f,d,g){g=g.style;this[d]=g[d]=f;g.left=-Math.round(Math.sin(f*K)+1)+"px";g.top=Math.round(Math.cos(f*K))+"px"},strokeSetter:function(f,d,g){this.setAttr("strokecolor",this.renderer.color(f,g,d,this))},"stroke-widthSetter":function(f,d,g){g.stroked=!!f;this[d]=f;D(f)&&(f+="px");this.setAttr("strokeweight",f)},titleSetter:function(d,c){this.setAttr(c,d)},visibilitySetter:function(f,d,g){"inherit"===f&&(f="visible");this.shadows&&J(this.shadows,function(b){b.style[d]=f});"DIV"===g.nodeName&&(f="hidden"===f?"-999em":0,this.docMode8||(g.style[d]=f?"visible":"hidden"),d="top");g.style[d]=f},xSetter:function(f,d,g){this[d]=f;"x"===d?d="left":"y"===d&&(d="top");this.updateClipping?(this[d]=f,this.updateClipping()):g.style[d]=f},zIndexSetter:function(f,d,g){g.style[d]=f}},y["stroke-opacitySetter"]=y["fill-opacitySetter"],P.VMLElement=y=w(F,y),y.prototype.ySetter=y.prototype.widthSetter=y.prototype.heightSetter=y.prototype.xSetter,y={Element:y,isIE8:-1<e.navigator.userAgent.indexOf("MSIE 8.0"),init:function(f,d,n){var l,g;this.alignedObjects=[];l=this.createElement("div").css({position:"relative"});g=l.element;f.appendChild(l.element);this.isVML=!0;this.box=g;this.boxWrapper=l;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,n,!1);if(!j.namespaces.hcv){j.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{j.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(m){j.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(g,f,q,p){var l=this.createElement(),d=s(g);return M(l,{members:[],count:0,left:(d?g.x:g)+1,top:(d?g.y:f)+1,width:(d?g.width:q)-1,height:(d?g.height:p)-1,getCSS:function(r){var m=r.element,B=m.nodeName,t=r.inverted,z=this.top-("shape"===B?m.offsetTop:0),u=this.left,m=u+this.width,A=z+this.height,z={clip:"rect("+Math.round(t?u:z)+"px,"+Math.round(t?A:m)+"px,"+Math.round(t?m:A)+"px,"+Math.round(t?z:u)+"px)"};!t&&r.docMode8&&"DIV"===B&&M(z,{width:m+"px",height:A+"px"});return z},updateClipping:function(){J(l.members,function(b){b.element&&b.css(l.getCSS(b))})}})},color:function(ar,aq,aj,ak){var ao=this,ap,S=/^rgba/,ai,ab,al="none";ar&&ar.linearGradient?ab="gradient":ar&&ar.radialGradient&&(ab="pattern");if(ab){var ac,V,R=ar.linearGradient||ar.radialGradient,an,aa,X,ag,am,Z="";ar=ar.stops;var ae,Y=[],ad=function(){ai=['\x3cfill colors\x3d"'+Y.join(",")+'" opacity\x3d"',X,'" o:opacity2\x3d"',aa,'" type\x3d"',ab,'" ',Z,'focus\x3d"100%" method\x3d"any" /\x3e'];h(ao.prepVML(ai),null,null,aq)};an=ar[0];ae=ar[ar.length-1];0<an[0]&&ar.unshift([0,an[1]]);1>ae[0]&&ar.push([1,ae[1]]);J(ar,function(d,c){S.test(d[1])?(ap=P.color(d[1]),ac=ap.get("rgb"),V=ap.get("a")):(ac=d[1],V=1);Y.push(100*d[0]+"% "+ac);c?(X=V,ag=ac):(aa=V,am=ac)});if("fill"===aj){if("gradient"===ab){aj=R.x1||R[0]||0,ar=R.y1||R[1]||0,an=R.x2||R[2]||0,R=R.y2||R[3]||0,Z='angle\x3d"'+(90-180*Math.atan((R-ar)/(an-aj))/Math.PI)+'"',ad()}else{var al=R.r,ah=2*al,af=2*al,W=R.cx,l=R.cy,Q=aq.radialReference,H,al=function(){Q&&(H=ak.getBBox(),W+=(Q[0]-H.x)/H.width-0.5,l+=(Q[1]-H.y)/H.height-0.5,ah*=Q[2]/H.width,af*=Q[2]/H.height);Z='src\x3d"'+P.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+ah+","+af+'" origin\x3d"0.5,0.5" position\x3d"'+W+","+l+'" color2\x3d"'+am+'" ';ad()};ak.added?al():ak.onAdd=al;al=ag}}else{al=ac}}else{S.test(ar)&&"IMG"!==aq.tagName?(ap=P.color(ar),ak[aj+"-opacitySetter"](ap.get("a"),aj,aq),al=ap.get("rgb")):(al=aq.getElementsByTagName(aj),al.length&&(al[0].opacity=1,al[0].type="solid"),al=ar)}return al},prepVML:function(d){var c=this.isIE8;d=d.join("");c?(d=d.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),d=-1===d.indexOf('style\x3d"')?d.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):d.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):d=d.replace("\x3c","\x3chcv:");return d},text:k.prototype.html,path:function(b){var d={coordsize:"10 10"};O(b)?d.d=b:s(b)&&M(d,b);return this.createElement("shape").attr(d)},circle:function(f,d,l){var g=this.symbol("circle");s(f)&&(l=f.r,d=f.y,f=f.x);g.isCircle=!0;g.r=l;return g.attr({x:f,y:d})},g:function(d){var c;d&&(c={className:"highcharts-"+d,"class":"highcharts-"+d});return this.createElement("div").attr(c)},image:function(f,d,p,m,g){var l=this.createElement("img").attr({src:f});1<arguments.length&&l.attr({x:d,y:p,width:m,height:g});return l},createElement:function(b){return"rect"===b?this.symbol(b):k.prototype.createElement.call(this,b)},invertChild:function(d,c){var f=this;c=c.style;var g="IMG"===d.tagName&&d.style;i(d,{flip:"x",left:N(c.width)-(g?N(g.top):1),top:N(c.height)-(g?N(g.left):1),rotation:-90});J(d.childNodes,function(l){f.invertChild(l,d)})},symbols:{arc:function(C,B,A,l,t){var u=t.start,q=t.end,z=t.r||A||l;A=t.innerR;l=Math.cos(u);var g=Math.sin(u),r=Math.cos(q),f=Math.sin(q);if(0===q-u){return["x"]}u=["wa",C-z,B-z,C+z,B+z,C+z*l,B+z*g,C+z*r,B+z*f];t.open&&!A&&u.push("e","M",C,B);u.push("at",C-A,B-A,C+A,B+A,C+A*r,B+A*f,C+A*l,B+A*g,"x","e");u.isArc=!0;return u},circle:function(f,d,m,l,g){g&&v(g.r)&&(m=l=2*g.r);g&&g.isCircle&&(f-=m/2,d-=l/2);return["wa",f,d,f+m,d+l,f+m,d+l/2,f+m,d+l/2,"e"]},rect:function(f,d,m,l,g){return k.prototype.symbols[v(g)&&g.r?"callout":"square"].call(0,f,d,m,l,g)}}},P.VMLRenderer=w=function(){this.init.apply(this,arguments)},w.prototype=o(k.prototype,y),P.Renderer=w);k.prototype.measureSpanWidth=function(f,d){var g=j.createElement("span");f=j.createTextNode(f);g.appendChild(f);i(g,d);this.box.appendChild(g);d=g.offsetWidth;L(g);return d}})(a);(function(i){function c(){var g=i.defaultOptions.global,m=k.moment;if(g.timezone){if(m){return function(f){return -m.tz(f,g.timezone).utcOffset()}}i.error(25)}return g.useUTC&&g.getTimezoneOffset}function d(){var g=i.defaultOptions.global,m,o=g.useUTC,f=o?"getUTC":"get",n=o?"setUTC":"set";i.Date=m=g.Date||k.Date;m.hcTimezoneOffset=o&&g.timezoneOffset;m.hcGetTimezoneOffset=c();m.hcMakeTime=function(t,r,q,w,v,u){var s;o?(s=m.UTC.apply(0,arguments),s+=b(s)):s=(new m(t,r,h(q,1),h(w,0),h(v,0),h(u,0))).getTime();return s};l("Minutes Hours Day Date Month FullYear".split(" "),function(p){m["hcGet"+p]=f+p});l("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(p){m["hcSet"+p]=n+p})}var j=i.color,l=i.each,b=i.getTZOffset,e=i.merge,h=i.pick,k=i.win;i.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.7/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:0.5,textAlign:"center"}},tooltip:{enabled:!0,animation:i.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:i.isTouchDevice?25:10,backgroundColor:j("#f7f7f7").setOpacity(0.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"}}};i.setOptions=function(f){i.defaultOptions=e(!0,i.defaultOptions,f);d();return i.defaultOptions};i.getOptions=function(){return i.defaultOptions};i.defaultPlotOptions=i.defaultOptions.plotOptions;d()})(a);(function(i){var c=i.arrayMax,d=i.arrayMin,j=i.defined,l=i.destroyObjectProperties,b=i.each,e=i.erase,h=i.merge,k=i.pick;i.PlotLineOrBand=function(g,m){this.axis=g;m&&(this.options=m,this.id=m.id)};i.PlotLineOrBand.prototype={render:function(){var U=this,G=U.axis,R=G.horiz,T=U.options,H=T.label,P=U.label,D=T.to,M=T.from,S=T.value,L=j(M)&&j(D),C=j(S),o=U.svgElem,Q=!o,v=[],B,A=T.color,O=k(T.zIndex,0),s=T.events,v={"class":"highcharts-plot-"+(L?"band ":"line ")+(T.className||"")},r={},f=G.chart.renderer,u=L?"bands":"lines",N=G.log2lin;G.isLog&&(M=N(M),D=N(D),S=N(S));C?(v={stroke:A,"stroke-width":T.width},T.dashStyle&&(v.dashstyle=T.dashStyle)):L&&(A&&(v.fill=A),T.borderWidth&&(v.stroke=T.borderColor,v["stroke-width"]=T.borderWidth));r.zIndex=O;u+="-"+O;(A=G[u])||(G[u]=A=f.g("plot-"+u).attr(r).add());Q&&(U.svgElem=o=f.path().attr(v).add(A));if(C){v=G.getPlotLinePath(S,o.strokeWidth())}else{if(L){v=G.getPlotBandPath(M,D,T)}else{return}}if(Q&&v&&v.length){if(o.attr({d:v}),s){for(B in T=function(g){o.on(g,function(m){s[g].apply(U,[m])})},s){T(B)}}}else{o&&(v?(o.show(),o.animate({d:v})):(o.hide(),P&&(U.label=P=P.destroy())))}H&&j(H.text)&&v&&v.length&&0<G.width&&0<G.height&&!v.flat?(H=h({align:R&&L&&"center",x:R?!L&&4:10,verticalAlign:!R&&L&&"middle",y:R?L?16:10:L?6:-4,rotation:R&&!L&&90},H),this.renderLabel(H,v,L,O)):P&&P.hide();return U},renderLabel:function(n,o,r,g){var q=this.label,m=this.axis.chart.renderer;q||(q={align:n.textAlign||n.align,rotation:n.rotation,"class":"highcharts-plot-"+(r?"band":"line")+"-label "+(n.className||"")},q.zIndex=g,this.label=q=m.text(n.text,0,0,n.useHTML).attr(q).add(),q.css(n.style));g=[o[1],o[4],r?o[6]:o[1]];o=[o[2],o[5],r?o[7]:o[2]];r=d(g);m=d(o);q.align(n,!1,{x:r,y:m,width:c(g)-r,height:c(o)-m});q.show()},destroy:function(){e(this.axis.plotLinesAndBands,this);delete this.axis;l(this)}};i.AxisPlotLineOrBandExtension={getPlotBandPath:function(g,m){m=this.getPlotLinePath(m,null,null,!0);(g=this.getPlotLinePath(g,null,null,!0))&&m?(g.flat=g.toString()===m.toString(),g.push(m[4],m[5],m[1],m[2],"z")):g=null;return g},addPlotBand:function(f){return this.addPlotBandOrLine(f,"plotBands")},addPlotLine:function(f){return this.addPlotBandOrLine(f,"plotLines")},addPlotBandOrLine:function(o,n){var p=(new i.PlotLineOrBand(this,o)).render(),m=this.userOptions;p&&(n&&(m[n]=m[n]||[],m[n].push(o)),this.plotLinesAndBands.push(p));return p},removePlotBandOrLine:function(m){for(var n=this.plotLinesAndBands,q=this.options,g=this.userOptions,o=n.length;o--;){n[o].id===m&&n[o].destroy()}b([q.plotLines||[],g.plotLines||[],q.plotBands||[],g.plotBands||[]],function(f){for(o=f.length;o--;){f[o].id===m&&e(f,f[o])}})}}})(a);(function(c){var k=c.correctFloat,b=c.defined,d=c.destroyObjectProperties,e=c.isNumber,i=c.merge,h=c.pick,j=c.deg2rad;c.Tick=function(l,n,m,o){this.axis=l;this.pos=n;this.type=m||"";this.isNew=!0;m||o||this.addLabel()};c.Tick.prototype={addLabel:function(){var y=this.axis,u=y.options,l=y.chart,v=y.categories,x=y.names,o=this.pos,g=u.labels,z=y.tickPositions,s=o===z[0],w=o===z[z.length-1],x=v?h(v[o],x[o],o):o,v=this.label,z=z.info,r;y.isDatetimeAxis&&z&&(r=u.dateTimeLabelFormats[z.higherRanks[o]||z.unitName]);this.isFirst=s;this.isLast=w;u=y.labelFormatter.call({axis:y,chart:l,isFirst:s,isLast:w,dateTimeLabelFormat:r,value:y.isLog?k(y.lin2log(x)):x});b(v)?v&&v.attr({text:u}):(this.labelLength=(this.label=v=b(u)&&g.enabled?l.renderer.text(u,0,0,g.useHTML).css(i(g.style)).add(y.labelGroup):null)&&v.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(F){var u=this.axis,g=F.x,w=u.chart.chartWidth,B=u.chart.spacing,o=h(u.labelLeft,Math.min(u.pos,B[3])),B=h(u.labelRight,Math.max(u.pos+u.len,w-B[1])),f=this.label,G=this.rotation,s={left:0,center:0.5,right:1}[u.labelAlign],A=f.getBBox().width,r=u.getSlotWidth(),H=r,y=1,v,D={};if(G){0>G&&g-s*A<o?v=Math.round(g/Math.cos(G*j)-o):0<G&&g+s*A>B&&(v=Math.round((w-g)/Math.cos(G*j)))}else{if(w=g+(1-s)*A,g-s*A<o?H=F.x+H*(1-s)-o:w>B&&(H=B-F.x+H*s,y=-1),H=Math.min(r,H),H<r&&"center"===u.labelAlign&&(F.x+=y*(r-H-s*(r-Math.min(A,H)))),A>H||u.autoRotation&&(f.styles||{}).width){v=H}}v&&(D.width=v,(u.options.labels.style||{}).textOverflow||(D.textOverflow="ellipsis"),f.css(D))},getPosition:function(o,r,q,t){var m=this.axis,s=m.chart,n=t&&s.oldChartHeight||s.chartHeight;return{x:o?m.translate(r+q,null,null,t)+m.transB:m.left+m.offset+(m.opposite?(t&&s.oldChartWidth||s.chartWidth)-m.right-m.left:0),y:o?n-m.bottom+m.offset-(m.opposite?m.height:0):n-m.translate(r+q,null,null,t)-m.transB}},getLabelPosition:function(B,u,l,w,A,o,f,D){var s=this.axis,y=s.transA,r=s.reversed,F=s.staggerLines,x=s.tickRotCorr||{x:0,y:0},v=A.y;b(v)||(v=0===s.side?l.rotation?-8:-l.getBBox().height:2===s.side?x.y+8:Math.cos(l.rotation*j)*(x.y-l.getBBox(!1,0).height/2));B=B+A.x+x.x-(o&&w?o*y*(r?-1:1):0);u=u+v-(o&&!w?o*y*(r?1:-1):0);F&&(l=f/(D||1)%F,s.opposite&&(l=F-l-1),u+=s.labelOffset/F*l);return{x:B,y:Math.round(u)}},getMarkPath:function(m,o,n,r,l,q){return q.crispLine(["M",m,o,"L",m+(l?0:-n),o+(l?n:0)],r)},render:function(ad,Y,R){var aa=this.axis,ac=aa.options,S=aa.chart.renderer,V=aa.horiz,M=this.type,U=this.label,ab=this.pos,T=ac.labels,L=this.gridLine,u=M?M+"Tick":"tick",Z=aa.tickSize(u),C=this.mark,H=!C,G=T.step,X={},A=!0,v=aa.tickmarkOffset,s=this.getPosition(V,ab,v,Y),B=s.x,s=s.y,W=V&&B===aa.pos+aa.len||!V&&s===aa.pos?-1:1,O=M?M+"Grid":"grid",g=ac[O+"LineWidth"],o=ac[O+"LineColor"],Q=ac[O+"LineDashStyle"],O=h(ac[u+"Width"],!M&&aa.isXAxis?1:0),u=ac[u+"Color"];R=h(R,1);this.isActive=!0;L||(X.stroke=o,X["stroke-width"]=g,Q&&(X.dashstyle=Q),M||(X.zIndex=1),Y&&(X.opacity=0),this.gridLine=L=S.path().attr(X).addClass("highcharts-"+(M?M+"-":"")+"grid-line").add(aa.gridGroup));if(!Y&&L&&(ab=aa.getPlotLinePath(ab+v,L.strokeWidth()*W,Y,!0))){L[this.isNew?"attr":"animate"]({d:ab,opacity:R})}Z&&(aa.opposite&&(Z[0]=-Z[0]),H&&(this.mark=C=S.path().addClass("highcharts-"+(M?M+"-":"")+"tick").add(aa.axisGroup),C.attr({stroke:u,"stroke-width":O})),C[H?"attr":"animate"]({d:this.getMarkPath(B,s,Z[0],C.strokeWidth()*W,V,S),opacity:R}));U&&e(B)&&(U.xy=s=this.getLabelPosition(B,s,U,V,T,v,ad,G),this.isFirst&&!this.isLast&&!h(ac.showFirstLabel,1)||this.isLast&&!this.isFirst&&!h(ac.showLastLabel,1)?A=!1:!V||aa.isRadial||T.step||T.rotation||Y||0===R||this.handleOverflow(s),G&&ad%G&&(A=!1),A&&e(s.y)?(s.opacity=R,U[this.isNew?"attr":"animate"](s)):U.attr("y",-9999),this.isNew=!1)},destroy:function(){d(this,this.axis)}}})(a);(function(ah){var T=ah.addEvent,V=ah.animObject,L=ah.arrayMax,M=ah.arrayMin,S=ah.AxisPlotLineOrBandExtension,ab=ah.color,ac=ah.correctFloat,O=ah.defaultOptions,Z=ah.defined,U=ah.deg2rad,ae=ah.destroyObjectProperties,ag=ah.each,W=ah.extend,R=ah.fireEvent,Q=ah.format,Y=ah.getMagnitude,af=ah.grep,X=ah.inArray,P=ah.isArray,j=ah.isNumber,ad=ah.isString,v=ah.merge,N=ah.normalizeTickInterval,D=ah.pick,aa=ah.PlotLineOrBand,o=ah.removeEvent,k=ah.splat,i=ah.syncTimeout,s=ah.Tick;ah.Axis=function(){this.init.apply(this,arguments)};ah.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:0.01,maxPadding:0.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:0.05,minPadding:0.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return ah.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(f,d){var g=d.isX;this.chart=f;this.horiz=f.inverted?!g:g;this.isXAxis=g;this.coll=this.coll||(g?"xAxis":"yAxis");this.opposite=d.opposite;this.side=d.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(d);var n=this.options,m=n.type;this.labelFormatter=n.labels.formatter||this.defaultLabelFormatter;this.userOptions=d;this.minPixelPadding=0;this.reversed=n.reversed;this.visible=!1!==n.visible;this.zoomEnabled=!1!==n.zoomEnabled;this.hasNames="category"===m||!0===n.categories;this.categories=n.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===m;this.isDatetimeAxis="datetime"===m;this.isLinked=Z(n.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=n.minRange||n.maxZoom;this.range=n.range;this.offset=n.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=D(n.crosshair,k(f.options.tooltip.crosshairs)[g?0:1],!1);var l;d=this.options.events;-1===X(this,f.axes)&&(g?f.axes.splice(f.xAxis.length,0,this):f.axes.push(this),f[this.coll].push(this));this.series=this.series||[];f.inverted&&g&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(l in d){T(this,l,d[l])}this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(b){this.options=v(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],v(O[this.coll],b))},defaultLabelFormatter:function(){var w=this.axis,u=this.value,r=w.categories,p=this.dateTimeLabelFormat,g=O.lang,t=g.numericSymbols,g=g.numericSymbolMagnitude||1000,x=t&&t.length,l,q=w.options.labels.format,w=w.isLog?u:w.tickInterval;if(q){l=Q(q,this)}else{if(r){l=u}else{if(p){l=ah.dateFormat(p,u)}else{if(x&&1000<=w){for(;x--&&void 0===l;){r=Math.pow(g,x+1),w>=r&&0===10*u%r&&null!==t[x]&&0!==u&&(l=ah.numberFormat(u/r,-1)+t[x])}}}}}void 0===l&&(l=10000<=Math.abs(u)?ah.numberFormat(u,-1):ah.numberFormat(u,-1,void 0,""));return l},getSeriesExtremes:function(){var b=this,c=b.chart;b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.buildStacks&&b.buildStacks();ag(b.series,function(d){if(d.visible||!c.options.chart.ignoreHiddenSeries){var e=d.options,f=e.threshold,g;b.hasVisibleSeries=!0;b.isLog&&0>=f&&(f=null);if(b.isXAxis){e=d.xData,e.length&&(d=M(e),j(d)||d instanceof Date||(e=af(e,function(h){return j(h)}),d=M(e)),b.dataMin=Math.min(D(b.dataMin,e[0]),d),b.dataMax=Math.max(D(b.dataMax,e[0]),L(e)))}else{if(d.getExtremes(),g=d.dataMax,d=d.dataMin,Z(d)&&Z(g)&&(b.dataMin=Math.min(D(b.dataMin,d),d),b.dataMax=Math.max(D(b.dataMax,g),g)),Z(f)&&(b.threshold=f),!e.softThreshold||b.isLog){b.softThreshold=!1}}}})},translate:function(z,y,x,u,r,l){var q=this.linkedParent||this,g=1,p=0,w=u?q.oldTransA:q.transA;u=u?q.oldMin:q.min;var t=q.minPixelPadding;r=(q.isOrdinal||q.isBroken||q.isLog&&r)&&q.lin2val;w||(w=q.transA);x&&(g*=-1,p=q.len);q.reversed&&(g*=-1,p-=g*(q.sector||q.len));y?(z=(z*g+p-t)/w+u,r&&(z=q.lin2val(z))):(r&&(z=q.val2lin(z)),z=g*(z-u)*w+p+g*t+(j(l)?w*l:0));return z},toPixels:function(d,c){return this.translate(d,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(d,c){return this.translate(d-(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(F,E,B,z,w){var u=this.chart,g=this.left,q=this.top,r,A,x=B&&u.oldChartHeight||u.chartHeight,l=B&&u.oldChartWidth||u.chartWidth,C;r=this.transB;var G=function(d,c,e){if(d<c||d>e){z?d=Math.min(Math.max(c,d),e):C=!0}return d};w=D(w,this.translate(F,null,null,B));F=B=Math.round(w+r);r=A=Math.round(x-w-r);j(w)?this.horiz?(r=q,A=x-this.bottom,F=B=G(F,g,g+this.width)):(F=g,B=l-this.right,r=A=G(r,q,q+this.height)):C=!0;return C&&!z?null:u.renderer.crispLine(["M",F,r,"L",B,A],E||1)},getLinearTickPositions:function(f,d,p){var g,n=ac(Math.floor(d/f)*f),l=ac(Math.ceil(p/f)*f),m=[];if(d===p&&j(d)){return[d]}for(d=n;d<=l;){m.push(d);d=ac(d+f);if(d===g){break}g=d}return m},getMinorTickPositions:function(){var g=this.options,f=this.tickPositions,r=this.minorTickInterval,p=[],l,q=this.pointRangePadding||0;l=this.min-q;var q=this.max+q,d=q-l;if(d&&d/r<this.len/3){if(this.isLog){for(q=f.length,l=1;l<q;l++){p=p.concat(this.getLogTickPositions(r,f[l-1],f[l],!0))}}else{if(this.isDatetimeAxis&&"auto"===g.minorTickInterval){p=p.concat(this.getTimeTicks(this.normalizeTimeTickInterval(r),l,q,g.startOfWeek))}else{for(f=l+(f[0]-l)%r;f<=q&&f!==p[0];f+=r){p.push(f)}}}}0!==p.length&&this.trimTicks(p,g.startOnTick,g.endOnTick);return p},adjustForMinRange:function(){var z=this.options,w=this.min,t=this.max,q,g=this.dataMax-this.dataMin>=this.minRange,l,A,u,r,b,x;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(Z(z.min)||Z(z.max)?this.minRange=null:(ag(this.series,function(c){r=c.xData;for(A=b=c.xIncrement?1:r.length-1;0<A;A--){if(u=r[A]-r[A-1],void 0===l||u<l){l=u}}}),this.minRange=Math.min(5*l,this.dataMax-this.dataMin)));t-w<this.minRange&&(x=this.minRange,q=(x-t+w)/2,q=[w-q,D(z.min,w-q)],g&&(q[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),w=L(q),t=[w+x,D(z.max,w+x)],g&&(t[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),t=M(t),t-w<x&&(q[0]=t-x,q[1]=D(z.min,t-x),w=L(q)));this.min=w;this.max=t},getClosest:function(){var b;this.categories?b=1:ag(this.series,function(d){var e=d.closestPointRange,f=d.visible||!d.chart.options.chart.ignoreHiddenSeries;!d.noSharedTooltip&&Z(e)&&f&&(b=Z(b)?Math.min(b,e):e)});return b},nameToX:function(f){var d=P(this.categories),g=d?this.categories:this.names,l=f.options.x,h;f.series.requireSorting=!1;Z(l)||(l=!1===this.options.uniqueNames?f.series.autoIncrement():X(f.name,g));-1===l?d||(h=g.length):h=l;this.names[h]=f.name;return h},updateNames:function(){var b=this;0<this.names.length&&(this.names.length=0,this.minRange=void 0,ag(this.series||[],function(c){c.xIncrement=null;if(!c.points||c.isDirtyData){c.processData(),c.generatePoints()}ag(c.points,function(d,g){var f;d.options&&(f=b.nameToX(d),f!==d.x&&(d.x=f,c.xData[g]=f))})}))},setAxisTranslation:function(z){var l=this,w=l.max-l.min,q=l.axisPointRange||0,e,g=0,u=0,r=l.linkedParent,x=!!l.categories,b=l.transA,A=l.isXAxis;if(A||x||q){e=l.getClosest(),r?(g=r.minPointOffset,u=r.pointRangePadding):ag(l.series,function(d){var c=x?1:A?D(d.options.pointRange,e,0):l.axisPointRange||0;d=d.options.pointPlacement;q=Math.max(q,c);l.single||(g=Math.max(g,ad(d)?0:c/2),u=Math.max(u,"on"===d?0:c))}),r=l.ordinalSlope&&e?l.ordinalSlope/e:1,l.minPointOffset=g*=r,l.pointRangePadding=u*=r,l.pointRange=Math.min(q,w),A&&(l.closestPointRange=e)}z&&(l.oldTransA=b);l.translationSlope=l.transA=b=l.len/(w+u||1);l.transB=l.horiz?l.left:l.bottom;l.minPixelPadding=b*g},minFromRange:function(){return this.max-this.range},setTickInterval:function(al){var aq=this,ao=aq.chart,am=aq.options,ak=aq.isLog,ap=aq.log2lin,z=aq.isDatetimeAxis,l=aq.isXAxis,aj=aq.isLinked,F=am.maxPadding,w=am.minPadding,an=am.tickInterval,C=am.tickPixelInterval,H=aq.categories,f=aq.threshold,b=aq.softThreshold,m,G,B,ai;z||H||aj||this.getTickAmount();B=D(aq.userMin,am.min);ai=D(aq.userMax,am.max);aj?(aq.linkedParent=ao[aq.coll][am.linkedTo],ao=aq.linkedParent.getExtremes(),aq.min=D(ao.min,ao.dataMin),aq.max=D(ao.max,ao.dataMax),am.type!==aq.linkedParent.options.type&&ah.error(11,1)):(!b&&Z(f)&&(aq.dataMin>=f?(m=f,w=0):aq.dataMax<=f&&(G=f,F=0)),aq.min=D(B,m,aq.dataMin),aq.max=D(ai,G,aq.dataMax));ak&&(!al&&0>=Math.min(aq.min,D(aq.dataMin,aq.min))&&ah.error(10,1),aq.min=ac(ap(aq.min),15),aq.max=ac(ap(aq.max),15));aq.range&&Z(aq.max)&&(aq.userMin=aq.min=B=Math.max(aq.min,aq.minFromRange()),aq.userMax=ai=aq.max,aq.range=null);R(aq,"foundExtremes");aq.beforePadding&&aq.beforePadding();aq.adjustForMinRange();!(H||aq.axisPointRange||aq.usePercentage||aj)&&Z(aq.min)&&Z(aq.max)&&(ap=aq.max-aq.min)&&(!Z(B)&&w&&(aq.min-=ap*w),!Z(ai)&&F&&(aq.max+=ap*F));j(am.floor)?aq.min=Math.max(aq.min,am.floor):j(am.softMin)&&(aq.min=Math.min(aq.min,am.softMin));j(am.ceiling)?aq.max=Math.min(aq.max,am.ceiling):j(am.softMax)&&(aq.max=Math.max(aq.max,am.softMax));b&&Z(aq.dataMin)&&(f=f||0,!Z(B)&&aq.min<f&&aq.dataMin>=f?aq.min=f:!Z(ai)&&aq.max>f&&aq.dataMax<=f&&(aq.max=f));aq.tickInterval=aq.min===aq.max||void 0===aq.min||void 0===aq.max?1:aj&&!an&&C===aq.linkedParent.options.tickPixelInterval?an=aq.linkedParent.tickInterval:D(an,this.tickAmount?(aq.max-aq.min)/Math.max(this.tickAmount-1,1):void 0,H?1:(aq.max-aq.min)*C/Math.max(aq.len,C));l&&!al&&ag(aq.series,function(c){c.processData(aq.min!==aq.oldMin||aq.max!==aq.oldMax)});aq.setAxisTranslation(!0);aq.beforeSetTickPositions&&aq.beforeSetTickPositions();aq.postProcessTickInterval&&(aq.tickInterval=aq.postProcessTickInterval(aq.tickInterval));aq.pointRange&&!an&&(aq.tickInterval=Math.max(aq.pointRange,aq.tickInterval));al=D(am.minTickInterval,aq.isDatetimeAxis&&aq.closestPointRange);!an&&aq.tickInterval<al&&(aq.tickInterval=al);z||ak||an||(aq.tickInterval=N(aq.tickInterval,null,Y(aq.tickInterval),D(am.allowDecimals,!(0.5<aq.tickInterval&&5>aq.tickInterval&&1000<aq.max&&9999>aq.max)),!!this.tickAmount));this.tickAmount||(aq.tickInterval=aq.unsquish());this.setTickPositions()},setTickPositions:function(){var g=this.options,f,r=g.tickPositions,p=g.tickPositioner,l=g.startOnTick,q=g.endOnTick,d;this.tickmarkOffset=this.categories&&"between"===g.tickmarkPlacement&&1===this.tickInterval?0.5:0;this.minorTickInterval="auto"===g.minorTickInterval&&this.tickInterval?this.tickInterval/5:g.minorTickInterval;this.tickPositions=f=r&&r.slice();!f&&(f=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,g.units),this.min,this.max,g.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),f.length>this.len&&(f=[f[0],f.pop()]),this.tickPositions=f,p&&(p=p.apply(this,[this.min,this.max])))&&(this.tickPositions=f=p);this.trimTicks(f,l,q);this.isLinked||(this.min===this.max&&Z(this.min)&&!this.tickAmount&&(d=!0,this.min-=0.5,this.max+=0.5),this.single=d,r||p||this.adjustTickAmount())},trimTicks:function(f,d,n){var g=f[0],m=f[f.length-1],l=this.minPointOffset||0;if(!this.isLinked){if(d){this.min=g}else{for(;this.min-l>f[0];){f.shift()}}if(n){this.max=m}else{for(;this.max+l<f[f.length-1];){f.pop()}}0===f.length&&Z(g)&&f.push((m+g)/2)}},alignToOthers:function(){var b={},f,d=this.options;!1===this.chart.options.chart.alignTicks||!1===d.alignTicks||this.isLog||ag(this.chart[this.coll],function(c){var e=c.options,e=[c.horiz?e.left:e.top,e.width,e.height,e.pane].join();c.series.length&&(b[e]?f=!0:b[e]=1)});return f},getTickAmount:function(){var e=this.options,d=e.tickAmount,f=e.tickPixelInterval;!Z(e.tickInterval)&&this.len<f&&!this.isRadial&&!this.isLog&&e.startOnTick&&e.endOnTick&&(d=2);!d&&this.alignToOthers()&&(d=Math.ceil(this.len/f)+1);4>d&&(this.finalTickAmt=d,d=5);this.tickAmount=d},adjustTickAmount:function(){var f=this.tickInterval,d=this.tickPositions,m=this.tickAmount,l=this.finalTickAmt,g=d&&d.length;if(g<m){for(;d.length<m;){d.push(ac(d[d.length-1]+f))}this.transA*=(g-1)/(m-1);this.max=d[d.length-1]}else{g>m&&(this.tickInterval*=2,this.setTickPositions())}if(Z(l)){for(f=m=d.length;f--;){(3===l&&1===f%2||2>=l&&0<f&&f<m-1)&&d.splice(f,1)}this.finalTickAmt=void 0}},setScale:function(){var b,d;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();d=this.len!==this.oldAxisLength;ag(this.series,function(c){if(c.isDirtyData||c.isDirty||c.xAxis.isDirty){b=!0}});d||b||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=d||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(d,q,l,g,p){var f=this,b=f.chart;l=D(l,!0);ag(f.series,function(c){delete c.kdTree});p=W(p,{min:d,max:q});R(f,"setExtremes",p,function(){f.userMin=d;f.userMax=q;f.eventArgs=p;l&&b.redraw(g)})},zoom:function(f,d){var n=this.dataMin,g=this.dataMax,m=this.options,l=Math.min(n,D(m.min,n)),m=Math.max(g,D(m.max,g));if(f!==this.min||d!==this.max){this.allowZoomOutside||(Z(n)&&(f<l&&(f=l),f>m&&(f=m)),Z(g)&&(d<l&&(d=l),d>m&&(d=m))),this.displayBtn=void 0!==f||void 0!==d,this.setExtremes(f,d,!1,void 0,{trigger:"zoom"})}return !0},setAxisSize:function(){var g=this.chart,f=this.options,r=f.offsets||[0,0,0,0],p=this.horiz,l=D(f.width,g.plotWidth-r[3]+r[1]),q=D(f.height,g.plotHeight-r[0]+r[2]),d=D(f.top,g.plotTop+r[0]),f=D(f.left,g.plotLeft+r[3]),r=/%$/;r.test(q)&&(q=Math.round(parseFloat(q)/100*g.plotHeight));r.test(d)&&(d=Math.round(parseFloat(d)/100*g.plotHeight+g.plotTop));this.left=f;this.top=d;this.width=l;this.height=q;this.bottom=g.chartHeight-q-d;this.right=g.chartWidth-l-f;this.len=Math.max(p?l:q,0);this.pos=p?f:d},getExtremes:function(){var d=this.isLog,c=this.lin2log;return{min:d?ac(c(this.min)):this.min,max:d?ac(c(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(e){var d=this.isLog,g=this.lin2log,f=d?g(this.min):this.min,d=d?g(this.max):this.max;null===e?e=f:f>e?e=f:d<e&&(e=d);return this.translate(e,0,1,0,1)},autoLabelAlign:function(b){b=(D(b,0)-90*this.side+720)%360;return 15<b&&165>b?"right":195<b&&345>b?"left":"center"},tickSize:function(e){var d=this.options,g=d[e+"Length"],f=D(d[e+"Width"],"tick"===e&&this.isXAxis?1:0);if(f&&g){return"inside"===d[e+"Position"]&&(g=-g),[g,f]}},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 C=this.options.labels,z=this.horiz,u=this.tickInterval,q=u,g=this.len/(((this.categories?1:0)+this.max-this.min)/u),l,w=C.rotation,r=this.labelMetrics(),b,A=Number.MAX_VALUE,E,B=function(c){c/=g||1;c=1<c?Math.ceil(c):1;return c*u};z?(E=!C.staggerLines&&!C.step&&(Z(w)?[w]:g<D(C.autoRotationLimit,80)&&C.autoRotation))&&ag(E,function(d){var c;if(d===w||d&&-90<=d&&90>=d){b=B(Math.abs(r.h/Math.sin(U*d))),c=b+Math.abs(d/360),c<A&&(A=c,l=d,q=b)}}):C.step||(q=B(r.h));this.autoRotation=E;this.labelRotation=D(l,w);return q},getSlotWidth:function(){var f=this.chart,d=this.horiz,m=this.options.labels,l=Math.max(this.tickPositions.length-(this.categories?0:1),1),g=f.margin[3];return d&&2>(m.step||0)&&!m.rotation&&(this.staggerLines||1)*this.len/l||!d&&(g&&g-f.spacing[3]||0.33*f.chartWidth)},renderUnsquish:function(){var F=this.chart,B=F.renderer,q=this.tickPositions,e=this.ticks,l=this.options.labels,x=this.horiz,H=this.getSlotWidth(),u=Math.max(1,Math.round(H-2*(l.padding||5))),b={},C=this.labelMetrics(),I=l.style&&l.style.textOverflow,r,A=0,J,G;ad(l.rotation)||(b.rotation=l.rotation||0);ag(q,function(c){(c=e[c])&&c.labelLength>A&&(A=c.labelLength)});this.maxLabelLength=A;if(this.autoRotation){A>u&&A>C.h?b.rotation=this.labelRotation:this.labelRotation=0}else{if(H&&(r={width:u+"px"},!I)){for(r.textOverflow="clip",J=q.length;!x&&J--;){if(G=q[J],u=e[G].label){u.styles&&"ellipsis"===u.styles.textOverflow?u.css({textOverflow:"clip"}):e[G].labelLength>H&&u.css({width:H+"px"}),u.getBBox().height>this.len/q.length-(C.h-C.f)&&(u.specCss={textOverflow:"ellipsis"})}}}}b.rotation&&(r={width:(A>0.5*F.chartHeight?0.33*F.chartHeight:F.chartHeight)+"px"},I||(r.textOverflow="ellipsis"));if(this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation)){b.align=this.labelAlign}ag(q,function(d){var c=(d=e[d])&&d.label;c&&(c.attr(b),r&&c.css(v(r,c.specCss)),delete c.specCss,d.rotation=b.rotation)});this.tickRotCorr=B.rotCorr(C.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||Z(this.min)&&Z(this.max)&&!!this.tickPositions},addTitle:function(f){var d=this.chart.renderer,n=this.horiz,g=this.opposite,m=this.options.title,l;this.axisTitle||((l=m.textAlign)||(l=(n?{low:"left",middle:"center",high:"right"}:{low:g?"right":"left",middle:"center",high:g?"left":"right"})[m.align]),this.axisTitle=d.text(m.text,0,0,m.useHTML).attr({zIndex:7,rotation:m.rotation||0,align:l}).addClass("highcharts-axis-title").css(m.style).add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[f?"show":"hide"](!0)},generateTick:function(d){var c=this.ticks;c[d]?c[d].addLabel():c[d]=new s(this,d)},getOffset:function(){var ay=this,ax=ay.chart,av=ax.renderer,ar=ay.options,ap=ay.tickPositions,aq=ay.ticks,aw=ay.horiz,au=ay.side,ao=ax.inverted?[1,0,3,2][au]:au,A,ak,G=0,at,l=0,aj=ar.title,an=ar.labels,ai=0,w=ax.axisOffset,ax=ax.clipOffset,b=[-1,1,1,-1][au],am,B=ar.className,al=ay.axisParent,H=this.tickSize("tick");A=ay.hasData();ay.showAxis=ak=A||D(ar.showEmpty,!0);ay.staggerLines=ay.horiz&&an.staggerLines;ay.axisGroup||(ay.gridGroup=av.g("grid").attr({zIndex:ar.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(B||"")).add(al),ay.axisGroup=av.g("axis").attr({zIndex:ar.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(B||"")).add(al),ay.labelGroup=av.g("axis-labels").attr({zIndex:an.zIndex||7}).addClass("highcharts-"+ay.coll.toLowerCase()+"-labels "+(B||"")).add(al));if(A||ay.isLinked){ag(ap,function(d,e){ay.generateTick(d,e)}),ay.renderUnsquish(),!1===an.reserveSpace||0!==au&&2!==au&&{1:"left",3:"right"}[au]!==ay.labelAlign&&"center"!==ay.labelAlign||ag(ap,function(c){ai=Math.max(aq[c].getLabelSize(),ai)}),ay.staggerLines&&(ai*=ay.staggerLines,ay.labelOffset=ai*(ay.opposite?-1:1))}else{for(am in aq){aq[am].destroy(),delete aq[am]}}aj&&aj.text&&!1!==aj.enabled&&(ay.addTitle(ak),ak&&(G=ay.axisTitle.getBBox()[aw?"height":"width"],at=aj.offset,l=Z(at)?0:D(aj.margin,aw?5:10)));ay.renderLine();ay.offset=b*D(ar.offset,w[au]);ay.tickRotCorr=ay.tickRotCorr||{x:0,y:0};av=0===au?-ay.labelMetrics().h:2===au?ay.tickRotCorr.y:0;l=Math.abs(ai)+l;ai&&(l=l-av+b*(aw?D(an.y,ay.tickRotCorr.y+8*b):an.x));ay.axisTitleMargin=D(at,l);w[au]=Math.max(w[au],ay.axisTitleMargin+G+b*ay.offset,l,A&&ap.length&&H?H[0]:0);ar=ar.offset?0:2*Math.floor(ay.axisLine.strokeWidth()/2);ax[ao]=Math.max(ax[ao],ar)},getLinePath:function(f){var d=this.chart,n=this.opposite,g=this.offset,m=this.horiz,l=this.left+(n?this.width:0)+g,g=d.chartHeight-this.bottom-(n?this.height:0)+g;n&&(f*=-1);return d.renderer.crispLine(["M",m?this.left:l,m?g:this.top,"L",m?d.chartWidth-this.right:l,m?g:d.chartHeight-this.bottom],f)},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 B=this.horiz,A=this.left,x=this.top,u=this.len,r=this.options.title,l=B?A:x,q=this.opposite,w=this.offset,t=r.x||0,g=r.y||0,z=this.chart.renderer.fontMetrics(r.style&&r.style.fontSize,this.axisTitle).f,u={low:l+(B?0:u),middle:l+u/2,high:l+(B?u:0)}[r.align],A=(B?x+this.height:A)+(B?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?z:0);return{x:B?u+t:A+(q?this.width:0)+w+t,y:B?A+g-(q?this.height:0)+w:u+g}},renderMinorTick:function(e){var d=this.chart.hasRendered&&j(this.oldMin),f=this.minorTicks;f[e]||(f[e]=new s(this,e,"minor"));d&&f[e].isNew&&f[e].render(null,!0);f[e].render(null,!1,1)},renderTick:function(f,d){var l=this.isLinked,h=this.ticks,g=this.chart.hasRendered&&j(this.oldMin);if(!l||f>=this.min&&f<=this.max){h[f]||(h[f]=new s(this,f)),g&&h[f].isNew&&h[f].render(d,!0,0.1),h[f].render(d)}},render:function(){var ao=this,an=ao.chart,al=ao.options,J=ao.isLog,K=ao.lin2log,am=ao.isLinked,A=ao.tickPositions,ak=ao.axisTitle,I=ao.ticks,h=ao.minorTicks,G=ao.alternateBands,r=al.stackLabels,b=al.alternateGridColor,aj=ao.tickmarkOffset,C=ao.axisLine,u=ao.showAxis,ai=V(an.renderer.globalAnimation),H,B;ao.labelEdge.length=0;ao.overlap=!1;ag([I,h,G],function(d){for(var c in d){d[c].isActive=!1}});if(ao.hasData()||am){ao.minorTickInterval&&!ao.categories&&ag(ao.getMinorTickPositions(),function(c){ao.renderMinorTick(c)}),A.length&&(ag(A,function(d,e){ao.renderTick(d,e)}),aj&&(0===ao.min||ao.single)&&(I[-1]||(I[-1]=new s(ao,-1,null,!0)),I[-1].render(-1))),b&&ag(A,function(c,d){B=void 0!==A[d+1]?A[d+1]+aj:ao.max-aj;0===d%2&&c<ao.max&&B<=ao.max+(an.polar?-aj:aj)&&(G[c]||(G[c]=new aa(ao)),H=c+aj,G[c].options={from:J?K(H):H,to:J?K(B):B,color:b},G[c].render(),G[c].isActive=!0)}),ao._addedPlotLB||(ag((al.plotLines||[]).concat(al.plotBands||[]),function(c){ao.addPlotBandOrLine(c)}),ao._addedPlotLB=!0)}ag([I,h,G],function(d){var c,l,g=[],f=ai.duration;for(c in d){d[c].isActive||(d[c].render(c,!1,0),d[c].isActive=!1,g.push(c))}i(function(){for(l=g.length;l--;){d[g[l]]&&!d[g[l]].isActive&&(d[g[l]].destroy(),delete d[g[l]])}},d!==G&&an.hasRendered&&f?f:0)});C&&(C[C.isPlaced?"animate":"attr"]({d:this.getLinePath(C.strokeWidth())}),C.isPlaced=!0,C[u?"show":"hide"](!0));ak&&u&&(ak[ak.isNew?"attr":"animate"](ao.getTitlePosition()),ak.isNew=!1);r&&r.enabled&&ao.renderStackTotals();ao.isDirty=!1},redraw:function(){this.visible&&(this.render(),ag(this.plotLinesAndBands,function(b){b.render()}));ag(this.series,function(b){b.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(d){var n=this,l=n.stacks,g,f=n.plotLinesAndBands,b;d||o(n);for(g in l){ae(l[g]),l[g]=null}ag([n.ticks,n.minorTicks,n.alternateBands],function(c){ae(c)});if(f){for(d=f.length;d--;){f[d].destroy()}}ag("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(c){n[c]&&(n[c]=n[c].destroy())});for(b in n){n.hasOwnProperty(b)&&-1===X(b,n.keepProps)&&delete n[b]}},drawCrosshair:function(f,d){var q,m=this.crosshair,l=D(m.snap,!0),g,p=this.cross;f||(f=this.cross&&this.cross.e);this.crosshair&&!1!==(Z(d)||!l)?(l?Z(d)&&(g=this.isXAxis?d.plotX:this.len-d.plotY):g=f&&(this.horiz?f.chartX-this.pos:this.len-f.chartY+this.pos),Z(g)&&(q=this.getPlotLinePath(d&&(this.isXAxis?d.x:D(d.stackY,d.y)),null,null,null,g)||null),Z(q)?(d=this.categories&&!this.isRadial,p||(this.cross=p=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(d?"category ":"thin ")+m.className).attr({zIndex:D(m.zIndex,2)}).add(),p.attr({stroke:m.color||(d?ab("#ccd6eb").setOpacity(0.25).get():"#cccccc"),"stroke-width":D(m.width,1)}),m.dashStyle&&p.attr({dashstyle:m.dashStyle})),p.show().attr({d:q}),d&&!m.width&&p.attr({"stroke-width":this.transA}),this.cross.e=f):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}};W(ah.Axis.prototype,S)})(a);(function(p){var h=p.Axis,i=p.Date,s=p.dateFormat,v=p.defaultOptions,c=p.defined,k=p.each,m=p.extend,t=p.getMagnitude,j=p.getTZOffset,e=p.normalizeTickInterval,n=p.pick,o=p.timeUnits;h.prototype.getTimeTicks=function(E,b,I,g){var u=[],f={},d=v.global.useUTC,A,r=new i(b-j(b)),D=i.hcMakeTime,H=E.unitRange,G=E.count,l;if(c(b)){r[i.hcSetMilliseconds](H>=o.second?0:G*Math.floor(r.getMilliseconds()/G));if(H>=o.second){r[i.hcSetSeconds](H>=o.minute?0:G*Math.floor(r.getSeconds()/G))}if(H>=o.minute){r[i.hcSetMinutes](H>=o.hour?0:G*Math.floor(r[i.hcGetMinutes]()/G))}if(H>=o.hour){r[i.hcSetHours](H>=o.day?0:G*Math.floor(r[i.hcGetHours]()/G))}if(H>=o.day){r[i.hcSetDate](H>=o.month?1:G*Math.floor(r[i.hcGetDate]()/G))}H>=o.month&&(r[i.hcSetMonth](H>=o.year?0:G*Math.floor(r[i.hcGetMonth]()/G)),A=r[i.hcGetFullYear]());if(H>=o.year){r[i.hcSetFullYear](A-A%G)}if(H===o.week){r[i.hcSetDate](r[i.hcGetDate]()-r[i.hcGetDay]()+n(g,1))}A=r[i.hcGetFullYear]();g=r[i.hcGetMonth]();var B=r[i.hcGetDate](),C=r[i.hcGetHours]();if(i.hcTimezoneOffset||i.hcGetTimezoneOffset){l=(!d||!!i.hcGetTimezoneOffset)&&(I-b>4*o.month||j(b)!==j(I)),r=r.getTime(),r=new i(r+j(r))}d=r.getTime();for(b=1;d<I;){u.push(d),d=H===o.year?D(A+b*G,0):H===o.month?D(A,g+b*G):!l||H!==o.day&&H!==o.week?l&&H===o.hour?D(A,g,B,C+b*G):d+H*G:D(A,g,B+b*G*(H===o.day?1:7)),b++}u.push(d);H<=o.hour&&10000>u.length&&k(u,function(q){0===q%1800000&&"000000000"===s("%H%M%S%L",q)&&(f[q]="day")})}u.info=m(E,{higherRanks:f,totalRange:H*G});return u};h.prototype.normalizeTimeTickInterval=function(g,q){var l=q||[["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]];q=l[l.length-1];var b=o[q[0]],u=q[1],r;for(r=0;r<l.length&&!(q=l[r],b=o[q[0]],u=q[1],l[r+1]&&g<=(b*u[u.length-1]+o[l[r+1][0]])/2);r++){}b===o.year&&g<5*b&&(u=[1,2,5]);g=e(g/b,u,"year"===q[0]?Math.max(t(g/b),1):1);return{unitRange:b,count:g,unitName:q[0]}}})(a);(function(c){var g=c.Axis,b=c.getMagnitude,d=c.map,e=c.normalizeTickInterval,f=c.pick;g.prototype.getLogTickPositions=function(x,r,y,o){var q=this.options,s=this.len,w=this.lin2log,i=this.log2lin,h=[];o||(this._minorAutoInterval=null);if(0.5<=x){x=Math.round(x),h=this.getLinearTickPositions(x,r,y)}else{if(0.08<=x){for(var s=Math.floor(r),z,k,v,j,A,q=0.3<x?[1,2,4]:0.15<x?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];s<y+1&&!A;s++){for(k=q.length,z=0;z<k&&!A;z++){v=i(w(s)*q[z]),v>r&&(!o||j<=y)&&void 0!==j&&h.push(j),j>y&&(A=!0),j=v}}}else{r=w(r),y=w(y),x=q[o?"minorTickInterval":"tickInterval"],x=f("auto"===x?null:x,this._minorAutoInterval,q.tickPixelInterval/(o?5:1)*(y-r)/((o?s/this.tickPositions.length:s)||1)),x=e(x,null,b(x)),h=d(this.getLinearTickPositions(x,r,y),i),o||(this._minorAutoInterval=x/5)}}o||(this.tickInterval=x);return h};g.prototype.log2lin=function(h){return Math.log(h)/Math.LN10};g.prototype.lin2log=function(h){return Math.pow(10,h)}})(a);(function(n){var e=n.dateFormat,h=n.each,o=n.extend,s=n.format,b=n.isNumber,j=n.map,k=n.merge,p=n.pick,i=n.splat,c=n.syncTimeout,m=n.timeUnits;n.Tooltip=function(){this.init.apply(this,arguments)};n.Tooltip.prototype={init:function(f,g){this.chart=f;this.options=g;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=g.split&&!f.inverted;this.shared=g.shared||this.split},cleanSplit:function(d){h(this.chart.series,function(f){var g=f&&f.tt;g&&(!g.isActive||d?f.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var f=this.chart.renderer,g=this.options;this.label||(this.split?this.label=f.g("tooltip"):(this.label=f.label("",0,0,g.shape||"callout",null,null,g.useHTML,null,"tooltip").attr({padding:g.padding,r:g.borderRadius}),this.label.attr({fill:g.backgroundColor,"stroke-width":g.borderWidth}).css(g.style).shadow(g.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(d){this.destroy();this.init(this.chart,k(!0,this.options,d))},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(l,v,r,q){var g=this,x=g.now,w=!1!==g.options.animation&&!g.isHidden&&(1<Math.abs(l-x.x)||1<Math.abs(v-x.y)),u=g.followPointer||1<g.len;o(x,{x:w?(2*x.x+l)/3:l,y:w?(x.y+v)/2:v,anchorX:u?void 0:w?(2*x.anchorX+r)/3:r,anchorY:u?void 0:w?(x.anchorY+q)/2:q});g.getLabel().attr(x);w&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){g&&g.move(l,v,r,q)},32))},hide:function(f){var d=this;clearTimeout(this.hideTimer);f=p(f,this.options.hideDelay,500);this.isHidden||(this.hideTimer=c(function(){d.getLabel()[f?"fadeOut":"hide"]();d.isHidden=!0},f))},getAnchor:function(B,u){var y,r=this.chart,q=r.inverted,w=r.plotTop,l=r.plotLeft,g=0,v=0,t,A;B=i(B);y=B[0].tooltipPos;this.followPointer&&u&&(void 0===u.chartX&&(u=r.pointer.normalize(u)),y=[u.chartX-r.plotLeft,u.chartY-w]);y||(h(B,function(d){t=d.series.yAxis;A=d.series.xAxis;g+=d.plotX+(!q&&A?A.left-l:0);v+=(d.plotLow?(d.plotLow+d.plotHigh)/2:d.plotY)+(!q&&t?t.top-w:0)}),g/=B.length,v/=B.length,y=[q?r.plotWidth-v:g,this.shared&&!q&&1<B.length&&u?u.chartY-w:q?r.plotHeight-g:v]);return j(y,Math.round)},getPosition:function(H,B,v){var F=this.chart,r=this.distance,D={},q=v.h||0,l,C=["y",F.chartHeight,B,v.plotY+F.plotTop,F.plotTop,F.plotTop+F.plotHeight],A=["x",F.chartWidth,H,v.plotX+F.plotLeft,F.plotLeft,F.plotLeft+F.plotWidth],G=!this.followPointer&&p(v.ttBelow,!F.inverted===!!v.negative),u=function(N,M,J,x,K,z){var w=J<x-r,L=x+r+J<M,g=x-r-J;x+=r;if(G&&L){D[N]=x}else{if(!G&&w){D[N]=g}else{if(w){D[N]=Math.min(z-J,0>g-q?g:g-q)}else{if(L){D[N]=Math.max(K,x+q+J>M?x:x+q)}else{return !1}}}}},I=function(f,d,x,w){var g;w<r||w>d-r?g=!1:D[f]=w<x/2?1:w>d-x/2?d-x-2:w-x/2;return g},t=function(f){var d=C;C=A;A=d;l=f},E=function(){!1!==u.apply(0,C)?!1!==I.apply(0,A)||l||(t(!0),E()):l?D.x=D.y=0:(t(!0),E())};(F.inverted||1<this.len)&&t();E();return D},defaultFormatter:function(g){var f=this.points||i(this),l;l=[g.tooltipFooterHeaderFormatter(f[0])];l=l.concat(g.bodyFormatter(f));l.push(g.tooltipFooterHeaderFormatter(f[0],!0));return l},refresh:function(y,u){var x=this.chart,r,q=this.options,w,l,g={},v=[];r=q.formatter||this.defaultFormatter;var g=x.hoverPoints,t=this.shared;clearTimeout(this.hideTimer);this.followPointer=i(y)[0].series.tooltipOptions.followPointer;l=this.getAnchor(y,u);u=l[0];w=l[1];!t||y.series&&y.series.noSharedTooltip?g=y.getLabelConfig():(x.hoverPoints=y,g&&h(g,function(d){d.setState()}),h(y,function(d){d.setState("hover");v.push(d.getLabelConfig())}),g={x:y[0].category,y:y[0].y},g.points=v,y=y[0]);this.len=v.length;g=r.call(g,this);t=y.series;this.distance=p(t.tooltipOptions.distance,16);!1===g?this.hide():(r=this.getLabel(),this.isHidden&&r.attr({opacity:1}).show(),this.split?this.renderSplit(g,x.hoverPoints):(r.attr({text:g&&g.join?g.join(""):g}),r.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+p(y.colorIndex,t.colorIndex)),r.attr({stroke:q.borderColor||y.color||t.color||"#666666"}),this.updatePosition({plotX:u,plotY:w,negative:y.negative,ttBelow:y.ttBelow,h:l[2]||0})),this.isHidden=!1)},renderSplit:function(A,w){var u=this,l=[],r=this.chart,y=r.renderer,q=!0,t=this.options,x,v=this.getLabel();h(A.slice(0,w.length+1),function(g,f){f=w[f-1]||{isHeader:!0,plotX:w[0].plotX};var d=f.series||u,B=d.tt,C=f.series||{},z="highcharts-color-"+p(f.colorIndex,C.colorIndex,"none");B||(d.tt=B=y.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+z).attr({padding:t.padding,r:t.borderRadius,fill:t.backgroundColor,stroke:f.color||C.color||"#333333","stroke-width":t.borderWidth}).add(v));B.isActive=!0;B.attr({text:g});B.css(t.style);g=B.getBBox();C=g.width+B.strokeWidth();f.isHeader?(x=g.height,C=Math.max(0,Math.min(f.plotX+r.plotLeft-C/2,r.chartWidth-C))):C=f.plotX+r.plotLeft-p(t.distance,16)-C;0>C&&(q=!1);g=(f.series&&f.series.yAxis&&f.series.yAxis.pos)+(f.plotY||0);g-=r.plotTop;l.push({target:f.isHeader?r.plotHeight+x:g,rank:f.isHeader?1:0,size:d.tt.getBBox().height+1,point:f,x:C,tt:B})});this.cleanSplit();n.distribute(l,r.plotHeight+x);h(l,function(f){var d=f.point,g=d.series;f.tt.attr({visibility:void 0===f.pos?"hidden":"inherit",x:q||d.isHeader?f.x:d.plotX+r.plotLeft+p(t.distance,16),y:f.pos+r.plotTop,anchorX:d.isHeader?d.plotX+r.plotLeft:d.plotX+g.xAxis.pos,anchorY:d.isHeader?f.pos+r.plotTop-15:d.plotY+g.yAxis.pos})})},updatePosition:function(g){var f=this.chart,l=this.getLabel(),l=(this.options.positioner||this.getPosition).call(this,l.width,l.height,g);this.move(Math.round(l.x),Math.round(l.y||0),g.plotX+f.plotLeft,g.plotY+f.plotTop)},getDateFormat:function(x,r,q,y){var w=e("%m-%d %H:%M:%S.%L",r),v,l,d={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(l in m){if(x===m.week&&+e("%w",r)===q&&"00:00:00.000"===w.substr(6)){l="week";break}if(m[l]>x){l=u;break}if(d[l]&&w.substr(d[l])!=="01-01 00:00:00.000".substr(d[l])){break}"week"!==l&&(u=l)}l&&(v=y[l]);return v},getXDateFormat:function(l,r,q){r=r.dateTimeLabelFormats;var g=q&&q.closestPointRange;return(g?this.getDateFormat(g,l.x,q.options.startOfWeek,r):r.day)||r.year},tooltipFooterHeaderFormatter:function(q,t){var l=t?"footer":"header";t=q.series;var r=t.tooltipOptions,g=r.xDateFormat,v=t.xAxis,u=v&&"datetime"===v.options.type&&b(q.key),l=r[l+"Format"];u&&!g&&(g=this.getXDateFormat(q,r,v));u&&g&&(l=l.replace("{point.key}","{point.key:"+g+"}"));return s(l,{point:q,series:t})},bodyFormatter:function(d){return j(d,function(g){var f=g.series.tooltipOptions;return(f.pointFormatter||g.point.tooltipFormatter).call(g.point,f.pointFormat)})}}})(a);(function(y){var j=y.addEvent,k=y.attr,z=y.charts,E=y.color,c=y.css,s=y.defined,v=y.doc,D=y.each,o=y.extend,h=y.fireEvent,w=y.offset,x=y.pick,i=y.removeEvent,e=y.splat,F=y.Tooltip,n=y.win;y.Pointer=function(f,d){this.init(f,d)};y.Pointer.prototype={init:function(b,f){this.options=f;this.chart=b;this.runChartClick=f.chart.events&&!!f.chart.events.click;this.pinchDown=[];this.lastValidTouch={};F&&f.tooltip.enabled&&(b.tooltip=new F(b,f.tooltip),this.followTouchMove=x(f.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(f){var l=this.chart,g=l.options.chart,b=g.zoomType||"",l=l.inverted;/touch/.test(f.type)&&(b=x(g.pinchType,b));this.zoomX=f=/x/.test(b);this.zoomY=b=/y/.test(b);this.zoomHor=f&&!l||b&&l;this.zoomVert=b&&!l||f&&l;this.hasZoom=f||b},normalize:function(f,d){var l,g;f=f||n.event;f.target||(f.target=f.srcElement);g=f.touches?f.touches.length?f.touches.item(0):f.changedTouches[0]:f;d||(this.chartPosition=d=w(this.chart.container));void 0===g.pageX?(l=Math.max(f.x,f.clientX-d.left),d=f.y):(l=g.pageX-d.left,d=g.pageY-d.top);return o(f,{chartX:Math.round(l),chartY:Math.round(d)})},getCoordinates:function(f){var d={xAxis:[],yAxis:[]};D(this.chart.axes,function(b){d[b.isXAxis?"xAxis":"yAxis"].push({axis:b,value:b.toValue(f[b.horiz?"chartX":"chartY"])})});return d},runPointActions:function(J){var I=this.chart,A=I.series,u=I.tooltip,H=u?u.shared:!1,G=!0,M=I.hoverPoint,L=I.hoverSeries,C,K,B,f=[],b;if(!H&&!L){for(C=0;C<A.length;C++){if(A[C].directTouch||!A[C].options.stickyTracking){A=[]}}}L&&(H?L.noSharedTooltip:L.directTouch)&&M?f=[M]:(H||!L||L.options.stickyTracking||(A=[L]),D(A,function(d){K=d.noSharedTooltip&&H;B=!H&&d.directTouch;d.visible&&!K&&!B&&x(d.options.enableMouseTracking,!0)&&(b=d.searchPoint(J,!K&&1===d.kdDimensions))&&b.series&&f.push(b)}),f.sort(function(g,d){var p=g.distX-d.distX,m=g.dist-d.dist,l=(d.series.group&&d.series.group.zIndex)-(g.series.group&&g.series.group.zIndex);return 0!==p&&H?p:0!==m?m:0!==l?l:g.series.index>d.series.index?-1:1}));if(H){for(C=f.length;C--;){(f[C].x!==f[0].x||f[C].series.noSharedTooltip)&&f.splice(C,1)}}if(f[0]&&(f[0]!==this.prevKDPoint||u&&u.isHidden)){if(H&&!f[0].series.noSharedTooltip){for(C=0;C<f.length;C++){f[C].onMouseOver(J,f[C]!==(L&&L.directTouch&&M||f[0]))}f.length&&u&&u.refresh(f.sort(function(g,d){return g.series.index-d.series.index}),J)}else{if(u&&u.refresh(f[0],J),!L||!L.directTouch){f[0].onMouseOver(J)}}this.prevKDPoint=f[0];G=!1}G&&(A=L&&L.tooltipOptions.followPointer,u&&A&&!u.isHidden&&(A=u.getAnchor([{}],J),u.updatePosition({plotX:A[0],plotY:A[1]})));this.unDocMouseMove||(this.unDocMouseMove=j(v,"mousemove",function(d){if(z[y.hoverChartIndex]){z[y.hoverChartIndex].pointer.onDocumentMouseMove(d)}}));D(H?f:[x(M,f[0])],function(d){D(I.axes,function(g){(!d||d.series&&d.series[g.coll]===g)&&g.drawCrosshair(J,d)})})},reset:function(p,l){var A=this.chart,t=A.hoverSeries,r=A.hoverPoint,u=A.hoverPoints,g=A.tooltip,q=g&&g.shared?u:r;p&&q&&D(e(q),function(d){d.series.isCartesian&&void 0===d.plotX&&(p=!1)});if(p){g&&q&&(g.refresh(q),r&&(r.setState(r.state,!0),D(A.axes,function(b){b.crosshair&&b.drawCrosshair(null,r)})))}else{if(r){r.onMouseOut()}u&&D(u,function(b){b.setState()});if(t){t.onMouseOut()}g&&g.hide(l);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());D(A.axes,function(b){b.hideCrosshair()});this.hoverX=this.prevKDPoint=A.hoverPoints=A.hoverPoint=null}},scaleGroups:function(g,f){var m=this.chart,l;D(m.series,function(b){l=g||b.getPlotBox();b.xAxis&&b.xAxis.zoomEnabled&&b.group&&(b.group.attr(l),b.markerGroup&&(b.markerGroup.attr(l),b.markerGroup.clip(f?m.clipRect:null)),b.dataLabelsGroup&&b.dataLabelsGroup.attr(l))});m.clipRect.attr(f||m.clipBox)},dragStart:function(f){var d=this.chart;d.mouseIsDown=f.type;d.cancelClick=!1;d.mouseDownX=this.mouseDownX=f.chartX;d.mouseDownY=this.mouseDownY=f.chartY},drag:function(Q){var P=this.chart,N=P.options.chart,M=Q.chartX,L=Q.chartY,C=this.zoomHor,K=this.zoomVert,B=P.plotLeft,I=P.plotTop,O=P.plotWidth,J=P.plotHeight,R,A=this.selectionMarker,H=this.mouseDownX,G=this.mouseDownY,u=N.panKey&&Q[N.panKey+"Key"];A&&A.touch||(M<B?M=B:M>B+O&&(M=B+O),L<I?L=I:L>I+J&&(L=I+J),this.hasDragged=Math.sqrt(Math.pow(H-M,2)+Math.pow(G-L,2)),10<this.hasDragged&&(R=P.isInsidePlot(H-B,G-I),P.hasCartesianSeries&&(this.zoomX||this.zoomY)&&R&&!u&&!A&&(this.selectionMarker=A=P.renderer.rect(B,I,C?1:O,K?1:J,0).attr({fill:N.selectionMarkerFill||E("#335cad").setOpacity(0.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),A&&C&&(M-=H,A.attr({width:Math.abs(M),x:(0<M?0:M)+H})),A&&K&&(M=L-G,A.attr({height:Math.abs(M),y:(0<M?0:M)+G})),R&&!A&&N.panning&&P.pan(Q,N.panning)))},drop:function(H){var G=this,B=this.chart,A=this.hasPinched;if(this.selectionMarker){var u={originalEvent:H,xAxis:[],yAxis:[]},l=this.selectionMarker,r=l.attr?l.attr("x"):l.x,g=l.attr?l.attr("y"):l.y,q=l.attr?l.attr("width"):l.width,C=l.attr?l.attr("height"):l.height,I;if(this.hasDragged||A){D(B.axes,function(p){if(p.zoomEnabled&&s(p.min)&&(A||G[{xAxis:"zoomX",yAxis:"zoomY"}[p.coll]])){var b=p.horiz,d="touchend"===H.type?p.minPixelPadding:0,f=p.toValue((b?r:g)+d),b=p.toValue((b?r+q:g+C)-d);u[p.coll].push({axis:p,min:Math.min(f,b),max:Math.max(f,b)});I=!0}}),I&&h(B,"selection",u,function(b){B.zoom(o(b,A?{animation:!1}:null))})}this.selectionMarker=this.selectionMarker.destroy();A&&this.scaleGroups()}B&&(c(B.container,{cursor:B._cursor}),B.cancelClick=10<this.hasDragged,B.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(b){b=this.normalize(b);this.zoomOption(b);b.preventDefault&&b.preventDefault();this.dragStart(b)},onDocumentMouseUp:function(d){z[y.hoverChartIndex]&&z[y.hoverChartIndex].pointer.drop(d)},onDocumentMouseMove:function(f){var d=this.chart,g=this.chartPosition;f=this.normalize(f,g);!g||this.inClass(f.target,"highcharts-tracker")||d.isInsidePlot(f.chartX-d.plotLeft,f.chartY-d.plotTop)||this.reset()},onContainerMouseLeave:function(d){var f=z[y.hoverChartIndex];f&&(d.relatedTarget||d.toElement)&&(f.pointer.reset(),f.pointer.chartPosition=null)},onContainerMouseMove:function(d){var f=this.chart;s(y.hoverChartIndex)&&z[y.hoverChartIndex]&&z[y.hoverChartIndex].mouseIsDown||(y.hoverChartIndex=f.index);d=this.normalize(d);d.returnValue=!1;"mousedown"===f.mouseIsDown&&this.drag(d);!this.inClass(d.target,"highcharts-tracker")&&!f.isInsidePlot(d.chartX-f.plotLeft,d.chartY-f.plotTop)||f.openMenu||this.runPointActions(d)},inClass:function(f,d){for(var g;f;){if(g=k(f,"class")){if(-1!==g.indexOf(d)){return !0}if(-1!==g.indexOf("highcharts-container")){return !1}}f=f.parentNode}},onTrackerMouseOut:function(f){var d=this.chart.hoverSeries;f=f.relatedTarget||f.toElement;if(!(!d||!f||d.options.stickyTracking||this.inClass(f,"highcharts-tooltip")||this.inClass(f,"highcharts-series-"+d.index)&&this.inClass(f,"highcharts-tracker"))){d.onMouseOut()}},onContainerClick:function(g){var f=this.chart,p=f.hoverPoint,m=f.plotLeft,l=f.plotTop;g=this.normalize(g);f.cancelClick||(p&&this.inClass(g.target,"highcharts-tracker")?(h(p.series,"click",o(g,{point:p})),f.hoverPoint&&p.firePointEvent("click",g)):(o(g,this.getCoordinates(g)),f.isInsidePlot(g.chartX-m,g.chartY-l)&&h(f,"click",g)))},setDOMEvents:function(){var f=this,g=f.chart.container;g.onmousedown=function(b){f.onContainerMouseDown(b)};g.onmousemove=function(b){f.onContainerMouseMove(b)};g.onclick=function(b){f.onContainerClick(b)};j(g,"mouseleave",f.onContainerMouseLeave);1===y.chartCount&&j(v,"mouseup",f.onDocumentMouseUp);y.hasTouch&&(g.ontouchstart=function(b){f.onContainerTouchStart(b)},g.ontouchmove=function(b){f.onContainerTouchMove(b)},1===y.chartCount&&j(v,"touchend",f.onDocumentTouchEnd))},destroy:function(){var d;i(this.chart.container,"mouseleave",this.onContainerMouseLeave);y.chartCount||(i(v,"mouseup",this.onDocumentMouseUp),i(v,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(d in this){this[d]=null}}}})(a);(function(c){var i=c.charts,b=c.each,d=c.extend,e=c.map,h=c.noop,f=c.pick;d(c.Pointer.prototype,{pinchTranslate:function(m,n,k,o,p,j){this.zoomHor&&this.pinchTranslateDirection(!0,m,n,k,o,p,j);this.zoomVert&&this.pinchTranslateDirection(!1,m,n,k,o,p,j)},pinchTranslateDirection:function(Y,S,P,L,V,X,M,K){var T=this.chart,O=Y?"x":"y",W=Y?"X":"Y",N="chart"+W,G=Y?"width":"height",j=T["plot"+(Y?"Left":"Top")],U,v,C=K||1,A=T.inverted,R=T.bounds[Y?"h":"v"],s=1===S.length,o=S[0][N],B=P[0][N],t=!s&&S[1][N],Q=!s&&P[1][N],H;P=function(){!s&&20<Math.abs(o-t)&&(C=K||Math.abs(B-Q)/Math.abs(o-t));v=(j-B)/C+o;U=T["plot"+(Y?"Width":"Height")]/C};P();S=v;S<R.min?(S=R.min,H=!0):S+U>R.max&&(S=R.max-U,H=!0);H?(B-=0.8*(B-M[O][0]),s||(Q-=0.8*(Q-M[O][1])),P()):M[O]=[B,Q];A||(X[O]=v-j,X[G]=U);X=A?1/C:C;V[G]=U;V[O]=S;L[A?Y?"scaleY":"scaleX":"scale"+W]=C;L["translate"+W]=X*j+(B-X*o)},pinch:function(y){var u=this,s=u.chart,j=u.pinchDown,v=y.touches,x=v.length,k=u.lastValidTouch,g=u.hasZoom,z=u.selectionMarker,r={},w=1===x&&(u.inClass(y.target,"highcharts-tracker")&&s.runTrackerClick||u.runChartClick),o={};1<x&&(u.initiated=!0);g&&u.initiated&&!w&&y.preventDefault();e(v,function(l){return u.normalize(l)});"touchstart"===y.type?(b(v,function(m,l){j[l]={chartX:m.chartX,chartY:m.chartY}}),k.x=[j[0].chartX,j[1]&&j[1].chartX],k.y=[j[0].chartY,j[1]&&j[1].chartY],b(s.axes,function(p){if(p.zoomEnabled){var n=s.bounds[p.horiz?"h":"v"],A=p.minPixelPadding,t=p.toPixels(f(p.options.min,p.dataMin)),l=p.toPixels(f(p.options.max,p.dataMax)),q=Math.max(t,l);n.min=Math.min(p.pos,Math.min(t,l)-A);n.max=Math.max(p.pos+p.len,q+A)}}),u.res=!0):u.followTouchMove&&1===x?this.runPointActions(u.normalize(y)):j.length&&(z||(u.selectionMarker=z=d({destroy:h,touch:!0},s.plotBox)),u.pinchTranslate(j,v,r,z,o,k),u.hasPinched=g,u.scaleGroups(r,o),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(m,j){var g=this.chart,k,n;if(g.index!==c.hoverChartIndex){this.onContainerMouseLeave({relatedTarget:!0})}c.hoverChartIndex=g.index;1===m.touches.length?(m=this.normalize(m),(n=g.isInsidePlot(m.chartX-g.plotLeft,m.chartY-g.plotTop))&&!g.openMenu?(j&&this.runPointActions(m),"touchmove"===m.type&&(j=this.pinchDown,k=j[0]?4<=Math.sqrt(Math.pow(j[0].chartX-m.chartX,2)+Math.pow(j[0].chartY-m.chartY,2)):!1),f(k,!0)&&this.pinch(m)):j&&this.reset()):2===m.touches.length&&this.pinch(m)},onContainerTouchStart:function(g){this.zoomOption(g);this.touch(g,!0)},onContainerTouchMove:function(g){this.touch(g)},onDocumentTouchEnd:function(g){i[c.hoverChartIndex]&&i[c.hoverChartIndex].pointer.drop(g)}})})(a);(function(v){var j=v.addEvent,k=v.charts,w=v.css,y=v.doc,c=v.extend,n=v.noop,o=v.Pointer,x=v.removeEvent,m=v.win,h=v.wrap;if(m.PointerEvent||m.MSPointerEvent){var s={},t=!!m.PointerEvent,i=function(){var f,d=[];d.item=function(b){return this[b]};for(f in s){s.hasOwnProperty(f)&&d.push({pageX:s[f].pageX,pageY:s[f].pageY,target:s[f].target})}return d},e=function(g,p,q,l){"touch"!==g.pointerType&&g.pointerType!==g.MSPOINTER_TYPE_TOUCH||!k[v.hoverChartIndex]||(l(g),l=k[v.hoverChartIndex].pointer,l[p]({type:q,target:g.currentTarget,preventDefault:n,touches:i()}))};c(o.prototype,{onContainerPointerDown:function(b){e(b,"onContainerTouchStart","touchstart",function(d){s[d.pointerId]={pageX:d.pageX,pageY:d.pageY,target:d.currentTarget}})},onContainerPointerMove:function(b){e(b,"onContainerTouchMove","touchmove",function(d){s[d.pointerId]={pageX:d.pageX,pageY:d.pageY};s[d.pointerId].target||(s[d.pointerId].target=d.currentTarget)})},onDocumentPointerUp:function(b){e(b,"onDocumentTouchEnd","touchend",function(d){delete s[d.pointerId]})},batchMSEvents:function(b){b(this.chart.container,t?"pointerdown":"MSPointerDown",this.onContainerPointerDown);b(this.chart.container,t?"pointermove":"MSPointerMove",this.onContainerPointerMove);b(y,t?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});h(o.prototype,"init",function(f,d,g){f.call(this,d,g);this.hasZoom&&w(d.container,{"-ms-touch-action":"none","touch-action":"none"})});h(o.prototype,"setDOMEvents",function(b){b.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(j)});h(o.prototype,"destroy",function(b){this.batchMSEvents(x);b.call(this)})}})(a);(function(w){var j,k=w.addEvent,x=w.css,z=w.discardElement,c=w.defined,n=w.each,o=w.extend,y=w.isFirefox,m=w.marginNames,h=w.merge,s=w.pick,v=w.setAnimation,i=w.stableSort,e=w.win,D=w.wrap;j=w.Legend=function(f,d){this.init(f,d)};j.prototype={init:function(f,d){this.chart=f;this.setOptions(d);d.enabled&&(this.render(),k(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(f){var d=s(f.padding,8);this.options=f;this.itemStyle=f.itemStyle;this.itemHiddenStyle=h(this.itemStyle,f.itemHiddenStyle);this.itemMarginTop=f.itemMarginTop||0;this.initialItemX=this.padding=d;this.initialItemY=d-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=s(f.symbolWidth,16);this.pages=[]},update:function(f,d){var g=this.chart;this.setOptions(h(!0,this.options,f));this.destroy();g.isDirtyLegend=g.isDirtyBox=!0;s(d,!0)&&g.redraw()},colorizeItem:function(G,F){G.legendGroup[F?"removeClass":"addClass"]("highcharts-legend-item-hidden");var C=this.options,B=G.legendItem,q=G.legendLine,A=G.legendSymbol,u=this.itemHiddenStyle.color,C=F?C.itemStyle.color:u,l=F?G.color||u:u,t=G.options&&G.options.marker,r={fill:l},E;B&&B.css({fill:C,color:C});q&&q.attr({stroke:l});if(A){if(t&&A.isMarker&&(r=G.pointAttribs(),!F)){for(E in r){r[E]=u}}A.attr(r)}},positionItem:function(p){var l=this.options,t=l.symbolPadding,l=!l.rtl,g=p._legendItemPos,q=g[0],g=g[1],r=p.checkbox;(p=p.legendGroup)&&p.element&&p.translate(l?q:this.legendWidth-q-2*t-4,g);r&&(r.x=q,r.y=g)},destroyItem:function(f){var d=f.checkbox;n(["legendItem","legendLine","legendSymbol","legendGroup"],function(g){f[g]&&(f[g]=f[g].destroy())});d&&z(f.checkbox)},destroy:function(){function b(d){this[d]&&(this[d]=this[d].destroy())}n(this.getAllItems(),function(d){n(["legendItem","legendGroup"],b,d)});n(["box","title","group"],b,this);this.display=null},positionCheckboxes:function(p){var l=this.group&&this.group.alignAttr,r,g=this.clipHeight||this.legendHeight,q=this.titleHeight;l&&(r=l.translateY,n(this.allItems,function(f){var b=f.checkbox,d;b&&(d=r+q+b.y+(p||0)+3,x(b,{left:l.translateX+f.checkboxOffset+b.x-20+"px",top:d+"px",display:d>r-6&&d<r+g-6?"":"none"}))}))},renderTitle:function(){var g=this.padding,f=this.options.title,l=0;f.text&&(this.title||(this.title=this.chart.renderer.label(f.text,g-3,g-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(f.style).add(this.group)),g=this.title.getBBox(),l=g.height,this.offsetWidth=g.width,this.contentGroup.attr({translateY:l}));this.titleHeight=l},setText:function(d){var f=this.options;d.legendItem.attr({text:f.labelFormat?w.format(f.labelFormat,d):f.labelFormatter.call(d)})},renderItem:function(Z){var Y=this.chart,W=Y.renderer,R=this.options,Q="horizontal"===R.layout,X=this.symbolWidth,V=R.symbolPadding,S=this.itemStyle,K=this.itemHiddenStyle,U=this.padding,E=Q?s(R.itemDistance,20):0,q=!R.rtl,M=R.width,F=R.itemMarginBottom||0,T=this.itemMarginTop,H=this.initialItemX,L=Z.legendItem,d=!Z.series,P=!d&&Z.series.drawLegendSymbol?Z.series:Z,O=P.options,O=this.createCheckboxForItem&&O&&O.showCheckbox,G=R.useHTML;L||(Z.legendGroup=W.g("legend-item").addClass("highcharts-"+P.type+"-series highcharts-color-"+Z.colorIndex+(Z.options.className?" "+Z.options.className:"")+(d?" highcharts-series-"+Z.index:"")).attr({zIndex:1}).add(this.scrollGroup),Z.legendItem=L=W.text("",q?X+V:-V,this.baseline||0,G).css(h(Z.visible?S:K)).attr({align:q?"left":"right",zIndex:2}).add(Z.legendGroup),this.baseline||(S=S.fontSize,this.fontMetrics=W.fontMetrics(S,L),this.baseline=this.fontMetrics.f+3+T,L.attr("y",this.baseline)),this.symbolHeight=R.symbolHeight||this.fontMetrics.f,P.drawLegendSymbol(this,Z),this.setItemEvents&&this.setItemEvents(Z,L,G),O&&this.createCheckboxForItem(Z));this.colorizeItem(Z,Z.visible);this.setText(Z);W=L.getBBox();X=Z.checkboxOffset=R.itemWidth||Z.legendItemWidth||X+V+W.width+E+(O?20:0);this.itemHeight=V=Math.round(Z.legendItemHeight||W.height);Q&&this.itemX-H+X>(M||Y.chartWidth-2*U-H-R.x)&&(this.itemX=H,this.itemY+=T+this.lastLineHeight+F,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,X);this.lastItemY=T+this.itemY+F;this.lastLineHeight=Math.max(V,this.lastLineHeight);Z._legendItemPos=[this.itemX,this.itemY];Q?this.itemX+=X:(this.itemY+=T+V+F,this.lastLineHeight=V);this.offsetWidth=M||Math.max((Q?this.itemX-H-E:X)+U,this.offsetWidth)},getAllItems:function(){var b=[];n(this.chart.series,function(d){var f=d&&d.options;d&&s(f.showInLegend,c(f.linkedTo)?!1:void 0,!0)&&(b=b.concat(d.legendItems||("point"===f.legendType?d.data:d)))});return b},adjustMargins:function(l,g){var q=this.chart,p=this.options,d=p.align.charAt(0)+p.verticalAlign.charAt(0)+p.layout.charAt(0);p.floating||n([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(b,f){b.test(d)&&!c(l[f])&&(q[m[f]]=Math.max(q[m[f]],q.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][f]*p[f%2?"x":"y"]+s(p.margin,12)+g[f]))})},render:function(){var F=this,E=F.chart,B=E.renderer,g=F.group,p,A,H,f,G=F.box,u=F.options,C=F.padding;F.itemX=F.initialItemX;F.itemY=F.initialItemY;F.offsetWidth=0;F.lastItemY=0;g||(F.group=g=B.g("legend").attr({zIndex:7}).add(),F.contentGroup=B.g().attr({zIndex:1}).add(g),F.scrollGroup=B.g().add(F.contentGroup));F.renderTitle();p=F.getAllItems();i(p,function(l,d){return(l.options&&l.options.legendIndex||0)-(d.options&&d.options.legendIndex||0)});u.reversed&&p.reverse();F.allItems=p;F.display=A=!!p.length;F.lastLineHeight=0;n(p,function(d){F.renderItem(d)});H=(u.width||F.offsetWidth)+C;f=F.lastItemY+F.lastLineHeight+F.titleHeight;f=F.handleOverflow(f);f+=C;G||(F.box=G=B.rect().addClass("highcharts-legend-box").attr({r:u.borderRadius}).add(g),G.isNew=!0);G.attr({stroke:u.borderColor,"stroke-width":u.borderWidth||0,fill:u.backgroundColor||"none"}).shadow(u.shadow);0<H&&0<f&&(G[G.isNew?"attr":"animate"](G.crisp({x:0,y:0,width:H,height:f},G.strokeWidth())),G.isNew=!1);G[A?"show":"hide"]();F.legendWidth=H;F.legendHeight=f;n(p,function(d){F.positionItem(d)});A&&g.align(o({width:H,height:f},u),!0,"spacingBox");E.isResizing||this.positionCheckboxes()},handleOverflow:function(O){var N=this,K=this.chart,F=K.renderer,E=this.options,L=E.y,K=K.spacingBox.height+("top"===E.verticalAlign?-L:L)-this.padding,L=E.maxHeight,B,G=this.clipRect,R=E.navigation,J=s(R.animation,!0),M=R.arrowSize||12,g=this.nav,Q=this.pages,P=this.padding,H,d=this.allItems,A=function(b){b?G.attr({height:b}):G&&(N.clipRect=G.destroy(),N.contentGroup.clip());N.contentGroup.div&&(N.contentGroup.div.style.clip=b?"rect("+P+"px,9999px,"+(P+b)+"px,0)":"auto")};"horizontal"!==E.layout||"middle"===E.verticalAlign||E.floating||(K/=2);L&&(K=Math.min(K,L));Q.length=0;O>K&&!1!==R.enabled?(this.clipHeight=B=Math.max(K-20-this.titleHeight-P,0),this.currentPage=s(this.currentPage,1),this.fullHeight=O,n(d,function(l,f){var q=l._legendItemPos[1];l=Math.round(l.legendItem.getBBox().height);var p=Q.length;if(!p||q-Q[p-1]>B&&(H||q)!==Q[p-1]){Q.push(H||q),p++}f===d.length-1&&q+l-Q[p-1]>B&&Q.push(q);q!==H&&(H=q)}),G||(G=N.clipRect=F.clipRect(0,P,9999,0),N.contentGroup.clip(G)),A(B),g||(this.nav=g=F.g().attr({zIndex:1}).add(this.group),this.up=F.symbol("triangle",0,0,M,M).on("click",function(){N.scroll(-1,J)}).add(g),this.pager=F.text("",15,10).addClass("highcharts-legend-navigation").css(R.style).add(g),this.down=F.symbol("triangle-down",0,0,M,M).on("click",function(){N.scroll(1,J)}).add(g)),N.scroll(0),O=K):g&&(A(),g.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return O},scroll:function(l,B){var A=this.pages,r=A.length;l=this.currentPage+l;var b=this.clipHeight,u=this.options.navigation,t=this.pager,q=this.padding;l>r&&(l=r);0<l&&(void 0!==B&&v(B,this.chart),this.nav.attr({translateX:q,translateY:b+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),t.attr({text:l+"/"+r}),this.down.attr({x:18+this.pager.getBBox().width,"class":l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===l?u.inactiveColor:u.activeColor}).css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?u.inactiveColor:u.activeColor}).css({cursor:l===r?"default":"pointer"}),B=-A[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:B}),this.currentPage=l,this.positionCheckboxes(B))}};w.LegendSymbolMixin={drawRectangle:function(g,d){var p=g.symbolHeight,l=g.options.squareSymbol;d.legendSymbol=this.chart.renderer.rect(l?(g.symbolWidth-p)/2:0,g.baseline-p+1,l?p:g.symbolWidth,p,s(g.options.symbolRadius,p/2)).addClass("highcharts-point").attr({zIndex:3}).add(d.legendGroup)},drawLineMarker:function(E){var C=this.options,A=C.marker,q=E.symbolWidth,d=E.symbolHeight,B=d/2,u=this.chart.renderer,r=this.legendGroup;E=E.baseline-Math.round(0.3*E.fontMetrics.b);var F;F={"stroke-width":C.lineWidth||0};C.dashStyle&&(F.dashstyle=C.dashStyle);this.legendLine=u.path(["M",0,E,"L",q,E]).addClass("highcharts-graph").attr(F).add(r);A&&!1!==A.enabled&&(C=Math.min(s(A.radius,B),B),0===this.symbol.indexOf("url")&&(A=h(A,{width:d,height:d}),C=0),this.legendSymbol=A=u.symbol(this.symbol,q/2-C,E-C,2*C,2*C,A).addClass("highcharts-point").add(r),A.isMarker=!0)}};(/Trident\/7\.0/.test(e.navigator.userAgent)||y)&&D(j.prototype,"positionItem",function(g,f){var p=this,l=function(){f._legendItemPos&&g.call(p,f)};l();setTimeout(l)})})(a);(function(au){var X=au.addEvent,Y=au.animate,Q=au.animObject,R=au.attr,af=au.doc,an=au.Axis,ao=au.createElement,ad=au.defaultOptions,ak=au.discardElement,ag=au.charts,aq=au.css,at=au.defined,ah=au.each,W=au.extend,ae=au.find,aj=au.fireEvent,ar=au.getStyle,ai=au.grep,U=au.isNumber,Z=au.isObject,ap=au.isString,ab=au.Legend,T=au.marginNames,ac=au.merge,am=au.Pointer,aa=au.pick,L=au.pInt,v=au.removeEvent,M=au.seriesTypes,al=au.splat,V=au.svg,j=au.syncTimeout,s=au.win,i=au.Renderer,o=au.Chart=function(){this.getArgs.apply(this,arguments)};au.chart=function(e,d,f){return new o(e,d,f)};o.prototype={callbacks:[],getArgs:function(){var b=[].slice.call(arguments);if(ap(b[0])||b[0].nodeName){this.renderTo=b.shift()}this.init(b[0],b[1])},init:function(f,m){var k,g=f.series;f.series=null;k=ac(ad,f);k.series=f.series=g;this.userOptions=f;this.respRules=[];f=k.chart;g=f.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=m;this.isResizing=0;this.options=k;this.axes=[];this.series=[];this.hasCartesianSeries=f.showAxes;var l;this.index=ag.length;ag.push(this);au.chartCount++;if(g){for(l in g){X(this,l,g[l])}}this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.firstRender()},initSeries:function(d){var e=this.options.chart;(e=M[d.type||e.type||e.defaultSeriesType])||au.error(17,!0);e=new e;e.init(this,d);return e},orderSeries:function(d){var c=this.series;for(d=d||0;d<c.length;d++){c[d]&&(c[d].index=d,c[d].name=c[d].name||"Series "+(c[d].index+1))}},isInsidePlot:function(f,d,h){var g=h?d:f;f=h?f:d;return 0<=g&&g<=this.plotWidth&&0<=f&&f<=this.plotHeight},redraw:function(F){var D=this.axes,B=this.series,x=this.pointer,C=this.legend,u=this.isDirtyLegend,A,p,E=this.hasCartesianSeries,z=this.isDirtyBox,H=B.length,r=H,m=this.renderer,I=m.isHidden(),G=[];this.setResponsive&&this.setResponsive(!1);au.setAnimation(F,this);I&&this.cloneRenderTo();for(this.layOutTitles();r--;){if(F=B[r],F.options.stacking&&(A=!0,F.isDirty)){p=!0;break}}if(p){for(r=H;r--;){F=B[r],F.options.stacking&&(F.isDirty=!0)}}ah(B,function(b){b.isDirty&&"point"===b.options.legendType&&(b.updateTotals&&b.updateTotals(),u=!0);b.isDirtyData&&aj(b,"updatedData")});u&&C.options.enabled&&(C.render(),this.isDirtyLegend=!1);A&&this.getStacks();E&&ah(D,function(b){b.updateNames();b.setScale()});this.getMargins();E&&(ah(D,function(b){b.isDirty&&(z=!0)}),ah(D,function(d){var c=d.min+","+d.max;d.extKey!==c&&(d.extKey=c,G.push(function(){aj(d,"afterSetExtremes",W(d.eventArgs,d.getExtremes()));delete d.eventArgs}));(z||A)&&d.redraw()}));z&&this.drawChartBox();aj(this,"predraw");ah(B,function(b){(z||b.isDirty)&&b.visible&&b.redraw();b.isDirtyData=!1});x&&x.reset(!0);m.draw();aj(this,"redraw");aj(this,"render");I&&this.cloneRenderTo(!0);ah(G,function(b){b.call()})},get:function(f){function d(c){return c.id===f||c.options&&c.options.id===f}var l,k=this.series,g;l=ae(this.axes,d)||ae(this.series,d);for(g=0;!l&&g<k.length;g++){l=ae(k[g].points||[],d)}return l},getAxes:function(){var e=this,d=this.options,f=d.xAxis=al(d.xAxis||{}),d=d.yAxis=al(d.yAxis||{});ah(f,function(g,c){g.index=c;g.isX=!0});ah(d,function(g,c){g.index=c});f=f.concat(d);ah(f,function(c){new an(e,c)})},getSelectedPoints:function(){var b=[];ah(this.series,function(c){b=b.concat(ai(c.points||[],function(d){return d.selected}))});return b},getSelectedSeries:function(){return ai(this.series,function(b){return b.selected})},setTitle:function(g,f,n){var l=this,k=l.options,m;m=k.title=ac({style:{color:"#333333",fontSize:k.isStock?"16px":"18px"}},k.title,g);k=k.subtitle=ac({style:{color:"#666666"}},k.subtitle,f);ah([["title",g,m],["subtitle",f,k]],function(p,e){var t=p[0],q=l[t],r=p[1];p=p[2];q&&r&&(l[t]=q=q.destroy());p&&p.text&&!q&&(l[t]=l.renderer.text(p.text,0,0,p.useHTML).attr({align:p.align,"class":"highcharts-"+t,zIndex:p.zIndex||4}).add(),l[t].update=function(b){l.setTitle(!e&&b,e&&b)},l[t].css(p.style))});l.layOutTitles(n)},layOutTitles:function(f){var d=0,l,k=this.renderer,g=this.spacingBox;ah(["title","subtitle"],function(b){var m=this[b],h=this.options[b],e;m&&(e=h.style.fontSize,e=k.fontMetrics(e,m).b,m.css({width:(h.width||g.width+h.widthAdjust)+"px"}).align(W({y:d+e+("title"===b?-3:2)},h),!1,"spacingBox"),h.floating||h.verticalAlign||(d=Math.ceil(d+m.getBBox().height)))},this);l=this.titleOffset!==d;this.titleOffset=d;!this.isDirtyBox&&l&&(this.isDirtyBox=l,this.hasRendered&&aa(f,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,d=b.width,b=b.height,c=this.renderToClone||this.renderTo;at(d)||(this.containerWidth=ar(c,"width"));at(b)||(this.containerHeight=ar(c,"height"));this.chartWidth=Math.max(0,d||this.containerWidth||600);this.chartHeight=Math.max(0,b||this.containerHeight||400)},cloneRenderTo:function(e){var d=this.renderToClone,f=this.container;if(e){if(d){for(;d.childNodes.length;){this.renderTo.appendChild(d.firstChild)}ak(d);delete this.renderToClone}}else{f&&f.parentNode===this.renderTo&&this.renderTo.removeChild(f),this.renderToClone=d=this.renderTo.cloneNode(0),aq(d,{position:"absolute",top:"-9999px",display:"block"}),d.style.setProperty&&d.style.setProperty("display","block","important"),af.body.appendChild(d),f&&d.appendChild(f)}},setClassName:function(b){this.container.className="highcharts-container "+(b||"")},getContainer:function(){var f,r=this.options,l=r.chart,p,g;f=this.renderTo;var e=au.uniqueKey(),q;f||(this.renderTo=f=l.renderTo);ap(f)&&(this.renderTo=f=af.getElementById(f));f||au.error(13,!0);p=L(R(f,"data-highcharts-chart"));U(p)&&ag[p]&&ag[p].hasRendered&&ag[p].destroy();R(f,"data-highcharts-chart",this.index);f.innerHTML="";l.skipClone||f.offsetWidth||this.cloneRenderTo();this.getChartSize();p=this.chartWidth;g=this.chartHeight;q=W({position:"relative",overflow:"hidden",width:p+"px",height:g+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},l.style);this.container=f=ao("div",{id:e},q,this.renderToClone||f);this._cursor=f.style.cursor;this.renderer=new (au[l.renderer]||i)(f,p,g,null,l.forExport,r.exporting&&r.exporting.allowHTML);this.setClassName(l.className);this.renderer.setStyle(l.style);this.renderer.chartIndex=this.index},getMargins:function(b){var g=this.spacing,f=this.margin,d=this.titleOffset;this.resetMargins();d&&!at(f[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+g[0]));this.legend.display&&this.legend.adjustMargins(f,g);this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);b||this.getAxisMargins()},getAxisMargins:function(){var b=this,f=b.axisOffset=[0,0,0,0],d=b.margin;b.hasCartesianSeries&&ah(b.axes,function(c){c.visible&&c.getOffset()});ah(T,function(c,e){at(d[e])||(b[c]+=f[e])});b.setChartSize()},reflow:function(b){var m=this,g=m.options.chart,n=m.renderTo,c=at(g.width),l=g.width||ar(n,"width"),g=g.height||ar(n,"height"),n=b?b.target:s;if(!c&&!m.isPrinting&&l&&g&&(n===s||n===af)){if(l!==m.containerWidth||g!==m.containerHeight){clearTimeout(m.reflowTimeout),m.reflowTimeout=j(function(){m.container&&m.setSize(void 0,void 0,!1)},b?100:0)}m.containerWidth=l;m.containerHeight=g}},initReflow:function(){var d=this,c;c=X(s,"resize",function(e){d.reflow(e)});X(d,"destroy",c)},setSize:function(d,m,l){var g=this,f=g.renderer;g.isResizing+=1;au.setAnimation(l,g);g.oldChartHeight=g.chartHeight;g.oldChartWidth=g.chartWidth;void 0!==d&&(g.options.chart.width=d);void 0!==m&&(g.options.chart.height=m);g.getChartSize();d=f.globalAnimation;(d?Y:aq)(g.container,{width:g.chartWidth+"px",height:g.chartHeight+"px"},d);g.setChartSize(!0);f.setSize(g.chartWidth,g.chartHeight,l);ah(g.axes,function(b){b.isDirty=!0;b.setScale()});g.isDirtyLegend=!0;g.isDirtyBox=!0;g.layOutTitles();g.getMargins();g.redraw(l);g.oldChartHeight=null;aj(g,"resize");j(function(){g&&aj(g,"endResize",null,function(){--g.isResizing})},Q(d).duration)},setChartSize:function(C){var B=this.inverted,z=this.renderer,w=this.chartWidth,r=this.chartHeight,x=this.options.chart,q=this.spacing,u=this.clipOffset,p,l,A,t;this.plotLeft=p=Math.round(this.plotLeft);this.plotTop=l=Math.round(this.plotTop);this.plotWidth=A=Math.max(0,Math.round(w-p-this.marginRight));this.plotHeight=t=Math.max(0,Math.round(r-l-this.marginBottom));this.plotSizeX=B?t:A;this.plotSizeY=B?A:t;this.plotBorderWidth=x.plotBorderWidth||0;this.spacingBox=z.spacingBox={x:q[3],y:q[0],width:w-q[3]-q[1],height:r-q[0]-q[2]};this.plotBox=z.plotBox={x:p,y:l,width:A,height:t};w=2*Math.floor(this.plotBorderWidth/2);B=Math.ceil(Math.max(w,u[3])/2);z=Math.ceil(Math.max(w,u[0])/2);this.clipBox={x:B,y:z,width:Math.floor(this.plotSizeX-Math.max(w,u[1])/2-B),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(w,u[2])/2-z))};C||ah(this.axes,function(b){b.setAxisSize();b.setAxisTranslation()})},resetMargins:function(){var d=this,c=d.options.chart;ah(["margin","spacing"],function(g){var f=c[g],b=Z(f)?f:[f,f,f,f];ah(["Top","Right","Bottom","Left"],function(h,k){d[g][k]=aa(c[g+h],b[k])})});ah(T,function(e,f){d[e]=aa(d.margin[f],d.spacing[f])});d.axisOffset=[0,0,0,0];d.clipOffset=[0,0,0,0]},drawChartBox:function(){var aA=this.options.chart,az=this.renderer,ay=this.chartWidth,aw=this.chartHeight,P=this.chartBackground,ax=this.plotBackground,O=this.plotBorder,av,K=this.plotBGImage,I=aA.backgroundColor,H=aA.plotBackgroundColor,B=aA.plotBackgroundImage,S,N=this.plotLeft,G=this.plotTop,E=this.plotWidth,D=this.plotHeight,C=this.plotBox,F=this.clipRect,u=this.clipBox,A="animate";P||(this.chartBackground=P=az.rect().addClass("highcharts-background").add(),A="attr");av=aA.borderWidth||0;S=av+(aA.shadow?8:0);I={fill:I||"none"};if(av||P["stroke-width"]){I.stroke=aA.borderColor,I["stroke-width"]=av}P.attr(I).shadow(aA.shadow);P[A]({x:S/2,y:S/2,width:ay-S-av%2,height:aw-S-av%2,r:aA.borderRadius});A="animate";ax||(A="attr",this.plotBackground=ax=az.rect().addClass("highcharts-plot-background").add());ax[A](C);ax.attr({fill:H||"none"}).shadow(aA.plotShadow);B&&(K?K.animate(C):this.plotBGImage=az.image(B,N,G,E,D).add());F?F.animate({width:u.width,height:u.height}):this.clipRect=az.clipRect(u);A="animate";O||(A="attr",this.plotBorder=O=az.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());O.attr({stroke:aA.plotBorderColor,"stroke-width":aA.plotBorderWidth||0,fill:"none"});O[A](O.crisp({x:N,y:G,width:E,height:D},-O.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var g=this,f=g.options.chart,n,l=g.options.series,k,m;ah(["inverted","angular","polar"],function(b){n=M[f.type||f.defaultSeriesType];m=f[b]||n&&n.prototype[b];for(k=l&&l.length;!m&&k--;){(n=M[l[k].type])&&n.prototype[b]&&(m=!0)}g[b]=m})},linkSeries:function(){var d=this,c=d.series;ah(c,function(b){b.linkedSeries.length=0});ah(c,function(e){var f=e.options.linkedTo;ap(f)&&(f=":previous"===f?d.series[e.index-1]:d.get(f))&&f.linkedParent!==e&&(f.linkedSeries.push(e),e.linkedParent=f,e.visible=aa(e.options.visible,f.options.visible,e.visible))})},renderSeries:function(){ah(this.series,function(b){b.translate();b.render()})},renderLabels:function(){var d=this,c=d.options.labels;c.items&&ah(c.items,function(k){var f=W(c.style,k.style),b=L(f.left)+d.plotLeft,g=L(f.top)+d.plotTop+12;delete f.left;delete f.top;d.renderer.text(k.html,b,g).attr({zIndex:2}).css(f).add()})},render:function(){var g=this.axes,f=this.renderer,n=this.options,l,k,m;this.setTitle();this.legend=new ab(this,n.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();n=this.plotWidth;l=this.plotHeight-=21;ah(g,function(b){b.setScale()});this.getAxisMargins();k=1.1<n/this.plotWidth;m=1.05<l/this.plotHeight;if(k||m){ah(g,function(b){(b.horiz&&k||!b.horiz&&m)&&b.setTickInterval(!0)}),this.getMargins()}this.drawChartBox();this.hasCartesianSeries&&ah(g,function(b){b.visible&&b.render()});this.seriesGroup||(this.seriesGroup=f.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(d){var c=this;d=ac(!0,this.options.credits,d);d.enabled&&!this.credits&&(this.credits=this.renderer.text(d.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){d.href&&(s.location.href=d.href)}).attr({align:d.position.align,zIndex:8}).css(d.style).add().align(d.position),this.credits.update=function(b){c.credits=c.credits.destroy();c.addCredits(b)})},destroy:function(){var f=this,p=f.axes,m=f.series,l=f.container,n,g=l&&l.parentNode;aj(f,"destroy");ag[f.index]=void 0;au.chartCount--;f.renderTo.removeAttribute("data-highcharts-chart");v(f);for(n=p.length;n--;){p[n]=p[n].destroy()}this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(n=m.length;n--;){m[n]=m[n].destroy()}ah("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(b){var d=f[b];d&&d.destroy&&(f[b]=d.destroy())});l&&(l.innerHTML="",v(l),g&&ak(l));for(n in f){delete f[n]}},isReadyToRender:function(){var b=this;return V||s!=s.top||"complete"===af.readyState?!0:(af.attachEvent("onreadystatechange",function(){af.detachEvent("onreadystatechange",b.firstRender);"complete"===af.readyState&&b.firstRender()}),!1)},firstRender:function(){var d=this,c=d.options;if(d.isReadyToRender()){d.getContainer();aj(d,"init");d.resetMargins();d.setChartSize();d.propFromSeries();d.getAxes();ah(c.series||[],function(e){d.initSeries(e)});d.linkSeries();aj(d,"beforeRender");am&&(d.pointer=new am(d,c));d.render();if(!d.renderer.imgCount&&d.onload){d.onload()}d.cloneRenderTo(!0)}},onload:function(){ah([this.callback].concat(this.callbacks),function(b){b&&void 0!==this.index&&b.apply(this,[this])},this);aj(this,"load");aj(this,"render");at(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(a);(function(k){var d,e=k.each,m=k.extend,o=k.erase,b=k.fireEvent,i=k.format,j=k.isArray,n=k.isNumber,h=k.pick,c=k.removeEvent;d=k.Point=function(){};d.prototype={init:function(l,g,p){this.series=l;this.color=l.color;this.applyOptions(g,p);l.options.colorByPoint?(g=l.options.colors||l.chart.options.colors,this.color=this.color||g[l.colorCounter],g=g.length,p=l.colorCounter,l.colorCounter++,l.colorCounter===g&&(l.colorCounter=0)):p=l.colorIndex;this.colorIndex=h(this.colorIndex,p);l.chart.pointCount++;return this},applyOptions:function(l,g){var q=this.series,p=q.options.pointValKey||q.pointValKey;l=d.prototype.optionsToObject.call(this,l);m(this,l);this.options=this.options?m(this.options,l):l;l.group&&delete this.group;p&&(this.y=this[p]);this.isNull=h(this.isValid&&!this.isValid(),null===this.x||!n(this.y,!0));this.selected&&(this.state="select");"name" in this&&void 0===g&&q.xAxis&&q.xAxis.hasNames&&(this.x=q.xAxis.nameToX(this));void 0===this.x&&q&&(this.x=void 0===g?q.autoIncrement(this):g);return this},optionsToObject:function(r){var p={},t=this.series,s=t.options.keys,q=s||t.pointArrayMap||["y"],f=q.length,v=0,u=0;if(n(r)||null===r){p[q[0]]=r}else{if(j(r)){for(!s&&r.length>f&&(t=typeof r[0],"string"===t?p.name=r[0]:"number"===t&&(p.x=r[0]),v++);u<f;){s&&void 0===r[v]||(p[q[u]]=r[v]),v++,u++}}else{"object"===typeof r&&(p=r,r.dataLabels&&(t._hasPointLabels=!0),r.marker&&(t._hasPointMarkers=!0))}}return p},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 p=this.series,l=p.zones,p=p.zoneAxis||"y",r=0,q;for(q=l[r];this[p]>=q.value;){q=l[++r]}q&&q.color&&!this.options.color&&(this.color=q.color);return q},destroy:function(){var l=this.series.chart,g=l.hoverPoints,p;l.pointCount--;g&&(this.setState(),o(g,this),g.length||(l.hoverPoints=null));if(this===l.hoverPoint){this.onMouseOut()}if(this.graphic||this.dataLabel){c(this),this.destroyElements()}this.legendItem&&l.legend.destroyItem(this);for(p in this){this[p]=null}},destroyElements:function(){for(var l=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],g,p=6;p--;){g=l[p],this[g]&&(this[g]=this[g].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(p){var l=this.series,t=l.tooltipOptions,s=h(t.valueDecimals,""),r=t.valuePrefix||"",g=t.valueSuffix||"";e(l.pointArrayMap||["y"],function(f){f="{point."+f;if(r||g){p=p.replace(f+"}",r+f+"}"+g)}p=p.replace(f+"}",f+":,."+s+"f}")});return i(p,{point:this,series:this.series})},firePointEvent:function(p,l,r){var s=this,q=this.series.options;(q.point.events[p]||s.options&&s.options.events&&s.options.events[p])&&this.importEvents();"click"===p&&q.allowPointSelect&&(r=function(f){s.select&&s.select(null,f.ctrlKey||f.metaKey||f.shiftKey)});b(this,p,l,r)},visible:!0}})(a);(function(X){var K=X.addEvent,M=X.animObject,k=X.arrayMax,o=X.arrayMin,J=X.correctFloat,R=X.Date,S=X.defaultOptions,v=X.defaultPlotOptions,Q=X.defined,L=X.each,U=X.erase,W=X.extend,N=X.fireEvent,I=X.grep,D=X.isArray,P=X.isNumber,V=X.isString,O=X.merge,y=X.pick,h=X.removeEvent,T=X.splat,i=X.SVGElement,s=X.syncTimeout,j=X.win;X.Series=X.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1000},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?"":X.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:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:0.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1000},{isCartesian:!0,pointClass:X.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(b,q){var n=this,l,p,g=b.series,m;n.chart=b;n.options=q=n.setOptions(q);n.linkedSeries=[];n.bindAxes();W(n,{name:q.name,state:"",visible:!1!==q.visible,selected:!0===q.selected});p=q.events;for(l in p){K(n,l,p[l])}if(p&&p.click||q.point&&q.point.events&&q.point.events.click||q.allowPointSelect){b.runTrackerClick=!0}n.getColor();n.getSymbol();L(n.parallelArrays,function(c){n[c+"Data"]=[]});n.setData(q.data,!1);n.isCartesian&&(b.hasCartesianSeries=!0);g.length&&(m=g[g.length-1]);n._i=y(m&&m._i,-1)+1;b.orderSeries(this.insert(g))},insert:function(e){var d=this.options.index,f;if(P(d)){for(f=e.length;f--;){if(d>=y(e[f].options.index,e[f]._i)){e.splice(f+1,0,this);break}}-1===f&&e.unshift(this);f+=1}else{e.push(this)}return y(f,e.length-1)},bindAxes:function(){var f=this,m=f.options,g=f.chart,l;L(f.axisTypes||[],function(b){L(g[b],function(c){l=c.options;if(m[b]===l.index||void 0!==m[b]&&m[b]===l.id||void 0===m[b]&&0===l.index){f.insert(c.series),f[b]=c,c.isDirty=!0}});f[b]||f.optionalAxis===b||X.error(18,!0)})},updateParallelArrays:function(f,d){var m=f.series,l=arguments,g=P(d)?function(c){var b="y"===c&&m.toYData?m.toYData(f):f[c];m[c+"Data"][d]=b}:function(b){Array.prototype[d].apply(m[b+"Data"],Array.prototype.slice.call(l,2))};L(m.parallelArrays,g)},autoIncrement:function(){var f=this.options,d=this.xIncrement,l,g=f.pointIntervalUnit,d=y(d,f.pointStart,0);this.pointInterval=l=y(this.pointInterval,f.pointInterval,1);g&&(f=new R(d),"day"===g?f=+f[R.hcSetDate](f[R.hcGetDate]()+l):"month"===g?f=+f[R.hcSetMonth](f[R.hcGetMonth]()+l):"year"===g&&(f=+f[R.hcSetFullYear](f[R.hcGetFullYear]()+l)),l=f-d);this.xIncrement=d+l;return d},setOptions:function(f){var d=this.chart,m=d.options.plotOptions,d=d.userOptions||{},l=d.plotOptions||{},g=m[this.type];this.userOptions=f;m=O(g,m.series,f);this.tooltipOptions=O(S.tooltip,S.plotOptions[this.type].tooltip,d.tooltip,l.series&&l.series.tooltip,l[this.type]&&l[this.type].tooltip,f.tooltip);null===g.marker&&delete m.marker;this.zoneAxis=m.zoneAxis;f=this.zones=(m.zones||[]).slice();!m.negativeColor&&!m.negativeFillColor||m.zones||f.push({value:m[this.zoneAxis+"Threshold"]||m.threshold||0,className:"highcharts-negative",color:m.negativeColor,fillColor:m.negativeFillColor});f.length&&Q(f[f.length-1].value)&&f.push({color:this.color,fillColor:this.fillColor});return m},getCyclic:function(x,w,u){var r,p=this.chart,t=this.userOptions,q=x+"Index",g=x+"Counter",l=u?u.length:y(p.options.chart[x+"Count"],p[x+"Count"]);w||(r=y(t[q],t["_"+q]),Q(r)||(p.series.length||(p[g]=0),t["_"+q]=r=p[g]%l,p[g]+=1),u&&(w=u[r]));void 0!==r&&(this[q]=r);this[x]=w},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||v[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:X.LegendSymbolMixin.drawLineMarker,setData:function(Z,E,G,C){var A=this,u=A.points,q=u&&u.length||0,B,m=A.options,Y=A.chart,t=null,ab=A.xAxis,aa=m.turboThreshold,c=this.xData,H=this.yData,ac=(B=A.pointArrayMap)&&B.length;Z=Z||[];B=Z.length;E=y(E,!0);if(!1!==C&&B&&q===B&&!A.cropped&&!A.hasGroupedData&&A.visible){L(Z,function(e,d){u[d].update&&e!==m.data[d]&&u[d].update(e,!1,null,!1)})}else{A.xIncrement=null;A.colorCounter=0;L(this.parallelArrays,function(b){A[b+"Data"].length=0});if(aa&&B>aa){for(G=0;null===t&&G<B;){t=Z[G],G++}if(P(t)){for(G=0;G<B;G++){c[G]=this.autoIncrement(),H[G]=Z[G]}}else{if(D(t)){if(ac){for(G=0;G<B;G++){t=Z[G],c[G]=t[0],H[G]=t.slice(1,ac+1)}}else{for(G=0;G<B;G++){t=Z[G],c[G]=t[0],H[G]=t[1]}}}else{X.error(12)}}}else{for(G=0;G<B;G++){void 0!==Z[G]&&(t={series:A},A.pointClass.prototype.applyOptions.apply(t,[Z[G]]),A.updateParallelArrays(t,G))}}V(H[0])&&X.error(14,!0);A.data=[];A.options.data=A.userOptions.data=Z;for(G=q;G--;){u[G]&&u[G].destroy&&u[G].destroy()}ab&&(ab.minRange=ab.userMinRange);A.isDirty=Y.isDirtyBox=!0;A.isDirtyData=!!u;G=!1}"point"===m.legendType&&(this.processData(),this.generatePoints());E&&Y.redraw(G)},processData:function(Z){var Y=this.xData,G=this.yData,C=Y.length,H;H=0;var B,F,x=this.xAxis,z,E=this.options;z=E.cropThreshold;var u=this.getExtremesFromAll||E.getExtremesFromAll,A=this.isCartesian,E=x&&x.val2lin,r=x&&x.isLog,ab,aa;if(A&&!this.isDirty&&!x.isDirty&&!this.yAxis.isDirty&&!Z){return !1}x&&(Z=x.getExtremes(),ab=Z.min,aa=Z.max);if(A&&this.sorted&&!u&&(!z||C>z||this.forceCrop)){if(Y[C-1]<ab||Y[0]>aa){Y=[],G=[]}else{if(Y[0]<ab||Y[C-1]>aa){H=this.cropData(this.xData,this.yData,ab,aa),Y=H.xData,G=H.yData,H=H.start,B=!0}}}for(z=Y.length||1;--z;){C=r?E(Y[z])-E(Y[z-1]):Y[z]-Y[z-1],0<C&&(void 0===F||C<F)?F=C:0>C&&this.requireSorting&&X.error(15)}this.cropped=B;this.cropStart=H;this.processedXData=Y;this.processedYData=G;this.closestPointRange=F},cropData:function(x,w,u,r){var p=x.length,t=0,q=p,g=y(this.cropShoulder,1),l;for(l=0;l<p;l++){if(x[l]>=u){t=Math.max(0,l-g);break}}for(u=l;u<p;u++){if(x[u]>r){q=u+g;break}}return{xData:x.slice(t,q),yData:w.slice(t,q),start:t,end:q}},generatePoints:function(){var G=this.options.data,F=this.data,E,C=this.processedXData,B=this.processedYData,z=this.pointClass,u=C.length,w=this.cropStart||0,A,r=this.hasGroupedData,x,e=[],H;F||r||(F=[],F.length=G.length,F=this.data=F);for(H=0;H<u;H++){A=w+H,r?(x=(new z).init(this,[C[H]].concat(T(B[H]))),x.dataGroup=this.groupMap[H]):(x=F[A])||void 0===G[A]||(F[A]=x=(new z).init(this,G[A],C[H])),x.index=A,e[H]=x}if(F&&(u!==(E=F.length)||r)){for(H=0;H<E;H++){H!==w||r||(H+=u),F[H]&&(F[H].destroyElements(),F[H].plotX=void 0)}}this.data=F;this.points=e},getExtremes:function(F){var E=this.yAxis,C=this.processedXData,A,w=[],B=0;A=this.xAxis.getExtremes();var z=A.min,t=A.max,x,r,u,m;F=F||this.stackedYData||this.processedYData||[];A=F.length;for(m=0;m<A;m++){if(r=C[m],u=F[m],x=(P(u,!0)||D(u))&&(!E.isLog||u.length||0<u),r=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(C[m+1]||r)>=z&&(C[m-1]||r)<=t,x&&r){if(x=u.length){for(;x--;){null!==u[x]&&(w[B++]=u[x])}}else{w[B++]=u}}}this.dataMin=o(w);this.dataMax=k(w)},translate:function(){this.processedXData||this.processData();this.generatePoints();var ap=this.options,ao=ap.stacking,an=this.xAxis,al=an.categories,am=this.yAxis,ai=this.points,ak=ai.length,ah=!!this.modifyValue,aj=ap.pointPlacement,ag="between"===aj||P(aj),ae=ap.threshold,ab=ap.startFromThreshold?ae:0,E,m,l,Z,aa=Number.MAX_VALUE;"between"===aj&&(aj=0.5);P(aj)&&(aj*=y(ap.pointRange||an.pointRange));for(ap=0;ap<ak;ap++){var ac=ai[ap],af=ac.x,ad=ac.y;m=ac.low;var r=ao&&am.stacks[(this.negStacks&&ad<(ab?0:ae)?"-":"")+this.stackKey],Y;am.isLog&&null!==ad&&0>=ad&&(ac.isNull=!0);ac.plotX=E=J(Math.min(Math.max(-100000,an.translate(af,0,0,0,1,aj,"flags"===this.type)),100000));ao&&this.visible&&!ac.isNull&&r&&r[af]&&(Z=this.getStackIndicator(Z,af,this.index),Y=r[af],ad=Y.points[Z.key],m=ad[0],ad=ad[1],m===ab&&Z.key===r[af].base&&(m=y(ae,am.min)),am.isLog&&0>=m&&(m=null),ac.total=ac.stackTotal=Y.total,ac.percentage=Y.total&&ac.y/Y.total*100,ac.stackY=ad,Y.setOffset(this.pointXOffset||0,this.barW||0));ac.yBottom=Q(m)?am.translate(m,0,1,0,1):null;ah&&(ad=this.modifyValue(ad,ac));ac.plotY=m="number"===typeof ad&&Infinity!==ad?Math.min(Math.max(-100000,am.translate(ad,0,1,0,1)),100000):void 0;ac.isInside=void 0!==m&&0<=m&&m<=am.len&&0<=E&&E<=an.len;ac.clientX=ag?J(an.translate(af,0,0,0,1,aj)):E;ac.negative=ac.y<(ae||0);ac.category=al&&void 0!==al[ac.x]?al[ac.x]:ac.x;ac.isNull||(void 0!==l&&(aa=Math.min(aa,Math.abs(E-l))),l=E);ac.zone=this.zones.length&&ac.getZone()}this.closestPointRangePx=aa},getValidPoints:function(e,d){var f=this.chart;return I(e||this.points||[],function(b){return d&&!f.isInsidePlot(b.plotX,b.plotY,f.inverted)?!1:!b.isNull})},setClip:function(A){var z=this.chart,x=this.options,u=z.renderer,w=z.inverted,q=this.clipBox,t=q||z.clipBox,l=this.sharedClipKey||["_sharedClip",A&&A.duration,A&&A.easing,t.height,x.xAxis,x.yAxis].join(),p=z[l],r=z[l+"m"];p||(A&&(t.width=0,z[l+"m"]=r=u.clipRect(-99,w?-z.plotLeft:-z.plotTop,99,w?z.chartWidth:z.chartHeight)),z[l]=p=u.clipRect(t),p.count={length:0});A&&!p.count[this.index]&&(p.count[this.index]=!0,p.count.length+=1);!1!==x.clip&&(this.group.clip(A||q?p:z.clipRect),this.markerGroup.clip(r),this.sharedClipKey=l);A||(p.count[this.index]&&(delete p.count[this.index],--p.count.length),0===p.count.length&&l&&z[l]&&(q||(z[l]=z[l].destroy()),z[l+"m"]&&(this.markerGroup.clip(),z[l+"m"]=z[l+"m"].destroy())))},animate:function(f){var d=this.chart,l=M(this.options.animation),g;f?this.setClip(l):(g=this.sharedClipKey,(f=d[g])&&f.animate({width:d.plotSizeX},l),d[g+"m"]&&d[g+"m"].animate({width:d.plotSizeX+99},l),this.animate=null)},afterAnimate:function(){this.setClip();N(this,"afterAnimate")},drawPoints:function(){var G=this.points,F=this.chart,E,B,C,x,A=this.options.marker,u,z,r,w,m=this.markerGroup,H=y(A.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*A.radius);if(!1!==A.enabled||this._hasPointMarkers){for(B=0;B<G.length;B++){C=G[B],E=C.plotY,x=C.graphic,u=C.marker||{},z=!!C.marker,r=H&&void 0===u.enabled||u.enabled,w=C.isInside,r&&P(E)&&null!==C.y?(E=y(u.symbol,this.symbol),C.hasImage=0===E.indexOf("url"),r=this.markerAttribs(C,C.selected&&"select"),x?x[w?"show":"hide"](!0).animate(r):w&&(0<r.width||C.hasImage)&&(C.graphic=x=F.renderer.symbol(E,r.x,r.y,r.width,r.height,z?u:A).add(m)),x&&x.attr(this.pointAttribs(C,C.selected&&"select")),x&&x.addClass(C.getClassName(),!0)):x&&(C.graphic=x.destroy())}}},markerAttribs:function(g,f){var n=this.options.marker,l=g.marker||{},m=y(l.radius,n.radius);f&&(n=n.states[f],f=l.states&&l.states[f],m=y(f&&f.radius,n&&n.radius,m+(n&&n.radiusPlus||0)));g.hasImage&&(m=0);g={x:Math.floor(g.plotX)-m,y:g.plotY-m};m&&(g.width=g.height=2*m);return g},pointAttribs:function(l,g){var u=this.options.marker,q=l&&l.options,r=q&&q.marker||{},m=this.color,p=q&&q.color,t=l&&l.color,q=y(r.lineWidth,u.lineWidth);l=l&&l.zone&&l.zone.color;m=p||l||t||m;l=r.fillColor||u.fillColor||m;m=r.lineColor||u.lineColor||m;g&&(u=u.states[g],g=r.states&&r.states[g]||{},q=y(g.lineWidth,u.lineWidth,q+y(g.lineWidthPlus,u.lineWidthPlus,0)),l=g.fillColor||u.fillColor||l,m=g.lineColor||u.lineColor||m);return{stroke:m,"stroke-width":q,fill:l}},destroy:function(){var l=this,g=l.chart,u=/AppleWebKit\/533/.test(j.navigator.userAgent),r,q=l.data||[],p,t,d;N(l,"destroy");h(l);L(l.axisTypes||[],function(c){(d=l[c])&&d.series&&(U(d.series,l),d.isDirty=d.forceRedraw=!0)});l.legendItem&&l.chart.legend.destroyItem(l);for(r=q.length;r--;){(p=q[r])&&p.destroy&&p.destroy()}l.points=null;clearTimeout(l.animationTimeout);for(t in l){l[t] instanceof i&&!l[t].survive&&(r=u&&"group"===t?"hide":"destroy",l[t][r]())}g.hoverSeries===l&&(g.hoverSeries=null);U(g.series,l);g.orderSeries();for(t in l){delete l[t]}},getGraphPath:function(A,z,x){var u=this,w=u.options,q=w.step,t,l=[],p=[],r;A=A||u.points;(t=A.reversed)&&A.reverse();(q={right:1,center:2}[q]||q&&3)&&t&&(q=4-q);!w.connectNulls||z||x||(A=this.getValidPoints(A));L(A,function(e,b){var g=e.plotX,d=e.plotY,c=A[b-1];(e.leftCliff||c&&c.rightCliff)&&!x&&(r=!0);e.isNull&&!Q(z)&&0<b?r=!w.connectNulls:e.isNull&&!z?r=!0:(0===b||r?b=["M",e.plotX,e.plotY]:u.getPointSpline?b=u.getPointSpline(A,e,b):q?(b=1===q?["L",c.plotX,d]:2===q?["L",(c.plotX+g)/2,c.plotY,"L",(c.plotX+g)/2,d]:["L",g,c.plotY],b.push("L",g,d)):b=["L",g,d],p.push(e.x),q&&p.push(e.x),l.push.apply(l,b),r=!1)});l.xMap=p;return u.graphPath=l},drawGraph:function(){var f=this,d=this.options,l=(this.gappedPath||this.getGraphPath).call(this),g=[["graph","highcharts-graph",d.lineColor||this.color,d.dashStyle]];L(this.zones,function(e,b){g.push(["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+b+" "+(e.className||""),e.color||f.color,e.dashStyle||d.dashStyle])});L(g,function(m,n){var b=m[0],c=f[b];c?(c.endX=l.xMap,c.animate({d:l})):l.length&&(f[b]=f.chart.renderer.path(l).addClass(m[1]).attr({zIndex:1}).add(f.group),c={stroke:m[2],"stroke-width":d.lineWidth,fill:f.fillGraph&&f.color||"none"},m[3]?c.dashstyle=m[3]:"square"!==d.linecap&&(c["stroke-linecap"]=c["stroke-linejoin"]="round"),c=f[b].attr(c).shadow(2>n&&d.shadow));c&&(c.startX=l.xMap,c.isArea=l.isArea)})},applyZones:function(){var am=this,al=this.chart,ak=al.renderer,ai=this.zones,aj,ah,ad=this.clips||[],ae,ag=this.graph,ac=this.area,af=Math.max(al.chartWidth,al.chartHeight),Y=this[(this.zoneAxis||"y")+"Axis"],E,B,aa=al.inverted,q,H,G,Z,ab=!1;ai.length&&(ag||ac)&&Y&&void 0!==Y.min&&(B=Y.reversed,q=Y.horiz,ag&&ag.hide(),ac&&ac.hide(),E=Y.getExtremes(),L(ai,function(c,b){aj=B?q?al.plotWidth:0:q?0:Y.toPixels(E.min);aj=Math.min(Math.max(y(ah,aj),0),af);ah=Math.min(Math.max(Math.round(Y.toPixels(y(c.value,E.max),!0)),0),af);ab&&(aj=ah=Y.toPixels(E.max));H=Math.abs(aj-ah);G=Math.min(aj,ah);Z=Math.max(aj,ah);Y.isXAxis?(ae={x:aa?Z:G,y:0,width:H,height:af},q||(ae.x=al.plotHeight-ae.x)):(ae={x:0,y:aa?Z:G,width:af,height:H},q&&(ae.y=al.plotWidth-ae.y));aa&&ak.isVML&&(ae=Y.isXAxis?{x:0,y:B?G:Z,height:ae.width,width:al.chartWidth}:{x:ae.y-al.plotLeft-al.spacingBox.x,y:0,width:ae.height,height:al.chartHeight});ad[b]?ad[b].animate(ae):(ad[b]=ak.clipRect(ae),ag&&am["zone-graph-"+b].clip(ad[b]),ac&&am["zone-area-"+b].clip(ad[b]));ab=c.value>E.max}),this.clips=ad)},invertGroups:function(f){function d(){L(["group","markerGroup"],function(c){l[c]&&(l[c].width=l.yAxis.len,l[c].height=l.xAxis.len,l[c].invert(f))})}var l=this,g;l.xAxis&&(g=K(l.chart,"resize",d),K(l,"destroy",g),d(f),l.invertGroups=d)},plotGroup:function(l,g,r,p,q){var m=this[l],n=!m;n&&(this[l]=m=this.chart.renderer.g(g).attr({zIndex:p||0.1}).add(q),m.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));m.attr({visibility:r})[n?"attr":"animate"](this.getPlotBox());return m},getPlotBox:function(){var e=this.chart,d=this.xAxis,f=this.yAxis;e.inverted&&(d=f,f=this.xAxis);return{translateX:d?d.left:e.plotLeft,translateY:f?f.top:e.plotTop,scaleX:1,scaleY:1}},render:function(){var B=this,A=B.chart,z,w=B.options,x=!!B.animate&&A.renderer.isSVG&&M(w.animation).duration,u=B.visible?"inherit":"hidden",q=w.zIndex,r=B.hasRendered,t=A.seriesGroup,l=A.inverted;z=B.plotGroup("group","series",u,q,t);B.markerGroup=B.plotGroup("markerGroup","markers",u,q,t);x&&B.animate(!0);z.inverted=B.isCartesian?l:!1;B.drawGraph&&(B.drawGraph(),B.applyZones());B.drawDataLabels&&B.drawDataLabels();B.visible&&B.drawPoints();B.drawTracker&&!1!==B.options.enableMouseTracking&&B.drawTracker();B.invertGroups(l);!1===w.clip||B.sharedClipKey||r||z.clip(A.clipRect);x&&B.animate();r||(B.animationTimeout=s(function(){B.afterAnimate()},x));B.isDirty=!1;B.hasRendered=!0},redraw:function(){var g=this.chart,f=this.isDirty||this.isDirtyData,n=this.group,l=this.xAxis,m=this.yAxis;n&&(g.inverted&&n.attr({width:g.plotWidth,height:g.plotHeight}),n.animate({translateX:y(l&&l.left,g.plotLeft),translateY:y(m&&m.top,g.plotTop)}));this.translate();this.render();f&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(g,f){var n=this.xAxis,l=this.yAxis,m=this.chart.inverted;return this.searchKDTree({clientX:m?n.len-g.chartY+n.pos:g.chartX-n.pos,plotY:m?l.len-g.chartX+l.pos:g.chartY-l.pos},f)},buildKDTree:function(){function e(n,l,m){var b,g;if(g=n&&n.length){return b=d.kdAxisArray[l%m],n.sort(function(p,c){return p[b]-c[b]}),g=Math.floor(g/2),{point:n[g],left:e(n.slice(0,g),l+1,m),right:e(n.slice(g+1),l+1,m)}}}this.buildingKdTree=!0;var d=this,f=d.kdDimensions;delete d.kdTree;s(function(){d.kdTree=e(d.getValidPoints(null,!d.directTouch),f,f);d.buildingKdTree=!1},d.options.kdNow?0:1)},searchKDTree:function(l,g){function r(z,x,u,e){var f=x.point,w=p.kdAxisArray[u%e],d,A,c=f;A=Q(z[q])&&Q(f[q])?Math.pow(z[q]-f[q],2):null;d=Q(z[m])&&Q(f[m])?Math.pow(z[m]-f[m],2):null;d=(A||0)+(d||0);f.dist=Q(d)?Math.sqrt(d):Number.MAX_VALUE;f.distX=Q(A)?Math.sqrt(A):Number.MAX_VALUE;w=z[w]-f[w];d=0>w?"left":"right";A=0>w?"right":"left";x[d]&&(d=r(z,x[d],u+1,e),c=d[n]<c[n]?d:f);x[A]&&Math.sqrt(w*w)<c[n]&&(z=r(z,x[A],u+1,e),c=z[n]<c[n]?z:c);return c}var p=this,q=this.kdAxisArray[0],m=this.kdAxisArray[1],n=g?"distX":"dist";this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree){return r(l,this.kdTree,this.kdDimensions,this.kdDimensions)}}})})(a);(function(j){function c(o,t,l,r,q){var s=o.chart.inverted;this.axis=o;this.isNegative=l;this.options=t;this.x=r;this.total=null;this.points={};this.stack=q;this.rightCliff=this.leftCliff=0;this.alignOptions={align:t.align||(s?l?"left":"right":"center"),verticalAlign:t.verticalAlign||(s?"middle":l?"bottom":"top"),y:e(t.y,s?4:l?14:-6),x:e(t.x,s?l?-6:6:0)};this.textAlign=t.textAlign||(s?l?"right":"left":"center")}var d=j.Axis,k=j.Chart,n=j.correctFloat,b=j.defined,h=j.destroyObjectProperties,i=j.each,m=j.format,e=j.pick;j=j.Series;c.prototype={destroy:function(){h(this,this.axis)},render:function(g){var l=this.options,f=l.format,f=f?m(f,this):l.formatter.call(this);this.label?this.label.attr({text:f,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(f,null,null,l.useHTML).css(l.style).attr({align:this.textAlign,rotation:l.rotation,visibility:"hidden"}).add(g)},setOffset:function(r,u){var p=this.axis,t=p.chart,s=t.inverted,q=p.reversed,q=this.isNegative&&!q||!this.isNegative&&q,o=p.translate(p.usePercentage?100:this.total,0,0,0,1),p=p.translate(0),p=Math.abs(o-p);r=t.xAxis[0].translate(this.x)+r;var v=t.plotHeight,s={x:s?q?o:o-p:r,y:s?v-r-u:q?v-o-p:v-o,width:s?p:u,height:s?u:p};if(u=this.label){u.align(this.alignOptions,null,s),s=u.alignAttr,u[!1===this.options.crop||t.isInsidePlot(s.x,s.y)?"show":"hide"](!0)}}};k.prototype.getStacks=function(){var f=this;i(f.yAxis,function(g){g.stacks&&g.hasVisibleSeries&&(g.oldStacks=g.stacks)});i(f.series,function(g){!g.options.stacking||!0!==g.visible&&!1!==f.options.chart.ignoreHiddenSeries||(g.stackKey=g.type+e(g.options.stack,""))})};d.prototype.buildStacks=function(){var o=this.series,r,l=e(this.options.reversedStacks,!0),q=o.length,p;if(!this.isXAxis){this.usePercentage=!1;for(p=q;p--;){o[l?p:q-p-1].setStackedPoints()}for(p=q;p--;){r=o[l?p:q-p-1],r.setStackCliffs&&r.setStackCliffs()}if(this.usePercentage){for(p=0;p<q;p++){o[p].setPercentStacks()}}}};d.prototype.renderStackTotals=function(){var q=this.chart,t=q.renderer,o=this.stacks,s,r,p=this.stackTotalGroup;p||(this.stackTotalGroup=p=t.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());p.translate(q.plotLeft,q.plotTop);for(s in o){for(r in q=o[s],q){q[r].render(p)}}};d.prototype.resetStacks=function(){var g=this.stacks,l,f;if(!this.isXAxis){for(l in g){for(f in g[l]){g[l][f].touched<this.stacksTouched?(g[l][f].destroy(),delete g[l][f]):(g[l][f].total=null,g[l][f].cum=null)}}}};d.prototype.cleanStacks=function(){var g,l,f;if(!this.isXAxis){for(l in this.oldStacks&&(g=this.stacks=this.oldStacks),g){for(f in g[l]){g[l][f].cum=g[l][f].total}}}};j.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var R=this.processedXData,O=this.processedYData,Q=[],M=O.length,L=this.options,C=L.threshold,G=L.startFromThreshold?C:0,P=L.stack,L=L.stacking,E=this.stackKey,B="-"+E,o=this.negStacks,N=this.yAxis,r=N.stacks,v=N.oldStacks,s,J,p,D,l,q,H;N.stacksTouched+=1;for(l=0;l<M;l++){q=R[l],H=O[l],s=this.getStackIndicator(s,q,this.index),D=s.key,p=(J=o&&H<(G?0:C))?B:E,r[p]||(r[p]={}),r[p][q]||(v[p]&&v[p][q]?(r[p][q]=v[p][q],r[p][q].total=null):r[p][q]=new c(N,N.options.stackLabels,J,q,P)),p=r[p][q],null!==H&&(p.points[D]=p.points[this.index]=[e(p.cum,G)],b(p.cum)||(p.base=D),p.touched=N.stacksTouched,0<s.index&&!1===this.singleStacks&&(p.points[D][0]=p.points[this.index+","+q+",0"][0])),"percent"===L?(J=J?E:B,o&&r[J]&&r[J][q]?(J=r[J][q],p.total=J.total=Math.max(J.total,p.total)+Math.abs(H)||0):p.total=n(p.total+(Math.abs(H)||0))):p.total=n(p.total+(H||0)),p.cum=e(p.cum,G)+(H||0),null!==H&&(p.points[D].push(p.cum),Q[l]=p.cum)}"percent"===L&&(N.usePercentage=!0);this.stackedYData=Q;N.oldStacks={}}};j.prototype.setPercentStacks=function(){var p=this,r=p.stackKey,f=p.yAxis.stacks,q=p.processedXData,o;i([r,"-"+r],function(l){for(var g=q.length,t,s;g--;){if(t=q[g],o=p.getStackIndicator(o,t,p.index,l),t=(s=f[l]&&f[l][t])&&s.points[o.key]){s=s.total?100/s.total:0,t[0]=n(t[0]*s),t[1]=n(t[1]*s),p.stackedYData[g]=t[1]}}})};j.prototype.getStackIndicator=function(l,p,g,o){!b(l)||l.x!==p||o&&l.key!==o?l={x:p,index:0,key:o}:l.index++;l.key=[g,p,l.index].join();return l}})(a);(function(P){var w=P.addEvent,y=P.animate,h=P.Axis,i=P.createElement,v=P.css,K=P.defined,L=P.each,j=P.erase,J=P.extend,x=P.fireEvent,M=P.inArray,O=P.isNumber,D=P.isObject,s=P.merge,o=P.pick,I=P.Point,N=P.Series,F=P.seriesTypes,k=P.setAnimation,e=P.splat;J(P.Chart.prototype,{addSeries:function(g,f,n){var l,m=this;g&&(f=o(f,!0),x(m,"addSeries",{options:g},function(){l=m.initSeries(g);m.isDirtyLegend=!0;m.linkSeries();f&&m.redraw(n)}));return l},addAxis:function(l,g,q,p){var n=g?"xAxis":"yAxis",m=this.options;l=s(l,{index:this[n].length,isX:g});new h(this,l);m[n]=e(m[n]||{});m[n].push(l);o(q,!0)&&this.redraw(p)},showLoading:function(l){var g=this,q=g.options,n=g.loadingDiv,p=q.loading,m=function(){n&&v(n,{left:g.plotLeft+"px",top:g.plotTop+"px",width:g.plotWidth+"px",height:g.plotHeight+"px"})};n||(g.loadingDiv=n=i("div",{className:"highcharts-loading highcharts-loading-hidden"},null,g.container),g.loadingSpan=i("span",{className:"highcharts-loading-inner"},null,n),w(g,"redraw",m));n.className="highcharts-loading";g.loadingSpan.innerHTML=l||q.lang.loading;v(n,J(p.style,{zIndex:10}));v(g.loadingSpan,p.labelStyle);g.loadingShown||(v(n,{opacity:0,display:""}),y(n,{opacity:p.style.opacity||0.5},{duration:p.showDuration||0}));g.loadingShown=!0;m()},hideLoading:function(){var d=this.options,c=this.loadingDiv;c&&(c.className="highcharts-loading highcharts-loading-hidden",y(c,{opacity:0},{duration:d.loading.hideDuration||100,complete:function(){v(c,{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(d,r){var l,q={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},f=d.chart,b,g;if(f){s(!0,this.options.chart,f);"className" in f&&this.setClassName(f.className);if("inverted" in f||"polar" in f){this.propFromSeries(),b=!0}for(l in f){f.hasOwnProperty(l)&&(-1!==M("chart."+l,this.propsRequireUpdateSeries)&&(g=!0),-1!==M(l,this.propsRequireDirtyBox)&&(this.isDirtyBox=!0))}"style" in f&&this.renderer.setStyle(f.style)}for(l in d){if(this[l]&&"function"===typeof this[l].update){this[l].update(d[l],!1)}else{if("function"===typeof this[q[l]]){this[q[l]](d[l])}}"chart"!==l&&-1!==M(l,this.propsRequireUpdateSeries)&&(g=!0)}d.colors&&(this.options.colors=d.colors);d.plotOptions&&s(!0,this.options.plotOptions,d.plotOptions);L(["xAxis","yAxis","series"],function(c){d[c]&&L(e(d[c]),function(m,n){(n=K(m.id)&&this.get(m.id)||this[c][n])&&n.coll===c&&n.update(m,!1)},this)},this);b&&L(this.axes,function(c){c.update({},!1)});g&&L(this.series,function(c){c.update({},!1)});d.loading&&s(!0,this.options.loading,d.loading);l=f&&f.width;f=f&&f.height;O(l)&&l!==this.chartWidth||O(f)&&f!==this.chartHeight?this.setSize(l,f):o(r,!0)&&this.redraw()},setSubtitle:function(b){this.setTitle(void 0,b)}});J(I.prototype,{update:function(G,E,C,B){function A(){z.applyOptions(G);null===z.y&&p&&(z.graphic=p.destroy());D(G,!0)&&(p&&p.element&&G&&G.marker&&G.marker.symbol&&(z.graphic=p.destroy()),G&&G.dataLabels&&z.dataLabel&&(z.dataLabel=z.dataLabel.destroy()));q=z.index;u.updateParallelArrays(z,q);r.data[q]=D(r.data[q],!0)?z.options:G;u.isDirty=u.isDirtyData=!0;!u.fixedBox&&u.hasCartesianSeries&&(t.isDirtyBox=!0);"point"===r.legendType&&(t.isDirtyLegend=!0);E&&t.redraw(C)}var z=this,u=z.series,p=z.graphic,q,t=u.chart,r=u.options;E=o(E,!0);!1===B?A():z.firePointEvent("update",{options:G},A)},remove:function(d,c){this.series.removePoint(M(this,this.series.data),d,c)}});J(N.prototype,{addPoint:function(S,R,Q,H){var G=this.options,E=this.data,C=this.chart,u=this.xAxis,u=u&&u.hasNames&&u.names,z=G.data,B,t,A=this.xData,r,T;R=o(R,!0);B={series:this};this.pointClass.prototype.applyOptions.apply(B,[S]);T=B.x;r=A.length;if(this.requireSorting&&T<A[r-1]){for(t=!0;r&&A[r-1]>T;){r--}}this.updateParallelArrays(B,"splice",r,0,0);this.updateParallelArrays(B,r);u&&B.name&&(u[T]=B.name);z.splice(r,0,S);t&&(this.data.splice(r,0,null),this.processData());"point"===G.legendType&&this.generatePoints();Q&&(E[0]&&E[0].remove?E[0].remove(!1):(E.shift(),this.updateParallelArrays(B,"shift"),z.shift()));this.isDirtyData=this.isDirty=!0;R&&C.redraw(H)},removePoint:function(B,A,z){var t=this,u=t.data,r=u[B],q=t.points,l=t.chart,p=function(){q&&q.length===u.length&&q.splice(B,1);u.splice(B,1);t.options.data.splice(B,1);t.updateParallelArrays(r||{series:t},"splice",B,1);r&&r.destroy();t.isDirty=!0;t.isDirtyData=!0;A&&l.redraw()};k(z,l);A=o(A,!0);r?r.firePointEvent("remove",null,p):p()},remove:function(l,g,q){function n(){p.destroy();m.isDirtyLegend=m.isDirtyBox=!0;m.linkSeries();o(l,!0)&&m.redraw(g)}var p=this,m=p.chart;!1!==q?x(p,"remove",null,n):n()},update:function(C,B){var A=this,u=this.chart,z=this.userOptions,t=this.type,n=C.type||z.type||u.options.chart.type,l=F[t].prototype,f=["group","markerGroup","dataLabelsGroup"],r;if(n&&n!==t||void 0!==C.zIndex){f.length=0}L(f,function(b){f[b]=A[b];delete A[b]});C=s(z,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},C);this.remove(!1,null,!1);for(r in l){this[r]=void 0}J(this,F[n||t].prototype);L(f,function(b){A[b]=f[b]});this.init(u,C);u.linkSeries();o(B,!0)&&u.redraw(!1)}});J(h.prototype,{update:function(f,d){var g=this.chart;f=g.options[this.coll][this.options.index]=s(this.userOptions,f);this.destroy(!0);this.init(g,J(f,{events:void 0}));g.isDirtyBox=!0;o(d,!0)&&g.redraw()},remove:function(g){for(var f=this.chart,n=this.coll,l=this.series,m=l.length;m--;){l[m]&&l[m].remove(!1)}j(f.axes,this);j(f[n],this);f.options[n].splice(this.options.index,1);L(f[n],function(d,c){d.options.index=c});this.destroy();f.isDirtyBox=!0;o(g,!0)&&f.redraw()},setTitle:function(d,c){this.update({title:d},c)},setCategories:function(d,c){this.update({categories:d},c)}})})(a);(function(c){var i=c.color,b=c.each,d=c.map,e=c.pick,h=c.Series,f=c.seriesType;f("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var C=[],w=[],v=this.xAxis,k=this.yAxis,x=k.stacks[this.stackKey],B={},o=this.points,j=this.index,D=k.series,u=D.length,A,s=e(k.options.reversedStacks,!0)?1:-1,F,y;if(this.options.stacking){for(F=0;F<o.length;F++){B[o[F].x]=o[F]}for(y in x){null!==x[y].total&&w.push(y)}w.sort(function(l,g){return l-g});A=d(D,function(){return this.visible});b(w,function(q,m){var n=0,g,l;if(B[q]&&!B[q].isNull){C.push(B[q]),b([-1,1],function(t){var E=1===t?"rightNull":"leftNull",r=0,z=x[w[m+t]];if(z){for(F=j;0<=F&&F<u;){g=z.points[F],g||(F===j?B[q][E]=!0:A[F]&&(l=x[q].points[F])&&(r-=l[1]-l[0])),F+=s}}B[q][1===t?"rightCliff":"leftCliff"]=r})}else{for(F=j;0<=F&&F<u;){if(g=x[q].points[F]){n=g[1];break}F+=s}n=k.toPixels(n,!0);C.push({isNull:!0,plotX:v.toPixels(q,!0),plotY:n,yBottom:n})}})}return C},getGraphPath:function(F){var u=h.prototype.getGraphPath,s=this.options,k=s.stacking,w=this.yAxis,B,l,j=[],G=[],r=this.index,A,o=w.stacks[this.stackKey],H=s.threshold,y=w.getThreshold(s.threshold),v,s=s.connectNulls||"percent"===k,D=function(m,C,x){var q=F[m];m=k&&o[q.x].points[r];var t=q[x+"Null"]||0;x=q[x+"Cliff"]||0;var z,n,q=!0;x||t?(z=(t?m[0]:m[1])+x,n=m[0]+x,q=!!t):!k&&F[C]&&F[C].isNull&&(z=n=H);void 0!==z&&(G.push({plotX:A,plotY:null===z?y:w.getThreshold(z),isNull:q}),j.push({plotX:A,plotY:null===n?y:w.getThreshold(n),doCurve:!1}))};F=F||this.points;k&&(F=this.getStackPoints());for(B=0;B<F.length;B++){if(l=F[B].isNull,A=e(F[B].rectPlotX,F[B].plotX),v=e(F[B].yBottom,y),!l||s){s||D(B,B-1,"left"),l&&!k&&s||(G.push(F[B]),j.push({x:B,plotX:A,plotY:v})),s||D(B,B+1,"right")}}B=u.call(this,G,!0,!0);j.reversed=!0;l=u.call(this,j,!0,!0);l.length&&(l[0]="L");l=B.concat(l);u=u.call(this,G,!1,s);l.xMap=B.xMap;this.areaPath=l;return u},drawGraph:function(){this.areaPath=[];h.prototype.drawGraph.apply(this);var k=this,m=this.areaPath,j=this.options,n=[["area","highcharts-area",this.color,j.fillColor]];b(this.zones,function(l,g){n.push(["zone-area-"+g,"highcharts-area highcharts-zone-area-"+g+" "+l.className,l.color||k.color,l.fillColor||j.fillColor])});b(n,function(o){var g=o[0],l=k[g];l?(l.endX=m.xMap,l.animate({d:m})):(l=k[g]=k.chart.renderer.path(m).addClass(o[1]).attr({fill:e(o[3],i(o[2]).setOpacity(e(j.fillOpacity,0.75)).get()),zIndex:0}).add(k.group),l.isArea=!0);l.startX=m.xMap;l.shiftUnit=j.step?2:1})},drawLegendSymbol:c.LegendSymbolMixin.drawRectangle})})(a);(function(b){var c=b.pick;b=b.seriesType;b("spline","line",{},{getPointSpline:function(o,p,s){var e=p.plotX,j=p.plotY,k=o[s-1];s=o[s+1];var t,i,h,m;if(k&&!k.isNull&&!1!==k.doCurve&&s&&!s.isNull&&!1!==s.doCurve){o=k.plotY;h=s.plotX;s=s.plotY;var n=0;t=(1.5*e+k.plotX)/2.5;i=(1.5*j+o)/2.5;h=(1.5*e+h)/2.5;m=(1.5*j+s)/2.5;h!==t&&(n=(m-i)*(h-e)/(h-t)+j-m);i+=n;m+=n;i>o&&i>j?(i=Math.max(o,j),m=2*j-i):i<o&&i<j&&(i=Math.min(o,j),m=2*j-i);m>s&&m>j?(m=Math.max(s,j),i=2*j-m):m<s&&m<j&&(m=Math.min(s,j),i=2*j-m);p.rightContX=h;p.rightContY=m}p=["C",c(k.rightContX,k.plotX),c(k.rightContY,k.plotY),c(t,e),c(i,j),e,j];k.rightContX=k.rightContY=null;return p}})})(a);(function(c){var d=c.seriesTypes.area.prototype,b=c.seriesType;b("areaspline","spline",c.defaultPlotOptions.area,{getStackPoints:d.getStackPoints,getGraphPath:d.getGraphPath,setStackCliffs:d.setStackCliffs,drawGraph:d.drawGraph,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle})})(a);(function(k){var d=k.animObject,e=k.color,m=k.each,o=k.extend,b=k.isNumber,i=k.merge,j=k.pick,n=k.Series,h=k.seriesType,c=k.svg;h("column","line",{borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:0.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(){n.prototype.init.apply(this,arguments);var g=this,f=g.chart;f.hasRendered&&m(f.series,function(l){l.type===g.type&&(l.isDirty=!0)})},getColumnMetrics:function(){var A=this,z=A.options,w=A.xAxis,v=A.yAxis,B=w.reversed,u,y={},s=0;!1===z.grouping?s=1:m(A.chart.series,function(g){var q=g.options,r=g.yAxis,l;g.type===A.type&&g.visible&&v.len===r.len&&v.pos===r.pos&&(q.stacking?(u=g.stackKey,void 0===y[u]&&(y[u]=s++),l=y[u]):!1!==q.grouping&&(l=s++),g.columnIndex=l)});var p=Math.min(Math.abs(w.transA)*(w.ordinalSlope||z.pointRange||w.closestPointRange||w.tickInterval||1),w.len),f=p*z.groupPadding,x=(p-2*f)/(s||1),z=Math.min(z.maxPointWidth||w.len,j(z.pointWidth,x*(1-2*z.pointPadding)));A.columnMetrics={width:z,offset:(x-z)/2+(f+((A.columnIndex||0)+(B?1:0))*x-p/2)*(B?-1:1)};return A.columnMetrics},crispCol:function(q,p,s,r){var t=this.chart,l=this.borderWidth,u=-(l%2?0.5:0),l=l%2?0.5:1;t.inverted&&t.renderer.isVML&&(l+=1);s=Math.round(q+s)+u;q=Math.round(q)+u;r=Math.round(p+r)+l;u=0.5>=Math.abs(p)&&0.5<r;p=Math.round(p)+l;r-=p;u&&r&&(--p,r+=1);return{x:q,y:p,width:s-q,height:r}},translate:function(){var A=this,z=A.chart,w=A.options,v=A.dense=2>A.closestPointRange*A.xAxis.transA,v=A.borderWidth=j(w.borderWidth,v?0:1),B=A.yAxis,u=A.translatedThreshold=B.getThreshold(w.threshold),y=j(w.minPointLength,5),s=A.getColumnMetrics(),p=s.width,f=A.barW=Math.max(p,1+2*v),x=A.pointXOffset=s.offset;z.inverted&&(u-=0.5);w.pointPadding&&(f=Math.ceil(f));n.prototype.translate.apply(A);m(A.points,function(F){var C=j(F.yBottom,u),G=999+Math.abs(C),G=Math.min(Math.max(-G,F.plotY),B.len+G),t=F.plotX+x,r=f,D=Math.min(G,C),E,q=Math.max(G,C)-D;Math.abs(q)<y&&y&&(q=y,E=!B.reversed&&!F.negative||B.reversed&&F.negative,D=Math.abs(D-u)>y?C-y:u-(E?y:0));F.barX=t;F.pointWidth=p;F.tooltipPos=z.inverted?[B.len+B.pos-z.plotLeft-G,A.xAxis.len-t-r/2,q]:[t+r/2,G+B.pos-z.plotTop,q];F.shapeType="rect";F.shapeArgs=A.crispCol.apply(A,F.isNull?[F.plotX,B.len/2,0,0]:[t,D,r,q])})},getSymbol:k.noop,drawLegendSymbol:k.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(x,w){var u=this.options,t,s=this.pointAttrToOptions||{};t=s.stroke||"borderColor";var q=s["stroke-width"]||"borderWidth",v=x&&x.color||this.color,p=x[t]||u[t]||this.color||v,r=x[q]||u[q]||this[q]||0,s=u.dashStyle;x&&this.zones.length&&(v=(v=x.getZone())&&v.color||x.options.color||this.color);w&&(x=u.states[w],w=x.brightness,v=x.color||void 0!==w&&e(v).brighten(x.brightness).get()||v,p=x[t]||p,r=x[q]||r,s=x.dashStyle||s);t={fill:v,stroke:p,"stroke-width":r};u.borderRadius&&(t.r=u.borderRadius);s&&(t.dashstyle=s);return t},drawPoints:function(){var r=this,p=this.chart,u=r.options,q=p.renderer,s=u.animationLimit||250,g;m(r.points,function(l){var f=l.graphic;if(b(l.plotY)&&null!==l.y){g=l.shapeArgs;if(f){f[p.pointCount<s?"animate":"attr"](i(g))}else{l.graphic=f=q[l.shapeType](g).attr({"class":l.getClassName()}).add(l.group||r.group)}f.attr(r.pointAttribs(l,l.selected&&"select")).shadow(u.shadow,null,u.stacking&&!u.borderRadius)}else{f&&(l.graphic=f.destroy())}})},animate:function(q){var p=this,t=this.yAxis,s=p.options,r=this.chart.inverted,l={};c&&(q?(l.scaleY=0.001,q=Math.min(t.pos+t.len,Math.max(t.pos,t.toPixels(s.threshold))),r?l.translateX=q-t.len:l.translateY=q,p.group.attr(l)):(l[r?"translateX":"translateY"]=t.pos,p.group.animate(l,o(d(p.options.animation),{step:function(f,g){p.group.attr({scaleY:Math.max(0.001,g.pos)})}})),p.animate=null))},remove:function(){var g=this,f=g.chart;f.hasRendered&&m(f.series,function(l){l.type===g.type&&(l.isDirty=!0)});n.prototype.remove.apply(g,arguments)}})})(a);(function(b){b=b.seriesType;b("bar","column",null,{inverted:!0})})(a);(function(b){var c=b.Series;b=b.seriesType;b("scatter","line",{lineWidth:0,marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&c.prototype.drawGraph.call(this)}})})(a);(function(c){var d=c.pick,b=c.relativeLength;c.CenteredSeriesMixin={getCenter:function(){var h=this.options,j=this.chart,m=2*(h.slicedOffset||0),k=j.plotWidth-2*m,j=j.plotHeight-2*m,o=h.center,o=[d(o[0],"50%"),d(o[1],"50%"),h.size||"100%",h.innerSize||0],i=Math.min(k,j),e,n;for(e=0;4>e;++e){n=o[e],h=2>e||2===e&&/%$/.test(n),o[e]=b(n,[k,j,i,o[2]][e])+(h?m:0)}o[3]>o[2]&&(o[3]=o[2]);return o}}})(a);(function(n){var e=n.addEvent,h=n.defined,o=n.each,s=n.extend,b=n.inArray,j=n.noop,k=n.pick,p=n.Point,i=n.Series,c=n.seriesType,m=n.setAnimation;c("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:0.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:n.seriesTypes.column.prototype.pointAttribs,animate:function(l){var g=this,r=g.points,q=g.startAngleRad;l||(o(r,function(f){var u=f.graphic,t=f.shapeArgs;u&&(u.attr({r:f.startR||g.center[3]/2,start:q,end:q}),u.animate({r:t.r,start:t.start,end:t.end},g.options.animation))}),g.animate=null)},updateTotals:function(){var q,u=0,t=this.points,r=t.length,l,v=this.options.ignoreHiddenPoint;for(q=0;q<r;q++){l=t[q],0>l.y&&(l.y=null),u+=v&&!l.visible?0:l.y}this.total=u;for(q=0;q<r;q++){l=t[q],l.percentage=0<u&&(l.visible||!v)?l.y/u*100:0,l.total=u}},generatePoints:function(){i.prototype.generatePoints.call(this);this.updateTotals()},translate:function(H){this.generatePoints();var G=0,D=this.options,B=D.slicedOffset,x=B+(D.borderWidth||0),E,v,z,t=D.startAngle||0,C=this.startAngleRad=Math.PI/180*(t-90),t=(this.endAngleRad=Math.PI/180*(k(D.endAngle,t+360)-90))-C,f=this.points,J=D.dataLabels.distance,D=D.ignoreHiddenPoint,I,A=f.length,F;H||(this.center=H=this.getCenter());this.getX=function(d,g){z=Math.asin(Math.min((d-H[1])/(H[2]/2+J),1));return H[0]+(g?-1:1)*Math.cos(z)*(H[2]/2+J)};for(I=0;I<A;I++){F=f[I];E=C+G*t;if(!D||F.visible){G+=F.percentage/100}v=C+G*t;F.shapeType="arc";F.shapeArgs={x:H[0],y:H[1],r:H[2]/2,innerR:H[3]/2,start:Math.round(1000*E)/1000,end:Math.round(1000*v)/1000};z=(v+E)/2;z>1.5*Math.PI?z-=2*Math.PI:z<-Math.PI/2&&(z+=2*Math.PI);F.slicedTranslation={translateX:Math.round(Math.cos(z)*B),translateY:Math.round(Math.sin(z)*B)};E=Math.cos(z)*H[2]/2;v=Math.sin(z)*H[2]/2;F.tooltipPos=[H[0]+0.7*E,H[1]+0.7*v];F.half=z<-Math.PI/2||z>Math.PI/2?1:0;F.angle=z;x=Math.min(x,J/5);F.labelPos=[H[0]+E+Math.cos(z)*J,H[1]+v+Math.sin(z)*J,H[0]+E+Math.cos(z)*x,H[1]+v+Math.sin(z)*x,H[0]+E,H[1]+v,0>J?"center":F.half?"right":"left",z]}},drawGraph:null,drawPoints:function(){var q=this,u=q.chart.renderer,t,r,l,w,v=q.options.shadow;v&&!q.shadowGroup&&(q.shadowGroup=u.g("shadow").add(q.group));o(q.points,function(d){if(null!==d.y){r=d.graphic;w=d.shapeArgs;t=d.sliced?d.slicedTranslation:{};var f=d.shadowGroup;v&&!f&&(f=d.shadowGroup=u.g("shadow").add(q.shadowGroup));f&&f.attr(t);l=q.pointAttribs(d,d.selected&&"select");r?r.setRadialReference(q.center).attr(l).animate(s(w,t)):(d.graphic=r=u[d.shapeType](w).addClass(d.getClassName()).setRadialReference(q.center).attr(t).add(q.group),d.visible||r.attr({visibility:"hidden"}),r.attr(l).attr({"stroke-linejoin":"round"}).shadow(v,f))}})},searchPoint:j,sortByAngle:function(f,g){f.sort(function(l,d){return void 0!==l.angle&&(d.angle-l.angle)*g})},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,getCenter:n.CenteredSeriesMixin.getCenter,getSymbol:j},{init:function(){p.prototype.init.apply(this,arguments);var f=this,g;f.name=k(f.name,"Slice");g=function(d){f.slice("select"===d.type)};e(f,"select",g);e(f,"unselect",g);return f},setVisible:function(q,t){var l=this,r=l.series,f=r.chart,u=r.options.ignoreHiddenPoint;t=k(t,u);q!==l.visible&&(l.visible=l.options.visible=q=void 0===q?!l.visible:q,r.options.data[b(l,r.data)]=l.options,o(["graphic","dataLabel","connector","shadowGroup"],function(d){if(l[d]){l[d][q?"show":"hide"](!0)}}),l.legendItem&&f.legend.colorizeItem(l,q),q||"hover"!==l.state||l.setState(""),u&&(r.isDirty=!0),t&&f.redraw())},slice:function(q,r,f){var d=this.series;m(f,d.chart);k(r,!0);this.sliced=this.options.sliced=q=h(q)?q:!this.sliced;d.options.data[b(this,d.data)]=this.options;q=q?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(q);this.shadowGroup&&this.shadowGroup.animate(q)},haloPath:function(f){var d=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+f,d.r+f,{innerR:this.shapeArgs.r,start:d.start,end:d.end})}})})(a);(function(v){var j=v.addEvent,k=v.arrayMax,w=v.defined,y=v.each,c=v.extend,n=v.format,o=v.map,x=v.merge,m=v.noop,h=v.pick,s=v.relativeLength,t=v.Series,i=v.seriesTypes,e=v.stableSort;v.distribute=function(r,p){function B(g,d){return g.target-d.target}var A,u=!0,f=r,z=[],q;q=0;for(A=r.length;A--;){q+=r[A].size}if(q>p){e(r,function(g,d){return(d.rank||0)-(g.rank||0)});for(q=A=0;q<=p;){q+=r[A].size,A++}z=r.splice(A-1,r.length)}e(r,B);for(r=o(r,function(b){return{size:b.size,targets:[b.target]}});u;){for(A=r.length;A--;){u=r[A],q=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=Math.min(Math.max(0,q-u.size/2),p-u.size)}A=r.length;for(u=!1;A--;){0<A&&r[A-1].pos+r[A-1].size>r[A].pos&&(r[A-1].size+=r[A].size,r[A-1].targets=r[A-1].targets.concat(r[A].targets),r[A-1].pos+r[A-1].size>p&&(r[A-1].pos=p-r[A-1].size),r.splice(A,1),u=!0)}}A=0;y(r,function(g){var d=0;y(g.targets,function(){f[A].pos=g.pos+d;d+=f[A].size;A++})});f.push.apply(f,z);e(f,B)};t.prototype.drawDataLabels=function(){var F=this,E=F.options,D=E.dataLabels,C=F.points,A,u,B=F.hasRendered||0,q,g,G=h(D.defer,!0),z=F.chart.renderer;if(D.enabled||F._hasPointLabels){F.dlProcessOptions&&F.dlProcessOptions(D),g=F.plotGroup("dataLabelsGroup","data-labels",G&&!B?"hidden":"visible",D.zIndex||6),G&&(g.attr({opacity:+B}),B||j(F,"afterAnimate",function(){F.visible&&g.show(!0);g[E.animation?"animate":"attr"]({opacity:1},{duration:200})})),u=D,y(C,function(p){var r,f=p.dataLabel,b,l,K,H=p.connector,J=!f,I;A=p.dlOptions||p.options&&p.options.dataLabels;if(r=h(A&&A.enabled,u.enabled)&&null!==p.y){for(l in D=x(u,A),b=p.getLabelConfig(),q=D.format?n(D.format,b):D.formatter.call(b,D),I=D.style,K=D.rotation,I.color=h(D.color,I.color,F.color,"#000000"),"contrast"===I.color&&(I.color=D.inside||0>D.distance||E.stacking?z.getContrast(p.color||F.color):"#000000"),E.cursor&&(I.cursor=E.cursor),b={fill:D.backgroundColor,stroke:D.borderColor,"stroke-width":D.borderWidth,r:D.borderRadius||0,rotation:K,padding:D.padding,zIndex:1},b){void 0===b[l]&&delete b[l]}}!f||r&&w(q)?r&&w(q)&&(f?b.text=q:(f=p.dataLabel=z[K?"text":"label"](q,0,-9999,D.shape,null,null,D.useHTML,null,"data-label"),f.addClass("highcharts-data-label-color-"+p.colorIndex+" "+(D.className||"")+(D.useHTML?"highcharts-tracker":""))),f.attr(b),f.css(I).shadow(D.shadow),f.added||f.add(g),F.alignDataLabel(p,f,D,null,J)):(p.dataLabel=f.destroy(),H&&(p.connector=H.destroy()))})}};t.prototype.alignDataLabel=function(J,I,H,G,D){var C=this.chart,F=C.inverted,z=h(J.plotX,-9999),r=h(J.plotY,-9999),A=I.getBBox(),B,q=H.rotation,L=H.align,K=this.visible&&(J.series.forceDL||C.isInsidePlot(z,Math.round(r),F)||G&&C.isInsidePlot(z,F?G.x+1:G.y+G.height-1,F)),M="justify"===h(H.overflow,"justify");K&&(B=H.style.fontSize,B=C.renderer.fontMetrics(B,I).b,G=c({x:F?C.plotWidth-r:z,y:Math.round(F?C.plotHeight-z:r),width:0,height:0},G),c(H,{width:A.width,height:A.height}),q?(M=!1,F=C.renderer.rotCorr(B,q),F={x:G.x+H.x+G.width/2+F.x,y:G.y+H.y+{top:0,middle:0.5,bottom:1}[H.verticalAlign]*G.height},I[D?"attr":"animate"](F).attr({align:L}),z=(q+720)%360,z=180<z&&360>z,"left"===L?F.y-=z?A.height:0:"center"===L?(F.x-=A.width/2,F.y-=A.height/2):"right"===L&&(F.x-=A.width,F.y-=z?0:A.height)):(I.align(H,null,G),F=I.alignAttr),M?this.justifyDataLabel(I,H,F,A,G,D):h(H.crop,!0)&&(K=C.isInsidePlot(F.x,F.y)&&C.isInsidePlot(F.x+A.width,F.y+A.height)),H.shape&&!q&&I.attr({anchorX:J.plotX,anchorY:J.plotY}));K||(I.attr({y:-9999}),I.placed=!1)};t.prototype.justifyDataLabel=function(H,G,F,E,C,B){var D=this.chart,u=G.align,r=G.verticalAlign,z,A,q=H.box?0:H.padding||0;z=F.x+q;0>z&&("right"===u?G.align="left":G.x=-z,A=!0);z=F.x+E.width-q;z>D.plotWidth&&("left"===u?G.align="right":G.x=D.plotWidth-z,A=!0);z=F.y+q;0>z&&("bottom"===r?G.verticalAlign="top":G.y=-z,A=!0);z=F.y+E.height-q;z>D.plotHeight&&("top"===r?G.verticalAlign="bottom":G.y=D.plotHeight-z,A=!0);A&&(H.placed=!B,H.align(G,null,C))};i.pie&&(i.pie.prototype.drawDataLabels=function(){var af=this,ad=af.data,ag,aa=af.chart,Z=af.options.dataLabels,X=h(Z.connectorPadding,10),ae=h(Z.connectorWidth,1),U=aa.plotWidth,T=aa.plotHeight,K,ac=Z.distance,I=af.center,W=I[2]/2,Y=I[1],J=0<ac,ab,V,G,A,b=[[],[]],z,P,E,q,f=[0,0,0,0];af.visible&&(Z.enabled||af._hasPointLabels)&&(t.prototype.drawDataLabels.apply(af),y(ad,function(d){d.dataLabel&&d.visible&&(b[d.half].push(d),d.dataLabel._pos=null)}),y(b,function(l,B){var r,d,D=l.length,u,p,C;if(D){for(af.sortByAngle(l,B-0.5),0<ac&&(r=Math.max(0,Y-W-ac),d=Math.min(Y+W+ac,aa.plotHeight),u=o(l,function(g){if(g.dataLabel){return C=g.dataLabel.getBBox().height||21,{target:g.labelPos[1]-r+C/2,size:C,rank:g.y}}}),v.distribute(u,d+C-r)),q=0;q<D;q++){ag=l[q],G=ag.labelPos,ab=ag.dataLabel,E=!1===ag.visible?"hidden":"inherit",p=G[1],u?void 0===u[q].pos?E="hidden":(A=u[q].size,P=r+u[q].pos):P=p,z=Z.justify?I[0]+(B?-1:1)*(W+ac):af.getX(P<r+2||P>d-2?p:P,B),ab._attr={visibility:E,align:G[6]},ab._pos={x:z+Z.x+({left:X,right:-X}[G[6]]||0),y:P+Z.y-10},G.x=z,G.y=P,null===af.options.size&&(V=ab.width,z-V<X?f[3]=Math.max(Math.round(V-z+X),f[3]):z+V>U-X&&(f[1]=Math.max(Math.round(z+V-U+X),f[1])),0>P-A/2?f[0]=Math.max(Math.round(-P+A/2),f[0]):P+A/2>T&&(f[2]=Math.max(Math.round(P+A/2-T),f[2])))}}}),0===k(f)||this.verifyDataLabelOverflow(f))&&(this.placeDataLabels(),J&&ae&&y(this.points,function(g){var d;K=g.connector;if((ab=g.dataLabel)&&ab._pos&&g.visible){E=ab._attr.visibility;if(d=!K){g.connector=K=aa.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+g.colorIndex).add(af.dataLabelsGroup),K.attr({"stroke-width":ae,stroke:Z.connectorColor||g.color||"#666666"})}K[d?"attr":"animate"]({d:af.connectorPath(g.labelPos)});K.attr("visibility",E)}else{K&&(g.connector=K.destroy())}}))},i.pie.prototype.connectorPath=function(f){var d=f.x,g=f.y;return h(this.options.dataLabels.softConnector,!0)?["M",d+("left"===f[6]?5:-5),g,"C",d,g,2*f[2]-f[4],2*f[3]-f[5],f[2],f[3],"L",f[4],f[5]]:["M",d+("left"===f[6]?5:-5),g,"L",f[2],f[3],"L",f[4],f[5]]},i.pie.prototype.placeDataLabels=function(){y(this.points,function(f){var d=f.dataLabel;d&&f.visible&&((f=d._pos)?(d.attr(d._attr),d[d.moved?"animate":"attr"](f),d.moved=!0):d&&d.attr({y:-9999}))})},i.pie.prototype.alignDataLabel=m,i.pie.prototype.verifyDataLabelOverflow=function(q){var d=this.center,A=this.options,u=A.center,r=A.minSize||80,p,z;null!==u[0]?p=Math.max(d[2]-Math.max(q[1],q[3]),r):(p=Math.max(d[2]-q[1]-q[3],r),d[0]+=(q[3]-q[1])/2);null!==u[1]?p=Math.max(Math.min(p,d[2]-Math.max(q[0],q[2])),r):(p=Math.max(Math.min(p,d[2]-q[0]-q[2]),r),d[1]+=(q[0]-q[2])/2);p<d[2]?(d[2]=p,d[3]=Math.min(s(A.innerSize||0,p),p),this.translate(d),this.drawDataLabels&&this.drawDataLabels()):z=!0;return z});i.column&&(i.column.prototype.alignDataLabel=function(E,C,D,A,z){var u=this.chart.inverted,B=E.series,r=E.dlBox||E.shapeArgs,q=h(E.below,E.plotY>h(this.translatedThreshold,B.yAxis.len)),b=h(D.inside,!!this.options.stacking);r&&(A=x(r),0>A.y&&(A.height+=A.y,A.y=0),r=A.y+A.height-B.yAxis.len,0<r&&(A.height-=r),u&&(A={x:B.yAxis.len-A.y-A.height,y:B.xAxis.len-A.x-A.width,width:A.height,height:A.width}),b||(u?(A.x+=q?0:A.width,A.width=0):(A.y+=q?A.height:0,A.height=0)));D.align=h(D.align,!u||b?"center":q?"right":"left");D.verticalAlign=h(D.verticalAlign,u||b?"middle":q?"top":"bottom");t.prototype.alignDataLabel.call(this,E,C,D,A,z)})})(a);(function(c){var f=c.Chart,b=c.each,d=c.pick,e=c.addEvent;f.prototype.callbacks.push(function(h){function i(){var g=[];b(h.series,function(j){var k=j.options.dataLabels,l=j.dataLabelCollections||["dataLabel"];(k.enabled||j._hasPointLabels)&&!k.allowOverlap&&j.visible&&b(l,function(m){b(j.points,function(n){n[m]&&(n[m].labelrank=d(n.labelrank,n.shapeArgs&&n.shapeArgs.height),g.push(n[m]))})})});h.hideOverlappingLabels(g)}i();e(h,"redraw",i)});f.prototype.hideOverlappingLabels=function(x){var s=x.length,u,h,o,j,v,w,k,i,y,n=function(t,q,C,A,B,z,r,p){return !(B>t+C||B+r<t||z>q+A||z+p<q)};for(h=0;h<s;h++){if(u=x[h]){u.oldOpacity=u.opacity,u.newOpacity=1}}x.sort(function(l,g){return(g.labelrank||0)-(l.labelrank||0)});for(h=0;h<s;h++){for(o=x[h],u=h+1;u<s;++u){if(j=x[u],o&&j&&o.placed&&j.placed&&0!==o.newOpacity&&0!==j.newOpacity&&(v=o.alignAttr,w=j.alignAttr,k=o.parentGroup,i=j.parentGroup,y=2*(o.box?0:o.padding),v=n(v.x+k.translateX,v.y+k.translateY,o.width-y,o.height-y,w.x+i.translateX,w.y+i.translateY,j.width-y,j.height-y))){(o.labelrank<j.labelrank?o:j).newOpacity=0}}}b(x,function(l){var g,m;l&&(m=l.newOpacity,l.oldOpacity!==m&&l.placed&&(m?l.show(!0):g=function(){l.hide()},l.alignAttr.opacity=m,l[l.isOld?"animate":"attr"](l.alignAttr,null,g)),l.isOld=!0)})}})(a);(function(N){var v=N.addEvent,x=N.Chart,e=N.createElement,h=N.css,s=N.defaultOptions,I=N.defaultPlotOptions,J=N.each,i=N.extend,F=N.fireEvent,w=N.hasTouch,K=N.inArray,M=N.isObject,y=N.Legend,o=N.merge,k=N.pick,D=N.Point,L=N.Series,z=N.seriesTypes,j=N.svg;N=N.TrackerMixin={drawTrackerPoint:function(){var g=this,f=g.chart,m=f.pointer,l=function(b){for(var n=b.target,d;n&&!d;){d=n.point,n=n.parentNode}if(void 0!==d&&d!==f.hoverPoint){d.onMouseOver(b)}};J(g.points,function(b){b.graphic&&(b.graphic.element.point=b);b.dataLabel&&(b.dataLabel.div?b.dataLabel.div.point=b:b.dataLabel.element.point=b)});g._hasTracking||(J(g.trackerGroups,function(c){if(g[c]){g[c].addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(b){m.onTrackerMouseOut(b)});if(w){g[c].on("touchstart",l)}g.options.cursor&&g[c].css(h).css({cursor:g.options.cursor})}}),g._hasTracking=!0)},drawTrackerGraph:function(){var Q=this,P=Q.options,O=P.trackByArea,H=[].concat(O?Q.areaPath:Q.graphPath),G=H.length,E=Q.chart,B=E.pointer,A=E.renderer,u=E.options.tooltip.snap,q=Q.tracker,C,f=function(){if(E.hoverSeries!==Q){Q.onMouseOver()}},R="rgba(192,192,192,"+(j?0.0001:0.002)+")";if(G&&!O){for(C=G+1;C--;){"M"===H[C]&&H.splice(C+1,0,H[C+1]-u,H[C+2],"L"),(C&&"M"===H[C]||C===G)&&H.splice(C,0,"L",H[C-2]+u,H[C-1])}}q?q.attr({d:H}):Q.graph&&(Q.tracker=A.path(H).attr({"stroke-linejoin":"round",visibility:Q.visible?"visible":"hidden",stroke:R,fill:O?R:"none","stroke-width":Q.graph.strokeWidth()+(O?0:2*u),zIndex:2}).add(Q.group),J([Q.tracker,Q.markerGroup],function(b){b.addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(c){B.onTrackerMouseOut(c)});P.cursor&&b.css({cursor:P.cursor});if(w){b.on("touchstart",f)}}))}};z.column&&(z.column.prototype.drawTracker=N.drawTrackerPoint);z.pie&&(z.pie.prototype.drawTracker=N.drawTrackerPoint);z.scatter&&(z.scatter.prototype.drawTracker=N.drawTrackerPoint);i(y.prototype,{setItemEvents:function(l,g,q){var n=this,p=n.chart,m="highcharts-legend-"+(l.series?"point":"series")+"-active";(q?g:l.legendGroup).on("mouseover",function(){l.setState("hover");p.seriesGroup.addClass(m);g.css(n.options.itemHoverStyle)}).on("mouseout",function(){g.css(l.visible?n.itemStyle:n.itemHiddenStyle);p.seriesGroup.removeClass(m);l.setState()}).on("click",function(d){var f=function(){l.setVisible&&l.setVisible()};d={browserEvent:d};l.firePointEvent?l.firePointEvent("legendItemClick",d,f):F(l,"legendItemClick",d,f)})},createCheckboxForItem:function(b){b.checkbox=e("input",{type:"checkbox",checked:b.selected,defaultChecked:b.selected},this.options.itemCheckboxStyle,this.chart.container);v(b.checkbox,"click",function(c){F(b.series||b,"checkboxClick",{checked:c.target.checked,item:b},function(){b.select()})})}});s.legend.itemStyle.cursor="pointer";i(x.prototype,{showResetZoom:function(){var m=this,l=s.lang,r=m.options.chart.resetZoomButton,q=r.theme,p=q.states,n="chart"===r.relativeTo?null:"plotBox";this.resetZoomButton=m.renderer.button(l.resetZoom,null,null,function(){m.zoomOut()},q,p&&p.hover).attr({align:r.position.align,title:l.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(r.position,!1,n)},zoomOut:function(){var b=this;F(b,"selection",{resetSelection:!0},function(){b.zoom()})},zoom:function(f){var p,n=this.pointer,m=!1,b;!f||f.resetSelection?J(this.axes,function(c){p=c.zoom()}):J(f.xAxis.concat(f.yAxis),function(d){var c=d.axis;n[c.isXAxis?"zoomX":"zoomY"]&&(p=c.zoom(d.min,d.max),c.displayBtn&&(m=!0))});b=this.resetZoomButton;m&&!b?this.showResetZoom():!m&&M(b)&&(this.resetZoomButton=b.destroy());p&&this.redraw(k(this.options.chart.animation,f&&f.animation,100>this.pointCount))},pan:function(g,f){var n=this,m=n.hoverPoints,l;m&&J(m,function(b){b.setState()});J("xy"===f?[1,0]:[1],function(p){p=n[p?"xAxis":"yAxis"][0];var B=p.horiz,A=g[B?"chartX":"chartY"],B=B?"mouseDownX":"mouseDownY",u=n[B],t=(p.pointRange||0)/2,r=p.getExtremes(),q=p.toValue(u-A,!0)+t,t=p.toValue(u+p.len-A,!0)-t,c=t<q,u=c?t:q,q=c?q:t,t=Math.min(r.dataMin,r.min)-u,r=q-Math.max(r.dataMax,r.max);p.series.length&&0>t&&0>r&&(p.setExtremes(u,q,!1,!1,{trigger:"pan"}),l=!0);n[B]=A});l&&n.redraw(!1);h(n.container,{cursor:"move"})}});i(D.prototype,{select:function(f,d){var n=this,m=n.series,l=m.chart;f=k(f,!n.selected);n.firePointEvent(f?"select":"unselect",{accumulate:d},function(){n.selected=n.options.selected=f;m.options.data[K(n,m.data)]=n.options;n.setState(f&&"select");d||J(l.getSelectedPoints(),function(b){b.selected&&b!==n&&(b.selected=b.options.selected=!1,m.options.data[K(b,m.data)]=b.options,b.setState(""),b.firePointEvent("unselect"))})})},onMouseOver:function(l,g){var q=this.series,p=q.chart,n=p.tooltip,m=p.hoverPoint;if(this.series){if(!g){if(m&&m!==this){m.onMouseOut()}if(p.hoverSeries!==q){q.onMouseOver()}p.hoverPoint=this}!n||n.shared&&!q.noSharedTooltip?n||this.setState("hover"):(this.setState("hover"),n.refresh(this,l));this.firePointEvent("mouseOver")}},onMouseOut:function(){var d=this.series.chart,c=d.hoverPoints;this.firePointEvent("mouseOut");c&&-1!==K(this,c)||(this.setState(),d.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var d=o(this.series.options.point,this.options).events,c;this.events=d;for(c in d){v(this,c,d[c])}this.hasImportedEvents=!0}},setState:function(W,V){var U=Math.floor(this.plotX),S=this.plotY,R=this.series,Q=R.options.states[W]||{},O=I[R.type].marker&&R.options.marker,H=O&&!1===O.enabled,G=O&&O.states&&O.states[W]||{},B=!1===G.enabled,P=R.stateMarkerGraphic,u=this.marker||{},g=R.chart,T=R.halo,t,E=O&&R.markerAttribs;W=W||"";if(!(W===this.state&&!V||this.selected&&"select"!==W||!1===Q.enabled||W&&(B||H&&!1===G.enabled)||W&&u.states&&u.states[W]&&!1===u.states[W].enabled)){E&&(t=R.markerAttribs(this,W));if(this.graphic){this.state&&this.graphic.removeClass("highcharts-point-"+this.state),W&&this.graphic.addClass("highcharts-point-"+W),this.graphic.attr(R.pointAttribs(this,W)),t&&this.graphic.animate(t,k(g.options.chart.animation,G.animation,O.animation)),P&&P.hide()}else{if(W&&G){O=u.symbol||R.symbol;P&&P.currentSymbol!==O&&(P=P.destroy());if(P){P[V?"animate":"attr"]({x:t.x,y:t.y})}else{O&&(R.stateMarkerGraphic=P=g.renderer.symbol(O,t.x,t.y,t.width,t.height).add(R.markerGroup),P.currentSymbol=O)}P&&P.attr(R.pointAttribs(this,W))}P&&(P[W&&g.isInsidePlot(U,S,g.inverted)?"show":"hide"](),P.element.point=this)}(U=Q.halo)&&U.size?(T||(R.halo=T=g.renderer.path().add(E?R.markerGroup:R.group)),T[V?"animate":"attr"]({d:this.haloPath(U.size)}),T.attr({"class":"highcharts-halo highcharts-color-"+k(this.colorIndex,R.colorIndex)}),T.point=this,T.attr(i({fill:this.color||R.color,"fill-opacity":U.opacity,zIndex:-1},U.attributes))):T&&T.point&&T.point.haloPath&&T.animate({d:T.point.haloPath(0)});this.state=W}},haloPath:function(b){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-b,this.plotY-b,2*b,2*b)}});i(L.prototype,{onMouseOver:function(){var d=this.chart,c=d.hoverSeries;if(c&&c!==this){c.onMouseOut()}this.options.events.mouseOver&&F(this,"mouseOver");this.setState("hover");d.hoverSeries=this},onMouseOut:function(){var g=this.options,f=this.chart,m=f.tooltip,l=f.hoverPoint;f.hoverSeries=null;if(l){l.onMouseOut()}this&&g.events.mouseOut&&F(this,"mouseOut");!m||g.stickyTracking||m.shared&&!this.noSharedTooltip||m.hide();this.setState()},setState:function(l){var f=this,q=f.options,p=f.graph,n=q.states,m=q.lineWidth,q=0;l=l||"";if(f.state!==l&&(J([f.group,f.markerGroup],function(b){b&&(f.state&&b.removeClass("highcharts-series-"+f.state),l&&b.addClass("highcharts-series-"+l))}),f.state=l,!n[l]||!1!==n[l].enabled)&&(l&&(m=n[l].lineWidth||m+(n[l].lineWidthPlus||0)),p&&!p.dashstyle)){for(n={"stroke-width":m},p.attr(n);f["zone-graph-"+q];){f["zone-graph-"+q].attr(n),q+=1}}},setVisible:function(p,l){var A=this,t=A.chart,r=A.legendItem,q,f=t.options.chart.ignoreHiddenSeries,u=A.visible;q=(A.visible=p=A.options.visible=A.userOptions.visible=void 0===p?!u:p)?"show":"hide";J(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(b){if(A[b]){A[b][q]()}});if(t.hoverSeries===A||(t.hoverPoint&&t.hoverPoint.series)===A){A.onMouseOut()}r&&t.legend.colorizeItem(A,p);A.isDirty=!0;A.options.stacking&&J(t.series,function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});J(A.linkedSeries,function(c){c.setVisible(p,!1)});f&&(t.isDirtyBox=!0);!1!==l&&t.redraw();F(A,q)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(b){this.selected=b=void 0===b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);F(this,b?"select":"unselect")},drawTracker:N.drawTrackerGraph})})(a);(function(c){var i=c.Chart,b=c.each,d=c.inArray,e=c.isObject,h=c.pick,f=c.splat;i.prototype.setResponsive=function(g){var j=this.options.responsive;j&&j.rules&&b(j.rules,function(k){this.matchResponsiveRule(k,g)},this)};i.prototype.matchResponsiveRule=function(n,k){var j=this.respRules,m=n.condition,o;o=m.callback||function(){return this.chartWidth<=h(m.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=h(m.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=h(m.minWidth,0)&&this.chartHeight>=h(m.minHeight,0)};void 0===n._id&&(n._id=c.uniqueKey());o=o.call(this);!j[n._id]&&o?n.chartOptions&&(j[n._id]=this.currentOptions(n.chartOptions),this.update(n.chartOptions,k)):j[n._id]&&!o&&(this.update(j[n._id],k),delete j[n._id])};i.prototype.currentOptions=function(j){function k(o,t,m,n){var s,r;for(s in o){if(!n&&-1<d(s,["series","xAxis","yAxis"])){for(o[s]=f(o[s]),m[s]=[],r=0;r<o[s].length;r++){m[s][r]={},k(o[s][r],t[s][r],m[s][r],n+1)}}else{e(o[s])?(m[s]={},k(o[s],t[s]||{},m[s],n+1)):m[s]=t[s]||null}}}var g={};k(j,this.options,g,0);return g}})(a);return a});