function formatLocation(n,t){var i="";return n&&n.trim().length>0&&t&&t.trim().length>0?i=n+", "+t:n&&n.trim().length>0?i=n:t&&t.trim().length>0&&(i=t),i}function formatNumber(n,t){var i=$.extend({thousandSeparator:",",decimalSeparator:"."},t),r=function(n){n+="";for(var r=n.split(i.decimalSeparator),t=r[0],f=r.length>1?i.decimalSeparator+r[1]:"",u=/(\d+)(\d{3})/;u.test(t);)t=t.replace(u,"$1"+i.thousandSeparator+"$2");return t+f};return r(n)}var Loop;(function(){function o(){var t,n=arguments,r,i={},u=function(n,t){var r,i;typeof n!="object"&&(n={});for(i in t)t.hasOwnProperty(i)&&(r=t[i],n[i]=r&&typeof r=="object"&&Object.prototype.toString.call(r)!=="[object Array]"&&i!=="renderTo"&&typeof r.nodeType!="number"?u(n[i]||{},r):t[i]);return n};for(n[0]===!0&&(i=n[1],n=Array.prototype.slice.call(n,2)),r=n.length,t=0;t<r;t++)i=u(i,n[t]);return i}function c(n,t){return parseInt(n,t||10)}function di(n){return typeof n=="string"}function yt(n){return n&&typeof n=="object"}function ir(n){return Object.prototype.toString.call(n)==="[object Array]"}function hi(n){return typeof n=="number"}function gi(n){return et.log(n)/et.LN10}function dt(n){return et.pow(10,n)}function gt(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function i(n){return n!==r&&n!==null}function nt(n,t,r){var u,f;if(di(t))i(r)?n.setAttribute(t,r):n&&n.getAttribute&&(f=n.getAttribute(t));else if(i(t)&&yt(t))for(u in t)n.setAttribute(u,t[u]);return f}function ci(n){return ir(n)?n:[n]}function y(n,t){yi&&!vt&&t&&t.opacity!==r&&(t.filter="alpha(opacity="+t.opacity*100+")");e(n.style,t)}function lt(n,t,i,r,u){return n=s.createElement(n),t&&e(n,t),u&&y(n,{padding:0,border:it,margin:0}),i&&y(n,i),r&&r.appendChild(n),n}function ni(n,t){var i=function(){return r};return i.prototype=new n,e(i.prototype,t),i}function rr(n,t){return Array((t||2)+1-String(n).length).join(0)+n}function wr(n){return(hu&&hu(n)||du||0)*6e4}function ur(n,t){for(var e="{",s=!1,i,r,o,u,f,c=[];(e=n.indexOf(e))!==-1;){if(i=n.slice(0,e),s){for(r=i.split(":"),o=r.shift().split("."),f=o.length,i=t,u=0;u<f;u++)i=i[o[u]];r.length&&(r=r.join(":"),o=/\.([0-9])/,u=ut.lang,f=void 0,/f$/.test(r)?(f=(f=r.match(o))?f[1]:-1,i!==null&&(i=h.numberFormat(i,f,u.decimalPoint,r.indexOf(",")>-1?u.thousandsSep:""))):i=yr(r,i))}c.push(i);n=n.slice(e+1);e=(s=!s)?"}":"{"}return c.push(n),c.join("")}function vu(n){return et.pow(10,ft(et.log(n)/et.LN10))}function yu(t,i,r,u,f){var o,e=t,r=n(r,1);for(o=t/r,i||(i=[1,2,2.5,5,10],u===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),u=0;u<i.length;u++)if(e=i[u],f&&e*r>=t||!f&&o<=(i[u]+(i[u+1]||i[u]))/2)break;return e*r}function pu(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].ss_i=i;for(n.sort(function(n,i){return r=t(n,i),r===0?n.ss_i-i.ss_i:r}),i=0;i<u;i++)delete n[i].ss_i}function hr(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i}function nr(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i}function cr(n,t){for(var i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function lr(n){eu||(eu=lt(er));n&&eu.appendChild(n);eu.innerHTML=""}function ti(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;g.console&&console.log(i)}function pt(n){return parseFloat(n.toPrecision(14))}function ar(t,i){wi=n(t,i.animation)}function hf(){var u=ut.global,r=u.useUTC,i=r?"getUTC":"get",t=r?"setUTC":"set";bi=u.Date||window.Date;du=r&&u.timezoneOffset;hu=r&&u.getTimezoneOffset;su=function(t,i,u,f,e,o){var s;return r?(s=bi.UTC.apply(0,arguments),s+=wr(s)):s=new bi(t,i,n(u,1),n(f,0),n(e,0),n(o,0)).getTime(),s};gu=i+"Minutes";nf=i+"Hours";tf=i+"Day";gr=i+"Date";nu=i+"Month";tu=i+"FullYear";yf=t+"Milliseconds";pf=t+"Seconds";wf=t+"Minutes";bf=t+"Hours";rf=t+"Date";uf=t+"Month";ff=t+"FullYear"}function tt(){}function vr(n,t,i,r){this.axis=n;this.pos=t;this.type=i||"";this.isNew=!0;i||r||this.addLabel()}function cf(t,i,r,u,f){var e=t.chart.inverted;this.axis=t;this.isNegative=r;this.options=i;this.x=u;this.total=null;this.points={};this.stack=f;this.alignOptions={align:i.align||(e?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(e?"middle":r?"bottom":"top"),y:n(i.y,e?4:r?14:-6),x:n(i.x,e?r?-6:6:0)};this.textAlign=i.textAlign||(e?r?"right":"left":"center")}var r,s=document,g=window,et=Math,f=et.round,ft=et.floor,li=et.ceil,u=et.max,l=et.min,p=et.abs,ot=et.cos,at=et.sin,ii=et.PI,bt=ii/180,vi=navigator.userAgent,lf=g.opera,yi=/(msie|trident)/i.test(vi)&&!lf,fu=s.documentMode===8,wu=/AppleWebKit/.test(vi),fr=/Firefox/.test(vi),af=/(Mobile|Android|Windows Phone)/.test(vi),pi="http://www.w3.org/2000/svg",vt=!!s.createElementNS&&!!s.createElementNS(pi,"svg").createSVGRect,gf=fr&&parseInt(vi.split("Firefox/")[1],10)<4,wt=!vt&&!yi&&!!s.createElement("canvas").getContext,br,kr,vf={},bu=0,eu,ut,yr,wi,ku,v,ri=function(){return r},st=[],dr=0,er="div",it="none",ne=/^[0-9]+$/,ou=["plotTop","marginRight","marginBottom","plotLeft"],te="stroke-width",bi,su,du,hu,gu,nf,tf,gr,nu,tu,yf,pf,wf,bf,rf,uf,ff,k={},h,a,ct,rt,fi,tr,kf,ei,ef,oi,sr,uu,df,ki,b,si,kt;h=g.Highcharts=g.Highcharts?ti(16,!0):{};h.seriesTypes=k;var e=h.extend=function(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n},n=h.pick=function(){for(var i=arguments,t,u=i.length,n=0;n<u;n++)if(t=i[n],t!==r&&t!==null)return t},iu=h.wrap=function(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(r),i.apply(this,n)}};yr=function(t,r,u){if(!i(r)||isNaN(r))return"Invalid date";var t=n(t,"%Y-%m-%d %H:%M:%S"),o=new bi(r-wr(r)),s,c=o[nf](),l=o[tf](),y=o[gr](),a=o[nu](),p=o[tu](),v=ut.lang,w=v.weekdays,o=e({a:w[l].substr(0,3),A:w[l],d:rr(y),e:y,w:l,b:v.shortMonths[a],B:v.months[a],m:rr(a+1),y:p.toString().substr(2,2),Y:p,H:rr(c),I:rr(c%12||12),l:c%12||12,M:rr(o[gu]()),p:c<12?"AM":"PM",P:c<12?"am":"pm",S:rr(o.getSeconds()),L:rr(f(r%1e3),3)},h.dateFormats);for(s in o)for(;t.indexOf("%"+s)!==-1;)t=t.replace("%"+s,typeof o[s]=="function"?o[s](r):o[s]);return u?t.substr(0,1).toUpperCase()+t.substr(1):t};v={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};h.numberFormat=function(n,t,i,r){var u=ut.lang,n=+n||0,f=t===-1?l((n.toString().split(".")[1]||"").length,20):isNaN(t=p(t))?2:t,t=i===void 0?u.decimalPoint:i,r=r===void 0?u.thousandsSep:r,u=n<0?"-":"",i=String(c(n=p(n).toFixed(f))),e=i.length>3?i.length%3:0;return u+(e?i.substr(0,e)+r:"")+i.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+r)+(f?t+p(n-i).toFixed(f).slice(2):"")};ku={init:function(n,t,i){var t=t||"",r=n.shift,e=t.indexOf("C")>-1,u=e?7:3,f,t=t.split(" "),i=[].concat(i),o,s,h=function(n){for(f=n.length;f--;)n[f]==="M"&&n.splice(f+1,0,n[f+1],n[f+2],n[f+1],n[f+2])};if(e&&(h(t),h(i)),n.isArea&&(o=t.splice(t.length-6,6),s=i.splice(i.length-6,6)),r<=i.length/u&&t.length===i.length)for(;r--;)i=[].concat(i).splice(0,u).concat(i);if(n.shift=0,t.length)for(n=i.length;t.length<n;)r=[].concat(t).splice(t.length-u,u),e&&(r[u-6]=r[u-2],r[u-5]=r[u-1]),t=t.concat(r);return o&&(t=t.concat(o),i=i.concat(s)),[t,i]},step:function(n,t,i,r){var f=[],u=n.length;if(i===1)f=r;else if(u===t.length&&i<1)for(;u--;)r=parseFloat(n[u]),f[u]=isNaN(r)?n[u]:i*parseFloat(t[u]-r)+r;else f=t;return f}},function(n){g.HighchartsAdapter=g.HighchartsAdapter||n&&{init:function(t){var i=n.fx;n.extend(n.easing,{easeOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}});n.each(["cur","_default","width","height","opacity"],function(t,u){var f=i.step,e;u==="cur"?f=i.prototype:u==="_default"&&n.Tween&&(f=n.Tween.propHooks[u],u="set");(e=f[u])&&(f[u]=function(n){var i,n=t?n:this;if(n.prop!=="align")return i=n.elem,i.attr?i.attr(n.prop,u==="cur"?r:n.now):e.apply(this,arguments)})});iu(n.cssHooks.opacity,"get",function(n,t,i){return t.attr?t.opacity||0:n.call(this,t,i)});this.addAnimSetter("d",function(n){var i=n.elem,r;n.started||(r=t.init(i,i.d,i.toD),n.start=r[0],n.end=r[1],n.started=!0);i.attr("d",t.step(n.start,n.end,n.pos,i.toD))});this.each=Array.prototype.forEach?function(n,t){return Array.prototype.forEach.call(n,t)}:function(n,t){for(var r=n.length,i=0;i<r;i++)if(t.call(n[i],n[i],i,n)===!1)return i};n.fn.highcharts=function(){var u="Chart",t=arguments,n,i;return this[0]&&(di(t[0])&&(u=t[0],t=Array.prototype.slice.call(t,1)),n=t[0],n!==r&&(n.chart=n.chart||{},n.chart.renderTo=this[0],new h[u](n,t[1]),i=this),n===r&&(i=st[nt(this[0],"data-highcharts-chart")])),i}},addAnimSetter:function(t,i){n.Tween?n.Tween.propHooks[t]={set:i}:n.fx.step[t]=i},getScript:n.getScript,inArray:n.inArray,adapterRun:function(t,i){return n(t)[i]()},grep:n.grep,map:function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)r[i]=t.call(n[i],n[i],i,n);return r},offset:function(t){return n(t).offset()},addEvent:function(t,i,r){n(t).bind(i,r)},removeEvent:function(t,i,r){var u=s.removeEventListener?"removeEventListener":"detachEvent";s[u]&&t&&!t[u]&&(t[u]=function(){});n(t).unbind(i,r)},fireEvent:function(t,i,r,u){var f=n.Event(i),o="detached"+i,s;!yi&&r&&(delete r.layerX,delete r.layerY,delete r.returnValue);e(f,r);t[i]&&(t[o]=t[i],t[i]=null);n.each(["preventDefault","stopPropagation"],function(n,t){var i=f[t];f[t]=function(){try{i.call(f)}catch(n){t==="preventDefault"&&(s=!0)}}});n(t).trigger(f);t[o]&&(t[i]=t[o],t[o]=null);!u||f.isDefaultPrevented()||s||u(f)},washMouseEvent:function(n){var t=n.originalEvent||n;return t.pageX===r&&(t.pageX=n.pageX,t.pageY=n.pageY),t},animate:function(t,i,u){var f=n(t);t.style||(t.style={});i.d&&(t.toD=i.d,i.d=1);f.stop();i.opacity!==r&&t.attr&&(i.opacity+="px");t.hasAnim=1;f.animate(i,u)},stop:function(t){t.hasAnim&&n(t).stop()}}}(g.jQuery);rt=g.HighchartsAdapter;a=rt||{};rt&&rt.init.call(rt,ku);var cu=a.adapterRun,ie=a.getScript,or=a.inArray,t=h.each=a.each,lu=a.grep,re=a.offset,pr=a.map,d=a.addEvent,ht=a.removeEvent,w=a.fireEvent,ue=a.washMouseEvent,au=a.animate,ru=a.stop;ut={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:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/4.1.5/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/4.1.5/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#333333",fontSize:"18px"}},subtitle:{text:"",align:"center",style:{color:"#555555"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0,lineWidthPlus:1,radiusPlus:2},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return this.y===null?"":h.numberFormat(this.y,-1)},style:{color:"contrast",fontSize:"11px",fontWeight:"bold",textShadow:"0 0 6px contrast, 0 0 3px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#909090",borderRadius:0,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:vt,backgroundColor:"rgba(249, 249, 249, .85)",borderWidth:1,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:"",headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{point.color}">●<\/span> {series.name}: <b>{point.y}<\/b><br/>',shadow:!0,snap:af?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};ct=ut.plotOptions;rt=ct.line;hf();var fe=/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*\)/,ee=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,oe=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,ui=function(n){var i=[],r,u;return function(n){n&&n.stops?u=pr(n.stops,function(n){return ui(n[1])}):(r=fe.exec(n))?i=[c(r[1]),c(r[2]),c(r[3]),parseFloat(r[4],10)]:(r=ee.exec(n))?i=[c(r[1],16),c(r[2],16),c(r[3],16),1]:(r=oe.exec(n))&&(i=[c(r[1]),c(r[2]),c(r[3]),1])}(n),{get:function(r){var f;return u?(f=o(n),f.stops=[].concat(f.stops),t(u,function(n,t){f.stops[t]=[f.stops[t][0],n.get(r)]})):f=i&&!isNaN(i[0])?r==="rgb"?"rgb("+i[0]+","+i[1]+","+i[2]+")":r==="a"?i[3]:"rgba("+i.join(",")+")":n,f},brighten:function(n){if(u)t(u,function(t){t.brighten(n)});else if(hi(n)&&n!==0)for(var r=0;r<3;r++)i[r]+=c(n*255),i[r]<0&&(i[r]=0),i[r]>255&&(i[r]=255);return this},rgba:i,setOpacity:function(n){return i[3]=n,this},raw:n}};if(tt.prototype={opacity:1,textProps:"fontSize,fontWeight,fontFamily,fontStyle,color,lineHeight,width,textDecoration,textShadow".split(","),init:function(n,t){this.element=t==="span"?lt(t):s.createElementNS(pi,t);this.renderer=n},animate:function(t,i,r){return i=n(i,wi,!0),ru(this),i?(i=o(i,{}),r&&(i.complete=r),au(this,t,i)):(this.attr(t),r&&r()),this},colorGradient:function(n,r,u){var l=this.renderer,p,s,f,a,v,y,w,b,e,c,h=[];if(n.linearGradient?s="linearGradient":n.radialGradient&&(s="radialGradient"),s){f=n[s];a=l.gradients;y=n.stops;e=u.radialReference;ir(f)&&(n[s]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"});s==="radialGradient"&&e&&!i(f.gradientUnits)&&(f=o(f,{cx:e[0]-e[2]/2+f.cx*e[2],cy:e[1]-e[2]/2+f.cy*e[2],r:f.r*e[2],gradientUnits:"userSpaceOnUse"}));for(c in f)c!=="id"&&h.push(c,f[c]);for(c in y)h.push(y[c]);h=h.join(",");a[h]?n=a[h].attr("id"):(f.id=n="highcharts-"+bu++,a[h]=v=l.createElement(s).attr(f).add(l.defs),v.stops=[],t(y,function(n){n[1].indexOf("rgba")===0?(p=ui(n[1]),w=p.get("rgb"),b=p.get("a")):(w=n[1],b=1);n=l.createElement("stop").attr({offset:n[0],"stop-color":w,"stop-opacity":b}).add(v);v.stops.push(n)}));u.setAttribute(r,"url("+l.url+"#"+n+")")}},applyTextShadow:function(n){var i=this.element,f,e=n.indexOf("contrast")!==-1,o=this.renderer.forExport||i.style.textShadow!==r&&!yi;e&&(n=n.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));o?e&&y(i,{textShadow:n}):(this.fakeTS=!0,this.ySetter=this.xSetter,f=[].slice.call(i.getElementsByTagName("tspan")),t(n.split(/\s?,\s?/g),function(n){var o=i.firstChild,r,e,n=n.split(" ");r=n[n.length-1];(e=n[n.length-2])&&t(f,function(n,t){var f;t===0&&(n.setAttribute("x",i.getAttribute("x")),t=i.getAttribute("y"),n.setAttribute("y",t||0),t===null&&i.setAttribute("y",0));f=n.cloneNode(1);nt(f,{"class":"highcharts-text-shadow",fill:r,stroke:r,"stroke-opacity":1/u(c(e),3),"stroke-width":e,"stroke-linejoin":"round"});i.insertBefore(f,o)})}))},attr:function(n,t){var i,u,e=this.element,o,s=this,f;if(typeof n=="string"&&t!==r&&(i=n,n={},n[i]=t),typeof n=="string")s=(this[n+"Getter"]||this._defaultGetter).call(this,n,e);else{for(i in n)u=n[i],f=!1,this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(i)&&(o||(this.symbolAttr(n),o=!0),f=!0),this.rotation&&(i==="x"||i==="y")&&(this.doTransform=!0),f||(this[i+"Setter"]||this._defaultSetter).call(this,u,i,e),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,u);this.doTransform&&(this.updateTransform(),this.doTransform=!1)}return s},updateShadows:function(n,t){for(var i=this.shadows,r=i.length;r--;)i[r].setAttribute(n,n==="height"?u(t-(i[r].cutHeight||0),0):n==="d"?this.d:t)},addClass:function(n){var t=this.element,i=nt(t,"class")||"";return i.indexOf(n)===-1&&nt(t,"class",i+" "+n),this},symbolAttr:function(i){var r=this;t("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(t){r[t]=n(i[t],r[t])});r.attr({d:r.renderer.symbols[r.symbolName](r.x,r.y,r.width,r.height,r)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":it)},crisp:function(n){var t,r={},i,u=n.strokeWidth||this.strokeWidth||0;i=f(u)%2/2;n.x=ft(n.x||this.x||0)+i;n.y=ft(n.y||this.y||0)+i;n.width=ft((n.width||this.width||0)-2*i);n.height=ft((n.height||this.height||0)-2*i);n.strokeWidth=u;for(t in n)this[t]!==n[t]&&(this[t]=r[t]=n[t]);return r},css:function(n){var i=this.styles,u={},f=this.element,r,t,o="";if(r=!i,n&&n.color&&(n.fill=n.color),i)for(t in n)n[t]!==i[t]&&(u[t]=n[t],r=!0);if(r){if(r=this.textWidth=n&&n.width&&f.nodeName.toLowerCase()==="text"&&c(n.width)||this.textWidth,i&&(n=e(i,u)),this.styles=n,r&&(wt||!vt&&this.renderer.forExport)&&delete n.width,yi&&!vt)y(this.element,n);else{i=function(n,t){return"-"+t.toLowerCase()};for(t in n)o+=t.replace(/([A-Z])/g,i)+":"+n[t]+";";nt(f,"style",o)}r&&this.added&&this.renderer.buildText(this)}return this},on:function(n,t){var r=this,i=r.element;return kr&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=bi.now();n.preventDefault();t.call(i,n)},i.onclick=function(n){(vi.indexOf("Android")===-1||bi.now()-(r.touchEventFired||0)>1100)&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){return this.element.radialReference=n,this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){return this.inverted=!0,this.updateTransform(),this},updateTransform:function(){var t=this.translateX||0,u=this.translateY||0,f=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,r=this.element;o&&(t+=this.attr("width"),u+=this.attr("height"));t=["translate("+t+","+u+")"];o?t.push("rotate(90) scale(-1,1)"):s&&t.push("rotate("+s+" "+(r.getAttribute("x")||0)+" "+(r.getAttribute("y")||0)+")");(i(f)||i(e))&&t.push("scale("+n(f,1)+" "+n(e,1)+")");t.length&&r.setAttribute("transform",t.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(t,i,r){var e,u,o,h,s={};return u=this.renderer,o=u.alignedObjects,t?(this.alignOptions=t,this.alignByTranslate=i,!r||di(r))&&(this.alignTo=e=r||"renderer",gt(o,this),o.push(this),r=null):(t=this.alignOptions,i=this.alignByTranslate,e=this.alignTo),r=n(r,u[e],u),e=t.align,u=t.verticalAlign,o=(r.x||0)+(t.x||0),h=(r.y||0)+(t.y||0),(e==="right"||e==="center")&&(o+=(r.width-(t.width||0))/{right:1,center:2}[e]),s[i?"translateX":"x"]=f(o),(u==="bottom"||u==="middle")&&(h+=(r.height-(t.height||0))/({bottom:1,middle:2}[u]||1)),s[i?"translateY":"y"]=f(h),this[this.placed?"animate":"attr"](s),this.placed=!0,this.alignAttr=s,this},getBBox:function(n){var i,c=this.renderer,u,v=this.rotation,f=this.element,l=this.styles,a=v*bt,y,s,h,o;if(u=this.textStr,s=f.style,u!==r&&(o=["",v||0,l&&l.fontSize,f.style.width].join(","),o=u===""||ne.test(u)?"num:"+u.toString().length+o:u+o),o&&!n&&(i=c.cache[o]),!i){if(f.namespaceURI===pi||c.forExport){try{h=this.fakeTS&&function(n){t(f.querySelectorAll(".highcharts-text-shadow"),function(t){t.style.display=n})};fr&&s.textShadow?(y=s.textShadow,s.textShadow=""):h&&h(it);i=f.getBBox?e({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight};y?s.textShadow=y:h&&h("")}catch(w){}(!i||i.width<0)&&(i={width:0,height:0})}else i=this.htmlGetBBox();c.isSVG&&(n=i.width,u=i.height,yi&&l&&l.fontSize==="11px"&&u.toPrecision(3)==="16.9"&&(i.height=u=14),v&&(i.width=p(u*at(a))+p(n*ot(a)),i.height=p(u*ot(a))+p(n*at(a))));c.cache[o]=i}return i},show:function(n){return n&&this.element.namespaceURI===pi?this.element.removeAttribute("visibility"):this.attr({visibility:n?"inherit":"visible"}),this},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.attr({y:-9999})}})},add:function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==void 0&&t.buildText(this),this.added=!0,(!n||n.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(n?n.element:t.box).appendChild(r),this.onAdd&&this.onAdd(),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,i=n.element||{},f=n.shadows,r=n.renderer.isSVG&&i.nodeName==="SPAN"&&n.parentGroup,e,u;if(i.onclick=i.onmouseout=i.onmouseover=i.onmousemove=i.point=null,ru(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(u=0;u<n.stops.length;u++)n.stops[u]=n.stops[u].destroy();n.stops=null}for(n.safeRemoveChild(i),f&&t(f,function(t){n.safeRemoveChild(t)});r&&r.div&&r.div.childNodes.length===0;)i=r.parentGroup,n.safeRemoveChild(r.div),delete r.div,r=i;n.alignTo&&gt(n.renderer.alignedObjects,n);for(e in n)delete n[e];return null},shadow:function(t,i,r){var c=[],e,f,h=this.element,o,s,l,a;if(t){for(s=n(t.width,3),l=(t.opacity||.15)/s,a=this.parentInverted?"(-1,-1)":"("+n(t.offsetX,1)+", "+n(t.offsetY,1)+")",e=1;e<=s;e++)f=h.cloneNode(0),o=s*2+1-2*e,nt(f,{isShadow:"true",stroke:t.color||"black","stroke-opacity":l*e,"stroke-width":o,transform:"translate"+a,fill:it}),r&&(nt(f,"height",u(nt(f,"height")-o,0)),f.cutHeight=o),i?i.element.appendChild(f):h.parentNode.insertBefore(f,h),c.push(f);this.shadows=c}return this},xGetter:function(n){return this.element.nodeName==="circle"&&(n={x:"cx",y:"cy"}[n]||n),this._defaultGetter(n)},_defaultGetter:function(t){return t=n(this[t],this.element?this.element.getAttribute(t):null,0),/^[\-0-9\.]+$/.test(t)&&(t=parseFloat(t)),t},dSetter:function(n,t,i){n&&n.join&&(n=n.join(" "));/(NaN| {2}|^$)/.test(n)&&(n="M 0 0");i.setAttribute(t,n);this[t]=n},dashstyleSetter:function(n){var t;if(n=n&&n.toLowerCase()){for(n=n.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(","),t=n.length;t--;)n[t]=c(n[t])*this["stroke-width"];n=n.join(",").replace("NaN","none");this.element.setAttribute("stroke-dasharray",n)}},alignSetter:function(n){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[n])},opacitySetter:function(n,t,i){this[t]=n;i.setAttribute(t,n)},titleSetter:function(t){var i=this.element.getElementsByTagName("title")[0];i||(i=s.createElementNS(pi,"title"),this.element.appendChild(i));i.textContent=String(n(t),"").replace(/<[^>]*>/g,"")},textSetter:function(n){n!==this.textStr&&(delete this.bBox,this.textStr=n,this.added&&this.renderer.buildText(this))},fillSetter:function(n,t,i){typeof n=="string"?i.setAttribute(t,n):n&&this.colorGradient(n,t,i)},zIndexSetter:function(n,t){var f=this.renderer,u=this.parentGroup,f=(u||f).element||f.box,r,h,e=this.element,o,s;if(r=this.added,i(n)&&(e.setAttribute(t,n),n=+n,this[t]===n&&(r=!1),this[t]=n),r){for((n=this.zIndex)&&u&&(u.handleZ=!0),u=f.childNodes,s=0;s<u.length&&!o;s++)(r=u[s],h=nt(r,"zIndex"),r!==e&&(c(h)>n||!i(n)&&i(h)))&&(f.insertBefore(e,r),o=!0);o||f.appendChild(e)}return o},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}},tt.prototype.yGetter=tt.prototype.xGetter,tt.prototype.translateXSetter=tt.prototype.translateYSetter=tt.prototype.rotationSetter=tt.prototype.verticalAlignSetter=tt.prototype.scaleXSetter=tt.prototype.scaleYSetter=function(n,t){this[t]=n;this.doTransform=!0},tt.prototype["stroke-widthSetter"]=tt.prototype.strokeSetter=function(n,t,i){this[t]=n;this.stroke&&this["stroke-width"]?(this.strokeWidth=this["stroke-width"],tt.prototype.fillSetter.call(this,this.stroke,"stroke",i),i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):t==="stroke-width"&&n===0&&this.hasStroke&&(i.removeAttribute("stroke"),this.hasStroke=!1)},fi=function(){this.init.apply(this,arguments)},fi.prototype={Element:tt,init:function(n,t,i,r,u){var o=location,e,r=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(r)),f;e=r.element;n.appendChild(e);n.innerHTML.indexOf("xmlns")===-1&&nt(e,"xmlns",pi);this.isSVG=!0;this.box=e;this.boxWrapper=r;this.alignedObjects=[];this.url=(fr||wu)&&s.getElementsByTagName("base").length?o.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(s.createTextNode("Created with Highcharts 4.1.5"));this.defs=this.createElement("defs").add();this.forExport=u;this.gradients={};this.cache={};this.setSize(t,i,!1);fr&&n.getBoundingClientRect&&(this.subPixelFix=t=function(){y(n,{left:0,top:0});f=n.getBoundingClientRect();y(n,{left:li(f.left)-f.left+"px",top:li(f.top)-f.top+"px"})},t(),d(g,"resize",t))},getStyle:function(n){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),cr(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.subPixelFix&&ht(g,"resize",this.subPixelFix),this.alignedObjects=null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:function(){},buildText:function(i){for(var f=i.element,e=this,b=e.forExport,r=n(i.textStr,"").toString(),k=r.indexOf("<")!==-1,d=f.childNodes,l,a,v=nt(f,"x"),u=i.styles,o=i.textWidth,g=u&&u.lineHeight,p=u&&u.textShadow,w=u&&u.textOverflow==="ellipsis",tt=d.length,h=o&&!i.added&&this.box,it=function(n){return g?c(g):e.fontMetrics(/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:u&&u.fontSize||e.style.fontSize||12,n).h},rt=function(n){return n.replace(/&lt;/g,"<").replace(/&gt;/g,">")};tt--;)f.removeChild(d[tt]);!k&&!p&&!w&&r.indexOf(" ")===-1?f.appendChild(s.createTextNode(rt(r))):(l=/<.*style="([^"]+)".*>/,a=/<.*href="(http[^"]+)".*>/,h&&h.appendChild(f),r=k?r.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(/<br.*?>/g):[r],r[r.length-1]===""&&r.pop(),t(r,function(n,r){var h,c=0,n=n.replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||");h=n.split("|||");t(h,function(n){var p,t,ut;if((n!==""||h.length===1)&&(p={},t=s.createElementNS(pi,"tspan"),l.test(n)&&(ut=n.match(l)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),nt(t,"style",ut)),a.test(n)&&!b&&(nt(t,"onclick",'location.href="'+n.match(a)[1]+'"'),y(t,{cursor:"pointer"})),n=rt(n.replace(/<(.|\n)*?>/g,"")||" "),n!==" ")){if(t.appendChild(s.createTextNode(n)),c?p.dx=0:r&&v!==null&&(p.x=v),nt(t,p),f.appendChild(t),!c&&r&&(!vt&&b&&y(t,{display:"block"}),nt(t,"dy",it(t))),o){for(var p=n.replace(/([^\^])-/g,"$1- ").split(" "),ot=h.length>1||r||p.length>1&&u.whiteSpace!=="nowrap",k,d,g,ft=[],st=it(t),ht=1,ct=i.rotation,tt=n,et=tt.length;(ot||w)&&(p.length||ft.length);)i.rotation=0,k=i.getBBox(!0),g=k.width,!vt&&e.forExport&&(g=e.measureSpanWidth(t.firstChild.data,i.styles)),k=g>o,d===void 0&&(d=k),w&&d?(et/=2,tt===""||!k&&et<.5?p=[]:(k&&(d=!0),tt=n.substring(0,tt.length+(k?-1:1)*li(et)),p=[tt+"…"],t.removeChild(t.firstChild))):!k||p.length===1?(p=ft,ft=[],p.length&&(ht++,t=s.createElementNS(pi,"tspan"),nt(t,{dy:st,x:v}),ut&&nt(t,"style",ut),f.appendChild(t)),g>o&&(o=g)):(t.removeChild(t.firstChild),ft.unshift(p.pop())),p.length&&t.appendChild(s.createTextNode(p.join(" ").replace(/- /g,"-")));d&&i.attr("title",i.textStr);i.rotation=ct}c++}})}),h&&h.removeChild(f),p&&i.applyTextShadow&&i.applyTextShadow(p))},getContrast:function(n){return n=ui(n).rgba,n[0]+n[1]+n[2]>384?"#000":"#FFF"},button:function(n,t,i,r,u,f,s,h,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),a=0,w,b,v,y,p,k,n={x1:0,y1:0,x2:0,y2:1},u=o({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:n,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},u);return v=u.style,delete u.style,f=o(u,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#FFF"],[1,"#ACF"]]}},f),y=f.style,delete f.style,s=o(u,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#9BD"],[1,"#CDF"]]}},s),p=s.style,delete s.style,h=o(u,{style:{color:"#CCC"}},h),k=h.style,delete h.style,d(l.element,yi?"mouseover":"mouseenter",function(){a!==3&&l.attr(f).css(y)}),d(l.element,yi?"mouseout":"mouseleave",function(){a!==3&&(w=[u,f,s][a],b=[v,y,p][a],l.attr(w).css(b))}),l.setState=function(n){(l.state=a=n)?n===2?l.attr(s).css(p):n===3&&l.attr(h).css(k):l.attr(u).css(v)},l.on("click",function(){a!==3&&r.call(l)}).attr(u).css(e({cursor:"default"},v))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=f(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=f(n[2])+t%2/2),n},path:function(n){var t={fill:it};return ir(n)?t.d=n:yt(n)&&e(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){return n=yt(n)?n:{x:n,y:t,r:i},t=this.createElement("circle"),t.xSetter=function(n){this.element.setAttribute("cx",n)},t.ySetter=function(n){this.element.setAttribute("cy",n)},t.attr(n)},arc:function(n,t,i,r,u,f){return yt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),n=this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0}),n.r=i,n},rect:function(n,t,i,f,e,o){var e=yt(n)?n.r:e,s=this.createElement("rect"),n=yt(n)?n:n===r?{}:{x:n,y:t,width:u(i,0),height:u(f,0)};return o!==r&&(n.strokeWidth=o,n=s.crisp(n)),e&&(n.r=e),s.rSetter=function(n){nt(this.element,{rx:n,ry:n})},s.attr(n)},setSize:function(t,i,r){var u=this.alignedObjects,f=u.length;for(this.width=t,this.height=i,this.boxWrapper[n(r,!0)?"animate":"attr"]({width:t,height:i});f--;)u[f].align()},g:function(n){var t=this.createElement("g");return i(n)?t.attr({"class":"highcharts-"+n}):t},image:function(n,t,i,r,u){var f={preserveAspectRatio:it};return arguments.length>1&&e(f,{x:t,y:i,width:r,height:u}),f=this.createElement("image").attr(f),f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):f.element.setAttribute("hc-svg-href",n),f},symbol:function(n,t,i,r,u,o){var s,c=this.symbols[n],c=c&&c(f(t),f(i),r,u,o),a=/^url\((.*?)\)$/,h,l;return c?(s=this.path(c),e(s,{symbolName:n,x:t,y:i,width:r,height:u}),o&&e(s,o)):a.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(f((r-t[0])/2),f((u-t[1])/2)))},h=n.match(a)[1],n=vf[h]||o&&o.width&&o.height&&[o.width,o.height],s=this.image(h).attr({x:t,y:i}),s.isImg=!0,n?l(s,n):(s.attr({width:0,height:0}),lt("img",{onload:function(){l(s,vf[h]=[this.width,this.height])},src:h}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return["M",n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var e=u.start,i=u.r||i||r,f=u.end-.001,r=u.innerR,o=u.open,s=ot(e),h=at(e),c=ot(f),f=at(f),u=u.end-e<ii?0:1;return["M",n+i*s,t+i*h,"A",i,i,0,u,1,n+i*c,t+i*f,o?"M":"L",n+r*c,t+r*f,"A",r,r,0,u,0,n+r*s,t+r*h,o?"":"Z"]},callout:function(n,t,i,r,u){var e=l(u&&u.r||0,i,r),h=e+6,o=u&&u.anchorX,s=u&&u.anchorY,u=f(u.strokeWidth||0)%2/2;return n+=u,t+=u,u=["M",n+e,t,"L",n+i-e,t,"C",n+i,t,n+i,t,n+i,t+e,"L",n+i,t+r-e,"C",n+i,t+r,n+i,t+r,n+i-e,t+r,"L",n+e,t+r,"C",n,t+r,n,t+r,n,t+r-e,"L",n,t+e,"C",n,t,n,t,n+e,t],o&&o>i&&s>t+h&&s<t+r-h?u.splice(13,3,"L",n+i,s-6,n+i+6,s,n+i,s+6,n+i,t+r-e):o&&o<0&&s>t+h&&s<t+r-h?u.splice(33,3,"L",n,s+6,n-6,s,n,s-6,n,t+e):s&&s>r&&o>n+h&&o<n+i-h?u.splice(23,3,"L",o+6,t+r,o,t+r+6,o-6,t+r,n+e,t+r):s&&s<0&&o>n+h&&o<n+i-h&&u.splice(3,3,"L",o-6,t,o,t-6,o+6,t,i-e,t),u}},clipRect:function(n,t,i,r){var u="highcharts-"+bu++,f=this.createElement("clipPath").attr({id:u}).add(this.defs),n=this.rect(n,t,i,r,0).add(f);return n.id=u,n.clipPath=f,n.count=0,n},text:function(n,t,i,r){var f=wt||!vt&&this.forExport,u={};return r&&!this.forExport?this.html(n,t,i):(u.x=Math.round(t||0),i&&(u.y=Math.round(i)),(n||n===0)&&(u.text=n),n=this.createElement("text").attr(u),f&&n.css({position:"absolute"}),r||(n.xSetter=function(n,t,i){for(var f=i.getElementsByTagName("tspan"),u,e=i.getAttribute(t),r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},fontMetrics:function(n,t){n=n||this.style.fontSize;t&&g.getComputedStyle&&(t=t.element||t,n=g.getComputedStyle(t,"").fontSize);var n=/px/.test(n)?c(n):/em/.test(n)?parseFloat(n)*12:12,i=n<24?n+3:f(n*1.2),r=f(i*.8);return{h:i,b:r,f:n}},rotCorr:function(n,t,i){var r=n;return t&&i&&(r=u(r*ot(t*bt),4)),{x:-n/3*at(t*bt),y:r}},label:function(n,u,s,h,c,l,a,v,y){function yt(){var n,t;n=w.element.style;d=(nt===void 0||st===void 0||p.styles.textAlign)&&i(w.textStr)&&w.getBBox();p.width=(nt||d.width||0)+2*k+ot;p.height=(st||d.height||0)+2*k;at=k+g.fontMetrics(n&&n.fontSize,w).b;vt&&(b||(n=f(-ut*k),t=v?-at:0,p.box=b=h?g.symbol(h,n,t,p.width,p.height,ft):g.rect(n,t,p.width,p.height,0,ft[te]),b.attr("fill",it).add(p)),b.isImg||b.attr(e({width:f(p.width),height:f(p.height)},ft)),ft=null)}function et(){var n=p.styles,n=n&&n.textAlign,u=ot+k*(1-ut),t;t=v?0:at;i(nt)&&d&&(n==="center"||n==="right")&&(u+={center:.5,right:1}[n]*(nt-d.width));(u!==w.x||t!==w.y)&&(w.attr("x",u),t!==r&&w.attr(w.element.nodeName==="SPAN"?"y":"translateY",t));w.x=u;w.y=t}function rt(n,t){b?b.attr(n,t):ft[n]=t}var g=this,p=g.g(y),w=g.text("",0,0,a).attr({zIndex:1}),b,d,ut=0,k=3,ot=0,nt,st,ct,lt,pt=0,ft={},at,vt,wt;return p.onAdd=function(){w.add(p);p.attr({text:n||n===0?n:"",x:u,y:s});b&&i(c)&&p.attr({anchorX:c,anchorY:l})},p.widthSetter=function(n){nt=n},p.heightSetter=function(n){st=n},p.paddingSetter=function(n){i(n)&&n!==k&&(k=p.padding=n,et())},p.paddingLeftSetter=function(n){i(n)&&n!==ot&&(ot=n,et())},p.alignSetter=function(n){ut={left:0,center:.5,right:1}[n]},p.textSetter=function(n){n!==r&&w.textSetter(n);yt();et()},p["stroke-widthSetter"]=function(n,t){n&&(vt=!0);pt=n%2/2;rt(t,n)},p.strokeSetter=p.fillSetter=p.rSetter=function(n,t){t==="fill"&&n&&(vt=!0);rt(t,n)},p.anchorXSetter=function(n,t){c=n;rt(t,n+pt-ct)},p.anchorYSetter=function(n,t){l=n;rt(t,n-lt)},p.xSetter=function(n){p.x=n;ut&&(n-=ut*((nt||d.width)+k));ct=f(n);p.attr("translateX",ct)},p.ySetter=function(n){lt=p.y=f(n);p.attr("translateY",lt)},wt=p.css,e(p,{css:function(n){if(n){var i={},n=o(n);t(p.textProps,function(t){n[t]!==r&&(i[t]=n[t],delete n[t])});w.css(i)}return wt.call(p,n)},getBBox:function(){return{width:d.width+2*k,height:d.height+2*k,x:d.x-k,y:d.y-k}},shadow:function(n){return b&&b.shadow(n),p},destroy:function(){ht(p.element,"mouseenter");ht(p.element,"mouseleave");w&&(w=w.destroy());b&&(b=b.destroy());tt.prototype.destroy.call(p);p=g=yt=et=rt=null}})}},br=fi,e(tt.prototype,{htmlCss:function(n){var t=this.element;return(t=n&&t.tagName==="SPAN"&&n.width)&&(delete n.width,this.textWidth=t,this.updateTransform()),n&&n.textOverflow==="ellipsis"&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=e(this.styles,n),y(this.element,n),this},htmlGetBBox:function(){var n=this.element;return n.nodeName==="text"&&(n.style.position="absolute"),{x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var h=this.renderer,r=this.element,l=this.translateX||0,a=this.translateY||0,b=this.x||0,k=this.y||0,o=this.textAlign||"left",v={left:0,center:.5,right:1}[o],u=this.shadows,p=this.styles;if(y(r,{marginLeft:l,marginTop:a}),u&&t(u,function(n){y(n,{marginLeft:l+1,marginTop:a+1})}),this.inverted&&t(r.childNodes,function(n){h.invertChild(n,r)}),r.tagName==="SPAN"){var f=this.rotation,e,s=c(this.textWidth),w=[f,o,r.innerHTML,this.textWidth].join(",");w!==this.cTT&&(e=h.fontMetrics(r.style.fontSize).b,i(f)&&this.setSpanRotation(f,v,e),u=n(this.elemWidth,r.offsetWidth),u>s&&/[ \-]/.test(r.textContent||r.innerText)&&(y(r,{width:s+"px",display:"block",whiteSpace:p&&p.whiteSpace||"normal"}),u=s),this.getSpanCorrection(u,e,v,f,o));y(r,{left:b+(this.xCorr||0)+"px",top:k+(this.yCorr||0)+"px"});wu&&(e=r.offsetHeight);this.cTT=w}}else this.alignOnAdd=!0},setSpanRotation:function(n,t,i){var r={},u=yi?"-ms-transform":wu?"-webkit-transform":fr?"MozTransform":lf?"-o-transform":"";r[u]=r.transform="rotate("+n+"deg)";r[u+(fr?"Origin":"-origin")]=r.transformOrigin=t*100+"% "+i+"px";y(this.element,r)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}}),e(fi.prototype,{html:function(n,i,r){var u=this.createElement("span"),o=u.element,s=u.renderer;return u.textSetter=function(n){n!==o.innerHTML&&delete this.bBox;o.innerHTML=this.textStr=n},u.xSetter=u.ySetter=u.alignSetter=u.rotationSetter=function(n,t){t==="align"&&(t="textAlign");u[t]=n;u.htmlUpdateTransform()},u.attr({text:n,x:f(i),y:f(r)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),o.style.whiteSpace="nowrap",u.css=u.htmlCss,s.isSVG&&(u.add=function(n){var i,r=s.box.parentNode,f=[];if(this.parentGroup=n){if(i=n.div,!i){for(;n;)f.push(n),n=n.parentGroup;t(f.reverse(),function(n){var t;i=n.div=n.div||lt(er,{className:nt(n.element,"class")},{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px"},i||r);t=i.style;e(n,{translateXSetter:function(i,r){t.left=i+"px";n[r]=i;n.doTransform=!0},translateYSetter:function(i,r){t.top=i+"px";n[r]=i;n.doTransform=!0},visibilitySetter:function(n,i){t[i]=n}})})}}else i=r;return i.appendChild(o),u.added=!0,u.alignOnAdd&&u.htmlUpdateTransform(),u}),u}}),vt||wt||(a={init:function(n,t){var i=["<",t,' filled="f" stroked="f"'],r=["position: ","absolute",";"],u=t===er;(t==="shape"||u)&&r.push("left:0;top:0;width:1px;height:1px;");r.push("visibility: ",u?"hidden":"visible");i.push(' style="',r.join(""),'"/>');t&&(i=u||t==="span"||t==="img"?i.join(""):n.prepVML(i),this.element=lt(i));this.renderer=n},add:function(n){var i=this.renderer,r=this.element,t=i.box,t=n?n.element||n:t;return n&&n.inverted&&i.invertChild(r,t),t.appendChild(r),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),this.onAdd&&this.onAdd(),this},updateTransform:tt.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=ot(n*bt),i=at(n*bt);y(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):it})},getSpanCorrection:function(t,i,r,u,f){var e=u?ot(u*bt):1,o=u?at(u*bt):0,h=n(this.elemHeight,this.element.offsetHeight),s;this.xCorr=e<0&&-t;this.yCorr=o<0&&-h;s=e*o<0;this.xCorr+=o*i*(s?1-r:r);this.yCorr-=e*i*(u?s?r:1-r:1);f&&f!=="left"&&(this.xCorr-=t*r*(e<0?-1:1),u&&(this.yCorr-=h*r*(o<0?-1:1)),y(this.element,{textAlign:f}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)hi(n[t])?i[t]=f(n[t]*10)-5:n[t]==="Z"?i[t]="x":(i[t]=n[t],n.isArc&&(n[t]==="wa"||n[t]==="at"))&&(i[t+5]===i[t+7]&&(i[t+7]+=n[t+7]>n[t+5]?1:-1),i[t+6]===i[t+8]&&(i[t+8]+=n[t+8]>n[t+6]?1:-1));return i.join(" ")||"x"},clip:function(n){var t=this,i;return n?(i=n.members,gt(i,t),i.push(t),t.destroyClip=function(){gt(i,t)},n=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),n={clip:fu?"inherit":"rect(auto)"}),t.css(n)},css:tt.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&lr(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),tt.prototype.destroy.apply(this)},on:function(n,t){return this.element["on"+n]=function(){var n=g.event;n.target=n.srcElement;t(n)},this},cutOffPath:function(n,t){var i,n=n.split(/[ ,]/);return i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=c(n[i-2])-10*t),n.join(" ")},shadow:function(t,i,r){var v=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,h,l,a,w;if(o&&typeof o.value!="string"&&(o="x"),l=o,t){for(a=n(t.width,3),w=(t.opacity||.15)/a,f=1;f<=3;f++)h=a*2+1-2*f,r&&(l=this.cutOffPath(o.value,h+.5)),s=['<shape isShadow="true" strokeweight="',h,'" filled="false" path="',l,'" coordsize="10 10" style="',e.style.cssText,'" />'],u=lt(y.prepVML(s),null,{left:c(p.left)+n(t.offsetX,1),top:c(p.top)+n(t.offsetY,1)}),r&&(u.cutOff=h+1),s=['<stroke color="',t.color||"black",'" opacity="',w*f,'"/>'],lt(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),v.push(u);this.shadows=v}return this},updateShadows:ri,setAttr:function(n,t){fu?this.element[n]=t:this.element.setAttribute(n,t)},classSetter:function(n){this.element.className=n},dashstyleSetter:function(n,t,i){(i.getElementsByTagName("stroke")[0]||lt(this.renderer.prepVML(["<stroke/>"]),null,null,i))[t]=n||"solid";this[t]=n},dSetter:function(n,t,i){var r=this.shadows,n=n||[];if(this.d=n.join&&n.join(" "),i.path=n=this.pathToVML(n),r)for(i=r.length;i--;)r[i].path=r[i].cutOff?this.cutOffPath(n,r[i].cutOff):n;this.setAttr(t,n)},fillSetter:function(n,t,i){var r=i.nodeName;r==="SPAN"?i.style.color=n:r!=="IMG"&&(i.filled=n!==it,this.setAttr("fillcolor",this.renderer.color(n,i,t,this)))},opacitySetter:ri,rotationSetter:function(n,t,i){i=i.style;this[t]=i[t]=n;i.left=-f(at(n*bt)+1)+"px";i.top=f(ot(n*bt))+"px"},strokeSetter:function(n,t,i){this.setAttr("strokecolor",this.renderer.color(n,i,t))},"stroke-widthSetter":function(n,t,i){i.stroked=!!n;this[t]=n;hi(n)&&(n+="px");this.setAttr("strokeweight",n)},titleSetter:function(n,t){this.setAttr(t,n)},visibilitySetter:function(n,i,r){n==="inherit"&&(n="visible");this.shadows&&t(this.shadows,function(t){t.style[i]=n});r.nodeName==="DIV"&&(n=n==="hidden"?"-999em":0,fu||(r.style[i]=n?"visible":"hidden"),i="top");r.style[i]=n},xSetter:function(n,t,i){this[t]=n;t==="x"?t="left":t==="y"&&(t="top");this.updateClipping?(this[t]=n,this.updateClipping()):i.style[t]=n},zIndexSetter:function(n,t,i){i.style[t]=n}},h.VMLElement=a=ni(tt,a),a.prototype.ySetter=a.prototype.widthSetter=a.prototype.heightSetter=a.prototype.xSetter,tr={Element:a,isIE8:vi.indexOf("MSIE 8.0")>-1,init:function(n,t,i,r){var u;if(this.alignedObjects=[],r=this.createElement(er).css(e(this.getStyle(r),{position:"relative"})),u=r.element,n.appendChild(r.element),this.isVML=!0,this.box=u,this.boxWrapper=r,this.cache={},this.setSize(t,i,!1),!s.namespaces.hcv){s.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{s.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){s.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(n,i,r,u){var s=this.createElement(),o=yt(n);return e(s,{members:[],count:0,left:(o?n.x:n)+1,top:(o?n.y:i)+1,width:(o?n.width:r)-1,height:(o?n.height:u)-1,getCSS:function(n){var t=n.element,o=t.nodeName,n=n.inverted,i=this.top-(o==="shape"?t.offsetTop:0),r=this.left,t=r+this.width,u=i+this.height,i={clip:"rect("+f(n?r:i)+"px,"+f(n?u:t)+"px,"+f(n?t:u)+"px,"+f(n?i:r)+"px)"};return!n&&fu&&o==="DIV"&&e(i,{width:t+"px",height:u+"px"}),i},updateClipping:function(){t(s.members,function(n){n.element&&n.css(s.getCSS(n))})}})},color:function(n,i,r,u){var ct=this,s,b=/^rgba/,v,c,f=it;if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var h,y,e=n.linearGradient||n.radialGradient,l,k,d,g,nt,p="",n=n.stops,w,tt=[],rt=function(){v=['<fill colors="'+tt.join(",")+'" opacity="',d,'" o:opacity2="',k,'" type="',c,'" ',p,'focus="100%" method="any" />'];lt(ct.prepVML(v),null,null,i)};if(l=n[0],w=n[n.length-1],l[0]>0&&n.unshift([0,l[1]]),w[0]<1&&n.push([1,w[1]]),t(n,function(n,t){b.test(n[1])?(s=ui(n[1]),h=s.get("rgb"),y=s.get("a")):(h=n[1],y=1);tt.push(n[0]*100+"% "+h);t?(d=y,g=h):(k=y,nt=h)}),r==="fill")if(c==="gradient")r=e.x1||e[0]||0,n=e.y1||e[1]||0,l=e.x2||e[2]||0,e=e.y2||e[3]||0,p='angle="'+(90-et.atan((e-n)/(l-r))*180/ii)+'"',rt();else{var f=e.r,ft=f*2,ot=f*2,st=e.cx,ht=e.cy,a=i.radialReference,o,f=function(){a&&(o=u.getBBox(),st+=(a[0]-o.x)/o.width-.5,ht+=(a[1]-o.y)/o.height-.5,ft*=a[2]/o.width,ot*=a[2]/o.height);p='src="'+ut.global.VMLRadialGradientURL+'" size="'+ft+","+ot+'" origin="0.5,0.5" position="'+st+","+ht+'" color2="'+nt+'" ';rt()};u.added?f():u.onAdd=f;f=g}else f=h}else b.test(n)&&i.tagName!=="IMG"?(s=ui(n),v=["<",r,' opacity="',s.get("a"),'"/>'],lt(this.prepVML(v),null,null,i),f=s.get("rgb")):(f=i.getElementsByTagName(r),f.length&&(f[0].opacity=1,f[0].type="solid"),f=n);return f},prepVML:function(n){var t=this.isIE8,n=n.join("");return t?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):n.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):n=n.replace("<","<hcv:"),n},text:fi.prototype.html,path:function(n){var t={coordsize:"10 10"};return ir(n)?t.d=n:yt(n)&&e(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){var r=this.symbol("circle");return yt(n)&&(i=n.r,t=n.y,n=n.x),r.isCircle=!0,r.r=i,r.attr({x:n,y:t})},g:function(n){var t;return n&&(t={className:"highcharts-"+n,"class":"highcharts-"+n}),this.createElement(er).attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return arguments.length>1&&f.attr({x:t,y:i,width:r,height:u}),f},createElement:function(n){return n==="rect"?this.symbol(n):fi.prototype.createElement.call(this,n)},invertChild:function(n,i){var f=this,u=i.style,r=n.tagName==="IMG"&&n.style;y(n,{flip:"x",left:c(u.width)-(r?c(r.top):1),top:c(u.height)-(r?c(r.left):1),rotation:-90});t(n.childNodes,function(t){f.invertChild(t,n)})},symbols:{arc:function(n,t,i,r,u){var f=u.start,o=u.end,e=u.r||i||r,i=u.innerR,r=ot(f),s=at(f),h=ot(o),c=at(o);return o-f==0?["x"]:(f=["wa",n-e,t-e,n+e,t+e,n+e*r,t+e*s,n+e*h,t+e*c],u.open&&!i&&f.push("e","M",n,t),f.push("at",n-i,t-i,n+i,t+i,n+i*h,t+i*c,n+i*r,t+i*s,"x","e"),f.isArc=!0,f)},circle:function(n,t,i,r,u){return u&&(i=r=2*u.r),u&&u.isCircle&&(n-=i/2,t-=r/2),["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,r,u,f){return fi.prototype.symbols[!i(f)||!f.r?"square":"callout"].call(0,n,t,r,u,f)}}},h.VMLRenderer=a=function(){this.init.apply(this,arguments)},a.prototype=o(fi.prototype,tr),br=a),fi.prototype.measureSpanWidth=function(n,t){var i=s.createElement("span"),r;return r=s.createTextNode(n),i.appendChild(r),y(i,t),this.box.appendChild(i),r=i.offsetWidth,lr(i),r},wt&&(h.CanVGRenderer=a=function(){pi="http://www.w3.org/1999/xhtml"},a.prototype.symbols={},kf=function(){function t(){for(var i=n.length,t=0;t<i;t++)n[t]();n=[]}var n=[];return{push:function(i,r){n.length===0&&ie(r,t);n.push(i)}}}(),br=a),vr.prototype={addLabel:function(){var t=this.axis,e=t.options,c=t.chart,r=t.categories,s=t.names,u=this.pos,h=e.labels,f=t.tickPositions,l=u===f[0],a=u===f[f.length-1],s=r?n(r[u],s[u],u):u,r=this.label,f=f.info,v;t.isDatetimeAxis&&f&&(v=e.dateTimeLabelFormats[f.higherRanks[u]||f.unitName]);this.isFirst=l;this.isLast=a;e=t.labelFormatter.call({axis:t,chart:c,isFirst:l,isLast:a,dateTimeLabelFormat:v,value:t.isLog?pt(dt(s)):s});i(r)?r&&r.attr({text:e}):(this.labelLength=(this.label=r=i(e)&&h.enabled?c.renderer.text(e,0,0,h.useHTML).css(o(h.style)).add(t.labelGroup):null)&&r.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(t){var r=this.axis,i=t.x,e=r.chart.chartWidth,u=r.chart.spacing,o=n(r.labelLeft,u[3]),u=n(r.labelRight,e-u[1]),s=this.label,h=this.rotation,a={left:0,center:.5,right:1}[r.labelAlign],c=s.getBBox().width,v=r.slotWidth,l;h?h<0&&i-a*c<o?l=f(i/ot(h*bt)-o):h>0&&i+a*c>u&&(l=f((e-i)/ot(h*bt))):(e=i-a*c,i+=a*c,e<o?(v-=o-e,t.x=o,s.attr({align:"left"})):i>u&&(v-=i-u,t.x=u,s.attr({align:"right"})),(c>v||r.autoRotation&&s.styles.width)&&(l=v));l&&s.css({width:l,textOverflow:"ellipsis"})},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(t,i,r,u,e,o,s,h){var c=this.axis,a=c.transA,v=c.reversed,l=c.staggerLines,y=c.tickRotCorr||{x:0,y:0},r=n(e.y,y.y+(c.side===2?8:-(r.getBBox().height/2))),t=t+e.x+y.x-(o&&u?o*a*(v?-1:1):0),i=i+r-(o&&!u?o*a*(v?1:-1):0);return l&&(i+=s/(h||1)%l*(c.labelOffset/l)),{x:t,y:f(i)}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine(["M",n,t,"L",n+(u?0:-i),t+(u?i:0)],r)},render:function(t,i,u){var f=this.axis,e=f.options,d=f.chart.renderer,c=f.horiz,h=this.type,p=this.label,l=this.pos,w=e.labels,s=this.gridLine,a=h?h+"Grid":"grid",v=h?h+"Tick":"tick",b=e[a+"LineWidth"],ut=e[a+"LineColor"],it=e[a+"LineDashStyle"],y=e[v+"Length"],a=e[v+"Width"]||0,ft=e[v+"Color"],et=e[v+"Position"],v=this.mark,g=w.step,nt=!0,tt=f.tickmarkOffset,o=this.getPosition(c,l,tt,i),k=o.x,o=o.y,rt=c&&k===f.pos+f.len||!c&&o===f.pos?-1:1,u=n(u,1);this.isActive=!0;b&&(l=f.getPlotLinePath(l+tt,b*rt,i,!0),s===r&&(s={stroke:ut,"stroke-width":b},it&&(s.dashstyle=it),h||(s.zIndex=1),i&&(s.opacity=0),this.gridLine=s=b?d.path(l).attr(s).add(f.gridGroup):null),!i&&s&&l&&s[this.isNew?"attr":"animate"]({d:l,opacity:u}));a&&y&&(et==="inside"&&(y=-y),f.opposite&&(y=-y),h=this.getMarkPath(k,o,y,a*rt,c,d),v?v.animate({d:h,opacity:u}):this.mark=d.path(h).attr({stroke:ft,"stroke-width":a,opacity:u}).add(f.axisGroup));p&&!isNaN(k)&&(p.xy=o=this.getLabelPosition(k,o,p,c,w,tt,t,g),this.isFirst&&!this.isLast&&!n(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!n(e.showLastLabel,1)?nt=!1:c&&!f.isRadial&&!w.step&&!w.rotation&&!i&&u!==0&&this.handleOverflow(o),g&&t%g&&(nt=!1),nt&&!isNaN(o.y)?(o.opacity=u,p[this.isNew?"attr":"animate"](o),this.isNew=!1):p.attr("y",-9999))},destroy:function(){cr(this,this.axis)}},h.PlotLineOrBand=function(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)},h.PlotLineOrBand.prototype={render:function(){var s=this,f=s.axis,c=f.horiz,t=s.options,u=t.label,h=s.label,p=t.width,a=t.to,v=t.from,r=i(v)&&i(a),w=t.value,d=t.dashStyle,l=s.svgElem,n=[],g,b=t.color,y=t.zIndex,k=t.events,e={},nt=f.chart.renderer;if(f.isLog&&(v=gi(v),a=gi(a),w=gi(w)),p)(n=f.getPlotLinePath(w,p),e={stroke:b,"stroke-width":p},d)&&(e.dashstyle=d);else if(r)n=f.getPlotBandPath(v,a,t),b&&(e.fill=b),t.borderWidth&&(e.stroke=t.borderColor,e["stroke-width"]=t.borderWidth);else return;if(i(y)&&(e.zIndex=y),l)n?l.animate({d:n},null,l.onGetPath):(l.hide(),l.onGetPath=function(){l.show()},h)&&(s.label=h=h.destroy());else if(n&&n.length&&(s.svgElem=l=nt.path(n).attr(e).add(),k))for(g in t=function(n){l.on(n,function(t){k[n].apply(s,[t])})},k)t(g);return u&&i(u.text)&&n&&n.length&&f.width>0&&f.height>0?(u=o({align:c&&r&&"center",x:c?!r&&4:10,verticalAlign:!c&&r&&"middle",y:c?r?16:10:r?6:-4,rotation:c&&!r&&90},u),h||(e={align:u.textAlign||u.align,rotation:u.rotation},i(y)&&(e.zIndex=y),s.label=h=nt.text(u.text,0,0,u.useHTML).attr(e).css(u.style).add()),f=[n[1],n[4],r?n[6]:n[1]],r=[n[2],n[5],r?n[7]:n[2]],n=hr(f),c=hr(r),h.align(u,!1,{x:n,y:c,width:nr(f)-n,height:nr(r)-c}),h.show()):h&&h.hide(),s},destroy:function(){gt(this.axis.plotLinesAndBands,this);delete this.axis;cr(this)}},ei=h.Axis=function(){this.init.apply(this,arguments)},ei.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,gridLineColor:"#D8D8D8",labels:{enabled:!0,style:{color:"#606060",cursor:"default",fontSize:"11px"},x:0,y:15},lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return h.numberFormat(this.total,-1)},style:o(ct.line.dataLabels.style,{color:"#000000"})}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0,y:-15},title:{rotation:0}},init:function(t,u){var e=u.isX,o,s,f;this.horiz=t.inverted?!e:e;this.coll=(this.isXAxis=e)?"xAxis":"yAxis";this.opposite=u.opposite;this.side=u.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(u);f=this.options;o=f.type;this.labelFormatter=f.labels.formatter||this.defaultLabelFormatter;this.userOptions=u;this.minPixelPadding=0;this.chart=t;this.reversed=f.reversed;this.zoomEnabled=f.zoomEnabled!==!1;this.categories=f.categories||o==="category";this.names=this.names||[];this.isLog=o==="logarithmic";this.isDatetimeAxis=o==="datetime";this.isLinked=i(f.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=f.minRange||f.maxZoom;this.range=f.range;this.offset=f.offset||0;this.stacks={};this.oldStacks={};this.min=this.max=null;this.crosshair=n(f.crosshair,ci(t.options.tooltip.crosshairs)[e?0:1],!1);f=this.options.events;or(this,t.axes)===-1&&(e&&!this.isColorAxis?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),t[this.coll].push(this));this.series=this.series||[];t.inverted&&e&&this.reversed===r&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(s in f)d(this,s,f[s]);this.isLog&&(this.val2lin=gi,this.lin2val=dt)},setOptions:function(n){this.options=o(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],o(ut[this.coll],n))},defaultLabelFormatter:function(){var i=this.axis,t=this.value,f=i.categories,o=this.dateTimeLabelFormat,e=ut.lang.numericSymbols,u=e&&e.length,n,s=i.options.labels.format,i=i.isLog?t:i.tickInterval;if(s)n=ur(s,this);else if(f)n=t;else if(o)n=yr(o,t);else if(u&&i>=1e3)for(;u--&&n===r;)f=Math.pow(1e3,u+1),i>=f&&e[u]!==null&&(n=h.numberFormat(t/f,-1)+e[u]);return n===r&&(n=p(t)>=1e4?h.numberFormat(t,0):h.numberFormat(t,-1,r,"")),n},getSeriesExtremes:function(){var r=this,f=r.chart;r.hasVisibleSeries=!1;r.dataMin=r.dataMax=r.ignoreMinPadding=r.ignoreMaxPadding=null;r.buildStacks&&r.buildStacks();t(r.series,function(t){var e,o;(t.visible||!f.options.chart.ignoreHiddenSeries)&&(e=t.options.threshold,r.hasVisibleSeries=!0,r.isLog&&e<=0&&(e=null),r.isXAxis?(e=t.xData,e.length)&&(r.dataMin=l(n(r.dataMin,e[0]),hr(e)),r.dataMax=u(n(r.dataMax,e[0]),nr(e))):(t.getExtremes(),o=t.dataMax,t=t.dataMin,i(t)&&i(o)&&(r.dataMin=l(n(r.dataMin,t),t),r.dataMax=u(n(r.dataMax,o),o)),i(e)&&(r.dataMin>=e?(r.dataMin=e,r.ignoreMinPadding=!0):r.dataMax<e&&(r.dataMax=e,r.ignoreMaxPadding=!0))))})},translate:function(n,t,i,r,u,f){var e=1,s=0,o=r?this.oldTransA:this.transA,r=r?this.oldMin:this.min,h=this.minPixelPadding,u=(this.doPostTranslate||this.isLog&&u)&&this.lin2val;return o||(o=this.transA),i&&(e*=-1,s=this.len),this.reversed&&(e*=-1,s-=e*(this.sector||this.len)),t?(n=n*e+s,n-=h,n=n/o+r,u&&(n=this.lin2val(n))):(u&&(n=this.val2lin(n)),f==="between"&&(f=.5),n=e*(n-r)*o+s+e*h+(hi(f)?o*f*this.pointRange:0)),n},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(t,i,r,e,o){var h=this.chart,a=this.left,v=this.top,s,c,p=r&&h.oldChartHeight||h.chartHeight,b=r&&h.oldChartWidth||h.chartWidth,y;s=this.transB;var w=function(n,t,i){return(n<t||n>i)&&(e?n=l(u(t,n),i):y=!0),n},o=n(o,this.translate(t,null,null,r)),t=r=f(o+s);return s=c=f(p-o-s),isNaN(o)?y=!0:this.horiz?(s=v,c=p-this.bottom,t=r=w(t,a,a+this.width)):(t=a,r=b-this.right,s=c=w(s,v,v+this.height)),y&&!e?null:h.renderer.crispLine(["M",t,s,"L",r,c],i||1)},getLinearTickPositions:function(n,t,i){var r,f=pt(ft(t/n)*n),e=pt(li(i/n)*n),u=[];if(t===i&&hi(t))return[t];for(t=f;t<=e;){if(u.push(t),t=pt(t+n),t===r)break;r=t}return u},getMinorTickPositions:function(){var u=this.options,t=this.tickPositions,r=this.minorTickInterval,i=[],n,f=this.min,e;if(n=this.max,e=n-f,e&&e/r<this.len/3)if(this.isLog)for(u=t.length,n=1;n<u;n++)i=i.concat(this.getLogTickPositions(r,t[n-1],t[n],!0));else if(this.isDatetimeAxis&&u.minorTickInterval==="auto")i=i.concat(this.getTimeTicks(this.normalizeTimeTickInterval(r),f,n,u.startOfWeek));else for(t=f+(t[0]-f)%r;t<=n;t+=r)i.push(t);return this.trimTicks(i),i},adjustForMinRange:function(){var s=this.options,u=this.min,f=this.max,e,y=this.dataMax-this.dataMin>=this.minRange,c,h,v,a,p,o;this.isXAxis&&this.minRange===r&&!this.isLog&&(i(s.min)||i(s.max)?this.minRange=null:(t(this.series,function(n){for(a=n.xData,h=p=n.xIncrement?1:a.length-1;h>0;h--)(v=a[h]-a[h-1],c===r||v<c)&&(c=v)}),this.minRange=l(c*5,this.dataMax-this.dataMin)));f-u<this.minRange&&(o=this.minRange,e=(o-f+u)/2,e=[u-e,n(s.min,u-e)],y&&(e[2]=this.dataMin),u=nr(e),f=[u+o,n(s.max,u+o)],y&&(f[2]=this.dataMax),f=hr(f),f-u<o&&(e[0]=f-o,e[1]=n(s.min,f-o),u=nr(e)));this.min=u;this.max=f},setAxisTranslation:function(n){var r=this,c=r.max-r.min,h=r.axisPointRange||0,f,o=0,s=0,e=r.linkedParent,y=!!r.categories,a=r.transA,v=r.isXAxis;(v||y||h)&&(e?(o=e.minPointOffset,s=e.pointRangePadding):t(r.series,function(n){var t=y?1:v?n.pointRange:r.axisPointRange||0,a=n.options.pointPlacement,e=n.closestPointRange;t>c&&(t=0);h=u(h,t);r.single||(o=u(o,di(a)?0:t/2),s=u(s,a==="on"?0:t));!n.noSharedTooltip&&i(e)&&(f=i(f)?l(f,e):e)}),e=r.ordinalSlope&&f?r.ordinalSlope/f:1,r.minPointOffset=o*=e,r.pointRangePadding=s*=e,r.pointRange=l(h,c),v)&&(r.closestPointRange=f);n&&(r.oldTransA=a);r.translationSlope=r.transA=a=r.len/(c+s||1);r.transB=r.horiz?r.left:r.bottom;r.minPixelPadding=a*o},setTickInterval:function(r){var f=this,o=f.chart,e=f.options,v=f.isLog,y=f.isDatetimeAxis,b=f.isXAxis,s=f.isLinked,p=e.maxPadding,w=e.minPadding,h=e.tickInterval,c=e.tickPixelInterval,a=f.categories;y||a||s||this.getTickAmount();s?(f.linkedParent=o[f.coll][e.linkedTo],o=f.linkedParent.getExtremes(),f.min=n(o.min,o.dataMin),f.max=n(o.max,o.dataMax),e.type!==f.linkedParent.options.type&&ti(11,1)):(f.min=n(f.userMin,e.min,f.dataMin),f.max=n(f.userMax,e.max,f.dataMax));v&&(!r&&l(f.min,n(f.dataMin,f.min))<=0&&ti(10,1),f.min=pt(gi(f.min)),f.max=pt(gi(f.max)));f.range&&i(f.max)&&(f.userMin=f.min=u(f.min,f.max-f.range),f.userMax=f.max,f.range=null);f.beforePadding&&f.beforePadding();f.adjustForMinRange();a||f.axisPointRange||f.usePercentage||s||!i(f.min)||!i(f.max)||!(o=f.max-f.min)||(!i(e.min)&&!i(f.userMin)&&w&&(f.dataMin<0||!f.ignoreMinPadding)&&(f.min-=o*w),!i(e.max)&&!i(f.userMax)&&p&&(f.dataMax>0||!f.ignoreMaxPadding)&&(f.max+=o*p));hi(e.floor)&&(f.min=u(f.min,e.floor));hi(e.ceiling)&&(f.max=l(f.max,e.ceiling));f.tickInterval=f.min===f.max||f.min===void 0||f.max===void 0?1:s&&!h&&c===f.linkedParent.options.tickPixelInterval?f.linkedParent.tickInterval:n(h,this.tickAmount?(f.max-f.min)/u(this.tickAmount-1,1):void 0,a?1:(f.max-f.min)*c/u(f.len,c));b&&!r&&t(f.series,function(n){n.processData(f.min!==f.oldMin||f.max!==f.oldMax)});f.setAxisTranslation(!0);f.beforeSetTickPositions&&f.beforeSetTickPositions();f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval));f.pointRange&&(f.tickInterval=u(f.pointRange,f.tickInterval));r=n(e.minTickInterval,f.isDatetimeAxis&&f.closestPointRange);!h&&f.tickInterval<r&&(f.tickInterval=r);y||v||h||(f.tickInterval=yu(f.tickInterval,null,vu(f.tickInterval),n(e.allowDecimals,!(f.tickInterval>.5&&f.tickInterval<5&&f.max>1e3&&f.max<9999)),!!this.tickAmount));!this.tickAmount&&this.len&&(f.tickInterval=f.unsquish());this.setTickPositions()},setTickPositions:function(){var n=this.options,t,f=n.tickPositions,r=n.tickPositioner,e=n.startOnTick,o=n.endOnTick,u;this.tickmarkOffset=this.categories&&n.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0;this.minorTickInterval=n.minorTickInterval==="auto"&&this.tickInterval?this.tickInterval/5:n.minorTickInterval;this.tickPositions=t=n.tickPositions&&n.tickPositions.slice();!t&&(this.tickPositions=t=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,n.units),this.min,this.max,n.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),r&&(r=r.apply(this,[this.min,this.max])))&&(this.tickPositions=t=r);this.isLinked||(this.trimTicks(t,e,o),this.min===this.max&&i(this.min)&&!this.tickAmount&&(u=!0,this.min-=.5,this.max+=.5),this.single=u,!f&&!r&&this.adjustTickAmount())},trimTicks:function(n,t,r){var u=n[0],f=n[n.length-1],e=this.minPointOffset||0;t?this.min=u:this.min-e>u&&n.shift();r?this.max=f:this.max+e<f&&n.pop();n.length===0&&i(u)&&n.push((f+u)/2)},getTickAmount:function(){var u={},f,r=this.options,n=r.tickAmount,e=r.tickPixelInterval;!i(r.tickInterval)&&this.len<e&&!this.isRadial&&!this.isLog&&r.startOnTick&&r.endOnTick&&(n=2);n||this.chart.options.chart.alignTicks===!1||r.alignTicks===!1||(t(this.chart[this.coll],function(n){var t=n.options,n=n.horiz,t=[n?t.left:t.top,n?t.width:t.height,t.pane].join(",");u[t]?f=!0:u[t]=1}),f&&(n=li(this.len/e)+1));n<4&&(this.finalTickAmt=n,n=5);this.tickAmount=n},adjustTickAmount:function(){var t=this.tickInterval,n=this.tickPositions,u=this.tickAmount,f=this.finalTickAmt,e=n&&n.length;if(e<u){for(;n.length<u;)n.push(pt(n[n.length-1]+t));this.transA*=(e-1)/(u-1);this.max=n[n.length-1]}else e>u&&(this.tickInterval*=2,this.setTickPositions());if(i(f)){for(t=u=n.length;t--;)(f===3&&t%2==1||f<=2&&t>0&&t<u-1)&&n.splice(t,1);this.finalTickAmt=r}},setScale:function(){var n=this.stacks,i,r,f,u;if(this.oldMin=this.min,this.oldMax=this.max,this.oldAxisLength=this.len,this.setAxisSize(),u=this.len!==this.oldAxisLength,t(this.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(f=!0)}),u||f||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(i in n)for(r in n[i])n[i][r].total=null,n[i][r].cum=0;this.forceRedraw=!1;this.getSeriesExtremes();this.setTickInterval();this.oldUserMin=this.userMin;this.oldUserMax=this.userMax;this.isDirty||(this.isDirty=u||this.min!==this.oldMin||this.max!==this.oldMax)}else if(!this.isXAxis){this.oldStacks&&(n=this.stacks=this.oldStacks);for(i in n)for(r in n[i])n[i][r].cum=n[i][r].total}},setExtremes:function(i,r,u,f,o){var s=this,h=s.chart,u=n(u,!0);t(s.series,function(n){delete n.kdTree});o=e(o,{min:i,max:r});w(s,"setExtremes",o,function(){s.userMin=i;s.userMax=r;s.eventArgs=o;s.isDirtyExtremes=!0;u&&h.redraw(f)})},zoom:function(t,f){var e=this.dataMin,o=this.dataMax,s=this.options;return this.allowZoomOutside||(i(e)&&t<=l(e,n(s.min,e))&&(t=r),i(o)&&f>=u(o,n(s.max,o))&&(f=r)),this.displayBtn=t!==r||f!==r,this.setExtremes(t,f,!1,r,{trigger:"zoom"}),!0},setAxisSize:function(){var t=this.chart,i=this.options,e=i.offsetLeft||0,s=this.horiz,o=n(i.width,t.plotWidth-e+(i.offsetRight||0)),r=n(i.height,t.plotHeight),f=n(i.top,t.plotTop),i=n(i.left,t.plotLeft+e),e=/%$/;e.test(r)&&(r=parseFloat(r)/100*t.plotHeight);e.test(f)&&(f=parseFloat(f)/100*t.plotHeight+t.plotTop);this.left=i;this.top=f;this.width=o;this.height=r;this.bottom=t.chartHeight-r-f;this.right=t.chartWidth-o-i;this.len=u(s?o:r,0);this.pos=s?i:f},getExtremes:function(){var n=this.isLog;return{min:n?pt(dt(this.min)):this.min,max:n?pt(dt(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(n){var t=this.isLog,i=t?dt(this.min):this.min,t=t?dt(this.max):this.max;return i>n||n===null?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},autoLabelAlign:function(t){return t=(n(t,0)-this.side*90+720)%360,t>15&&t<165?"right":t>195&&t<345?"left":"center"},unsquish:function(){var h=this.ticks,r=this.options.labels,w=this.horiz,u=this.tickInterval,f=u,c=this.len/(((this.categories?1:0)+this.max-this.min)/u),l,e=r.rotation,a=this.chart.renderer.fontMetrics(r.style.fontSize,h[0]&&h[0].label),o,v=Number.MAX_VALUE,s,y=function(n){return n/=c||1,n=n>1?li(n):1,n*u};return w?(s=i(e)?[e]:c<n(r.autoRotationLimit,80)&&!r.staggerLines&&!r.step&&r.autoRotation)&&t(s,function(n){var t;(n===e||n&&n>=-90&&n<=90)&&(o=y(p(a.h/at(bt*n))),t=o+p(n/360),t<v&&(v=t,l=n,f=o))}):f=y(a.h),this.autoRotation=s,this.labelRotation=l,f},renderUnsquish:function(){var i=this.chart,p=i.renderer,e=this.tickPositions,c=this.ticks,r=this.options.labels,y=this.horiz,s=i.margin,l=this.slotWidth=y&&!r.step&&!r.rotation&&(this.staggerLines||1)*i.plotWidth/e.length||!y&&(s[3]&&s[3]-i.spacing[3]||i.chartWidth*.33),n=u(1,f(l-2*(r.padding||5))),h={},s=p.fontMetrics(r.style.fontSize,c[0]&&c[0].label),v,a=0;if(di(r.rotation)||(h.rotation=r.rotation),this.autoRotation)t(e,function(n){(n=c[n])&&n.labelLength>a&&(a=n.labelLength)}),a>n&&a>s.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(l)for(v={width:n+"px",textOverflow:"clip"},l=e.length;!y&&l--;)(n=e[l],n=c[n].label)&&(n.styles.textOverflow==="ellipsis"&&n.css({textOverflow:"clip"}),n.getBBox().height>this.len/e.length-(s.h-s.f))&&(n.specCss={textOverflow:"ellipsis"});h.rotation&&(v={width:(a>i.chartHeight*.5?i.chartHeight*.33:i.chartHeight)+"px",textOverflow:"ellipsis"});this.labelAlign=h.align=r.align||this.autoLabelAlign(this.labelRotation);t(e,function(n){var t=(n=c[n])&&n.label;t&&(v&&t.css(o(v,t.specCss)),delete t.specCss,t.attr(h),n.rotation=h.rotation)});this.tickRotCorr=p.rotCorr(s.b,this.labelRotation||0,this.side===2)},getOffset:function(){var r=this,h=r.chart,c=h.renderer,o=r.options,y=r.tickPositions,s=r.ticks,l=r.horiz,e=r.side,nt=h.inverted?[1,0,3,2][e]:e,p,w,tt=0,b,it=0,f=o.title,v=o.labels,a=0,k=h.axisOffset,h=h.clipOffset,d=[-1,1,1,-1][e],g;if(r.hasData=p=r.hasVisibleSeries||i(r.min)&&i(r.max)&&!!y,r.showAxis=w=p||n(o.showEmpty,!0),r.staggerLines=r.horiz&&v.staggerLines,r.axisGroup||(r.gridGroup=c.g("grid").attr({zIndex:o.gridZIndex||1}).add(),r.axisGroup=c.g("axis").attr({zIndex:o.zIndex||2}).add(),r.labelGroup=c.g("axis-labels").attr({zIndex:v.zIndex||7}).addClass("highcharts-"+r.coll.toLowerCase()+"-labels").add()),p||r.isLinked)(t(y,function(n){s[n]?s[n].addLabel():s[n]=new vr(r,n)}),r.renderUnsquish(),t(y,function(n){(e===0||e===2||{1:"left",3:"right"}[e]===r.labelAlign)&&(a=u(s[n].getLabelSize(),a))}),r.staggerLines)&&(a*=r.staggerLines,r.labelOffset=a);else for(g in s)s[g].destroy(),delete s[g];f&&f.text&&f.enabled!==!1&&(r.axisTitle||(r.axisTitle=c.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:f.textAlign||{low:"left",middle:"center",high:"right"}[f.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(f.style).add(r.axisGroup),r.axisTitle.isNew=!0),w&&(tt=r.axisTitle.getBBox()[l?"height":"width"],b=f.offset,it=i(b)?0:n(f.margin,l?5:10)),r.axisTitle[w?"show":"hide"]());r.offset=d*n(o.offset,k[e]);r.tickRotCorr=r.tickRotCorr||{x:0,y:0};c=e===2?r.tickRotCorr.y:0;l=a+it+(a&&d*(l?n(v.y,r.tickRotCorr.y+8):v.x)-c);r.axisTitleMargin=n(b,l);k[e]=u(k[e],r.axisTitleMargin+tt+d*r.offset,l);h[nt]=u(h[nt],ft(o.lineWidth/2)*2)},getLinePath:function(n){var t=this.chart,u=this.opposite,i=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+i,i=t.chartHeight-this.bottom-(u?this.height:0)+i;return u&&(n*=-1),t.renderer.crispLine(["M",r?this.left:f,r?i:this.top,"L",r?t.chartWidth-this.right:f,r?i:t.chartHeight-this.bottom],n)},getTitlePosition:function(){var n=this.horiz,i=this.left,e=this.top,t=this.len,r=this.options.title,u=n?i:e,f=this.opposite,o=this.offset,s=c(r.style.fontSize||12),t={low:u+(n?0:t),middle:u+t/2,high:u+(n?t:0)}[r.align],i=(n?e+this.height:i)+(n?1:-1)*(f?-1:1)*this.axisTitleMargin+(this.side===2?s:0);return{x:n?t:i+(f?this.width:0)+o+(r.x||0),y:n?i-(f?this.height:0)+o:t+(r.y||0)}},render:function(){var n=this,a=n.chart,it=a.renderer,o=n.options,k=n.isLog,d=n.isLinked,s=n.tickPositions,l=n.axisTitle,u=n.ticks,e=n.minorTicks,f=n.alternateBands,g=o.stackLabels,nt=o.alternateGridColor,v=n.tickmarkOffset,y=o.lineWidth,c,tt=a.hasRendered&&i(n.oldMin)&&!isNaN(n.oldMin),p,w,b;c=n.hasData;p=n.showAxis;n.labelEdge.length=0;n.overlap=!1;t([u,e,f],function(n){for(var t in n)n[t].isActive=!1});(c||d)&&(n.minorTickInterval&&!n.categories&&t(n.getMinorTickPositions(),function(t){e[t]||(e[t]=new vr(n,t,"minor"));tt&&e[t].isNew&&e[t].render(null,!0);e[t].render(null,!1,1)}),s.length&&(t(s,function(t,i){(!d||t>=n.min&&t<=n.max)&&(u[t]||(u[t]=new vr(n,t)),tt&&u[t].isNew&&u[t].render(i,!0,.1),u[t].render(i))}),v&&(n.min===0||n.single))&&(u[-1]||(u[-1]=new vr(n,-1,null,!0)),u[-1].render(-1)),nt&&t(s,function(t,i){i%2==0&&t<n.max&&(f[t]||(f[t]=new h.PlotLineOrBand(n)),w=t+v,b=s[i+1]!==r?s[i+1]+v:n.max,f[t].options={from:k?dt(w):w,to:k?dt(b):b,color:nt},f[t].render(),f[t].isActive=!0)}),n._addedPlotLB||(t((o.plotLines||[]).concat(o.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0));t([u,e,f],function(n){var t,i,r=[],u=wi?wi.duration||500:0,e=function(){for(i=r.length;i--;)n[r[i]]&&!n[r[i]].isActive&&(n[r[i]].destroy(),delete n[r[i]])};for(t in n)n[t].isActive||(n[t].render(t,!1,0),n[t].isActive=!1,r.push(t));n===f||!a.hasRendered||!u?e():u&&setTimeout(e,u)});y&&(c=n.getLinePath(y),n.axisLine?n.axisLine.animate({d:c}):n.axisLine=it.path(c).attr({stroke:o.lineColor,"stroke-width":y,zIndex:7}).add(n.axisGroup),n.axisLine[p?"show":"hide"]());l&&p&&(l[l.isNew?"attr":"animate"](n.getTitlePosition()),l.isNew=!1);g&&g.enabled&&n.renderStackTotals();n.isDirty=!1},redraw:function(){this.render();t(this.plotLinesAndBands,function(n){n.render()});t(this.series,function(n){n.isDirty=!0})},destroy:function(n){var i=this,r=i.stacks,u,f=i.plotLinesAndBands;n||ht(i);for(u in r)cr(r[u]),r[u]=null;for(t([i.ticks,i.minorTicks,i.alternateBands],function(n){cr(n)}),n=f.length;n--;)f[n].destroy();t("stackTotalGroup,axisLine,axisTitle,axisGroup,cross,gridGroup,labelGroup".split(","),function(n){i[n]&&(i[n]=i[n].destroy())});this.cross&&this.cross.destroy()},drawCrosshair:function(t,r){var f,e=this.crosshair,u=e.animation;this.crosshair&&(i(r)||!n(this.crosshair.snap,!0))!==!1?(n(e.snap,!0)?i(r)&&(f=this.isXAxis?r.plotX:this.len-r.plotY):f=this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos,f=this.isRadial?this.getPlotLinePath(this.isXAxis?r.x:n(r.stackY,r.y))||null:this.getPlotLinePath(null,null,null,null,f)||null,f===null)?this.hideCrosshair():this.cross?this.cross.attr({visibility:"visible"})[u?"animate":"attr"]({d:f},u):(u=this.categories&&!this.isRadial,u={"stroke-width":e.width||(u?this.transA:1),stroke:e.color||(u?"rgba(155,200,255,0.2)":"#C0C0C0"),zIndex:e.zIndex||2},e.dashStyle&&(u.dashstyle=e.dashStyle),this.cross=this.chart.renderer.path(f).attr(u).add()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}},e(ei.prototype,{getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t,null,null,!0),r=this.getPlotLinePath(n,null,null,!0);return r&&i&&r.toString()!==i.toString()?r.push(i[4],i[5],i[1],i[2]):r=null,r},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new h.PlotLineOrBand(this,n).render(),r=this.userOptions;return i&&(t&&(r[t]=r[t]||[],r[t].push(n)),this.plotLinesAndBands.push(i)),i},removePlotBandOrLine:function(n){for(var r=this.plotLinesAndBands,u=this.options,f=this.userOptions,i=r.length;i--;)r[i].id===n&&r[i].destroy();t([u.plotLines||[],f.plotLines||[],u.plotBands||[],f.plotBands||[]],function(t){for(i=t.length;i--;)t[i].id===n&&gt(t,t[i])})}}),ei.prototype.getTimeTicks=function(r,u,f,o){var a=[],y={},p=ut.global.useUTC,l,s=new bi(u-wr(u)),h=r.unitRange,c=r.count;if(i(u)){s[yf](h>=v.second?0:c*ft(s.getMilliseconds()/c));h>=v.second&&s[pf](h>=v.minute?0:c*ft(s.getSeconds()/c));h>=v.minute&&s[wf](h>=v.hour?0:c*ft(s[gu]()/c));h>=v.hour&&s[bf](h>=v.day?0:c*ft(s[nf]()/c));h>=v.day&&s[rf](h>=v.month?1:c*ft(s[gr]()/c));h>=v.month&&(s[uf](h>=v.year?0:c*ft(s[nu]()/c)),l=s[tu]());h>=v.year&&(l-=l%c,s[ff](l));h===v.week&&s[rf](s[gr]()-s[tf]()+n(o,1));u=1;(du||hu)&&(s=s.getTime(),s=new bi(s+wr(s)));l=s[tu]();for(var o=s.getTime(),w=s[nu](),b=s[gr](),k=(v.day+(p?wr(s):s.getTimezoneOffset()*6e4))%v.day;o<f;)a.push(o),h===v.year?o=su(l+u*c,0):h===v.month?o=su(l,w+u*c):!p&&(h===v.day||h===v.week)?o=su(l,w,b+u*c*(h===v.day?1:7)):o+=h*c,u++;a.push(o);t(lu(a,function(n){return h<=v.hour&&n%v.day===k}),function(n){y[n]="day"})}return a.info=e(r,{higherRanks:y,totalRange:h*c}),a},ei.prototype.normalizeTimeTickInterval=function(n,t){for(var i=t||[["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]],r=i[i.length-1],f=v[r[0]],o=r[1],e=0;e<i.length;e++)if(r=i[e],f=v[r[0]],o=r[1],i[e+1]&&n<=(f*o[o.length-1]+v[i[e+1][0]])/2)break;return f===v.year&&n<5*f&&(o=[1,2,5]),i=yu(n/f,o,r[0]==="year"?u(vu(n/f),1):1),{unitRange:f,count:i,unitName:r[0]}},ei.prototype.getLogTickPositions=function(t,i,u,e){var s=this.options,o=this.len,c=[],l,y,a,h,v;if(e||(this._minorAutoInterval=null),t>=.5)t=f(t),c=this.getLinearTickPositions(t,i,u);else if(t>=.08)for(o=ft(i),s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];o<u+1&&!v;o++)for(y=s.length,l=0;l<y&&!v;l++)a=gi(dt(o)*s[l]),a>i&&(!e||h<=u)&&h!==r&&c.push(h),h>u&&(v=!0),h=a;else(i=dt(i),u=dt(u),t=s[e?"minorTickInterval":"tickInterval"],t=n(t==="auto"?null:t,this._minorAutoInterval,(u-i)*(s.tickPixelInterval/(e?5:1))/((e?o/this.tickPositions.length:o)||1)),t=yu(t,null,vu(t)),c=pr(this.getLinearTickPositions(t,i,u),gi),e)||(this._minorAutoInterval=t/5);return e||(this.tickInterval=t),c},ef=h.Tooltip=function(){this.init.apply(this,arguments)},ef.prototype={init:function(n,t){var r=t.borderWidth,i=t.style,u=c(i.padding);this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=n.renderer.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,"tooltip").attr({padding:u,fill:t.backgroundColor,"stroke-width":r,r:t.borderRadius,zIndex:8}).css(i).css({padding:0}).add().attr({y:-9999});wt||this.label.shadow(t.shadow);this.shared=t.shared},destroy:function(){this.label&&(this.label=this.label.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(n,t,i,u){var f=this,o=f.now,s=f.options.animation!==!1&&!f.isHidden&&(p(n-o.x)>1||p(t-o.y)>1),h=f.followPointer||f.len>1;e(o,{x:s?(2*o.x+n)/3:n,y:s?(o.y+t)/2:t,anchorX:h?r:s?(2*o.anchorX+i)/3:i,anchorY:h?r:s?(o.anchorY+u)/2:u});f.label.attr(o);s&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(n,t,i,u)},32))},hide:function(i){var u=this,r;clearTimeout(this.hideTimer);this.isHidden||(r=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){u.label.fadeOut();u.isHidden=!0},n(i,this.options.hideDelay,500)),r&&t(r,function(n){n.setState()}),this.chart.hoverPoints=null,this.chart.hoverSeries=null)},getAnchor:function(n,i){var e,u=this.chart,o=u.inverted,c=u.plotTop,v=u.plotLeft,s=0,h=0,l,a,n=ci(n);return e=n[0].tooltipPos,this.followPointer&&i&&(i.chartX===r&&(i=u.pointer.normalize(i)),e=[i.chartX-u.plotLeft,i.chartY-c]),e||(t(n,function(n){l=n.series.yAxis;a=n.series.xAxis;s+=n.plotX+(!o&&a?a.left-v:0);h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,e=[o?u.plotWidth-h:s,this.shared&&!o&&n.length>1&&i?i.chartY-c:o?u.plotHeight-s:h]),pr(e,f)},getPosition:function(t,i,r){var f=this.chart,e=this.distance,u={},o=r.h,s,h=["y",f.chartHeight,i,r.plotY+f.plotTop],c=["x",f.chartWidth,t,r.plotX+f.plotLeft],v=n(r.ttBelow,f.inverted&&!r.negative||!f.inverted&&r.negative),y=function(n,t,i,r){var s=i<r-e,h=r+e+i<t,f=r-e-i;if(r+=e,v&&h)u[n]=r;else if(!v&&s)u[n]=f;else if(s)u[n]=f-o<0?f:f-o;else if(h)u[n]=r+o+i>t?r:r+o;else return!1},p=function(n,t,i,r){if(r<e||r>t-e)return!1;u[n]=r<i/2?1:r>t-i/2?t-i-2:r-i/2},l=function(n){var t=h;h=c;c=t;s=n},a=function(){y.apply(0,h)!==!1?p.apply(0,c)===!1&&!s&&(l(!0),a()):s?u.x=u.y=0:(l(!0),a())};return(f.inverted||this.len>1)&&l(),a(),u},defaultFormatter:function(n){var i=this.points||ci(this),t;return t=[n.tooltipFooterHeaderFormatter(i[0])],t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t.join("")},refresh:function(i,r){var o=this.chart,s=this.label,a=this.options,h,f,u={},e,c=[],l,v;e=a.formatter||this.defaultFormatter;u=o.hoverPoints;v=this.shared;clearTimeout(this.hideTimer);this.followPointer=ci(i)[0].series.tooltipOptions.followPointer;f=this.getAnchor(i,r);h=f[0];f=f[1];v&&(!i.series||!i.series.noSharedTooltip)?(o.hoverPoints=i,u&&t(u,function(n){n.setState()}),t(i,function(n){n.setState("hover");c.push(n.getLabelConfig())}),u={x:i[0].category,y:i[0].y},u.points=c,this.len=c.length,i=i[0]):u=i.getLabelConfig();e=e.call(u,this);u=i.series;this.distance=n(u.tooltipOptions.distance,16);e===!1?this.hide():(this.isHidden&&(ru(s),s.attr("opacity",1).show()),s.attr({text:e}),l=a.borderColor||i.color||u.color||"#606060",s.attr({stroke:l}),this.updatePosition({plotX:h,plotY:f,negative:i.negative,ttBelow:i.ttBelow,h:i.shapeArgs&&i.shapeArgs.height||0}),this.isHidden=!1);w(o,"tooltipRefresh",{text:e,x:h+o.plotLeft,y:f+o.plotTop,borderColor:l})},updatePosition:function(n){var i=this.chart,t=this.label,t=(this.options.positioner||this.getPosition).call(this,t.width,t.height,n);this.move(f(t.x),f(t.y),n.plotX+i.plotLeft,n.plotY+i.plotTop)},getXDateFormat:function(n,t,i){var u,t=t.dateTimeLabelFormats,f=i&&i.closestPointRange,r,e={millisecond:15,second:12,minute:9,hour:6,day:3},o,s;if(f){o=yr("%m-%d %H:%M:%S.%L",n.x);for(r in v){if(f===v.week&&+yr("%w",n.x)===i.options.startOfWeek&&o.substr(6)==="00:00:00.000"){r="week";break}else if(v[r]>f){r=s;break}else if(e[r]&&o.substr(e[r])!=="01-01 00:00:00.000".substr(e[r]))break;r!=="week"&&(s=r)}r&&(u=t[r])}else u=t.day;return u||t.year},tooltipFooterHeaderFormatter:function(n,t){var i=t?"footer":"header",u=n.series,f=u.tooltipOptions,r=f.xDateFormat,e=u.xAxis,o=e&&e.options.type==="datetime"&&hi(n.key),i=f[i+"Format"];return o&&!r&&(r=this.getXDateFormat(n,f,e)),o&&r&&(i=i.replace("{point.key}","{point.key:"+r+"}")),ur(i,{point:n,series:u})},bodyFormatter:function(n){return pr(n,function(n){var t=n.series.tooltipOptions;return(t.pointFormatter||n.point.tooltipFormatter).call(n.point,t.pointFormat)})}},kr=s.documentElement.ontouchstart!==r,sr=h.Pointer=function(n,t){this.init(n,t)},sr.prototype={init:function(t,i){var r=i.chart,e=r.events,u=wt?"":r.zoomType,r=t.inverted,f;this.options=i;this.chart=t;this.zoomX=f=/x/.test(u);this.zoomY=u=/y/.test(u);this.zoomHor=f&&!r||u&&r;this.zoomVert=u&&!r||f&&r;this.hasZoom=f||u;this.runChartClick=e&&!!e.click;this.pinchDown=[];this.lastValidTouch={};h.Tooltip&&i.tooltip.enabled&&(t.tooltip=new ef(t,i.tooltip),this.followTouchMove=n(i.tooltip.followTouchMove,!0));this.setDOMEvents()},normalize:function(n,t){var o,i,n=n||window.event,n=ue(n);return n.target||(n.target=n.srcElement),i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,t||(this.chartPosition=t=re(this.chart.container)),i.pageX===r?(o=u(n.x,n.clientX-t.left),i=n.y):(o=i.pageX-t.left,i=i.pageY-t.top),e(n,{chartX:f(o),chartY:f(i)})},getCoordinates:function(n){var i={xAxis:[],yAxis:[]};return t(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(n[t.horiz?"chartX":"chartY"])})}),i},runPointActions:function(r){var c=this.chart,e=c.series,u=c.tooltip,v=u?u.shared:!1,a=c.hoverPoint,l=c.hoverSeries,o,y=c.chartWidth,p=c.chartWidth,w,h=[],f,b;if(!v&&!l)for(o=0;o<e.length;o++)(e[o].directTouch||!e[o].options.stickyTracking)&&(e=[]);if(!v&&l&&l.directTouch&&a?f=a:(t(e,function(t){w=t.noSharedTooltip&&v;t.visible&&!w&&n(t.options.enableMouseTracking,!0)&&(b=t.searchPoint(r))&&h.push(b)}),t(h,function(n){n&&i(n.plotX)&&i(n.plotY)&&(n.dist.distX<y||(n.dist.distX===y||n.series.kdDimensions>1)&&n.dist.distR<p)&&(y=n.dist.distX,p=n.dist.distR,f=n)})),f&&(f!==a||u&&u.isHidden))if(v&&!f.series.noSharedTooltip){for(o=h.length;o--;)(h[o].clientX!==f.clientX||h[o].series.noSharedTooltip)&&h.splice(o,1);h.length&&u&&u.refresh(h,r);t(h,function(n){if(n!==f)n.onMouseOver(r)});(l&&l.directTouch&&a||f).onMouseOver(r)}else u&&u.refresh(f,r),f.onMouseOver(r);else e=l&&l.tooltipOptions.followPointer,u&&e&&!u.isHidden&&(e=u.getAnchor([{}],r),u.updatePosition({plotX:e[0],plotY:e[1]}));u&&!this._onDocumentMouseMove&&(this._onDocumentMouseMove=function(n){if(st[oi])st[oi].pointer.onDocumentMouseMove(n)},d(s,"mousemove",this._onDocumentMouseMove));t(c.axes,function(t){t.drawCrosshair(r,n(f,a))})},reset:function(i,u){var f=this.chart,c=f.hoverSeries,e=f.hoverPoint,o=f.tooltip,h=o&&o.shared?f.hoverPoints:e;(i=i&&o&&h)&&ci(h)[0].plotX===r&&(i=!1);i?(o.refresh(h),e&&(e.setState(e.state,!0),t(f.axes,function(t){n(t.options.crosshair&&t.options.crosshair.snap,!0)?t.drawCrosshair(null,i):t.hideCrosshair()}))):(e&&e.onMouseOut(),c&&c.onMouseOut(),o&&o.hide(u),this._onDocumentMouseMove&&(ht(s,"mousemove",this._onDocumentMouseMove),this._onDocumentMouseMove=null),t(f.axes,function(n){n.hideCrosshair()}),this.hoverX=null)},scaleGroups:function(n,i){var r=this.chart,u;t(r.series,function(t){u=n||t.getPlotBox();t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(u),t.markerGroup&&(t.markerGroup.attr(u),t.markerGroup.clip(i?r.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(u))});r.clipRect.attr(i||r.clipBox)},dragStart:function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},drag:function(n){var i=this.chart,e=i.options.chart,t=n.chartX,r=n.chartY,a=this.zoomHor,v=this.zoomVert,u=i.plotLeft,f=i.plotTop,h=i.plotWidth,c=i.plotHeight,l,o=this.mouseDownX,s=this.mouseDownY,y=e.panKey&&n[e.panKey+"Key"];t<u?t=u:t>u+h&&(t=u+h);r<f?r=f:r>f+c&&(r=f+c);this.hasDragged=Math.sqrt(Math.pow(o-t,2)+Math.pow(s-r,2));this.hasDragged>10&&(l=i.isInsidePlot(o-u,s-f),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!y&&!this.selectionMarker&&(this.selectionMarker=i.renderer.rect(u,f,a?1:h,v?1:c,0).attr({fill:e.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()),this.selectionMarker&&a&&(t-=o,this.selectionMarker.attr({width:p(t),x:(t>0?0:t)+o})),this.selectionMarker&&v&&(t=r-s,this.selectionMarker.attr({height:p(t),y:(t>0?0:t)+s})),l&&!this.selectionMarker&&e.panning&&i.pan(n,e.panning))},drop:function(n){var v=this,f=this.chart,o=this.hasPinched;if(this.selectionMarker){var s={xAxis:[],yAxis:[],originalEvent:n.originalEvent||n},r=this.selectionMarker,h=r.attr?r.attr("x"):r.x,c=r.attr?r.attr("y"):r.y,p=r.attr?r.attr("width"):r.width,b=r.attr?r.attr("height"):r.height,a;(this.hasDragged||o)&&(t(f.axes,function(t){if(t.zoomEnabled&&i(t.min)&&(o||v[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])){var r=t.horiz,f=n.type==="touchend"?t.minPixelPadding:0,e=t.toValue((r?h:c)+f),r=t.toValue((r?h+p:c+b)-f);s[t.coll].push({axis:t,min:l(e,r),max:u(e,r)});a=!0}}),a&&w(f,"selection",s,function(n){f.zoom(e(n,o?{animation:!1}:null))}));this.selectionMarker=this.selectionMarker.destroy();o&&this.scaleGroups()}f&&(y(f.container,{cursor:f._cursor}),f.cancelClick=this.hasDragged>10,f.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n);n.preventDefault&&n.preventDefault();this.dragStart(n)},onDocumentMouseUp:function(n){st[oi]&&st[oi].pointer.drop(n)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition,n=this.normalize(n,i);!i||this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.reset()},onContainerMouseLeave:function(){var n=st[oi];n&&(n.pointer.reset(),n.pointer.chartPosition=null)},onContainerMouseMove:function(n){var t=this.chart;oi=t.index;n=this.normalize(n);n.returnValue=!1;t.mouseIsDown==="mousedown"&&this.drag(n);(this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop))&&!t.openMenu&&this.runPointActions(n)},inClass:function(n,t){for(var i;n;){if(i=nt(n,"class")){if(i.indexOf(t)!==-1)return!0;if(i.indexOf("highcharts-container")!==-1)return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries,i=(n=n.relatedTarget||n.toElement)&&n.point&&n.point.series;!t||t.options.stickyTracking||this.inClass(n,"highcharts-tooltip")||i===t||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,r=t.plotLeft,u=t.plotTop,n=this.normalize(n);n.originalEvent=n;n.cancelBubble=!0;t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(w(i.series,"click",e(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(e(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&w(t,"click",n)))},setDOMEvents:function(){var n=this,t=n.chart.container;t.onmousedown=function(t){n.onContainerMouseDown(t)};t.onmousemove=function(t){n.onContainerMouseMove(t)};t.onclick=function(t){n.onContainerClick(t)};d(t,"mouseleave",n.onContainerMouseLeave);dr===1&&d(s,"mouseup",n.onDocumentMouseUp);kr&&(t.ontouchstart=function(t){n.onContainerTouchStart(t)},t.ontouchmove=function(t){n.onContainerTouchMove(t)},dr===1&&d(s,"touchend",n.onDocumentTouchEnd))},destroy:function(){var n;ht(this.chart.container,"mouseleave",this.onContainerMouseLeave);dr||(ht(s,"mouseup",this.onDocumentMouseUp),ht(s,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(n in this)this[n]=null}},e(h.Pointer.prototype,{pinchTranslate:function(n,t,i,r,u,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var a=this.chart,c=n?"x":"y",d=n?"X":"Y",v="chart"+d,rt=n?"width":"height",g=a["plot"+(n?"Left":"Top")],l,nt,s=o||1,tt=a.inverted,y=a.bounds[n?"h":"v"],w=t.length===1,b=t[0][v],h=i[0][v],ut=!w&&t[1][v],k=!w&&i[1][v],it,i=function(){!w&&p(b-ut)>20&&(s=o||p(h-k)/p(b-ut));nt=(g-h)/s+b;l=a["plot"+(n?"Width":"Height")]/s};i();t=nt;t<y.min?(t=y.min,it=!0):t+l>y.max&&(t=y.max-l,it=!0);it?(h-=.8*(h-e[c][0]),w||(k-=.8*(k-e[c][1])),i()):e[c]=[h,k];tt||(f[c]=nt-g,f[rt]=l);f=tt?1/s:s;u[rt]=l;u[c]=t;r[tt?n?"scaleY":"scaleX":"scale"+d]=s;r["translate"+d]=f*g+(h-f*b)},pinch:function(i){var r=this,o=r.chart,f=r.pinchDown,s=i.touches,v=s.length,h=r.lastValidTouch,c=r.hasZoom,a=r.selectionMarker,y={},w=v===1&&(r.inClass(i.target,"highcharts-tracker")&&o.runTrackerClick||r.runChartClick),p={};c&&!w&&i.preventDefault();pr(s,function(n){return r.normalize(n)});i.type==="touchstart"?(t(s,function(n,t){f[t]={chartX:n.chartX,chartY:n.chartY}}),h.x=[f[0].chartX,f[1]&&f[1].chartX],h.y=[f[0].chartY,f[1]&&f[1].chartY],t(o.axes,function(t){if(t.zoomEnabled){var r=o.bounds[t.horiz?"h":"v"],f=t.minPixelPadding,i=t.toPixels(n(t.options.min,t.dataMin)),e=t.toPixels(n(t.options.max,t.dataMax)),s=l(i,e),i=u(i,e);r.min=l(t.pos,s-f);r.max=u(t.pos+t.len,i+f)}}),r.res=!0):f.length&&(a||(r.selectionMarker=a=e({destroy:ri},o.plotBox)),r.pinchTranslate(f,s,y,a,p,h),r.hasPinched=c,r.scaleGroups(y,p),!c&&r.followTouchMove&&v===1?this.runPointActions(r.normalize(i)):r.res&&(r.res=!1,this.reset(!1,0)))},onContainerTouchStart:function(n){var t=this.chart;oi=t.index;n.touches.length===1?(n=this.normalize(n),t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&!t.openMenu?(this.runPointActions(n),this.pinch(n)):this.reset()):n.touches.length===2&&this.pinch(n)},onContainerTouchMove:function(n){(n.touches.length===1||n.touches.length===2)&&this.pinch(n)},onDocumentTouchEnd:function(n){st[oi]&&st[oi].pointer.drop(n)}}),g.PointerEvent||g.MSPointerEvent){var ai={},of=!!g.PointerEvent,se=function(){var n,t=[];t.item=function(n){return this[n]};for(n in ai)ai.hasOwnProperty(n)&&t.push({pageX:ai[n].pageX,pageY:ai[n].pageY,target:ai[n].target});return t},sf=function(n,t,i,r){n=n.originalEvent||n;(n.pointerType==="touch"||n.pointerType===n.MSPOINTER_TYPE_TOUCH)&&st[oi]&&(r(n),r=st[oi].pointer,r[t]({type:i,target:n.currentTarget,preventDefault:ri,touches:se()}))};e(sr.prototype,{onContainerPointerDown:function(n){sf(n,"onContainerTouchStart","touchstart",function(n){ai[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){sf(n,"onContainerTouchMove","touchmove",function(n){ai[n.pointerId]={pageX:n.pageX,pageY:n.pageY};ai[n.pointerId].target||(ai[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){sf(n,"onDocumentTouchEnd","touchend",function(n){delete ai[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,of?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,of?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(s,of?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});iu(sr.prototype,"init",function(n,t,i){n.call(this,t,i);this.hasZoom&&y(t.container,{"-ms-touch-action":it,"touch-action":it})});iu(sr.prototype,"setDOMEvents",function(n){n.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(d)});iu(sr.prototype,"destroy",function(n){this.batchMSEvents(ht);n.call(this)})}uu=h.Legend=function(n,t){this.init(n,t)};uu.prototype={init:function(t,i){var r=this,u=i.itemStyle,f=i.itemMarginTop||0;this.options=i;i.enabled&&(r.itemStyle=u,r.itemHiddenStyle=o(u,i.itemHiddenStyle),r.itemMarginTop=f,r.padding=u=n(i.padding,8),r.initialItemX=u,r.initialItemY=u-5,r.maxItemWidth=0,r.chart=t,r.itemHeight=0,r.symbolWidth=n(i.symbolWidth,16),r.pages=[],r.render(),d(r.chart,"endResize",function(){r.positionCheckboxes()}))},colorizeItem:function(n,t){var f=this.options,u=n.legendItem,c=n.legendLine,e=n.legendSymbol,i=this.itemHiddenStyle.color,f=t?f.itemStyle.color:i,o=t?n.legendColor||n.color||"#CCC":i,i=n.options&&n.options.marker,s={fill:o},h;if(u&&u.css({fill:f,color:f}),c&&c.attr({stroke:o}),e){if(i&&e.isMarker)for(h in s.stroke=o,i=n.convertAttribs(i),i)u=i[h],u!==r&&(s[h]=u);e.attr(s)}},positionItem:function(n){var i=this.options,f=i.symbolPadding,i=!i.rtl,t=n._legendItemPos,r=t[0],t=t[1],u=n.checkbox;n.legendGroup&&n.legendGroup.translate(i?r:this.legendWidth-r-2*f-4,t);u&&(u.x=r,u.y=t)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())});i&&lr(n.checkbox)},clearItems:function(){var n=this;t(n.getAllItems(),function(t){n.destroyItem(t)})},destroy:function(){var n=this.group,t=this.box;t&&(this.box=t.destroy());n&&(this.group=n.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight;r&&(i=r.translateY,t(this.allItems,function(t){var f=t.checkbox,e;f&&(e=i+f.y+(n||0)+3,y(f,{left:r.translateX+t.checkboxOffset+f.x-20+"px",top:e+"px",display:e>i-6&&e<i+u-6?"":it}))}))},renderTitle:function(){var n=this.padding,t=this.options.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,n-3,n-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(t.style).add(this.group)),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i}));this.titleHeight=i},renderItem:function(t){var w=this.chart,s=w.renderer,i=this.options,c=i.layout==="horizontal",r=this.symbolWidth,e=i.symbolPadding,y=this.itemStyle,b=this.itemHiddenStyle,k=this.padding,d=c?n(i.itemDistance,20):0,g=!i.rtl,nt=i.width,p=i.itemMarginBottom||0,l=this.itemMarginTop,a=this.initialItemX,h=t.legendItem,tt=t.series&&t.series.drawLegendSymbol?t.series:t,v=tt.options,v=this.createCheckboxForItem&&v&&v.showCheckbox,it=i.useHTML;h||(t.legendGroup=s.g("legend-item").attr({zIndex:1}).add(this.scrollGroup),t.legendItem=h=s.text(i.labelFormat?ur(i.labelFormat,t):i.labelFormatter.call(t),g?r+e:-e,this.baseline||0,it).css(o(t.visible?y:b)).attr({align:g?"left":"right",zIndex:2}).add(t.legendGroup),this.baseline||(this.fontMetrics=s.fontMetrics(y.fontSize,h),this.baseline=this.fontMetrics.f+3+l,h.attr("y",this.baseline)),tt.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,h,it,y,b),this.colorizeItem(t,t.visible),v&&this.createCheckboxForItem(t));s=h.getBBox();r=t.checkboxOffset=i.itemWidth||t.legendItemWidth||r+e+s.width+d+(v?20:0);this.itemHeight=e=f(t.legendItemHeight||s.height);c&&this.itemX-a+r>(nt||w.chartWidth-2*k-a-i.x)&&(this.itemX=a,this.itemY+=l+this.lastLineHeight+p,this.lastLineHeight=0);this.maxItemWidth=u(this.maxItemWidth,r);this.lastItemY=l+this.itemY+p;this.lastLineHeight=u(e,this.lastLineHeight);t._legendItemPos=[this.itemX,this.itemY];c?this.itemX+=r:(this.itemY+=l+e+p,this.lastLineHeight=e);this.offsetWidth=nt||u((c?this.itemX-a-d:r)+k,this.offsetWidth)},getAllItems:function(){var u=[];return t(this.chart.series,function(t){var f=t.options;n(f.showInLegend,i(f.linkedTo)?!1:r,!0)&&(u=u.concat(t.legendItems||(f.legendType==="point"?t.data:t)))}),u},adjustMargins:function(r,f){var o=this.chart,e=this.options,s=e.align[0]+e.verticalAlign[0]+e.layout[0];this.display&&!e.floating&&t([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(t,h){t.test(s)&&!i(r[h])&&(o[ou[h]]=u(o[ou[h]],o.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*e[h%2?"x":"y"]+n(e.margin,12)+f[h]))})},render:function(){var n=this,a=n.chart,h=a.renderer,s=n.group,f,c,o,i,r=n.box,u=n.options,v=n.padding,l=u.borderWidth,y=u.backgroundColor;n.itemX=n.initialItemX;n.itemY=n.initialItemY;n.offsetWidth=0;n.lastItemY=0;s||(n.group=s=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(s),n.scrollGroup=h.g().add(n.contentGroup));n.renderTitle();f=n.getAllItems();pu(f,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});u.reversed&&f.reverse();n.allItems=f;n.display=c=!!f.length;n.lastLineHeight=0;t(f,function(t){n.renderItem(t)});o=(u.width||n.offsetWidth)+v;i=n.lastItemY+n.lastLineHeight+n.titleHeight;i=n.handleOverflow(i);i+=v;(l||y)&&(r?o>0&&i>0&&(r[r.isNew?"attr":"animate"](r.crisp({width:o,height:i})),r.isNew=!1):(n.box=r=h.rect(0,0,o,i,u.borderRadius,l||0).attr({stroke:u.borderColor,"stroke-width":l||0,fill:y||it}).add(s).shadow(u.shadow),r.isNew=!0),r[c?"show":"hide"]());n.legendWidth=o;n.legendHeight=i;t(f,function(t){n.positionItem(t)});c&&s.align(e({width:o,height:i},u),!0,"spacingBox");a.isResizing||this.positionCheckboxes()},handleOverflow:function(i){var h=this,w=this.chart,c=w.renderer,s=this.options,r=s.y,r=w.spacingBox.height+(s.verticalAlign==="top"?-r:r)-this.padding,k=s.maxHeight,v,a=this.clipRect,b=s.navigation,d=n(b.animation,!0),y=b.arrowSize||12,e=this.nav,o=this.pages,p,g=this.allItems;return s.layout==="horizontal"&&(r/=2),k&&(r=l(r,k)),o.length=0,i>r&&!s.useHTML?(this.clipHeight=v=u(r-20-this.titleHeight-this.padding,0),this.currentPage=n(this.currentPage,1),this.fullHeight=i,t(g,function(n,t){var i=n._legendItemPos[1],u=f(n.legendItem.getBBox().height),r=o.length;(!r||i-o[r-1]>v&&(p||i)!==o[r-1])&&(o.push(p||i),r++);t===g.length-1&&i+u-o[r-1]>v&&o.push(i);i!==p&&(p=i)}),a||(a=h.clipRect=c.clipRect(0,this.padding,9999,0),h.contentGroup.clip(a)),a.attr({height:v}),e||(this.nav=e=c.g().attr({zIndex:1}).add(this.group),this.up=c.symbol("triangle",0,0,y,y).on("click",function(){h.scroll(-1,d)}).add(e),this.pager=c.text("",15,10).css(b.style).add(e),this.down=c.symbol("triangle-down",0,0,y,y).on("click",function(){h.scroll(1,d)}).add(e)),h.scroll(0),i=r):e&&(a.attr({height:w.chartHeight}),e.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i},scroll:function(n,t){var u=this.pages,f=u.length,i=this.currentPage+n,s=this.clipHeight,e=this.options.navigation,o=e.activeColor,e=e.inactiveColor,h=this.pager,c=this.padding;i>f&&(i=f);i>0&&(t!==r&&ar(t,this.chart),this.nav.attr({translateX:c,translateY:s+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:i===1?e:o}).css({cursor:i===1?"default":"pointer"}),h.attr({text:i+"/"+f}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===f?e:o}).css({cursor:i===f?"default":"pointer"}),u=-u[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:u}),this.currentPage=i,this.positionCheckboxes(u))}};tr=h.LegendSymbolMixin={drawRectangle:function(n,t){var i=n.options.symbolHeight||n.fontMetrics.f;t.legendSymbol=this.chart.renderer.rect(0,n.baseline-i+1,n.symbolWidth,i,n.options.symbolRadius||0).attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,r=t.marker,i=n.symbolWidth;var e=this.chart.renderer,o=this.legendGroup,n=n.baseline-f(n.fontMetrics.b*.3),u;t.lineWidth&&(u={"stroke-width":t.lineWidth},t.dashStyle&&(u.dashstyle=t.dashStyle),this.legendLine=e.path(["M",0,n,"L",i,n]).attr(u).add(o));r&&r.enabled!==!1&&(t=r.radius,this.legendSymbol=i=e.symbol(this.symbol,i/2-t,n-t,2*t,2*t).add(o),i.isMarker=!0)}};(/Trident\/7\.0/.test(vi)||fr)&&iu(uu.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i();setTimeout(i)});a=h.Chart=function(){this.init.apply(this,arguments)};a.prototype={callbacks:[],init:function(t,i){var f,u=t.series,e,r,s;if(t.series=null,f=o(ut,t),f.series=t.series=u,this.userOptions=t,u=f.chart,this.margin=this.splashArray("margin",u),this.spacing=this.splashArray("spacing",u),e=u.events,this.bounds={h:{},v:{}},this.callback=i,this.isResizing=0,this.options=f,this.axes=[],this.series=[],this.hasCartesianSeries=u.showAxes,r=this,r.index=st.length,st.push(r),dr++,u.reflow!==!1&&d(r,"load",function(){r.initReflow()}),e)for(s in e)d(r,s,e[s]);r.xAxis=[];r.yAxis=[];r.animation=wt?!1:n(u.animation,!0);r.pointCount=r.colorCounter=r.symbolCounter=0;r.firstRender()},initSeries:function(n){var t=this.options.chart;return(t=k[n.type||t.type||t.defaultSeriesType])||ti(17,!0),t=new t,t.init(this,n),t},isInsidePlot:function(n,t,i){var r=i?t:n,n=i?n:t;return r>=0&&r<=this.plotWidth&&n>=0&&n<=this.plotHeight},redraw:function(n){var u=this.axes,i=this.series,s=this.pointer,h=this.legend,c=this.isDirtyLegend,f,l,a=this.hasCartesianSeries,o=this.isDirtyBox,v=i.length,r=v,y=this.renderer,p=y.isHidden(),b=[];for(ar(n,this),p&&this.cloneRenderTo(),this.layOutTitles();r--;)if(n=i[r],n.options.stacking&&(f=!0,n.isDirty)){l=!0;break}if(l)for(r=v;r--;)(n=i[r],n.options.stacking)&&(n.isDirty=!0);t(i,function(n){n.isDirty&&n.options.legendType==="point"&&(c=!0)});c&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1);f&&this.getStacks();a&&!this.isResizing&&(this.maxTicks=null,t(u,function(n){n.setScale()}));this.getMargins();a&&(t(u,function(n){n.isDirty&&(o=!0)}),t(u,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,b.push(function(){w(n,"afterSetExtremes",e(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(o||f)&&n.redraw()}));o&&this.drawChartBox();t(i,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()});s&&s.reset(!0);y.draw();w(this,"redraw");p&&this.cloneRenderTo(!0);t(b,function(n){n.call()})},get:function(n){for(var i=this.axes,r=this.series,u,t=0;t<i.length;t++)if(i[t].options.id===n)return i[t];for(t=0;t<r.length;t++)if(r[t].options.id===n)return r[t];for(t=0;t<r.length;t++)for(u=r[t].points||[],i=0;i<u.length;i++)if(u[i].id===n)return u[i];return null},getAxes:function(){var r=this,n=this.options,i=n.xAxis=ci(n.xAxis||{}),n=n.yAxis=ci(n.yAxis||{});t(i,function(n,t){n.index=t;n.isX=!0});t(n,function(n,t){n.index=t});i=i.concat(n);t(i,function(n){new ei(r,n)})},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(lu(t.points||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return lu(this.series,function(n){return n.selected})},getStacks:function(){var i=this;t(i.yAxis,function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)});t(i.series,function(t){t.options.stacking&&(t.visible===!0||i.options.chart.ignoreHiddenSeries===!1)&&(t.stackKey=t.type+n(t.options.stack,""))})},setTitle:function(n,i,r){var e,u=this,f=u.options,s;s=f.title=o(f.title,n);e=f.subtitle=o(f.subtitle,i);f=e;t([["title",n,s],["subtitle",i,f]],function(n){var t=n[0],i=u[t],r=n[1],n=n[2];i&&r&&(u[t]=i=i.destroy());n&&n.text&&!i&&(u[t]=u.renderer.text(n.text,0,0,n.useHTML).attr({align:n.align,"class":"highcharts-"+t,zIndex:n.zIndex||4}).css(n.style).add())});u.layOutTitles(r)},layOutTitles:function(t){var u=0,i=this.title,o=this.subtitle,f=this.options,r=f.title,f=f.subtitle,s=this.renderer,h=this.spacingBox.width-44;!i||(i.css({width:(r.width||h)+"px"}).align(e({y:s.fontMetrics(r.style.fontSize,i).b-3},r),!1,"spacingBox"),r.floating||r.verticalAlign)||(u=i.getBBox().height);o&&(o.css({width:(f.width||h)+"px"}).align(e({y:u+(r.margin-13)+s.fontMetrics(r.style.fontSize,o).b},f),!1,"spacingBox"),!f.floating&&!f.verticalAlign&&(u=li(u+o.getBBox().height)));i=this.titleOffset!==u;this.titleOffset=u;!this.isDirtyBox&&i&&(this.isDirtyBox=i,this.hasRendered&&n(t,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var t=this.options.chart,r=t.width,t=t.height,f=this.renderToClone||this.renderTo;i(r)||(this.containerWidth=cu(f,"width"));i(t)||(this.containerHeight=cu(f,"height"));this.chartWidth=u(0,r||this.containerWidth||600);this.chartHeight=u(0,n(t,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),lr(t),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),y(t,{position:"absolute",top:"-9999px",display:"block"}),t.style.setProperty&&t.style.setProperty("display","block","important"),s.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n,i=this.options.chart,t,r,u;this.renderTo=n=i.renderTo;u="highcharts-"+bu++;di(n)&&(this.renderTo=n=s.getElementById(n));n||ti(13,!0);t=c(nt(n,"data-highcharts-chart"));!isNaN(t)&&st[t]&&st[t].hasRendered&&st[t].destroy();nt(n,"data-highcharts-chart",this.index);n.innerHTML="";i.skipClone||n.offsetWidth||this.cloneRenderTo();this.getChartSize();t=this.chartWidth;r=this.chartHeight;this.container=n=lt(er,{className:"highcharts-container"+(i.className?" "+i.className:""),id:u},e({position:"relative",overflow:"hidden",width:t+"px",height:r+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},i.style),this.renderToClone||n);this._cursor=n.style.cursor;this.renderer=i.forExport?new fi(n,t,r,i.style,!0):new br(n,t,r,i.style);wt&&this.renderer.create(this,n,t,r);this.renderer.chartIndex=this.index},getMargins:function(n){var t=this.spacing,r=this.margin,f=this.titleOffset;this.resetMargins();f&&!i(r[0])&&(this.plotTop=u(this.plotTop,f+this.options.title.margin+t[0]));this.legend.adjustMargins(r,t);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);n||this.getAxisMargins()},getAxisMargins:function(){var n=this,r=n.axisOffset=[0,0,0,0],u=n.margin;n.hasCartesianSeries&&t(n.axes,function(n){n.getOffset()});t(ou,function(t,f){i(u[f])||(n[t]+=r[f])});n.setChartSize()},reflow:function(n){var t=this,i=t.options.chart,r=t.renderTo,u=i.width||cu(r,"width"),f=i.height||cu(r,"height"),i=n?n.target:g,r=function(){t.container&&(t.setSize(u,f,!1),t.hasUserSize=null)};!t.hasUserSize&&!t.isPrinting&&u&&f&&(i===g||i===s)&&((u!==t.containerWidth||f!==t.containerHeight)&&(clearTimeout(t.reflowTimeout),n?t.reflowTimeout=setTimeout(r,100):r()),t.containerWidth=u,t.containerHeight=f)},initReflow:function(){var n=this,t=function(t){n.reflow(t)};d(g,"resize",t);d(n,"destroy",function(){ht(g,"resize",t)})},setSize:function(n,r,e){var o=this,s,h,c;o.isResizing+=1;c=function(){o&&w(o,"endResize",null,function(){o.isResizing-=1})};ar(e,o);o.oldChartHeight=o.chartHeight;o.oldChartWidth=o.chartWidth;i(n)&&(o.chartWidth=s=u(0,f(n)),o.hasUserSize=!!s);i(r)&&(o.chartHeight=h=u(0,f(r)));(wi?au:y)(o.container,{width:s+"px",height:h+"px"},wi);o.setChartSize(!0);o.renderer.setSize(s,h,e);o.maxTicks=null;t(o.axes,function(n){n.isDirty=!0;n.setScale()});t(o.series,function(n){n.isDirty=!0});o.isDirtyLegend=!0;o.isDirtyBox=!0;o.layOutTitles();o.getMargins();o.redraw(e);o.oldChartHeight=null;w(o,"resize");wi===!1?c():setTimeout(c,wi&&wi.duration||500)},setChartSize:function(n){var e=this.inverted,o=this.renderer,i=this.chartWidth,v=this.chartHeight,y=this.options.chart,r=this.spacing,s=this.clipOffset,l,a,h,c;this.plotLeft=l=f(this.plotLeft);this.plotTop=a=f(this.plotTop);this.plotWidth=h=u(0,f(i-l-this.marginRight));this.plotHeight=c=u(0,f(v-a-this.marginBottom));this.plotSizeX=e?c:h;this.plotSizeY=e?h:c;this.plotBorderWidth=y.plotBorderWidth||0;this.spacingBox=o.spacingBox={x:r[3],y:r[0],width:i-r[3]-r[1],height:v-r[0]-r[2]};this.plotBox=o.plotBox={x:l,y:a,width:h,height:c};i=2*ft(this.plotBorderWidth/2);e=li(u(i,s[3])/2);o=li(u(i,s[0])/2);this.clipBox={x:e,y:o,width:ft(this.plotSizeX-u(i,s[1])/2-e),height:u(0,ft(this.plotSizeY-u(i,s[2])/2-o))};n||t(this.axes,function(n){n.setAxisSize();n.setAxisTranslation()})},resetMargins:function(){var i=this;t(ou,function(t,r){i[t]=n(i.margin[r],i.spacing[r])});i.axisOffset=[0,0,0,0];i.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this.options.chart,r=this.renderer,a=this.chartWidth,v=this.chartHeight,t=this.chartBackground,y=this.plotBackground,c=this.plotBorder,p=this.plotBGImage,u=n.borderWidth||0,w=n.backgroundColor,b=n.plotBackgroundColor,k=n.plotBackgroundImage,f=n.plotBorderWidth||0,i,e=this.plotLeft,o=this.plotTop,s=this.plotWidth,h=this.plotHeight,d=this.plotBox,g=this.clipRect,l=this.clipBox;i=u+(n.shadow?8:0);(u||w)&&(t?t.animate(t.crisp({width:a-i,height:v-i})):(t={fill:w||it},u&&(t.stroke=n.borderColor,t["stroke-width"]=u),this.chartBackground=r.rect(i/2,i/2,a-i,v-i,n.borderRadius,u).attr(t).addClass("highcharts-background").add().shadow(n.shadow)));b&&(y?y.animate(d):this.plotBackground=r.rect(e,o,s,h,0).attr({fill:b}).add().shadow(n.plotShadow));k&&(p?p.animate(d):this.plotBGImage=r.image(k,e,o,s,h).add());g?g.animate({width:l.width,height:l.height}):this.clipRect=r.clipRect(l);f&&(c?c.animate(c.crisp({x:e,y:o,width:s,height:h,strokeWidth:-f})):this.plotBorder=r.rect(e,o,s,h,0,-f).attr({stroke:n.plotBorderColor,"stroke-width":f,fill:it,zIndex:1}).add());this.isDirtyBox=!1},propFromSeries:function(){var i=this,u=i.options.chart,n,f=i.options.series,e,r;t(["inverted","angular","polar"],function(t){for(n=k[u.type||u.defaultSeriesType],r=i[t]||u[t]||n&&n.prototype[t],e=f&&f.length;!r&&e--;)(n=k[f[e].type])&&n.prototype[t]&&(r=!0);i[t]=r})},linkSeries:function(){var n=this,i=n.series;t(i,function(n){n.linkedSeries.length=0});t(i,function(t){var i=t.options.linkedTo;di(i)&&(i=i===":previous"?n.series[t.index-1]:n.get(i))&&(i.linkedSeries.push(t),t.linkedParent=i)})},renderSeries:function(){t(this.series,function(n){n.translate();n.render()})},renderLabels:function(){var n=this,i=n.options.labels;i.items&&t(i.items,function(t){var r=e(i.style,t.style),u=c(r.left)+n.plotLeft,f=c(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(t.html,u,f).attr({zIndex:2}).css(r).add()})},render:function(){var n=this.axes,o=this.renderer,u=this.options,f,e,i,r;this.setTitle();this.legend=new uu(this,u.legend);this.getStacks();this.getMargins(!0);this.setChartSize();f=this.plotWidth;e=this.plotHeight-=13;t(n,function(n){n.setScale()});this.getAxisMargins();i=f/this.plotWidth>1.1;r=e/this.plotHeight>1.1;(i||r)&&(this.maxTicks=null,t(n,function(n){(n.horiz&&i||!n.horiz&&r)&&n.setTickInterval(!0)}),this.getMargins());this.drawChartBox();this.hasCartesianSeries&&t(n,function(n){n.render()});this.seriesGroup||(this.seriesGroup=o.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.showCredits(u.credits);this.hasRendered=!0},showCredits:function(n){n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text,0,0).on("click",function(){n.href&&(location.href=n.href)}).attr({align:n.position.align,zIndex:8}).css(n.style).add().align(n.position))},destroy:function(){var n=this,f=n.axes,e=n.series,u=n.container,i,o=u&&u.parentNode;for(w(n,"destroy"),st[n.index]=r,dr--,n.renderTo.removeAttribute("data-highcharts-chart"),ht(n),i=f.length;i--;)f[i]=f[i].destroy();for(i=e.length;i--;)e[i]=e[i].destroy();t("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())});u&&(u.innerHTML="",ht(u),o&&lr(u));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!vt&&g==g.top&&s.readyState!=="complete"||wt&&!g.canvg?(wt?kf.push(function(){n.firstRender()},n.options.global.canvasToolsURL):s.attachEvent("onreadystatechange",function(){s.detachEvent("onreadystatechange",n.firstRender);s.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,u=n.callback;n.isReadyToRender()&&(n.getContainer(),w(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),n.linkSeries(),w(n,"beforeRender"),h.Pointer&&(n.pointer=new sr(n,i)),n.render(),n.renderer.draw(),u&&u.apply(n,[n]),t(n.callbacks,function(t){n.index!==r&&t.apply(n,[n])}),w(n,"load"),n.cloneRenderTo(!0))},splashArray:function(t,i){var r=i[t],r=yt(r)?r:[r,r,r,r];return[n(i[t+"Top"],r[0]),n(i[t+"Right"],r[1]),n(i[t+"Bottom"],r[2]),n(i[t+"Left"],r[3])]}};df=h.CenteredSeriesMixin={getCenter:function(){for(var i=this.options,u=this.chart,e=2*(i.slicedOffset||0),s=u.plotWidth-2*e,u=u.plotHeight-2*e,r=i.center,r=[n(r[0],"50%"),n(r[1],"50%"),i.size||"100%",i.innerSize||0],h=l(s,u),o,f,t=0;t<4;++t)f=r[t],o=/%$/.test(f),i=t<2||t===2&&o,r[t]=(o?[s,u,h,r[2]][t]*c(f)/100:c(f))+(i?e:0);return r}};ki=function(){};ki.prototype={init:function(n,t,i){return this.series=n,this.color=n.color,this.applyOptions(t,i),this.pointAttr={},n.options.colorByPoint&&(t=n.options.colors||n.chart.options.colors,this.color=this.color||t[n.colorCounter++],n.colorCounter===t.length)&&(n.colorCounter=0),n.chart.pointCount++,this},applyOptions:function(n,t){var i=this.series,u=i.options.pointValKey||i.pointValKey,n=ki.prototype.optionsToObject.call(this,n);return e(this,n),this.options=this.options?e(this.options,n):n,u&&(this.y=this[u]),this.x===r&&i&&(this.x=t===r?i.autoIncrement():t),this},optionsToObject:function(n){var i={},t=this.series,u=t.options.keys,r=u||t.pointArrayMap||["y"],f=r.length,e=0,o=0;if(typeof n=="number"||n===null)i[r[0]]=n;else if(ir(n))for(!u&&n.length>f&&(t=typeof n[0],t==="string"?i.name=n[0]:t==="number"&&(i.x=n[0]),e++);o<f;)i[r[o++]]=n[e++];else typeof n=="object"&&(i=n,n.dataLabels&&(t._hasPointLabels=!0),n.marker&&(t._hasPointMarkers=!0));return i},destroy:function(){var n=this.series.chart,t=n.hoverPoints,i;n.pointCount--;t&&(this.setState(),gt(t,this),!t.length)&&(n.hoverPoints=null);this===n.hoverPoint&&this.onMouseOut();(this.graphic||this.dataLabel)&&(ht(this),this.destroyElements());this.legendItem&&n.legend.destroyItem(this);for(i in this)this[i]=null},destroyElements:function(){for(var i="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),n,t=6;t--;)n=i[t],this[n]&&(this[n]=this[n].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(i){var u=this.series,r=u.tooltipOptions,o=n(r.valueDecimals,""),f=r.valuePrefix||"",e=r.valueSuffix||"";return t(u.pointArrayMap||["y"],function(n){n="{point."+n;(f||e)&&(i=i.replace(n+"}",f+n+"}"+e));i=i.replace(n+"}",n+":,."+o+"f}")}),ur(i,{point:this,series:this.series})},firePointEvent:function(n,t,i){var r=this,u=this.series.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();n==="click"&&u.allowPointSelect&&(i=function(n){r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});w(this,n,t,i)}};b=h.Series=function(){};b.prototype={isCartesian:!0,type:"line",pointClass:ki,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(i,r){var u=this,s,f,o=i.series,h=function(t,i){return n(t.options.index,t._i)-n(i.options.index,i._i)};u.chart=i;u.options=r=u.setOptions(r);u.linkedSeries=[];u.bindAxes();e(u,{name:r.name,state:"",pointAttr:{},visible:r.visible!==!1,selected:r.selected===!0});wt&&(r.animation=!1);f=r.events;for(s in f)d(u,s,f[s]);(f&&f.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(i.runTrackerClick=!0);u.getColor();u.getSymbol();t(u.parallelArrays,function(n){u[n+"Data"]=[]});u.setData(r.data,!1);u.isCartesian&&(i.hasCartesianSeries=!0);o.push(u);u._i=o.length-1;pu(o,h);this.yAxis&&pu(this.yAxis.series,h);t(o,function(n,t){n.index=t;n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,i=n.options,f=n.chart,u;t(n.axisTypes||[],function(e){t(f[e],function(t){u=t.options;(i[e]===u.index||i[e]!==r&&i[e]===u.id||i[e]===r&&u.index===0)&&(t.series.push(n),n[e]=t,t.isDirty=!0)});n[e]||n.optionalAxis===e||ti(18,!0)})},updateParallelArrays:function(n,i){var r=n.series,u=arguments;t(r.parallelArrays,typeof i=="number"?function(t){var u=t==="y"&&r.toYData?r.toYData(n):n[t];r[t+"Data"][i]=u}:function(n){Array.prototype[i].apply(r[n+"Data"],Array.prototype.slice.call(u,2))})},autoIncrement:function(){var t=this.options,i=this.xIncrement,r,u=t.pointIntervalUnit,i=n(i,t.pointStart,0);return this.pointInterval=r=n(this.pointInterval,t.pointInterval,1),(u==="month"||u==="year")&&(t=new bi(i),t=u==="month"?+t[uf](t[nu]()+r):+t[ff](t[tu]()+r),r=t-i),this.xIncrement=i+r,i},getSegments:function(){var i=-1,r=[],u,n=this.points,f=n.length;if(f)if(this.options.connectNulls){for(u=f;u--;)n[u].y===null&&n.splice(u,1);n.length&&(r=[n])}else t(n,function(t,u){t.y===null?(u>i+1&&r.push(n.slice(i+1,u)),i=u):u===f-1&&r.push(n.slice(i+1,u+1))});this.segments=r},setOptions:function(n){var r=this.chart,t=r.options.plotOptions,r=r.userOptions||{},u=r.plotOptions||{},f=t[this.type];return this.userOptions=n,t=o(f,t.series,n),this.tooltipOptions=o(ut.tooltip,ut.plotOptions[this.type].tooltip,r.tooltip,u.series&&u.series.tooltip,u[this.type]&&u[this.type].tooltip,n.tooltip),f.marker===null&&delete t.marker,this.zoneAxis=t.zoneAxis,n=this.zones=(t.zones||[]).slice(),(t.negativeColor||t.negativeFillColor)&&!t.zones&&n.push({value:t[this.zoneAxis+"Threshold"]||t.threshold||0,color:t.negativeColor,fillColor:t.negativeFillColor}),n.length&&i(n[n.length-1].value)&&n.push({color:this.color,fillColor:this.fillColor}),t},getCyclic:function(n,t,r){var u=this.userOptions,f="_"+n+"Index",e=n+"Counter";t||(i(u[f])?t=u[f]:(u[f]=t=this.chart[e]%r.length,this.chart[e]+=1),t=r[t]);this[n]=t},getColor:function(){this.options.colorByPoint||this.getCyclic("color",this.options.color||ct[this.type].color,this.chart.options.colors)},getSymbol:function(){var n=this.options.marker;this.getCyclic("symbol",n.symbol,this.chart.options.symbols);/^url/.test(this.symbol)&&(n.radius=0)},drawLegendSymbol:tr.drawLineMarker,setData:function(i,u,f,e){var o=this,c=o.points,w=c&&c.length||0,h,s=o.options,b=o.chart,v=null,l=o.xAxis,a=l&&!!l.categories,k=s.turboThreshold,p=this.xData,y=this.yData,d=(h=o.pointArrayMap)&&h.length,i=i||[];if(h=i.length,u=n(u,!0),e!==!1&&h&&w===h&&!o.cropped&&!o.hasGroupedData&&o.visible)t(i,function(n,t){c[t].update(n,!1,null,!1)});else{if(o.xIncrement=null,o.pointRange=a?1:s.pointRange,o.colorCounter=0,t(this.parallelArrays,function(n){o[n+"Data"].length=0}),k&&h>k){for(f=0;v===null&&f<h;)v=i[f],f++;if(hi(v)){for(a=n(s.pointStart,0),s=n(s.pointInterval,1),f=0;f<h;f++)p[f]=a,y[f]=i[f],a+=s;o.xIncrement=a}else if(ir(v))if(d)for(f=0;f<h;f++)s=i[f],p[f]=s[0],y[f]=s.slice(1,d+1);else for(f=0;f<h;f++)s=i[f],p[f]=s[0],y[f]=s[1];else ti(12)}else for(f=0;f<h;f++)i[f]!==r&&(s={series:o},o.pointClass.prototype.applyOptions.apply(s,[i[f]]),o.updateParallelArrays(s,f),a&&s.name)&&(l.names[s.x]=s.name);for(di(y[0])&&ti(14,!0),o.data=[],o.options.data=i,f=w;f--;)c[f]&&c[f].destroy&&c[f].destroy();l&&(l.minRange=l.userMinRange);o.isDirty=o.isDirtyData=b.isDirtyBox=!0;f=!1}u&&b.redraw(f)},processData:function(n){var t=this.xData,c=this.yData,i=t.length,f,v,e,o,u,l,a,s,h;if(f=0,o=this.xAxis,l=this.options,u=l.cropThreshold,a=this.isCartesian,a&&!this.isDirty&&!o.isDirty&&!this.yAxis.isDirty&&!n)return!1;for(o&&(n=o.getExtremes(),s=n.min,h=n.max),a&&this.sorted&&(!u||i>u||this.forceCrop)&&(t[i-1]<s||t[0]>h?(t=[],c=[]):(t[0]<s||t[i-1]>h)&&(f=this.cropData(this.xData,this.yData,s,h),t=f.xData,c=f.yData,f=f.start,v=!0)),u=t.length-1;u>=0;u--)i=t[u]-t[u-1],i>0&&(e===r||i<e)?e=i:i<0&&this.requireSorting&&ti(15);this.cropped=v;this.cropStart=f;this.processedXData=t;this.processedYData=c;l.pointRange===null&&(this.pointRange=e||1);this.closestPointRange=e},cropData:function(t,i,r,f){for(var h=t.length,o=0,s=h,c=n(this.cropShoulder,1),e=0;e<h;e++)if(t[e]>=r){o=u(0,e-c);break}for(;e<h;e++)if(t[e]>f){s=e+c;break}return{xData:t.slice(o,s),yData:i.slice(o,s),start:o,end:s}},generatePoints:function(){var e=this.options.data,t=this.data,c,o=this.processedXData,v=this.processedYData,l=this.pointClass,s=o.length,a=this.cropStart||0,i,u=this.hasGroupedData,h,f=[],n;for(t||u||(t=[],t.length=e.length,t=this.data=t),n=0;n<s;n++)i=a+n,u?f[n]=(new l).init(this,[o[n]].concat(ci(v[n]))):(t[i]?h=t[i]:e[i]!==r&&(t[i]=h=(new l).init(this,e[i],o[n])),f[n]=h),f[n].index=i;if(t&&(s!==(c=t.length)||u))for(n=0;n<c;n++)(n===a&&!u&&(n+=s),t[n])&&(t[n].destroyElements(),t[n].plotX=r);this.data=t;this.points=f},getExtremes:function(n){var c=this.yAxis,s=this.processedXData,f,o=[],h=0;f=this.xAxis.getExtremes();var l=f.min,a=f.max,u,e,t,i,n=n||this.stackedYData||this.processedYData;for(f=n.length,i=0;i<f;i++)if(e=s[i],t=n[i],u=t!==null&&t!==r&&(!c.isLog||t.length||t>0),e=this.getExtremesFromAll||this.cropped||(s[i+1]||e)>=l&&(s[i-1]||e)<=a,u&&e)if(u=t.length)for(;u--;)t[u]!==null&&(o[h++]=t[u]);else o[h++]=t;this.dataMin=hr(o);this.dataMax=nr(o)},translate:function(){var o;this.processedXData||this.processData();this.generatePoints();for(var s=this.options,d=s.stacking,a=this.xAxis,y=a.categories,h=this.yAxis,g=this.points,tt=g.length,it=!!this.modifyValue,w=s.pointPlacement,rt=w==="between"||hi(w),b=s.threshold,c,e,nt,k=Number.MAX_VALUE,s=0;s<tt;s++){var t=g[s],v=t.x,f=t.y;e=t.low;o=d&&h.stacks[(this.negStacks&&f<b?"-":"")+this.stackKey];h.isLog&&f!==null&&f<=0&&(t.y=f=null,ti(10));t.plotX=c=a.translate(v,0,0,0,1,w,this.type==="flags");d&&this.visible&&o&&o[v]&&(o=o[v],f=o.points[this.index+","+s],e=f[0],f=f[1],e===0&&(e=n(b,h.min)),h.isLog&&e<=0&&(e=null),t.total=t.stackTotal=o.total,t.percentage=o.total&&t.y/o.total*100,t.stackY=f,o.setOffset(this.pointXOffset||0,this.barW||0));t.yBottom=i(e)?h.translate(e,0,1,0,1):null;it&&(f=this.modifyValue(f,t));t.plotY=e=typeof f=="number"&&f!==Infinity?l(u(-1e5,h.translate(f,0,1,0,1)),1e5):r;t.isInside=e!==r&&e>=0&&e<=h.len&&c>=0&&c<=a.len;t.clientX=rt?a.translate(v,0,0,0,1):c;t.negative=t.y<(b||0);t.category=y&&y[t.x]!==r?y[t.x]:t.x;s&&(k=l(k,p(c-nt)));nt=c}this.closestPointRangePx=k;this.getSegments()},setClip:function(n){var t=this.chart,e=t.renderer,o=t.inverted,u=this.clipBox,f=u||t.clipBox,i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,f.height].join(","),r=t[i],s=t[i+"m"];r||(n&&(f.width=0,t[i+"m"]=s=e.clipRect(-99,o?-t.plotLeft:-t.plotTop,99,o?t.chartWidth:t.chartHeight)),t[i]=r=e.clipRect(f));n&&(r.count+=1);this.options.clip!==!1&&(this.group.clip(n||u?r:t.clipRect),this.markerGroup.clip(s),this.sharedClipKey=i);n||(r.count-=1,r.count<=0&&i&&t[i]&&(u||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var i=this.chart,t=this.options.animation,r;t&&!yt(t)&&(t=ct[this.type].animation);n?this.setClip(t):(r=this.sharedClipKey,(n=i[r])&&n.animate({width:i.plotSizeX},t),i[r+"m"]&&i[r+"m"].animate({width:i.plotSizeX+99},t),this.animate=null)},afterAnimate:function(){this.setClip();w(this,"afterAnimate")},drawPoints:function(){var f,y=this.points,b=this.chart,c,o,l,t,i,a,p,u,h=this.options.marker,k=this.pointAttr[""],s,w,v,d=this.markerGroup,g=n(h.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*h.radius);if(h.enabled!==!1||this._hasPointMarkers)for(l=y.length;l--;)(t=y[l],c=ft(t.plotX),o=t.plotY,u=t.graphic,s=t.marker||{},w=!!t.marker,f=g&&s.enabled===r||s.enabled,v=t.isInside,f&&o!==r&&!isNaN(o)&&t.y!==null)?(f=t.pointAttr[t.selected?"select":""]||k,i=f.r,a=n(s.symbol,this.symbol),p=a.indexOf("url")===0,u)?u[v?"show":"hide"](!0).animate(e({x:c-i,y:o-i},u.symbolName?{width:2*i,height:2*i}:{})):v&&(i>0||p)&&(t.graphic=b.renderer.symbol(a,c-i,o-i,2*i,2*i,w?s:h).attr(f).add(d)):u&&(t.graphic=u.destroy())},convertAttribs:function(t,i,r,u){var e=this.pointAttrToOptions,f,o,s={},t=t||{},i=i||{},r=r||{},u=u||{};for(f in e)o=e[f],s[f]=n(t[o],i[f],r[f],u[f]);return s},getAttribs:function(){var o=this,a=o.options,r=ct[o.type].marker?a.marker:a,c=r.states,u=c.hover,s,l=o.color,y=o.options.negativeColor,b,k,v,d,g;s={stroke:l,fill:l};var p=o.points||[],n,h=[],f,w=o.pointAttrToOptions;if(f=o.hasPointSpecificOptions,b=r.lineColor,k=r.fillColor,n=a.turboThreshold,v=o.zones,d=o.zoneAxis||"y",a.marker?(u.radius=u.radius||r.radius+u.radiusPlus,u.lineWidth=u.lineWidth||r.lineWidth+u.lineWidthPlus):(u.color=u.color||ui(u.color||l).brighten(u.brightness).get(),u.negativeColor=u.negativeColor||ui(u.negativeColor||y).brighten(u.brightness).get()),h[""]=o.convertAttribs(r,s),t(["hover","select"],function(n){h[n]=o.convertAttribs(c[n],h[""])}),o.pointAttr=h,l=p.length,!n||l<n||f)for(;l--;){if(n=p[l],(r=n.options&&n.options.marker||n.options)&&r.enabled===!1&&(r.radius=0),v.length){for(f=0,s=v[f];n[d]>=s.value;)s=v[++f];n.color=n.fillColor=s.color}if(f=a.colorByPoint||n.color,n.options)for(g in w)i(r[w[g]])&&(f=!0);f?(r=r||{},f=[],c=r.states||{},s=c.hover=c.hover||{},a.marker||(s.color=s.color||!n.options.color&&u[n.negative&&y?"negativeColor":"color"]||ui(n.color).brighten(s.brightness||u.brightness).get()),s={color:n.color},k||(s.fillColor=n.color),b||(s.lineColor=n.color),r.hasOwnProperty("color")&&!r.color&&delete r.color,f[""]=o.convertAttribs(e(s,r),h[""]),f.hover=o.convertAttribs(c.hover,h.hover,f[""]),f.select=o.convertAttribs(c.select,h.select,f[""])):f=h;n.pointAttr=f}},destroy:function(){var n=this,f=n.chart,s=/AppleWebKit\/533/.test(vi),r,o=n.data||[],e,i,u;for(w(n,"destroy"),ht(n),t(n.axisTypes||[],function(t){(u=n[t])&&(gt(u.series,n),u.isDirty=u.forceRedraw=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),r=o.length;r--;)(e=o[r])&&e.destroy&&e.destroy();n.points=null;clearTimeout(n.animationTimeout);for(i in n)n[i]instanceof tt&&!n[i].survive&&(r=s&&i==="group"?"hide":"destroy",n[i][r]());f.hoverSeries===n&&(f.hoverSeries=null);gt(f.series,n);for(i in n)delete n[i]},getSegmentPath:function(n){var r=this,i=[],u=r.options.step;return t(n,function(t,f){var o=t.plotX,s=t.plotY,e;r.getPointSpline?i.push.apply(i,r.getPointSpline(n,t,f)):(i.push(f?"L":"M"),u&&f&&(e=n[f-1],u==="right"?i.push(e.plotX,s):u==="center"?i.push((e.plotX+o)/2,e.plotY,(e.plotX+o)/2,s):i.push(o,e.plotY)),i.push(t.plotX,t.plotY))}),i},getGraphPath:function(){var n=this,i=[],r,u=[];return t(n.segments,function(t){r=n.getSegmentPath(t);t.length>1?i=i.concat(r):u.push(t[0])}),n.singlePoints=u,n.graphPath=i},drawGraph:function(){var i=this,n=this.options,u=[["graph",n.lineColor||this.color,n.dashStyle]],f=n.lineWidth,o=n.linecap!=="square",r=this.getGraphPath(),e=this.fillGraph&&this.color||it;t(this.zones,function(t,r){u.push(["zoneGraph"+r,t.color||i.color,t.dashStyle||n.dashStyle])});t(u,function(t,u){var h=t[0],s=i[h];s?(ru(s),s.animate({d:r})):(f||e)&&r.length&&(s={stroke:t[1],"stroke-width":f,fill:e,zIndex:1},t[2]?s.dashstyle=t[2]:o&&(s["stroke-linecap"]=s["stroke-linejoin"]="round"),i[h]=i.chart.renderer.path(r).attr(s).add(i.group).shadow(u<2&&n.shadow))})},applyZones:function(){var y=this,s=this.chart,p=s.renderer,w=this.zones,i,r,h=this.clips||[],e,c=this.graph,l=this.area,b=u(s.chartWidth,s.chartHeight),o=this[(this.zoneAxis||"y")+"Axis"],a=o.reversed,v=o.horiz,k=!1;w.length&&(c||l)&&(c&&c.hide(),l&&l.hide(),t(w,function(t,u){i=n(r,a?v?s.plotWidth:0:v?0:o.toPixels(o.min));r=f(o.toPixels(n(t.value,o.max),!0));i=o.isXAxis?i>r?r:i:i<r?r:i;k&&(i=r=o.toPixels(o.max));o.isXAxis?(e={x:a?r:i,y:0,width:Math.abs(i-r),height:b},v)||(e.x=s.plotHeight-e.x):(e={x:0,y:a?i:r,width:b,height:Math.abs(i-r)},v)&&(e.y=s.plotWidth-e.y);s.inverted&&p.isVML&&(e=o.isXAxis?{x:0,y:a?i:r,height:e.width,width:s.chartWidth}:{x:e.y-s.plotLeft-s.spacingBox.x,y:0,width:e.height,height:s.chartHeight});h[u]?h[u].animate(e):(h[u]=p.clipRect(e),c&&y["zoneGraph"+u].clip(h[u]),l&&y["zoneArea"+u].clip(h[u]));k=t.value>o.max}),this.clips=h)},invertGroups:function(){function i(){var i={width:n.yAxis.len,height:n.xAxis.len};t(["group","markerGroup"],function(t){n[t]&&n[t].attr(i).invert()})}var n=this,r=n.chart;n.xAxis&&(d(r,"resize",i),d(n,"destroy",function(){ht(r,"resize",i)}),i(),n.invertGroups=i)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g(t).attr({visibility:i,zIndex:r||.1}).add(u)),f[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var i=this,r=i.chart,u,e=i.options,f=(u=e.animation)&&!!i.animate&&r.renderer.isSVG&&n(u.duration,500)||0,o=i.visible?"visible":"hidden",s=e.zIndex,h=i.hasRendered,c=r.seriesGroup;u=i.plotGroup("group","series",o,s,c);i.markerGroup=i.plotGroup("markerGroup","markers",o,s,c);f&&i.animate(!0);i.getAttribs();u.inverted=i.isCartesian?r.inverted:!1;i.drawGraph&&(i.drawGraph(),i.applyZones());t(i.points,function(n){n.redraw&&n.redraw()});i.drawDataLabels&&i.drawDataLabels();i.visible&&i.drawPoints();i.drawTracker&&i.options.enableMouseTracking!==!1&&i.drawTracker();r.inverted&&i.invertGroups();e.clip===!1||i.sharedClipKey||h||u.clip(r.clipRect);f&&i.animate();h||(f?i.animationTimeout=setTimeout(function(){i.afterAnimate()},f):i.afterAnimate());i.isDirty=i.isDirtyData=!1;i.hasRendered=!0},redraw:function(){var t=this.chart,r=this.isDirtyData,e=this.isDirty,i=this.group,u=this.xAxis,f=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:n(u&&u.left,t.plotLeft),translateY:n(f&&f.top,t.plotTop)}));this.translate();this.render();r&&w(this,"updatedData");(e||r)&&delete this.kdTree},kdDimensions:1,kdTree:null,kdAxisArray:["clientX","plotY"],kdComparer:"distX",searchPoint:function(n){var t=this.xAxis,i=this.yAxis,r=this.chart.inverted;return this.searchKDTree({clientX:r?t.len-n.chartY+t.pos:n.chartX-t.pos,plotY:r?i.len-n.chartX+i.pos:n.chartY-i.pos})},buildKDTree:function(){function t(i,r,u){var e,f;if(f=i&&i.length)return e=n.kdAxisArray[r%u],i.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(f/2),{point:i[f],left:t(i.slice(0,f),r+1,u),right:t(i.slice(f+1),r+1,u)}}function i(){var i=lu(n.points,function(n){return n.y!==null});n.kdTree=t(i,r,r)}var n=this,r=n.kdDimensions;delete n.kdTree;n.options.kdSync?i():setTimeout(i)},searchKDTree:function(n){function f(n,o,s,h){var l=o.point,a=e.kdAxisArray[s%h],c,v=l,y,p;return c=i(n[r])&&i(l[r])?Math.pow(n[r]-l[r],2):null,y=i(n[u])&&i(l[u])?Math.pow(n[u]-l[u],2):null,p=(c||0)+(y||0),c={distX:i(c)?Math.sqrt(c):Number.MAX_VALUE,distY:i(y)?Math.sqrt(y):Number.MAX_VALUE,distR:i(p)?Math.sqrt(p):Number.MAX_VALUE},l.dist=c,a=n[a]-l[a],c=a<0?"left":"right",o[c]&&(c=f(n,o[c],s+1,h),v=c.dist[t]<v.dist[t]?c:l,l=a<0?"right":"left",o[l]&&Math.sqrt(a*a)<v.dist[t]&&(n=f(n,o[l],s+1,h),v=n.dist[t]<v.dist[t]?n:v)),v}var e=this,t=this.kdComparer,r=this.kdAxisArray[0],u=this.kdAxisArray[1];return this.kdTree||this.buildKDTree(),this.kdTree?f(n,this.kdTree,this.kdDimensions,this.kdDimensions):void 0}};cf.prototype={destroy:function(){cr(this,this.axis)},render:function(n){var t=this.options,i=t.format,i=i?ur(i,this):t.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(i,null,null,t.useHTML).css(t.style).attr({align:this.textAlign,rotation:t.rotation,visibility:"hidden"}).add(n)},setOffset:function(n,t){var i=this.axis,e=i.chart,r=e.inverted,u=i.reversed,u=this.isNegative&&!u||!this.isNegative&&u,f=i.translate(i.usePercentage?100:this.total,0,0,0,1),i=i.translate(0),i=p(f-i),s=e.xAxis[0].translate(this.x)+n,o=e.plotHeight,u={x:r?u?f:f-i:s,y:r?o-s-t:u?o-f-i:o-f,width:r?i:t,height:r?t:i};(r=this.label)&&(r.align(this.alignOptions,null,u),u=r.alignAttr,r[this.options.crop===!1||e.isInsidePlot(u.x,u.y)?"show":"hide"](!0))}};ei.prototype.buildStacks=function(){var i=this.series,r=n(this.options.reversedStacks,!0),t=i.length;if(!this.isXAxis){for(this.usePercentage=!1;t--;)i[r?t:i.length-t-1].setStackedPoints();if(this.usePercentage)for(t=0;t<i.length;t++)i[t].setPercentStacks()}};ei.prototype.renderStackTotals=function(){var n=this.chart,f=n.renderer,i=this.stacks,r,u,t=this.stackTotalGroup;t||(this.stackTotalGroup=t=f.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());t.translate(n.plotLeft,n.plotTop);for(r in i)for(u in n=i[r],n)n[u].render(t)};b.prototype.setStackedPoints=function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){for(var b=this.processedXData,a=this.processedYData,v=[],k=a.length,s=this.options,d=s.threshold,g=s.stack,s=s.stacking,h=this.stackKey,y="-"+h,w=this.negStacks,e=this.yAxis,i=e.stacks,c=e.oldStacks,r,n,l,t,o,f=0;f<k;f++)t=b[f],o=a[f],l=this.index+","+f,n=(r=w&&o<d)?y:h,i[n]||(i[n]={}),i[n][t]||(c[n]&&c[n][t]?(i[n][t]=c[n][t],i[n][t].total=null):i[n][t]=new cf(e,e.options.stackLabels,r,t,g)),n=i[n][t],n.points[l]=[n.cum||0],s==="percent"?(r=r?h:y,w&&i[r]&&i[r][t]?(r=i[r][t],n.total=r.total=u(r.total,n.total)+p(o)||0):n.total=pt(n.total+(p(o)||0))):n.total=pt(n.total+(o||0)),n.cum=(n.cum||0)+(o||0),n.points[l].push(n.cum),v[f]=n.cum;s==="percent"&&(e.usePercentage=!0);this.stackedYData=v;e.oldStacks={}}};b.prototype.setPercentStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacks,u=n.processedXData;t([i,"-"+i],function(t){for(var o,e=u.length,i,f;e--;)(i=u[e],o=(f=r[t]&&r[t][i])&&f.points[n.index+","+e],i=o)&&(f=f.total?100/f.total:0,i[0]=pt(i[0]*f),i[1]=pt(i[1]*f),n.stackedYData[e]=i[1])})};e(a.prototype,{addSeries:function(t,i,r){var f,u=this;return t&&(i=n(i,!0),w(u,"addSeries",{options:t},function(){f=u.initSeries(t);u.isDirtyLegend=!0;u.linkSeries();i&&u.redraw(r)})),f},addAxis:function(t,i,r,u){var f=i?"xAxis":"yAxis",e=this.options;new ei(this,o(t,{index:this[f].length,isX:i}));e[f]=ci(e[f]||{});e[f].push(t);n(r,!0)&&this.redraw(u)},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading,f=function(){i&&y(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=lt(er,{className:"highcharts-loading"},e(r.style,{zIndex:10,display:it}),t.container),t.loadingSpan=lt("span",null,r.labelStyle,i),d(t,"redraw",f));t.loadingSpan.innerHTML=n||u.lang.loading;t.loadingShown||(y(i,{opacity:0,display:""}),au(i,{opacity:r.style.opacity},{duration:r.showDuration||0}),t.loadingShown=!0);f()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&au(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){y(n,{display:it})}});this.loadingShown=!1}});e(ki.prototype,{update:function(t,i,r,u){function c(){f.applyOptions(t);yt(t)&&!ir(t)&&(f.redraw=function(){s&&(t&&t.marker&&t.marker.symbol?f.graphic=s.destroy():s.attr(f.pointAttr[f.state||""]));t&&t.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy());f.redraw=null});h=f.index;e.updateParallelArrays(f,h);a&&f.name&&(a[f.x]=f.name);l.data[h]=f.options;e.isDirty=e.isDirtyData=!0;!e.fixedBox&&e.hasCartesianSeries&&(o.isDirtyBox=!0);o.legend.display&&l.legendType==="point"&&(e.updateTotals(),o.legend.clearItems());i&&o.redraw(r)}var f=this,e=f.series,s=f.graphic,h,o=e.chart,l=e.options,a=e.xAxis&&e.xAxis.names,i=n(i,!0);u===!1?c():f.firePointEvent("update",{options:t},c)},remove:function(n,t){this.series.removePoint(or(this,this.series.data),n,t)}});e(b.prototype,{addPoint:function(i,r,u,f){var e=this,a=e.options,h=e.data,c=e.graph,o=e.area,v=e.chart,y=e.xAxis&&e.xAxis.names,w=c&&c.shift||0,s=["graph","area"],c=a.data,p,l=e.xData;if(ar(f,v),u){for(f=e.zones.length;f--;)s.push("zoneGraph"+f,"zoneArea"+f);t(s,function(n){e[n]&&(e[n].shift=w+1)})}if(o&&(o.isArea=!0),r=n(r,!0),o={series:e},e.pointClass.prototype.applyOptions.apply(o,[i]),s=o.x,f=l.length,e.requireSorting&&s<l[f-1])for(p=!0;f&&l[f-1]>s;)f--;e.updateParallelArrays(o,"splice",f,0,0);e.updateParallelArrays(o,f);y&&o.name&&(y[s]=o.name);c.splice(f,0,i);p&&(e.data.splice(f,0,null),e.processData());a.legendType==="point"&&e.generatePoints();u&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),e.updateParallelArrays(o,"shift"),c.shift()));e.isDirty=!0;e.isDirtyData=!0;r&&(e.getAttribs(),v.redraw())},removePoint:function(t,i,r){var u=this,e=u.data,f=e[t],o=u.points,s=u.chart,h=function(){e.length===o.length&&o.splice(t,1);e.splice(t,1);u.options.data.splice(t,1);u.updateParallelArrays(f||{series:u},"splice",t,1);f&&f.destroy();u.isDirty=!0;u.isDirtyData=!0;i&&s.redraw()};ar(r,s);i=n(i,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(t,i){var r=this,u=r.chart,t=n(t,!0);r.isRemoving||(r.isRemoving=!0,w(r,"remove",null,function(){r.destroy();u.isDirtyLegend=u.isDirtyBox=!0;u.linkSeries();t&&u.redraw(i)}));r.isRemoving=!1},update:function(i,u){var s=this,h=this.chart,a=this.userOptions,c=this.type,v=k[c].prototype,f=["group","markerGroup","dataLabelsGroup"],l;(i.type&&i.type!==c||i.zIndex!==void 0)&&(f.length=0);t(f,function(n){f[n]=s[n];delete s[n]});i=o(a,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},i);this.remove(!1);for(l in v)this[l]=r;e(this,k[i.type||c].prototype);t(f,function(n){s[n]=f[n]});this.init(h,i);h.linkSeries();n(u,!0)&&h.redraw(!1)}});e(ei.prototype,{update:function(t,i){var u=this.chart,t=u.options[this.coll][this.options.index]=o(this.userOptions,t);this.destroy(!0);this._addedPlotLB=r;this.init(u,e(t,{events:r}));u.isDirtyBox=!0;n(i,!0)&&u.redraw()},remove:function(i){for(var r=this.chart,u=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);gt(r.axes,this);gt(r[u],this);r.options[u].splice(this.options.index,1);t(r[u],function(n,t){n.options.index=t});this.destroy();r.isDirtyBox=!0;n(i,!0)&&r.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}});si=ni(b);k.line=si;ct.area=o(rt,{threshold:0});kt=ni(b,{type:"area",getSegments:function(){var a=this,u=[],r=[],f=[],v=this.xAxis,e=this.yAxis,o=e.stacks[this.stackKey],i={},s,h,c=this.points,y=this.options.connectNulls,n,l;if(this.options.stacking&&!this.cropped){for(n=0;n<c.length;n++)i[c[n].x]=c[n];for(l in o)o[l].total!==null&&f.push(+l);f.sort(function(n,t){return n-t});t(f,function(t){var u=0,f;if(!y||i[t]&&i[t].y!==null)if(i[t])r.push(i[t]);else{for(n=a.index;n<=e.series.length;n++)if(f=o[t].points[n+","+t]){u=f[1];break}s=v.translate(t);h=e.toPixels(u,!0);r.push({y:null,plotX:s,clientX:s,plotY:h,yBottom:h,onMouseOver:ri})}});r.length&&u.push(r)}else b.prototype.getSegments.call(this),u=this.segments;this.segments=u},getSegmentPath:function(t){var r=b.prototype.getSegmentPath.call(this,t),u=[].concat(r),i,f=this.options,e,o;if(i=r.length,e=this.yAxis.getThreshold(f.threshold),i===3&&u.push("L",r[1],r[2]),f.stacking&&!this.closedStacks)for(i=t.length-1;i>=0;i--)o=n(t[i].yBottom,e),i<t.length-1&&f.step&&u.push(t[i+1].plotX,o),u.push(t[i].plotX,o);else this.closeSegment(u,t,e);return this.areaPath=this.areaPath.concat(u),r},closeSegment:function(n,t,i){n.push("L",t[t.length-1].plotX,i,"L",t[0].plotX,i)},drawGraph:function(){this.areaPath=[];b.prototype.drawGraph.apply(this);var i=this,u=this.areaPath,r=this.options,f=[["area",this.color,r.fillColor]];t(this.zones,function(n,t){f.push(["zoneArea"+t,n.color||i.color,n.fillColor||r.fillColor])});t(f,function(t){var f=t[0],e=i[f];e?e.animate({d:u}):i[f]=i.chart.renderer.path(u).attr({fill:n(t[2],ui(t[1]).setOpacity(n(r.fillOpacity,.75)).get()),zIndex:0}).add(i.group)})},drawLegendSymbol:tr.drawRectangle});k.area=kt;ct.spline=o(rt);si=ni(b,{type:"spline",getPointSpline:function(n,t,i){var h=t.plotX,r=t.plotY,o=n[i-1],s=n[i+1],a,e,c,f,v;return o&&s&&(n=o.plotY,c=s.plotX,s=s.plotY,a=(1.5*h+o.plotX)/2.5,e=(1.5*r+n)/2.5,c=(1.5*h+c)/2.5,f=(1.5*r+s)/2.5,v=(f-e)*(c-h)/(c-a)+r-f,e+=v,f+=v,e>n&&e>r?(e=u(n,r),f=2*r-e):e<n&&e<r&&(e=l(n,r),f=2*r-e),f>s&&f>r?(f=u(s,r),e=2*r-f):f<s&&f<r&&(f=l(s,r),e=2*r-f),t.rightContX=c,t.rightContY=f),i?(t=["C",o.rightContX||o.plotX,o.rightContY||o.plotY,a||h,e||r,h,r],o.rightContX=o.rightContY=null):t=["M",h,r],t}});k.spline=si;ct.areaspline=o(ct.area);kt=kt.prototype;si=ni(si,{type:"areaspline",closedStacks:!0,getSegmentPath:kt.getSegmentPath,closeSegment:kt.closeSegment,drawGraph:kt.drawGraph,drawLegendSymbol:tr.drawRectangle});k.areaspline=si;ct.column=o(rt,{borderColor:"#FFFFFF",borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1,halo:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,tooltip:{distance:6},threshold:0});si=ni(b,{type:"column",pointAttrToOptions:{stroke:"borderColor",fill:"color",r:"borderRadius"},cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){b.prototype.init.apply(this,arguments);var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var f=this,e=f.options,u=f.xAxis,y=f.yAxis,w=u.reversed,s,a={},v,o=0;e.grouping===!1?o=1:t(f.chart.series,function(n){var t=n.options,i=n.yAxis;n.type===f.type&&n.visible&&y.len===i.len&&y.pos===i.pos&&(t.stacking?(s=n.stackKey,a[s]===r&&(a[s]=o++),v=a[s]):t.grouping!==!1&&(v=o++),n.columnIndex=v)});var u=l(p(u.transA)*(u.ordinalSlope||e.pointRange||u.closestPointRange||u.tickInterval||1),u.len),b=u*e.groupPadding,h=(u-2*b)/o,c=e.pointWidth,e=i(c)?(h-c)/2:h*e.pointPadding,c=n(c,h-2*e);return f.columnMetrics={width:c,offset:e+(b+((w?o-(f.columnIndex||0):f.columnIndex)||0)*h-u/2)*(w?-1:1)}},translate:function(){var i=this,o=i.chart,s=i.options,c=i.borderWidth=n(s.borderWidth,i.closestPointRange*i.xAxis.transA<2?0:1),r=i.yAxis,h=i.translatedThreshold=r.getThreshold(s.threshold),e=n(s.minPointLength,5),y=i.getColumnMetrics(),w=y.width,a=i.barW=u(w,1+2*c),d=i.pointXOffset=y.offset,k=-(c%2?.5:0),v=c%2?.5:1;o.inverted&&(h-=.5,o.renderer.isVML&&(v+=1));s.pointPadding&&(a=li(a));b.prototype.translate.apply(i);t(i.points,function(t){var b=n(t.yBottom,h),nt=l(u(-999-b,t.plotY),r.len+999+b),c=t.plotX+d,g=a,s=l(nt,b),y,tt;y=u(nt,b)-s;p(y)<e&&e&&(y=e,tt=!r.reversed&&!t.negative||r.reversed&&t.negative,s=f(p(s-h)>e?b-e:h-(tt?e:0)));t.barX=c;t.pointWidth=w;t.tooltipPos=o.inverted?[r.len+r.pos-o.plotLeft-nt,i.xAxis.len-c-g/2]:[c+g/2,nt+r.pos-o.plotTop];g=f(c+g)+k;c=f(c)+k;g-=c;b=p(s)<.5;y=l(f(s+y)+v,9e4);s=f(s)+v;y-=s;b&&(s-=1,y+=1);t.shapeType="rect";t.shapeArgs={x:c,y:s,width:g,height:y}})},getSymbol:ri,drawLegendSymbol:tr.drawRectangle,drawGraph:ri,drawPoints:function(){var n=this,e=this.chart,u=n.options,h=e.renderer,c=u.animationLimit||250,f,s;t(n.points,function(t){var l=t.plotY,a=t.graphic;l===r||isNaN(l)||t.y===null?a&&(t.graphic=a.destroy()):(f=t.shapeArgs,l=i(n.borderWidth)?{"stroke-width":n.borderWidth}:{},s=t.pointAttr[t.selected?"select":""]||n.pointAttr[""],a?(ru(a),a.attr(l)[e.pointCount<c?"animate":"attr"](o(f))):t.graphic=h[t.shapeType](f).attr(l).attr(s).add(n.group).shadow(u.shadow,null,u.stacking&&!u.borderRadius))})},animate:function(n){var i=this.yAxis,f=this.options,r=this.chart.inverted,t={};vt&&(n?(t.scaleY=.001,n=l(i.pos+i.len,u(i.pos,i.toPixels(f.threshold))),r?t.translateX=n-i.len:t.translateY=n,this.group.attr(t)):(t.scaleY=1,t[r?"translateX":"translateY"]=i.pos,this.group.animate(t,this.options.animation),this.animate=null))},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)});b.prototype.remove.apply(n,arguments)}});k.column=si;ct.bar=o(ct.column);kt=ni(si,{type:"bar",inverted:!0});k.bar=kt;ct.scatter=o(rt,{lineWidth:0,marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{series.color}">●<\/span> <span style="font-size: 10px;"> {series.name}<\/span><br/>',pointFormat:"x: <b>{point.x}<\/b><br/>y: <b>{point.y}<\/b><br/>"}});kt=ni(b,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,kdComparer:"distR",drawGraph:function(){this.options.lineWidth&&b.prototype.drawGraph.call(this)}});k.scatter=kt;ct.pie=o(rt,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});rt={type:"pie",isCartesian:!1,pointClass:ni(ki,{init:function(){ki.prototype.init.apply(this,arguments);var t=this,i;return e(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(n){t.slice(n.type==="select")},d(t,"select",i),d(t,"unselect",i),t},setVisible:function(n,i){var u=this,f=u.series,e=f.chart,o=!f.isDirty&&f.options.ignoreHiddenPoint;(n!==u.visible||i)&&(u.visible=u.options.visible=n=n===r?!u.visible:n,f.options.data[or(u,f.data)]=u.options,t(["graphic","dataLabel","connector","shadowGroup"],function(t){u[t]&&u[t][n?"show":"hide"](!0)}),u.legendItem&&(e.hasRendered&&(f.updateTotals(),e.legend.clearItems(),o||e.legend.render()),e.legend.colorizeItem(u,n)),o)&&(f.isDirty=!0,e.redraw())},slice:function(t,r,u){var f=this.series;ar(u,f.chart);n(r,!0);this.sliced=this.options.sliced=t=i(t)?t:!this.sliced;f.options.data[or(this,f.data)]=this.options;t=t?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(t);this.shadowGroup&&this.shadowGroup.animate(t)},haloPath:function(n){var t=this.shapeArgs,i=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(i.plotLeft+t.x,i.plotTop+t.y,t.r+n,t.r+n,{innerR:this.shapeArgs.r,start:t.start,end:t.end})}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:ri,animate:function(n){var i=this,u=i.points,r=i.startAngleRad;n||(t(u,function(n){var t=n.graphic,u=n.shapeArgs;t&&(t.attr({r:n.startR||i.center[3]/2,start:r,end:r}),t.animate({r:u.r,start:u.start,end:u.end},i.options.animation))}),i.animate=null)},setData:function(t,i,r,u){b.prototype.setData.call(this,t,!1,r,u);this.processData();this.generatePoints();n(i,!0)&&this.chart.redraw(r)},updateTotals:function(){var t,i=0,r,u,n,f=this.options.ignoreHiddenPoint;for(r=this.points,u=r.length,t=0;t<u;t++)n=r[t],n.y<0&&(n.y=null),i+=f&&!n.visible?0:n.y;for(this.total=i,t=0;t<u;t++)n=r[t],n.percentage=i>0&&(n.visible||!f)?n.y/i*100:0,n.total=i},generatePoints:function(){b.prototype.generatePoints.call(this);this.updateTotals()},translate:function(t){this.generatePoints();var v=0,o=this.options,y=o.slicedOffset,h=y+o.borderWidth,u,e,i,c=o.startAngle||0,p=this.startAngleRad=ii/180*(c-90),c=(this.endAngleRad=ii/180*(n(o.endAngle,c+360)-90))-p,w=this.points,s=o.dataLabels.distance,o=o.ignoreHiddenPoint,a,b=w.length,r;for(t||(this.center=t=this.getCenter()),this.getX=function(n,r){return i=et.asin(l((n-t[1])/(t[2]/2+s),1)),t[0]+(r?-1:1)*ot(i)*(t[2]/2+s)},a=0;a<b;a++)r=w[a],u=p+v*c,(!o||r.visible)&&(v+=r.percentage/100),e=p+v*c,r.shapeType="arc",r.shapeArgs={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:f(u*1e3)/1e3,end:f(e*1e3)/1e3},i=(e+u)/2,i>1.5*ii?i-=2*ii:i<-ii/2&&(i+=2*ii),r.slicedTranslation={translateX:f(ot(i)*y),translateY:f(at(i)*y)},u=ot(i)*t[2]/2,e=at(i)*t[2]/2,r.tooltipPos=[t[0]+u*.7,t[1]+e*.7],r.half=i<-ii/2||i>ii/2?1:0,r.angle=i,h=l(h,s/2),r.labelPos=[t[0]+u+ot(i)*s,t[1]+e+at(i)*s,t[0]+u+ot(i)*h,t[1]+e+at(i)*h,t[0]+u,t[1]+e,s<0?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,f=n.chart.renderer,r,u,o=n.options.shadow,i,s;o&&!n.shadowGroup&&(n.shadowGroup=f.g("shadow").add(n.group));t(n.points,function(t){var h=t.options.visible;u=t.graphic;s=t.shapeArgs;i=t.shadowGroup;o&&!i&&(i=t.shadowGroup=f.g("shadow").add(n.shadowGroup));r=t.sliced?t.slicedTranslation:{translateX:0,translateY:0};i&&i.attr(r);u?u.animate(e(s,r)):t.graphic=u=f[t.shapeType](s).setRadialReference(n.center).attr(t.pointAttr[t.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(r).add(n.group).shadow(o,i);h!==void 0&&t.setVisible(h,!0)})},searchPoint:ri,sortByAngle:function(n,t){n.sort(function(n,i){return n.angle!==void 0&&(i.angle-n.angle)*t})},drawLegendSymbol:tr.drawRectangle,getCenter:df.getCenter,getSymbol:ri};rt=ni(b,rt);k.pie=rt;b.prototype.drawDataLabels=function(){var f=this,c=f.options,v=c.cursor,u=c.dataLabels,w=f.points,l,a,y=f.hasRendered||0,s,h,p=f.chart.renderer;(u.enabled||f._hasPointLabels)&&(f.dlProcessOptions&&f.dlProcessOptions(u),h=f.plotGroup("dataLabelsGroup","data-labels",u.defer?"hidden":"visible",u.zIndex||6),n(u.defer,!0)&&(h.attr({opacity:+y}),y||d(f,"afterAnimate",function(){f.visible&&h.show();h[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),a=u,t(w,function(t){var w,y=t.dataLabel,k,d,nt=t.connector,tt=!0,b,g={};if(l=t.dlOptions||t.options&&t.options.dataLabels,w=n(l&&l.enabled,a.enabled),y&&!w)t.dataLabel=y.destroy();else if(w){if(u=o(a,l),b=u.style,w=u.rotation,k=t.getLabelConfig(),s=u.format?ur(u.format,k):u.formatter.call(k,u),b.color=n(u.color,b.color,f.color,"black"),y)i(s)?(y.attr({text:s}),tt=!1):(t.dataLabel=y=y.destroy(),nt)&&(t.connector=nt.destroy());else if(i(s)){y={fill:u.backgroundColor,stroke:u.borderColor,"stroke-width":u.borderWidth,r:u.borderRadius||0,rotation:w,padding:u.padding,zIndex:1};b.color==="contrast"&&(g.color=u.inside||u.distance<0||c.stacking?p.getContrast(t.color||f.color):"#000000");v&&(g.cursor=v);for(d in y)y[d]===r&&delete y[d];y=t.dataLabel=p[w?"text":"label"](s,0,-999,u.shape,null,null,u.useHTML).attr(y).css(e(b,g)).add(h).shadow(u.shadow)}y&&f.alignDataLabel(t,y,u,null,tt)}}))};b.prototype.alignDataLabel=function(t,i,r,u,o){var h=this.chart,s=h.inverted,l=n(t.plotX,-999),a=n(t.plotY,-999),c=i.getBBox(),y=h.renderer.fontMetrics(r.style.fontSize).b,v=this.visible&&(t.series.forceDL||h.isInsidePlot(l,f(a),s)||u&&h.isInsidePlot(l,s?u.x+1:u.y+u.height-1,s));v&&(u=e({x:s?h.plotWidth-a:l,y:f(s?h.plotHeight-l:a),width:0,height:0},u),e(r,{width:c.width,height:c.height}),r.rotation?(t=h.renderer.rotCorr(y,r.rotation),i[o?"attr":"animate"]({x:u.x+r.x+u.width/2+t.x,y:u.y+r.y+u.height/2}).attr({align:r.align})):(i.align(r,null,u),s=i.alignAttr,n(r.overflow,"justify")==="justify"?this.justifyDataLabel(i,r,s,c,u,o):n(r.crop,!0)&&(v=h.isInsidePlot(s.x,s.y)&&h.isInsidePlot(s.x+c.width,s.y+c.height)),r.shape&&i.attr({anchorX:t.plotX,anchorY:t.plotY})));v||(i.attr({y:-999}),i.placed=!1)};b.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,c=t.align,l=t.verticalAlign,e,o,h=n.box?0:n.padding||0;e=i.x+h;e<0&&(c==="right"?t.align="left":t.x=-e,o=!0);e=i.x+r.width-h;e>s.plotWidth&&(c==="left"?t.align="right":t.x=s.plotWidth-e,o=!0);e=i.y+h;e<0&&(l==="bottom"?t.verticalAlign="top":t.y=-e,o=!0);e=i.y+r.height-h;e>s.plotHeight&&(l==="top"?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0);o&&(n.placed=!f,n.align(t,null,u))};k.pie&&(k.pie.prototype.drawDataLabels=function(){var a=this,d=a.data,e,st=a.chart,g=a.options.dataLabels,rt=n(g.connectorPadding,10),yt=n(g.connectorWidth,1),pt=st.plotWidth,wt=st.plotHeight,it,ct,dt=n(g.softConnector,!0),tt=g.distance,lt=a.center,ft=lt[2]/2,ht=lt[1],gt=tt>0,v,s,r,bt=[[],[]],y,o,et,ut,i,w=[0,0,0,0],kt=function(n,t){return t.y-n.y},vt,ot;if(a.visible&&(g.enabled||a._hasPointLabels)){for(b.prototype.drawDataLabels.apply(a),t(d,function(n){n.dataLabel&&n.visible&&bt[n.half].push(n)}),ut=2;ut--;){var k=[],at=[],c=bt[ut],nt=c.length,h;if(nt){for(a.sortByAngle(c,ut-.5),i=d=0;!d&&c[i];)d=c[i]&&c[i].dataLabel&&(c[i].dataLabel.getBBox().height||21),i++;if(tt>0){for(s=l(ht+ft+tt,st.plotHeight),i=u(0,ht-ft-tt);i<=s;i+=d)k.push(i);if(s=k.length,nt>s){for(e=[].concat(c),e.sort(kt),i=nt;i--;)e[i].rank=i;for(i=nt;i--;)c[i].rank>=s&&c.splice(i,1);nt=c.length}for(i=0;i<nt;i++){for(e=c[i],r=e.labelPos,e=9999,ot=0;ot<s;ot++)vt=p(k[ot]-r[1]),vt<e&&(e=vt,h=ot);if(h<i&&k[i]!==null)h=i;else for(s<nt-i+h&&k[i]!==null&&(h=s-nt+i);k[h]===null;)h++;at.push({i:h,y:k[h]});k[h]=null}at.sort(kt)}for(i=0;i<nt;i++)e=c[i],r=e.labelPos,v=e.dataLabel,et=e.visible===!1?"hidden":"inherit",e=r[1],tt>0?(s=at.pop(),h=s.i,o=s.y,e>o&&k[h+1]!==null||e<o&&k[h-1]!==null)&&(o=l(u(0,e),st.plotHeight)):o=e,y=g.justify?lt[0]+(ut?-1:1)*(ft+tt):a.getX(o===ht-ft-tt||o===ht+ft+tt?e:o,ut),v._attr={visibility:et,align:r[6]},v._pos={x:y+g.x+({left:rt,right:-rt}[r[6]]||0),y:o+g.y-10},v.connX=y,v.connY=o,this.options.size===null&&(s=v.width,y-s<rt?w[3]=u(f(s-y+rt),w[3]):y+s>pt-rt&&(w[1]=u(f(y+s-pt+rt),w[1])),o-d/2<0?w[0]=u(f(-o+d/2),w[0]):o+d/2>wt&&(w[2]=u(f(o+d/2-wt),w[2])))}}(nr(w)===0||this.verifyDataLabelOverflow(w))&&(this.placeDataLabels(),gt&&yt&&t(this.points,function(n){it=n.connector;r=n.labelPos;(v=n.dataLabel)&&v._pos?(et=v._attr.visibility,y=v.connX,o=v.connY,ct=dt?["M",y+(r[6]==="left"?5:-5),o,"C",y,o,2*r[2]-r[4],2*r[3]-r[5],r[2],r[3],"L",r[4],r[5]]:["M",y+(r[6]==="left"?5:-5),o,"L",r[2],r[3],"L",r[4],r[5]],it?(it.animate({d:ct}),it.attr("visibility",et)):n.connector=it=a.chart.renderer.path(ct).attr({"stroke-width":yt,stroke:g.connectorColor||n.color||"#606060",visibility:et}).add(a.dataLabelsGroup)):it&&(n.connector=it.destroy())}))}},k.pie.prototype.placeDataLabels=function(){t(this.points,function(n){var n=n.dataLabel,t;n&&((t=n._pos)?(n.attr(n._attr),n[n.moved?"animate":"attr"](t),n.moved=!0):n&&n.attr({y:-999}))})},k.pie.prototype.alignDataLabel=ri,k.pie.prototype.verifyDataLabelOverflow=function(n){var i=this.center,f=this.options,e=f.center,r=f=f.minSize||80,o;return e[0]!==null?r=u(i[2]-u(n[1],n[3]),f):(r=u(i[2]-n[1]-n[3],f),i[0]+=(n[3]-n[1])/2),e[1]!==null?r=u(l(r,i[2]-u(n[0],n[2])),f):(r=u(l(r,i[2]-n[0]-n[2]),f),i[1]+=(n[0]-n[2])/2),r<i[2]?(i[2]=r,this.translate(i),t(this.points,function(n){n.dataLabel&&(n.dataLabel._pos=null)}),this.drawDataLabels&&this.drawDataLabels()):o=!0,o});k.column&&(k.column.prototype.alignDataLabel=function(t,i,r,u,f){var e=this.chart.inverted,h=t.series,l=t.dlBox||t.shapeArgs,s=t.below||t.plotY>n(this.translatedThreshold,h.yAxis.len),c=n(r.inside,!!this.options.stacking);l&&(u=o(l),e&&(u={x:h.yAxis.len-u.y-u.height,y:h.xAxis.len-u.x-u.width,width:u.height,height:u.width}),!c)&&(e?(u.x+=s?0:u.width,u.width=0):(u.y+=s?u.height:0,u.height=0));r.align=n(r.align,!e||c?"center":s?"right":"left");r.verticalAlign=n(r.verticalAlign,e||c?"middle":s?"top":"bottom");b.prototype.alignDataLabel.call(this,t,i,r,u,f)}),function(n){var t=n.Chart,i=n.each,r=HighchartsAdapter.addEvent;t.prototype.callbacks.push(function(n){function t(){var t=[];i(n.series,function(n){var r=n.options.dataLabels;(r.enabled||n._hasPointLabels)&&!r.allowOverlap&&n.visible&&i(n.points,function(n){n.dataLabel&&(n.dataLabel.labelrank=n.labelrank,t.push(n.dataLabel))})});n.hideOverlappingLabels(t)}t();r(n,"redraw",t)});t.prototype.hideOverlappingLabels=function(n){for(var f=n.length,t,r,u,i=0;i<f;i++)(t=n[i])&&(t.oldOpacity=t.opacity,t.newOpacity=1);for(i=0;i<f;i++)for(r=n[i],t=i+1;t<f;++t)(u=n[t],r&&u&&r.placed&&u.placed&&r.newOpacity!==0&&u.newOpacity!==0&&!(u.alignAttr.x>r.alignAttr.x+r.width||u.alignAttr.x+u.width<r.alignAttr.x||u.alignAttr.y>r.alignAttr.y+r.height||u.alignAttr.y+u.height<r.alignAttr.y))&&((r.labelrank<u.labelrank?r:u).newOpacity=0);for(i=0;i<f;i++)(t=n[i])&&(t.oldOpacity!==t.newOpacity&&t.placed&&(t.alignAttr.opacity=t.newOpacity,t[t.isOld&&t.newOpacity?"animate":"attr"](t.alignAttr)),t.isOld=!0)}}(h);rt=h.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart,e=i.pointer,u=n.options.cursor,o=u&&{cursor:u},f=function(n){for(var u=n.target,t;u&&!t;)t=u.point,u=u.parentNode;if(t!==r&&t!==i.hoverPoint)t.onMouseOver(n)};t(n.points,function(n){n.graphic&&(n.graphic.element.point=n);n.dataLabel&&(n.dataLabel.element.point=n)});n._hasTracking||(t(n.trackerGroups,function(t){if(n[t]&&(n[t].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(n){e.onTrackerMouseOut(n)}).css(o),kr))n[t].on("touchstart",f)}),n._hasTracking=!0)},drawTrackerGraph:function(){var i=this,h=i.options,e=h.trackByArea,r=[].concat(e?i.areaPath:i.graphPath),u=r.length,o=i.chart,v=o.pointer,y=o.renderer,f=o.options.tooltip.snap,c=i.tracker,s=h.cursor,p=s&&{cursor:s},s=i.singlePoints,n,l=function(){o.hoverSeries!==i&&i.onMouseOver()},a="rgba(192,192,192,"+(vt?.0001:.002)+")";if(u&&!e)for(n=u+1;n--;)r[n]==="M"&&r.splice(n+1,0,r[n+1]-f,r[n+2],"L"),(n&&r[n]==="M"||n===u)&&r.splice(n,0,"L",r[n-2]+f,r[n-1]);for(n=0;n<s.length;n++)u=s[n],r.push("M",u.plotX-f,u.plotY,"L",u.plotX+f,u.plotY);c?c.attr({d:r}):(i.tracker=y.path(r).attr({"stroke-linejoin":"round",visibility:i.visible?"visible":"hidden",stroke:a,fill:e?a:it,"stroke-width":h.lineWidth+(e?0:2*f),zIndex:2}).add(i.group),t([i.tracker,i.markerGroup],function(n){if(n.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(n){v.onTrackerMouseOut(n)}).css(p),kr)n.on("touchstart",l)}))}};k.column&&(si.prototype.drawTracker=rt.drawTrackerPoint);k.pie&&(k.pie.prototype.drawTracker=rt.drawTrackerPoint);k.scatter&&(kt.prototype.drawTracker=rt.drawTrackerPoint);e(uu.prototype,{setItemEvents:function(n,t,i,r,u){var f=this;(i?t:n.legendGroup).on("mouseover",function(){n.setState("hover");t.css(f.options.itemHoverStyle)}).on("mouseout",function(){t.css(n.visible?r:u);n.setState()}).on("click",function(t){var i=function(){n.setVisible()},t={browserEvent:t};n.firePointEvent?n.firePointEvent("legendItemClick",t,i):w(n,"legendItemClick",t,i)})},createCheckboxForItem:function(n){n.checkbox=lt("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container);d(n.checkbox,"click",function(t){w(n.series||n,"checkboxClick",{checked:t.target.checked,item:n},function(){n.select()})})}});ut.legend.itemStyle.cursor="pointer";e(a.prototype,{showResetZoom:function(){var t=this,i=ut.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,f=n.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=t.renderer.button(i.resetZoom,null,null,function(){t.zoomOut()},r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).add().align(n.position,!1,f)},zoomOut:function(){var n=this;w(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(i){var u,e=this.pointer,f=!1,r;!i||i.resetSelection?t(this.axes,function(n){u=n.zoom()}):t(i.xAxis.concat(i.yAxis),function(n){var t=n.axis,i=t.isXAxis;(e[i?"zoomX":"zoomY"]||e[i?"pinchX":"pinchY"])&&(u=t.zoom(n.min,n.max),t.displayBtn&&(f=!0))});r=this.resetZoomButton;f&&!r?this.showResetZoom():!f&&yt(r)&&(this.resetZoomButton=r.destroy());u&&this.redraw(n(this.options.chart.animation,i&&i.animation,this.pointCount<100))},pan:function(n,i){var r=this,f=r.hoverPoints,e;f&&t(f,function(n){n.setState()});t(i==="xy"?[1,0]:[1],function(t){var o=n[t?"chartX":"chartY"],i=r[t?"xAxis":"yAxis"][0],f=r[t?"mouseDownX":"mouseDownY"],s=(i.pointRange||0)/2,h=i.getExtremes(),c=i.toValue(f-o,!0)+s,s=i.toValue(f+r[t?"plotWidth":"plotHeight"]-o,!0)-s,f=f>o;i.series.length&&(f||c>l(h.dataMin,h.min))&&(!f||s<u(h.dataMax,h.max))&&(i.setExtremes(c,s,!1,!1,{trigger:"pan"}),e=!0);r[t?"mouseDownX":"mouseDownY"]=o});e&&r.redraw(!1);y(r.container,{cursor:"move"})}});e(ki.prototype,{select:function(i,r){var u=this,f=u.series,e=f.chart,i=n(i,!u.selected);u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=u.options.selected=i;f.options.data[or(u,f.data)]=u.options;u.setState(i&&"select");r||t(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=n.options.selected=!1,f.options.data[or(n,f.data)]=n.options,n.setState(""),n.firePointEvent("unselect"))})})},onMouseOver:function(n){var t=this.series,i=t.chart,r=i.tooltip,u=i.hoverPoint;i.hoverSeries!==t&&t.onMouseOver();u&&u!==this&&u.onMouseOut();this.firePointEvent("mouseOver");r&&(!r.shared||t.noSharedTooltip)&&r.refresh(this,n);this.setState("hover");i.hoverPoint=this},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;this.firePointEvent("mouseOut");t&&or(this,t)!==-1||(this.setState(),n.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var n=o(this.series.options.point,this.options).events,t;this.events=n;for(t in n)d(this,t,n[t]);this.hasImportedEvents=!0}},setState:function(n,t){var f=this.plotX,a=this.plotY,r=this.series,v=r.options.states,i=ct[r.type].marker&&r.options.marker,p=i&&!i.enabled,h=i&&i.states[n],w=h&&h.enabled===!1,u=r.stateMarkerGraphic,s=this.marker||{},c=r.chart,l=r.halo,y,n=n||"";y=this.pointAttr[n]||r.pointAttr[n];n===this.state&&!t||this.selected&&n!=="select"||v[n]&&v[n].enabled===!1||n&&(w||p&&h.enabled===!1)||n&&s.states&&s.states[n]&&s.states[n].enabled===!1||(this.graphic?(i=i&&this.graphic.symbolName&&y.r,this.graphic.attr(o(y,i?{x:f-i,y:a-i,width:2*i,height:2*i}:{})),u&&u.hide()):(n&&h&&((i=h.radius,s=s.symbol||r.symbol,u&&u.currentSymbol!==s&&(u=u.destroy()),u)?u[t?"animate":"attr"]({x:f-i,y:a-i}):s&&(r.stateMarkerGraphic=u=c.renderer.symbol(s,f-i,a-i,2*i,2*i).attr(y).add(r.markerGroup),u.currentSymbol=s)),u&&u[n&&c.isInsidePlot(f,a,c.inverted)?"show":"hide"]()),(f=v[n]&&v[n].halo)&&f.size?(l||(r.halo=l=c.renderer.path().add(c.seriesGroup)),l.attr(e({fill:ui(this.color||r.color).setOpacity(f.opacity).get()},f.attributes))[t?"animate":"attr"]({d:this.haloPath(f.size)})):l&&l.attr({d:[]}),this.state=n)},haloPath:function(n){var t=this.series,i=t.chart,r=t.getPlotBox(),u=i.inverted;return i.renderer.symbols.circle(r.translateX+(u?t.yAxis.len-this.plotY:this.plotX)-n,r.translateY+(u?t.xAxis.len-this.plotX:this.plotY)-n,n*2,n*2)}});e(b.prototype,{onMouseOver:function(){var t=this.chart,n=t.hoverSeries;n&&n!==this&&n.onMouseOut();this.options.events.mouseOver&&w(this,"mouseOver");this.setState("hover");t.hoverSeries=this},onMouseOut:function(){var i=this.options,n=this.chart,t=n.tooltip,r=n.hoverPoint;r&&r.onMouseOut();this&&i.events.mouseOut&&w(this,"mouseOut");t&&!i.stickyTracking&&(!t.shared||this.noSharedTooltip)&&t.hide();this.setState();n.hoverSeries=null},setState:function(n){var t=this.options,r=this.graph,i=t.states,u=t.lineWidth,t=0,n=n||"";if(this.state!==n&&(this.state=n,!(i[n]&&i[n].enabled===!1)&&(n&&(u=i[n].lineWidth||u+(i[n].lineWidthPlus||0)),r&&!r.dashstyle)))for(n={"stroke-width":u},r.attr(n);this["zoneGraph"+t];)this["zoneGraph"+t].attr(n),t+=1},setVisible:function(n,i){var u=this,f=u.chart,o=u.legendItem,e,s=f.options.chart.ignoreHiddenSeries,h=u.visible;e=(u.visible=n=u.userOptions.visible=n===r?!h:n)?"show":"hide";t(["group","dataLabelsGroup","markerGroup","tracker"],function(n){u[n]&&u[n][e]()});(f.hoverSeries===u||(f.hoverPoint&&f.hoverPoint.series)===u)&&u.onMouseOut();o&&f.legend.colorizeItem(u,n);u.isDirty=!0;u.options.stacking&&t(f.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});t(u.linkedSeries,function(t){t.setVisible(n,!1)});s&&(f.isDirtyBox=!0);i!==!1&&f.redraw();w(u,e)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===r?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);w(this,n?"select":"unselect")},drawTracker:rt.drawTrackerGraph});e(h,{Color:ui,Point:ki,Tick:vr,Renderer:br,SVGElement:tt,SVGRenderer:fi,arrayMin:hr,arrayMax:nr,charts:st,dateFormat:yr,error:ti,format:ur,pathAnim:ku,getOptions:function(){return ut},hasBidiBug:gf,isTouchDevice:af,setOptions:function(n){return ut=o(!0,ut,n),hf(),ut},addEvent:d,removeEvent:ht,createElement:lt,discardElement:lr,css:y,each:t,map:pr,merge:o,splat:ci,extendClass:ni,pInt:c,svg:vt,canvas:wt,vml:!vt&&!wt,product:"Highcharts",version:"4.1.5"})})(),function(n,t){function g(n,t,i){this.init.call(this,n,t,i)}var ut=n.arrayMin,ft=n.arrayMax,u=n.each,k=n.extend,e=n.merge,et=n.map,r=n.pick,v=n.pInt,f=n.getOptions().plotOptions,i=n.seriesTypes,h=n.extendClass,nt=n.splat,o=n.wrap,tt=n.Axis,w=n.Tick,d=n.Point,ot=n.Pointer,st=n.CenteredSeriesMixin,y=n.TrackerMixin,c=n.Series,l=Math,p=l.round,a=l.floor,it=l.max,ht=n.Color,s=function(){};k(g.prototype,{init:function(n,t,i){var r=this,f=r.defaultOptions;r.chart=t;t.angular&&(f.background={});r.options=n=e(f,n);(n=n.background)&&u([].concat(nt(n)).reverse(),function(n){var u=n.backgroundColor,t=i.userOptions,n=e(r.defaultBackgroundOptions,n);u&&(n.backgroundColor=u);n.color=n.backgroundColor;i.options.plotBands.unshift(n);t.plotBands=t.plotBands||[];t.plotBands.unshift(n)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"silver",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#FFF"],[1,"#DDD"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});var b=tt.prototype,w=w.prototype,ct={getOffset:s,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:s,setCategories:s,setTitle:s},rt={isRadial:!0,defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(n){n=this.options=e(this.defaultOptions,this.defaultRadialOptions,n);n.plotBands||(n.plotBands=[])},getOffset:function(){b.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center=st.getCenter.call(this.pane)},getLinePath:function(n,t){var i=this.center,t=r(t,i[2]/2-this.offset);return this.chart.renderer.symbols.arc(this.left+i[0],this.top+i[1],t,t,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})},setAxisTranslation:function(){b.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)},setAxisSize:function(){b.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=n.CenteredSeriesMixin.getCenter.call(this.pane),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*r(this.sector,1)/2)},getPosition:function(n,t){return this.postTranslate(this.isCircular?this.translate(n):0,r(this.isCircular?t:this.translate(n),this.center[2]/2)-this.offset)},postTranslate:function(n,t){var i=this.chart,r=this.center,n=this.startAngleRad+n;return{x:i.plotLeft+r[0]+Math.cos(n)*t,y:i.plotTop+r[1]+Math.sin(n)*t}},getPlotBandPath:function(n,t,i){var f=this.center,e=this.startAngleRad,h=f[2]/2,u=[r(i.outerRadius,"100%"),i.innerRadius,r(i.thickness,10)],c=/%$/,o,s=this.isCircular;return this.options.gridLineInterpolation==="polygon"?f=this.getPlotLinePath(n).concat(this.getPlotLinePath(t,!0)):(n=Math.max(n,this.min),t=Math.min(t,this.max),s||(u[0]=this.translate(n),u[1]=this.translate(t)),u=et(u,function(n){return c.test(n)&&(n=v(n,10)*h/100),n}),i.shape==="circle"||!s?(n=-Math.PI/2,t=Math.PI*1.5,o=!0):(n=e+this.translate(n),t=e+this.translate(t)),f=this.chart.renderer.symbols.arc(this.left+f[0],this.top+f[1],u[0],u[0],{start:Math.min(n,t),end:Math.max(n,t),innerR:r(u[1],u[0]-u[2]),open:o})),f},getPlotLinePath:function(n,t){var i=this,r=i.center,o=i.chart,h=i.getPosition(n),e,s,f;return i.isCircular?f=["M",r[0]+o.plotLeft,r[1]+o.plotTop,"L",h.x,h.y]:i.options.gridLineInterpolation==="circle"?(n=i.translate(n))&&(f=i.getLinePath(0,n)):(u(o.xAxis,function(n){n.pane===i.pane&&(e=n)}),f=[],n=i.translate(n),r=e.tickPositions,e.autoConnect&&(r=r.concat([r[0]])),t&&(r=[].concat(r).reverse()),u(r,function(t,i){s=e.getPosition(t,n);f.push(i?"L":"M",s.x,s.y)})),f},getTitlePosition:function(){var n=this.center,i=this.chart,t=this.options.title;return{x:i.plotLeft+n[0]+(t.x||0),y:i.plotTop+n[1]-{high:.5,middle:.25,low:0}[t.align]*n[2]+(t.y||0)}}};o(b,"init",function(n,i,u){var l,s=i.angular,a=i.polar,h=u.isX,v=s&&h,c,o,f;o=i.options;f=u.pane||0;s?(k(this,v?ct:rt),c=!h)&&(this.defaultRadialOptions=this.defaultRadialGaugeOptions):a&&(k(this,rt),this.defaultRadialOptions=(c=h)?this.defaultRadialXOptions:e(this.defaultYAxisOptions,this.defaultRadialYOptions));n.call(this,i,u);!v&&(s||a)&&(n=this.options,i.panes||(i.panes=[]),this.pane=(l=i.panes[f]=i.panes[f]||new g(nt(o.pane)[f],i,this),f=l),f=f.options,i.inverted=!1,o.chart.zoomType=null,this.startAngleRad=i=(f.startAngle-90)*Math.PI/180,this.endAngleRad=o=(r(f.endAngle,f.startAngle+360)-90)*Math.PI/180,this.offset=n.offset||0,(this.isCircular=c)&&u.max===t&&o-i==2*Math.PI&&(this.autoConnect=!0))});o(w,"getPosition",function(n,t,i,r,u){var f=this.axis;return f.getPosition?f.getPosition(i):n.call(this,t,i,r,u)});o(w,"getLabelPosition",function(n,t,i,u,f,e,o,s,h){var c=this.axis,y=e.y,l=20,v=e.align,a=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360;return c.isRadial?(n=c.getPosition(this.pos,c.center[2]/2+r(e.distance,-25)),e.rotation==="auto"?u.attr({rotation:a}):y===null&&(y=c.chart.renderer.fontMetrics(u.styles.fontSize).b-u.getBBox().height/2),v===null&&(c.isCircular?(this.label.getBBox().width>c.len*c.tickInterval/(c.max-c.min)&&(l=0),v=a>l&&a<180-l?"left":a>180+l&&a<360-l?"right":"center"):v="center",u.attr({align:v})),n.x+=e.x,n.y+=y):n=n.call(this,t,i,u,f,e,o,s,h),n});o(w,"getMarkPath",function(n,t,i,r,u,f,e){var o=this.axis;return o.isRadial?(n=o.getPosition(this.pos,o.center[2]/2+r),t=["M",t,i,"L",n.x,n.y]):t=n.call(this,t,i,r,u,f,e),t});f.arearange=e(f.area,{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●<\/span> {series.name}: <b>{point.low}<\/b> - <b>{point.high}<\/b><br/>'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}});i.arearange=h(i.area,{type:"arearange",pointArrayMap:["low","high"],toYData:function(n){return[n.low,n.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(n){var t=this.chart,i=this.xAxis.postTranslate(n.rectPlotX,this.yAxis.len-n.plotHigh);n.plotHighX=i.x-t.plotLeft;n.plotHigh=i.y-t.plotTop},getSegments:function(){var n=this;u(n.points,function(t){n.options.connectNulls||t.low!==null&&t.high!==null?t.low===null&&t.high!==null&&(t.y=t.high):t.y=null});c.prototype.getSegments.call(this)},translate:function(){var n=this,t=n.yAxis;i.area.prototype.translate.apply(n);u(n.points,function(n){var r=n.low,i=n.high,u=n.plotY;i===null&&r===null?n.y=null:r===null?(n.plotLow=n.plotY=null,n.plotHigh=t.translate(i,0,1,0,1)):i===null?(n.plotLow=u,n.plotHigh=null):(n.plotLow=u,n.plotHigh=t.translate(i,0,1,0,1))});this.chart.polar&&u(this.points,function(t){n.highToXY(t)})},getSegmentPath:function(n){var f,t=[],e=n.length,o=c.prototype.getSegmentPath,u,i,r;for(i=this.options,r=i.step,f=HighchartsAdapter.grep(n,function(n){return n.plotLow!==null});e--;)u=n[e],u.plotHigh!==null&&t.push({plotX:u.plotHighX||u.plotX,plotY:u.plotHigh});return n=o.call(this,f),r&&(r===!0&&(r="left"),i.step={left:"right",center:"center",right:"left"}[r]),t=o.call(this,t),i.step=r,i=[].concat(n,t),this.chart.polar||(t[0]="L"),this.areaPath=this.areaPath.concat(n,t),i},drawDataLabels:function(){var u=this.data,e=u.length,i,o=[],r=c.prototype,t=this.options.dataLabels,f=t.align,n,s=this.chart.inverted;if(t.enabled||this._hasPointLabels){for(i=e;i--;)(n=u[i],n.y=n.high,n._plotY=n.plotY,n.plotY=n.plotHigh,o[i]=n.dataLabel,n.dataLabel=n.dataLabelUpper,n.below=!1,s)?(f||(t.align="left"),t.x=t.xHigh):t.y=t.yHigh;for(r.drawDataLabels&&r.drawDataLabels.apply(this,arguments),i=e;i--;)(n=u[i],n.dataLabelUpper=n.dataLabel,n.dataLabel=o[i],n.y=n.low,n.plotY=n._plotY,n.below=!0,s)?(f||(t.align="right"),t.x=t.xLow):t.y=t.yLow;r.drawDataLabels&&r.drawDataLabels.apply(this,arguments)}t.align=f},alignDataLabel:function(){i.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:s,getSymbol:s,drawPoints:s});f.areasplinerange=e(f.arearange);i.areasplinerange=h(i.arearange,{type:"areasplinerange",getPointSpline:i.spline.prototype.getPointSpline}),function(){var n=i.column.prototype;f.columnrange=e(f.column,f.arearange,{lineWidth:1,pointRange:null});i.columnrange=h(i.arearange,{type:"columnrange",translate:function(){var t=this,r=t.yAxis,i;n.translate.apply(t);u(t.points,function(n){var e=n.shapeArgs,u=t.options.minPointLength,f;n.tooltipPos=null;n.plotHigh=i=r.translate(n.high,0,1,0,1);n.plotLow=n.plotY;f=i;n=n.plotY-i;n<u&&(u-=n,n+=u,f-=u/2);e.height=n;e.y=f})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:s,pointAttrToOptions:n.pointAttrToOptions,drawPoints:n.drawPoints,drawTracker:n.drawTracker,animate:n.animate,getColumnMetrics:n.getColumnMetrics})}();f.gauge=e(f.line,{dataLabels:{enabled:!0,defer:!1,y:15,borderWidth:1,borderColor:"silver",borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1});y={type:"gauge",pointClass:h(d,{setState:function(n){this.state=n}}),angular:!0,drawGraph:s,fixedBox:!0,forceDL:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var n=this.yAxis,i=this.options,t=n.center;this.generatePoints();u(this.points,function(u){var o=e(i.dial,u.dial),h=v(r(o.radius,80))*t[2]/200,l=v(r(o.baseLength,70))*h/100,a=v(r(o.rearLength,10))*h/100,c=o.baseWidth||3,y=o.topWidth||1,s=i.overshoot,f=n.startAngleRad+n.translate(u.y,null,null,null,!0);s&&typeof s=="number"?(s=s/180*Math.PI,f=Math.max(n.startAngleRad-s,Math.min(n.endAngleRad+s,f))):i.wrap===!1&&(f=Math.max(n.startAngleRad,Math.min(n.endAngleRad,f)));f=f*180/Math.PI;u.shapeType="path";u.shapeArgs={d:o.path||["M",-a,-c/2,"L",l,-c/2,h,-y/2,h,y/2,l,c/2,-a,c/2,"z"],translateX:t[0],translateY:t[1],rotation:f};u.plotX=t[0];u.plotY=t[1]})},drawPoints:function(){var n=this,t=n.yAxis.center,f=n.pivot,o=n.options,i=o.pivot,s=n.chart.renderer;u(n.points,function(t){var u=t.graphic,i=t.shapeArgs,f=i.d,r=e(o.dial,t.dial);u?(u.animate(i),i.d=f):t.graphic=s[t.shapeType](i).attr({stroke:r.borderColor||"none","stroke-width":r.borderWidth||0,fill:r.backgroundColor||"black",rotation:i.rotation}).add(n.group)});f?f.animate({translateX:t[0],translateY:t[1]}):n.pivot=s.circle(0,0,r(i.radius,5)).attr({"stroke-width":i.borderWidth||0,stroke:i.borderColor||"silver",fill:i.backgroundColor||"black"}).translate(t[0],t[1]).add(n.group)},animate:function(n){var t=this;n||(u(t.points,function(n){var i=n.graphic;i&&(i.attr({rotation:t.yAxis.startAngleRad*180/Math.PI}),i.animate({rotation:n.shapeArgs.rotation},t.options.animation))}),t.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);c.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(n,t){c.prototype.setData.call(this,n,!1);this.processData();this.generatePoints();r(t,!0)&&this.chart.redraw()},drawTracker:y&&y.drawTrackerPoint};i.gauge=h(i.line,y);f.boxplot=e(f.column,{fillColor:"#FFFFFF",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">●<\/span> <b> {series.name}<\/b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",whiskerWidth:2});i.boxplot=h(i.column,{type:"boxplot",pointArrayMap:["low","q1","median","q3","high"],toYData:function(n){return[n.low,n.q1,n.median,n.q3,n.high]},pointValKey:"high",pointAttrToOptions:{fill:"fillColor",stroke:"color","stroke-width":"lineWidth"},drawDataLabels:s,translate:function(){var n=this.yAxis,t=this.pointArrayMap;i.column.prototype.translate.apply(this);u(this.points,function(i){u(t,function(t){i[t]!==null&&(i[t+"Plot"]=n.translate(i[t],0,1,0,1))})})},drawPoints:function(){var o=this,lt=o.points,f=o.options,w=o.chart.renderer,rt,l,s,b,k,ut,n,i,h,ft,v,et,ot,d,st,g,ht,e,nt,y,ct,it,tt=o.doQuartiles!==!1,c=parseInt(o.options.whiskerLength,10)/100;u(lt,function(u){h=u.graphic;ct=u.shapeArgs;v={};d={};g={};it=u.color||o.color;u.plotY!==t&&((rt=u.pointAttr[u.selected?"selected":""],ht=ct.width,e=a(ct.x),nt=e+ht,y=p(ht/2),l=a(tt?u.q1Plot:u.lowPlot),s=a(tt?u.q3Plot:u.lowPlot),b=a(u.highPlot),k=a(u.lowPlot),v.stroke=u.stemColor||f.stemColor||it,v["stroke-width"]=r(u.stemWidth,f.stemWidth,f.lineWidth),v.dashstyle=u.stemDashStyle||f.stemDashStyle,d.stroke=u.whiskerColor||f.whiskerColor||it,d["stroke-width"]=r(u.whiskerWidth,f.whiskerWidth,f.lineWidth),g.stroke=u.medianColor||f.medianColor||it,g["stroke-width"]=r(u.medianWidth,f.medianWidth,f.lineWidth),n=v["stroke-width"]%2/2,i=e+y+n,ft=["M",i,s,"L",i,b,"M",i,l,"L",i,k],tt&&(n=rt["stroke-width"]%2/2,i=a(i)+n,l=a(l)+n,s=a(s)+n,e+=n,nt+=n,et=["M",e,s,"L",e,l,"L",nt,l,"L",nt,s,"L",e,s,"z"]),c&&(n=d["stroke-width"]%2/2,b+=n,k+=n,ot=["M",i-y*c,b,"L",i+y*c,b,"M",i-y*c,k,"L",i+y*c,k]),n=g["stroke-width"]%2/2,ut=p(u.medianPlot)+n,st=["M",e,ut,"L",nt,ut],h)?(u.stem.animate({d:ft}),c&&u.whiskers.animate({d:ot}),tt&&u.box.animate({d:et}),u.medianShape.animate({d:st})):(u.graphic=h=w.g().add(o.group),u.stem=w.path(ft).attr(v).add(h),c&&(u.whiskers=w.path(ot).attr(d).add(h)),tt&&(u.box=w.path(et).attr(rt).add(h)),u.medianShape=w.path(st).attr(g).add(h)))})},setStackedPoints:s});f.errorbar=e(f.boxplot,{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">●<\/span> {series.name}: <b>{point.low}<\/b> - <b>{point.high}<\/b><br/>'},whiskerWidth:null});i.errorbar=h(i.boxplot,{type:"errorbar",pointArrayMap:["low","high"],toYData:function(n){return[n.low,n.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:i.arearange?i.arearange.prototype.drawDataLabels:s,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||i.column.prototype.getColumnMetrics.call(this)}});f.waterfall=e(f.column,{lineWidth:1,lineColor:"#333",dashStyle:"dot",borderColor:"#333",dataLabels:{inside:!0},states:{hover:{lineWidthPlus:0}}});i.waterfall=h(i.column,{type:"waterfall",upColorProp:"fill",pointValKey:"y",translate:function(){var s=this.options,r=this.yAxis,e,l,t,n,h,u,f,c,o,a=s.threshold,v=s.stacking;for(i.column.prototype.translate.apply(this),f=c=a,l=this.points,e=0,s=l.length;e<s;e++)t=l[e],u=this.processedYData[e],n=t.shapeArgs,o=(h=v&&r.stacks[(this.negStacks&&u<a?"-":"")+this.stackKey])?h[t.x].points[this.index+","+e]:[0,u],t.isSum?t.y=u:t.isIntermediateSum&&(t.y=u-c),h=it(f,f+t.y)+o[0],n.y=r.translate(h,0,1),t.isSum?(n.y=r.translate(o[1],0,1),n.height=r.translate(o[0],0,1)-n.y):t.isIntermediateSum?(n.y=r.translate(o[1],0,1),n.height=r.translate(c,0,1)-n.y,c=o[1]):(f!==0&&(n.height=u>0?r.translate(f,0,1)-n.y:r.translate(f,0,1)-r.translate(f-u,0,1)),f+=u),n.height<0&&(n.y+=n.height,n.height*=-1),t.plotY=n.y=p(n.y)-this.borderWidth%2/2,n.height=it(p(n.height),.001),t.yBottom=n.y+n.height,n=t.plotY+(t.negative?n.height:0),this.chart.inverted?t.tooltipPos[0]=r.len-n:t.tooltipPos[1]=n},processData:function(n){for(var u=this.yData,o=this.options.data,s,l=u.length,h,f,e,r,i=h=f=e=this.options.threshold||0,t=0;t<l;t++)r=u[t],s=o&&o[t]?o[t]:{},r==="sum"||s.isSum?u[t]=i:r==="intermediateSum"||s.isIntermediateSum?u[t]=h:(i+=r,h+=r),f=Math.min(i,f),e=Math.max(i,e);c.prototype.processData.call(this,n);this.dataMin=f;this.dataMax=e},toYData:function(n){return n.isSum?n.x===0?null:"sum":n.isIntermediateSum?n.x===0?null:"intermediateSum":n.y},getAttribs:function(){i.column.prototype.getAttribs.apply(this,arguments);var t=this,o=t.options,h=o.states,r=o.upColor||t.color,o=n.Color(r).brighten(.1).get(),f=e(t.pointAttr),s=t.upColorProp;f[""][s]=r;f.hover[s]=h.hover.upColor||o;f.select[s]=h.select.upColor||r;u(t.points,function(n){n.options.color||(n.y>0?(n.pointAttr=f,n.color=r):n.pointAttr=t.pointAttr)})},getGraphPath:function(){for(var r=this.data,e=r.length,f=p(this.options.lineWidth+this.borderWidth)%2/2,u=[],n,t,i=1;i<e;i++)t=r[i].shapeArgs,n=r[i-1].shapeArgs,t=["M",n.x+n.width,n.y+f,"L",t.x,n.y+f],r[i-1].y<0&&(t[2]+=n.height,t[5]+=n.height),u=u.concat(t);return u},getExtremes:s,drawGraph:c.prototype.drawGraph});f.polygon=e(f.scatter,{marker:{enabled:!1}});i.polygon=h(i.scatter,{type:"polygon",fillGraph:!0,getSegmentPath:function(n){return c.prototype.getSegmentPath.call(this,n).concat("z")},drawGraph:c.prototype.drawGraph,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle});f.bubble=e(f.scatter,{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{lineColor:null,lineWidth:1},minSize:8,maxSize:"20%",states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"});y=h(d,{haloPath:function(){return d.prototype.haloPath.call(this,this.shapeArgs.r+this.series.options.states.hover.halo.size)},ttBelow:!1});i.bubble=h(i.scatter,{type:"bubble",pointClass:y,pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor"},applyOpacity:function(n){var t=this.options.marker,i=r(t.fillOpacity,.5),n=n||t.fillColor||this.color;return i!==1&&(n=ht(n).setOpacity(i).get("rgba")),n},convertAttribs:function(){var n=c.prototype.convertAttribs.apply(this,arguments);return n.fill=this.applyOpacity(n.fill),n},getRadii:function(n,t,i,r){for(var u,o=this.zData,s=[],h=this.options.sizeBy!=="width",f=0,e=o.length;f<e;f++)u=t-n,u=u>0?(o[f]-n)/(t-n):.5,h&&u>=0&&(u=Math.sqrt(u)),s.push(l.ceil(i+u*(r-i))/2);this.radii=s},animate:function(n){var t=this.options.animation;n||(u(this.points,function(n){var i=n.graphic,n=n.shapeArgs;i&&n&&(i.attr("r",1),i.animate({r:n.r},t))}),this.animate=null)},translate:function(){var u,f=this.data,n,r,e=this.radii;for(i.scatter.prototype.translate.call(this),u=f.length;u--;)n=f[u],r=e?e[u]:0,r>=this.minPxSize/2?(n.shapeType="circle",n.shapeArgs={x:n.plotX,y:n.plotY,r:r},n.dlBox={x:n.plotX-r,y:n.plotY-r,width:2*r,height:2*r}):n.shapeArgs=n.plotY=n.dlBox=t},drawLegendSymbol:function(n,t){var i=v(n.itemStyle.fontSize)/2;t.legendSymbol=this.chart.renderer.circle(i,n.baseline-i,i).attr({zIndex:3}).add(t.legendGroup);t.legendSymbol.isMarker=!0},drawPoints:i.column.prototype.drawPoints,alignDataLabel:i.column.prototype.alignDataLabel,buildKDTree:s,applyZones:s});tt.prototype.beforePadding=function(){var b=this,n=this.len,s=this.chart,e=0,i=n,h=this.isXAxis,k=h?"xData":"yData",c=this.min,o={},d=l.min(s.plotWidth,s.plotHeight),a=Number.MAX_VALUE,y=-Number.MAX_VALUE,p=this.max-c,f=n/p,w=[];u(this.series,function(n){var t=n.options;n.bubblePadding&&(n.visible||!s.options.chart.ignoreHiddenSeries)&&(b.allowZoomOutside=!0,w.push(n),h)&&(u(["minSize","maxSize"],function(n){var i=t[n],r=/%$/.test(i),i=v(i);o[n]=r?d*i/100:i}),n.minPxSize=o.minSize,n=n.zData,n.length&&(a=r(t.zMin,l.min(a,l.max(ut(n),t.displayNegative===!1?t.zThreshold:-Number.MAX_VALUE))),y=r(t.zMax,l.max(y,ft(n)))))});u(w,function(n){var r=n[k],t=r.length,u;if(h&&n.getRadii(a,y,o.minSize,o.maxSize),p>0)for(;t--;)typeof r[t]=="number"&&(u=n.radii[t],e=Math.min((r[t]-c)*f-u,e),i=Math.max((r[t]-c)*f+u,i))});w.length&&p>0&&r(this.options.min,this.userMin)===t&&r(this.options.max,this.userMax)===t&&(i-=n,f*=(n+e-i)/n,this.min+=e/f,this.max+=i/f)},function(){function f(n,t,i){n.call(this,t,i);this.chart.polar&&(this.closeSegment=function(n){var t=this.xAxis.center;n.push("L",t[0],t[1])},this.closedStacks=!0)}function e(n,t){var i=this.chart,r=this.options.animation,f=this.group,u=this.markerGroup,e=this.xAxis.center,o=i.plotLeft,s=i.plotTop;i.polar?i.renderer.isSVG&&(r===!0&&(r={}),t?(i={translateX:e[0]+o,translateY:e[1]+s,scaleX:.001,scaleY:.001},f.attr(i),u&&u.attr(i)):(i={translateX:o,translateY:s,scaleX:1,scaleY:1},f.animate(i,r),u&&u.animate(i,r),this.animate=null)):n.call(this,t)}var n=c.prototype,s=ot.prototype,t;n.searchPointByAngle=function(n){var t=this.chart,i=this.xAxis.pane.center;return this.searchKDTree({clientX:180+Math.atan2(n.chartX-i[0]-t.plotLeft,n.chartY-i[1]-t.plotTop)*(-180/Math.PI)})};o(n,"buildKDTree",function(n){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:(this.kdDimensions=2,this.kdComparer="distR"));n.apply(this)});n.toXY=function(n){var t,i=this.chart,r=n.plotX;t=n.plotY;n.rectPlotX=r;n.rectPlotY=t;t=this.xAxis.postTranslate(n.plotX,this.yAxis.len-t);n.plotX=n.polarPlotX=t.x-i.plotLeft;n.plotY=n.polarPlotY=t.y-i.plotTop;this.kdByAngle?(i=(r/Math.PI*180+this.xAxis.pane.options.startAngle)%360,i<0&&(i+=360),n.clientX=i):n.clientX=n.plotX};i.area&&o(i.area.prototype,"init",f);i.areaspline&&o(i.areaspline.prototype,"init",f);i.spline&&o(i.spline.prototype,"getPointSpline",function(n,t,i,r){var u,f,o,s,h,c,e;return this.chart.polar?(u=i.plotX,f=i.plotY,n=t[r-1],o=t[r+1],this.connectEnds&&(n||(n=t[t.length-2]),o||(o=t[1])),n&&o&&(s=n.plotX,h=n.plotY,t=o.plotX,c=o.plotY,s=(1.5*u+s)/2.5,h=(1.5*f+h)/2.5,o=(1.5*u+t)/2.5,e=(1.5*f+c)/2.5,t=Math.sqrt(Math.pow(s-u,2)+Math.pow(h-f,2)),c=Math.sqrt(Math.pow(o-u,2)+Math.pow(e-f,2)),s=Math.atan2(h-f,s-u),h=Math.atan2(e-f,o-u),e=Math.PI/2+(s+h)/2,Math.abs(s-e)>Math.PI/2&&(e-=Math.PI),s=u+Math.cos(e)*t,h=f+Math.sin(e)*t,o=u+Math.cos(Math.PI+e)*c,e=f+Math.sin(Math.PI+e)*c,i.rightContX=o,i.rightContY=e),r?(i=["C",n.rightContX||n.plotX,n.rightContY||n.plotY,s||u,h||f,u,f],n.rightContX=n.rightContY=null):i=["M",u,f]):i=n.call(this,t,i,r),i});o(n,"translate",function(n){var t=this.chart;if(n.call(this),t.polar&&(this.kdByAngle=t.tooltip.shared,!this.preventPostTranslate))for(n=this.points,t=n.length;t--;)this.toXY(n[t])});o(n,"getSegmentPath",function(n,t){var i=this.points;return this.chart.polar&&this.options.connectEnds!==!1&&t[t.length-1]===i[i.length-1]&&i[0].y!==null&&(this.connectEnds=!0,t=[].concat(t,[i[0]])),n.call(this,t)});o(n,"animate",e);i.column&&(t=i.column.prototype,o(t,"animate",e),o(t,"translate",function(n){var i=this.xAxis,u=this.yAxis.len,f=i.center,o=i.startAngleRad,s=this.chart.renderer,t,e;if(this.preventPostTranslate=!0,n.call(this),i.isRadial)for(i=this.points,e=i.length;e--;)t=i[e],n=t.barX+o,t.shapeType="path",t.shapeArgs={d:s.symbols.arc(f[0],f[1],u-t.plotY,null,{start:n,end:n+t.pointWidth,innerR:u-r(t.yBottom,u)})},this.toXY(t),t.tooltipPos=[t.plotX,t.plotY],t.ttBelow=t.plotY>f[1]}),o(t,"alignDataLabel",function(t,i,r,u,f,e){this.chart.polar?(t=i.rectPlotX/Math.PI*180,u.align===null&&(u.align=t>20&&t<160?"left":t>200&&t<340?"right":"center"),u.verticalAlign===null&&(u.verticalAlign=t<45||t>315?"bottom":t>135&&t<225?"top":"middle"),n.alignDataLabel.call(this,i,r,u,f,e)):t.call(this,i,r,u,f,e)}));o(s,"getCoordinates",function(n,t){var i=this.chart,r={xAxis:[],yAxis:[]};return i.polar?u(i.axes,function(n){var f=n.isXAxis,u=n.center,e=t.chartX-u[0]-i.plotLeft,u=t.chartY-u[1]-i.plotTop;r[f?"xAxis":"yAxis"].push({axis:n,value:n.translate(f?Math.PI-Math.atan2(e,u):Math.sqrt(Math.pow(e,2)+Math.pow(u,2)),!0)})}):r=n.call(this,t),r})}()}(Highcharts);Loop=window.Loop||{};Loop.viewModels=Loop.viewModels||{};Loop.viewModels.Brick=function(n){function y(n){Array.isArray(n)?n.length===0?t(Loop.Enum.BrickDataStatus.LoadedWithoutContent):t(Loop.Enum.BrickDataStatus.LoadedWithContent):n?t(Loop.Enum.BrickDataStatus.LoadedWithContent):t(Loop.Enum.BrickDataStatus.LoadedWithoutContent)}function p(n,r,u,f,e){return e=e!==undefined?e:!0,i(""),v.loadStatus={url:n.url(),callback:r},Loop.Core.Ajax.loadData({endpoint:n,successCallback:function(n){typeof r=="function"&&r(n)},errorCallback:function(n,r){e&&t(Loop.Enum.BrickDataStatus.LoadedWithErrors);i(r);typeof u=="function"&&u(n,r)},preventModalOnError:!1,timeout:f,withCredentials:n?n.withCredentials:!1})}function w(n,i,r,u){Loop.Core.Ajax.deleteData({endpoint:n,inputData:i,successCallback:function(n){typeof r=="function"&&r(n)},errorCallback:function(n,i){typeof u=="function"&&(t(Loop.Enum.BrickDataStatus.LoadedWithErrors),u(n,i))},withCredentials:n?n.withCredentials:!1})}function b(n,r,u,f,e){Loop.Core.Ajax.createData({endpoint:n,inputData:r,successCallback:function(n){typeof u=="function"&&u(n)},errorCallback:function(n,r){t(Loop.Enum.BrickDataStatus.LoadedWithErrors);e!==!0&&i(r);typeof f=="function"&&f(n,r)},withCredentials:n?n.withCredentials:!1})}function k(n,r,u,f,e){Loop.Core.Ajax.updateData({endpoint:n,inputData:r,successCallback:function(n){typeof u=="function"&&u(n)},errorCallback:function(n,r){t(Loop.Enum.BrickDataStatus.LoadedWithErrors);e!==!0&&i(r);typeof f=="function"&&f(n,r)},withCredentials:n?n.withCredentials:!1})}var t=ko.observable(Loop.Enum.BrickDataStatus.NotInitialized),f=ko.observable(Loop.Enum.BrickDataStatus.NotInitialized),e=ko.observable(Loop.Enum.BrickDataStatus.NotInitialized),u=Loop.Configuration.profile.ProfileUserId,o=Loop.Configuration.LoggedUserId,r=ko.observable(!1),i=ko.observable(),s=ko.observable(!1),h=ko.observable(!1),c=ko.observable(),l=ko.observable(!1),a=ko.observable(!0),v=this;return n=n||"brick-generic",t.subscribe(function(n){f(n)},this,"beforeChange"),u===o&&u!==undefined&&r(!0),{updateStatusByContent:y,loadData:p,updateData:k,createData:b,deleteData:w,userID:u,ownProfile:r,status:t,previousStatus:f,isDataLoaded:ko.computed(function(){return!(t()===Loop.Enum.BrickDataStatus.NotInitialized||t()===Loop.Enum.BrickDataStatus.Loading)},this),hasContent:ko.computed(function(){return t()===Loop.Enum.BrickDataStatus.LoadedWithContent},this),noContent:ko.computed(function(){return t()===Loop.Enum.BrickDataStatus.LoadedWithoutContent},this),noContentOwnProfile:ko.computed(function(){return t()===Loop.Enum.BrickDataStatus.LoadedWithoutContent&&r()},this),noContentOtherProfile:ko.computed(function(){return t()===Loop.Enum.BrickDataStatus.LoadedWithoutContent&&!r()},this),errorMessage:i,isVisible:s,isDisabled:h,bodyTemplate:c,showNoContentOtherProfile:!0,showErrorMessages:!0,isInSideBar:l,disableOnEdit:a,elementId:n,dataTestId:n,brickLoadedCallback:undefined,brickVisibleStatus:e,allowEmptyCase:!0}};Loop=window.Loop||{};Loop.viewModels=Loop.viewModels||{};Loop.viewModels.BrickConfig=function(n){var t=this;return t.viewModel=n.viewModel,t.alternative=n.alternative,t.templateId=n.templateId,t.templateName=n.templateName,t.sizes=n.sizes,t.id=n.id||"",t.dataTestId=n.dataTestId,t.initParams=n.initParams,t.hideDOM=n.hideDOM||!1,t.initCalled=!1,n.dataTestId||(t.dataTestId=t.templateId),t.templateId=t.templateId+"_"+Math.floor((Math.random()+1)*1e4),t};Loop=window.Loop||{};Loop.viewModels=Loop.viewModels||{};Loop.viewModels.BrickDispatcher=function(){function u(n){var t=null;if(n.rowsLayout&&n.columnsLayout){t=new Error("rowsLayout and columnsLayout cannot be present together to be able to render bricks");t.name="brickDispatcherError:mixedLayouts";throw t;}if(!n.rowsLayout&&!n.columnsLayout){t=new Error("rowsLayout or columnsLayout must be present to be able to render bricks");t.name="brickDispatcherError:layoutNotPresent";throw t;}}function r(n){var t=[];return n.xs&&t.push("col-xs-"+n.xs),n.sm&&t.push("col-sm-"+n.sm),n.md&&t.push("col-md-"+n.md),n.lg&&t.push("col-lg-"+n.lg),t.join(" ").trim()}function f(n){var t="#back-burner > #"+n.templateId;return n.hideDOM&&$(t).length>0}function e(n,t,i){var u="",f=[],e="";n.sizes&&f.push(r(n.sizes));f.length>0&&(e="class='"+f.join(" ")+"'");u="<div "+e+' id="'+n.templateId+'" data-bind="template: { name: \''+n.templateName+"', data: viewModel";t&&n.viewModel.reloadAfterRender?u=u+", afterRender:function(element,data){data.reloadAfterRender(element,data)}":!t&&n.viewModel.afterRender&&(u=u+", afterRender:function(element,data){data.afterRender(element,data)}");u=u+' }" data-test-id="'+n.dataTestId+'"><\/div>';$("#"+i).append(u)}function t(n,i,r){var u,o,s=!1;n.viewModel.templateId=n.templateId;s=f(n);n.dispatcherAlreadyLoaded||(n.dispatcherAlreadyLoaded=!1);s?$("#"+n.templateId).appendTo("#"+r):e(n,n.dispatcherAlreadyLoaded,r);n.alternative&&(t(n.alternative,!1,r),n.viewModel.brick.statusSubscription||(n.viewModel.brick.statusSubscription=n.viewModel.brick.status.subscribe(function(t){t===Loop.Enum.BrickDataStatus.NotAvailable&&(n.alternative.viewModel.init(n.alternative.initParams),n.alternative.initCalled=!0)})));u=n.viewModel.brick.status();o=n.viewModel.brick.previousStatus();u!==Loop.Enum.BrickDataStatus.NotAvailable&&o!==Loop.Enum.BrickDataStatus.RunningInBackground&&(u===Loop.Enum.BrickDataStatus.Hidden?(n.viewModel.reload&&n.viewModel.reload(n.initParams),n.viewModel.brick.status(o)):u===Loop.Enum.BrickDataStatus.ReadyToReload?n.viewModel.reload&&n.viewModel.reload(n.initParams):u!==Loop.Enum.BrickDataStatus.RunningInBackground&&(n.initCalled||(n.viewModel.init(n.initParams),n.initCalled=!0)));s?n.dispatcherAlreadyLoaded&&n.viewModel.reloadAfterRender&&n.viewModel.reloadAfterRender():ko.applyBindings(n,document.getElementById(n.templateId));n.dispatcherAlreadyLoaded=!0}function i(n){n.viewModel.brick.status()!==Loop.Enum.BrickDataStatus.NotAvailable&&n.viewModel.brick.status()!==Loop.Enum.BrickDataStatus.NotInitialized&&n.viewModel.brick.status(Loop.Enum.BrickDataStatus.Hidden);n.hideDOM?$("#"+n.templateId).appendTo("#back-burner"):$("#"+n.templateId).remove();n.alternative&&i(n.alternative);n.viewModel.onHideBrick&&n.viewModel.onHideBrick()}var n=this;n.loadConfiguration=function(t){n.bricksConfig=t};n.loadAllBricks=function(){$("#tab-pane").html("");n.bricksConfig.forEach(function(n,i){if(u(n),n.columnsLayout){var f="divPlaceHolderRowColumn_"+i;$("#tab-pane").append("<div class='row' id='"+f+"'><\/div>");n.columnsLayout.forEach(function(n,u){var e="divPlaceHolderColumn_"+i+"_"+u,o=r(n.columnSizes);$("#"+f).append("<div id='"+e+"' class='"+o+"'><\/div>");n.bricks.forEach(function(n){t(n,!0,e)})})}else n.rowsLayout&&n.rowsLayout.forEach(function(n,r){var u="divPlaceHolderRow_"+i+"_"+r;$("#tab-pane").append("<div id='"+u+"' class='row'><\/div>");n.bricks.forEach(function(n){if(n.sizes)t(n,!0,u);else throw"[brickDispatcher] brick config must include sizes object to be rendered in a row layout";})})});n.alreadyLoaded=!0};n.hideAllBricks=function(){n.bricksConfig.forEach(function(n){n.columnsLayout?n.columnsLayout.forEach(function(n){n.bricks.forEach(function(n){i(n)})}):n.rowsLayout&&n.rowsLayout.forEach(function(n){n.bricks.forEach(function(n){i(n)})})})};n.alreadyLoaded=!1};Loop=window.Loop||{};Loop.Models=Loop.Models||{};Loop.Models.PeriodDate=function(n,t){function r(){i.date="";i.month="";i.year=""}var i=this;i.date=null;i.month=null;i.year=null;i.format=t;i.setDate=function(n){if(i.isValidDate(n))if(i.format!==Loop.Helpers.PeriodDateHelper.Empty){r();var t=new Date(Date.parse(n));i.format===Loop.Helpers.PeriodDateHelper.DateMonthYear?(i.date=t.getDate(),i.month=t.getMonth()+1,i.year=t.getFullYear()):i.format===Loop.Helpers.PeriodDateHelper.MonthYear?(i.month=t.getMonth()+1,i.year=t.getFullYear()):i.format===Loop.Helpers.PeriodDateHelper.Year&&(i.year=t.getFullYear())}else r();else i.format=Loop.Helpers.PeriodDateHelper.Empty,r()};i.isValidDate=function(n){var t=!1;return isNaN(Date.parse(n))||(t=new Date(n).getFullYear()!==1),t};i.getPeriodDateAsString=function(){var n=Loop.Helpers.PeriodDateHelper.GetAsPeriod(i.date,i.month,i.year);return moment(n.Date).format("YYYY/MM/DD")};r();i.setDate(n)};Loop=window.Loop||{};Loop.viewControls=Loop.viewControls||{};Loop.viewControls.EditForm=function(n,t,i,r,u,f){function y(n){e.dataBackup=jQuery.extend(!0,{},ko.toJS(n))}function p(n,t){o=t;e.dataItem=n;e.dataIndex=parseInt(o.attr("data-index"),10);e.divID=e.getEditItemDivID();var i=$('<div id="'+e.divID+'">'+l+"<\/div>");i.appendTo(t);typeof u=="function"&&u();e.dataItem&&e.dataItem.isEditing(!1);ko.applyBindings(e,$("#"+e.divID)[0]);e.dataItem&&e.dataItem.isEditing(!0)}function w(){return e.dataItem.IsNew?$("#"+v).attr("id"):o.attr("id")}function a(){o=null;e.dataItem=null;e.dataBackup=null;e.dataIndex=-1;e.resetButtons();s=null;c=null}var e=this,l=null,o=null,v=null,s=null,c=null,h=null;e.dataBackup=null;e.divID=null;n&&(l=$("#"+n).html());e.setDataItem=function(n,t,i){n&&t&&(Loop.Common.DeactivateAllIcons(t.attr("id"),n),y(n),p(n,t));h=i};e.saveItem=function(n,i){h=null;s=$(i.target);s.prop("disabled",!0);typeof t=="function"&&t(n.dataItem,n.dataIndex)};e.cancelEdition=function(){h=null;typeof i=="function"&&i(e.dataBackup,e.dataIndex);e.disposeForm()};e.disposeForm=function(){var n;typeof r=="function"&&r();Loop.Common.ActivateAllIcons();o&&(n=w());a()};e.getEditItemDivID=function(){return o?o.attr("id")+"_EM":null};e.deleteItem=function(n,t){h=null;c=$(t.target);c.prop("disabled",!0);typeof f=="function"&&f(n.dataItem,n.dataIndex)};e.resetButtons=function(n,t){n=n||!1;s&&(s.text("Save"),n&&s.removeAttr("disabled"));c&&n&&c.removeAttr("disabled");t&&(h=t)};e.trackingData=function(){return{actionReferral:h}};a()};Loop=window.Loop||{};Loop.Helpers=Loop.Helpers||{};Loop.Helpers.PeriodDateHelper=function(){};Loop.Helpers.PeriodDateHelper.DateMonthYear=0;Loop.Helpers.PeriodDateHelper.MonthYear=1;Loop.Helpers.PeriodDateHelper.Year=2;Loop.Helpers.PeriodDateHelper.Empty=3;Loop.Helpers.PeriodDateHelper.FormatDate=function(n,t){var i;switch(t){case Loop.Helpers.PeriodDateHelper.Empty:i="";break;case Loop.Helpers.PeriodDateHelper.DateMonthYear:i=moment(n).format("D MMM YYYY");break;case Loop.Helpers.PeriodDateHelper.MonthYear:i=moment(n).format("MMM YYYY");break;case Loop.Helpers.PeriodDateHelper.Year:i=moment(n).format("YYYY");break;default:i=moment(n).format("MMM YYYY")}return i};Loop.Helpers.PeriodDateHelper.isValidNumber=function(n){return!isNaN(n)&&n!==null&&n!==undefined&&n!==""};Loop.Helpers.PeriodDateHelper.GetAsPeriod=function(n,t,i){var u=Loop.Helpers.PeriodDateHelper.isValidNumber(n),f=Loop.Helpers.PeriodDateHelper.isValidNumber(t),e=Loop.Helpers.PeriodDateHelper.isValidNumber(i),r=Loop.Helpers.PeriodDateHelper.DateMonthYear;if(u||(n=1),f||(t=1),!e)throw new Error("Invalid year");if(moment(n+"-"+t+"-"+i,"DD-MM-YYYY").isValid())return u||(r=Loop.Helpers.PeriodDateHelper.MonthYear),f||(r=Loop.Helpers.PeriodDateHelper.Year),{Date:new Date(Date.parse(i+"/"+t+"/"+n)),Format:r};r=Loop.Helpers.PeriodDateHelper.Empty;throw new Error('Invalid inputs to create a date object. Inputs: "'+n+"-"+t+"-"+i+'"');};Loop.Helpers.PeriodDateHelper.IsValidYear=function(n){var t=!1;return Loop.Helpers.PeriodDateHelper.isValidNumber(n)&&(t=!0),t};Loop=window.Loop||{};Loop.Helpers=Loop.Helpers||{};Loop.Helpers.SelectDate=function(n){function i(){var n=Loop.Helpers.PeriodDateHelper.Empty;t.Year()>0&&(n=t.Month()>0?t.Day()>0?Loop.Helpers.PeriodDateHelper.DateMonthYear:Loop.Helpers.PeriodDateHelper.MonthYear:Loop.Helpers.PeriodDateHelper.Year);t.Format(n)}function r(){var n=t.Day()!==undefined?t.Day():1,i=t.Month()!==undefined?t.Month()-1:0,r=t.Year()!==undefined?t.Year():1970;isNaN(n)&&(n=undefined);t.Date(new Date(r,i,n));t.Month()===undefined||t.Date().getMonth()===undefined||isNaN(t.Date().getMonth())||t.Date().getMonth()===t.Month()-1||t.Day(undefined)}function u(n){if(n!==undefined){t.Date(new Date(n.Date));switch(n.Format){case Loop.Helpers.PeriodDateHelper.Year:t.Year(t.Date().getFullYear());break;case Loop.Helpers.PeriodDateHelper.MonthYear:t.Month(t.Date().getMonth()+1);t.Year(t.Date().getFullYear());break;case Loop.Helpers.PeriodDateHelper.DateMonthYear:t.Day(t.Date().getDate());t.Month(t.Date().getMonth()+1);t.Year(t.Date().getFullYear())}t.Format(n.Format);t.updateDate()}else t.Format(Loop.Helpers.PeriodDateHelper.Empty),t.updateDate()}function f(){var r=t.dateErrorCode().errorCode,n=0,i=!1;return t.Date()>new Date?n=Loop.Enum.SelectDateErrors.DateInFuture:t.Day()===undefined&&t.Month()===undefined&&t.Year()===undefined?n=0:t.Day()!==undefined&&t.Month()===undefined&&t.Year()!==undefined?n=Loop.Enum.SelectDateErrors.MonthNotSet:t.Day()===undefined&&isNaN(t.Day())||t.Month()!==undefined||t.Year()!==undefined?t.Day()===undefined&&t.Month()!==undefined&&t.Year()===undefined?n=Loop.Enum.SelectDateErrors.SetYear:t.Day()!==undefined&&t.Month()!==undefined&&t.Year()===undefined&&(n=Loop.Enum.SelectDateErrors.SetYear):n=Loop.Enum.SelectDateErrors.SetMonthAndYear,r!==n.errorCode&&(t.dateErrorCode(n),t.dateErrorCode.valueHasMutated()),t.dateErrorCode()===0&&(i=!0),i}var t=this;t.Date=ko.observable();t.Day=ko.observable();t.Month=ko.observable();t.Year=ko.observable();t.Format=ko.observable();t.updateDate=function(){t.getDays();i();r();f()};t.getDays=function(){var r=t.Day(),i=new Date(t.Year(),t.Month(),0).getDate(),n,u=[];if(isNaN(i))for(n=1;n<=31;n+=1)u.push(n);else for(n=1;n<=i;n+=1)u.push(n);return r===undefined?t.Day(undefined):r<=i||isNaN(i)?t.Day(r):t.Day(i),u};t.getMonths=function(){for(var t=[],n=1;n<13;n+=1)t.push(n);return t};t.getYears=function(){for(var t=[],n=(new Date).getFullYear();n>(new Date).getFullYear()-100;n=n-1)t.push(n);return t};t.getDayName=function(n){return n.length<2&&(n="0"+n),n};t.getMonthName=function(n){return["January","February","March","April","May","June","July","August","September","October","November","December"][n-1]};t.dateErrorCode=ko.observable("");u(n)};Loop=window.Loop||{};Loop.helpers=Loop.helpers||{};Loop.helpers.UserProfileViewModelHelper=function(){return{getLocation:function(n,t){return t===undefined||t.trim()===""?n!==undefined&&n.trim()!==""?n:"":[t,n].join(", ")},getFullName:function(n,t,i){return n===undefined&&(n=""),t===undefined&&(t=""),i===undefined&&(i=""),[n,t,i].join(" ")}}}();Loop=Loop||{};Loop.Helpers=Loop.Helpers||{};Loop.Helpers.SanitizePublications=function(n,t){function r(n,t){n.formattedPublicationDate=moment(t).format("DD MMM YYYY");n.formattedPublicationDate==="Invalid date"&&(n.formattedPublicationDate="")}function i(n,t,i){return typeof t=="object"?t[i]:n}$.each(n,function(n,u){u.Title||(u.Title="");u.Authors===undefined&&(u.Authors=[]);u.AuthorList=new Loop.Core.Authors.AuthorList({authorList:u.Authors,enableLinks:typeof t=="boolean"?t:!0,extendDataOnDialog:!1});u.JournalId=i(u.JournalId,u.Journal,"JournalId");u.JournalShortName=i(u.JournalShortName,u.Journal,"JournalShortName");u.Source=i(u.Source,u.Journal,"Source");u.TotalViews=i(u.TotalViews,u.Impact,"TotalViews");u.JournalShortName===undefined&&(u.JournalShortName="");u.Source===undefined&&(u.Source="",u.Journal&&u.Journal.Name&&(u.Source=u.Journal.Name));u.DisplayPublicationSource=u.ArticleId!==0?u.JournalId?u.Source.length>0?u.Source:u.JournalShortName:u.Source!==""?u.Source:u.JournalShortName:u.Source;u.Doi===undefined&&(u.Doi="");u.DoiLink=u.Doi;u.formattedPublicationDate="";u.PublicationDate!==undefined&&u.PublicationDate!==null?r(u,u.PublicationDate):u.Date!==undefined&&u.Date!==null&&r(u,u.Date);u.TotalViews===undefined&&(u.TotalViews="0")})};Loop=window.Loop||{};Loop.constants=Loop.constants||{};Loop.constants.Events={FOLLOWING_FOLLOWER_VISIBILITY_CHANGED:"followingFollowersVisibilityChanged",USER_FOLLOW_STATE_CHANGED:"userFollowStateChanged",MODAL_DIALOG_DESTROY:"destroyDialog",PUBLICATIONS_COUNT_CHANGED:"publicationsCountChanged",ACTIVATE_ALL:"activateAll",DEACTIVATE_ALL:"deactivateAll",PYMK_VISIBILITY_CHANGED:"pymkVisibilityChanged",AUTHORING_NAMES_CHANGED:"authoringNamesChanged",BRIEF_BIO_MODIFIED:"briefBioModified",PROFILE_PICTURE_UPDATED:"profilePictureUpdated",PUBLICATION_CONFIRMED:"publicationConfirmed",PUBLICATION_REJECTED:"publicationRejected",PUBLICATIONS_UPDATED:"publicationsUpdated",EDIT_MODE_ACTIVATED:"editModeActivated",EDIT_MODE_DEACTIVATED:"editModeDeactivated",PYMK_USER_DISMISSED:"pymkUserDismissed",SOCIAL_BUTTON_SAVING:"socialButtonSaving",IMPACT_PUBLICATIONS_FOUND:"impactPublicationsFound",IMPACT_PUBLICATIONS_NOT_FOUND:"impactPublicationsNotFound",SPA_KO_BINDING_DONE:"SpaKoBindingDone",UPDATE_SUGGESTED_PUBLICATIONS:"updateSuggestedPublications",CONVERSATION_CREATED:"ConversationCreated",CONVERSATION_CLOSED:"ConversationClosed",CONVERSATION_MINIMIZED:"ConversationMinimized",CONVERSATION_REQUESTED:"ConversationRequested",CONVERSATION_SELECTED:"ConversationSelected",CONVERSATION_OPENED:"ConversationOpened",CONVERSATION_MESSAGE_SENT:"MessageSent",COMPOSE_PANEL_REQUESTED:"ComposePanelRequested",CONVERSATION_DISCARDED:"ConversationDiscarded",CONVERSATION_COMPOSE:"ConversationCompose",CONVERSATION_COMPOSE_REQUESTED:"ConversationComposeRequested",CONVERSATION_CONTROL_STATUS_CHANGED:"ConversatinControlStatusChanged",EDIT_BRIEF_BIO:"EditBriefBioEditorEvent",CREATE_ORGANIZATION_INIT:"CreateOrganizationInit",CREATE_ORGANIZATION_FINISHED:"CreateOrganizationFinished",NAVIGATION_WHILE_SAVING:"NavigationWhileSavingHappened",PRIMARY_AFFILIATION_CHANGED:"PrimaryAffiliationChanged",AFFILIATION_ADDED:"NewAffiliationAdded",AFFILIATION_EDITED:"AffiliationEdited",AFFILIATION_DELETED:"AffilitionDeleted",HEADER_SECTION_UPDATED:"HeaderSectionUpdated",VIEW_ALL_AFFILIATIONS_CLICKED:"ViweAllAffiliationsClicked",SNACKBAR_MESSAGE:"SnackBarMessage"};Loop=window.Loop||{};Loop.constants=Loop.constants||{};Loop.constants.Delays={REFRESH_PUBLICATION_DELAY:2e3};Loop=window.Loop||{};Loop.constants=Loop.constants||{};Loop.constants.tracking=Loop.constants.tracking||{};Loop.constants.tracking.DataTrack={SAVE_PROFILE_UPDATE:"save-profile-update",CANCEL_PROFILE_UPDATE:"cancel-profile-update"};Loop.constants.tracking.ActionReferral={ADD:"add",EDIT:"edit",REMOVE:"remove"};Loop=window.Loop||{};Loop.controls=Loop.controls||{};Loop.controls.Menu=function(n,t){function r(n,t,r,u){var f=this,e=n;f.trackingData=function(){return{actionReferral:"cog-menu"}};f.getID=function(){return e};f.optionText=t;f.dataTrack=u!==undefined?u:null;f.optionClick=function(){typeof r=="function"&&r();i.menuVisible(!1)}}var i=this,u=n;i.getID=function(){return u};i.getButtonID=function(){return"btn-"+u};i.options=ko.observableArray(t&&t.hasOwnProperty("length")?t:[]);i.visible=ko.observable(!1);i.menuVisible=ko.observable(!1);i.addOption=function(n,t,u,f){var e=new r(n,t,u,f);i.options.push(e)};i.insertOptionAt=function(n,t,u,f,e){var o=new r(t,u,f,e);i.options.splice(n,0,o)};i.replaceOptionAt=function(n,t,u,f,e){var o=new r(t,u,f,e);i.options.splice(n,1,o)};i.removeOption=function(n){i.options.splice(n,1)};i.showMenu=function(){i.menuVisible(!0)};i.toggleMenu=function(){i.menuVisible(!i.menuVisible())};$(document).on("click",function(n){i.visible()&&($(n.target).closest("#"+i.getID()).length||i.menuVisible(!1))})};Loop=window.Loop||{};Loop.viewModels=Loop.viewModels||{};Loop.viewModels.partials=Loop.viewModels.partials||{};Loop.viewModels.partials.BriefBioEditor=function(n){function u(n){var r=n,i;return n&&(i=t.toMarkdown(n),i||t.setText(""),r=i),r}var i=new Loop.markdownControl.toMD,r=n,t=this;t.control=null;t.stylesheets=["/Content/v5/fonts/font.css","/Content/v5/css/rich-text-editor.css"];t.start=function(n,i){t.control?(t.control.enable(),typeof n=="function"&&n(),t.setText(i),t.resize()):(t.control=new wysihtml5.Editor(r,{toolbar:"toolbar",stylesheets:t.stylesheets,parserRules:Loop.markdownControl.parserRules,sync:!0,useLineBreaks:!1,cleanUp:!0,autoLink:!1}).on("load",function(){setTimeout(function(){$(t.control.composer.iframe).autoResize&&$(t.control.composer.iframe).autoResize();typeof n=="function"&&n()},1e3)}),t.setText(i),t.control.enable())};t.getHTMLFromEditor=function(){var n=t.control.getValue();return t.control.parse(n)};t.getMarkdownFromEditor=function(){return u(t.getHTMLFromEditor())};t.toMarkdown=function(n){return i.toMD(n)};t.resize=function(){var n=$(t.control.composer.iframe);n.trigger("resize")};t.disableControl=function(){t.control.disable()};t.setText=function(n){t.control.setValue(n)}};Loop=window.Loop||{};Loop.viewModels=Loop.viewModels||{};Loop.viewModels.partials=Loop.viewModels.partials||{};Loop.viewModels.partials.TagsCloud=function(n,t){function u(){var t=this.visibleTags(),n,r,u;for(t.length=0,n=0;n<this.tags().length;n=n+1)r={text:this.tags()[n].text,ellipsis:!1,hidden:!1,escapedText:s(this.tags()[n].text)},!this.expanded&&i!==-1&&n>=i&&(r.hidden=!0),!this.expanded&&i!==-1&&n===i&&this.tags().length>i&&(u={text:"",escapedText:"",ellipsis:!0,hidden:!1},t.push(u)),t.push(r);this.visibleTags.valueHasMutated();h.call(this);c.call(this)}function o(){u.call(this)}function s(n){return n.replace(/'/g,"___").replace(/</g,"___").replace(/>/g,"___")}function h(){var n=this,t="#"+this.identifier+" [data-test-id='tags-list']";$(t).on("click",".ellipsis",function(){n.expandAll.call(n)})}function c(){var n=this,i="#"+this.identifier+" [data-test-id='tags-list']",t;r||(r=$(i).on("click","#delete-tag",function(){var i=ko.contextFor(this);n.beforeDeleteTagClickedCallback&&n.beforeDeleteTagClickedCallback();n.deleteTagClickedCallback&&(t=function(){n.deleteTagClickedCallback.call(this)});i&&n.deleteTag(i.$data,t)}))}function l(n){var t=this;return t.validationOptions.allowEmptyTags?"":n.text?"":t.validationOptions.blankNewTagMessage}function a(n){var t=this;return t.validationOptions.maxTagSize<0?"":n.text.length>t.validationOptions.maxTagSize?t.validationOptions.xxlNewTagMessage:void 0}function v(n){var t=this,i;return t.validationOptions.allowDuplicatedTags?"":(i=t.tags().filter(function(n){var t=this;return n.text&&f(n.text,t.text)},n),i.length>0?t.validationOptions.existingTagMessage:void 0)}function y(n){var t=this,i;return t.validationOptions.invalidCharacters.length===0?"":(i=new RegExp("["+t.validationOptions.invalidCharacters.join("|")+"|]"),n.text.match(i)!==null?t.validationOptions.invalidCharactersMessage:void 0)}function f(n,t){return n&&t?n.trim().toLowerCase().replace(/\s{2,}/g," ")===t.trim().toLowerCase().replace(/\s{2,}/g," "):!1}function p(){var n=this,t;return n.validationOptions.allowEmptyTags?"":(t=n.tags().filter(function(n){if(n.text){if(!n.text.trim().toLowerCase().replace(/\s{2,}/g," "))return"blank"}else return"blank"}),t.length>0?n.validationOptions.blankTagsMessage:void 0)}function w(){var n=this,t;return n.validationOptions.maxTagSize<0?"":(t=n.tags().filter(function(t){if(t.text&&t.text.length>n.validationOptions.maxTagSize)return t}),t.length>0?n.validationOptions.xxlTagsMessage:void 0)}function b(){var i=this,n,r,t;if(i.validationOptions.allowDuplicatedTags)return"";for(n=i.tags().map(function(n){if(n.text)return n.text.trim().toLowerCase().replace(/\s{2,}/g," ")}),n.sort(),r=[],t=0;t<n.length-1;t++)n[t+1]===n[t]&&r.push(n[t]);if(r.length>0)return i.validationOptions.duplicatedTagsMessage}function k(){var n=this;return n.validationOptions.allowEmptyCloud?"":n.tags().length===0?n.validationOptions.emptyCloudMessage:void 0}this.tags=n.tags;this.isEditing=n.isEditing;this.identifier=n.identifier;this.deleteTagClickedCallback=n.deleteTagClickedCallback;this.beforeDeleteTagClickedCallback=n.beforeDeleteTagClickedCallback;this.ownProfile=n.ownProfile;this.visibleTags=ko.observableArray();this.expanded=!1;var i=n.collapsedTags||15,e={allowEmptyCloud:!1,maxTagSize:256,allowDuplicatedTags:!1,allowEmptyTags:!1,avoidTagTextValidation:!0,invalidCharacters:[],blankNewTagMessage:Loop.constants.UIMessages.tagsCloudBlankNewTag,xxlNewTagMessage:Loop.constants.UIMessages.tagsCloudXXLNewTag(256),existingTagMessage:Loop.constants.UIMessages.tagsCloudTagExistingTag,invalidCharactersMessage:Loop.constants.UIMessages.tagsCloudTagHasInvalidCharacters([]),emptyCloudMessage:Loop.constants.UIMessages.tagsCloudEmptyCloud,xxlTagsMessage:Loop.constants.UIMessages.tagsCloudXXLTags(256),blankTagsMessage:Loop.constants.UIMessages.tagsCloudBlankTags,duplicatedTagsMessage:Loop.constants.UIMessages.tagsCloudDuplicatedTags},r;this.validationOptions=$.extend({},e,t||{});this.tags.subscribe(o,this,"change");this.expandAll=function(){this.expanded=!0;var t="#"+this.identifier+" [data-test-id='tags-list'] li.item-hidden",n="#"+this.identifier+" [data-test-id='tags-list'] .ellipsis";$(n).length>0&&$(n).slideUp(200).animate({opacity:"0"},200,function(){$(this).addClass("item-hidden")});$(t).not(n).slideDown(500,"easeInExpo").animate({opacity:"1"},200,function(){$(this).removeClass("item-hidden")})};this.reRender=function(){var n="#"+this.identifier+" [data-test-id='tags-list']";r=$(n).unbind("click");r=undefined;u.call(this)};this.addTag=function(n){var i=this,t;if(n=n||{},n.text=n.text.trim().replace(/\s{2,}/g," ")||"",n.escapedText=n.text.replace(/'/g,"___"),t=i.runAddValidations(n),t)return t;i.tags.push(n)};this.deleteTag=function(n,t){var r=this,u=n.text||"",i="#"+this.identifier+" [data-keyword='"+n.escapedText+"']";$(i+" p").animate({opacity:"0"},200);$(i).animate({width:"toggle",padding:"toggle"},350,function(){r.tags.remove(function(t){return t.text&&n.text&&f(t.text,n.text)||!t.text});t&&t()})};this.isCloudValid=function(){var t=this,n;return n=t.runCloudValidations(),n?n:void 0};this.getTagsContent=function(){return this.tags().map(function(n){if(n.text)return n.text})};this.runAddValidations=function(n){var i=this,t;return(n=n||{},n.text=n.text.trim().replace(/\s{2,}/g," ")||"",t=l.call(i,n),t)?t:(t=a.call(i,n),t)?t:(t=v.call(i,n),t)?t:(this.validationOptions.avoidTagTextValidation||(t=y.call(i,n)),t?t:void 0)};this.runCloudValidations=function(){var t=this,n;return(n=p.call(t),n)?n:(n=w.call(t),n)?n:(n=b.call(t),n)?n:(n=k.call(t),n?n:void 0)}};window.matchMedia||(window.matchMedia=function(){"use strict";var t=window.styleMedia||window.media;if(!t){var n=document.createElement("style"),i=document.getElementsByTagName("script")[0],r=null;n.type="text/css";n.id="matchmediajs-test";i.parentNode.insertBefore(n,i);r="getComputedStyle"in window&&window.getComputedStyle(n,null)||n.currentStyle;t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return n.styleSheet?n.styleSheet.cssText=i:n.textContent=i,r.width==="1px"}}}return function(n){return{matches:t.matchMedium(n||"all"),media:n||"all"}}}())