UNPKG

highcharts

Version:
105 lines (103 loc) 182 kB
/* Highcharts JS v5.0.13 (2017-07-27) (c) 2009-2016 Torstein Honsi License: www.highcharts.com/license */ (function(L,T){"object"===typeof module&&module.exports?module.exports=L.document?T(L):T:L.Highcharts=T(L)})("undefined"!==typeof window?window:this,function(L){L=function(){var a=window,y=a.document,C=a.navigator&&a.navigator.userAgent||"",E=y&&y.createElementNS&&!!y.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,D=/(edge|msie|trident)/i.test(C)&&!window.opera,q=!E,d=/Firefox/.test(C),g=d&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts", version:"5.0.13",deg2rad:2*Math.PI/360,doc:y,hasBidiBug:g,hasTouch:y&&void 0!==y.documentElement.ontouchstart,isMS:D,isWebKit:/AppleWebKit/.test(C),isFirefox:d,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:E,vml:q,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){var y=[],C=a.charts,E=a.doc,D=a.win;a.error=function(q,d){q=a.isNumber(q)?"Highcharts error #"+ q+": www.highcharts.com/errors/"+q:q;if(d)throw Error(q);D.console&&console.log(q)};a.Fx=function(a,d,g){this.options=d;this.elem=a;this.prop=g};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],g=[],p=this.now,m=a.length,n;if(1===p)g=this.toD;else if(m===d.length&&1>p)for(;m--;)n=parseFloat(a[m]),g[m]=isNaN(n)?a[m]:p*parseFloat(d[m]-n)+n;else g=d;this.elem.attr("d",g,null,!0)},update:function(){var a=this.elem,d=this.prop,g=this.now,p=this.options.step;if(this[d+"Setter"])this[d+ "Setter"]();else a.attr?a.element&&a.attr(d,g,null,!0):a.style[d]=g+this.unit;p&&p.call(a,g,this)},run:function(a,d,g){var q=this,m=function(a){return m.stopped?!1:q.step(a)},n;this.startTime=+new Date;this.start=a;this.end=d;this.unit=g;this.now=this.start;this.pos=0;m.elem=this.elem;m.prop=this.prop;m()&&1===y.push(m)&&(m.timerId=setInterval(function(){for(n=0;n<y.length;n++)y[n]()||y.splice(n--,1);y.length||clearInterval(m.timerId)},13))},step:function(q){var d=+new Date,g,p=this.options,m=this.elem, n=p.complete,f=p.duration,c=p.curAnim;m.attr&&!m.element?q=!1:q||d>=f+this.startTime?(this.now=this.end,this.pos=1,this.update(),g=c[this.prop]=!0,a.objectEach(c,function(a){!0!==a&&(g=!1)}),g&&n&&n.call(m),q=!1):(this.pos=p.easing((d-this.startTime)/f),this.now=this.start+(this.end-this.start)*this.pos,this.update(),q=!0);return q},initPath:function(q,d,g){function p(a){var b,e;for(k=a.length;k--;)b="M"===a[k]||"L"===a[k],e=/[a-zA-Z]/.test(a[k+3]),b&&e&&a.splice(k+1,0,a[k+1],a[k+2],a[k+1],a[k+2])} function m(a,e){for(;a.length<u;){a[0]=e[u-a.length];var l=a.slice(0,b);[].splice.apply(a,[0,0].concat(l));F&&(l=a.slice(a.length-b),[].splice.apply(a,[a.length,0].concat(l)),k--)}a[0]="M"}function n(a,c){for(var k=(u-a.length)/b;0<k&&k--;)l=a.slice().splice(a.length/H-b,b*H),l[0]=c[u-b-k*b],e&&(l[b-6]=l[b-2],l[b-5]=l[b-1]),[].splice.apply(a,[a.length/H,0].concat(l)),F&&k--}d=d||"";var f,c=q.startX,x=q.endX,e=-1<d.indexOf("C"),b=e?7:3,u,l,k;d=d.split(" ");g=g.slice();var F=q.isArea,H=F?2:1,B;e&&(p(d), p(g));if(c&&x){for(k=0;k<c.length;k++)if(c[k]===x[0]){f=k;break}else if(c[0]===x[x.length-c.length+k]){f=k;B=!0;break}void 0===f&&(d=[])}d.length&&a.isNumber(f)&&(u=g.length+f*H*b,B?(m(d,g),n(g,d)):(m(g,d),n(d,g)));return[d,g]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.extend=function(a,d){var g;a||(a={});for(g in d)a[g]=d[g];return a};a.merge=function(){var q,d=arguments,g,p={},m= function(d,f){"object"!==typeof d&&(d={});a.objectEach(f,function(c,g){!a.isObject(c,!0)||a.isClass(c)||a.isDOMElement(c)?d[g]=f[g]:d[g]=m(d[g]||{},c)});return d};!0===d[0]&&(p=d[1],d=Array.prototype.slice.call(d,2));g=d.length;for(q=0;q<g;q++)p=m(p,d[q]);return p};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(q, d){return!!q&&"object"===typeof q&&(!d||!a.isArray(q))};a.isDOMElement=function(q){return a.isObject(q)&&"number"===typeof q.nodeType};a.isClass=function(q){var d=q&&q.constructor;return!(!a.isObject(q,!0)||a.isDOMElement(q)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=function(a,d){for(var g=a.length;g--;)if(a[g]===d){a.splice(g,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(q,d,g){var p;a.isString(d)?a.defined(g)? q.setAttribute(d,g):q&&q.getAttribute&&(p=q.getAttribute(d)):a.defined(d)&&a.isObject(d)&&a.objectEach(d,function(a,d){q.setAttribute(d,a)});return p};a.splat=function(q){return a.isArray(q)?q:[q]};a.syncTimeout=function(a,d,g){if(d)return setTimeout(a,d,g);a.call(0,g)};a.pick=function(){var a=arguments,d,g,p=a.length;for(d=0;d<p;d++)if(g=a[d],void 0!==g&&null!==g)return g};a.css=function(q,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+100*d.opacity+")");a.extend(q.style, d)};a.createElement=function(q,d,g,p,m){q=E.createElement(q);var n=a.css;d&&a.extend(q,d);m&&n(q,{padding:0,border:"none",margin:0});g&&n(q,g);p&&p.appendChild(q);return q};a.extendClass=function(q,d){var g=function(){};g.prototype=new q;a.extend(g.prototype,d);return g};a.pad=function(a,d,g){return Array((d||2)+1-String(a).length).join(g||0)+a};a.relativeLength=function(a,d,g){return/%$/.test(a)?d*parseFloat(a)/100+(g||0):parseFloat(a)};a.wrap=function(a,d,g){var p=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments), d=arguments,f=this;f.proceed=function(){p.apply(f,arguments.length?arguments:d)};a.unshift(p);a=g.apply(this,a);f.proceed=null;return a}};a.getTZOffset=function(q){var d=a.Date;return 6E4*(d.hcGetTimezoneOffset&&d.hcGetTimezoneOffset(q)||d.hcTimezoneOffset||0)};a.dateFormat=function(q,d,g){if(!a.defined(d)||isNaN(d))return a.defaultOptions.lang.invalidDate||"";q=a.pick(q,"%Y-%m-%d %H:%M:%S");var p=a.Date,m=new p(d-a.getTZOffset(d)),n=m[p.hcGetHours](),f=m[p.hcGetDay](),c=m[p.hcGetDate](),x=m[p.hcGetMonth](), e=m[p.hcGetFullYear](),b=a.defaultOptions.lang,u=b.weekdays,l=b.shortWeekdays,k=a.pad,p=a.extend({a:l?l[f]:u[f].substr(0,3),A:u[f],d:k(c),e:k(c,2," "),w:f,b:b.shortMonths[x],B:b.months[x],m:k(x+1),y:e.toString().substr(2,2),Y:e,H:k(n),k:n,I:k(n%12||12),l:n%12||12,M:k(m[p.hcGetMinutes]()),p:12>n?"AM":"PM",P:12>n?"am":"pm",S:k(m.getSeconds()),L:k(Math.round(d%1E3),3)},a.dateFormats);a.objectEach(p,function(a,b){for(;-1!==q.indexOf("%"+b);)q=q.replace("%"+b,"function"===typeof a?a(d):a)});return g?q.substr(0, 1).toUpperCase()+q.substr(1):q};a.formatSingle=function(q,d){var g=/\.([0-9])/,p=a.defaultOptions.lang;/f$/.test(q)?(g=(g=q.match(g))?g[1]:-1,null!==d&&(d=a.numberFormat(d,g,p.decimalPoint,-1<q.indexOf(",")?p.thousandsSep:""))):d=a.dateFormat(q,d);return d};a.format=function(q,d){for(var g="{",p=!1,m,n,f,c,x=[],e;q;){g=q.indexOf(g);if(-1===g)break;m=q.slice(0,g);if(p){m=m.split(":");n=m.shift().split(".");c=n.length;e=d;for(f=0;f<c;f++)e=e[n[f]];m.length&&(e=a.formatSingle(m.join(":"),e));x.push(e)}else x.push(m); q=q.slice(g+1);g=(p=!p)?"}":"{"}x.push(q);return x.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(q,d,g,p,m){var n,f=q;g=a.pick(g,1);n=q/g;d||(d=m?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===p&&(1===g?d=a.grep(d,function(a){return 0===a%1}):.1>=g&&(d=[1/g])));for(p=0;p<d.length&&!(f=d[p],m&&f*g>=q||!m&&n<=(d[p]+(d[p+1]||d[p]))/2);p++);return f=a.correctFloat(f*g,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort= function(a,d){var g=a.length,p,q;for(q=0;q<g;q++)a[q].safeI=q;a.sort(function(a,f){p=d(a,f);return 0===p?a.safeI-f.safeI:p});for(q=0;q<g;q++)delete a[q].safeI};a.arrayMin=function(a){for(var d=a.length,g=a[0];d--;)a[d]<g&&(g=a[d]);return g};a.arrayMax=function(a){for(var d=a.length,g=a[0];d--;)a[d]>g&&(g=a[d]);return g};a.destroyObjectProperties=function(q,d){a.objectEach(q,function(a,p){a&&a!==d&&a.destroy&&a.destroy();delete q[p]})};a.discardElement=function(q){var d=a.garbageBin;d||(d=a.createElement("div")); q&&d.appendChild(q);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(q,d){d.renderer.globalAnimation=a.pick(q,d.options.chart.animation,!0)};a.animObject=function(q){return a.isObject(q)?a.merge(q):{duration:q?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(q,d,g,p){q=+q||0;d=+d;var m=a.defaultOptions.lang,n=(q.toString().split(".")[1]||"").split("e")[0].length, f,c,x=q.toString().split("e");-1===d?d=Math.min(n,20):a.isNumber(d)||(d=2);c=(Math.abs(x[1]?x[0]:q)+Math.pow(10,-Math.max(d,n)-1)).toFixed(d);n=String(a.pInt(c));f=3<n.length?n.length%3:0;g=a.pick(g,m.decimalPoint);p=a.pick(p,m.thousandsSep);q=(0>q?"-":"")+(f?n.substr(0,f)+p:"");q+=n.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+p);d&&(q+=g+c.slice(-d));x[1]&&(q+="e"+x[1]);return q};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(q,d,g){if("width"===d)return Math.min(q.offsetWidth, q.scrollWidth)-a.getStyle(q,"padding-left")-a.getStyle(q,"padding-right");if("height"===d)return Math.min(q.offsetHeight,q.scrollHeight)-a.getStyle(q,"padding-top")-a.getStyle(q,"padding-bottom");if(q=D.getComputedStyle(q,void 0))q=q.getPropertyValue(d),a.pick(g,!0)&&(q=a.pInt(q));return q};a.inArray=function(a,d){return d.indexOf?d.indexOf(a):[].indexOf.call(d,a)};a.grep=function(a,d){return[].filter.call(a,d)};a.find=function(a,d){return[].find.call(a,d)};a.map=function(a,d){for(var g=[],p=0,m= a.length;p<m;p++)g[p]=d.call(a[p],a[p],p,a);return g};a.offset=function(a){var d=E.documentElement;a=a.getBoundingClientRect();return{top:a.top+(D.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(D.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(a,d){for(var g=y.length;g--;)y[g].elem!==a||d&&d!==y[g].prop||(y[g].stopped=!0)};a.each=function(a,d,g){return Array.prototype.forEach.call(a,d,g)};a.objectEach=function(a,d,g){for(var p in a)a.hasOwnProperty(p)&&d.call(g,a[p],p,a)}; a.addEvent=function(q,d,g){function p(a){a.target=a.srcElement||D;g.call(q,a)}var m=q.hcEvents=q.hcEvents||{};q.addEventListener?q.addEventListener(d,g,!1):q.attachEvent&&(q.hcEventsIE||(q.hcEventsIE={}),g.hcGetKey||(g.hcGetKey=a.uniqueKey()),q.hcEventsIE[g.hcGetKey]=p,q.attachEvent("on"+d,p));m[d]||(m[d]=[]);m[d].push(g);return function(){a.removeEvent(q,d,g)}};a.removeEvent=function(q,d,g){function p(a,e){q.removeEventListener?q.removeEventListener(a,e,!1):q.attachEvent&&(e=q.hcEventsIE[e.hcGetKey], q.detachEvent("on"+a,e))}function m(){var c,e;q.nodeName&&(d?(c={},c[d]=!0):c=f,a.objectEach(c,function(a,c){if(f[c])for(e=f[c].length;e--;)p(c,f[c][e])}))}var n,f=q.hcEvents,c;f&&(d?(n=f[d]||[],g?(c=a.inArray(g,n),-1<c&&(n.splice(c,1),f[d]=n),p(d,g)):(m(),f[d]=[])):(m(),q.hcEvents={}))};a.fireEvent=function(q,d,g,p){var m;m=q.hcEvents;var n,f;g=g||{};if(E.createEvent&&(q.dispatchEvent||q.fireEvent))m=E.createEvent("Events"),m.initEvent(d,!0,!0),a.extend(m,g),q.dispatchEvent?q.dispatchEvent(m):q.fireEvent(d, m);else if(m)for(m=m[d]||[],n=m.length,g.target||a.extend(g,{preventDefault:function(){g.defaultPrevented=!0},target:q,type:d}),d=0;d<n;d++)(f=m[d])&&!1===f.call(q,g)&&g.preventDefault();p&&!g.defaultPrevented&&p(g)};a.animate=function(q,d,g){var p,m="",n,f,c;a.isObject(g)||(c=arguments,g={duration:c[2],easing:c[3],complete:c[4]});a.isNumber(g.duration)||(g.duration=400);g.easing="function"===typeof g.easing?g.easing:Math[g.easing]||Math.easeInOutSine;g.curAnim=a.merge(d);a.objectEach(d,function(c, e){a.stop(q,e);f=new a.Fx(q,g,e);n=null;"d"===e?(f.paths=f.initPath(q,q.d,d.d),f.toD=d.d,p=0,n=1):q.attr?p=q.attr(e):(p=parseFloat(a.getStyle(q,e))||0,"opacity"!==e&&(m="px"));n||(n=c);n&&n.match&&n.match("px")&&(n=n.replace(/px/g,""));f.run(p,n,m)})};a.seriesType=function(q,d,g,p,m){var n=a.getOptions(),f=a.seriesTypes;n.plotOptions[q]=a.merge(n.plotOptions[d],g);f[q]=a.extendClass(f[d]||function(){},p);f[q].prototype.type=q;m&&(f[q].prototype.pointClass=a.extendClass(a.Point,m));return f[q]};a.uniqueKey= function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();D.jQuery&&(D.jQuery.fn.highcharts=function(){var q=[].slice.call(arguments);if(this[0])return q[0]?(new (a[a.isString(q[0])?q.shift():"Chart"])(this[0],q[0],q[1]),this):C[a.attr(this[0],"data-highcharts-chart")]});E&&!E.defaultView&&(a.getStyle=function(q,d){var g={width:"clientWidth",height:"clientHeight"}[d];if(q.style[d])return a.pInt(q.style[d]);"opacity"===d&&(d="filter");if(g)return q.style.zoom= 1,Math.max(q[g]-2*a.getStyle(q,"padding"),0);q=q.currentStyle[d.replace(/\-(\w)/g,function(a,d){return d.toUpperCase()})];"filter"===d&&(q=q.replace(/alpha\(opacity=([0-9]+)\)/,function(a,d){return d/100}));return""===q?1:a.pInt(q)});Array.prototype.forEach||(a.each=function(a,d,g){for(var p=0,m=a.length;p<m;p++)if(!1===d.call(g,a[p],p,a))return p});Array.prototype.indexOf||(a.inArray=function(a,d){var g,p=0;if(d)for(g=d.length;p<g;p++)if(d[p]===a)return p;return-1});Array.prototype.filter||(a.grep= function(a,d){for(var g=[],p=0,m=a.length;p<m;p++)d(a[p],p)&&g.push(a[p]);return g});Array.prototype.find||(a.find=function(a,d){var g,p=a.length;for(g=0;g<p;g++)if(d(a[g],g))return a[g]})})(L);(function(a){var y=a.each,C=a.isNumber,E=a.map,D=a.merge,q=a.pInt;a.Color=function(d){if(!(this instanceof a.Color))return new a.Color(d);this.init(d)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[q(a[1]), q(a[2]),q(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[q(a[1]),q(a[2]),q(a[3]),1]}}],names:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(d){var g,p,m,n;if((this.input=d=this.names[d&&d.toLowerCase?d.toLowerCase():""]||d)&&d.stops)this.stops=E(d.stops,function(d){return new a.Color(d[1])});else if(d&&"#"===d.charAt()&&(g=d.length,d=parseInt(d.substr(1),16),7===g?p=[(d&16711680)>>16,(d&65280)>> 8,d&255,1]:4===g&&(p=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!p)for(m=this.parsers.length;m--&&!p;)n=this.parsers[m],(g=n.regex.exec(d))&&(p=n.parse(g));this.rgba=p||[]},get:function(a){var d=this.input,p=this.rgba,m;this.stops?(m=D(d),m.stops=[].concat(m.stops),y(this.stops,function(d,f){m.stops[f]=[m.stops[f][0],d.get(a)]})):m=p&&C(p[0])?"rgb"===a||!a&&1===p[3]?"rgb("+p[0]+","+p[1]+","+p[2]+")":"a"===a?p[3]:"rgba("+p.join(",")+")":d;return m},brighten:function(a){var d,p=this.rgba; if(this.stops)y(this.stops,function(d){d.brighten(a)});else if(C(a)&&0!==a)for(d=0;3>d;d++)p[d]+=q(255*a),0>p[d]&&(p[d]=0),255<p[d]&&(p[d]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,g){var d,m;a.rgba.length?(d=this.rgba,a=a.rgba,m=1!==a[3]||1!==d[3],a=(m?"rgba(":"rgb(")+Math.round(a[0]+(d[0]-a[0])*(1-g))+","+Math.round(a[1]+(d[1]-a[1])*(1-g))+","+Math.round(a[2]+(d[2]-a[2])*(1-g))+(m?","+(a[3]+(d[3]-a[3])*(1-g)):"")+")"):a=a.input||"none";return a}};a.color= function(d){return new a.Color(d)}})(L);(function(a){var y,C,E=a.addEvent,D=a.animate,q=a.attr,d=a.charts,g=a.color,p=a.css,m=a.createElement,n=a.defined,f=a.deg2rad,c=a.destroyObjectProperties,x=a.doc,e=a.each,b=a.extend,u=a.erase,l=a.grep,k=a.hasTouch,F=a.inArray,H=a.isArray,B=a.isFirefox,I=a.isMS,r=a.isObject,G=a.isString,w=a.isWebKit,A=a.merge,v=a.noop,J=a.objectEach,h=a.pick,t=a.pInt,M=a.removeEvent,K=a.splat,N=a.stop,O=a.svg,Q=a.SVG_NS,R=a.symbolSizes,P=a.win;y=a.SVGElement=function(){return this}; b(y.prototype,{opacity:1,SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,h){this.element="span"===h?m(h):x.createElementNS(this.SVG_NS,h);this.renderer=a},animate:function(z,t,b){t=a.animObject(h(t,this.renderer.globalAnimation,!0));0!==t.duration?(b&&(t.complete=b),D(this,z,t)):(this.attr(z,null,b),t.step&&t.step.call(this));return this},colorGradient:function(z,h,t){var b= this.renderer,c,l,k,d,f,w,g,v,u,S,r=[],K;z.radialGradient?l="radialGradient":z.linearGradient&&(l="linearGradient");l&&(k=z[l],f=b.gradients,g=z.stops,S=t.radialReference,H(k)&&(z[l]=k={x1:k[0],y1:k[1],x2:k[2],y2:k[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===l&&S&&!n(k.gradientUnits)&&(d=k,k=A(k,b.getRadialAttr(S,d),{gradientUnits:"userSpaceOnUse"})),J(k,function(a,z){"id"!==z&&r.push(z,a)}),J(g,function(a){r.push(a)}),r=r.join(","),f[r]?S=f[r].attr("id"):(k.id=S=a.uniqueKey(),f[r]=w=b.createElement(l).attr(k).add(b.defs), w.radAttr=d,w.stops=[],e(g,function(z){0===z[1].indexOf("rgba")?(c=a.color(z[1]),v=c.get("rgb"),u=c.get("a")):(v=z[1],u=1);z=b.createElement("stop").attr({offset:z[0],"stop-color":v,"stop-opacity":u}).add(w);w.stops.push(z)})),K="url("+b.url+"#"+S+")",t.setAttribute(h,K),t.gradient=r,z.toString=function(){return K})},applyTextOutline:function(z){var h=this.element,t,b,c,l,k;-1!==z.indexOf("contrast")&&(z=z.replace(/contrast/g,this.renderer.getContrast(h.style.fill)));z=z.split(" ");b=z[z.length-1]; if((c=z[0])&&"none"!==c&&a.svg){this.fakeTS=!0;z=[].slice.call(h.getElementsByTagName("tspan"));this.ySetter=this.xSetter;c=c.replace(/(^[\d\.]+)(.*?)$/g,function(a,z,h){return 2*z+h});for(k=z.length;k--;)t=z[k],"highcharts-text-outline"===t.getAttribute("class")&&u(z,h.removeChild(t));l=h.firstChild;e(z,function(a,z){0===z&&(a.setAttribute("x",h.getAttribute("x")),z=h.getAttribute("y"),a.setAttribute("y",z||0),null===z&&h.setAttribute("y",0));a=a.cloneNode(1);q(a,{"class":"highcharts-text-outline", fill:b,stroke:b,"stroke-width":c,"stroke-linejoin":"round"});h.insertBefore(a,l)})}},attr:function(a,h,t,b){var z,e=this.element,c,l=this,k,d;"string"===typeof a&&void 0!==h&&(z=a,a={},a[z]=h);"string"===typeof a?l=(this[a+"Getter"]||this._defaultGetter).call(this,a,e):(J(a,function(z,h){k=!1;b||N(this,h);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(h)&&(c||(this.symbolAttr(a),c=!0),k=!0);!this.rotation||"x"!==h&&"y"!==h||(this.doTransform=!0);k||(d=this[h+"Setter"]|| this._defaultSetter,d.call(this,z,h,e))},this),this.afterSetters());t&&t();return l},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},addClass:function(a,h){var z=this.attr("class")||"";-1===z.indexOf(a)&&(h||(a=(z+(z?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==F(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var z= this;e("x y r start end width height innerR anchorX anchorY".split(" "),function(t){z[t]=h(a[t],z[t])});z.attr({d:z.renderer.symbols[z.symbolName](z.x,z.y,z.width,z.height,z)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,h){var z=this,t={},b;h=h||a.strokeWidth||0;b=Math.round(h)%2/2;a.x=Math.floor(a.x||z.x||0)+b;a.y=Math.floor(a.y||z.y||0)+b;a.width=Math.floor((a.width||z.width||0)-2*b);a.height=Math.floor((a.height||z.height||0)- 2*b);n(a.strokeWidth)&&(a.strokeWidth=h);J(a,function(a,h){z[h]!==a&&(z[h]=t[h]=a)});return t},css:function(a){var h=this.styles,z={},e=this.element,c,k="",l,d=!h,f=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);h&&J(a,function(a,t){a!==h[t]&&(z[t]=a,d=!0)});d&&(h&&(a=b(h,z)),c=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===e.nodeName.toLowerCase()&&t(a.width),this.styles=a,c&&!O&&this.renderer.forExport&&delete a.width,I&&!O?p(this.element,a):(l=function(a,h){return"-"+ h.toLowerCase()},J(a,function(a,h){-1===F(h,f)&&(k+=h.replace(/([A-Z])/g,l)+":"+a+";")}),k&&q(e,"style",k)),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return P.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),h;a.indexOf("px")===a.length-2?a=t(a):(h=x.createElementNS(Q,"rect"),q(h,{width:a,"stroke-width":0}), this.element.parentNode.appendChild(h),a=h.getBBox().width,h.parentNode.removeChild(h));return a},on:function(a,h){var z=this,t=z.element;k&&"click"===a?(t.ontouchstart=function(a){z.touchEventFired=Date.now();a.preventDefault();h.call(t,a)},t.onclick=function(a){(-1===P.navigator.userAgent.indexOf("Android")||1100<Date.now()-(z.touchEventFired||0))&&h.call(t,a)}):t["on"+a]=h;return this},setRadialReference:function(a){var h=this.renderer.gradients[this.element.gradient];this.element.radialReference= a;h&&h.radAttr&&h.animate(this.renderer.getRadialAttr(a,h.radAttr));return this},translate:function(a,h){return this.attr({translateX:a,translateY:h})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,t=this.translateY||0,b=this.scaleX,e=this.scaleY,c=this.inverted,k=this.rotation,l=this.element;c&&(a+=this.width,t+=this.height);a=["translate("+a+","+t+")"];c?a.push("rotate(90) scale(-1,1)"):k&&a.push("rotate("+k+" "+(l.getAttribute("x")|| 0)+" "+(l.getAttribute("y")||0)+")");(n(b)||n(e))&&a.push("scale("+h(b,1)+" "+h(e,1)+")");a.length&&l.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,t,b){var z,e,c,k,l={};e=this.renderer;c=e.alignedObjects;var d,f;if(a){if(this.alignOptions=a,this.alignByTranslate=t,!b||G(b))this.alignTo=z=b||"renderer",u(c,this),c.push(this),b=null}else a=this.alignOptions,t=this.alignByTranslate,z=this.alignTo;b=h(b,e[z],e); z=a.align;e=a.verticalAlign;c=(b.x||0)+(a.x||0);k=(b.y||0)+(a.y||0);"right"===z?d=1:"center"===z&&(d=2);d&&(c+=(b.width-(a.width||0))/d);l[t?"translateX":"x"]=Math.round(c);"bottom"===e?f=1:"middle"===e&&(f=2);f&&(k+=(b.height-(a.height||0))/f);l[t?"translateY":"y"]=Math.round(k);this[this.placed?"animate":"attr"](l);this.placed=!0;this.alignAttr=l;return this},getBBox:function(a,t){var z,c=this.renderer,l,k=this.element,d=this.styles,w,g=this.textStr,v,u=c.cache,r=c.cacheKeys,A;t=h(t,this.rotation); l=t*f;w=k&&y.prototype.getStyle.call(k,"font-size");void 0!==g&&(A=g.toString(),-1===A.indexOf("\x3c")&&(A=A.replace(/[0-9]/g,"0")),A+=["",t||0,w,d&&d.width,d&&d.textOverflow].join());A&&!a&&(z=u[A]);if(!z){if(k.namespaceURI===this.SVG_NS||c.forExport){try{(v=this.fakeTS&&function(a){e(k.querySelectorAll(".highcharts-text-outline"),function(h){h.style.display=a})})&&v("none"),z=k.getBBox?b({},k.getBBox()):{width:k.offsetWidth,height:k.offsetHeight},v&&v("")}catch(V){}if(!z||0>z.width)z={width:0,height:0}}else z= this.htmlGetBBox();c.isSVG&&(a=z.width,c=z.height,d&&"11px"===d.fontSize&&17===Math.round(c)&&(z.height=c=14),t&&(z.width=Math.abs(c*Math.sin(l))+Math.abs(a*Math.cos(l)),z.height=Math.abs(c*Math.cos(l))+Math.abs(a*Math.sin(l))));if(A&&0<z.height){for(;250<r.length;)delete u[r.shift()];u[A]||r.push(A);u[A]=z}}return z},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var h=this;h.animate({opacity:0}, {duration:a||150,complete:function(){h.attr({y:-9999})}})},add:function(a){var h=this.renderer,z=this.element,t;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&h.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)t=this.zIndexSetter();t||(a?a.element:h.box).appendChild(z);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var h=a.parentNode;h&&h.removeChild(a)},destroy:function(){var a=this,h=a.element||{},t=a.renderer.isSVG&&"SPAN"===h.nodeName&& a.parentGroup,b=h.ownerSVGElement;h.onclick=h.onmouseout=h.onmouseover=h.onmousemove=h.point=null;N(a);a.clipPath&&b&&(e(b.querySelectorAll("[clip-path]"),function(h){-1<h.getAttribute("clip-path").indexOf(a.clipPath.element.id+")")&&h.removeAttribute("clip-path")}),a.clipPath=a.clipPath.destroy());if(a.stops){for(b=0;b<a.stops.length;b++)a.stops[b]=a.stops[b].destroy();a.stops=null}for(a.safeRemoveChild(h);t&&t.div&&0===t.div.childNodes.length;)h=t.parentGroup,a.safeRemoveChild(t.div),delete t.div, t=h;a.alignTo&&u(a.renderer.alignedObjects,a);J(a,function(h,t){delete a[t]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=h(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,h,t){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[h]!==a&&(t.setAttribute(h,a),this[h]=a)},alignSetter:function(a){this.element.setAttribute("text-anchor", {left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,h,t){this[h]=a;t.setAttribute(h,a)},titleSetter:function(a){var t=this.element.getElementsByTagName("title")[0];t||(t=x.createElementNS(this.SVG_NS,"title"),this.element.appendChild(t));t.firstChild&&t.removeChild(t.firstChild);t.appendChild(x.createTextNode(String(h(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a, h,t){"string"===typeof a?t.setAttribute(h,a):a&&this.colorGradient(a,h,t)},visibilitySetter:function(a,h,t){"inherit"===a?t.removeAttribute(h):this[h]!==a&&t.setAttribute(h,a);this[h]=a},zIndexSetter:function(a,h){var b=this.renderer,z=this.parentGroup,e=(z||b).element||b.box,c,k=this.element,l;c=this.added;var d;n(a)&&(k.zIndex=a,a=+a,this[h]===a&&(c=!1),this[h]=a);if(c){(a=this.zIndex)&&z&&(z.handleZ=!0);h=e.childNodes;for(d=0;d<h.length&&!l;d++)z=h[d],c=z.zIndex,z!==k&&(t(c)>a||!n(a)&&n(c)||0> a&&!n(c)&&e!==b.box)&&(e.insertBefore(k,z),l=!0);l||e.appendChild(k)}return l},_defaultSetter:function(a,h,t){t.setAttribute(h,a)}});y.prototype.yGetter=y.prototype.xGetter;y.prototype.translateXSetter=y.prototype.translateYSetter=y.prototype.rotationSetter=y.prototype.verticalAlignSetter=y.prototype.scaleXSetter=y.prototype.scaleYSetter=function(a,h){this[h]=a;this.doTransform=!0};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};b(C.prototype,{Element:y,SVG_NS:Q,init:function(a,h,t,b, e,c){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&q(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects=[];this.url=(B||w)&&x.getElementsByTagName("base").length?P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(x.createTextNode("Created with Highcharts 5.0.13")); this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(h,t,!1);var k;B&&a.getBoundingClientRect&&(h=function(){p(a,{left:0,top:0});k=a.getBoundingClientRect();p(a,{left:Math.ceil(k.left)-k.left+"px",top:Math.ceil(k.top)-k.top+"px"})},h(),this.unSubPixelFix=E(P,"resize",h))},definition:function(a){function h(a,b){var z;e(K(a),function(a){var e=t.createElement(a.tagName),c={};J(a,function(a,h){"tagName"!== h&&"children"!==h&&"textContent"!==h&&(c[h]=a)});e.attr(c);e.add(b||t.defs);a.textContent&&e.element.appendChild(x.createTextNode(a.textContent));h(a.children||[],e);z=e});return z}var t=this;return h(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();c(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var h= new this.Element;h.init(this,a);return h},draw:v,getRadialAttr:function(a,h){return{cx:a[0]-a[2]/2+h.cx*a[2],cy:a[1]-a[2]/2+h.cy*a[2],r:h.r*a[2]}},getSpanWidth:function(a,h){var t=a.getBBox(!0).width;!O&&this.forExport&&(t=this.measureSpanWidth(h.firstChild.data,a.styles));return t},applyEllipsis:function(a,h,t,b){var e=a.rotation,z=t,c,k=0,l=t.length,d=function(a){h.removeChild(h.firstChild);a&&h.appendChild(x.createTextNode(a))},f;a.rotation=0;z=this.getSpanWidth(a,h);if(f=z>b){for(;k<=l;)c=Math.ceil((k+ l)/2),z=t.substring(0,c)+"\u2026",d(z),z=this.getSpanWidth(a,h),k===l?k=l+1:z>b?l=c-1:k=c;0===l&&d("")}a.rotation=e;return f},buildText:function(a){var b=a.element,c=this,k=c.forExport,z=h(a.textStr,"").toString(),d=-1!==z.indexOf("\x3c"),f=b.childNodes,w,g,v,u,r=q(b,"x"),A=a.styles,n=a.textWidth,K=A&&A.lineHeight,M=A&&A.textOutline,B=A&&"ellipsis"===A.textOverflow,I=A&&"nowrap"===A.whiteSpace,F,m=f.length,N=n&&!a.added&&this.box,R=function(a){return K?t(K):c.fontMetrics(void 0,a.getAttribute("style")? a:b).h},A=[z,B,I,K,M,A&&A.fontSize,n].join();if(A!==a.textCache){for(a.textCache=A;m--;)b.removeChild(f[m]);d||M||B||n||-1!==z.indexOf(" ")?(w=/<.*class="([^"]+)".*>/,g=/<.*style="([^"]+)".*>/,v=/<.*href="([^"]+)".*>/,N&&N.appendChild(b),z=d?z.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[z],z=l(z,function(a){return""!== a}),e(z,function(h,t){var z,l=0;h=h.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");z=h.split("|||");e(z,function(h){if(""!==h||1===z.length){var e={},d=x.createElementNS(c.SVG_NS,"tspan"),f,A;w.test(h)&&(f=h.match(w)[1],q(d,"class",f));g.test(h)&&(A=h.match(g)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),q(d,"style",A));v.test(h)&&!k&&(q(d,"onclick",'location.href\x3d"'+h.match(v)[1]+'"'),p(d,{cursor:"pointer"}));h=(h.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g, "\x3c").replace(/&gt;/g,"\x3e");if(" "!==h){d.appendChild(x.createTextNode(h));l?e.dx=0:t&&null!==r&&(e.x=r);q(d,e);b.appendChild(d);!l&&F&&(!O&&k&&p(d,{display:"block"}),q(d,"dy",R(d)));if(n){e=h.replace(/([^\^])-/g,"$1- ").split(" ");f=1<z.length||t||1<e.length&&!I;var K=[],M,m=R(d),N=a.rotation;for(B&&(u=c.applyEllipsis(a,d,h,n));!B&&f&&(e.length||K.length);)a.rotation=0,M=c.getSpanWidth(a,d),h=M>n,void 0===u&&(u=h),h&&1!==e.length?(d.removeChild(d.firstChild),K.unshift(e.pop())):(e=K,K=[],e.length&& !I&&(d=x.createElementNS(Q,"tspan"),q(d,{dy:m,x:r}),A&&q(d,"style",A),b.appendChild(d)),M>n&&(n=M)),e.length&&d.appendChild(x.createTextNode(e.join(" ").replace(/- /g,"-")));a.rotation=N}l++}}});F=F||b.childNodes.length}),u&&a.attr("title",a.textStr),N&&N.removeChild(b),M&&a.applyTextOutline&&a.applyTextOutline(M)):b.appendChild(x.createTextNode(z.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=g(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a, h,t,b,e,c,k,l,d){var z=this.label(a,h,t,d,null,null,null,null,"button"),f=0;z.attr(A({padding:8,r:2},e));E(z.element,I?"mouseover":"mouseenter",function(){3!==f&&z.setState(1)});E(z.element,I?"mouseout":"mouseleave",function(){3!==f&&z.setState(f)});z.setState=function(a){1!==a&&(z.state=f=a);z.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return z.on("click",function(a){3!==f&&b.call(z,a)})},crispLine:function(a, h){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-h%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+h%2/2);return a},path:function(a){var h={};H(a)?h.d=a:r(a)&&b(h,a);return this.createElement("path").attr(h)},circle:function(a,h,t){a=r(a)?a:{x:a,y:h,r:t};h=this.createElement("circle");h.xSetter=h.ySetter=function(a,h,t){t.setAttribute("c"+h,a)};return h.attr(a)},arc:function(a,h,t,b,e,c){r(a)?(b=a,h=b.y,t=b.r,a=b.x):b={innerR:b,start:e,end:c};a=this.symbol("arc",a,h,t,t,b);a.r=t;return a},rect:function(a, h,t,b,e,c){e=r(a)?a.r:e;c=this.createElement("rect");a=r(a)?a:void 0===a?{}:{x:a,y:h,width:Math.max(t,0),height:Math.max(b,0)};e&&(a.r=e);c.rSetter=function(a,h,t){q(t,{rx:a,ry:a})};return c.attr(a)},setSize:function(a,t,b){var e=this.alignedObjects,c=e.length;this.width=a;this.height=t;for(this.boxWrapper.animate({width:a,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:h(b,!0)?void 0:0});c--;)e[c].align()},g:function(a){var h=this.createElement("g"); return a?h.attr({"class":"highcharts-"+a}):h},image:function(a,h,t,e,c){var k={preserveAspectRatio:"none"};1<arguments.length&&b(k,{x:h,y:t,width:e,height:c});k=this.createElement("image").attr(k);k.element.setAttributeNS?k.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):k.element.setAttribute("hc-svg-href",a);return k},symbol:function(a,t,c,k,l,f){var z=this,w,g=/^url\((.*?)\)$/,A=g.test(a),u=!A&&(this.symbols[a]?a:"circle"),v=u&&this.symbols[u],r=n(t)&&v&&v.call(this.symbols,Math.round(t), Math.round(c),k,l,f),K,Q;v?(w=this.path(r),b(w,{symbolName:u,x:t,y:c,width:k,height:l}),f&&b(w,f)):A&&(K=a.match(g)[1],w=this.image(K),w.imgwidth=h(R[K]&&R[K].width,f&&f.width),w.imgheight=h(R[K]&&R[K].height,f&&f.height),Q=function(){w.attr({width:w.width,height:w.height})},e(["width","height"],function(a){w[a+"Setter"]=function(a,h){var t={},b=this["img"+h],e="width"===h?"translateX":"translateY";this[h]=a;n(b)&&(this.element&&this.element.setAttribute(h,b),this.alignByTranslate||(t[e]=((this[h]|| 0)-b)/2,this.attr(t)))}}),n(t)&&w.attr({x:t,y:c}),w.isImg=!0,n(w.imgwidth)&&n(w.imgheight)?Q():(w.attr({width:0,height:0}),m("img",{onload:function(){var a=d[z.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),x.body.appendChild(this));R[K]={width:this.width,height:this.height};w.imgwidth=this.width;w.imgheight=this.height;w.element&&Q();this.parentNode&&this.parentNode.removeChild(this);z.imgCount--;if(!z.imgCount&&a&&a.onload)a.onload()},src:K}),this.imgCount++));return w}, symbols:{circle:function(a,h,t,b){return this.arc(a+t/2,h+b/2,t/2,b/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,h,t,b){return["M",a,h,"L",a+t,h,a+t,h+b,a,h+b,"Z"]},triangle:function(a,h,t,b){return["M",a+t/2,h,"L",a+t,h+b,a,h+b,"Z"]},"triangle-down":function(a,h,t,b){return["M",a,h,"L",a+t,h,a+t/2,h+b,"Z"]},diamond:function(a,h,t,b){return["M",a+t/2,h,"L",a+t,h+b/2,a+t/2,h+b,a,h+b/2,"Z"]},arc:function(a,t,b,e,c){var k=c.start,l=c.r||b,d=c.r||e||b,f=c.end-.001;b=c.innerR;e=h(c.open,.001> Math.abs(c.end-c.start-2*Math.PI));var w=Math.cos(k),z=Math.sin(k),g=Math.cos(f),f=Math.sin(f);c=.001>c.end-k-Math.PI?0:1;l=["M",a+l*w,t+d*z,"A",l,d,0,c,1,a+l*g,t+d*f];n(b)&&l.push(e?"M":"L",a+b*g,t+b*f,"A",b,b,0,c,0,a+b*w,t+b*z);l.push(e?"":"Z");return l},callout:function(a,h,t,b,e){var c=Math.min(e&&e.r||0,t,b),k=c+6,l=e&&e.anchorX;e=e&&e.anchorY;var d;d=["M",a+c,h,"L",a+t-c,h,"C",a+t,h,a+t,h,a+t,h+c,"L",a+t,h+b-c,"C",a+t,h+b,a+t,h+b,a+t-c,h+b,"L",a+c,h+b,"C",a,h+b,a,h+b,a,h+b-c,"L",a,h+c,"C",a, h,a,h,a+c,h];l&&l>t?e>h+k&&e<h+b-k?d.splice(13,3,"L",a+t,e-6,a+t+6,e,a+t,e+6,a+t,h+b-c):d.splice(13,3,"L",a+t,b/2,l,e,a+t,b/2,a+t,h+b-c):l&&0>l?e>h+k&&e<h+b-k?d.splice(33,3,"L",a,e+6,a-6,e,a,e-6,a,h+c):d.splice(33,3,"L",a,b/2,l,e,a,b/2,a,h+c):e&&e>b&&l>a+k&&l<a+t-k?d.splice(23,3,"L",l+6,h+b,l,h+b+6,l-6,h+b,a+c,h+b):e&&0>e&&l>a+k&&l<a+t-k&&d.splice(3,3,"L",l-6,h,l,h-6,l+6,h,t-c,h);return d}},clipRect:function(h,t,b,e){var c=a.uniqueKey(),k=this.createElement("clipPath").attr({id:c}).add(this.defs); h=this.rect(h,t,b,e,0).add(k);h.id=c;h.clipPath=k;h.count=0;return h},text:function(a,h,t,b){var e=!O&&this.forExport,c={};if(b&&(this.allowHTML||!this.forExport))return this.html(a,h,t);c.x=Math.round(h||0);t&&(c.y=Math.round(t));if(a||0===a)c.text=a;a=this.createElement("text").attr(c);e&&a.css({position:"absolute"});b||(a.xSetter=function(a,h,t){var b=t.getElementsByTagName("tspan"),e,c=t.getAttribute(h),k;for(k=0;k<b.length;k++)e=b[k],e.getAttribute(h)===c&&e.setAttribute(h,a);t.setAttribute(h, a)});return a},fontMetrics:function(a,h){a=h&&y.prototype.getStyle.call(h,"font-size");a=/px/.test(a)?t(a):/em/.test(a)?parseFloat(a)*(h?this.fontMetrics(null,h.parentNode).f:16):12;h=24>a?a+3:Math.round(1.2*a);return{h:h,b:Math.round(.8*h),f:a}},rotCorr:function(a,h,t){var b=a;h&&t&&(b=Math.max(b*Math.cos(h*f),4));return{x:-a/3*Math.sin(h*f),y:b}},label:function(h,t,c,k,l,d,f,w,g){var u=this,v=u.g("button"!==g&&"label"),r=v.text=u.text("",0,0,f).attr({zIndex:1}),K,z,x=0,Q=3,B=0,p,I,F,m,N,q={},R, H=/^url\((.*?)\)$/.test(k),J=H,G,O,P,S;g&&v.addClass("highcharts-"+g);J=!0;G=function(){return K.strokeWidth()%2/2};O=function(){var a=r.element.style,h={};z=(void 0===p||void 0===I||N)&&n(r.textStr)&&r.getBBox();v.width=(p||z.width||0)+2*Q+B;v.height=(I||z.height||0)+2*Q;R=Q+u.fontMetrics(a&&a.fontSize,r).b;J&&(K||(v.box=K=u.symbols[k]||H?u.symbol(k):u.rect(),K.addClass(("button"===g?"":"highcharts-label-box")+(g?" highcharts-"+g+"-box":"")),K.add(v),a=G(),h.x=a,h.y=(w?-R:0)+a),h.width=Math.round(v.width), h.height=Math.round(v.height),K.attr(b(h,q)),q={})};P=function(){var a=B+Q,h;h=w?0:R;n(p)&&z&&("center"===N||"right"===N)&&(a+={center:.5,right:1}[N]*(p-z.width));if(a!==r.x||h!==r.y)r.attr("x",a),void 0!==h&&r.attr("y",h);r.x=a;r.y=h};S=function(a,h){K?K.attr(a,h):q[a]=h};v.onAdd=function(){r.add(v);v.attr({text:h||0===h?h:"",x:t,y:c});K&&n(l)&&v.attr({anchorX:l,anchorY:d})};v.widthSetter=function(h){p=a.isNumber(h)?h:null};v.heightSetter=function(a){I=a};v["text-alignSetter"]=function(a){N=a};v.paddingSetter= function(a){n(a)&&a!==Q&&(Q=v.padding=a,P())};v.paddingLeftSetter=function(a){n(a)&&a!==B&&(B=a,P())};v.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==x&&(x=a,z&&v.attr({x:F}))};v.textSetter=function(a){void 0!==a&&r.textSetter(a);O();P()};v["stroke-widthSetter"]=function(a,h){a&&(J=!0);this["stroke-width"]=a;S(h,a)};v.rSetter=function(a,h){S(h,a)};v.anchorXSetter=function(a,h){l=v.anchorX=a;S(h,Math.round(a)-G()-F)};v.anchorYSetter=function(a,h){d=v.anchorY=a;S(h,a-m)};v.xSetter=function(a){v.x= a;x&&(a-=x*((p||z.width)+2*Q));F=Math.round(a);v.attr("translateX",F)};v.ySetter=function(a){m=v.y=Math.round(a);v.attr("translateY",m)};var U=v.css;return b(v,{css:function(a){if(a){var h={};a=A(a);e(v.textProps,function(t){void 0!==a[t]&&(h[t]=a[t],delete a[t])});r.css(h)}return U.call(v,a)},getBBox:function(){return{width:z.width+2*Q,height:z.height+2*Q,x:z.x-Q,y:z.y-Q}},destroy:function(){M(v.element,"mouseenter");M(v.element,"mouseleave");r&&(r=r.destroy());K&&(K=K.destroy());y.prototype.destroy.call(v); v=u=O=P=S=null}})}});a.Renderer=C})(L);(function(a){var y=a.attr,C=a.createElement,E=a.css,D=a.defined,q=a.each,d=a.extend,g=a.isFirefox,p=a.isMS,m=a.isWebKit,n=a.pInt,f=a.SVGRenderer,c=a.win,x=a.wrap;d(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);E(this.element,a);return this},htmlGetBBox:function(){var a= this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,c=this.x||0,l=this.y||0,k=this.textAlign||"left",d={left:0,center:.5,right:1}[k],f=this.styles;E(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&q(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var g=this.rotation,x=n(this.textWidth), r=f&&f.whiteSpace,p=[g,k,b.innerHTML,this.textWidth,this.textAlign].join();p!==this.cTT&&(f=a.fontMetrics(b.style.fontSize).b,D(g)&&this.setSpanRotation(g,d,f),E(b,{width:"",whiteSpace:r||"nowrap"}),b.offsetWidth>x&&/[ \-]/.test(b.textContent||b.innerText)&&E(b,{width:x+"px",display:"block",whiteSpace:r||"normal"}),this.getSpanCorrection(b.offsetWidth,f,d,g,k));E(b,{left:c+(this.xCorr||0)+"px",top:l+(this.yCorr||0)+"px"});m&&(f=b.offsetHeight);this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(a, b,d){var e={},k=p?"-ms-transform":m?"-webkit-transform":g?"MozTransform":c.opera?"-o-transform":"";e[k]=e.transform="rotate("+a+"deg)";e[k+(g?"Origin":"-origin")]=e.transformOrigin=100*b+"% "+d+"px";E(this.element,e)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});d(f.prototype,{html:function(a,b,c){var e=this.createElement("span"),k=e.element,f=e.renderer,g=f.isSVG,u=function(a,b){q(["opacity","visibility"],function(e){x(a,e+"Setter",function(a,e,c,k){a.call(this,e,c,k);b[c]= e})})};e.textSetter=function(a){a!==k.innerHTML&&delete this.bBox;k.innerHTML=this.textStr=a;e.htmlUpdateTransform()};g&&u(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){"align"===b&&(b="textAlign");e[b]=a;e.htmlUpdateTransform()};e.attr({text:a,x:Math.round(b),y:Math.round(c)}).css({position:"absolute"});k.style.whiteSpace="nowrap";e.css=e.htmlCss;g&&(e.add=function(a){var b,c=f.box.parentNode,l=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)l.push(a),a=a.parentGroup; q(l.reverse(),function(a){var k,f=y(a.element,"class");f&&(f={className:f});b=a.div=a.div||C("div",f,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);k=b.style;d(a,{classSetter:function(a){this.element.setAttribute("class",a);b.className=a},on:function(){l[0].div&&e.on.apply({element:l[0].div},arguments);return a},translateXSetter:function(h,t){k.left=h+"px";a[t]=h;a.doTransform=!0}, translateYSetter:function(h,t){k.top=h+"px";a[t]=h;a.doTransform=!0}});u(a,k)})}}else b=c;b.appendChild(k);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(L);(function(a){function y(){var d=a.defaultOptions.global,m=g.moment;if(d.timezone){if(m)return function(a){return-m.tz(a,d.timezone).utcOffset()};a.error(25)}return d.useUTC&&d.getTimezoneOffset}function C(){var p=a.defaultOptions.global,m,n=p.useUTC,f=n?"getUTC":"get",c=n?"setUTC":"set";a.Date=m=p.Date||g.Date;m.hcTimezoneOffset= n&&p.timezoneOffset;m.hcGetTimezoneOffset=y();m.hcMakeTime=function(a,e,b,c,l,k){var f;n?(f=m.UTC.apply(0,arguments),f+=D(f)):f=(new m(a,e,d(b,1),d(c,0),d(l,0),d(k,0))).getTime();return f};E("Minutes Hours Day Date Month FullYear".split(" "),function(a){m["hcGet"+a]=f+a});E("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){m["hcSet"+a]=c+a})}var E=a.each,D=a.getTZOffset,q=a.merge,d=a.pick,g=a.win;a.defaultOptions={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},chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0, spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null},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:{},itemCheckboxStyle:{position:"absolute",width:"13px", height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e', pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(d){a.defaultOptions=q(!0,a.defaultOptions,d);C();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions; C()})(L);(function(a){var y=a.correctFloat,C=a.defined,E=a.destroyObjectProperties,D=a.isNumber,q=a.pick,d=a.deg2rad;a.Tick=function(a,d,m,n){this.axis=a;this.pos=d;this.type=m||"";this.isNewLabel=this.isNew=!0;m||n||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,d=a.options,m=a.chart,n=a.categories,f=a.names,c=this.pos,x=d.labels,e=a.tickPositions,b=c===e[0],u=c===e[e.length-1],f=n?q(n[c],f[c],c):c,n=this.label,e=e.info,l;a.isDatetimeAxis&&e&&(l=d.dateTimeLabelFormats[e.higherRanks[c]|| e.unitName]);this.isFirst=b;this.isLast=u;d=a.labelFormatter.call({axis:a,chart:m,isFirst:b,isLast:u,dateTimeLabelFormat:l,value:a.isLog?y(a.lin2log(f)):f,pos:c});C(n)?n&&n.attr({text:d}):(this.labelLength=(this.label=n=C(d)&&x.enabled?m.renderer.text(d,0,0,x.useHTML).add(a.labelGroup):null)&&n.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var g=this.axis,m=a.x,n=g.chart.chartWidth,f= g.chart.spacing,c=q(g.labelLeft,Math.min(g.pos,f[3])),f=q(g.labelRight,Math.max(g.pos+g.len,n-f[1])),x=this.label,e=this.rotation,b={left:0,center:.5,right:1}[g.labelAlign],u=x.getBBox().width,l=g.getSlotWidth(),k=l,F=1,H,B={};if(e)0>e&&m-b*u<c?H=Math.round(m/Math.cos(e*d)-c):0<e&&m+b*u>f&&(H=Math.round((n-m)/Math.cos(e*d)));else if(n=m+(1-b)*u,m-b*u<c?k=a.x+k*(1-b)-c:n>f&&(k=f-a.x+k*b,F=-1),k=Math.min(l,k),k<l&&"center"===g.labelAlign&&(a.x+=F*(l-k-b*(l-Math.min(u,k)))),u>k||g.autoRotation&&(x.styles|| {}).width)H=k;H&&(B.width=H,(g.options.labels.style||{}).textOverflow||(B.textOverflow="ellipsis"),x.css(B))},getPosition:function(a,d,m,n){var f=this.axis,c=f.chart,g=n&&c.oldChartHeight||c.chartHeight;return{x:a?f.translate(d+m,null,null,n)+f.transB:f.left+f.offset+(f.opposite?(n&&c.oldChartWidth||c.chartWidth)-f.right-f.left:0),y:a?g-f.bottom+f.offset-(f.opposite?f.height:0):g-f.translate(d+m,null,null,n)-f.transB}},getLabelPosition:function(a,p,m,n,f,c,x,e){var b=this.axis,g=b.transA,l=b.reversed, k=b.staggerLines,F=b.tickRotCorr||{x:0,y:0},q=f.y;C(q)||(q=0===b.side?m.rotation?-8:-m.getBBox().height:2===b.side?F.y+8:Math.cos(m.rotation*d)*(F.y-m.getBBox(!1,0).height/2));a=a+f.x+F.x-(c&&n?c*g*(l?-1:1):0);p=p+q-(c&&!n?c*g*(l?1:-1):0);k&&(m=x/(e||1)%k,b.opposite&&(m=k-m-1),p+=b.labelOffset/k*m);return{x:a,y:Math.round(p)}},getMarkPath:function(a,d,m,n,f,c){return c.crispLine(["M",a,d,"L",a+(f?0:-m),d+(f?m:0)],n)},renderGridLine:function(a,d,m){var g=this.axis,f=this.gridLine,c={},x=this.pos,e= this.type,b=g.tickmarkOffset,u=g.chart.renderer;f||(e||(c.zIndex=1),a&&(c.opacity=0),this.gridLine=f=u.path().attr(c).addClass("highcharts-"+(e?e+"-":"")+"grid-line").add(g.gridGroup));if(!a&&f&&(a=g.getPlotLinePath(x+b,f.strokeWidth()*m,a,!0)))f[this.isNew?"attr":"animate"]({d:a,opacity:d})},renderMark:function(a,d,m){var g=this.axis,f=g.chart.renderer,c=this.type,x=g.tickSize(c?c+"Tick":"tick"),e=this.mark,b=!e,u=a.x;a=a.y;x&&(g.opposite&&(x[0]=-x[0]),b&&(this.mark=e=f.path().addClass("highcharts-"+ (c?c+"-":"")+"tick").add(g.axisGroup)),e[b?"attr":"animate"]({d:this.getMarkPath(u,a,x[0],e.strokeWidth()*m,g.horiz,f),opacity:d}))},renderLabel:function(a,d,m,n){var f=this.axis,c=f.horiz,g=f.options,e=this.label,b=g.labels,u=b.step,l=f.tickmarkOffset,k=!0,F=a.x;a=a.y;e&&D(F)&&(e.xy=a=this.getLabelPosition(F,a,e,c,b,l,n,u),this.isFirst&&!this.isLast&&!q(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!q(g.showLastLabel,1)?k=!1:!c||f.isRadial||b.step||b.rotation||d||0===m||this.handleOverflow(a), u&&n%u&&(k=!1),k&&D(a.y)?(a.opacity=m,e[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(e.attr("y",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(a,d,m){var g=this.axis,f=g.horiz,c=this.getPosition(f,this.pos,g.tickmarkOffset,d),x=c.x,e=c.y,g=f&&x===g.pos+g.len||!f&&e===g.pos?-1:1;m=q(m,1);this.isActive=!0;this.renderGridLine(d,m,g);this.renderMark(c,m,g);this.renderLabel(c,d,m,a)},destroy:function(){E(this,this.axis)}}})(L);var T=function(a){var y=a.addEvent,C=a.animObject, E=a.arrayMax,D=a.arrayMin,q=a.correctFloat,d=a.defaultOptions,g=a.defined,p=a.deg2rad,m=a.destroyObjectProperties,n=a.each,f=a.extend,c=a.fireEvent,x=a.format,e=a.getMagnitude,b=a.grep,u=a.inArray,l=a.isArray,k=a.isNumber,F=a.isString,H=a.merge,B=a.normalizeTickInterval,I=a.objectEach,r=a.pick,G=a.removeEvent,w=a.splat,A=a.syncTimeout,v=a.Tick,J=function(){this.init.apply(this,arguments)};a.extend(J.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,x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0