/* Highcharts JS v6.0.4 (2017-12-15) Accessibility module (c) 2010-2017 Highsoft AS Author: Oystein Moseng License: www.highcharts.com/license */ (function(n){"object"===typeof module&&module.exports?module.exports=n:n(Highcharts)})(function(n){(function(d){function n(a){return a.replace(/&/g,"\x26amp;").replace(//g,"\x26gt;").replace(/"/g,"\x26quot;").replace(/'/g,"\x26#x27;").replace(/\//g,"\x26#x2F;")}function p(a){return"string"===typeof a?a.replace(/<\/?[^>]+(>|$)/g,""):a}function q(a){for(var b=a.childNodes.length;b--;)a.appendChild(a.childNodes[b])}var m=d.win.document,k=d.each,r=d.erase,h=d.addEvent,u=d.dateFormat, v=d.merge,x={position:"absolute",left:"-9999px",top:"auto",width:"1px",height:"1px",overflow:"hidden"},w={"default":["series","data point","data points"],line:["line","data point","data points"],spline:["line","data point","data points"],area:["line","data point","data points"],areaspline:["line","data point","data points"],pie:["pie","slice","slices"],column:["column series","column","columns"],bar:["bar series","bar","bars"],scatter:["scatter series","data point","data points"],boxplot:["boxplot series", "box","boxes"],arearange:["arearange series","data point","data points"],areasplinerange:["areasplinerange series","data point","data points"],bubble:["bubble series","bubble","bubbles"],columnrange:["columnrange series","column","columns"],errorbar:["errorbar series","errorbar","errorbars"],funnel:["funnel","data point","data points"],pyramid:["pyramid","data point","data points"],waterfall:["waterfall series","column","columns"],map:["map","area","areas"],mapline:["line","data point","data points"], mappoint:["point series","data point","data points"],mapbubble:["bubble series","bubble","bubbles"]},y={boxplot:" Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile and maximum. ",arearange:" Arearange charts are line charts displaying a range between a lower and higher value for each point. ",areasplinerange:" These charts are line charts displaying a range between a lower and higher value for each point. ", bubble:" Bubble charts are scatter charts where each data point also has a size value. ",columnrange:" Columnrange charts are column charts displaying a range between a lower and higher value for each point. ",errorbar:" Errorbar series are used to display the variability of the data. ",funnel:" Funnel charts are used to display reduction of data in stages. ",pyramid:" Pyramid charts consist of a single pyramid with item heights corresponding to each point value. ",waterfall:" A waterfall chart is a column chart where each column contributes towards a total end value. "}; d.Series.prototype.commonKeys="name id category x value y".split(" ");d.Series.prototype.specialKeys="z open high q3 median q1 low close".split(" ");d.seriesTypes.pie&&(d.seriesTypes.pie.prototype.specialKeys=[]);d.setOptions({accessibility:{enabled:!0,pointDescriptionThreshold:!1}});d.wrap(d.Series.prototype,"render",function(a){a.apply(this,Array.prototype.slice.call(arguments,1));this.chart.options.accessibility.enabled&&this.setA11yDescription()});d.Series.prototype.setA11yDescription=function(){var a= this.chart.options.accessibility,b=this.points&&this.points.length&&this.points[0].graphic&&this.points[0].graphic.element,c=b&&b.parentNode||this.graph&&this.graph.element||this.group&&this.group.element;c&&(c.lastChild===b&&q(c),this.points&&(this.points.lengthb.types.indexOf(this.type)&&b.types.push(this.type),h(this,"remove",function(){var a=this,e=!1;k(b.series,function(c){c!==a&&0>b.types.indexOf(a.type)&&(e=!0)});e||r(b.types,a.type)}))});d.Chart.prototype.getTypeDescription=function(){var a=this.types&&this.types[0],b=this.series[0]&&this.series[0].mapTitle;if(a){if("map"===a)return b?"Map of "+b:"Map of unspecified region.";if(1a)c.xAxis+=this.xAxis[0].getDescription()+".";else{for(e=0;eb)c.yAxis+=this.yAxis[0].getDescription()+ ".";else{for(e=0;e]+(>|$)/g,""):a}function p(a,b){this.chart=a;this.id=b.id;this.keyCodeMap=b.keyCodeMap;this.validate=b.validate; this.init=b.init;this.terminate=b.terminate}function q(a){var b;a&&a.onclick&&r.createEvent&&(b=r.createEvent("Events"),b.initEvent("click",!0,!1),a.onclick(b))}function m(a){var b=a.series.chart.options.accessibility;return a.isNull&&b.keyboardNavigation.skipNullPoints||a.series.options.skipKeyboardNavigation||!a.series.visible||!1===a.visible||b.pointDescriptionThreshold&&b.pointDescriptionThreshold<=a.series.points.length}var k=d.win,r=k.document,h=d.each,u=d.addEvent,v=d.fireEvent,x=d.merge,w= d.pick,y;d.extend(d.SVGElement.prototype,{addFocusBorder:function(a,b){this.focusBorder&&this.removeFocusBorder();var c=this.getBBox();a=w(a,3);this.focusBorder=this.renderer.rect(c.x-a,c.y-a,c.width+2*a,c.height+2*a,b&&b.borderRadius).addClass("highcharts-focus-border").attr({zIndex:99}).add(this.parentGroup)},removeFocusBorder:function(){this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}});d.Series.prototype.keyboardMoveVertical=!0;h(["column","pie"],function(a){d.seriesTypes[a]&& (d.seriesTypes[a].prototype.keyboardMoveVertical=!1)});d.setOptions({accessibility:{keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#335cad",lineWidth:2,borderRadius:3},margin:2},skipNullPoints:!0}}});p.prototype={run:function(a){var b=this,c=a.which||a.keyCode,e=!1,d=!1;h(this.keyCodeMap,function(f){-1a&&eb.dataMax&&(c=b.dataMax,e=c-d);this.setExtremes(e,c)};d.Chart.prototype.setFocusToElement=function(a,b){var c=this.options.accessibility.keyboardNavigation.focusBorder;b=b||a;b.element&&b.element.focus&&(b.element.focus(),c.hideBrowserFocusOutline&&b.css({outline:"none"}));c.enabled&&a!==this.focusElement&&(this.focusElement&&this.focusElement.removeFocusBorder(),a.addFocusBorder(c.margin,{stroke:c.style.color,strokeWidth:c.style.lineWidth,borderRadius:c.style.borderRadius}), this.focusElement=a)};d.Point.prototype.highlight=function(){var a=this.series.chart;if(this.isNull)a.tooltip&&a.tooltip.hide(0);else this.onMouseOver();this.graphic&&a.setFocusToElement(this.graphic);a.highlightedPoint=this;return this};d.Chart.prototype.highlightAdjacentPoint=function(a){var b=this.series,c=this.highlightedPoint,e=c&&c.index||0,d=c&&c.series.points,f=this.series&&this.series[this.series.length-1],f=f&&f.points&&f.points[f.points.length-1];if(!b[0]||!b[0].points)return!1;if(c){if(d[e]!== c)for(f=0;fg&&a||0l||m(f))&&la&&b.highlightLastExportItem()},terminate:function(){b.hideExportMenu()}}),a("mapZoom",[[[38,40,37,39],function(a){b[38===a||40===a?"yAxis":"xAxis"][0].panStep(39>a?-1:1)}],[[9],function(a,e){b.mapNavButtons[b.focusedMapNavButtonIx].setState(0);if(e.shiftKey&&!b.focusedMapNavButtonIx||!e.shiftKey&&b.focusedMapNavButtonIx)return b.mapZoom(),this.move(e.shiftKey?-1:1);b.focusedMapNavButtonIx+=e.shiftKey?-1:1;a=b.mapNavButtons[b.focusedMapNavButtonIx];b.setFocusToElement(a.box, a);a.setState(2)}],[[13,32],function(){q(b.mapNavButtons[b.focusedMapNavButtonIx].element)}]],{validate:function(){return b.mapZoom&&b.mapNavButtons&&2===b.mapNavButtons.length},init:function(a){var c=b.mapNavButtons[0],d=b.mapNavButtons[1],c=0d)return this.move(a);b.rangeSelector[d?"maxInput":"minInput"].focus()}]],{validate:function(){return b.rangeSelector&&b.rangeSelector.inputGroup&&"hidden"!==b.rangeSelector.inputGroup.element.getAttribute("visibility")&& !1!==b.options.rangeSelector.inputEnabled&&b.rangeSelector.minInput&&b.rangeSelector.maxInput},init:function(a){b.highlightedInputRangeIx=0