var jt={exports:{}};(function(Xt){(function(Rt){Xt.exports?(Rt.default=Rt,Xt.exports=Rt):Rt(typeof Highcharts<"u"?Highcharts:void 0)})(function(Rt){var x=Rt?Rt._modules:{};function mt(b,v,w,L){b.hasOwnProperty(v)||(b[v]=L.apply(null,w),typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:v,module:b[v]}})))}mt(x,"Extensions/Boost/Boostables.js",[],function(){return["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"]}),mt(x,"Extensions/Boost/BoostableMap.js",[x["Extensions/Boost/Boostables.js"]],function(b){let v={};return b.forEach(w=>{v[w]=!0}),v}),mt(x,"Extensions/Boost/BoostChart.js",[x["Extensions/Boost/BoostableMap.js"],x["Core/Globals.js"],x["Core/Utilities.js"]],function(b,v,w){let{composed:L}=v,{addEvent:m,pick:z,pushUnique:T}=w;function q(r){let E=r.series,y=r.boost=r.boost||{},_=r.options.boost||{},D=z(_.seriesThreshold,50);if(E.length>=D)return!0;if(E.length===1)return!1;let N=_.allowForce;if(N===void 0){for(let ot of(N=!0,r.xAxis))if(z(ot.min,-1/0)>z(ot.dataMin,-1/0)||z(ot.max,1/0)<z(ot.dataMax,1/0)){N=!1;break}}if(y.forceChartBoost!==void 0){if(N)return y.forceChartBoost;y.forceChartBoost=void 0}let tt=0,rt=0,Z;for(let ot of E)(Z=ot.options).boostThreshold!==0&&ot.visible!==!1&&ot.type!=="heatmap"&&(b[ot.type]&&++tt,function(...t){let i=-Number.MAX_VALUE;return t.forEach(function(a){if(a!=null&&a.length!==void 0&&a.length>0)return i=a.length,!0}),i}(ot.processedXData,Z.data,ot.points)>=(Z.boostThreshold||Number.MAX_VALUE)&&++rt);return y.forceChartBoost=N&&(tt===E.length&&rt===tt||rt>5),y.forceChartBoost}function st(r){function E(){r.boost&&r.boost.wgl&&q(r)&&r.boost.wgl.render(r)}m(r,"predraw",function(){r.boost=r.boost||{},r.boost.forceChartBoost=void 0,r.boosted=!1,r.boost.clear&&r.boost.clear(),r.boost.canvas&&r.boost.wgl&&q(r)&&r.boost.wgl.allocateBuffer(r),r.boost.markerGroup&&r.xAxis&&r.xAxis.length>0&&r.yAxis&&r.yAxis.length>0&&r.boost.markerGroup.translate(r.xAxis[0].pos,r.yAxis[0].pos)}),m(r,"load",E,{order:-1}),m(r,"redraw",E);let y=-1,_=-1;m(r.pointer,"afterGetHoverData",()=>{let D=r.hoverSeries;if(r.boost=r.boost||{},r.boost.markerGroup&&D){let N=r.inverted?D.yAxis:D.xAxis,tt=r.inverted?D.xAxis:D.yAxis;(N&&N.pos!==y||tt&&tt.pos!==_)&&(r.boost.markerGroup.translate(N.pos,tt.pos),y=N.pos,_=tt.pos)}})}return{compose:function r(E,y){return y&&T(L,r)&&E.prototype.callbacks.push(st),E},getBoostClipRect:function(r,E){let y={x:r.plotLeft,y:r.plotTop,width:r.plotWidth,height:r.navigator?r.navigator.top+r.navigator.height-r.plotTop:r.plotHeight};if(E.getClipBox){let{xAxis:_,yAxis:D}=E;if(y=E.getClipBox(),r.inverted){let N=y.width;y.width=y.height,y.height=N,y.x=D.pos,y.y=_.pos}else y.x=_.pos,y.y=D.pos}if(E===r){let _=r.inverted?r.xAxis:r.yAxis;_.length<=1&&(y.y=Math.min(_[0].pos,y.y),y.height=_[0].pos-r.plotTop+_[0].len)}return y},isChartSeriesBoosting:q}}),mt(x,"Extensions/Boost/WGLDrawMode.js",[],function(){return{area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"}}),mt(x,"Extensions/Boost/WGLShader.js",[x["Core/Utilities.js"]],function(b){let{clamp:v,error:w,pick:L}=b;return class{constructor(m){this.errors=[],this.uLocations={},this.gl=m,m&&this.createShader()}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let m=this.stringToProgram(`#version 100
#define LN10 2.302585092994046
precision highp float;
attribute vec4 aVertexPosition;
attribute vec4 aColor;
varying highp vec2 position;
varying highp vec4 vColor;
uniform mat4 uPMatrix;
uniform float pSize;
uniform float translatedThreshold;
uniform bool hasThreshold;
uniform bool skipTranslation;
uniform float xAxisTrans;
uniform float xAxisMin;
uniform float xAxisMinPad;
uniform float xAxisPointRange;
uniform float xAxisLen;
uniform bool  xAxisPostTranslate;
uniform float xAxisOrdinalSlope;
uniform float xAxisOrdinalOffset;
uniform float xAxisPos;
uniform bool  xAxisCVSCoord;
uniform bool  xAxisIsLog;
uniform bool  xAxisReversed;
uniform float yAxisTrans;
uniform float yAxisMin;
uniform float yAxisMinPad;
uniform float yAxisPointRange;
uniform float yAxisLen;
uniform bool  yAxisPostTranslate;
uniform float yAxisOrdinalSlope;
uniform float yAxisOrdinalOffset;
uniform float yAxisPos;
uniform bool  yAxisCVSCoord;
uniform bool  yAxisIsLog;
uniform bool  yAxisReversed;
uniform bool  isBubble;
uniform bool  bubbleSizeByArea;
uniform float bubbleZMin;
uniform float bubbleZMax;
uniform float bubbleZThreshold;
uniform float bubbleMinSize;
uniform float bubbleMaxSize;
uniform bool  bubbleSizeAbs;
uniform bool  isInverted;
float bubbleRadius(){
float value = aVertexPosition.w;
float zMax = bubbleZMax;
float zMin = bubbleZMin;
float radius = 0.0;
float pos = 0.0;
float zRange = zMax - zMin;
if (bubbleSizeAbs){
value = value - bubbleZThreshold;
zMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);
zMin = 0.0;
}
if (value < zMin){
radius = bubbleZMin / 2.0 - 1.0;
} else {
pos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;
if (bubbleSizeByArea && pos > 0.0){
pos = sqrt(pos);
}
radius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;
}
return radius * 2.0;
}
float translate(float val,
float pointPlacement,
float localA,
float localMin,
float minPixelPadding,
float pointRange,
float len,
bool  cvsCoord,
bool  isLog,
bool  reversed
){
float sign = 1.0;
float cvsOffset = 0.0;
if (cvsCoord) {
sign *= -1.0;
cvsOffset = len;
}
if (isLog) {
val = log(val) / LN10;
}
if (reversed) {
sign *= -1.0;
cvsOffset -= sign * len;
}
return sign * (val - localMin) * localA + cvsOffset + 
(sign * minPixelPadding);
}
float xToPixels(float value) {
if (skipTranslation){
return value;// + xAxisPos;
}
return translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;
}
float yToPixels(float value, float checkTreshold) {
float v;
if (skipTranslation){
v = value;// + yAxisPos;
} else {
v = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;
if (v > yAxisLen) {
v = yAxisLen;
}
}
if (checkTreshold > 0.0 && hasThreshold) {
v = min(v, translatedThreshold);
}
return v;
}
void main(void) {
if (isBubble){
gl_PointSize = bubbleRadius();
} else {
gl_PointSize = pSize;
}
vColor = aColor;
if (skipTranslation && isInverted) {
gl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);
} else if (isInverted) {
gl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);
} else {
gl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);
}
}`,"vertex"),z=this.stringToProgram(`precision highp float;
uniform vec4 fillColor;
varying highp vec2 position;
varying highp vec4 vColor;
uniform sampler2D uSampler;
uniform bool isCircle;
uniform bool hasColor;
void main(void) {
vec4 col = fillColor;
vec4 tcol = texture2D(uSampler, gl_PointCoord.st);
if (hasColor) {
col = vColor;
}
if (isCircle) {
col *= tcol;
if (tcol.r < 0.0) {
discard;
} else {
gl_FragColor = col;
}
} else {
gl_FragColor = col;
}
}`,"fragment"),T=q=>this.gl.getUniformLocation(this.shaderProgram,q);return m&&z?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,m),this.gl.attachShader(this.shaderProgram,z),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS)?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=T("uPMatrix"),this.psUniform=T("pSize"),this.fcUniform=T("fillColor"),this.isBubbleUniform=T("isBubble"),this.bubbleSizeAbsUniform=T("bubbleSizeAbs"),this.bubbleSizeAreaUniform=T("bubbleSizeByArea"),this.uSamplerUniform=T("uSampler"),this.skipTranslationUniform=T("skipTranslation"),this.isCircleUniform=T("isCircle"),this.isInverted=T("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1,!1)):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&w("[highcharts boost] shader error - "+this.errors.join(`
`))}stringToProgram(m,z){let T=this.gl.createShader(z==="vertex"?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return this.gl.shaderSource(T,m),this.gl.compileShader(T),this.gl.getShaderParameter(T,this.gl.COMPILE_STATUS)?T:(this.errors.push("when compiling "+z+` shader:
`+this.gl.getShaderInfoLog(T)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(m,z,T,q=1){let st=m.options,r=Number.MAX_VALUE,E=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&m.is("bubble")){let y=m.getPxExtremes();r=L(st.zMin,v(z,st.displayNegative===!1?st.zThreshold:-Number.MAX_VALUE,r)),E=L(st.zMax,Math.max(E,T)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,m.options.sizeBy!=="width"),this.gl.uniform1i(this.bubbleSizeAbsUniform,m.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",y.minPxSize*q),this.setUniform("bubbleMaxSize",y.maxPxSize*q),this.setUniform("bubbleZMin",r),this.setUniform("bubbleZMax",E),this.setUniform("bubbleZThreshold",m.options.zThreshold)}}setColor(m){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,m[0]/255,m[1]/255,m[2]/255,m[3])}setDrawAsCircle(m){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,m?1:0)}setInverted(m){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,m)}setPMatrix(m){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,m)}setPointSize(m){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,m)}setSkipTranslation(m){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,m===!0?1:0)}setTexture(m){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,m)}setUniform(m,z){if(this.gl&&this.shaderProgram){let T=this.uLocations[m]=this.uLocations[m]||this.gl.getUniformLocation(this.shaderProgram,m);this.gl.uniform1f(T,z)}}}}),mt(x,"Extensions/Boost/WGLVertexBuffer.js",[],function(){return class{constructor(b,v,w){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=w||2,this.dataComponents=w,this.gl=b,this.shader=v}allocate(b){this.iterator=-1,this.preAllocated=new Float32Array(4*b)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(b,v,w){let L;return this.data=b||[],this.data&&this.data.length!==0||this.preAllocated?(this.components=w||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(L=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||L,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),v),this.gl.enableVertexAttribArray(this.vertAttribute),L=!1,!0):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(b,v,w,L){this.preAllocated&&(this.preAllocated[++this.iterator]=b,this.preAllocated[++this.iterator]=v,this.preAllocated[++this.iterator]=w,this.preAllocated[++this.iterator]=L)}render(b,v,w){let L=this.preAllocated?this.preAllocated.length:this.data.length;return!!this.buffer&&!!L&&((!b||b>L||b<0)&&(b=0),(!v||v>L)&&(v=L),!(b>=v)&&(w=w||"POINTS",this.gl.drawArrays(this.gl[w],b/this.components,(v-b)/this.components),!0))}}}),mt(x,"Extensions/Boost/WGLRenderer.js",[x["Core/Color/Color.js"],x["Core/Globals.js"],x["Core/Utilities.js"],x["Extensions/Boost/WGLDrawMode.js"],x["Extensions/Boost/WGLShader.js"],x["Extensions/Boost/WGLVertexBuffer.js"]],function(b,v,w,L,m,z){let{parse:T}=b,{doc:q,win:st}=v,{isNumber:r,isObject:E,merge:y,objectEach:_,pick:D}=w,N={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},tt={scatter:!0,bubble:!0},rt=["webgl","experimental-webgl","moz-webgl","webkit-3d"];class Z{static orthoMatrix(t,i){return[2/t,0,0,0,0,-(2/i),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(t){let i,a,s;return t.boosted?(i=!!t.options.stacking,a=t.xData||t.options.xData||t.processedXData,s=(i?t.data:a||t.options.data).length,t.type==="treemap"?s*=12:t.type==="heatmap"?s*=6:N[t.type]&&(s*=2),s):0}constructor(t){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=t,this.settings={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}}}getPixelRatio(){return this.settings.pixelRatio||st.devicePixelRatio||1}setOptions(t){"pixelRatio"in t||(t.pixelRatio=1),y(!0,this.settings,t)}allocateBuffer(t){let i=this.vbuffer,a=0;this.settings.usePreallocated&&(t.series.forEach(s=>{s.boosted&&(a+=Z.seriesPointCount(s))}),i&&i.allocate(a))}allocateBufferForSingleSeries(t){let i=this.vbuffer,a=0;this.settings.usePreallocated&&(t.boosted&&(a=Z.seriesPointCount(t)),i&&i.allocate(a))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(t,i){let a=this.data,s=this.settings,V=this.vbuffer,K=t.pointArrayMap&&t.pointArrayMap.join(",")==="low,high",{chart:u,options:U,sorted:g,xAxis:Q,yAxis:S}=t,Tt=!!U.stacking,bt=U.data,Ct=t.xAxis.getExtremes(),ft=Ct.min-(t.xAxis.minPointOffset||0),yt=Ct.max+(t.xAxis.minPointOffset||0),zt=t.yAxis.getExtremes(),pt=zt.min-(t.yAxis.minPointOffset||0),J=zt.max+(t.yAxis.minPointOffset||0),kt=t.xData||U.xData||t.processedXData,Pt=t.yData||U.yData||t.processedYData,et=t.zData||U.zData||t.processedZData,_t=!kt||kt.length===0,Nt=U.connectNulls,wt=t.points||!1,e=Tt?t.data:kt||bt,o={x:Number.MAX_VALUE,y:0},d={x:-Number.MAX_VALUE,y:0},c=u.index===void 0,l=N[t.type],P=U.zoneAxis||"y",f=U.zones||!1,p=U.threshold,n=this.getPixelRatio(),G=t.chart.plotWidth,$=!1,H=!1,it,Y,Et=0,Dt=!1,C,M,O,nt,R=-1,at=!1,ut=!1,lt,gt=!1,vt=!1,I=!1,ct=!1,Ut=!0,St=!0,xt,At=!1,Bt=!1,Lt=0;if(U.boostData&&U.boostData.length>0)return;if(U.gapSize&&(Bt=U.gapUnit!=="value"?U.gapSize*t.closestPointRange:U.gapSize),f&&(xt=[],f.forEach((h,A)=>{if(h.color){let k=T(h.color).rgba;k[0]/=255,k[1]/=255,k[2]/=255,xt[A]=k,At||h.value!==void 0||(At=k)}}),!At)){let h=t.pointAttribs&&t.pointAttribs().fill||t.color;At=T(h).rgba,At[0]/=255,At[1]/=255,At[2]/=255}u.inverted&&(G=t.chart.plotHeight),t.closestPointRangePx=Number.MAX_VALUE;let B=h=>{h&&(i.colorData.push(h[0]),i.colorData.push(h[1]),i.colorData.push(h[2]),i.colorData.push(h[3]))},X=(h,A,k,F=1,W)=>{B(W),n!==1&&(!s.useGPUTranslations||i.skipTranslation)&&(h*=n,A*=n,F*=n),s.usePreallocated&&V?(V.push(h,A,k?1:0,F),Lt+=4):(a.push(h),a.push(A),a.push(k?n:0),a.push(F))},Mt=()=>{i.segments.length&&(i.segments[i.segments.length-1].to=a.length||Lt)},ht=()=>{i.segments.length&&i.segments[i.segments.length-1].from===(a.length||Lt)||(Mt(),i.segments.push({from:a.length||Lt}))},j=(h,A,k,F,W)=>{B(W),X(h+k,A),B(W),X(h,A),B(W),X(h,A+F),B(W),X(h,A+F),B(W),X(h+k,A+F),B(W),X(h+k,A)};if(ht(),wt&&wt.length>0){i.skipTranslation=!0,i.drawMode="TRIANGLES",wt[0].node&&wt[0].node.levelDynamic&&wt.sort((h,A)=>{if(h.node){if(h.node.levelDynamic>A.node.levelDynamic)return 1;if(h.node.levelDynamic<A.node.levelDynamic)return-1}return 0}),wt.forEach(h=>{let A,k,F=h.plotY;if(F!==void 0&&!isNaN(F)&&h.y!==null&&h.shapeArgs){let{x:W=0,y:It=0,width:Gt=0,height:Ot=0}=h.shapeArgs;A=(k=u.styledMode?h.series.colorAttribs(h):k=h.series.pointAttribs(h))["stroke-width"]||0,I=T(k.fill).rgba,I[0]/=255,I[1]/=255,I[2]/=255,t.is("treemap")&&(A=A||1,Y=T(k.stroke).rgba,Y[0]/=255,Y[1]/=255,Y[2]/=255,j(W,It,Gt,Ot,Y),A/=2),t.is("heatmap")&&u.inverted&&(W=Q.len-W,It=S.len-It,Gt=-Gt,Ot=-Ot),j(W+A,It+A,Gt-2*A,Ot-2*A,I)}}),Mt();return}for(;R<e.length-1;){if((O=e[++R])===void 0)continue;if(c)break;let h=bt&&bt[R];if(!_t&&E(h,!0)&&h.color&&(I=T(h.color).rgba,I[0]/=255,I[1]/=255,I[2]/=255),_t?(C=O[0],M=O[1],e[R+1]&&(ut=e[R+1][0]),e[R-1]&&(at=e[R-1][0]),O.length>=3&&(nt=O[2],O[2]>i.zMax&&(i.zMax=O[2]),O[2]<i.zMin&&(i.zMin=O[2]))):(C=O,M=Pt[R],e[R+1]&&(ut=e[R+1]),e[R-1]&&(at=e[R-1]),et&&et.length&&(nt=et[R],et[R]>i.zMax&&(i.zMax=et[R]),et[R]<i.zMin&&(i.zMin=et[R]))),!Nt&&(C===null||M===null)){ht();continue}if(ut&&ut>=ft&&ut<=yt&&(gt=!0),at&&at>=ft&&at<=yt&&(vt=!0),K?(_t&&(M=O.slice(1,3)),lt=M[0],M=M[1]):Tt&&(C=O.x,lt=(M=O.stackY)-O.y),pt!=null&&J!=null&&(Ut=M>=pt&&M<=J),C>yt&&d.x<yt&&(d.x=C,d.y=M),C<ft&&o.x>ft&&(o.x=C,o.y=M),M!==null||!Nt){if(M===null||!Ut&&!gt&&!vt){ht();continue}if(g&&(ut>=ft||C>=ft)&&(at<=yt||C<=yt)&&(ct=!0),ct||gt||vt){if(Bt&&C-at>Bt&&ht(),f){let A;f.some((k,F)=>{let W=f[F-1];return P==="x"?k.value!==void 0&&C<=k.value&&(xt[F]&&(!W||C>=W.value)&&(A=xt[F]),!0):k.value!==void 0&&M<=k.value&&(xt[F]&&(!W||M>=W.value)&&(A=xt[F]),!0)}),I=A||At||I}if(s.useGPUTranslations||(i.skipTranslation=!0,C=Q.toPixels(C,!0),M=S.toPixels(M,!0),!(C>G)||i.drawMode!=="POINTS")){if(i.hasMarkers&&ct&&$!==!1&&(t.closestPointRangePx=Math.min(t.closestPointRangePx,Math.abs(C-$))),!s.useGPUTranslations&&!s.usePreallocated&&$&&1>Math.abs(C-$)&&H&&1>Math.abs(M-H)){s.debug.showSkipSummary&&++Et;continue}l&&(it=lt,(lt===!1||lt===void 0)&&(it=M<0?M:0),(K||Tt)&&!S.logarithmic||(it=Math.max(p===null?pt:p,pt)),s.useGPUTranslations||(it=S.toPixels(it,!0)),X(C,it,0,0,I)),U.step&&!St&&X(C,H,0,2,I),X(C,M,0,t.type==="bubble"?nt||1:2,I),$=C,H=M,Dt=!0,St=!1}}}}s.debug.showSkipSummary&&console.log("skipped points:",Et);let dt=(h,A)=>{if(s.useGPUTranslations||(i.skipTranslation=!0,h.x=Q.toPixels(h.x,!0),h.y=S.toPixels(h.y,!0)),A){this.data=[h.x,h.y,0,2].concat(this.data);return}X(h.x,h.y,0,2)};!Dt&&Nt!==!1&&t.drawMode==="line_strip"&&(o.x<Number.MAX_VALUE&&dt(o,!0),d.x>-Number.MAX_VALUE&&dt(d)),Mt()}pushSeries(t){let i=this.markerData,a=this.series,s=this.settings;a.length>0&&a[a.length-1].hasMarkers&&(a[a.length-1].markerTo=i.length),s.debug.timeSeriesProcessing&&console.time("building "+t.type+" series");let V={segments:[],markerFrom:i.length,colorData:[],series:t,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!t.options.marker&&t.options.marker.enabled!==!1,showMarkers:!0,drawMode:L[t.type]||"LINE_STRIP"};t.index>=a.length?a.push(V):a[t.index]=V,this.pushSeriesData(t,V),s.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let i=this.shader;if(!i)return;let a=this.getPixelRatio();i.setUniform("xAxisTrans",t.transA*a),i.setUniform("xAxisMin",t.min),i.setUniform("xAxisMinPad",t.minPixelPadding*a),i.setUniform("xAxisPointRange",t.pointRange),i.setUniform("xAxisLen",t.len*a),i.setUniform("xAxisPos",t.pos*a),i.setUniform("xAxisCVSCoord",!t.horiz),i.setUniform("xAxisIsLog",!!t.logarithmic),i.setUniform("xAxisReversed",!!t.reversed)}setYAxis(t){let i=this.shader;if(!i)return;let a=this.getPixelRatio();i.setUniform("yAxisTrans",t.transA*a),i.setUniform("yAxisMin",t.min),i.setUniform("yAxisMinPad",t.minPixelPadding*a),i.setUniform("yAxisPointRange",t.pointRange),i.setUniform("yAxisLen",t.len*a),i.setUniform("yAxisPos",t.pos*a),i.setUniform("yAxisCVSCoord",!t.horiz),i.setUniform("yAxisIsLog",!!t.logarithmic),i.setUniform("yAxisReversed",!!t.reversed)}setThreshold(t,i){let a=this.shader;a&&(a.setUniform("hasThreshold",t),a.setUniform("translatedThreshold",i))}renderChart(t){let i=this.gl,a=this.settings,s=this.shader,V=this.vbuffer,K=this.getPixelRatio();if(!t)return!1;this.width=t.chartWidth*K,this.height=t.chartHeight*K;let u=this.height,U=this.width;if(!i||!s||!U||!u)return!1;a.debug.timeRendering&&console.time("gl rendering"),i.canvas.width=U,i.canvas.height=u,s.bind(),i.viewport(0,0,U,u),s.setPMatrix(Z.orthoMatrix(U,u)),a.lineWidth>1&&!v.isMS&&i.lineWidth(a.lineWidth),V&&(V.build(this.data,"aVertexPosition",4),V.bind()),s.setInverted(t.inverted),this.series.forEach((g,Q)=>{let S=g.series.options,Tt=S.marker,bt=S.lineWidth!==void 0?S.lineWidth:1,Ct=S.threshold,ft=r(Ct),yt=g.series.yAxis.getThreshold(Ct),zt=D(S.marker?S.marker.enabled:null,!!g.series.xAxis.isRadial||null,g.series.closestPointRangePx>2*((S.marker?S.marker.radius:10)||10)),pt=this.textureHandles[Tt&&Tt.symbol||g.series.symbol]||this.textureHandles.circle,J,kt,Pt,et=[];if(g.segments.length!==0&&g.segments[0].from!==g.segments[0].to&&(pt.isReady&&(i.bindTexture(i.TEXTURE_2D,pt.handle),s.setTexture(pt.handle)),t.styledMode?Pt=g.series.markerGroup&&g.series.markerGroup.getStyle("fill"):(Pt=g.drawMode==="POINTS"&&g.series.pointAttribs&&g.series.pointAttribs().fill||g.series.color,S.colorByPoint&&(Pt=g.series.chart.options.colors[Q])),g.series.fillOpacity&&S.fillOpacity&&(Pt=new b(Pt).setOpacity(D(S.fillOpacity,1)).get()),et=T(Pt).rgba,a.useAlpha||(et[3]=1),g.drawMode==="LINES"&&a.useAlpha&&et[3]<1&&(et[3]/=10),S.boostBlending==="add"?(i.blendFunc(i.SRC_ALPHA,i.ONE),i.blendEquation(i.FUNC_ADD)):S.boostBlending==="mult"||S.boostBlending==="multiply"?i.blendFunc(i.DST_COLOR,i.ZERO):S.boostBlending==="darken"?(i.blendFunc(i.ONE,i.ONE),i.blendEquation(i.FUNC_MIN)):i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA),s.reset(),g.colorData.length>0?(s.setUniform("hasColor",1),(kt=new z(i,s)).build(Array(g.segments[0].from).concat(g.colorData),"aColor",4),kt.bind()):(s.setUniform("hasColor",0),i.disableVertexAttribArray(i.getAttribLocation(s.getProgram(),"aColor"))),s.setColor(et),this.setXAxis(g.series.xAxis),this.setYAxis(g.series.yAxis),this.setThreshold(ft,yt),g.drawMode==="POINTS"&&s.setPointSize(2*D(S.marker&&S.marker.radius,.5)*K),s.setSkipTranslation(g.skipTranslation),g.series.type==="bubble"&&s.setBubbleUniforms(g.series,g.zMin,g.zMax,K),s.setDrawAsCircle(tt[g.series.type]||!1),V)){if(bt>0||g.drawMode!=="LINE_STRIP")for(J=0;J<g.segments.length;J++)V.render(g.segments[J].from,g.segments[J].to,g.drawMode);if(g.hasMarkers&&zt)for(s.setPointSize(2*D(S.marker&&S.marker.radius,5)*K),s.setDrawAsCircle(!0),J=0;J<g.segments.length;J++)V.render(g.segments[J].from,g.segments[J].to,"POINTS")}}),a.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(t){if(this.clear(),t.renderer.forExport)return this.renderChart(t);this.isInited?this.renderChart(t):setTimeout(()=>{this.render(t)},1)}setSize(t,i){let a=this.shader;a&&(this.width!==t||this.height!==i)&&(this.width=t,this.height=i,a.bind(),a.setPMatrix(Z.orthoMatrix(t,i)))}init(t,i){let a=this.settings;if(this.isInited=!1,!t)return!1;a.debug.timeSetup&&console.time("gl setup");for(let u=0;u<rt.length&&(this.gl=t.getContext(rt[u],{}),!this.gl);++u);let s=this.gl;if(!s)return!1;i||this.flush(),s.enable(s.BLEND),s.blendFunc(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),s.disable(s.DEPTH_TEST),s.depthFunc(s.LESS);let V=this.shader=new m(s);if(!V)return!1;this.vbuffer=new z(s,V);let K=(u,U)=>{let g={isReady:!1,texture:q.createElement("canvas"),handle:s.createTexture()},Q=g.texture.getContext("2d");this.textureHandles[u]=g,g.texture.width=512,g.texture.height=512,Q.mozImageSmoothingEnabled=!1,Q.webkitImageSmoothingEnabled=!1,Q.msImageSmoothingEnabled=!1,Q.imageSmoothingEnabled=!1,Q.strokeStyle="rgba(255, 255, 255, 0)",Q.fillStyle="#FFF",U(Q);try{s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,g.handle),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,g.texture),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.bindTexture(s.TEXTURE_2D,null),g.isReady=!0}catch{}};return K("circle",u=>{u.beginPath(),u.arc(256,256,256,0,2*Math.PI),u.stroke(),u.fill()}),K("square",u=>{u.fillRect(0,0,512,512)}),K("diamond",u=>{u.beginPath(),u.moveTo(256,0),u.lineTo(512,256),u.lineTo(256,512),u.lineTo(0,256),u.lineTo(256,0),u.fill()}),K("triangle",u=>{u.beginPath(),u.moveTo(0,512),u.lineTo(256,0),u.lineTo(512,512),u.lineTo(0,512),u.fill()}),K("triangle-down",u=>{u.beginPath(),u.moveTo(0,0),u.lineTo(256,512),u.lineTo(512,0),u.lineTo(0,0),u.fill()}),this.isInited=!0,a.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,i=this.shader,a=this.vbuffer;this.flush(),a&&a.destroy(),i&&i.destroy(),t&&(_(this.textureHandles,s=>{s.handle&&t.deleteTexture(s.handle)}),t.canvas.width=1,t.canvas.height=1)}}return Z}),mt(x,"Extensions/Boost/BoostSeries.js",[x["Extensions/Boost/BoostableMap.js"],x["Extensions/Boost/Boostables.js"],x["Extensions/Boost/BoostChart.js"],x["Core/Defaults.js"],x["Core/Globals.js"],x["Core/Utilities.js"],x["Extensions/Boost/WGLRenderer.js"]],function(b,v,w,L,m,z,T){let q,st,{getBoostClipRect:r,isChartSeriesBoosting:E}=w,{getOptions:y}=L,{composed:_,doc:D,noop:N,win:tt}=m,{addEvent:rt,destroyObjectProperties:Z,error:ot,extend:t,fireEvent:i,isArray:a,isNumber:s,pick:V,pushUnique:K,wrap:u,defined:U}=z;function g(e,o){let d=o.boost;e&&d&&d.target&&d.canvas&&!E(o.chart)&&e.allocateBufferForSingleSeries(o)}function Q(e){return V(e&&e.options&&e.options.boost&&e.options.boost.enabled,!0)}function S(e,o){let d=e.constructor,c=e.seriesGroup||o.group,l=e.chartWidth,P=e.chartHeight,f=e,p=typeof SVGForeignObjectElement<"u";f=E(e)?e:o;let n=f.boost=f.boost||{};return p=!1,st||(st=D.createElement("canvas")),!n.target&&(n.canvas=st,e.renderer.forExport||!p?(f.renderTarget=n.target=e.renderer.image("",0,0,l,P).addClass("highcharts-boost-canvas").add(c),n.clear=function(){n.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},n.copy=function(){n.resize(),n.target.attr({href:n.canvas.toDataURL("image/png")})}):(n.targetFo=e.renderer.createElement("foreignObject").add(c),f.renderTarget=n.target=D.createElement("canvas"),n.targetCtx=n.target.getContext("2d"),n.targetFo.element.appendChild(n.target),n.clear=function(){n.target.width=n.canvas.width,n.target.height=n.canvas.height},n.copy=function(){n.target.width=n.canvas.width,n.target.height=n.canvas.height,n.targetCtx.drawImage(n.canvas,0,0)}),n.resize=function(){l=e.chartWidth,P=e.chartHeight,(n.targetFo||n.target).attr({x:0,y:0,width:l,height:P}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1}),f instanceof d&&f.boost.markerGroup.translate(e.plotLeft,e.plotTop)},n.clipRect=e.renderer.clipRect(),(n.targetFo||n.target).attr({zIndex:o.options.zIndex}).clip(n.clipRect),f instanceof d&&(f.boost.markerGroup=f.renderer.g().add(c).translate(o.xAxis.pos,o.yAxis.pos))),n.canvas.width=l,n.canvas.height=P,n.clipRect&&n.clipRect.attr(r(e,f)),n.resize(),n.clear(),!n.wgl&&(n.wgl=new T(G=>{G.settings.debug.timeBufferCopy&&console.time("buffer copy"),n.copy(),G.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),n.wgl.init(n.canvas)||ot("[highcharts boost] - unable to init WebGL renderer"),n.wgl.setOptions(e.options.boost||{}),f instanceof d&&n.wgl.allocateBuffer(e)),n.wgl.setSize(l,P),n.wgl}function Tt(e){let o=e.points;if(o){let d,c;for(c=0;c<o.length;c+=1)(d=o[c])&&d.destroyElements&&d.destroyElements()}["graph","area","tracker"].forEach(d=>{let c=e[d];c&&(e[d]=c.destroy())}),e.zones.forEach(Z)}function bt(e,o,d,c,l,P){l=l||0,c=c||3e3;let f=l+c,p=!0;for(;p&&l<f&&l<e.length;)p=o(e[l],l),++l;p&&(l<e.length?P?bt(e,o,d,c,l,P):tt.requestAnimationFrame?tt.requestAnimationFrame(function(){bt(e,o,d,c,l)}):setTimeout(bt,0,e,o,d,c,l):d&&d())}function Ct(e,o){let d=e.options,c=d.data,l=e.xAxis&&e.xAxis.options,P=e.yAxis&&e.yAxis.options,f=e.colorAxis&&e.colorAxis.options;return c.length>(d.boostThreshold||Number.MAX_VALUE)&&s(P.min)&&s(P.max)&&(!o||s(l.min)&&s(l.max))&&(!f||s(f.min)&&s(f.max))}let ft=(e,o)=>!e.forceCrop&&(E(e.chart)||(o?o.length:0)>=(e.options.boostThreshold||Number.MAX_VALUE));function yt(){let e=this,o=e.chart;o.boost&&o.boost.markerGroup===e.markerGroup&&(e.markerGroup=null),o.hoverPoints&&(o.hoverPoints=o.hoverPoints.filter(function(d){return d.series===e})),o.hoverPoint&&o.hoverPoint.series===e&&(o.hoverPoint=null)}function zt(){let e=this.boost;e&&e.canvas&&e.target&&(e.wgl&&e.wgl.clear(),e.clear&&e.clear())}function pt(e){let o=e.boost;o&&o.canvas&&o.target&&o.wgl&&!E(e.chart)&&o.wgl.render(e.chart)}function J(e,o){let d=e.options,c=e.xAxis,l=e.pointClass;if(o instanceof l)return o;let P=e.xData||d.xData||e.processedXData||!1,f=new l(e,(e.options.data||[])[o.i],P?P[o.i]:void 0);return f.category=V(c.categories?c.categories[f.x]:f.x,f.x),f.dist=o.dist,f.distX=o.distX,f.plotX=o.plotX,f.plotY=o.plotY,f.index=o.i,f.percentage=o.percentage,f.isInside=e.isPointInside(f),f}function kt(e){var at,ut,lt,gt,vt,I;let{options:o,xAxis:d,yAxis:c}=this;if(!this.isDirty&&!d.isDirty&&!c.isDirty&&!e)return!1;this.yAxis.setTickInterval();let l=o.boostThreshold||0,P=o.cropThreshold,f=o.data||this.data,p=this.xData,n=d.getExtremes(),G=n.max,$=n.min,H=this.yData,it=c.getExtremes(),Y=it.max,Et=it.min;if(!this.boosted&&d.old&&c.old&&$>=((at=d.old.min)!=null?at:-Number.MAX_VALUE)&&G<=((ut=d.old.max)!=null?ut:Number.MAX_VALUE)&&Et>=((lt=c.old.min)!=null?lt:-Number.MAX_VALUE)&&Y<=((gt=c.old.max)!=null?gt:Number.MAX_VALUE))return(vt=this.processedXData)!=null||(this.processedXData=p),(I=this.processedYData)!=null||(this.processedYData=H),!0;if(!l||f.length<l||P&&!this.forceCrop&&!this.getExtremesFromAll&&!o.getExtremesFromAll&&f.length<P)return this.processedXData=p,this.processedYData=H,!0;let Dt=[],C=[],M=[],O=!1,nt,R;for(let ct=0,Ut=p.length;ct<Ut;++ct)nt=p[ct],R=H[ct],nt>=$&&nt<=G&&R>=Et&&R<=Y?(Dt.push({x:nt,y:R}),C.push(nt),M.push(R)):O=!0;return this.cropped=O,this.cropStart=0,this.processedXData=C,this.processedYData=M,ft(this,C)||(this.processedData=Dt),!0}function Pt(){let e=this.options||{},o=this.chart,d=this.xAxis,c=this.yAxis,l=e.xData||this.processedXData,P=e.yData||this.processedYData,f=this.processedData||e.data,p=d.getExtremes(),n=p.min-(d.minPointOffset||0),G=p.max+(d.minPointOffset||0),$=c.getExtremes(),H=$.min-(c.minPointOffset||0),it=$.max+(c.minPointOffset||0),Y={},Et=!!this.sampling,Dt=e.enableMouseTracking,C=e.threshold,M=this.pointArrayMap&&this.pointArrayMap.join(",")==="low,high",O=!!e.stacking,nt=this.cropStart||0,R=this.requireSorting,at=!l,ut=e.findNearestPointBy==="x",lt=this.xData||this.options.xData||this.processedXData||!1,gt=!1,vt,I=c.getThreshold(C),ct,Ut,St,xt;if(gt=S(o,this),o.boosted=!0,!this.visible)return;(this.points||this.graph)&&Tt(this),E(o)?(this.markerGroup&&this.markerGroup!==o.boost.markerGroup&&this.markerGroup.destroy(),this.markerGroup=o.boost.markerGroup,this.boost&&this.boost.target&&(this.renderTarget=this.boost.target=this.boost.target.destroy())):(o.boost&&this.markerGroup===o.boost.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers",!0,1,o.seriesGroup));let At=this.points=[],Bt=(B,X,Mt,ht)=>{let j=!!lt&&lt[nt+Mt],dt=h=>{o.inverted&&(h=d.len-h,X=c.len-X),At.push({destroy:N,x:j,clientX:h,plotX:h,plotY:X,i:nt+Mt,percentage:ht})};B=Math.ceil(B),q=ut?B:B+","+X,Dt&&(Y[q]?j===lt[lt.length-1]&&(At.length--,dt(B)):(Y[q]=!0,dt(B)))};this.buildKDTree=N,gt&&(g(gt,this),gt.pushSeries(this),pt(this));let Lt=gt.settings;o.renderer.forExport||(Lt.debug.timeKDTree&&console.time("kd tree building"),bt(O?this.data.slice(nt):l||f,function(B,X){let Mt=o.index===void 0,ht,j,dt,h,A,k=!1,F=!0;return!U(B)||(!Mt&&(at?(ht=B[0],j=B[1]):(ht=B,j=P[X]),M?(at&&(j=B.slice(1,3)),k=j[0],j=j[1]):O&&(ht=B.x,k=(j=B.stackY)-B.y,A=B.percentage),R||(F=(j||0)>=H&&j<=it),j!==null&&ht>=n&&ht<=G&&F&&(dt=d.toPixels(ht,!0),Et?((St===void 0||dt===vt)&&(M||(k=j),(xt===void 0||j>Ut)&&(Ut=j,xt=X),(St===void 0||k<ct)&&(ct=k,St=X)),ut&&dt===vt||(St!==void 0&&(h=c.toPixels(Ut,!0),I=c.toPixels(ct,!0),Bt(dt,h,xt,A),I!==h&&Bt(dt,I,St,A)),St=xt=void 0,vt=dt)):Bt(dt,h=Math.ceil(c.toPixels(j,!0)),X,A))),!Mt)},()=>{i(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),Lt.debug.timeKDTree&&console.timeEnd("kd tree building")}))}function et(e){let o=!0;if(this.chart.options&&this.chart.options.boost&&(o=this.chart.options.boost.enabled===void 0||this.chart.options.boost.enabled),!o||!this.boosted)return e.call(this);this.chart.boosted=!0;let d=S(this.chart,this);d&&(g(d,this),d.pushSeries(this)),pt(this)}function _t(e){return this.boosted&&Ct(this)?{}:e.apply(this,[].slice.call(arguments,1))}function Nt(e){let o=this.options.data;if(Q(this.chart)&&b[this.type]){let d=this.is("scatter")&&!this.is("bubble");if((!ft(this,o)||d||this.options.stacking||!Ct(this,!0))&&(d&&!this.yAxis.treeGrid?kt.call(this,arguments[1]):e.apply(this,[].slice.call(arguments,1)),o=this.processedXData),this.boosted=ft(this,o),this.boosted){let c;this.options.data&&this.options.data.length&&!s(c=this.getFirstValidPoint(this.options.data))&&!a(c)&&ot(12,!1,this.chart),function(l){var f;l.boost=l.boost||{getPoint:p=>J(l,p)};let P=l.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(p=>{P.push({prop:p,val:l[p],own:Object.hasOwnProperty.call(l,p)})}),l.allowDG=!1,l.directTouch=!1,l.stickyTracking=!0,l.finishedAnimating=!0,l.labelBySeries&&(l.labelBySeries=l.labelBySeries.destroy()),l.is("scatter")&&l.data.length){for(let p of l.data)(f=p==null?void 0:p.destroy)==null||f.call(p);l.data.length=0,l.points.length=0,delete l.processedData}}(this)}else(function(c){let l=c.boost;l&&((l.altered||[]).forEach(P=>{P.own?c[P.prop]=P.val:delete c[P.prop]}),l.clear&&l.clear())})(this)}else e.apply(this,[].slice.call(arguments,1))}function wt(e){let o=e.apply(this,[].slice.call(arguments,1));return this.boost&&o?this.boost.getPoint(o):o}return{compose:function e(o,d,c){if(K(_,e)){let l=y().plotOptions,P=o.prototype;if(rt(o,"destroy",yt),rt(o,"hide",zt),c&&(P.renderCanvas=Pt),u(P,"getExtremes",_t),u(P,"processData",Nt),u(P,"searchPoint",wt),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(f=>function(p,n,G){function $(H){let it=this.options.stacking&&(G==="translate"||G==="generatePoints");this.boosted&&!it&&Q(this.chart)&&this.type!=="heatmap"&&this.type!=="treemap"&&b[this.type]&&this.options.boostThreshold!==0?G==="render"&&this.renderCanvas&&this.renderCanvas():H.call(this)}if(u(p,G,$),G==="translate")for(let H of["column","arearange","columnrange","heatmap","treemap"])n[H]&&u(n[H].prototype,G,$)}(P,d,f)),v.forEach(f=>{let p=l[f];p&&(p.boostThreshold=5e3,p.boostData=[],d[f].prototype.fillOpacity=!0)}),c){let{area:f,areaspline:p,bubble:n,column:G,heatmap:$,scatter:H,treemap:it}=d;if(f&&t(f.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),p&&t(p.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),n){let Y=n.prototype;delete Y.buildKDTree,u(Y,"markerAttribs",function(Et){return!this.boosted&&Et.apply(this,[].slice.call(arguments,1))})}G&&t(G.prototype,{fill:!0,sampling:!0}),H&&(H.prototype.fill=!0),[$,it].forEach(Y=>{Y&&u(Y.prototype,"drawPoints",et)})}}return o},destroyGraphics:Tt,eachAsync:bt,getPoint:J}}),mt(x,"Extensions/Boost/NamedColors.js",[],function(){return{defaultHTMLColorMap:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}}),mt(x,"Extensions/Boost/Boost.js",[x["Extensions/Boost/BoostChart.js"],x["Extensions/Boost/BoostSeries.js"],x["Core/Globals.js"],x["Extensions/Boost/NamedColors.js"],x["Core/Utilities.js"]],function(b,v,w,L,m){let{composed:z,doc:T,win:q}=w,{error:st,pushUnique:r}=m,E=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function y(){let _;if(q.WebGLRenderingContext!==void 0){_=T.createElement("canvas");for(let D=0;D<E.length;++D)try{if(_.getContext(E[D])!=null)return!0}catch{}}return!1}return{compose:function _(D,N,tt,rt){let Z=y();Z||(w.initCanvasBoost!==void 0?w.initCanvasBoost():st(26)),rt&&r(z,_)&&(rt.names={...rt.names,...L.defaultHTMLColorMap}),b.compose(D,Z),v.compose(N,tt,Z)},hasWebGLSupport:y}}),mt(x,"masters/modules/boost.src.js",[x["Core/Globals.js"],x["Extensions/Boost/Boost.js"]],function(b,v){b.hasWebGLSupport=v.hasWebGLSupport,v.compose(b.Chart,b.Series,b.seriesTypes,b.Color)})})})(jt);const Vt=jt.exports;export{Vt as H};
