var HighchartsAdapter=function(){var t,e,n,i=document,r=[],s=[];function a(e){function n(t,e,n){t.removeEventListener(e,n,!1)}function i(t,e,n){n=t.HCProxiedMethods[n.toString()],t.detachEvent("on"+e,n)}function r(t,e){var r,s,a,o,h=t.HCEvents;if(t.removeEventListener)r=n;else{if(!t.attachEvent)return;r=i}for(o in e?(s={})[e]=!0:s=h,s)if(h[o])for(a=h[o].length;a--;)r(t,o,h[o][a])}return e.HCExtended||Highcharts.extend(e,{HCExtended:!0,HCEvents:{},bind:function(e,n){var i,r=this,s=this.HCEvents;r.addEventListener?r.addEventListener(e,n,!1):r.attachEvent&&(i=function(t){n.call(r,t)},r.HCProxiedMethods||(r.HCProxiedMethods={}),r.HCProxiedMethods[n.toString()]=i,r.attachEvent("on"+e,i)),s[e]===t&&(s[e]=[]),s[e].push(n)},unbind:function(t,e){var s,a;t?(s=this.HCEvents[t]||[],e?((a=HighchartsAdapter.inArray(e,s))>-1&&(s.splice(a,1),this.HCEvents[t]=s),this.removeEventListener?n(this,t,e):this.attachEvent&&i(this,t,e)):(r(this,t),this.HCEvents[t]=[])):(r(this),this.HCEvents={})},trigger:function(t,e){var n,i,r,s=this.HCEvents[t]||[],a=s.length;for(i=function(){e.defaultPrevented=!0},n=0;n<a;n++){if(r=s[n],e.stopped)return;e.preventDefault=i,e.target=this,e.type=t,!1===r.call(this,e)&&e.preventDefault()}}}),e}return Math.easeInOutSine=function(t,e,n,i){return-n/2*(Math.cos(Math.PI*t/i)-1)+e},{init:function(t){i.defaultView||(this._getStyle=function(t,e){var n;return t.style[e]?t.style[e]:("opacity"===e&&(e="filter"),n=t.currentStyle[e.replace(/\-(\w)/g,function(t,e){return e.toUpperCase()})],"filter"===e&&(n=n.replace(/alpha\(opacity=([0-9]+)\)/,function(t,e){return e/100})),""===n?1:n)},this.adapterRun=function(t,e){var n={width:"clientWidth",height:"clientHeight"}[e];if(n)return t.style.zoom=1,t[n]-2*parseInt(HighchartsAdapter._getStyle(t,"padding"),10)}),Array.prototype.forEach||(this.each=function(t,e){for(var n=0,i=t.length;n<i;n++)if(!1===e.call(t[n],t[n],n,t))return n}),Array.prototype.indexOf||(this.inArray=function(t,e){var n,i=0;if(e)for(n=e.length;i<n;i++)if(e[i]===t)return i;return-1}),Array.prototype.filter||(this.grep=function(t,e){for(var n=[],i=0,r=t.length;i<r;i++)e(t[i],i)&&n.push(t[i]);return n}),(n=function(t,e,n){this.options=e,this.elem=t,this.prop=n}).prototype={update:function(){var e,n=this.paths,i=this.elem,r=i.element;n&&r?i.attr("d",t.step(n[0],n[1],this.now,this.toD)):i.attr?r&&i.attr(this.prop,this.now):((e={})[i]=this.now+this.unit,Highcharts.css(i,e)),this.options.step&&this.options.step.call(this.elem,this.now,this)},custom:function(t,n,i){var r,a=this,o=function(t){return a.step(t)};this.startTime=+new Date,this.start=t,this.end=n,this.unit=i,this.now=this.start,this.pos=this.state=0,o.elem=this.elem,o()&&1===s.push(o)&&(e=setInterval(function(){for(r=0;r<s.length;r++)s[r]()||s.splice(r--,1);s.length||clearInterval(e)},13))},step:function(t){var e,n,i,r=+new Date,s=this.options;if(this.elem.stopAnimation)e=!1;else if(t||r>=s.duration+this.startTime){for(i in this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0,n=!0,s.curAnim)!0!==s.curAnim[i]&&(n=!1);n&&s.complete&&s.complete.call(this.elem),e=!1}else{var a=r-this.startTime;this.state=a/s.duration,this.pos=s.easing(a,0,1,s.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0}return e}},this.animate=function(e,i,r){var s,a,o,h,u,c="";for(u in e.stopAnimation=!1,"object"==typeof r&&null!==r||(r={duration:(h=arguments)[2],easing:h[3],complete:h[4]}),"number"!=typeof r.duration&&(r.duration=400),r.easing=Math[r.easing]||Math.easeInOutSine,r.curAnim=Highcharts.extend({},i),i)o=new n(e,r,u),a=null,"d"===u?(o.paths=t.init(e,e.d,i.d),o.toD=i.d,s=0,a=1):e.attr?s=e.attr(u):(s=parseFloat(HighchartsAdapter._getStyle(e,u))||0,"opacity"!==u&&(c="px")),a||(a=parseFloat(i[u])),o.custom(s,a,c)}},_getStyle:function(t,e){return window.getComputedStyle(t).getPropertyValue(e)},getScript:function(t,e){var n=i.getElementsByTagName("head")[0],r=i.createElement("script");r.type="text/javascript",r.src=t,r.onload=e,n.appendChild(r)},inArray:function(t,e){return e.indexOf?e.indexOf(t):r.indexOf.call(e,t)},adapterRun:function(t,e){return parseInt(HighchartsAdapter._getStyle(t,e),10)},grep:function(t,e){return r.filter.call(t,e)},map:function(t,e){for(var n=[],i=0,r=t.length;i<r;i++)n[i]=e.call(t[i],t[i],i,t);return n},offset:function(t){for(var e=0,n=0;t;)e+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;return{left:e,top:n}},addEvent:function(t,e,n){a(t).bind(e,n)},removeEvent:function(t,e,n){a(t).unbind(e,n)},fireEvent:function(t,e,n,r){var s;i.createEvent&&(t.dispatchEvent||t.fireEvent)?((s=i.createEvent("Events")).initEvent(e,!0,!0),s.target=t,Highcharts.extend(s,n),t.dispatchEvent?t.dispatchEvent(s):t.fireEvent(e,s)):!0===t.HCExtended&&(n=n||{},t.trigger(e,n)),n&&n.defaultPrevented&&(r=null),r&&r(n)},washMouseEvent:function(t){return t},stop:function(t){t.stopAnimation=!0},each:function(t,e){return Array.prototype.forEach.call(t,e)}}}();