=q&&R("invalid-input"),ie=_(G.charCodeAt(re++)),(ie>=c||ie>P((a-$)/ce))&&R("overflow"),$+=ie*ce,de=Q<=Y?u:Q>=Y+f?f:Q-Y,!(ieP(a/me)&&R("overflow"),ce*=me;te=K.length+1,Y=L($-he,te,he==0),P($/te)>a-X&&R("overflow"),X+=P($/te),$%=te,K.splice($++,0,X)}return I(K)}function V(G){var K,q,te,$,X,Y,ae,ue,re,he,ce,Q=[],ie,de,me,Ee;for(G=v(G),ie=G.length,K=p,q=0,X=g,Y=0;Y =K&&ce P((a-q)/de)&&R("overflow"),q+=(ae-K)*de,K=ae,Y=0;Y a&&R("overflow"),ce==K){for(ue=q,re=c;he=re<=X?u:re>=X+f?f:re-X,!(ue i)throw new E("The number of color attachments exceeds the number supported.");for(c=0;ci)throw new E("The number of color attachments exceeds the number supported.");for(c=0;c=this._colorTextures.length)throw new E("index is required, must be greater than or equal to zero and must be less than the number of color attachments.");return this._colorTextures[e]};Wr.prototype.getColorRenderbuffer=function(e){if(!l(e)||e<0||e>=this._colorRenderbuffers.length)throw new E("index is required, must be greater than or equal to zero and must be less than the number of color attachments.");return this._colorRenderbuffers[e]};Wr.prototype.isDestroyed=function(){return!1};Wr.prototype.destroy=function(){if(this.destroyAttachments){let e=0;const t=this._colorTextures;let n=t.length;for(;e vt.maximumAliasedLineWidth)throw new E("renderState.lineWidth is out of range. Check minimumAliasedLineWidth and maximumAliasedLineWidth.");if(!ol.validate(this.frontFace))throw new E("Invalid renderState.frontFace.");if(!eme(this.cull.face))throw new E("Invalid renderState.cull.face.");if(this.scissorTest.rectangle.width<0||this.scissorTest.rectangle.height<0)throw new E("renderState.scissorTest.rectangle.width and renderState.scissorTest.rectangle.height must be greater than or equal to zero.");if(this.depthRange.near>this.depthRange.far)throw new E("renderState.depthRange.near can not be greater than renderState.depthRange.far.");if(this.depthRange.near<0)throw new E("renderState.depthRange.near must be greater than or equal to zero.");if(this.depthRange.far>1)throw new E("renderState.depthRange.far must be less than or equal to one.");if(!tme(this.depthTest.func))throw new E("Invalid renderState.depthTest.func.");if(this.blending.color.red<0||this.blending.color.red>1||this.blending.color.green<0||this.blending.color.green>1||this.blending.color.blue<0||this.blending.color.blue>1||this.blending.color.alpha<0||this.blending.color.alpha>1)throw new E("renderState.blending.color components must be greater than or equal to zero and less than or equal to one.");if(!vz(this.blending.equationRgb))throw new E("Invalid renderState.blending.equationRgb.");if(!vz(this.blending.equationAlpha))throw new E("Invalid renderState.blending.equationAlpha.");if(!fE(this.blending.functionSourceRgb))throw new E("Invalid renderState.blending.functionSourceRgb.");if(!fE(this.blending.functionSourceAlpha))throw new E("Invalid renderState.blending.functionSourceAlpha.");if(!fE(this.blending.functionDestinationRgb))throw new E("Invalid renderState.blending.functionDestinationRgb.");if(!fE(this.blending.functionDestinationAlpha))throw new E("Invalid renderState.blending.functionDestinationAlpha.");if(!Dz(this.stencilTest.frontFunction))throw new E("Invalid renderState.stencilTest.frontFunction.");if(!Dz(this.stencilTest.backFunction))throw new E("Invalid renderState.stencilTest.backFunction.");if(!pg(this.stencilTest.frontOperation.fail))throw new E("Invalid renderState.stencilTest.frontOperation.fail.");if(!pg(this.stencilTest.frontOperation.zFail))throw new E("Invalid renderState.stencilTest.frontOperation.zFail.");if(!pg(this.stencilTest.frontOperation.zPass))throw new E("Invalid renderState.stencilTest.frontOperation.zPass.");if(!pg(this.stencilTest.backOperation.fail))throw new E("Invalid renderState.stencilTest.backOperation.fail.");if(!pg(this.stencilTest.backOperation.zFail))throw new E("Invalid renderState.stencilTest.backOperation.zFail.");if(!pg(this.stencilTest.backOperation.zPass))throw new E("Invalid renderState.stencilTest.backOperation.zPass.");if(l(this.viewport)){if(this.viewport.width<0)throw new E("renderState.viewport.width must be greater than or equal to zero.");if(this.viewport.height<0)throw new E("renderState.viewport.height must be greater than or equal to zero.");if(this.viewport.width>vt.maximumViewportWidth)throw new E(`renderState.viewport.width must be less than or equal to the maximum viewport width (${vt.maximumViewportWidth.toString()}). Check maximumViewportWidth.`);if(this.viewport.height>vt.maximumViewportHeight)throw new E(`renderState.viewport.height must be less than or equal to the maximum viewport height (${vt.maximumViewportHeight.toString()}). Check maximumViewportHeight.`)}this.id=0,this._applyFunctions=[]}let nme=0,$u={};Ze.fromCache=function(e){const t=JSON.stringify(e);let n=$u[t];if(l(n))return++n.referenceCount,n.state;let i=new Ze(e);const o=JSON.stringify(i);return n=$u[o],l(n)||(i.id=nme++,i=TW(i),n={referenceCount:0,state:i},$u[o]=n),++n.referenceCount,$u[t]={referenceCount:1,state:n.state},n.state};Ze.removeFromCache=function(e){const t=new Ze(e),n=JSON.stringify(t),i=$u[n],o=JSON.stringify(e),r=$u[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete $u[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete $u[n]};Ze.getCache=function(){return $u};Ze.clearCache=function(){$u={}};function N_(e,t,n){n?e.enable(t):e.disable(t)}function EW(e,t){e.frontFace(t.frontFace)}function xW(e,t){const n=t.cull,i=n.enabled;N_(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function wW(e,t){e.lineWidth(t.lineWidth)}function SW(e,t){const n=t.polygonOffset,i=n.enabled;N_(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function vW(e,t,n){const i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(N_(e,e.SCISSOR_TEST,o),o){const r=l(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function DW(e,t){const n=t.depthRange;e.depthRange(n.near,n.far)}function IW(e,t){const n=t.depthTest,i=n.enabled;N_(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function PW(e,t){const n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function OW(e,t){e.depthMask(t.depthMask)}function LW(e,t){e.stencilMask(t.stencilMask)}function ime(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function BW(e,t,n){const i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;N_(e,e.BLEND,o),o&&(ime(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function RW(e,t){const n=t.stencilTest,i=n.enabled;if(N_(e,e.STENCIL_TEST,i),i){const o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);const c=n.frontOperation,u=c.fail,f=c.zFail,h=c.zPass;e.stencilOpSeparate(e.FRONT,u,f,h);const _=n.backOperation,g=_.fail,p=_.zFail,y=_.zPass;e.stencilOpSeparate(e.BACK,g,p,y)}}function NW(e,t){const n=t.sampleCoverage,i=n.enabled;N_(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}const ome=new Ye;function MW(e,t,n){let i=A(t.viewport,n.viewport);l(i)||(i=ome,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}Ze.apply=function(e,t,n){EW(e,t),xW(e,t),wW(e,t),SW(e,t),DW(e,t),IW(e,t),PW(e,t),OW(e,t),LW(e,t),RW(e,t),NW(e,t),vW(e,t,n),BW(e,t,n),MW(e,t,n)};function rme(e,t){const n=[];return e.frontFace!==t.frontFace&&n.push(EW),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(xW),e.lineWidth!==t.lineWidth&&n.push(wW),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(SW),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(DW),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(IW),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(PW),e.depthMask!==t.depthMask&&n.push(OW),e.stencilMask!==t.stencilMask&&n.push(LW),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&n.push(RW),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(NW),n}Ze.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=rme(t,n),n._applyFunctions[t.id]=f);const h=f.length;for(let _=0;_ 0&&console.log(`${Iu}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${Iu}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${Iu}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let u;const f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${Iu}Shader program link log: ${c}`),h(o,"vertex"),h(r,"fragment"),u=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${Iu}Vertex shader compile log: ${c}`),console.error(`${Iu} Vertex shader source: +${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${Iu}Fragment shader compile log: ${c}`),console.error(`${Iu} Fragment shader source: +${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new De(u);function h(_,g){if(!l(f))return;const p=f.getTranslatedShaderSource(_);if(p===""){console.error(`${Iu}${g} shader translation failed.`);return}console.error(`${Iu}Translated ${g} shaderSource: +${p}`)}}function yme(e,t,n){const i={};for(let o=0;o =0){if(f=n[u.slice(0,p)],!l(f))continue;h=f._locations,h.length<=1&&(_=f.value,g=e.getUniformLocation(t,u),g!==null&&(h.push(g),_.push(e.getUniform(t,g))))}else{h=[];for(let y=0;y 0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[J.COLUMN1ROW2]-e[J.COLUMN2ROW1])*n,o=(e[J.COLUMN2ROW0]-e[J.COLUMN0ROW2])*n,r=(e[J.COLUMN0ROW1]-e[J.COLUMN1ROW0])*n;else{const h=Dme;let _=0;c>a&&(_=1),u>a&&u>c&&(_=2);const g=h[_],p=h[g];n=Math.sqrt(e[J.getElementIndex(_,_)]-e[J.getElementIndex(g,g)]-e[J.getElementIndex(p,p)]+1);const y=Ime;y[_]=.5*n,n=.5/n,s=(e[J.getElementIndex(p,g)]-e[J.getElementIndex(g,p)])*n,y[g]=(e[J.getElementIndex(g,_)]+e[J.getElementIndex(_,g)])*n,y[p]=(e[J.getElementIndex(p,_)]+e[J.getElementIndex(_,p)])*n,i=-y[0],o=-y[1],r=-y[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new Ce(i,o,r,s)};const Bz=new Ce;let Rz=new Ce,HI=new Ce,Nz=new Ce;Ce.fromHeadingPitchRoll=function(e,t){return T.typeOf.object("headingPitchRoll",e),Nz=Ce.fromAxisAngle(d.UNIT_X,e.roll,Bz),HI=Ce.fromAxisAngle(d.UNIT_Y,-e.pitch,t),t=Ce.multiply(HI,Nz,HI),Rz=Ce.fromAxisAngle(d.UNIT_Z,-e.heading,Bz),Ce.multiply(Rz,t,t)};const dE=new d,VI=new d,Rl=new Ce,Mz=new Ce,hE=new Ce;Ce.packedLength=4;Ce.pack=function(e,t,n){return T.typeOf.object("value",e),T.defined("array",t),n=A(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};Ce.unpack=function(e,t,n){return T.defined("array",e),t=A(t,0),l(n)||(n=new Ce),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};Ce.packedInterpolationLength=3;Ce.convertPackedArrayForInterpolation=function(e,t,n,i){Ce.unpack(e,n*4,hE),Ce.conjugate(hE,hE);for(let o=0,r=n-t+1;o =0?r=1:(r=-1,o=-o);const s=o-1,a=1-n,c=n*n,u=a*a;for(let g=7;g>=0;--g)Mf[g]=(AS[g]*c-bS[g])*s,Ff[g]=(AS[g]*u-bS[g])*s;const f=r*n*(1+Mf[0]*(1+Mf[1]*(1+Mf[2]*(1+Mf[3]*(1+Mf[4]*(1+Mf[5]*(1+Mf[6]*(1+Mf[7])))))))),h=a*(1+Ff[0]*(1+Ff[1]*(1+Ff[2]*(1+Ff[3]*(1+Ff[4]*(1+Ff[5]*(1+Ff[6]*(1+Ff[7])))))))),_=Ce.multiplyByScalar(e,h,Lme);return Ce.multiplyByScalar(t,f,i),Ce.add(_,i,i)};Ce.fastSquad=function(e,t,n,i,o,r){T.typeOf.object("q0",e),T.typeOf.object("q1",t),T.typeOf.object("s0",n),T.typeOf.object("s1",i),T.typeOf.number("t",o),T.typeOf.object("result",r);const s=Ce.fastSlerp(e,t,o,bb),a=Ce.fastSlerp(n,i,o,uy);return Ce.fastSlerp(s,a,2*o*(1-o),r)};Ce.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};Ce.equalsEpsilon=function(e,t,n){return n=A(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};Ce.ZERO=Object.freeze(new Ce(0,0,0,0));Ce.IDENTITY=Object.freeze(new Ce(0,0,0,1));Ce.prototype.clone=function(e){return Ce.clone(this,e)};Ce.prototype.equals=function(e){return Ce.equals(this,e)};Ce.prototype.equalsEpsilon=function(e,t){return Ce.equalsEpsilon(this,e,t)};Ce.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};function xs(e,t,n){T.defined("array",e),T.defined("itemToFind",t),T.defined("comparator",n);let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}function MN(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}function jC(e,t,n,i,o,r,s,a){this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a}function CS(e){if(e===null||isNaN(e))throw new E("year is required and must be a number.");return e%4===0&&e%100!==0||e%400===0}function ki(e,t){this.julianDate=e,this.offset=t}const Bme={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},vi=Object.freeze(Bme),Rme={UTC:0,TAI:1},Vn=Object.freeze(Rme),aj=new jC,pE=[31,28,31,30,31,30,31,31,30,31,30,31],mE=29;function FN(e,t){return ie.compare(e.julianDate,t.julianDate)}const Ky=new ki;function Vv(e){Ky.julianDate=e;const t=ie.leapSeconds;let n=xs(t,Ky,FN);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&ie.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),ie.addSeconds(e,i,e)}function zz(e,t){Ky.julianDate=e;const n=ie.leapSeconds;let i=xs(n,Ky,FN);if(i<0&&(i=~i),i===0)return ie.addSeconds(e,-n[0].offset,t);if(i>=n.length)return ie.addSeconds(e,-n[i-1].offset,t);const o=ie.secondsDifference(n[i].julianDate,e);if(o===0)return ie.addSeconds(e,-n[i].offset,t);if(!(o<=1))return ie.addSeconds(e,-n[--i].offset,t)}function Up(e,t,n){const i=t/vi.SECONDS_PER_DAY|0;return e+=i,t-=vi.SECONDS_PER_DAY*i,t<0&&(e--,t+=vi.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function zN(e,t,n,i,o,r,s){const a=(t-14)/12|0,c=e+4800+a;let u=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);const f=r+(i*vi.SECONDS_PER_HOUR+o*vi.SECONDS_PER_MINUTE+s*vi.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}const Nme=/^(\d{4})$/,Mme=/^(\d{4})-(\d{2})$/,Fme=/^(\d{4})-?(\d{3})$/,zme=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,Ume=/^(\d{4})-?(\d{2})-?(\d{2})$/,UN=/([Z+\-])?(\d{2})?:?(\d{2})?$/,Hme=/^(\d{2})(\.\d+)?/.source+UN.source,Vme=/^(\d{2}):?(\d{2})(\.\d+)?/.source+UN.source,kme=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+UN.source,El="Invalid ISO 8601 date.";function ie(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=A(e,0),t=A(t,0),n=A(n,Vn.UTC);const i=e|0;t=t+(e-i)*vi.SECONDS_PER_DAY,Up(i,t,this),n===Vn.UTC&&Vv(this)}ie.fromGregorianDate=function(e,t){if(!(e instanceof jC))throw new E("date must be a valid GregorianDate.");const n=zN(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(Up(n[0],n[1],t),Vv(t),t):new ie(n[0],n[1],Vn.UTC)};ie.fromDate=function(e,t){if(!(e instanceof Date)||isNaN(e.getTime()))throw new E("date must be a valid JavaScript Date.");const n=zN(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(Up(n[0],n[1],t),Vv(t),t):new ie(n[0],n[1],Vn.UTC)};ie.fromIso8601=function(e,t){if(typeof e!="string")throw new E(El);e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,u=0;const f=n[0],h=n[1];let _,g;if(!l(f))throw new E(El);let p;if(n=f.match(Ume),n!==null){if(p=f.split("-").length-1,p>0&&p!==2)throw new E(El);i=+n[1],o=+n[2],r=+n[3]}else if(n=f.match(Mme),n!==null)i=+n[1],o=+n[2];else if(n=f.match(Nme),n!==null)i=+n[1];else{let x;if(n=f.match(Fme),n!==null){if(i=+n[1],x=+n[2],g=CS(i),x<1||g&&x>366||!g&&x>365)throw new E(El)}else if(n=f.match(zme),n!==null){i=+n[1];const S=+n[2],v=+n[3]||0;if(p=f.split("-").length-1,p>0&&(!l(n[3])&&p!==1||l(n[3])&&p!==2))throw new E(El);const P=new Date(Date.UTC(i,0,4));x=S*7+v-P.getUTCDay()-3}else throw new E(El);_=new Date(Date.UTC(i,0,1)),_.setUTCDate(x),o=_.getUTCMonth()+1,r=_.getUTCDate()}if(g=CS(i),o<1||o>12||r<1||(o!==2||!g)&&r>pE[o-1]||g&&o===2&&r>mE)throw new E(El);let y;if(l(h)){if(n=h.match(kme),n!==null){if(p=h.split(":").length-1,p>0&&p!==2&&p!==3)throw new E(El);s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,y=5}else if(n=h.match(Vme),n!==null){if(p=h.split(":").length-1,p>2)throw new E(El);s=+n[1],a=+n[2],c=+(n[3]||0)*60,y=4}else if(n=h.match(Hme),n!==null)s=+n[1],a=+(n[2]||0)*60,y=3;else throw new E(El);if(a>=60||c>=61||s>24||s===24&&(a>0||c>0||u>0))throw new E(El);const x=n[y],S=+n[y+1],v=+(n[y+2]||0);switch(x){case"+":s=s-S,a=a-v;break;case"-":s=s+S,a=a+v;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}const b=c===60;for(b&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(_=g&&o===2?mE:pE[o-1];r>_;)r-=_,o++,o>12&&(o-=12,i++),_=g&&o===2?mE:pE[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),_=g&&o===2?mE:pE[o-1],r+=_;const C=zN(i,o,r,s,a,c,u);return l(t)?(Up(C[0],C[1],t),Vv(t)):t=new ie(C[0],C[1],Vn.UTC),b&&ie.addSeconds(t,1,t),t};ie.now=function(e){return ie.fromDate(new Date,e)};const _E=new ie(0,0,Vn.TAI);ie.toGregorianDate=function(e,t){if(!l(e))throw new E("julianDate is required.");let n=!1,i=zz(e,_E);l(i)||(ie.addSeconds(e,-1,_E),i=zz(_E,_E),n=!0);let o=i.dayNumber;const r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0;const a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;const c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;const u=80*s/2447|0,f=s-(2447*u/80|0)|0;s=u/11|0;const h=u+2-12*s|0,_=100*(a-49)+c+s|0;let g=r/vi.SECONDS_PER_HOUR|0,p=r-g*vi.SECONDS_PER_HOUR;const y=p/vi.SECONDS_PER_MINUTE|0;p=p-y*vi.SECONDS_PER_MINUTE;let b=p|0;const C=(p-b)/vi.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(b+=1),l(t)?(t.year=_,t.month=h,t.day=f,t.hour=g,t.minute=y,t.second=b,t.millisecond=C,t.isLeapSecond=n,t):new jC(_,h,f,g,y,b,C,n)};ie.toDate=function(e){if(!l(e))throw new E("julianDate is required.");const t=ie.toGregorianDate(e,aj);let n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};ie.toIso8601=function(e,t){if(!l(e))throw new E("julianDate is required.");const n=ie.toGregorianDate(e,aj);let i=n.year,o=n.month,r=n.day,s=n.hour;const a=n.minute,c=n.second,u=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&u===0&&(i=9999,o=12,r=31,s=24);let f;return!l(t)&&u!==0?(f=(u*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(u*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};ie.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new ie(e.dayNumber,e.secondsOfDay,Vn.TAI)};ie.compare=function(e,t){if(!l(e))throw new E("left is required.");if(!l(t))throw new E("right is required.");const n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};ie.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};ie.equalsEpsilon=function(e,t,n){return n=A(n,0),e===t||l(e)&&l(t)&&Math.abs(ie.secondsDifference(e,t))<=n};ie.totalDays=function(e){if(!l(e))throw new E("julianDate is required.");return e.dayNumber+e.secondsOfDay/vi.SECONDS_PER_DAY};ie.secondsDifference=function(e,t){if(!l(e))throw new E("left is required.");if(!l(t))throw new E("right is required.");return(e.dayNumber-t.dayNumber)*vi.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};ie.daysDifference=function(e,t){if(!l(e))throw new E("left is required.");if(!l(t))throw new E("right is required.");const n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/vi.SECONDS_PER_DAY;return n+i};ie.computeTaiMinusUtc=function(e){Ky.julianDate=e;const t=ie.leapSeconds;let n=xs(t,Ky,FN);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};ie.addSeconds=function(e,t,n){if(!l(e))throw new E("julianDate is required.");if(!l(t))throw new E("seconds is required.");if(!l(n))throw new E("result is required.");return Up(e.dayNumber,e.secondsOfDay+t,n)};ie.addMinutes=function(e,t,n){if(!l(e))throw new E("julianDate is required.");if(!l(t))throw new E("minutes is required.");if(!l(n))throw new E("result is required.");const i=e.secondsOfDay+t*vi.SECONDS_PER_MINUTE;return Up(e.dayNumber,i,n)};ie.addHours=function(e,t,n){if(!l(e))throw new E("julianDate is required.");if(!l(t))throw new E("hours is required.");if(!l(n))throw new E("result is required.");const i=e.secondsOfDay+t*vi.SECONDS_PER_HOUR;return Up(e.dayNumber,i,n)};ie.addDays=function(e,t,n){if(!l(e))throw new E("julianDate is required.");if(!l(t))throw new E("days is required.");if(!l(n))throw new E("result is required.");const i=e.dayNumber+t;return Up(i,e.secondsOfDay,n)};ie.lessThan=function(e,t){return ie.compare(e,t)<0};ie.lessThanOrEquals=function(e,t){return ie.compare(e,t)<=0};ie.greaterThan=function(e,t){return ie.compare(e,t)>0};ie.greaterThanOrEquals=function(e,t){return ie.compare(e,t)>=0};ie.prototype.clone=function(e){return ie.clone(this,e)};ie.prototype.equals=function(e){return ie.equals(this,e)};ie.prototype.equalsEpsilon=function(e,t){return ie.equalsEpsilon(this,e,t)};ie.prototype.toString=function(){return ie.toIso8601(this)};ie.leapSeconds=[new ki(new ie(2441317,43210,Vn.TAI),10),new ki(new ie(2441499,43211,Vn.TAI),11),new ki(new ie(2441683,43212,Vn.TAI),12),new ki(new ie(2442048,43213,Vn.TAI),13),new ki(new ie(2442413,43214,Vn.TAI),14),new ki(new ie(2442778,43215,Vn.TAI),15),new ki(new ie(2443144,43216,Vn.TAI),16),new ki(new ie(2443509,43217,Vn.TAI),17),new ki(new ie(2443874,43218,Vn.TAI),18),new ki(new ie(2444239,43219,Vn.TAI),19),new ki(new ie(2444786,43220,Vn.TAI),20),new ki(new ie(2445151,43221,Vn.TAI),21),new ki(new ie(2445516,43222,Vn.TAI),22),new ki(new ie(2446247,43223,Vn.TAI),23),new ki(new ie(2447161,43224,Vn.TAI),24),new ki(new ie(2447892,43225,Vn.TAI),25),new ki(new ie(2448257,43226,Vn.TAI),26),new ki(new ie(2448804,43227,Vn.TAI),27),new ki(new ie(2449169,43228,Vn.TAI),28),new ki(new ie(2449534,43229,Vn.TAI),29),new ki(new ie(2450083,43230,Vn.TAI),30),new ki(new ie(2450630,43231,Vn.TAI),31),new ki(new ie(2451179,43232,Vn.TAI),32),new ki(new ie(2453736,43233,Vn.TAI),33),new ki(new ie(2454832,43234,Vn.TAI),34),new ki(new ie(2456109,43235,Vn.TAI),35),new ki(new ie(2457204,43236,Vn.TAI),36),new ki(new ie(2457754,43237,Vn.TAI),37)];const Gme="modulepreload",Wme=function(e){return"/satellite-track/"+e},Uz={},gE=function(t,n,i){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(r=>{if(r=Wme(r),r in Uz)return;Uz[r]=!0;const s=r.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!i)for(let f=o.length-1;f>=0;f--){const h=o[f];if(h.href===r&&(!s||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Gme,s||(u.as="script",u.crossOrigin=""),u.href=r,document.head.appendChild(u),s)return new Promise((f,h)=>{u.addEventListener("load",f),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())};var GL={},jme={get exports(){return GL},set exports(e){GL=e}},Cb={},qme={get exports(){return Cb},set exports(e){Cb=e}};/*! https://mths.be/punycode v1.4.0 by @mathias */var Hz;function Yme(){return Hz||(Hz=1,function(e,t){(function(n){var i=t&&!t.nodeType&&t,o=e&&!e.nodeType&&e,r=typeof Ty=="object"&&Ty;(r.global===r||r.window===r||r.self===r)&&(n=r);var s,a=2147483647,c=36,u=1,f=26,h=38,_=700,g=72,p=128,y="-",b=/^xn--/,C=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,S={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=c-u,P=Math.floor,O=String.fromCharCode,U;function R(W){throw new RangeError(S[W])}function z(W,K){for(var q=W.length,te=[];q--;)te[q]=K(W[q]);return te}function F(W,K){var q=W.split("@"),te="";q.length>1&&(te=q[0]+"@",W=q[1]),W=W.replace(x,".");var $=W.split("."),X=z($,K).join(".");return te+X}function w(W){for(var K=[],q=0,te=W.length,$,X;q =55296&&$<=56319&&q 65535&&(K-=65536,q+=O(K>>>10&1023|55296),K=56320|K&1023),q+=O(K),q}).join("")}function m(W){return W-48<10?W-22:W-65<26?W-65:W-97<26?W-97:c}function D(W,K){return W+22+75*(W<26)-((K!=0)<<5)}function L(W,K,q){var te=0;for(W=q?P(W/_):W>>1,W+=P(W/K);W>v*f>>1;te+=c)W=P(W/v);return P(te+(v+1)*W/(W+h))}function M(W){var K=[],q=W.length,te,$=0,X=p,Y=g,se,ue,re,he,ce,Q,ne,fe,me;for(se=W.lastIndexOf(y),se<0&&(se=0),ue=0;ue =128&&R("not-basic"),K.push(W.charCodeAt(ue));for(re=se>0?se+1:0;re =q&&R("invalid-input"),ne=m(W.charCodeAt(re++)),(ne>=c||ne>P((a-$)/ce))&&R("overflow"),$+=ne*ce,fe=Q<=Y?u:Q>=Y+f?f:Q-Y,!(neP(a/me)&&R("overflow"),ce*=me;te=K.length+1,Y=L($-he,te,he==0),P($/te)>a-X&&R("overflow"),X+=P($/te),$%=te,K.splice($++,0,X)}return I(K)}function V(W){var K,q,te,$,X,Y,se,ue,re,he,ce,Q=[],ne,fe,me,we;for(W=w(W),ne=W.length,K=p,q=0,X=g,Y=0;Y =K&&ce P((a-q)/fe)&&R("overflow"),q+=(se-K)*fe,K=se,Y=0;Y a&&R("overflow"),ce==K){for(ue=q,re=c;he=re<=X?u:re>=X+f?f:re-X,!(ue 1);g++)h.splice(0,1);a[m]=h.join("")}var p=-1,y=0,T=0,b=-1,E=!1;for(m=0;my&&(p=b,y=T)):a[m]==="0"&&(E=!0,b=m,T=1);T>y&&(p=b,y=T),y>1&&a.splice(p,y,""),c=a.length;var w="";for(a[0]===""&&(w=":"),m=0;m 1);g++)h.splice(0,1);a[_]=h.join("")}var p=-1,y=0,b=0,C=-1,x=!1;for(_=0;_y&&(p=C,y=b)):a[_]==="0"&&(x=!0,C=_,b=1);b>y&&(p=C,y=b),y>1&&a.splice(p,y,""),c=a.length;var S="";for(a[0]===""&&(S=":"),_=0;_ =o.length-1)return!1;var s=o.lastIndexOf(".",r-1);if(s<=0||s>=r-1)return!1;var a=i.list[o.slice(r+1)];return a?a.indexOf(" "+o.slice(s+1,r)+" ")>=0:!1},is:function(o){var r=o.lastIndexOf(".");if(r<=0||r>=o.length-1)return!1;var s=o.lastIndexOf(".",r-1);if(s>=0)return!1;var a=i.list[o.slice(r+1)];return a?a.indexOf(" "+o.slice(0,r)+" ")>=0:!1},get:function(o){var r=o.lastIndexOf(".");if(r<=0||r>=o.length-1)return null;var s=o.lastIndexOf(".",r-1);if(s<=0||s>=r-1)return null;var a=i.list[o.slice(r+1)];return!a||a.indexOf(" "+o.slice(s+1,r)+" ")<0?null:o.slice(s+1)},noConflict:function(){return t.SecondLevelDomains===this&&(t.SecondLevelDomains=n),this}};return i})}(eme)),gS}/*! + */var kz;function Jme(){return kz||(kz=1,function(e){(function(t,n){e.exports?e.exports=n():t.SecondLevelDomains=n(t)})(Ty,function(t){var n=t&&t.SecondLevelDomains,i={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(o){var r=o.lastIndexOf(".");if(r<=0||r>=o.length-1)return!1;var s=o.lastIndexOf(".",r-1);if(s<=0||s>=r-1)return!1;var a=i.list[o.slice(r+1)];return a?a.indexOf(" "+o.slice(s+1,r)+" ")>=0:!1},is:function(o){var r=o.lastIndexOf(".");if(r<=0||r>=o.length-1)return!1;var s=o.lastIndexOf(".",r-1);if(s>=0)return!1;var a=i.list[o.slice(r+1)];return a?a.indexOf(" "+o.slice(0,r)+" ")>=0:!1},get:function(o){var r=o.lastIndexOf(".");if(r<=0||r>=o.length-1)return null;var s=o.lastIndexOf(".",r-1);if(s<=0||s>=r-1)return null;var a=i.list[o.slice(r+1)];return!a||a.indexOf(" "+o.slice(s+1,r)+" ")<0?null:o.slice(s+1)},noConflict:function(){return t.SecondLevelDomains===this&&(t.SecondLevelDomains=n),this}};return i})}(Kme)),ES}/*! * URI.js - Mutating URLs * * Version: 1.19.11 @@ -62,10 +70,10 @@ ${p}`)}}function bpe(e,t,n){const i={};for(let o=0;o =1,M=arguments.length>=2;if(!(this instanceof s))return L?M?new s(_,D):new s(_):new s;if(_===void 0){if(L)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?_=location.href+"":_=""}if(_===null&&L)throw new TypeError("null is not a valid argument for URI");return this.href(_),D!==void 0?this.absoluteTo(D):this}function a(_){return/^[0-9]+$/.test(_)}s.version="1.19.11";var c=s.prototype,u=Object.prototype.hasOwnProperty;function f(_){return _.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function h(_){return _===void 0?"Undefined":String(Object.prototype.toString.call(_)).slice(8,-1)}function m(_){return h(_)==="Array"}function g(_,D){var L={},M,V;if(h(D)==="RegExp")L=null;else if(m(D))for(M=0,V=D.length;M ]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,s.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},s.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.hostProtocols=["http","https"],s.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,s.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},s.getDomAttribute=function(_){if(!(!_||!_.nodeName)){var D=_.nodeName.toLowerCase();if(!(D==="input"&&_.type!=="image"))return s.domAttributes[D]}};function b(_){return escape(_)}function E(_){return encodeURIComponent(_).replace(/[!'()*]/g,b).replace(/\*/g,"%2A")}s.encode=E,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=E,s.decode=decodeURIComponent},s.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},s.encodeQuery=function(_,D){var L=s.encode(_+"");return D===void 0&&(D=s.escapeQuerySpace),D?L.replace(/%20/g,"+"):L},s.decodeQuery=function(_,D){_+="",D===void 0&&(D=s.escapeQuerySpace);try{return s.decode(D?_.replace(/\+/g,"%20"):_)}catch{return _}};var w={encode:"encode",decode:"decode"},S,P=function(_,D){return function(L){try{return s[D](L+"").replace(s.characters[_][D].expression,function(M){return s.characters[_][D].map[M]})}catch{return L}}};for(S in w)s[S+"PathSegment"]=P("pathname",w[S]),s[S+"UrnPathSegment"]=P("urnpath",w[S]);var O=function(_,D,L){return function(M){var V;L?V=function(K){return s[D](s[L](K))}:V=s[D];for(var k=(M+"").split(_),W=0,G=k.length;W -1&&(D.fragment=_.substring(L+1)||null,_=_.substring(0,L)),L=_.indexOf("?"),L>-1&&(D.query=_.substring(L+1)||null,_=_.substring(0,L)),_=_.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),_=_.replace(/^[/\\]{2,}/i,"//"),_.substring(0,2)==="//"?(D.protocol=null,_=_.substring(2),_=s.parseAuthority(_,D)):(L=_.indexOf(":"),L>-1&&(D.protocol=_.substring(0,L)||null,D.protocol&&!D.protocol.match(s.protocol_expression)?D.protocol=void 0:_.substring(L+1,L+3).replace(/\\/g,"/")==="//"?(_=_.substring(L+3),_=s.parseAuthority(_,D)):(_=_.substring(L+1),D.urn=!0))),D.path=_,D},s.parseHost=function(_,D){_||(_=""),_=_.replace(/\\/g,"/");var L=_.indexOf("/"),M,V;if(L===-1&&(L=_.length),_.charAt(0)==="[")M=_.indexOf("]"),D.hostname=_.substring(1,M)||null,D.port=_.substring(M+2,L)||null,D.port==="/"&&(D.port=null);else{var k=_.indexOf(":"),W=_.indexOf("/"),G=_.indexOf(":",k+1);G!==-1&&(W===-1||G -1?V:_.length-1),W;return k>-1&&(V===-1||k -1?X=X.slice(0,Y)+X.slice(Y).replace(k,""):X=X.replace(k,""),!(X.length<=K[0].length)&&!(L.ignore&&L.ignore.test(X))){$=q+X.length;var re=D(X,q,$,_);if(re===void 0){M.lastIndex=$;continue}re=String(re),_=_.slice(0,q)+re+_.slice($),M.lastIndex=q+re.length}}return M.lastIndex=0,_},s.ensureValidHostname=function(_,D){var L=!!_,M=!!D,V=!1;if(M&&(V=p(s.hostProtocols,D)),V&&!L)throw new TypeError("Hostname cannot be empty, if protocol is "+D);if(_&&_.match(s.invalid_hostname_characters)){if(!t)throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(t.toASCII(_).match(s.invalid_hostname_characters))throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-:_]')}},s.ensureValidPort=function(_){if(_){var D=Number(_);if(!(a(D)&&D>0&&D<65536))throw new TypeError('Port "'+_+'" is not a valid port')}},s.noConflict=function(_){if(_){var D={URI:this.noConflict()};return o.URITemplate&&typeof o.URITemplate.noConflict=="function"&&(D.URITemplate=o.URITemplate.noConflict()),o.IPv6&&typeof o.IPv6.noConflict=="function"&&(D.IPv6=o.IPv6.noConflict()),o.SecondLevelDomains&&typeof o.SecondLevelDomains.noConflict=="function"&&(D.SecondLevelDomains=o.SecondLevelDomains.noConflict()),D}else o.URI===this&&(o.URI=r);return this},c.build=function(_){return _===!0?this._deferred_build=!0:(_===void 0||this._deferred_build)&&(this._string=s.build(this._parts),this._deferred_build=!1),this},c.clone=function(){return new s(this)},c.valueOf=c.toString=function(){return this.build(!1)._string};function z(_){return function(D,L){return D===void 0?this._parts[_]||"":(this._parts[_]=D||null,this.build(!L),this)}}function R(_,D){return function(L,M){return L===void 0?this._parts[_]||"":(L!==null&&(L=L+"",L.charAt(0)===D&&(L=L.substring(1))),this._parts[_]=L,this.build(!M),this)}}c.protocol=z("protocol"),c.username=z("username"),c.password=z("password"),c.hostname=z("hostname"),c.port=z("port"),c.query=R("query","?"),c.fragment=R("fragment","#"),c.search=function(_,D){var L=this.query(_,D);return typeof L=="string"&&L.length?"?"+L:L},c.hash=function(_,D){var L=this.fragment(_,D);return typeof L=="string"&&L.length?"#"+L:L},c.pathname=function(_,D){if(_===void 0||_===!0){var L=this._parts.path||(this._parts.hostname?"/":"");return _?(this._parts.urn?s.decodeUrnPath:s.decodePath)(L):L}else return this._parts.urn?this._parts.path=_?s.recodeUrnPath(_):"":this._parts.path=_?s.recodePath(_):"/",this.build(!D),this},c.path=c.pathname,c.href=function(_,D){var L;if(_===void 0)return this.toString();this._string="",this._parts=s._parts();var M=_ instanceof s,V=typeof _=="object"&&(_.hostname||_.path||_.pathname);if(_.nodeName){var k=s.getDomAttribute(_);_=_[k]||"",V=!1}if(!M&&V&&_.pathname!==void 0&&(_=_.toString()),typeof _=="string"||_ instanceof String)this._parts=s.parse(String(_),this._parts);else if(M||V){var W=M?_._parts:_;for(L in W)L!=="query"&&u.call(this._parts,L)&&(this._parts[L]=W[L]);W.query&&this.query(W.query,!1)}else throw new TypeError("invalid input");return this.build(!D),this},c.is=function(_){var D=!1,L=!1,M=!1,V=!1,k=!1,W=!1,G=!1,K=!this._parts.urn;switch(this._parts.hostname&&(K=!1,L=s.ip4_expression.test(this._parts.hostname),M=s.ip6_expression.test(this._parts.hostname),D=L||M,V=!D,k=V&&i&&i.has(this._parts.hostname),W=V&&s.idn_expression.test(this._parts.hostname),G=V&&s.punycode_expression.test(this._parts.hostname)),_.toLowerCase()){case"relative":return K;case"absolute":return!K;case"domain":case"name":return V;case"sld":return k;case"ip":return D;case"ip4":case"ipv4":case"inet4":return L;case"ip6":case"ipv6":case"inet6":return M;case"idn":return W;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var F=c.protocol,H=c.port,v=c.hostname;c.protocol=function(_,D){if(_&&(_=_.replace(/:(\/\/)?$/,""),!_.match(s.protocol_expression)))throw new TypeError('Protocol "'+_+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return F.call(this,_,D)},c.scheme=c.protocol,c.port=function(_,D){return this._parts.urn?_===void 0?"":this:(_!==void 0&&(_===0&&(_=null),_&&(_+="",_.charAt(0)===":"&&(_=_.substring(1)),s.ensureValidPort(_))),H.call(this,_,D))},c.hostname=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_!==void 0){var L={preventInvalidHostname:this._parts.preventInvalidHostname},M=s.parseHost(_,L);if(M!=="/")throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-]');_=L.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(_,this._parts.protocol)}return v.call(this,_,D)},c.origin=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0){var L=this.protocol(),M=this.authority();return M?(L?L+"://":"")+this.authority():""}else{var V=s(_);return this.protocol(V.protocol()).authority(V.authority()).build(!D),this}},c.host=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0)return this._parts.hostname?s.buildHost(this._parts):"";var L=s.parseHost(_,this._parts);if(L!=="/")throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-]');return this.build(!D),this},c.authority=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0)return this._parts.hostname?s.buildAuthority(this._parts):"";var L=s.parseAuthority(_,this._parts);if(L!=="/")throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-]');return this.build(!D),this},c.userinfo=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0){var L=s.buildUserinfo(this._parts);return L&&L.substring(0,L.length-1)}else return _[_.length-1]!=="@"&&(_+="@"),s.parseUserinfo(_,this._parts),this.build(!D),this},c.resource=function(_,D){var L;return _===void 0?this.path()+this.search()+this.hash():(L=s.parse(_),this._parts.path=L.path,this._parts.query=L.query,this._parts.fragment=L.fragment,this.build(!D),this)},c.subdomain=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0){if(!this._parts.hostname||this.is("IP"))return"";var L=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,L)||""}else{var M=this._parts.hostname.length-this.domain().length,V=this._parts.hostname.substring(0,M),k=new RegExp("^"+f(V));if(_&&_.charAt(_.length-1)!=="."&&(_+="."),_.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return _&&s.ensureValidHostname(_,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(k,_),this.build(!D),this}},c.domain=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(typeof _=="boolean"&&(D=_,_=void 0),_===void 0){if(!this._parts.hostname||this.is("IP"))return"";var L=this._parts.hostname.match(/\./g);if(L&&L.length<2)return this._parts.hostname;var M=this._parts.hostname.length-this.tld(D).length-1;return M=this._parts.hostname.lastIndexOf(".",M-1)+1,this._parts.hostname.substring(M)||""}else{if(!_)throw new TypeError("cannot set domain empty");if(_.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(s.ensureValidHostname(_,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=_;else{var V=new RegExp(f(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(V,_)}return this.build(!D),this}},c.tld=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(typeof _=="boolean"&&(D=_,_=void 0),_===void 0){if(!this._parts.hostname||this.is("IP"))return"";var L=this._parts.hostname.lastIndexOf("."),M=this._parts.hostname.substring(L+1);return D!==!0&&i&&i.list[M.toLowerCase()]&&i.get(this._parts.hostname)||M}else{var V;if(_)if(_.match(/[^a-zA-Z0-9-]/))if(i&&i.is(_))V=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(V,_);else throw new TypeError('TLD "'+_+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");V=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(V,_)}else throw new TypeError("cannot set TLD empty");return this.build(!D),this}},c.directory=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0||_===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var L=this._parts.path.length-this.filename().length-1,M=this._parts.path.substring(0,L)||(this._parts.hostname?"/":"");return _?s.decodePath(M):M}else{var V=this._parts.path.length-this.filename().length,k=this._parts.path.substring(0,V),W=new RegExp("^"+f(k));return this.is("relative")||(_||(_="/"),_.charAt(0)!=="/"&&(_="/"+_)),_&&_.charAt(_.length-1)!=="/"&&(_+="/"),_=s.recodePath(_),this._parts.path=this._parts.path.replace(W,_),this.build(!D),this}},c.filename=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(typeof _!="string"){if(!this._parts.path||this._parts.path==="/")return"";var L=this._parts.path.lastIndexOf("/"),M=this._parts.path.substring(L+1);return _?s.decodePathSegment(M):M}else{var V=!1;_.charAt(0)==="/"&&(_=_.substring(1)),_.match(/\.?\//)&&(V=!0);var k=new RegExp(f(this.filename())+"$");return _=s.recodePath(_),this._parts.path=this._parts.path.replace(k,_),V?this.normalizePath(D):this.build(!D),this}},c.suffix=function(_,D){if(this._parts.urn)return _===void 0?"":this;if(_===void 0||_===!0){if(!this._parts.path||this._parts.path==="/")return"";var L=this.filename(),M=L.lastIndexOf("."),V,k;return M===-1?"":(V=L.substring(M+1),k=/^[a-z0-9%]+$/i.test(V)?V:"",_?s.decodePathSegment(k):k)}else{_.charAt(0)==="."&&(_=_.substring(1));var W=this.suffix(),G;if(W)_?G=new RegExp(f(W)+"$"):G=new RegExp(f("."+W)+"$");else{if(!_)return this;this._parts.path+="."+s.recodePath(_)}return G&&(_=s.recodePath(_),this._parts.path=this._parts.path.replace(G,_)),this.build(!D),this}},c.segment=function(_,D,L){var M=this._parts.urn?":":"/",V=this.path(),k=V.substring(0,1)==="/",W=V.split(M);if(_!==void 0&&typeof _!="number"&&(L=D,D=_,_=void 0),_!==void 0&&typeof _!="number")throw new Error('Bad segment "'+_+'", must be 0-based integer');if(k&&W.shift(),_<0&&(_=Math.max(W.length+_,0)),D===void 0)return _===void 0?W:W[_];if(_===null||W[_]===void 0)if(m(D)){W=[];for(var G=0,K=D.length;G "u")return e;t=A(n.baseURI,n.location.href)}const i=new ws(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};function ime(e,t){if(!l(e))throw new x("uri is required.");let n="";const i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new ws(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}function ome(e){if(!l(e))throw new x("uri is required.");const t=new ws(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}const zz={};function yS(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=zz[t];l(i)||(i={},zz[t]=i);let o=i[n];if(!l(o)){const r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d"),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}const rme=/^blob:/i;function JW(e){return C.typeOf.string("uri",e),rme.test(e)}let wu;function QW(e){l(wu)||(wu=document.createElement("a")),wu.href=window.location.href;const t=wu.host,n=wu.protocol;return wu.href=e,wu.href=wu.href,n!==wu.protocol||t!==wu.host}const sme=/^data:/i;function MN(e){return C.typeOf.string("uri",e),sme.test(e)}function ame(e){const t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");const o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}function cme(e){if(!l(e))throw new x("obj is required.");let t="";for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r 0){const s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}function Wy(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=dme(this.responseHeaders))}Wy.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};function Xe(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(Xe.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});Xe.prototype.addEventListener=function(e,t){C.typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);const n=this;return function(){n.removeEventListener(e,t)}};Xe.prototype.removeEventListener=function(e,t){C.typeOf.func("listener",e);const n=this._listeners,i=this._scopes;let o=-1;for(let r=0;r0){for(o.sort(hme),e=0;e=0;--t)this.heapify(t)};P_.prototype.insert=function(e){C.defined("element",e);const t=this._array,n=this._comparator,i=this._maximumLength;let o=this._length++;for(o i&&(r=t[i],this._length=i),r};P_.prototype.pop=function(e){if(e=A(e,0),this._length===0)return;C.typeOf.number.lessThan("index",e,this._length);const t=this._array,n=t[e];return FN(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};function pme(e,t){return e.priority-t.priority}const hi={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0};let my=20;const Ws=new P_({comparator:pme});Ws.maximumLength=my;Ws.reserve(my);const zu=[];let gd={};const mme=typeof document<"u"?new ws(document.location.href):new ws,Nv=new Xe;function li(){}li.maximumRequests=50;li.maximumRequestsPerServer=6;li.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18};li.throttleRequests=!0;li.debugShowStatistics=!1;li.requestCompletedEvent=Nv;Object.defineProperties(li,{statistics:{get:function(){return hi}},priorityHeapLength:{get:function(){return my},set:function(e){if(e e;){const t=Ws.pop();jm(t)}my=e,Ws.maximumLength=e,Ws.reserve(e)}}});function ZW(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}li.serverHasOpenSlots=function(e,t){t=A(t,1);const n=A(li.requestsByServer[e],li.maximumRequestsPerServer);return gd[e]+t<=n};li.heapHasOpenSlots=function(e){return Ws.length+e<=my};function ej(e){return e.state===yo.UNISSUED&&(e.state=yo.ISSUED,e.deferred=Pp()),e.deferred.promise}function _me(e){return function(t){if(e.state===yo.CANCELLED)return;const n=e.deferred;--hi.numberOfActiveRequests,--gd[e.serverKey],Nv.raiseEvent(),e.state=yo.RECEIVED,e.deferred=void 0,n.resolve(t)}}function gme(e){return function(t){e.state!==yo.CANCELLED&&(++hi.numberOfFailedRequests,--hi.numberOfActiveRequests,--gd[e.serverKey],Nv.raiseEvent(t),e.state=yo.FAILED,e.deferred.reject(t))}}function tj(e){const t=ej(e);return e.state=yo.ACTIVE,zu.push(e),++hi.numberOfActiveRequests,++hi.numberOfActiveRequestsEver,++gd[e.serverKey],e.requestFunction().then(_me(e)).catch(gme(e)),t}function jm(e){const t=e.state===yo.ACTIVE;if(e.state=yo.CANCELLED,++hi.numberOfCancelledRequests,l(e.deferred)){const n=e.deferred;e.deferred=void 0,n.reject()}t&&(--hi.numberOfActiveRequests,--gd[e.serverKey],++hi.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}li.update=function(){let e,t,n=0;const i=zu.length;for(e=0;e0&&(zu[e-n]=t)}zu.length-=n;const o=Ws.internalArray,r=Ws.length;for(e=0;e 0;){if(t=Ws.pop(),t.cancelled){jm(t);continue}if(t.throttleByServer&&!li.serverHasOpenSlots(t.serverKey)){jm(t);continue}tj(t),++a}yme()};li.getServerKey=function(e){C.typeOf.string("url",e);let t=new ws(e);t.scheme()===""&&(t=new ws(e).absoluteTo(mme),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);const i=gd[n];return l(i)||(gd[n]=0),n};li.request=function(e){if(C.typeOf.object("request",e),C.typeOf.string("request.url",e.url),C.typeOf.func("request.requestFunction",e.requestFunction),MN(e.url)||JW(e.url))return Nv.raiseEvent(),e.state=yo.RECEIVED,e.requestFunction();if(++hi.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=li.getServerKey(e.url)),li.throttleRequests&&e.throttleByServer&&!li.serverHasOpenSlots(e.serverKey))return;if(!li.throttleRequests||!e.throttle)return tj(e);if(zu.length>=li.maximumRequests)return;ZW(e);const t=Ws.insert(e);if(l(t)){if(t===e)return;jm(t)}return ej(e)};function yme(){li.debugShowStatistics&&(hi.numberOfActiveRequests===0&&hi.lastNumberOfActiveRequests>0&&(hi.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${hi.numberOfAttemptedRequests}`),hi.numberOfAttemptedRequests=0),hi.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${hi.numberOfCancelledRequests}`),hi.numberOfCancelledRequests=0),hi.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${hi.numberOfCancelledActiveRequests}`),hi.numberOfCancelledActiveRequests=0),hi.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${hi.numberOfFailedRequests}`),hi.numberOfFailedRequests=0)),hi.lastNumberOfActiveRequests=hi.numberOfActiveRequests)}li.clearForSpecs=function(){for(;Ws.length>0;){const t=Ws.pop();jm(t)}const e=zu.length;for(let t=0;t 0}}});Re.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Re.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;const n=new ws(this._url);e&&Tme(n,this);let i=n.toString().replace(/%7B/g,"{").replace(/%7D/g,"}");const o=this._templateValues;return i=i.replace(/{(.*?)}/g,function(r,s){const a=o[s];return l(a)?encodeURIComponent(a):r}),t&&l(this.proxy)&&(i=this.proxy.getURL(i)),i};Re.prototype.setQueryParameters=function(e,t){t?this._queryParameters=AS(this._queryParameters,e,!1):this._queryParameters=AS(e,this._queryParameters,!1)};Re.prototype.appendQueryParameters=function(e){this._queryParameters=AS(e,this._queryParameters,!0)};Re.prototype.setTemplateValues=function(e,t){t?this._templateValues=sn(this._templateValues,e):this._templateValues=sn(e,this._templateValues)};Re.prototype.getDerivedResource=function(e){const t=this.clone();if(t._retryCount=0,l(e.url)){const n=new ws(e.url),i=A(e.preserveQueryParameters,!1);zN(n,t,!0,i),n.fragment(""),n.scheme()!==""?t._url=n.toString():t._url=n.absoluteTo(new ws(HC(this._url))).toString()}return l(e.queryParameters)&&(t._queryParameters=sn(e.queryParameters,t._queryParameters)),l(e.templateValues)&&(t._templateValues=sn(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=sn(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};Re.prototype.retryOnError=function(e){const t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);const n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};Re.prototype.clone=function(e){return l(e)||(e=new Re({url:this._url})),e._url=this._url,e._queryParameters=ut(this._queryParameters),e._templateValues=ut(this._templateValues),e.headers=ut(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e};Re.prototype.getBaseUri=function(e){return ime(this.getUrlComponent(e),e)};Re.prototype.appendForwardSlash=function(){this._url=nme(this._url)};Re.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Re.fetchArrayBuffer=function(e){return new Re(e).fetchArrayBuffer()};Re.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Re.fetchBlob=function(e){return new Re(e).fetchBlob()};Re.prototype.fetchImage=function(e){e=A(e,A.EMPTY_OBJECT);const t=A(e.preferImageBitmap,!1),n=A(e.preferBlob,!1),i=A(e.flipY,!1),o=A(e.skipColorSpaceConversion,!1);if(UN(this.request),!ij||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return zL({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});const r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return Re.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return Re.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});const h=window.URL.createObjectURL(f);return c=new Re({url:h}),zL({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function zL(e){const t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);const c=Pp();return Re._Implementations.createImage(r,a,c,n,i,o),c.promise};const s=li.request(r);if(l(s))return s.catch(function(a){return r.state!==yo.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=yo.UNISSUED,r.deferred=void 0,zL({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}Re.fetchImage=function(e){return new Re(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};Re.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Re.fetchText=function(e){return new Re(e).fetchText()};Re.prototype.fetchJson=function(){const e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};Re.fetchJson=function(e){return new Re(e).fetchJson()};Re.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Re.fetchXML=function(e){return new Re(e).fetchXML()};Re.prototype.fetchJsonp=function(e){e=A(e,"callback"),UN(this.request);let t;do t=`loadJsonp${N.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return oj(this,e,t)};function oj(e,t,n){const i={};i[t]=n,e.setQueryParameters(i);const o=e.request;o.url=e.url,o.requestFunction=function(){const s=Pp();return window[n]=function(a){s.resolve(a);try{delete window[n]}catch{window[n]=void 0}},Re._Implementations.loadAndExecuteScript(e.url,n,s),s.promise};const r=li.request(o);if(l(r))return r.catch(function(s){return o.state!==yo.FAILED?Promise.reject(s):e.retryOnError(s).then(function(a){return a?(o.state=yo.UNISSUED,o.deferred=void 0,oj(e,t,n)):Promise.reject(s)})})}Re.fetchJsonp=function(e){return new Re(e).fetchJsonp(e.callbackParameterName)};Re.prototype._makeRequest=function(e){const t=this;UN(t.request);const n=t.request;n.url=t.url,n.requestFunction=function(){const o=e.responseType,r=sn(e.headers,t.headers),s=e.overrideMimeType,a=e.method,c=e.data,u=Pp(),f=Re._Implementations.loadWithXhr(t.url,o,a,c,r,u,s);return l(f)&&l(f.abort)&&(n.cancelFunction=function(){f.abort()}),u.promise};const i=li.request(n);if(l(i))return i.then(function(o){return n.cancelFunction=void 0,o}).catch(function(o){return n.cancelFunction=void 0,n.state!==yo.FAILED?Promise.reject(o):t.retryOnError(o).then(function(r){return r?(n.state=yo.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(o)})})};const Cme=/^data:(.*?)(;base64)?,(.*)$/;function cw(e,t){const n=decodeURIComponent(t);return e?atob(n):n}function Uz(e,t){const n=cw(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r import("./__vite-browser-external-b25bb000.js"),[]),fE(()=>import("./__vite-browser-external-b25bb000.js"),[])]).then(([u,f])=>(a=u.parse(e),c=f,a.protocol==="https:"?fE(()=>import("./__vite-browser-external-b25bb000.js"),[]):fE(()=>import("./__vite-browser-external-b25bb000.js"),[]))).then(u=>{const f={protocol:a.protocol,hostname:a.hostname,port:a.port,path:a.path,query:a.query,method:n,headers:o};u.request(f).on("response",function(h){if(h.statusCode<200||h.statusCode>=300){r.reject(new Wy(h.statusCode,h,h.headers));return}const m=[];h.on("data",function(g){m.push(g)}),h.on("end",function(){const g=Buffer.concat(m);h.headers["content-encoding"]==="gzip"?c.gunzip(g,function(p,y){p?r.reject(new Se("Error decompressing response.")):r.resolve(Hz(y,t))}):r.resolve(Hz(g,t))})}).on("error",function(h){r.reject(new Wy)}).end()})}const xme=typeof XMLHttpRequest>"u";Re._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){const a=Cme.exec(e);if(a!==null){r.resolve(bme(a,t));return}if(xme){Eme(e,t,n,i,o,r);return}const c=new XMLHttpRequest;if(nj.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(const f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new Wy(c.status,c.response,c.getAllResponseHeaders()));return}const f=c.response,h=c.responseType;if(n==="HEAD"||n==="OPTIONS"){const g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),p={};g.forEach(function(y){const T=y.split(": "),b=T.shift();p[b]=T.join(": ")}),r.resolve(p);return}if(c.status===204)r.resolve();else if(l(f)&&(!l(t)||h===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(m){r.reject(m)}else(h===""||h==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(h===""||h==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new Se("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new Wy)},c.send(i),c};Re._Implementations.loadAndExecuteScript=function(e,t,n){return ame(e).catch(function(i){n.reject(i)})};Re._DefaultImplementations={};Re._DefaultImplementations.createImage=Re._Implementations.createImage;Re._DefaultImplementations.loadWithXhr=Re._Implementations.loadWithXhr;Re._DefaultImplementations.loadAndExecuteScript=Re._Implementations.loadAndExecuteScript;Re.DEFAULT=Object.freeze(new Re({url:typeof document>"u"?"":document.location.href.split("?")[0]}));function XT(e){e=A(e,A.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=A(e.addNewLeapSeconds,!0),l(e.data)?Vz(this,e.data):Vz(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}XT.fromUrl=async function(e,t){C.defined("url",e),t=A(t,A.EMPTY_OBJECT);const n=Re.createIfNeeded(e);let i;try{i=await n.fetchJson()}catch{throw new Se(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new XT({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};XT.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new LN(0,0,0,0,0),t}});XT.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new LN(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;const n=this._dates,i=this._lastIndex;let o=0,r=0;if(l(i)){const a=n[i],c=n[i+1],u=ne.lessThanOrEquals(a,e),f=!l(c),h=f||ne.greaterThanOrEquals(c,e);if(u&&h)return o=i,!f&&c.equals(e)&&++o,r=o+1,Gz(this,n,this._samples,e,o,r,t),t}let s=xs(n,e,ne.compare,this._dateColumn);return s>=0?(s t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;const c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return kz(e,n,o,a,s),s;if(i.equals(u))return kz(e,n,r,a,s),s;const f=ne.secondsDifference(i,c)/ne.secondsDifference(u,c),h=o*a,m=r*a;let g=n[h+e._ut1MinusUtcSecondsColumn],p=n[m+e._ut1MinusUtcSecondsColumn];const y=p-g;if(y>.5||y<-.5){const T=n[h+e._taiMinusUtcSecondsColumn],b=n[m+e._taiMinusUtcSecondsColumn];T!==b&&(u.equals(i)?g=p:p-=b-T)}return s.xPoleWander=q0(f,n[h+e._xPoleWanderRadiansColumn],n[m+e._xPoleWanderRadiansColumn]),s.yPoleWander=q0(f,n[h+e._yPoleWanderRadiansColumn],n[m+e._yPoleWanderRadiansColumn]),s.xPoleOffset=q0(f,n[h+e._xCelestialPoleOffsetRadiansColumn],n[m+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=q0(f,n[h+e._yCelestialPoleOffsetRadiansColumn],n[m+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=q0(f,g,p),s}function kr(e,t,n){this.heading=A(e,0),this.pitch=A(t,0),this.roll=A(n,0)}kr.fromQuaternion=function(e,t){if(!l(e))throw new x("quaternion is required");l(t)||(t=new kr);const n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-N.asinClamped(n),t};kr.fromDegrees=function(e,t,n,i){if(!l(e))throw new x("heading is required");if(!l(t))throw new x("pitch is required");if(!l(n))throw new x("roll is required");return l(i)||(i=new kr),i.heading=e*N.RADIANS_PER_DEGREE,i.pitch=t*N.RADIANS_PER_DEGREE,i.roll=n*N.RADIANS_PER_DEGREE,i};kr.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new kr(e.heading,e.pitch,e.roll)};kr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};kr.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&N.equalsEpsilon(e.heading,t.heading,n,i)&&N.equalsEpsilon(e.pitch,t.pitch,n,i)&&N.equalsEpsilon(e.roll,t.roll,n,i)};kr.prototype.clone=function(e){return kr.clone(this,e)};kr.prototype.equals=function(e){return kr.equals(this,e)};kr.prototype.equalsEpsilon=function(e,t,n){return kr.equalsEpsilon(this,e,t,n)};kr.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};const rj=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function Sme(){const e=document.getElementsByTagName("script");for(let t=0,n=e.length;t "u"?e:(l(lg)||(lg=document.createElement("a")),lg.href=e,lg.href=lg.href,lg.href)}let Dm;function aj(){if(l(Dm))return Dm;let e;if(typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?e=HC("..",dn("Core/buildModuleUrl.js")):e=Sme(),!l(e))throw new x("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return Dm=new Re({url:sj(e)}),Dm.appendForwardSlash(),Dm}function vme(e){return sj(require.toUrl(`../${e}`))}function cj(e){return aj().getDerivedResource({url:e}).url}let dE;function dn(e){return l(dE)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?dE=vme:dE=cj),dE(e)}dn._cesiumScriptRegex=rj;dn._buildModuleUrlFromBaseUrl=cj;dn._clearBaseResource=function(){Dm=void 0};dn.setBaseUrl=function(e){Dm=Re.DEFAULT.getDerivedResource({url:e})};dn.getCesiumBaseUrl=aj;function lj(e,t,n){this.x=e,this.y=t,this.s=n}function HN(e){e=A(e,A.EMPTY_OBJECT),this._xysFileUrlTemplate=Re.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=A(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=A(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new ne(this._sampleZeroJulianEphemerisDate,0,Un.TAI),this._stepSizeDays=A(e.stepSizeDays,1),this._samplesPerXysFile=A(e.samplesPerXysFile,1e3),this._totalSamples=A(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];const t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}const Dme=new ne(0,0,Un.TAI);function UL(e,t,n){const i=Dme;return i.dayNumber=t,i.secondsOfDay=n,ne.daysDifference(i,e._sampleZeroDateTT)}HN.prototype.preload=function(e,t,n,i){const o=UL(this,e,t),r=UL(this,n,i);let s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);const c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let h=c;h<=u;++h)f.push(HL(this,h));return Promise.all(f)};HN.prototype.computeXysRadians=function(e,t,n){const i=UL(this,e,t);if(i<0)return;const o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;const r=this._interpolationOrder;let s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1;const u=this._samples;if(l(u[s*3])||(HL(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(HL(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new lj(0,0,0);const f=i-s*this._stepSizeDays,h=this._work,m=this._denominators,g=this._coef,p=this._xTable;let y,T;for(y=0;y<=r;++y)h[y]=f-p[y];for(y=0;y<=r;++y){for(g[y]=1,T=0;T<=r;++T)T!==y&&(g[y]*=h[T]);g[y]*=m[y];let b=(s+y)*3;n.x+=g[y]*u[b++],n.y+=g[y]*u[b++],n.s+=g[y]*u[b]}return n};function HL(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n;const i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Re({url:dn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});const o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;const s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u =43200?o=(r+.5)/bi.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/bi.DAYS_PER_JULIAN_CENTURY;const a=(Ume+o*(Hme+o*(Vme+o*kme)))*jme%N.TWO_PI,c=Wme+Gme*(n-24515455e-1),u=(i+bi.SECONDS_PER_DAY*.5)%bi.SECONDS_PER_DAY,f=a+c*u,h=Math.cos(f),m=Math.sin(f);return l(t)?(t[0]=h,t[1]=-m,t[2]=0,t[3]=m,t[4]=h,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new J(h,m,0,-m,h,0,0,0,1)};ui.iau2006XysData=new HN;ui.earthOrientationParameters=XT.NONE;const VL=32.184,qme=2451545;ui.preloadIcrfFixed=function(e){const t=e.start.dayNumber,n=e.start.secondsOfDay+VL,i=e.stop.dayNumber,o=e.stop.secondsOfDay+VL;return ui.iau2006XysData.preload(t,n,i,o)};ui.computeIcrfToFixedMatrix=function(e,t){if(!l(e))throw new x("date is required.");l(t)||(t=new J);const n=ui.computeFixedToIcrfMatrix(e,t);if(l(n))return J.transpose(n,t)};const Yme=new lj(0,0,0),$me=new LN(0,0,0,0,0),HI=new J,VI=new J;ui.computeFixedToIcrfMatrix=function(e,t){if(!l(e))throw new x("date is required.");l(t)||(t=new J);const n=ui.earthOrientationParameters.compute(e,$me);if(!l(n))return;const i=e.dayNumber,o=e.secondsOfDay+VL,r=ui.iau2006XysData.computeXysRadians(i,o,Yme);if(!l(r))return;const s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=HI;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);const f=J.fromRotationZ(-r.s,VI),h=J.multiply(u,f,HI),m=e.dayNumber,g=e.secondsOfDay-ne.computeTaiMinusUtc(e)+n.ut1MinusUtc,p=m-2451545,y=g/bi.SECONDS_PER_DAY;let T=.779057273264+y+.00273781191135448*(p+y);T=T%1*N.TWO_PI;const b=J.fromRotationZ(T,VI),E=J.multiply(h,b,HI),w=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),P=Math.sin(n.xPoleWander),O=Math.sin(n.yPoleWander);let z=i-qme+o/bi.SECONDS_PER_DAY;z/=36525;const R=-47e-6*z*N.RADIANS_PER_DEGREE/3600,F=Math.cos(R),H=Math.sin(R),v=VI;return v[0]=w*F,v[1]=w*H,v[2]=P,v[3]=-S*H+O*P*F,v[4]=S*F+O*P*H,v[5]=-O*w,v[6]=-O*H-S*P*F,v[7]=O*F-S*P*H,v[8]=S*w,J.multiply(E,v,t)};const Xme=new oe;ui.pointToWindowCoordinates=function(e,t,n,i){return i=ui.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};ui.pointToGLWindowCoordinates=function(e,t,n,i){if(!l(e))throw new x("modelViewProjectionMatrix is required.");if(!l(t))throw new x("viewportTransformation is required.");if(!l(n))throw new x("point is required.");l(i)||(i=new j);const o=Xme;return B.multiplyByVector(e,oe.fromElements(n.x,n.y,n.z,1,o),o),oe.multiplyByScalar(o,1/o.w,o),B.multiplyByVector(t,o,o),j.fromCartesian4(o,i)};const Kme=new d,Jme=new d,Qme=new d;ui.rotationMatrixFromPositionVelocity=function(e,t,n,i){if(!l(e))throw new x("position is required.");if(!l(t))throw new x("velocity is required.");const o=A(n,pe.WGS84).geodeticSurfaceNormal(e,Kme);let r=d.cross(t,o,Jme);d.equalsEpsilon(r,d.ZERO,N.EPSILON6)&&(r=d.clone(d.UNIT_X,r));const s=d.cross(r,t,Qme);return d.normalize(s,s),d.cross(t,s,r),d.negate(r,r),d.normalize(r,r),l(i)||(i=new J),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};const uj=new B(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),fj=new Ae,dj=new d,Zme=new d,e_e=new J,kL=new B,hj=new B;ui.basisTo2D=function(e,t,n){if(!l(e))throw new x("projection is required.");if(!l(t))throw new x("matrix is required.");if(!l(n))throw new x("result is required.");const i=B.getTranslation(t,Zme),o=e.ellipsoid,r=o.cartesianToCartographic(i,fj),s=e.project(r,dj);d.fromElements(s.z,s.x,s.y,s);const a=ui.eastNorthUpToFixedFrame(i,o,kL),c=B.inverseTransformation(a,hj),u=B.getMatrix3(t,e_e),f=B.multiplyByMatrix3(c,u,n);return B.multiply(uj,f,n),B.setTranslation(n,s,n),n};ui.wgs84To2DModelMatrix=function(e,t,n){if(!l(e))throw new x("projection is required.");if(!l(t))throw new x("center is required.");if(!l(n))throw new x("result is required.");const i=e.ellipsoid,o=ui.eastNorthUpToFixedFrame(t,i,kL),r=B.inverseTransformation(o,hj),s=i.cartesianToCartographic(t,fj),a=e.project(s,dj);d.fromElements(a.z,a.x,a.y,a);const c=B.fromTranslation(a,kL);return B.multiply(uj,r,n),B.multiply(c,n,n),n};const tn=ui;function Dt(e){e=A(e,A.EMPTY_OBJECT),C.typeOf.object("options.attributes",e.attributes),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=A(e.primitiveType,Qe.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=A(e.geometryType,ny.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}Dt.computeNumberOfVertices=function(e){C.typeOf.object("geometry",e);let t=-1;for(const n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){const i=e.attributes[n],o=i.values.length/i.componentsPerAttribute;if(t!==o&&t!==-1)throw new x("All attribute lists must have the same number of attributes.");t=o}return t};const t_e=new Ae,n_e=new d,jz=new B,i_e=[new Ae,new Ae,new Ae],o_e=[new j,new j,new j],r_e=[new j,new j,new j],s_e=new d,a_e=new Te,c_e=new B,l_e=new ct;Dt._textureCoordinateRotationPoints=function(e,t,n,i){let o;const r=_e.center(i,t_e),s=Ae.toCartesian(r,n,n_e),a=tn.eastNorthUpToFixedFrame(s,n,jz),c=B.inverse(a,jz),u=o_e,f=i_e;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let h=s_e;for(o=0;o<3;o++)Ae.toCartesian(f[o],n,h),h=B.multiplyByPointAsVector(c,h,h),u[o].x=h.x,u[o].y=h.y;const m=Te.fromAxisAngle(d.UNIT_Z,-t,a_e),g=J.fromQuaternion(m,c_e),p=e.length;let y=Number.POSITIVE_INFINITY,T=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY,E=Number.NEGATIVE_INFINITY;for(o=0;o 4)throw new x("options.componentsPerAttribute must be between 1 and 4.");if(!l(e.values))throw new x("options.values is required.");this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=A(e.normalize,!1),this.values=e.values}function qy(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(qy.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}});qy.clone=function(e){if(l(e))return new qy(e._format,e._datatype,e._width,e._height,e._buffer)};qy.prototype.clone=function(){return qy.clone(this)};function pj(){if(!l(Di._canTransferArrayBuffer)){const e=new Worker(_j("Workers/transferTypedArrayTest.js"));e.postMessage=A(e.webkitPostMessage,e.postMessage);const t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return Di._canTransferArrayBuffer=!1,Di._canTransferArrayBuffer}const i=Pp();e.onmessage=function(o){const r=o.data.array,s=l(r)&&r[0]===t;i.resolve(s),e.terminate(),Di._canTransferArrayBuffer=s},Di._canTransferArrayBuffer=i.promise}return Di._canTransferArrayBuffer}const GL=new Xe;function mj(e,t){--e._activeTasks;const n=t.id;if(!l(n))return;const i=e._deferreds,o=i[n];if(l(t.error)){let r=t.error;r.name==="RuntimeError"?(r=new Se(t.error.message),r.stack=t.error.stack):r.name==="DeveloperError"&&(r=new x(t.error.message),r.stack=t.error.stack),GL.raiseEvent(r),o.reject(r)}else GL.raiseEvent(),o.resolve(t.result);delete i[n]}function _j(e){let t=dn(e);if(QW(t)){const n=`importScripts("${t}");`;let i;try{i=new Blob([n],{type:"application/javascript"})}catch{const s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,a=new s;a.append(n),i=a.getBlob("application/javascript")}t=(window.URL||window.webkitURL).createObjectURL(i)}return t}let kI;function u_e(){return l(kI)||(kI=_j("Workers/cesiumWorkerBootstrapper.js")),kI}function gj(e){const t=new Worker(u_e());t.postMessage=A(t.webkitPostMessage,t.postMessage);const n={loaderConfig:{paths:{Workers:dn("Workers")},baseUrl:dn.getCesiumBaseUrl().url},workerModule:e._workerPath};return t.postMessage(n),t.onmessage=function(i){mj(e,i.data)},t}function f_e(e,t){const n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!un.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new Se(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=dn(t.fallbackModulePath),Promise.resolve(n)}return n.modulePath=dn(t.modulePath),n.wasmBinaryFile=dn(t.wasmBinaryFile),Re.fetchArrayBuffer({url:n.wasmBinaryFile}).then(function(i){return n.wasmBinary=i,n})}function Di(e,t){const n=new ws(e);this._workerPath=n.scheme().length!==0&&n.fragment().length===0?e:Di._workerModulePrefix+e,this._maximumActiveTasks=A(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}const d_e=[];Di.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=gj(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;const n=this;return Promise.resolve(pj()).then(function(i){l(t)?i||(t.length=0):t=d_e;const o=n._nextID++,r=Pp();return n._deferreds[o]=r,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),r.promise})};Di.prototype.initWebAssemblyModule=function(e){l(this._worker)||(this._worker=gj(this));const t=Pp(),n=this,i=this._worker;return f_e(this,e).then(function(o){return Promise.resolve(pj()).then(function(r){let s;const a=o.wasmBinary;l(a)&&r&&(s=[a]),i.onmessage=function(c){i.onmessage=function(u){mj(n,u.data)},t.resolve(c.data)},i.postMessage({webAssemblyConfig:o},s)})}),t.promise};Di.prototype.isDestroyed=function(){return!1};Di.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),Ue(this)};Di.taskCompletedEvent=GL;Di._defaultWorkerModulePrefix="Workers/";Di._workerModulePrefix=Di._defaultWorkerModulePrefix;Di._canTransferArrayBuffer=void 0;function nd(){}nd._transcodeTaskProcessor=new Di("transcodeKTX2",Number.POSITIVE_INFINITY);nd._readyPromise=void 0;function h_e(){const e=nd._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return nd._transcodeTaskProcessor});nd._readyPromise=e}nd.transcode=function(e,t){return C.defined("supportedTargetFormats",t),l(nd._readyPromise)||h_e(),nd._readyPromise.then(function(n){let i;if(e instanceof ArrayBuffer){const o=new Uint8Array(e);return i={supportedTargetFormats:t,ktx2Buffer:o},n.scheduleTask(i,[e])}return i={supportedTargetFormats:t,ktx2Buffer:e},n.scheduleTask(i,[e.buffer])}).then(function(n){const i=n.length,o=Object.keys(n[0]),r=o.length;let s;for(s=0;sthis._size)throw new x("xOffset + options.source.width must be less than or equal to width.");if(n+e.source.height>this._size)throw new x("yOffset + options.source.height must be less than or equal to height.");const i=e.source,o=this._context._gl,r=this._textureTarget,s=this._targetFace;o.activeTexture(o.TEXTURE0),o.bindTexture(r,this._texture);const a=i.width,c=i.height;let u=i.arrayBufferView;const f=this._size,h=this._pixelFormat,m=this._internalFormat,g=this._pixelDatatype,p=this._preMultiplyAlpha,y=this._flipY,T=A(e.skipColorSpaceConversion,!1);let b=4;l(u)&&(b=it.alignmentInBytes(h,g,a)),o.pixelStorei(o.UNPACK_ALIGNMENT,b),T?o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.NONE):o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL);let E=!1;if(!this._initialized){if(t===0&&n===0&&a===f&&c===f)l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),y&&(u=it.flipY(u,h,g,f,f)),o.texImage2D(s,0,m,f,f,0,h,Je.toWebGLConstant(g,this._context),u)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,y),o.texImage2D(s,0,m,h,Je.toWebGLConstant(g,this._context),i)),E=!0;else{o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1);const w=it.createTypedArray(h,g,f,f);o.texImage2D(s,0,m,f,f,0,h,Je.toWebGLConstant(g,this._context),w)}this._initialized=!0}E||(l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),y&&(u=it.flipY(u,h,g,a,c)),o.texSubImage2D(s,0,t,n,a,c,h,Je.toWebGLConstant(g,this._context),u)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,y),o.texSubImage2D(s,0,t,n,h,Je.toWebGLConstant(g,this._context),i))),o.bindTexture(r,null)};Vf.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){if(e=A(e,0),t=A(t,0),n=A(n,0),i=A(i,0),o=A(o,this._size),r=A(r,this._size),C.typeOf.number.greaterThanOrEquals("xOffset",e,0),C.typeOf.number.greaterThanOrEquals("yOffset",t,0),C.typeOf.number.greaterThanOrEquals("framebufferXOffset",n,0),C.typeOf.number.greaterThanOrEquals("framebufferYOffset",i,0),e+o>this._size)throw new x("xOffset + source.width must be less than or equal to width.");if(t+r>this._size)throw new x("yOffset + source.height must be less than or equal to height.");if(this._pixelDatatype===Je.FLOAT)throw new x("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(this._pixelDatatype===Je.HALF_FLOAT)throw new x("Cannot call copyFromFramebuffer when the texture pixel data type is HALF_FLOAT.");const s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};const lw={DONT_CARE:se.DONT_CARE,FASTEST:se.FASTEST,NICEST:se.NICEST,validate:function(e){return e===lw.DONT_CARE||e===lw.FASTEST||e===lw.NICEST}},Yy=Object.freeze(lw),uw={NEAREST:se.NEAREST,LINEAR:se.LINEAR};uw.validate=function(e){return e===uw.NEAREST||e===uw.LINEAR};const Gr=Object.freeze(uw),xh={NEAREST:se.NEAREST,LINEAR:se.LINEAR,NEAREST_MIPMAP_NEAREST:se.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:se.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:se.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:se.LINEAR_MIPMAP_LINEAR};xh.validate=function(e){return e===xh.NEAREST||e===xh.LINEAR||e===xh.NEAREST_MIPMAP_NEAREST||e===xh.LINEAR_MIPMAP_NEAREST||e===xh.NEAREST_MIPMAP_LINEAR||e===xh.LINEAR_MIPMAP_LINEAR};const Tn=Object.freeze(xh),fw={CLAMP_TO_EDGE:se.CLAMP_TO_EDGE,REPEAT:se.REPEAT,MIRRORED_REPEAT:se.MIRRORED_REPEAT,validate:function(e){return e===fw.CLAMP_TO_EDGE||e===fw.REPEAT||e===fw.MIRRORED_REPEAT}},xi=Object.freeze(fw);function Yn(e){e=A(e,A.EMPTY_OBJECT);const t=A(e.wrapS,xi.CLAMP_TO_EDGE),n=A(e.wrapT,xi.CLAMP_TO_EDGE),i=A(e.minificationFilter,Tn.LINEAR),o=A(e.magnificationFilter,Gr.LINEAR),r=l(e.maximumAnisotropy)?e.maximumAnisotropy:1;if(!xi.validate(t))throw new x("Invalid sampler.wrapS.");if(!xi.validate(n))throw new x("Invalid sampler.wrapT.");if(!Tn.validate(i))throw new x("Invalid sampler.minificationFilter.");if(!Gr.validate(o))throw new x("Invalid sampler.magnificationFilter.");C.typeOf.number.greaterThanOrEquals("maximumAnisotropy",r,1),this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(Yn.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});Yn.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};Yn.NEAREST=Object.freeze(new Yn({wrapS:xi.CLAMP_TO_EDGE,wrapT:xi.CLAMP_TO_EDGE,minificationFilter:Tn.NEAREST,magnificationFilter:Gr.NEAREST}));function cu(e){e=A(e,A.EMPTY_OBJECT),C.defined("options.context",e.context);const t=e.context,n=e.source;let i,o;if(l(n)){const E=[n.positiveX,n.negativeX,n.positiveY,n.negativeY,n.positiveZ,n.negativeZ];if(!E[0]||!E[1]||!E[2]||!E[3]||!E[4]||!E[5])throw new x("options.source requires positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ faces.");i=E[0].width,o=E[0].height;for(let w=1;w<6;++w)if(Number(E[w].width)!==i||Number(E[w].height)!==o)throw new x("Each face in options.source must have the same width and height.")}else i=e.width,o=e.height;const r=i,s=A(e.pixelDatatype,Je.UNSIGNED_BYTE),a=A(e.pixelFormat,it.RGBA),c=it.toInternalFormat(a,s,t);if(!l(i)||!l(o))throw new x("options requires a source field to create an initialized cube map or width and height fields to create a blank cube map.");if(i!==o)throw new x("Width must equal height.");if(r<=0)throw new x("Width and height must be greater than zero.");if(r>wt.maximumCubeMapSize)throw new x(`Width and height must be less than or equal to the maximum cube map size (${wt.maximumCubeMapSize}). Check maximumCubeMapSize.`);if(!it.validate(a))throw new x("Invalid options.pixelFormat.");if(it.isDepthFormat(a))throw new x("options.pixelFormat cannot be DEPTH_COMPONENT or DEPTH_STENCIL.");if(!Je.validate(s))throw new x("Invalid options.pixelDatatype.");if(s===Je.FLOAT&&!t.floatingPointTexture)throw new x("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(s===Je.HALF_FLOAT&&!t.halfFloatingPointTexture)throw new x("When options.pixelDatatype is HALF_FLOAT, this WebGL implementation must support the OES_texture_half_float extension.");const u=it.textureSizeInBytes(a,s,r,r)*6,f=e.preMultiplyAlpha||a===it.RGB||a===it.LUMINANCE,h=A(e.flipY,!0),m=A(e.skipColorSpaceConversion,!1),g=t._gl,p=g.TEXTURE_CUBE_MAP,y=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(p,y);function T(E,w,S,P,O){let z=w.arrayBufferView;l(z)||(z=w.bufferView);let R=4;l(z)&&(R=it.alignmentInBytes(a,s,i)),g.pixelStorei(g.UNPACK_ALIGNMENT,R),O?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(z)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),P&&(z=it.flipY(z,a,s,r,r)),g.texImage2D(E,0,c,r,r,0,a,Je.toWebGLConstant(s,t),z)):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,S),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,P),g.texImage2D(E,0,c,a,Je.toWebGLConstant(s,t),w))}l(n)?(T(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,f,h,m),T(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,f,h,m),T(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,f,h,m),T(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,f,h,m),T(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,f,h,m),T(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,f,h,m)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null)),g.bindTexture(p,null),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=p,this._texture=y,this._pixelFormat=a,this._pixelDatatype=s,this._size=r,this._hasMipmap=!1,this._sizeInBytes=u,this._preMultiplyAlpha=f,this._flipY=h,this._sampler=void 0;const b=l(n);this._positiveX=new Vf(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_X,c,a,s,r,f,h,b),this._negativeX=new Vf(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_X,c,a,s,r,f,h,b),this._positiveY=new Vf(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Y,c,a,s,r,f,h,b),this._negativeY=new Vf(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,c,a,s,r,f,h,b),this._positiveZ=new Vf(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Z,c,a,s,r,f,h,b),this._negativeZ=new Vf(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,c,a,s,r,f,h,b),this.sampler=l(e.sampler)?e.sampler:new Yn}Object.defineProperties(cu.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter;const i=t===Tn.NEAREST_MIPMAP_NEAREST||t===Tn.NEAREST_MIPMAP_LINEAR||t===Tn.LINEAR_MIPMAP_NEAREST||t===Tn.LINEAR_MIPMAP_LINEAR,o=this._context,r=this._pixelDatatype;(r===Je.FLOAT&&!o.textureFloatLinear||r===Je.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?Tn.NEAREST_MIPMAP_NEAREST:Tn.NEAREST,n=Gr.NEAREST);const s=o._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.texParameteri(a,s.TEXTURE_MIN_FILTER,t),s.texParameteri(a,s.TEXTURE_MAG_FILTER,n),s.texParameteri(a,s.TEXTURE_WRAP_S,e.wrapS),s.texParameteri(a,s.TEXTURE_WRAP_T,e.wrapT),l(this._textureFilterAnisotropic)&&s.texParameteri(a,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),s.bindTexture(a,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});cu.prototype.generateMipmap=function(e){if(e=A(e,Yy.DONT_CARE),this._size>1&&!N.isPowerOfTwo(this._size))throw new x("width and height must be a power of two to call generateMipmap().");if(!Yy.validate(e))throw new x("hint is invalid.");this._hasMipmap=!0;const t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};cu.prototype.isDestroyed=function(){return!1};cu.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=Ue(this._positiveX),this._negativeX=Ue(this._negativeX),this._positiveY=Ue(this._positiveY),this._negativeY=Ue(this._negativeY),this._positiveZ=Ue(this._positiveZ),this._negativeZ=Ue(this._negativeZ),Ue(this)};function L_(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}function p_e(e,t){const n=/#define OUTPUT_DECLARATION/,i=e.split(` -`);if(/#version 300 es/g.test(e))return e;let o=-1,r,s;for(r=0;r
=0;S--)i.splice(b,0,`#endif //${E[S]}`)}const h="WEBGL_2",m=`#define ${h}`,g="#version 300 es";let p=!1;for(r=0;r =0}):n[h]=o.slice())}}return n}function GI(e,t,n){const i=`#extension\\s+GL_${e}\\s+:\\s+[a-zA-Z0-9]+\\s*$`;m_e(new RegExp(i,"g"),"",n),Iu(`GL_${e}`,t,n)}const A_e=`/** + */(function(e){(function(t,n){e.exports?e.exports=n(Yme(),Xme(),Jme()):t.URI=n(t.punycode,t.IPv6,t.SecondLevelDomains,t)})(Ty,function(t,n,i,o){var r=o&&o.URI;function s(m,D){var L=arguments.length>=1,M=arguments.length>=2;if(!(this instanceof s))return L?M?new s(m,D):new s(m):new s;if(m===void 0){if(L)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?m=location.href+"":m=""}if(m===null&&L)throw new TypeError("null is not a valid argument for URI");return this.href(m),D!==void 0?this.absoluteTo(D):this}function a(m){return/^[0-9]+$/.test(m)}s.version="1.19.11";var c=s.prototype,u=Object.prototype.hasOwnProperty;function f(m){return m.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function h(m){return m===void 0?"Undefined":String(Object.prototype.toString.call(m)).slice(8,-1)}function _(m){return h(m)==="Array"}function g(m,D){var L={},M,V;if(h(D)==="RegExp")L=null;else if(_(D))for(M=0,V=D.length;M ]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,s.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},s.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.hostProtocols=["http","https"],s.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,s.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},s.getDomAttribute=function(m){if(!(!m||!m.nodeName)){var D=m.nodeName.toLowerCase();if(!(D==="input"&&m.type!=="image"))return s.domAttributes[D]}};function C(m){return escape(m)}function x(m){return encodeURIComponent(m).replace(/[!'()*]/g,C).replace(/\*/g,"%2A")}s.encode=x,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=x,s.decode=decodeURIComponent},s.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},s.encodeQuery=function(m,D){var L=s.encode(m+"");return D===void 0&&(D=s.escapeQuerySpace),D?L.replace(/%20/g,"+"):L},s.decodeQuery=function(m,D){m+="",D===void 0&&(D=s.escapeQuerySpace);try{return s.decode(D?m.replace(/\+/g,"%20"):m)}catch{return m}};var S={encode:"encode",decode:"decode"},v,P=function(m,D){return function(L){try{return s[D](L+"").replace(s.characters[m][D].expression,function(M){return s.characters[m][D].map[M]})}catch{return L}}};for(v in S)s[v+"PathSegment"]=P("pathname",S[v]),s[v+"UrnPathSegment"]=P("urnpath",S[v]);var O=function(m,D,L){return function(M){var V;L?V=function(K){return s[D](s[L](K))}:V=s[D];for(var k=(M+"").split(m),G=0,W=k.length;G -1&&(D.fragment=m.substring(L+1)||null,m=m.substring(0,L)),L=m.indexOf("?"),L>-1&&(D.query=m.substring(L+1)||null,m=m.substring(0,L)),m=m.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),m=m.replace(/^[/\\]{2,}/i,"//"),m.substring(0,2)==="//"?(D.protocol=null,m=m.substring(2),m=s.parseAuthority(m,D)):(L=m.indexOf(":"),L>-1&&(D.protocol=m.substring(0,L)||null,D.protocol&&!D.protocol.match(s.protocol_expression)?D.protocol=void 0:m.substring(L+1,L+3).replace(/\\/g,"/")==="//"?(m=m.substring(L+3),m=s.parseAuthority(m,D)):(m=m.substring(L+1),D.urn=!0))),D.path=m,D},s.parseHost=function(m,D){m||(m=""),m=m.replace(/\\/g,"/");var L=m.indexOf("/"),M,V;if(L===-1&&(L=m.length),m.charAt(0)==="[")M=m.indexOf("]"),D.hostname=m.substring(1,M)||null,D.port=m.substring(M+2,L)||null,D.port==="/"&&(D.port=null);else{var k=m.indexOf(":"),G=m.indexOf("/"),W=m.indexOf(":",k+1);W!==-1&&(G===-1||W -1?V:m.length-1),G;return k>-1&&(V===-1||k -1?X=X.slice(0,Y)+X.slice(Y).replace(k,""):X=X.replace(k,""),!(X.length<=K[0].length)&&!(L.ignore&&L.ignore.test(X))){$=q+X.length;var re=D(X,q,$,m);if(re===void 0){M.lastIndex=$;continue}re=String(re),m=m.slice(0,q)+re+m.slice($),M.lastIndex=q+re.length}}return M.lastIndex=0,m},s.ensureValidHostname=function(m,D){var L=!!m,M=!!D,V=!1;if(M&&(V=p(s.hostProtocols,D)),V&&!L)throw new TypeError("Hostname cannot be empty, if protocol is "+D);if(m&&m.match(s.invalid_hostname_characters)){if(!t)throw new TypeError('Hostname "'+m+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(t.toASCII(m).match(s.invalid_hostname_characters))throw new TypeError('Hostname "'+m+'" contains characters other than [A-Z0-9.-:_]')}},s.ensureValidPort=function(m){if(m){var D=Number(m);if(!(a(D)&&D>0&&D<65536))throw new TypeError('Port "'+m+'" is not a valid port')}},s.noConflict=function(m){if(m){var D={URI:this.noConflict()};return o.URITemplate&&typeof o.URITemplate.noConflict=="function"&&(D.URITemplate=o.URITemplate.noConflict()),o.IPv6&&typeof o.IPv6.noConflict=="function"&&(D.IPv6=o.IPv6.noConflict()),o.SecondLevelDomains&&typeof o.SecondLevelDomains.noConflict=="function"&&(D.SecondLevelDomains=o.SecondLevelDomains.noConflict()),D}else o.URI===this&&(o.URI=r);return this},c.build=function(m){return m===!0?this._deferred_build=!0:(m===void 0||this._deferred_build)&&(this._string=s.build(this._parts),this._deferred_build=!1),this},c.clone=function(){return new s(this)},c.valueOf=c.toString=function(){return this.build(!1)._string};function U(m){return function(D,L){return D===void 0?this._parts[m]||"":(this._parts[m]=D||null,this.build(!L),this)}}function R(m,D){return function(L,M){return L===void 0?this._parts[m]||"":(L!==null&&(L=L+"",L.charAt(0)===D&&(L=L.substring(1))),this._parts[m]=L,this.build(!M),this)}}c.protocol=U("protocol"),c.username=U("username"),c.password=U("password"),c.hostname=U("hostname"),c.port=U("port"),c.query=R("query","?"),c.fragment=R("fragment","#"),c.search=function(m,D){var L=this.query(m,D);return typeof L=="string"&&L.length?"?"+L:L},c.hash=function(m,D){var L=this.fragment(m,D);return typeof L=="string"&&L.length?"#"+L:L},c.pathname=function(m,D){if(m===void 0||m===!0){var L=this._parts.path||(this._parts.hostname?"/":"");return m?(this._parts.urn?s.decodeUrnPath:s.decodePath)(L):L}else return this._parts.urn?this._parts.path=m?s.recodeUrnPath(m):"":this._parts.path=m?s.recodePath(m):"/",this.build(!D),this},c.path=c.pathname,c.href=function(m,D){var L;if(m===void 0)return this.toString();this._string="",this._parts=s._parts();var M=m instanceof s,V=typeof m=="object"&&(m.hostname||m.path||m.pathname);if(m.nodeName){var k=s.getDomAttribute(m);m=m[k]||"",V=!1}if(!M&&V&&m.pathname!==void 0&&(m=m.toString()),typeof m=="string"||m instanceof String)this._parts=s.parse(String(m),this._parts);else if(M||V){var G=M?m._parts:m;for(L in G)L!=="query"&&u.call(this._parts,L)&&(this._parts[L]=G[L]);G.query&&this.query(G.query,!1)}else throw new TypeError("invalid input");return this.build(!D),this},c.is=function(m){var D=!1,L=!1,M=!1,V=!1,k=!1,G=!1,W=!1,K=!this._parts.urn;switch(this._parts.hostname&&(K=!1,L=s.ip4_expression.test(this._parts.hostname),M=s.ip6_expression.test(this._parts.hostname),D=L||M,V=!D,k=V&&i&&i.has(this._parts.hostname),G=V&&s.idn_expression.test(this._parts.hostname),W=V&&s.punycode_expression.test(this._parts.hostname)),m.toLowerCase()){case"relative":return K;case"absolute":return!K;case"domain":case"name":return V;case"sld":return k;case"ip":return D;case"ip4":case"ipv4":case"inet4":return L;case"ip6":case"ipv6":case"inet6":return M;case"idn":return G;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return W}return null};var z=c.protocol,F=c.port,w=c.hostname;c.protocol=function(m,D){if(m&&(m=m.replace(/:(\/\/)?$/,""),!m.match(s.protocol_expression)))throw new TypeError('Protocol "'+m+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return z.call(this,m,D)},c.scheme=c.protocol,c.port=function(m,D){return this._parts.urn?m===void 0?"":this:(m!==void 0&&(m===0&&(m=null),m&&(m+="",m.charAt(0)===":"&&(m=m.substring(1)),s.ensureValidPort(m))),F.call(this,m,D))},c.hostname=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m!==void 0){var L={preventInvalidHostname:this._parts.preventInvalidHostname},M=s.parseHost(m,L);if(M!=="/")throw new TypeError('Hostname "'+m+'" contains characters other than [A-Z0-9.-]');m=L.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(m,this._parts.protocol)}return w.call(this,m,D)},c.origin=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0){var L=this.protocol(),M=this.authority();return M?(L?L+"://":"")+this.authority():""}else{var V=s(m);return this.protocol(V.protocol()).authority(V.authority()).build(!D),this}},c.host=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0)return this._parts.hostname?s.buildHost(this._parts):"";var L=s.parseHost(m,this._parts);if(L!=="/")throw new TypeError('Hostname "'+m+'" contains characters other than [A-Z0-9.-]');return this.build(!D),this},c.authority=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0)return this._parts.hostname?s.buildAuthority(this._parts):"";var L=s.parseAuthority(m,this._parts);if(L!=="/")throw new TypeError('Hostname "'+m+'" contains characters other than [A-Z0-9.-]');return this.build(!D),this},c.userinfo=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0){var L=s.buildUserinfo(this._parts);return L&&L.substring(0,L.length-1)}else return m[m.length-1]!=="@"&&(m+="@"),s.parseUserinfo(m,this._parts),this.build(!D),this},c.resource=function(m,D){var L;return m===void 0?this.path()+this.search()+this.hash():(L=s.parse(m),this._parts.path=L.path,this._parts.query=L.query,this._parts.fragment=L.fragment,this.build(!D),this)},c.subdomain=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0){if(!this._parts.hostname||this.is("IP"))return"";var L=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,L)||""}else{var M=this._parts.hostname.length-this.domain().length,V=this._parts.hostname.substring(0,M),k=new RegExp("^"+f(V));if(m&&m.charAt(m.length-1)!=="."&&(m+="."),m.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return m&&s.ensureValidHostname(m,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(k,m),this.build(!D),this}},c.domain=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(typeof m=="boolean"&&(D=m,m=void 0),m===void 0){if(!this._parts.hostname||this.is("IP"))return"";var L=this._parts.hostname.match(/\./g);if(L&&L.length<2)return this._parts.hostname;var M=this._parts.hostname.length-this.tld(D).length-1;return M=this._parts.hostname.lastIndexOf(".",M-1)+1,this._parts.hostname.substring(M)||""}else{if(!m)throw new TypeError("cannot set domain empty");if(m.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(s.ensureValidHostname(m,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=m;else{var V=new RegExp(f(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(V,m)}return this.build(!D),this}},c.tld=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(typeof m=="boolean"&&(D=m,m=void 0),m===void 0){if(!this._parts.hostname||this.is("IP"))return"";var L=this._parts.hostname.lastIndexOf("."),M=this._parts.hostname.substring(L+1);return D!==!0&&i&&i.list[M.toLowerCase()]&&i.get(this._parts.hostname)||M}else{var V;if(m)if(m.match(/[^a-zA-Z0-9-]/))if(i&&i.is(m))V=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(V,m);else throw new TypeError('TLD "'+m+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");V=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(V,m)}else throw new TypeError("cannot set TLD empty");return this.build(!D),this}},c.directory=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0||m===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var L=this._parts.path.length-this.filename().length-1,M=this._parts.path.substring(0,L)||(this._parts.hostname?"/":"");return m?s.decodePath(M):M}else{var V=this._parts.path.length-this.filename().length,k=this._parts.path.substring(0,V),G=new RegExp("^"+f(k));return this.is("relative")||(m||(m="/"),m.charAt(0)!=="/"&&(m="/"+m)),m&&m.charAt(m.length-1)!=="/"&&(m+="/"),m=s.recodePath(m),this._parts.path=this._parts.path.replace(G,m),this.build(!D),this}},c.filename=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(typeof m!="string"){if(!this._parts.path||this._parts.path==="/")return"";var L=this._parts.path.lastIndexOf("/"),M=this._parts.path.substring(L+1);return m?s.decodePathSegment(M):M}else{var V=!1;m.charAt(0)==="/"&&(m=m.substring(1)),m.match(/\.?\//)&&(V=!0);var k=new RegExp(f(this.filename())+"$");return m=s.recodePath(m),this._parts.path=this._parts.path.replace(k,m),V?this.normalizePath(D):this.build(!D),this}},c.suffix=function(m,D){if(this._parts.urn)return m===void 0?"":this;if(m===void 0||m===!0){if(!this._parts.path||this._parts.path==="/")return"";var L=this.filename(),M=L.lastIndexOf("."),V,k;return M===-1?"":(V=L.substring(M+1),k=/^[a-z0-9%]+$/i.test(V)?V:"",m?s.decodePathSegment(k):k)}else{m.charAt(0)==="."&&(m=m.substring(1));var G=this.suffix(),W;if(G)m?W=new RegExp(f(G)+"$"):W=new RegExp(f("."+G)+"$");else{if(!m)return this;this._parts.path+="."+s.recodePath(m)}return W&&(m=s.recodePath(m),this._parts.path=this._parts.path.replace(W,m)),this.build(!D),this}},c.segment=function(m,D,L){var M=this._parts.urn?":":"/",V=this.path(),k=V.substring(0,1)==="/",G=V.split(M);if(m!==void 0&&typeof m!="number"&&(L=D,D=m,m=void 0),m!==void 0&&typeof m!="number")throw new Error('Bad segment "'+m+'", must be 0-based integer');if(k&&G.shift(),m<0&&(m=Math.max(G.length+m,0)),D===void 0)return m===void 0?G:G[m];if(m===null||G[m]===void 0)if(_(D)){G=[];for(var W=0,K=D.length;W "u")return e;t=A(n.baseURI,n.location.href)}const i=new ws(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};function Zme(e,t){if(!l(e))throw new E("uri is required.");let n="";const i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new ws(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}function e_e(e){if(!l(e))throw new E("uri is required.");const t=new ws(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}const Gz={};function xS(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=Gz[t];l(i)||(i={},Gz[t]=i);let o=i[n];if(!l(o)){const r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d"),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}const t_e=/^blob:/i;function cj(e){return T.typeOf.string("uri",e),t_e.test(e)}let Pu;function lj(e){l(Pu)||(Pu=document.createElement("a")),Pu.href=window.location.href;const t=Pu.host,n=Pu.protocol;return Pu.href=e,Pu.href=Pu.href,n!==Pu.protocol||t!==Pu.host}const n_e=/^data:/i;function HN(e){return T.typeOf.string("uri",e),n_e.test(e)}function i_e(e){const t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");const o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}function o_e(e){if(!l(e))throw new E("obj is required.");let t="";for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r 0){const s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}function Jy(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=c_e(this.responseHeaders))}Jy.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};function Xe(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(Xe.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});Xe.prototype.addEventListener=function(e,t){T.typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);const n=this;return function(){n.removeEventListener(e,t)}};Xe.prototype.removeEventListener=function(e,t){T.typeOf.func("listener",e);const n=this._listeners,i=this._scopes;let o=-1;for(let r=0;r0){for(o.sort(l_e),e=0;e=0;--t)this.heapify(t)};F_.prototype.insert=function(e){T.defined("element",e);const t=this._array,n=this._comparator,i=this._maximumLength;let o=this._length++;for(o i&&(r=t[i],this._length=i),r};F_.prototype.pop=function(e){if(e=A(e,0),this._length===0)return;T.typeOf.number.lessThan("index",e,this._length);const t=this._array,n=t[e];return VN(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};function u_e(e,t){return e.priority-t.priority}const yi={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0};let Ey=20;const Ws=new F_({comparator:u_e});Ws.maximumLength=Ey;Ws.reserve(Ey);const ju=[];let wd={};const f_e=typeof document<"u"?new ws(document.location.href):new ws,kv=new Xe;function pi(){}pi.maximumRequests=50;pi.maximumRequestsPerServer=6;pi.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18};pi.throttleRequests=!0;pi.debugShowStatistics=!1;pi.requestCompletedEvent=kv;Object.defineProperties(pi,{statistics:{get:function(){return yi}},priorityHeapLength:{get:function(){return Ey},set:function(e){if(e e;){const t=Ws.pop();e_(t)}Ey=e,Ws.maximumLength=e,Ws.reserve(e)}}});function uj(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}pi.serverHasOpenSlots=function(e,t){t=A(t,1);const n=A(pi.requestsByServer[e],pi.maximumRequestsPerServer);return wd[e]+t<=n};pi.heapHasOpenSlots=function(e){return Ws.length+e<=Ey};function fj(e){return e.state===Eo.UNISSUED&&(e.state=Eo.ISSUED,e.deferred=Hp()),e.deferred.promise}function d_e(e){return function(t){if(e.state===Eo.CANCELLED)return;const n=e.deferred;--yi.numberOfActiveRequests,--wd[e.serverKey],kv.raiseEvent(),e.state=Eo.RECEIVED,e.deferred=void 0,n.resolve(t)}}function h_e(e){return function(t){e.state!==Eo.CANCELLED&&(++yi.numberOfFailedRequests,--yi.numberOfActiveRequests,--wd[e.serverKey],kv.raiseEvent(t),e.state=Eo.FAILED,e.deferred.reject(t))}}function dj(e){const t=fj(e);return e.state=Eo.ACTIVE,ju.push(e),++yi.numberOfActiveRequests,++yi.numberOfActiveRequestsEver,++wd[e.serverKey],e.requestFunction().then(d_e(e)).catch(h_e(e)),t}function e_(e){const t=e.state===Eo.ACTIVE;if(e.state=Eo.CANCELLED,++yi.numberOfCancelledRequests,l(e.deferred)){const n=e.deferred;e.deferred=void 0,n.reject()}t&&(--yi.numberOfActiveRequests,--wd[e.serverKey],++yi.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}pi.update=function(){let e,t,n=0;const i=ju.length;for(e=0;e0&&(ju[e-n]=t)}ju.length-=n;const o=Ws.internalArray,r=Ws.length;for(e=0;e 0;){if(t=Ws.pop(),t.cancelled){e_(t);continue}if(t.throttleByServer&&!pi.serverHasOpenSlots(t.serverKey)){e_(t);continue}dj(t),++a}p_e()};pi.getServerKey=function(e){T.typeOf.string("url",e);let t=new ws(e);t.scheme()===""&&(t=new ws(e).absoluteTo(f_e),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);const i=wd[n];return l(i)||(wd[n]=0),n};pi.request=function(e){if(T.typeOf.object("request",e),T.typeOf.string("request.url",e.url),T.typeOf.func("request.requestFunction",e.requestFunction),HN(e.url)||cj(e.url))return kv.raiseEvent(),e.state=Eo.RECEIVED,e.requestFunction();if(++yi.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=pi.getServerKey(e.url)),pi.throttleRequests&&e.throttleByServer&&!pi.serverHasOpenSlots(e.serverKey))return;if(!pi.throttleRequests||!e.throttle)return dj(e);if(ju.length>=pi.maximumRequests)return;uj(e);const t=Ws.insert(e);if(l(t)){if(t===e)return;e_(t)}return fj(e)};function p_e(){pi.debugShowStatistics&&(yi.numberOfActiveRequests===0&&yi.lastNumberOfActiveRequests>0&&(yi.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${yi.numberOfAttemptedRequests}`),yi.numberOfAttemptedRequests=0),yi.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${yi.numberOfCancelledRequests}`),yi.numberOfCancelledRequests=0),yi.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${yi.numberOfCancelledActiveRequests}`),yi.numberOfCancelledActiveRequests=0),yi.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${yi.numberOfFailedRequests}`),yi.numberOfFailedRequests=0)),yi.lastNumberOfActiveRequests=yi.numberOfActiveRequests)}pi.clearForSpecs=function(){for(;Ws.length>0;){const t=Ws.pop();e_(t)}const e=ju.length;for(let t=0;t 0}}});Me.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Me.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;const n=new ws(this._url);e&&__e(n,this);let i=n.toString().replace(/%7B/g,"{").replace(/%7D/g,"}");const o=this._templateValues;return i=i.replace(/{(.*?)}/g,function(r,s){const a=o[s];return l(a)?encodeURIComponent(a):r}),t&&l(this.proxy)&&(i=this.proxy.getURL(i)),i};Me.prototype.setQueryParameters=function(e,t){t?this._queryParameters=wS(this._queryParameters,e,!1):this._queryParameters=wS(e,this._queryParameters,!1)};Me.prototype.appendQueryParameters=function(e){this._queryParameters=wS(e,this._queryParameters,!0)};Me.prototype.setTemplateValues=function(e,t){t?this._templateValues=an(this._templateValues,e):this._templateValues=an(e,this._templateValues)};Me.prototype.getDerivedResource=function(e){const t=this.clone();if(t._retryCount=0,l(e.url)){const n=new ws(e.url),i=A(e.preserveQueryParameters,!1);kN(n,t,!0,i),n.fragment(""),n.scheme()!==""?t._url=n.toString():t._url=n.absoluteTo(new ws(qC(this._url))).toString()}return l(e.queryParameters)&&(t._queryParameters=an(e.queryParameters,t._queryParameters)),l(e.templateValues)&&(t._templateValues=an(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=an(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};Me.prototype.retryOnError=function(e){const t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);const n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};Me.prototype.clone=function(e){return l(e)||(e=new Me({url:this._url})),e._url=this._url,e._queryParameters=ut(this._queryParameters),e._templateValues=ut(this._templateValues),e.headers=ut(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e};Me.prototype.getBaseUri=function(e){return Zme(this.getUrlComponent(e),e)};Me.prototype.appendForwardSlash=function(){this._url=Qme(this._url)};Me.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Me.fetchArrayBuffer=function(e){return new Me(e).fetchArrayBuffer()};Me.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Me.fetchBlob=function(e){return new Me(e).fetchBlob()};Me.prototype.fetchImage=function(e){e=A(e,A.EMPTY_OBJECT);const t=A(e.preferImageBitmap,!1),n=A(e.preferBlob,!1),i=A(e.flipY,!1),o=A(e.skipColorSpaceConversion,!1);if(GN(this.request),!pj||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return WL({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});const r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return Me.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return Me.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});const h=window.URL.createObjectURL(f);return c=new Me({url:h}),WL({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function WL(e){const t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);const c=Hp();return Me._Implementations.createImage(r,a,c,n,i,o),c.promise};const s=pi.request(r);if(l(s))return s.catch(function(a){return r.state!==Eo.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=Eo.UNISSUED,r.deferred=void 0,WL({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}Me.fetchImage=function(e){return new Me(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};Me.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Me.fetchText=function(e){return new Me(e).fetchText()};Me.prototype.fetchJson=function(){const e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};Me.fetchJson=function(e){return new Me(e).fetchJson()};Me.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Me.fetchXML=function(e){return new Me(e).fetchXML()};Me.prototype.fetchJsonp=function(e){e=A(e,"callback"),GN(this.request);let t;do t=`loadJsonp${N.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return mj(this,e,t)};function mj(e,t,n){const i={};i[t]=n,e.setQueryParameters(i);const o=e.request;o.url=e.url,o.requestFunction=function(){const s=Hp();return window[n]=function(a){s.resolve(a);try{delete window[n]}catch{window[n]=void 0}},Me._Implementations.loadAndExecuteScript(e.url,n,s),s.promise};const r=pi.request(o);if(l(r))return r.catch(function(s){return o.state!==Eo.FAILED?Promise.reject(s):e.retryOnError(s).then(function(a){return a?(o.state=Eo.UNISSUED,o.deferred=void 0,mj(e,t,n)):Promise.reject(s)})})}Me.fetchJsonp=function(e){return new Me(e).fetchJsonp(e.callbackParameterName)};Me.prototype._makeRequest=function(e){const t=this;GN(t.request);const n=t.request;n.url=t.url,n.requestFunction=function(){const o=e.responseType,r=an(e.headers,t.headers),s=e.overrideMimeType,a=e.method,c=e.data,u=Hp(),f=Me._Implementations.loadWithXhr(t.url,o,a,c,r,u,s);return l(f)&&l(f.abort)&&(n.cancelFunction=function(){f.abort()}),u.promise};const i=pi.request(n);if(l(i))return i.then(function(o){return n.cancelFunction=void 0,o}).catch(function(o){return n.cancelFunction=void 0,n.state!==Eo.FAILED?Promise.reject(o):t.retryOnError(o).then(function(r){return r?(n.state=Eo.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(o)})})};const g_e=/^data:(.*?)(;base64)?,(.*)$/;function mw(e,t){const n=decodeURIComponent(t);return e?atob(n):n}function Wz(e,t){const n=mw(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r import("./__vite-browser-external-b25bb000.js"),[]),gE(()=>import("./__vite-browser-external-b25bb000.js"),[])]).then(([u,f])=>(a=u.parse(e),c=f,a.protocol==="https:"?gE(()=>import("./__vite-browser-external-b25bb000.js"),[]):gE(()=>import("./__vite-browser-external-b25bb000.js"),[]))).then(u=>{const f={protocol:a.protocol,hostname:a.hostname,port:a.port,path:a.path,query:a.query,method:n,headers:o};u.request(f).on("response",function(h){if(h.statusCode<200||h.statusCode>=300){r.reject(new Jy(h.statusCode,h,h.headers));return}const _=[];h.on("data",function(g){_.push(g)}),h.on("end",function(){const g=Buffer.concat(_);h.headers["content-encoding"]==="gzip"?c.gunzip(g,function(p,y){p?r.reject(new De("Error decompressing response.")):r.resolve(jz(y,t))}):r.resolve(jz(g,t))})}).on("error",function(h){r.reject(new Jy)}).end()})}const b_e=typeof XMLHttpRequest>"u";Me._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){const a=g_e.exec(e);if(a!==null){r.resolve(y_e(a,t));return}if(b_e){A_e(e,t,n,i,o,r);return}const c=new XMLHttpRequest;if(hj.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(const f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new Jy(c.status,c.response,c.getAllResponseHeaders()));return}const f=c.response,h=c.responseType;if(n==="HEAD"||n==="OPTIONS"){const g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),p={};g.forEach(function(y){const b=y.split(": "),C=b.shift();p[C]=b.join(": ")}),r.resolve(p);return}if(c.status===204)r.resolve();else if(l(f)&&(!l(t)||h===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(_){r.reject(_)}else(h===""||h==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(h===""||h==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new De("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new Jy)},c.send(i),c};Me._Implementations.loadAndExecuteScript=function(e,t,n){return i_e(e).catch(function(i){n.reject(i)})};Me._DefaultImplementations={};Me._DefaultImplementations.createImage=Me._Implementations.createImage;Me._DefaultImplementations.loadWithXhr=Me._Implementations.loadWithXhr;Me._DefaultImplementations.loadAndExecuteScript=Me._Implementations.loadAndExecuteScript;Me.DEFAULT=Object.freeze(new Me({url:typeof document>"u"?"":document.location.href.split("?")[0]}));function Zb(e){e=A(e,A.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=A(e.addNewLeapSeconds,!0),l(e.data)?qz(this,e.data):qz(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}Zb.fromUrl=async function(e,t){T.defined("url",e),t=A(t,A.EMPTY_OBJECT);const n=Me.createIfNeeded(e);let i;try{i=await n.fetchJson()}catch{throw new De(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new Zb({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};Zb.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new MN(0,0,0,0,0),t}});Zb.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new MN(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;const n=this._dates,i=this._lastIndex;let o=0,r=0;if(l(i)){const a=n[i],c=n[i+1],u=ie.lessThanOrEquals(a,e),f=!l(c),h=f||ie.greaterThanOrEquals(c,e);if(u&&h)return o=i,!f&&c.equals(e)&&++o,r=o+1,$z(this,n,this._samples,e,o,r,t),t}let s=xs(n,e,ie.compare,this._dateColumn);return s>=0?(s t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;const c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return Yz(e,n,o,a,s),s;if(i.equals(u))return Yz(e,n,r,a,s),s;const f=ie.secondsDifference(i,c)/ie.secondsDifference(u,c),h=o*a,_=r*a;let g=n[h+e._ut1MinusUtcSecondsColumn],p=n[_+e._ut1MinusUtcSecondsColumn];const y=p-g;if(y>.5||y<-.5){const b=n[h+e._taiMinusUtcSecondsColumn],C=n[_+e._taiMinusUtcSecondsColumn];b!==C&&(u.equals(i)?g=p:p-=C-b)}return s.xPoleWander=K0(f,n[h+e._xPoleWanderRadiansColumn],n[_+e._xPoleWanderRadiansColumn]),s.yPoleWander=K0(f,n[h+e._yPoleWanderRadiansColumn],n[_+e._yPoleWanderRadiansColumn]),s.xPoleOffset=K0(f,n[h+e._xCelestialPoleOffsetRadiansColumn],n[_+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=K0(f,n[h+e._yCelestialPoleOffsetRadiansColumn],n[_+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=K0(f,g,p),s}function jr(e,t,n){this.heading=A(e,0),this.pitch=A(t,0),this.roll=A(n,0)}jr.fromQuaternion=function(e,t){if(!l(e))throw new E("quaternion is required");l(t)||(t=new jr);const n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-N.asinClamped(n),t};jr.fromDegrees=function(e,t,n,i){if(!l(e))throw new E("heading is required");if(!l(t))throw new E("pitch is required");if(!l(n))throw new E("roll is required");return l(i)||(i=new jr),i.heading=e*N.RADIANS_PER_DEGREE,i.pitch=t*N.RADIANS_PER_DEGREE,i.roll=n*N.RADIANS_PER_DEGREE,i};jr.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new jr(e.heading,e.pitch,e.roll)};jr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};jr.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&N.equalsEpsilon(e.heading,t.heading,n,i)&&N.equalsEpsilon(e.pitch,t.pitch,n,i)&&N.equalsEpsilon(e.roll,t.roll,n,i)};jr.prototype.clone=function(e){return jr.clone(this,e)};jr.prototype.equals=function(e){return jr.equals(this,e)};jr.prototype.equalsEpsilon=function(e,t,n){return jr.equalsEpsilon(this,e,t,n)};jr.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};const _j=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function T_e(){const e=document.getElementsByTagName("script");for(let t=0,n=e.length;t "u"?e:(l(_g)||(_g=document.createElement("a")),_g.href=e,_g.href=_g.href,_g.href)}let zm;function yj(){if(l(zm))return zm;let e;if(typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?e=qC("..",pn("Core/buildModuleUrl.js")):e=T_e(),!l(e))throw new E("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return zm=new Me({url:gj(e)}),zm.appendForwardSlash(),zm}function E_e(e){return gj(require.toUrl(`../${e}`))}function Aj(e){return yj().getDerivedResource({url:e}).url}let yE;function pn(e){return l(yE)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?yE=E_e:yE=Aj),yE(e)}pn._cesiumScriptRegex=_j;pn._buildModuleUrlFromBaseUrl=Aj;pn._clearBaseResource=function(){zm=void 0};pn.setBaseUrl=function(e){zm=Me.DEFAULT.getDerivedResource({url:e})};pn.getCesiumBaseUrl=yj;function bj(e,t,n){this.x=e,this.y=t,this.s=n}function WN(e){e=A(e,A.EMPTY_OBJECT),this._xysFileUrlTemplate=Me.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=A(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=A(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new ie(this._sampleZeroJulianEphemerisDate,0,Vn.TAI),this._stepSizeDays=A(e.stepSizeDays,1),this._samplesPerXysFile=A(e.samplesPerXysFile,1e3),this._totalSamples=A(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];const t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}const x_e=new ie(0,0,Vn.TAI);function jL(e,t,n){const i=x_e;return i.dayNumber=t,i.secondsOfDay=n,ie.daysDifference(i,e._sampleZeroDateTT)}WN.prototype.preload=function(e,t,n,i){const o=jL(this,e,t),r=jL(this,n,i);let s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);const c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let h=c;h<=u;++h)f.push(qL(this,h));return Promise.all(f)};WN.prototype.computeXysRadians=function(e,t,n){const i=jL(this,e,t);if(i<0)return;const o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;const r=this._interpolationOrder;let s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1;const u=this._samples;if(l(u[s*3])||(qL(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(qL(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new bj(0,0,0);const f=i-s*this._stepSizeDays,h=this._work,_=this._denominators,g=this._coef,p=this._xTable;let y,b;for(y=0;y<=r;++y)h[y]=f-p[y];for(y=0;y<=r;++y){for(g[y]=1,b=0;b<=r;++b)b!==y&&(g[y]*=h[b]);g[y]*=_[y];let C=(s+y)*3;n.x+=g[y]*u[C++],n.y+=g[y]*u[C++],n.s+=g[y]*u[C]}return n};function qL(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n;const i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Me({url:pn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});const o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;const s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u =43200?o=(r+.5)/vi.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/vi.DAYS_PER_JULIAN_CENTURY;const a=(N_e+o*(M_e+o*(F_e+o*z_e)))*V_e%N.TWO_PI,c=H_e+U_e*(n-24515455e-1),u=(i+vi.SECONDS_PER_DAY*.5)%vi.SECONDS_PER_DAY,f=a+c*u,h=Math.cos(f),_=Math.sin(f);return l(t)?(t[0]=h,t[1]=-_,t[2]=0,t[3]=_,t[4]=h,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new J(h,_,0,-_,h,0,0,0,1)};mi.iau2006XysData=new WN;mi.earthOrientationParameters=Zb.NONE;const YL=32.184,k_e=2451545;mi.preloadIcrfFixed=function(e){const t=e.start.dayNumber,n=e.start.secondsOfDay+YL,i=e.stop.dayNumber,o=e.stop.secondsOfDay+YL;return mi.iau2006XysData.preload(t,n,i,o)};mi.computeIcrfToFixedMatrix=function(e,t){if(!l(e))throw new E("date is required.");l(t)||(t=new J);const n=mi.computeFixedToIcrfMatrix(e,t);if(l(n))return J.transpose(n,t)};const G_e=new bj(0,0,0),W_e=new MN(0,0,0,0,0),YI=new J,$I=new J;mi.computeFixedToIcrfMatrix=function(e,t){if(!l(e))throw new E("date is required.");l(t)||(t=new J);const n=mi.earthOrientationParameters.compute(e,W_e);if(!l(n))return;const i=e.dayNumber,o=e.secondsOfDay+YL,r=mi.iau2006XysData.computeXysRadians(i,o,G_e);if(!l(r))return;const s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=YI;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);const f=J.fromRotationZ(-r.s,$I),h=J.multiply(u,f,YI),_=e.dayNumber,g=e.secondsOfDay-ie.computeTaiMinusUtc(e)+n.ut1MinusUtc,p=_-2451545,y=g/vi.SECONDS_PER_DAY;let b=.779057273264+y+.00273781191135448*(p+y);b=b%1*N.TWO_PI;const C=J.fromRotationZ(b,$I),x=J.multiply(h,C,YI),S=Math.cos(n.xPoleWander),v=Math.cos(n.yPoleWander),P=Math.sin(n.xPoleWander),O=Math.sin(n.yPoleWander);let U=i-k_e+o/vi.SECONDS_PER_DAY;U/=36525;const R=-47e-6*U*N.RADIANS_PER_DEGREE/3600,z=Math.cos(R),F=Math.sin(R),w=$I;return w[0]=S*z,w[1]=S*F,w[2]=P,w[3]=-v*F+O*P*z,w[4]=v*z+O*P*F,w[5]=-O*S,w[6]=-O*F-v*P*z,w[7]=O*z-v*P*F,w[8]=v*S,J.multiply(x,w,t)};const j_e=new oe;mi.pointToWindowCoordinates=function(e,t,n,i){return i=mi.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};mi.pointToGLWindowCoordinates=function(e,t,n,i){if(!l(e))throw new E("modelViewProjectionMatrix is required.");if(!l(t))throw new E("viewportTransformation is required.");if(!l(n))throw new E("point is required.");l(i)||(i=new j);const o=j_e;return B.multiplyByVector(e,oe.fromElements(n.x,n.y,n.z,1,o),o),oe.multiplyByScalar(o,1/o.w,o),B.multiplyByVector(t,o,o),j.fromCartesian4(o,i)};const q_e=new d,Y_e=new d,$_e=new d;mi.rotationMatrixFromPositionVelocity=function(e,t,n,i){if(!l(e))throw new E("position is required.");if(!l(t))throw new E("velocity is required.");const o=A(n,pe.WGS84).geodeticSurfaceNormal(e,q_e);let r=d.cross(t,o,Y_e);d.equalsEpsilon(r,d.ZERO,N.EPSILON6)&&(r=d.clone(d.UNIT_X,r));const s=d.cross(r,t,$_e);return d.normalize(s,s),d.cross(t,s,r),d.negate(r,r),d.normalize(r,r),l(i)||(i=new J),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};const Cj=new B(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Tj=new be,Ej=new d,X_e=new d,K_e=new J,$L=new B,xj=new B;mi.basisTo2D=function(e,t,n){if(!l(e))throw new E("projection is required.");if(!l(t))throw new E("matrix is required.");if(!l(n))throw new E("result is required.");const i=B.getTranslation(t,X_e),o=e.ellipsoid,r=o.cartesianToCartographic(i,Tj),s=e.project(r,Ej);d.fromElements(s.z,s.x,s.y,s);const a=mi.eastNorthUpToFixedFrame(i,o,$L),c=B.inverseTransformation(a,xj),u=B.getMatrix3(t,K_e),f=B.multiplyByMatrix3(c,u,n);return B.multiply(Cj,f,n),B.setTranslation(n,s,n),n};mi.wgs84To2DModelMatrix=function(e,t,n){if(!l(e))throw new E("projection is required.");if(!l(t))throw new E("center is required.");if(!l(n))throw new E("result is required.");const i=e.ellipsoid,o=mi.eastNorthUpToFixedFrame(t,i,$L),r=B.inverseTransformation(o,xj),s=i.cartesianToCartographic(t,Tj),a=e.project(s,Ej);d.fromElements(a.z,a.x,a.y,a);const c=B.fromTranslation(a,$L);return B.multiply(Cj,r,n),B.multiply(c,n,n),n};const nn=mi;function Pt(e){e=A(e,A.EMPTY_OBJECT),T.typeOf.object("options.attributes",e.attributes),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=A(e.primitiveType,Qe.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=A(e.geometryType,ly.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}Pt.computeNumberOfVertices=function(e){T.typeOf.object("geometry",e);let t=-1;for(const n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){const i=e.attributes[n],o=i.values.length/i.componentsPerAttribute;if(t!==o&&t!==-1)throw new E("All attribute lists must have the same number of attributes.");t=o}return t};const J_e=new be,Q_e=new d,Kz=new B,Z_e=[new be,new be,new be],ege=[new j,new j,new j],tge=[new j,new j,new j],nge=new d,ige=new Ce,oge=new B,rge=new ct;Pt._textureCoordinateRotationPoints=function(e,t,n,i){let o;const r=_e.center(i,J_e),s=be.toCartesian(r,n,Q_e),a=nn.eastNorthUpToFixedFrame(s,n,Kz),c=B.inverse(a,Kz),u=ege,f=Z_e;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let h=nge;for(o=0;o<3;o++)be.toCartesian(f[o],n,h),h=B.multiplyByPointAsVector(c,h,h),u[o].x=h.x,u[o].y=h.y;const _=Ce.fromAxisAngle(d.UNIT_Z,-t,ige),g=J.fromQuaternion(_,oge),p=e.length;let y=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,C=Number.NEGATIVE_INFINITY,x=Number.NEGATIVE_INFINITY;for(o=0;o 4)throw new E("options.componentsPerAttribute must be between 1 and 4.");if(!l(e.values))throw new E("options.values is required.");this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=A(e.normalize,!1),this.values=e.values}function Zy(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(Zy.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}});Zy.clone=function(e){if(l(e))return new Zy(e._format,e._datatype,e._width,e._height,e._buffer)};Zy.prototype.clone=function(){return Zy.clone(this)};function wj(){if(!l(Ni._canTransferArrayBuffer)){const e=new Worker(vj("Workers/transferTypedArrayTest.js"));e.postMessage=A(e.webkitPostMessage,e.postMessage);const t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return Ni._canTransferArrayBuffer=!1,Ni._canTransferArrayBuffer}const i=Hp();e.onmessage=function(o){const r=o.data.array,s=l(r)&&r[0]===t;i.resolve(s),e.terminate(),Ni._canTransferArrayBuffer=s},Ni._canTransferArrayBuffer=i.promise}return Ni._canTransferArrayBuffer}const XL=new Xe;function Sj(e,t){--e._activeTasks;const n=t.id;if(!l(n))return;const i=e._deferreds,o=i[n];if(l(t.error)){let r=t.error;r.name==="RuntimeError"?(r=new De(t.error.message),r.stack=t.error.stack):r.name==="DeveloperError"&&(r=new E(t.error.message),r.stack=t.error.stack),XL.raiseEvent(r),o.reject(r)}else XL.raiseEvent(),o.resolve(t.result);delete i[n]}function vj(e){let t=pn(e);if(lj(t)){const n=`importScripts("${t}");`;let i;try{i=new Blob([n],{type:"application/javascript"})}catch{const s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,a=new s;a.append(n),i=a.getBlob("application/javascript")}t=(window.URL||window.webkitURL).createObjectURL(i)}return t}let XI;function sge(){return l(XI)||(XI=vj("Workers/cesiumWorkerBootstrapper.js")),XI}function Dj(e){const t=new Worker(sge());t.postMessage=A(t.webkitPostMessage,t.postMessage);const n={loaderConfig:{paths:{Workers:pn("Workers")},baseUrl:pn.getCesiumBaseUrl().url},workerModule:e._workerPath};return t.postMessage(n),t.onmessage=function(i){Sj(e,i.data)},t}function age(e,t){const n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!dn.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new De(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=pn(t.fallbackModulePath),Promise.resolve(n)}return n.modulePath=pn(t.modulePath),n.wasmBinaryFile=pn(t.wasmBinaryFile),Me.fetchArrayBuffer({url:n.wasmBinaryFile}).then(function(i){return n.wasmBinary=i,n})}function Ni(e,t){const n=new ws(e);this._workerPath=n.scheme().length!==0&&n.fragment().length===0?e:Ni._workerModulePrefix+e,this._maximumActiveTasks=A(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}const cge=[];Ni.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=Dj(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;const n=this;return Promise.resolve(wj()).then(function(i){l(t)?i||(t.length=0):t=cge;const o=n._nextID++,r=Hp();return n._deferreds[o]=r,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),r.promise})};Ni.prototype.initWebAssemblyModule=function(e){l(this._worker)||(this._worker=Dj(this));const t=Hp(),n=this,i=this._worker;return age(this,e).then(function(o){return Promise.resolve(wj()).then(function(r){let s;const a=o.wasmBinary;l(a)&&r&&(s=[a]),i.onmessage=function(c){i.onmessage=function(u){Sj(n,u.data)},t.resolve(c.data)},i.postMessage({webAssemblyConfig:o},s)})}),t.promise};Ni.prototype.isDestroyed=function(){return!1};Ni.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),He(this)};Ni.taskCompletedEvent=XL;Ni._defaultWorkerModulePrefix="Workers/";Ni._workerModulePrefix=Ni._defaultWorkerModulePrefix;Ni._canTransferArrayBuffer=void 0;function ld(){}ld._transcodeTaskProcessor=new Ni("transcodeKTX2",Number.POSITIVE_INFINITY);ld._readyPromise=void 0;function lge(){const e=ld._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return ld._transcodeTaskProcessor});ld._readyPromise=e}ld.transcode=function(e,t){return T.defined("supportedTargetFormats",t),l(ld._readyPromise)||lge(),ld._readyPromise.then(function(n){let i;if(e instanceof ArrayBuffer){const o=new Uint8Array(e);return i={supportedTargetFormats:t,ktx2Buffer:o},n.scheduleTask(i,[e])}return i={supportedTargetFormats:t,ktx2Buffer:e},n.scheduleTask(i,[e.buffer])}).then(function(n){const i=n.length,o=Object.keys(n[0]),r=o.length;let s;for(s=0;sthis._size)throw new E("xOffset + options.source.width must be less than or equal to width.");if(n+e.source.height>this._size)throw new E("yOffset + options.source.height must be less than or equal to height.");const i=e.source,o=this._context._gl,r=this._textureTarget,s=this._targetFace;o.activeTexture(o.TEXTURE0),o.bindTexture(r,this._texture);const a=i.width,c=i.height;let u=i.arrayBufferView;const f=this._size,h=this._pixelFormat,_=this._internalFormat,g=this._pixelDatatype,p=this._preMultiplyAlpha,y=this._flipY,b=A(e.skipColorSpaceConversion,!1);let C=4;l(u)&&(C=it.alignmentInBytes(h,g,a)),o.pixelStorei(o.UNPACK_ALIGNMENT,C),b?o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.NONE):o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL);let x=!1;if(!this._initialized){if(t===0&&n===0&&a===f&&c===f)l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),y&&(u=it.flipY(u,h,g,f,f)),o.texImage2D(s,0,_,f,f,0,h,Je.toWebGLConstant(g,this._context),u)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,y),o.texImage2D(s,0,_,h,Je.toWebGLConstant(g,this._context),i)),x=!0;else{o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1);const S=it.createTypedArray(h,g,f,f);o.texImage2D(s,0,_,f,f,0,h,Je.toWebGLConstant(g,this._context),S)}this._initialized=!0}x||(l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),y&&(u=it.flipY(u,h,g,a,c)),o.texSubImage2D(s,0,t,n,a,c,h,Je.toWebGLConstant(g,this._context),u)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,y),o.texSubImage2D(s,0,t,n,h,Je.toWebGLConstant(g,this._context),i))),o.bindTexture(r,null)};$f.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){if(e=A(e,0),t=A(t,0),n=A(n,0),i=A(i,0),o=A(o,this._size),r=A(r,this._size),T.typeOf.number.greaterThanOrEquals("xOffset",e,0),T.typeOf.number.greaterThanOrEquals("yOffset",t,0),T.typeOf.number.greaterThanOrEquals("framebufferXOffset",n,0),T.typeOf.number.greaterThanOrEquals("framebufferYOffset",i,0),e+o>this._size)throw new E("xOffset + source.width must be less than or equal to width.");if(t+r>this._size)throw new E("yOffset + source.height must be less than or equal to height.");if(this._pixelDatatype===Je.FLOAT)throw new E("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(this._pixelDatatype===Je.HALF_FLOAT)throw new E("Cannot call copyFromFramebuffer when the texture pixel data type is HALF_FLOAT.");const s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};const _w={DONT_CARE:ae.DONT_CARE,FASTEST:ae.FASTEST,NICEST:ae.NICEST,validate:function(e){return e===_w.DONT_CARE||e===_w.FASTEST||e===_w.NICEST}},e0=Object.freeze(_w),gw={NEAREST:ae.NEAREST,LINEAR:ae.LINEAR};gw.validate=function(e){return e===gw.NEAREST||e===gw.LINEAR};const qr=Object.freeze(gw),Lh={NEAREST:ae.NEAREST,LINEAR:ae.LINEAR,NEAREST_MIPMAP_NEAREST:ae.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:ae.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:ae.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:ae.LINEAR_MIPMAP_LINEAR};Lh.validate=function(e){return e===Lh.NEAREST||e===Lh.LINEAR||e===Lh.NEAREST_MIPMAP_NEAREST||e===Lh.LINEAR_MIPMAP_NEAREST||e===Lh.NEAREST_MIPMAP_LINEAR||e===Lh.LINEAR_MIPMAP_LINEAR};const Cn=Object.freeze(Lh),yw={CLAMP_TO_EDGE:ae.CLAMP_TO_EDGE,REPEAT:ae.REPEAT,MIRRORED_REPEAT:ae.MIRRORED_REPEAT,validate:function(e){return e===yw.CLAMP_TO_EDGE||e===yw.REPEAT||e===yw.MIRRORED_REPEAT}},Ii=Object.freeze(yw);function Kn(e){e=A(e,A.EMPTY_OBJECT);const t=A(e.wrapS,Ii.CLAMP_TO_EDGE),n=A(e.wrapT,Ii.CLAMP_TO_EDGE),i=A(e.minificationFilter,Cn.LINEAR),o=A(e.magnificationFilter,qr.LINEAR),r=l(e.maximumAnisotropy)?e.maximumAnisotropy:1;if(!Ii.validate(t))throw new E("Invalid sampler.wrapS.");if(!Ii.validate(n))throw new E("Invalid sampler.wrapT.");if(!Cn.validate(i))throw new E("Invalid sampler.minificationFilter.");if(!qr.validate(o))throw new E("Invalid sampler.magnificationFilter.");T.typeOf.number.greaterThanOrEquals("maximumAnisotropy",r,1),this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(Kn.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});Kn.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};Kn.NEAREST=Object.freeze(new Kn({wrapS:Ii.CLAMP_TO_EDGE,wrapT:Ii.CLAMP_TO_EDGE,minificationFilter:Cn.NEAREST,magnificationFilter:qr.NEAREST}));function hu(e){e=A(e,A.EMPTY_OBJECT),T.defined("options.context",e.context);const t=e.context,n=e.source;let i,o;if(l(n)){const x=[n.positiveX,n.negativeX,n.positiveY,n.negativeY,n.positiveZ,n.negativeZ];if(!x[0]||!x[1]||!x[2]||!x[3]||!x[4]||!x[5])throw new E("options.source requires positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ faces.");i=x[0].width,o=x[0].height;for(let S=1;S<6;++S)if(Number(x[S].width)!==i||Number(x[S].height)!==o)throw new E("Each face in options.source must have the same width and height.")}else i=e.width,o=e.height;const r=i,s=A(e.pixelDatatype,Je.UNSIGNED_BYTE),a=A(e.pixelFormat,it.RGBA),c=it.toInternalFormat(a,s,t);if(!l(i)||!l(o))throw new E("options requires a source field to create an initialized cube map or width and height fields to create a blank cube map.");if(i!==o)throw new E("Width must equal height.");if(r<=0)throw new E("Width and height must be greater than zero.");if(r>vt.maximumCubeMapSize)throw new E(`Width and height must be less than or equal to the maximum cube map size (${vt.maximumCubeMapSize}). Check maximumCubeMapSize.`);if(!it.validate(a))throw new E("Invalid options.pixelFormat.");if(it.isDepthFormat(a))throw new E("options.pixelFormat cannot be DEPTH_COMPONENT or DEPTH_STENCIL.");if(!Je.validate(s))throw new E("Invalid options.pixelDatatype.");if(s===Je.FLOAT&&!t.floatingPointTexture)throw new E("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(s===Je.HALF_FLOAT&&!t.halfFloatingPointTexture)throw new E("When options.pixelDatatype is HALF_FLOAT, this WebGL implementation must support the OES_texture_half_float extension.");const u=it.textureSizeInBytes(a,s,r,r)*6,f=e.preMultiplyAlpha||a===it.RGB||a===it.LUMINANCE,h=A(e.flipY,!0),_=A(e.skipColorSpaceConversion,!1),g=t._gl,p=g.TEXTURE_CUBE_MAP,y=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(p,y);function b(x,S,v,P,O){let U=S.arrayBufferView;l(U)||(U=S.bufferView);let R=4;l(U)&&(R=it.alignmentInBytes(a,s,i)),g.pixelStorei(g.UNPACK_ALIGNMENT,R),O?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(U)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),P&&(U=it.flipY(U,a,s,r,r)),g.texImage2D(x,0,c,r,r,0,a,Je.toWebGLConstant(s,t),U)):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,v),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,P),g.texImage2D(x,0,c,a,Je.toWebGLConstant(s,t),S))}l(n)?(b(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,f,h,_),b(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,f,h,_),b(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,f,h,_),b(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,f,h,_),b(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,f,h,_),b(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,f,h,_)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,r,r,0,a,Je.toWebGLConstant(s,t),null)),g.bindTexture(p,null),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=p,this._texture=y,this._pixelFormat=a,this._pixelDatatype=s,this._size=r,this._hasMipmap=!1,this._sizeInBytes=u,this._preMultiplyAlpha=f,this._flipY=h,this._sampler=void 0;const C=l(n);this._positiveX=new $f(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_X,c,a,s,r,f,h,C),this._negativeX=new $f(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_X,c,a,s,r,f,h,C),this._positiveY=new $f(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Y,c,a,s,r,f,h,C),this._negativeY=new $f(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,c,a,s,r,f,h,C),this._positiveZ=new $f(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Z,c,a,s,r,f,h,C),this._negativeZ=new $f(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,c,a,s,r,f,h,C),this.sampler=l(e.sampler)?e.sampler:new Kn}Object.defineProperties(hu.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter;const i=t===Cn.NEAREST_MIPMAP_NEAREST||t===Cn.NEAREST_MIPMAP_LINEAR||t===Cn.LINEAR_MIPMAP_NEAREST||t===Cn.LINEAR_MIPMAP_LINEAR,o=this._context,r=this._pixelDatatype;(r===Je.FLOAT&&!o.textureFloatLinear||r===Je.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?Cn.NEAREST_MIPMAP_NEAREST:Cn.NEAREST,n=qr.NEAREST);const s=o._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.texParameteri(a,s.TEXTURE_MIN_FILTER,t),s.texParameteri(a,s.TEXTURE_MAG_FILTER,n),s.texParameteri(a,s.TEXTURE_WRAP_S,e.wrapS),s.texParameteri(a,s.TEXTURE_WRAP_T,e.wrapT),l(this._textureFilterAnisotropic)&&s.texParameteri(a,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),s.bindTexture(a,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});hu.prototype.generateMipmap=function(e){if(e=A(e,e0.DONT_CARE),this._size>1&&!N.isPowerOfTwo(this._size))throw new E("width and height must be a power of two to call generateMipmap().");if(!e0.validate(e))throw new E("hint is invalid.");this._hasMipmap=!0;const t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};hu.prototype.isDestroyed=function(){return!1};hu.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=He(this._positiveX),this._negativeX=He(this._negativeX),this._positiveY=He(this._positiveY),this._negativeY=He(this._negativeY),this._positiveZ=He(this._positiveZ),this._negativeZ=He(this._negativeZ),He(this)};function U_(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}function uge(e,t){const n=/#define OUTPUT_DECLARATION/,i=e.split(` +`);if(/#version 300 es/g.test(e))return e;let o=-1,r,s;for(r=0;r
=0;v--)i.splice(C,0,`#endif //${x[v]}`)}const h="WEBGL_2",_=`#define ${h}`,g="#version 300 es";let p=!1;for(r=0;r =0}):n[h]=o.slice())}}return n}function KI(e,t,n){const i=`#extension\\s+GL_${e}\\s+:\\s+[a-zA-Z0-9]+\\s*$`;fge(new RegExp(i,"g"),"",n),Ru(`GL_${e}`,t,n)}const mge=`/** * A built-in GLSL floating-point constant for converting radians to degrees. * * @alias czm_degreesPerRadian @@ -81,7 +89,7 @@ ${p}`)}}function bpe(e,t,n){const i={};for(let o=0;o 1/pi. * * @alias czm_oneOverPi @@ -167,7 +175,7 @@ const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto i * float pi = 1.0 / czm_oneOverPi; */ const float czm_oneOverPi = 0.3183098861837907; -`,P_e=`/** +`,Sge=`/** * A built-in GLSL floating-point constant for 1/2pi
. * * @alias czm_oneOverTwoPi @@ -183,7 +191,7 @@ const float czm_oneOverPi = 0.3183098861837907; * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; -`,O_e=`/** +`,vge=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile @@ -192,7 +200,7 @@ const float czm_oneOverTwoPi = 0.15915494309189535; * @see czm_pass */ const float czm_passCesium3DTile = 4.0; -`,L_e=`/** +`,Dge=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification @@ -201,7 +209,7 @@ const float czm_passCesium3DTile = 4.0; * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; -`,B_e=`/** +`,Ige=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow @@ -210,7 +218,7 @@ const float czm_passCesium3DTileClassification = 5.0; * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; -`,R_e=`/** +`,Pge=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification @@ -219,7 +227,7 @@ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; * @see czm_pass */ const float czm_passClassification = 7.0; -`,N_e=`/** +`,Oge=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute @@ -228,7 +236,7 @@ const float czm_passClassification = 7.0; * @see czm_pass */ const float czm_passCompute = 1.0; -`,M_e=`/** +`,Lge=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment @@ -237,7 +245,7 @@ const float czm_passCompute = 1.0; * @see czm_pass */ const float czm_passEnvironment = 0.0; -`,F_e=`/** +`,Bge=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe @@ -246,7 +254,7 @@ const float czm_passEnvironment = 0.0; * @see czm_pass */ const float czm_passGlobe = 2.0; -`,z_e=`/** +`,Rge=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque @@ -255,7 +263,7 @@ const float czm_passGlobe = 2.0; * @see czm_pass */ const float czm_passOpaque = 7.0; -`,U_e=`/** +`,Nge=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay @@ -264,7 +272,7 @@ const float czm_passOpaque = 7.0; * @see czm_pass */ const float czm_passOverlay = 10.0; -`,H_e=`/** +`,Mge=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification @@ -273,7 +281,7 @@ const float czm_passOverlay = 10.0; * @see czm_pass */ const float czm_passTerrainClassification = 3.0; -`,V_e=`/** +`,Fge=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent @@ -282,7 +290,7 @@ const float czm_passTerrainClassification = 3.0; * @see czm_pass */ const float czm_passTranslucent = 8.0; -`,k_e=`/** +`,zge=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels @@ -291,7 +299,7 @@ const float czm_passTranslucent = 8.0; * @see czm_pass */ const float czm_passVoxels = 9.0; -`,G_e=`/** +`,Uge=`/** * A built-in GLSL floating-point constant forMath.PI
. * * @alias czm_pi @@ -307,7 +315,7 @@ const float czm_passVoxels = 9.0; * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; -`,W_e=`/** +`,Hge=`/** * A built-in GLSL floating-point constant forpi/4
. * * @alias czm_piOverFour @@ -323,7 +331,7 @@ const float czm_pi = 3.141592653589793; * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; -`,j_e=`/** +`,Vge=`/** * A built-in GLSL floating-point constant forpi/6
. * * @alias czm_piOverSix @@ -339,7 +347,7 @@ const float czm_piOverFour = 0.7853981633974483; * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; -`,q_e=`/** +`,kge=`/** * A built-in GLSL floating-point constant forpi/3
. * * @alias czm_piOverThree @@ -355,7 +363,7 @@ const float czm_piOverSix = 0.5235987755982988; * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; -`,Y_e=`/** +`,Gge=`/** * A built-in GLSL floating-point constant forpi/2
. * * @alias czm_piOverTwo @@ -371,7 +379,7 @@ const float czm_piOverThree = 1.0471975511965976; * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; -`,$_e=`/** +`,Wge=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree @@ -387,7 +395,7 @@ const float czm_piOverTwo = 1.5707963267948966; * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; -`,X_e=`/** +`,jge=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D @@ -398,7 +406,7 @@ const float czm_radiansPerDegree = 0.017453292519943295; * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; -`,K_e=`/** +`,qge=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D @@ -409,7 +417,7 @@ const float czm_sceneMode2D = 2.0; * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; -`,J_e=`/** +`,Yge=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView @@ -420,7 +428,7 @@ const float czm_sceneMode3D = 3.0; * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; -`,Q_e=`/** +`,$ge=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing @@ -431,7 +439,7 @@ const float czm_sceneModeColumbusView = 1.0; * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; -`,Z_e=`/** +`,Xge=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius @@ -444,7 +452,7 @@ const float czm_sceneModeMorphing = 0.0; * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; -`,ege=`/** +`,Kge=`/** * A built-in GLSL floating-point constant for3pi/2
. * * @alias czm_threePiOver2 @@ -460,7 +468,7 @@ const float czm_solarRadius = 695500000.0; * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; -`,tge=`/** +`,Jge=`/** * A built-in GLSL floating-point constant for2pi
. * * @alias czm_twoPi @@ -476,7 +484,7 @@ const float czm_threePiOver2 = 4.71238898038469; * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; -`,nge=`/** +`,Qge=`/** * The maximum latitude, in radians, both North and South, supported by a Web Mercator * (EPSG:3857) projection. Technically, the Mercator projection is defined * for any latitude up to (but not including) 90 degrees, but it makes sense @@ -492,7 +500,7 @@ const float czm_twoPi = 6.283185307179586; * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; -`,ige=`/** +`,Zge=`/** * @name czm_depthRangeStruct * @glslStruct */ @@ -501,7 +509,7 @@ struct czm_depthRangeStruct float near; float far; }; -`,oge=`/** +`,eye=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material @@ -523,7 +531,7 @@ struct czm_material vec3 emission; float alpha; }; -`,rge=`/** +`,tye=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput @@ -551,7 +559,7 @@ struct czm_materialInput float slope; float aspect; }; -`,sge=`/** +`,nye=`/** * Struct for representing a material for a {@link Model}. The model * rendering pipeline will pass this struct between material, custom shaders, * and lighting stages. This is not to be confused with {@link czm_material} @@ -580,7 +588,7 @@ struct czm_modelMaterial { float occlusion; vec3 emissive; }; -`,age=`/** +`,iye=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput @@ -596,7 +604,7 @@ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; -`,cge=`/** +`,oye=`/** * Parameters for {@link czm_pbrLighting} * * @name czm_material @@ -612,7 +620,7 @@ struct czm_pbrParameters float roughness; vec3 f0; }; -`,lge=`/** +`,rye=`/** * DOC_TBA * * @name czm_ray @@ -623,7 +631,7 @@ struct czm_ray vec3 origin; vec3 direction; }; -`,uge=`/** +`,sye=`/** * DOC_TBA * * @name czm_raySegment @@ -650,7 +658,7 @@ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_in * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); -`,fge=`struct czm_shadowParameters +`,aye=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; @@ -665,7 +673,7 @@ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); float normalShadingSmooth; float darkness; }; -`,dge=`/** +`,cye=`/** * Converts an HSB color (hue, saturation, brightness) to RGB * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -689,7 +697,7 @@ vec3 czm_HSBToRGB(vec3 hsb) vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); } -`,hge=`/** +`,lye=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -720,7 +728,7 @@ vec3 czm_HSLToRGB(vec3 hsl) float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; return (rgb - 0.5) * c + hsl.z; } -`,pge=`/** +`,uye=`/** * Converts an RGB color to HSB (hue, saturation, brightness) * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -747,7 +755,7 @@ vec3 czm_RGBToHSB(vec3 rgb) float d = q.x - min(q.w, q.y); return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); } -`,mge=`/** +`,fye=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -781,7 +789,7 @@ vec3 czm_RGBToHSL(vec3 rgb) float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); return vec3(hcv.x, s, l); } -`,_ge=`/** +`,dye=`/** * Converts an RGB color to CIE Yxy. *The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -811,7 +819,7 @@ vec3 czm_RGBToXYZ(vec3 rgb) Yxy.gb = xyz.rg / temp; return Yxy; } -`,gge=`/** +`,hye=`/** * Converts a CIE Yxy color to RGB. *
The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -841,7 +849,7 @@ vec3 czm_XYZToRGB(vec3 Yxy) return XYZ2RGB * xyz; } -`,yge=`// See: +`,pye=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { @@ -857,7 +865,7 @@ vec3 czm_acesTonemapping(vec3 color) { return color; } -`,Age=`/** +`,mye=`/** * @private */ float czm_alphaWeight(float a) @@ -868,7 +876,7 @@ float czm_alphaWeight(float a) // http://jcgt.org/published/0002/02/09/ return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); } -`,Tge=`/** +`,_ye=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias @@ -907,7 +915,7 @@ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } -`,Cge=`/** +`,gye=`/** * Approximately computes spherical coordinates given a normal. * Uses approximate inverse trigonometry for speed and consistency, * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. @@ -925,7 +933,7 @@ vec2 czm_approximateSphericalCoordinates(vec3 normal) { float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } -`,bge=`/** +`,yye=`/** * Determines if the fragment is back facing * * @name czm_backFacing @@ -938,7 +946,7 @@ bool czm_backFacing() // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. return gl_FrontFacing == false; } -`,Ege=`/** +`,Aye=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * @@ -1009,7 +1017,7 @@ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } -`,xge=` +`,bye=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + @@ -1017,14 +1025,14 @@ vec4 czm_cascadeColor(vec4 weights) vec4(0.0, 0.0, 1.0, 1.0) * weights.z + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; } -`,wge=` +`,Cye=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } -`,Sge=` +`,Tye=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) @@ -1034,7 +1042,7 @@ mat4 czm_cascadeMatrix(vec4 weights) shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } -`,vge=` +`,Eye=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) @@ -1044,7 +1052,7 @@ vec4 czm_cascadeWeights(float depthEye) vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } -`,Dge=`/** +`,xye=`/** * DOC_TBA * * @name czm_columbusViewMorph @@ -1056,7 +1064,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } -`,Ige=`/** +`,wye=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. *
@@ -1078,7 +1086,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); -`,Pge=`/** +`,Sye=`/** * @private */ vec2 cordic(float angle) @@ -1289,7 +1297,7 @@ vec2 czm_cosineAndSine(float angle) return cordic(angle); } } -`,Oge=`/** +`,vye=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates @@ -1306,7 +1314,7 @@ vec2 czm_cosineAndSine(float angle) float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } -`,Lge=`/** +`,Dye=`/** * Get default parameters for physically based rendering. These defaults * describe a rough dielectric (non-metal) surface (e.g. rough plastic). * @@ -1322,7 +1330,7 @@ czm_pbrParameters czm_defaultPbrMaterial() results.f0 = REFLECTANCE_DIELECTRIC; return results; } -`,Bge=`// emulated noperspective +`,Iye=`// emulated noperspective #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH) varying float v_WindowZ; #endif @@ -1369,7 +1377,7 @@ vec4 czm_depthClamp(vec4 coords) #endif return coords; } -`,Rge=`/** +`,Pye=`/** * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. @@ -1402,7 +1410,7 @@ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } -`,Nge=`/** +`,Oye=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint @@ -1414,7 +1422,7 @@ bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; return (dot(scaled, scaled) <= 1.0); } -`,Mge=`/** +`,Lye=`/** * DOC_TBA * * @name czm_ellipsoidWgs84TextureCoordinates @@ -1424,7 +1432,7 @@ vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } -`,Fge=`/** +`,Bye=`/** * Compares