/* Highcharts JS v9.0.1 (2021-02-15) Accessibility module (c) 2010-2021 Highsoft AS Author: Oystein Moseng License: www.highcharts.com/license */ (function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts"],function(w){b(w);b.Highcharts=w;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function w(b,k,n,p){b.hasOwnProperty(k)||(b[k]=p.apply(null,n))}b=b?b._modules:{};w(b,"Accessibility/Utils/HTMLUtilities.js",[b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,k){var x=b.doc,p=b.win,t= k.merge;return{addClass:function(b,h){b.classList?b.classList.add(h):0>b.className.indexOf(h)&&(b.className+=h)},escapeStringForHTML:function(b){return b.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(b){return x.getElementById(b)},getFakeMouseEvent:function(b){if("function"===typeof p.MouseEvent)return new p.MouseEvent(b);if(x.createEvent){var g=x.createEvent("MouseEvent");if(g.initMouseEvent)return g.initMouseEvent(b, !0,!0,p,"click"===b?1:0,0,0,0,0,!1,!1,!1,!1,0,null),g}return{type:b}},getHeadingTagNameForElement:function(b){var g=function(b){b=parseInt(b.slice(1),10);return"h"+Math.min(6,b+1)},u=function(b){var f;a:{for(f=b;f=f.previousSibling;){var e=f.tagName||"";if(/H[1-6]/.test(e)){f=e;break a}}f=""}if(f)return g(f);b=b.parentElement;if(!b)return"p";f=b.tagName;return/H[1-6]/.test(f)?g(f):u(b)};return u(b)},removeElement:function(b){b&&b.parentNode&&b.parentNode.removeChild(b)},reverseChildNodes:function(b){for(var g= b.childNodes.length;g--;)b.appendChild(b.childNodes[g])},setElAttrs:function(b,h){Object.keys(h).forEach(function(g){var r=h[g];null===r?b.removeAttribute(g):b.setAttribute(g,r)})},stripHTMLTagsFromString:function(b){return"string"===typeof b?b.replace(/<\/?[^>]+(>|$)/g,""):b},visuallyHideElement:function(b){t(!0,b.style,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)", filter:"alpha(opacity=1)",opacity:"0.01"})}}});w(b,"Accessibility/Utils/ChartUtilities.js",[b["Accessibility/Utils/HTMLUtilities.js"],b["Core/Utilities.js"]],function(b,k){function x(a){var c=a.chart,d={},l="Seconds";d.Seconds=((a.max||0)-(a.min||0))/1E3;d.Minutes=d.Seconds/60;d.Hours=d.Minutes/60;d.Days=d.Hours/24;["Minutes","Hours","Days"].forEach(function(a){2e||b!==c-1;d.a11yProxyElement&&(d.a11yProxyElement.style.visibility=b?"hidden":"visible")})},onChartRender:function(){h(this.chart)? this.updateProxiesPositions():this.removeProxies()},onChartUpdate:function(){this.updateLegendTitle()},updateProxiesPositions:function(){for(var a=0,c=this.proxyElementsList;a/g," "));a=e.langFormat("accessibility.legend.legendLabel"+(f?"":"NoTitle"),{chart:e,legendTitle:f});this.legendProxyGroup&&this.legendProxyGroup.setAttribute("aria-label",a)},addLegendProxyGroup:function(){this.legendProxyGroup= this.addProxyGroup({"aria-label":"_placeholder_",role:"all"===this.chart.options.accessibility.landmarkVerbosity?"region":null})},proxyLegendItems:function(){var a=this;(this.chart.legend&&this.chart.legend.allItems||[]).forEach(function(d){d.legendItem&&d.legendItem.element&&a.proxyLegendItem(d)})},proxyLegendItem:function(a){if(a.legendItem&&a.legendGroup){var d=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:c(a.name)}),b=a.legendGroup.div?a.legendItem:a.legendGroup; a.a11yProxyElement=this.createProxyButton(a.legendItem,this.legendProxyGroup,{tabindex:-1,"aria-pressed":a.visible,"aria-label":d},b);this.proxyElementsList.push({item:a,element:a.a11yProxyElement,posElement:b})}},getKeyboardNavigation:function(){var a=this.keyCodes,c=this;return new t(this.chart,{keyCodeMap:[[[a.left,a.right,a.up,a.down],function(a){return c.onKbdArrowKey(this,a)}],[[a.enter,a.space],function(){return c.onKbdClick(this)}]],validate:function(){return c.shouldHaveLegendNavigation()}, init:function(a){return c.onKbdNavigationInit(a)}})},onKbdArrowKey:function(a,c){var d=this.keyCodes,b=a.response,e=this.chart,l=e.options.accessibility,f=e.legend.allItems.length;c=c===d.left||c===d.up?-1:1;return e.highlightLegendItem(this.highlightedLegendItemIx+c)?(this.highlightedLegendItemIx+=c,b.success):1=g&&a||0<=g&&!a||5>m||e(f))&&m"+b+"":""})}var g=b.escapeStringForHTML,h=b.stripHTMLTagsFromString;return{getAnnotationsInfoHTML:function(b){var g=b.annotations; return g&&g.length?'
    '+t(b).join(" ")+"
":""},getAnnotationLabelDescription:p,getAnnotationListItems:t,getPointAnnotationTexts:function(b){var g=k(b.series.chart).filter(function(f){return-1b&&a.graphic&&a.graphic.element)})||null:null}function h(a){var b=a.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==b&&a.points&&a.points.length>=b)}function u(a){var b=a.options.accessibility||{};return!h(a)&&!b.exposeAsGroupOnly}function r(a){var b=a.chart.options.accessibility.keyboardNavigation.seriesNavigation; return!(!a.points||!(a.points.length", " "),e=a.id&&0>a.id.indexOf("highcharts-"),q="x, "+a.x;return a.name||b||d||(e?a.id:q)}function l(a,b,c){var d=b||"",e=c||"";return a.series.pointArrayMap.reduce(function(b,c){b+=b.length?", ":"";var q=f(a,I(a[c],a.options[c]));return b+(c+": "+d+q+e)},"")}function y(a){var b=a.series,c=b.chart.options.accessibility.point||{},d=b.tooltipOptions||{},e=c.valuePrefix||d.valuePrefix||"";c=c.valueSuffix||d.valueSuffix||"";d=f(a,a["undefined"!==typeof a.value?"value":"y"]);return a.isNull?b.chart.langFormat("accessibility.series.nullPointValue", {point:a}):b.pointArrayMap?l(a,e,c):e+d+c}function G(a){var b=a.series,c=b.chart,e=c.options.accessibility.point.valueDescriptionFormat,q=(b=I(b.xAxis&&b.xAxis.options.accessibility&&b.xAxis.options.accessibility.enabled,!c.angular))?d(a):"";a={point:a,index:J(a.index)?a.index+1:"",xDescription:q,value:y(a),separator:b?", ":""};return m(e,a,c)}function E(a){var b=a.series,c=b.chart,d=G(a),e=a.options&&a.options.accessibility&&a.options.accessibility.description;e=e?" "+e:"";b=1b&&da.dataMax&&(c=a.dataMax,d=c-e);this.setExtremes(d,c)};k.prototype=new b;p(k.prototype,{init:function(){var b=this,a=this.chart;["afterShowResetZoom","afterDrilldown","drillupall"].forEach(function(c){b.addEvent(a, c,function(){b.updateProxyOverlays()})})},onChartUpdate:function(){var b=this.chart,a=this;b.mapNavButtons&&b.mapNavButtons.forEach(function(c,d){h(b,c.element);a.setMapNavButtonAttrs(c.element,"accessibility.zoom.mapZoom"+(d?"Out":"In"))})},setMapNavButtonAttrs:function(b,a){var c=this.chart;a=c.langFormat(a,{chart:c});r(b,{tabindex:-1,role:"button","aria-label":a})},onChartRender:function(){this.updateProxyOverlays()},updateProxyOverlays:function(){var b=this.chart;u(this.drillUpProxyGroup);u(this.resetZoomProxyGroup); b.resetZoomButton&&this.recreateProxyButtonAndGroup(b.resetZoomButton,"resetZoomProxyButton","resetZoomProxyGroup",b.langFormat("accessibility.zoom.resetZoomButton",{chart:b}));b.drillUpButton&&this.recreateProxyButtonAndGroup(b.drillUpButton,"drillUpProxyButton","drillUpProxyGroup",b.langFormat("accessibility.drillUpButton",{chart:b,buttonText:b.getDrilldownBackText()}))},recreateProxyButtonAndGroup:function(b,a,c,d){u(this[c]);this[c]=this.addProxyGroup();this[a]=this.createProxyButton(b,this[c], {"aria-label":d,tabindex:-1})},getMapZoomNavigation:function(){var b=this.keyCodes,a=this.chart,c=this;return new t(a,{keyCodeMap:[[[b.up,b.down,b.left,b.right],function(a){return c.onMapKbdArrow(this,a)}],[[b.tab],function(a,b){return c.onMapKbdTab(this,b)}],[[b.space,b.enter],function(){return c.onMapKbdClick(this)}]],validate:function(){return!!(a.mapZoom&&a.mapNavButtons&&a.mapNavButtons.length)},init:function(a){return c.onMapNavInit(a)}})},onMapKbdArrow:function(b,a){var c=this.keyCodes;this.chart[a=== c.up||a===c.down?"yAxis":"xAxis"][0].panStep(a===c.left||a===c.up?-1:1);return b.response.success},onMapKbdTab:function(b,a){var c=this.chart;b=b.response;var d=(a=a.shiftKey)&&!this.focusedMapNavButtonIx||!a&&this.focusedMapNavButtonIx;c.mapNavButtons[this.focusedMapNavButtonIx].setState(0);if(d)return c.mapZoom(),b[a?"prev":"next"];this.focusedMapNavButtonIx+=a?-1:1;a=c.mapNavButtons[this.focusedMapNavButtonIx];c.setFocusToElement(a.box,a.element);a.setState(2);return b.success},onMapKbdClick:function(b){this.fakeClickEvent(this.chart.mapNavButtons[this.focusedMapNavButtonIx].element); return b.response.success},onMapNavInit:function(b){var a=this.chart,c=a.mapNavButtons[0],d=a.mapNavButtons[1];c=0l-g,n=m=864E5*{month:28,year:365}[C]*J-B&&e-36E5<=864E5*{month:31,year:366}[C]*J+B?m=!0:"ytd"===C?(m=k-h+B===e,t=!b):"all"===C&&(m=d.max-d.min>=l-g,u=!b&&v&&m);C=!y&&(O||n||u||f);J=b&&m||m&&!v&&!t||b&&a.frozenStates;C?L=3:J&&(v=!0,L=2);I.state!==L&&(I.setState(L),c&&(c.options[q+1].disabled=C,2===L&&(c.selectedIndex=q+1)),0===L&&z===q&&a.setSelected())})};m.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4, hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=A(a.offsetMin,0);a._offsetMax=A(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};m.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector,c=this.chart.time;return a?("text"===a.type&&b.inputDateParser||this.defaultInputDateParser)(a.value,c.useUTC,c):0};m.prototype.setInputValue=function(a,b){var d= this.options,e=this.chart.time,q="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(q){var f=q.getAttribute("data-hc-time");f=c(f)?Number(f):void 0;c(b)&&(c(f)&&q.setAttribute("data-hc-time-previous",f),q.setAttribute("data-hc-time",b),f=b);q.value=e.dateFormat(this.inputTypeFormats[q.type]||d.inputEditDateFormat,f);a&&a.attr({text:e.dateFormat(d.inputDateFormat,f)})}};m.prototype.setInputExtremes=function(a,b,c){if(a="min"===a?this.minInput:this.maxInput){var d= this.inputTypeFormats[a.type],e=this.chart.time;d&&(b=e.dateFormat(d,b),a.min!==b&&(a.min=b),c=e.dateFormat(d,c),a.max!==c&&(a.max=c))}};m.prototype.showInput=function(b){var c="min"===b?this.minDateBox:this.maxDateBox;if((b="min"===b?this.minInput:this.maxInput)&&c&&this.inputGroup){var d="text"===b.type,e=this.inputGroup,q=e.translateX;e=e.translateY;a(b,{width:d?c.width-2+"px":"auto",height:d?c.height-2+"px":"auto",border:"2px solid silver"});d?a(b,{left:q+c.x+"px",top:e+"px"}):a(b,{left:Math.min(Math.round(c.x+ q-(b.offsetWidth-c.width)/2),this.chart.chartWidth-b.offsetWidth)+"px",top:e-(b.offsetHeight-c.height)/2+"px"})}};m.prototype.hideInput=function(b){(b="min"===b?this.minInput:this.maxInput)&&a(b,{top:"-9999em",border:0,width:"1px",height:"1px"})};m.prototype.defaultInputDateParser=function(a,b,c){var d=a.split("/").join("-").split(" ").join("T");-1===d.indexOf("T")&&(d+="T00:00");if(b)d+="Z";else{var e;if(e=n.isSafari)e=d,e=!(6=e?"+"+H(-e)+":00":"-"+H(e)+":00")}d=Date.parse(d);x(d)||(a=a.split("-"),d=Date.UTC(z(a[0]),z(a[1])-1,z(a[2])));c&&b&&(d+=c.getTimezoneOffset(d));return d};m.prototype.drawInput=function(b){function c(){var a=q.getInputValue(b),c=d.xAxis[0],e=d.scroller&&d.scroller.xAxis?d.scroller.xAxis:c,f=e.dataMin;e=e.dataMax;var m=q.maxInput,g=q.minInput;a!==Number(v.getAttribute("data-hc-time-previous"))&&x(a)&&(v.setAttribute("data-hc-time-previous",a),k&& m&&x(f)?a>Number(m.getAttribute("data-hc-time"))?a=void 0:ae&&(a=e)),"undefined"!==typeof a&&c.setExtremes(k?a:c.min,k?c.max:a,void 0,void 0,{trigger:"rangeSelectorInput"}))}var d=this.chart,f=this.div,m=this.inputGroup,q=this,g=d.renderer.style||{},l=d.renderer,h=d.options.rangeSelector,k="min"===b,z=r.lang[k?"rangeSelectorFrom":"rangeSelectorTo"];z=l.label(z,0).addClass("highcharts-range-label").attr({padding:z?2:0}).add(m); l=l.label("",0).addClass("highcharts-range-input").attr({padding:2,width:h.inputBoxWidth,height:h.inputBoxHeight,"text-align":"center"}).on("click",function(){q.showInput(b);q[b+"Input"].focus()});d.styledMode||l.attr({stroke:h.inputBoxBorderColor,"stroke-width":1});l.add(m);var v=e("input",{name:b,className:"highcharts-range-selector"},void 0,f);v.setAttribute("type",u(h.inputDateFormat||"%b %e, %Y"));d.styledMode||(z.css(w(g,h.labelStyle)),l.css(w({color:t.neutralColor80},g,h.inputStyle)),a(v,y({position:"absolute", border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,top:"-9999em"},h.inputStyle)));v.onfocus=function(){q.showInput(b)};v.onblur=function(){v===n.doc.activeElement&&c();q.hideInput(b);q.setInputValue(b);v.blur()};var B=!1;v.onchange=function(){c();B||(q.hideInput(b),v.blur())};v.onkeypress=function(a){13===a.keyCode&&c()};v.onkeydown=function(){B=!0};v.onkeyup=function(){B=!1};return{dateBox:l,input:v,label:z}}; m.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};m.prototype.getYTDExtremes=function(a,b,c){var d=this.chart.time,e=new d.Date(a),f=d.get("FullYear",e);c=c?d.Date.UTC(f,0,1):+new d.Date(f,0,1);b=Math.max(b,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}};m.prototype.render=function(a,b){var d=this.chart,f=d.renderer,m=d.container,g=d.options, q=g.rangeSelector,l=A(g.chart.style&&g.chart.style.zIndex,0)+1;g=q.inputEnabled;if(!1!==q.enabled){this.rendered||(this.group=f.g("range-selector-group").attr({zIndex:7}).add(),this.div=e("div",void 0,{position:"relative",height:0,zIndex:l}),this.buttonOptions.length&&this.renderButtons(),m.parentNode&&m.parentNode.insertBefore(this.div,m),g&&(this.inputGroup=f.g("input-group").add(this.group),f=this.drawInput("min"),this.minDateBox=f.dateBox,this.minLabel=f.label,this.minInput=f.input,f=this.drawInput("max"), this.maxDateBox=f.dateBox,this.maxLabel=f.label,this.maxInput=f.input));if(g&&(this.setInputValue("min",a),this.setInputValue("max",b),a=d.scroller&&d.scroller.getUnionExtremes()||d.xAxis[0]||{},c(a.dataMin)&&c(a.dataMax)&&(d=d.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-d),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+d,a.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){a&& a.width&&(a.attr({x:h}),h+=a.width+q.inputSpacing)})}this.alignElements();this.rendered=!0}};m.prototype.renderButtons=function(){var a=this,b=this.buttons,c=this.options,d=r.lang,m=this.chart.renderer,g=w(c.buttonTheme),l=g&&g.states,h=g.width||28;delete g.width;this.buttonGroup=m.g("range-selector-buttons").add(this.group);var k=this.dropdown=e("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);f(k,"touchstart", function(){k.style.fontSize="16px"});[[n.isMS?"mouseover":"mouseenter"],[n.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(c){var d=c[0],e=c[1];f(k,d,function(){var c=b[a.currentButtonIndex()];c&&E(c.element,e||d)})});this.zoomText=m.text(d.rangeSelectorZoom,0,15).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle),g["stroke-width"]=A(g["stroke-width"],0));e("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k);this.buttonOptions.forEach(function(c, d){e("option",{textContent:c.title||c.text},void 0,k);b[d]=m.button(c.text,0,0,function(b){var e=c.events&&c.events.click,f;e&&(f=e.call(c,b));!1!==f&&a.clickButton(d);a.isActive=!0},g,l&&l.hover,l&&l.select,l&&l.disabled).attr({"text-align":"center",width:h}).add(a.buttonGroup);c.title&&b[d].attr("title",c.title)})};m.prototype.alignElements=function(){var a=this,b=this.buttonGroup,c=this.buttons,d=this.chart,e=this.group,f=this.inputGroup,m=this.options,g=this.zoomText,l=d.options,h=l.exporting&& !1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions;l=m.buttonPosition;var k=m.inputPosition,z=m.verticalAlign,v=function(b,c){return h&&a.titleCollision(d)&&"top"===z&&"right"===c.align&&c.y-b.getBBox().height-12<(h.y||0)+(h.height||0)+d.spacing[0]?-40:0},B=d.plotLeft;if(e&&l&&k){var y=l.x-d.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var r=0;g&&(r+=g.getBBox().width+5);c.forEach(function(a,b){r+=a.width;b!==c.length-1&&(r+=m.buttonSpacing)});this.initialButtonGroupWidth= r}B-=d.spacing[3];this.updateButtonStates();g=v(b,l);this.alignButtonGroup(g);e.placed=b.placed=d.hasLoaded}b=0;f&&(b=v(f,k),"left"===k.align?y=B:"right"===k.align&&(y=-Math.max(d.axisOffset[1],-b)),f.align({y:k.y,width:f.getBBox().width,align:k.align,x:k.x+y-2},!0,d.spacingBox),f.placed=d.hasLoaded);this.handleCollision(b);e.align({verticalAlign:z},!0,d.spacingBox);f=e.alignAttr.translateY;b=e.getBBox().height+20;v=0;"bottom"===z&&(v=(v=d.legend&&d.legend.options)&&"bottom"===v.verticalAlign&&v.enabled&& !v.floating?d.legend.legendHeight+A(v.margin,10):0,b=b+v-20,v=f-b-(m.floating?0:m.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"===z)m.floating&&(v=0),d.titleOffset&&d.titleOffset[0]&&(v=d.titleOffset[0]),v+=d.margin[0]-d.spacing[0]||0;else if("middle"===z)if(k.y===l.y)v=f;else if(k.y||l.y)v=0>k.y||0>l.y?v-Math.min(k.y,l.y):f-b;e.translate(m.x,m.y+Math.floor(v));l=this.minInput;k=this.maxInput;f=this.dropdown;m.inputEnabled&&l&&k&&(l.style.marginTop=e.translateY+"px",k.style.marginTop=e.translateY+ "px");f&&(f.style.marginTop=e.translateY+"px")}};m.prototype.alignButtonGroup=function(a,b){var c=this.chart,d=this.buttonGroup,e=this.options.buttonPosition,f=c.plotLeft-c.spacing[3],m=e.x-c.spacing[3];"right"===e.align?m+=a-f:"center"===e.align&&(m-=f/2);d&&d.align({y:e.y,width:A(b,this.initialButtonGroupWidth),align:e.align,x:m},!0,c.spacingBox)};m.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,c=this.options,d=this.zoomText,e=b.hasLoaded?"animate":"attr",f=c.buttonPosition, m=b.plotLeft,g=m;d&&"hidden"!==d.visibility&&(d[e]({x:A(m+f.x,m)}),g+=f.x+d.getBBox().width+5);this.buttonOptions.forEach(function(b,d){if("hidden"!==a[d].visibility)a[d][e]({x:g}),g+=a[d].width+c.buttonSpacing;else a[d][e]({x:m})})};m.prototype.handleCollision=function(a){var b=this,c=this.chart,d=this.buttonGroup,e=this.inputGroup,f=this.options,m=f.buttonPosition,g=f.dropdown,l=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var q= function(b){if(e&&d){var c=e.alignAttr.translateX+e.alignOptions.x-a+e.getBBox().x+2,f=e.alignOptions.width,g=d.alignAttr.translateX+d.getBBox().x;return g+b>c&&c+f>g&&m.y=-a?0:-a),translateY:e.alignAttr.translateY+d.getBBox().height+10})};if(d){if("always"===g){this.collapseButtons(a);q(f())&&h();return}"never"===g&&this.expandButtons()}e&&d?l.align===m.align||q(this.initialButtonGroupWidth+ 20)?"responsive"===g?(this.collapseButtons(a),q(f())&&h()):h():"responsive"===g&&this.expandButtons():d&&"responsive"===g&&(this.initialButtonGroupWidth>c.plotWidth?this.collapseButtons(a):this.expandButtons())};m.prototype.collapseButtons=function(a){var b,c=this.buttons,d=this.buttonOptions,e=this.dropdown,f=this.options,m=this.zoomText,g=function(a){return{text:a?a+" \u25be":"\u25be",width:"auto",paddingLeft:8,paddingRight:8}};m&&m.hide();var l=!1;d.forEach(function(a,b){b=c[b];2!==b.state?b.hide(): (b.show(),b.attr(g(a.text)),l=!0)});l||(e&&(e.selectedIndex=0),c[0].show(),c[0].attr(g(null===(b=this.zoomText)||void 0===b?void 0:b.textStr)));b=f.buttonPosition.align;this.positionButtons();"right"!==b&&"center"!==b||this.alignButtonGroup(a,c[this.currentButtonIndex()].getBBox().width);this.showDropdown()};m.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,c=this.options,d=this.zoomText;this.hideDropdown();d&&d.show();b.forEach(function(b,d){d=a[d];d.show();d.attr({text:b.text, width:c.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"});2>d.state&&d.setState(0)});this.positionButtons()};m.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0e&&0>d||0g?(null===(b=e.accessibility)||void 0===b?void 0:b.keyboardNavigation.tabindexContainer.focus(),null===(c=e.accessibility)||void 0===c?void 0:c.keyboardNavigation[0>a?"prev":"next"]()):f&&(a=f[g?"maxDateBox":"minDateBox"], f=f[g?"maxInput":"minInput"],a&&f&&e.setFocusToElement(a,f))},onInputNavInit:function(b){var c=this,e=this,f=this.chart,g=0this.series.length?"Single":"Multiple";return(this.langFormat("accessibility.chartTypes."+a+d,c)||this.langFormat("accessibility.chartTypes.default"+d,c))+(b?" "+b:"")};n=function(){};n.prototype=new p;f(n.prototype,{init:function(){var a=this.chart,b=this;this.initRegionsDefinitions();this.addEvent(a,"aftergetTableAST",function(a){b.onDataTableCreated(a)});this.addEvent(a,"afterViewData",function(a){b.dataTableDiv=a;setTimeout(function(){b.focusDataTable()},300)});this.announcer= new t(a,"assertive")},initRegionsDefinitions:function(){var a=this;this.screenReaderSections={before:{element:null,buildContent:function(b){var c=b.options.accessibility.screenReaderSection.beforeChartFormatter;return c?c(b):a.defaultBeforeChartFormatter(b)},insertIntoDOM:function(a,b){b.renderTo.insertBefore(a,b.renderTo.firstChild)},afterInserted:function(){"undefined"!==typeof a.sonifyButtonId&&a.initSonifyButton(a.sonifyButtonId);"undefined"!==typeof a.dataTableButtonId&&a.initDataTableButton(a.dataTableButtonId)}}, after:{element:null,buildContent:function(b){var c=b.options.accessibility.screenReaderSection.afterChartFormatter;return c?c(b):a.defaultAfterChartFormatter()},insertIntoDOM:function(a,b){b.renderTo.insertBefore(a,b.container.nextSibling)}}}},onChartRender:function(){var a=this;this.linkedDescriptionElement=this.getLinkedDescriptionElement();this.setLinkedDescriptionAttrs();Object.keys(this.screenReaderSections).forEach(function(b){a.updateScreenReaderSection(b)})},getLinkedDescriptionElement:function(){var a= this.chart.options.accessibility.linkedDescription;if(a){if("string"!==typeof a)return a;a=e(a,this.chart);a=r.querySelectorAll(a);if(1===a.length)return a[0]}},setLinkedDescriptionAttrs:function(){var a=this.linkedDescriptionElement;a&&(a.setAttribute("aria-hidden","true"),w(a,"highcharts-linked-description"))},updateScreenReaderSection:function(a){var b=this.chart,c=this.screenReaderSections[a],d=c.buildContent(b),e=c.element=c.element||this.createElement("div"),f=e.firstChild||this.createElement("div"); this.setScreenReaderSectionAttribs(e,a);k.setElementHTML(f,d);e.appendChild(f);c.insertIntoDOM(e,b);A(f);x(b,f);c.afterInserted&&c.afterInserted()},setScreenReaderSectionAttribs:function(a,b){var c=this.chart,d=c.langFormat("accessibility.screenReaderSection."+b+"RegionLabel",{chart:c});F(a,{id:"highcharts-screen-reader-region-"+b+"-"+c.index,"aria-label":d});a.style.position="relative";"all"===c.options.accessibility.landmarkVerbosity&&d&&a.setAttribute("role","region")},defaultBeforeChartFormatter:function(){var a, d=this.chart,e=d.options.accessibility.screenReaderSection.beforeChartFormat,f=this.getAxesDescription(),g=d.sonify&&(null===(a=d.options.sonification)||void 0===a?void 0:a.enabled);a="highcharts-a11y-sonify-data-btn-"+d.index;var m="hc-linkto-highcharts-data-table-"+d.index,h=c(d),l=d.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:d});f={headingTagName:N(d.renderTo),chartTitle:y(d),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(), xAxisDescription:f.xAxis,yAxisDescription:f.yAxis,playAsSoundButton:g?this.getSonifyButtonText(a):"",viewTableButton:d.getCSV?this.getDataTableButtonText(m):"",annotationsTitle:h?l:"",annotationsList:h};d=b.i18nFormat(e,f,d);this.dataTableButtonId=m;this.sonifyButtonId=a;return d.replace(/<(\w+)[^>]*?>\s*<\/\1>/g,"")},defaultAfterChartFormatter:function(){var a=this.chart,c=a.options.accessibility.screenReaderSection.afterChartFormat,d={endOfChartMarker:this.getEndOfChartMarkerText()};return b.i18nFormat(c, d,a).replace(/<(\w+)[^>]*?>\s*<\/\1>/g,"")},getLinkedDescription:function(){var a=this.linkedDescriptionElement;return H(a&&a.innerHTML||"")},getLongdescText:function(){var a=this.chart.options,b=a.caption;b=b&&b.text;var c=this.getLinkedDescription();return a.accessibility.description||c||b||""},getTypeDescriptionText:function(){var a=this.chart;return a.types?a.options.accessibility.typeDescription||a.getTypeDescription(a.types):""},getDataTableButtonText:function(a){var b=this.chart;b=b.langFormat("accessibility.table.viewAsDataTableButtonText", {chart:b,chartTitle:y(b)});return'"},getSonifyButtonText:function(a){var b,c=this.chart;if(!1===(null===(b=c.options.sonification)||void 0===b?void 0:b.enabled))return"";b=c.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:c,chartTitle:y(c)});return'"},getSubtitleText:function(){var a=this.chart.options.subtitle;return H(a&&a.text||"")},getEndOfChartMarkerText:function(){var a=this.chart,b=a.langFormat("accessibility.screenReaderSection.endOfChartMarker", {chart:a});return'
'+b+"
"},onDataTableCreated:function(a){var b=this.chart;if(b.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");var c=a.tree.attributes||{};c.tabindex=-1;c.summary=b.langFormat("accessibility.table.tableSummary",{chart:b});a.tree.attributes=c}},focusDataTable:function(){var a=this.dataTableDiv;(a=a&&a.getElementsByTagName("table")[0])&&a.focus&&a.focus()}, initSonifyButton:function(a){var b=this,c=this.sonifyButton=M(a),d=this.chart,e=function(a){null===c||void 0===c?void 0:c.setAttribute("aria-hidden","true");null===c||void 0===c?void 0:c.setAttribute("aria-label","");a.preventDefault();a.stopPropagation();a=d.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:d});b.announcer.announce(a);setTimeout(function(){null===c||void 0===c?void 0:c.removeAttribute("aria-hidden");null===c||void 0===c?void 0:c.removeAttribute("aria-label"); d.sonify&&d.sonify()},1E3)};c&&d&&(F(c,{tabindex:"-1"}),c.onclick=function(a){var b;((null===(b=d.options.accessibility)||void 0===b?void 0:b.screenReaderSection.onPlayAsSoundClick)||e).call(this,a,d)})},initDataTableButton:function(a){var b=this.viewDataTableButton=M(a),c=this.chart;a=a.replace("hc-linkto-","");b&&(F(b,{tabindex:"-1","aria-expanded":!!M(a)}),b.onclick=c.options.accessibility.screenReaderSection.onViewDataTableClick||function(){c.viewData()})},getAxesDescription:function(){var b= this.chart,c=function(c,d){c=b[c];return 1b.types.indexOf("map"),e=!!b.hasCartesianSeries,f=c("xAxis",!b.angular&&e&&d);c=c("yAxis",e&&d);d={};f&&(d.xAxis=this.getAxisDescriptionText("xAxis"));c&&(d.yAxis=this.getAxisDescriptionText("yAxis"));return d},getAxisDescriptionText:function(a){var b=this.chart,c=b[a];return b.langFormat("accessibility.axis."+a+"Description"+(1{chartTitle}
{typeDescription}
{chartSubtitle}
{chartLongdesc}
{playAsSoundButton}
{viewTableButton}
{xAxisDescription}
{yAxisDescription}
{annotationsTitle}{annotationsList}
", afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{index}. {xDescription}{separator}{value}."},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:b.highlightColor80,lineWidth:2,borderRadius:3},margin:2},order:["series","zoom", "rangeSelector","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5E3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}}}});w(b,"Accessibility/Options/LangOptions.js",[],function(){return{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart", drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"Chart screen reader information.",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{ Also related to, #each(additionalAnnotationPoints)}",descriptionNoPoints:"{annotationText}"}, endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"}, table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{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."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.", defaultSingle:"Chart with {numPoints} data {#plural(numPoints, points, point)}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#plural(numPoints, points, point)}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#plural(numPoints, points, point)}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.",columnMultiple:"Bar chart with {numSeries} data series.", barSingle:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#plural(numPoints, slices, slice)}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#plural(numPoints, points, point)}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.",boxplotMultiple:"Boxplot with {numSeries} data series.", bubbleSingle:"Bubble chart with {numPoints} {#plural(numPoints, bubbles, bubble)}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each(names, -1) }and {names[-1]}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each(names, -1) }and {names[-1]}.", timeRangeDays:"Range: {range} days.",timeRangeHours:"Range: {range} hours.",timeRangeMinutes:"Range: {range} minutes.",timeRangeSeconds:"Range: {range} seconds.",rangeFromTo:"Range: {rangeFrom} to {rangeTo}.",rangeCategories:"Range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu",exportRegionLabel:"Chart menu"},series:{summary:{"default":"{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",defaultCombination:"{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", line:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",lineCombination:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.",spline:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",splineCombination:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.",column:"{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}.", columnCombination:"{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}.",bar:"{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}.",barCombination:"{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}.",pie:"{name}, pie {ix} of {numSeries} with {numPoints} {#plural(numPoints, slices, slice)}.",pieCombination:"{name}, series {ix} of {numSeries}. Pie with {numPoints} {#plural(numPoints, slices, slice)}.", scatter:"{name}, scatter plot {ix} of {numSeries} with {numPoints} {#plural(numPoints, points, point)}.",scatterCombination:"{name}, series {ix} of {numSeries}, scatter plot with {numPoints} {#plural(numPoints, points, point)}.",boxplot:"{name}, boxplot {ix} of {numSeries} with {numPoints} {#plural(numPoints, boxes, box)}.",boxplotCombination:"{name}, series {ix} of {numSeries}. Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.",bubble:"{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}.", bubbleCombination:"{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}.",map:"{name}, map {ix} of {numSeries} with {numPoints} {#plural(numPoints, areas, area)}.",mapCombination:"{name}, series {ix} of {numSeries}. Map with {numPoints} {#plural(numPoints, areas, area)}.",mapline:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",maplineCombination:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.", mapbubble:"{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}.",mapbubbleCombination:"{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{Annotation: #each(annotations). }"}}}});w(b,"Accessibility/Options/DeprecatedOptions.js",[b["Core/Utilities.js"]], function(b){function k(b,f,e){for(var a,c=0;cg?h.length+g:Math.min(g,h.length),f=0;fb?(a=h[h.length+b],"undefined"===typeof a&&(a=h[0])):(a=h[b],"undefined"===typeof a&&(a=h[h.length-1]))),"undefined"!==typeof a?a:""):"{"+b+"}"}var p=k.format,t=k.pick;b.i18nFormat=function(b,h,k){var g=function(a,b){a=a.slice(b||0);var c=a.indexOf("{"),d=a.indexOf("}");if(-1c)return{statement:a.substring(c+1,d),begin:b+c+1,end:b+d}},f=[],e=0;do{var a=g(b,e);var c=b.substring(e,a&&a.begin- 1);c.length&&f.push({value:c,type:"constant"});a&&f.push({value:a.statement,type:"statement"});e=a?a.end+1:e+1}while(a);f.forEach(function(a){"statement"===a.type&&(a.value=n(a.value,h))});return p(f.reduce(function(a,b){return a+b.value},""),h,k)};b.Chart.prototype.langFormat=function(g,h){g=g.split(".");for(var k=this.options.lang,n=0;n