=q&&R("invalid-input"),ne=_(W.charCodeAt(re++)),(ne>=c||ne>P((a-Y)/ce))&&R("overflow"),Y+=ne*ce,de=Q<=$?u:Q>=$+d?d:Q-$,!(neP(a/_e)&&R("overflow"),ce*=_e;te=K.length+1,$=O(Y-he,te,he==0),P(Y/te)>a-X&&R("overflow"),X+=P(Y/te),Y%=te,K.splice(Y++,0,X)}return I(K)}function V(W){var K,q,te,Y,X,$,se,ue,re,he,ce,Q=[],ne,de,_e,Se;for(W=D(W),ne=W.length,K=p,q=0,X=g,$=0;$ =K&&ce P((a-q)/de)&&R("overflow"),q+=(se-K)*de,K=se,$=0;$ a&&R("overflow"),ce==K){for(ue=q,re=c;he=re<=X?u:re>=X+d?d:re-X,!(ue i)throw new x("The number of color attachments exceeds the number supported.");for(c=0;ci)throw new x("The number of color attachments exceeds the number supported.");for(c=0;c=this._colorTextures.length)throw new x("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]};zr.prototype.getColorRenderbuffer=function(e){if(!l(e)||e<0||e>=this._colorRenderbuffers.length)throw new x("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]};zr.prototype.isDestroyed=function(){return!1};zr.prototype.destroy=function(){if(this.destroyAttachments){let e=0;const t=this._colorTextures;let n=t.length;for(;e wt.maximumAliasedLineWidth)throw new x("renderState.lineWidth is out of range. Check minimumAliasedLineWidth and maximumAliasedLineWidth.");if(!el.validate(this.frontFace))throw new x("Invalid renderState.frontFace.");if(!rhe(this.cull.face))throw new x("Invalid renderState.cull.face.");if(this.scissorTest.rectangle.width<0||this.scissorTest.rectangle.height<0)throw new x("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 x("renderState.depthRange.near can not be greater than renderState.depthRange.far.");if(this.depthRange.near<0)throw new x("renderState.depthRange.near must be greater than or equal to zero.");if(this.depthRange.far>1)throw new x("renderState.depthRange.far must be less than or equal to one.");if(!she(this.depthTest.func))throw new x("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 x("renderState.blending.color components must be greater than or equal to zero and less than or equal to one.");if(!Q3(this.blending.equationRgb))throw new x("Invalid renderState.blending.equationRgb.");if(!Q3(this.blending.equationAlpha))throw new x("Invalid renderState.blending.equationAlpha.");if(!Yb(this.blending.functionSourceRgb))throw new x("Invalid renderState.blending.functionSourceRgb.");if(!Yb(this.blending.functionSourceAlpha))throw new x("Invalid renderState.blending.functionSourceAlpha.");if(!Yb(this.blending.functionDestinationRgb))throw new x("Invalid renderState.blending.functionDestinationRgb.");if(!Yb(this.blending.functionDestinationAlpha))throw new x("Invalid renderState.blending.functionDestinationAlpha.");if(!Z3(this.stencilTest.frontFunction))throw new x("Invalid renderState.stencilTest.frontFunction.");if(!Z3(this.stencilTest.backFunction))throw new x("Invalid renderState.stencilTest.backFunction.");if(!J_(this.stencilTest.frontOperation.fail))throw new x("Invalid renderState.stencilTest.frontOperation.fail.");if(!J_(this.stencilTest.frontOperation.zFail))throw new x("Invalid renderState.stencilTest.frontOperation.zFail.");if(!J_(this.stencilTest.frontOperation.zPass))throw new x("Invalid renderState.stencilTest.frontOperation.zPass.");if(!J_(this.stencilTest.backOperation.fail))throw new x("Invalid renderState.stencilTest.backOperation.fail.");if(!J_(this.stencilTest.backOperation.zFail))throw new x("Invalid renderState.stencilTest.backOperation.zFail.");if(!J_(this.stencilTest.backOperation.zPass))throw new x("Invalid renderState.stencilTest.backOperation.zPass.");if(l(this.viewport)){if(this.viewport.width<0)throw new x("renderState.viewport.width must be greater than or equal to zero.");if(this.viewport.height<0)throw new x("renderState.viewport.height must be greater than or equal to zero.");if(this.viewport.width>wt.maximumViewportWidth)throw new x(`renderState.viewport.width must be less than or equal to the maximum viewport width (${wt.maximumViewportWidth.toString()}). Check maximumViewportWidth.`);if(this.viewport.height>wt.maximumViewportHeight)throw new x(`renderState.viewport.height must be less than or equal to the maximum viewport height (${wt.maximumViewportHeight.toString()}). Check maximumViewportHeight.`)}this.id=0,this._applyFunctions=[]}let ahe=0,Ru={};Qe.fromCache=function(e){const t=JSON.stringify(e);let n=Ru[t];if(l(n))return++n.referenceCount,n.state;let i=new Qe(e);const o=JSON.stringify(i);return n=Ru[o],l(n)||(i.id=ahe++,i=k9(i),n={referenceCount:0,state:i},Ru[o]=n),++n.referenceCount,Ru[t]={referenceCount:1,state:n.state},n.state};Qe.removeFromCache=function(e){const t=new Qe(e),n=JSON.stringify(t),i=Ru[n],o=JSON.stringify(e),r=Ru[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete Ru[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete Ru[n]};Qe.getCache=function(){return Ru};Qe.clearCache=function(){Ru={}};function A_(e,t,n){n?e.enable(t):e.disable(t)}function G9(e,t){e.frontFace(t.frontFace)}function W9(e,t){const n=t.cull,i=n.enabled;A_(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function j9(e,t){e.lineWidth(t.lineWidth)}function q9(e,t){const n=t.polygonOffset,i=n.enabled;A_(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function Y9(e,t,n){const i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(A_(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 $9(e,t){const n=t.depthRange;e.depthRange(n.near,n.far)}function X9(e,t){const n=t.depthTest,i=n.enabled;A_(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function K9(e,t){const n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function J9(e,t){e.depthMask(t.depthMask)}function Q9(e,t){e.stencilMask(t.stencilMask)}function che(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function Z9(e,t,n){const i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;A_(e,e.BLEND,o),o&&(che(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function eW(e,t){const n=t.stencilTest,i=n.enabled;if(A_(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 tW(e,t){const n=t.sampleCoverage,i=n.enabled;A_(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}const lhe=new qe;function nW(e,t,n){let i=A(t.viewport,n.viewport);l(i)||(i=lhe,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)}Qe.apply=function(e,t,n){G9(e,t),W9(e,t),j9(e,t),q9(e,t),$9(e,t),X9(e,t),K9(e,t),J9(e,t),Q9(e,t),eW(e,t),tW(e,t),Y9(e,t,n),Z9(e,t,n),nW(e,t,n)};function uhe(e,t){const n=[];return e.frontFace!==t.frontFace&&n.push(G9),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(W9),e.lineWidth!==t.lineWidth&&n.push(j9),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(q9),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push($9),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(X9),(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(K9),e.depthMask!==t.depthMask&&n.push(J9),e.stencilMask!==t.stencilMask&&n.push(Q9),(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(eW),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(tW),n}Qe.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=uhe(t,n),n._applyFunctions[t.id]=f);const h=f.length;for(let _=0;_ 0&&console.log(`${yu}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${yu}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${yu}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(`${yu}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(`${yu}Vertex shader compile log: ${c}`),console.error(`${yu} Vertex shader source: +${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${yu}Fragment shader compile log: ${c}`),console.error(`${yu} Fragment shader source: +${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new Se(u);function h(_,g){if(!l(f))return;const p=f.getTranslatedShaderSource(_);if(p===""){console.error(`${yu}${g} shader translation failed.`);return}console.error(`${yu}Translated ${g} shaderSource: +${p}`)}}function Ehe(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=Bhe;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=Rhe;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 oz=new Ce;let rz=new Ce,_I=new Ce,sz=new Ce;Ce.fromHeadingPitchRoll=function(e,t){return b.typeOf.object("headingPitchRoll",e),sz=Ce.fromAxisAngle(d.UNIT_X,e.roll,oz),_I=Ce.fromAxisAngle(d.UNIT_Y,-e.pitch,t),t=Ce.multiply(_I,sz,_I),rz=Ce.fromAxisAngle(d.UNIT_Z,-e.heading,oz),Ce.multiply(rz,t,t)};const $b=new d,gI=new d,wl=new Ce,az=new Ce,Xb=new Ce;Ce.packedLength=4;Ce.pack=function(e,t,n){return b.typeOf.object("value",e),b.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 b.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,Xb),Ce.conjugate(Xb,Xb);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)xf[g]=(Zw[g]*c-eS[g])*s,wf[g]=(Zw[g]*u-eS[g])*s;const f=r*n*(1+xf[0]*(1+xf[1]*(1+xf[2]*(1+xf[3]*(1+xf[4]*(1+xf[5]*(1+xf[6]*(1+xf[7])))))))),h=a*(1+wf[0]*(1+wf[1]*(1+wf[2]*(1+wf[3]*(1+wf[4]*(1+wf[5]*(1+wf[6]*(1+wf[7])))))))),_=Ce.multiplyByScalar(e,h,Fhe);return Ce.multiplyByScalar(t,f,i),Ce.add(_,i,i)};Ce.fastSquad=function(e,t,n,i,o,r){b.typeOf.object("q0",e),b.typeOf.object("q1",t),b.typeOf.object("s0",n),b.typeOf.object("s1",i),b.typeOf.number("t",o),b.typeOf.object("result",r);const s=Ce.fastSlerp(e,t,o,oC),a=Ce.fastSlerp(n,i,o,Yg);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 Cs(e,t,n){b.defined("array",e),b.defined("itemToFind",t),b.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 uN(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}function IT(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 tS(e){if(e===null||isNaN(e))throw new x("year is required and must be a number.");return e%4===0&&e%100!==0||e%400===0}function Bi(e,t){this.julianDate=e,this.offset=t}const zhe={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},Ti=Object.freeze(zhe),Uhe={UTC:0,TAI:1},zn=Object.freeze(Uhe),vW=new IT,Kb=[31,28,31,30,31,30,31,31,30,31,30,31],Jb=29;function fN(e,t){return ne.compare(e.julianDate,t.julianDate)}const Ly=new Bi;function Cv(e){Ly.julianDate=e;const t=ne.leapSeconds;let n=Cs(t,Ly,fN);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&ne.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),ne.addSeconds(e,i,e)}function lz(e,t){Ly.julianDate=e;const n=ne.leapSeconds;let i=Cs(n,Ly,fN);if(i<0&&(i=~i),i===0)return ne.addSeconds(e,-n[0].offset,t);if(i>=n.length)return ne.addSeconds(e,-n[i-1].offset,t);const o=ne.secondsDifference(n[i].julianDate,e);if(o===0)return ne.addSeconds(e,-n[i].offset,t);if(!(o<=1))return ne.addSeconds(e,-n[--i].offset,t)}function bp(e,t,n){const i=t/Ti.SECONDS_PER_DAY|0;return e+=i,t-=Ti.SECONDS_PER_DAY*i,t<0&&(e--,t+=Ti.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function dN(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*Ti.SECONDS_PER_HOUR+o*Ti.SECONDS_PER_MINUTE+s*Ti.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}const Hhe=/^(\d{4})$/,Vhe=/^(\d{4})-(\d{2})$/,khe=/^(\d{4})-?(\d{3})$/,Ghe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,Whe=/^(\d{4})-?(\d{2})-?(\d{2})$/,hN=/([Z+\-])?(\d{2})?:?(\d{2})?$/,jhe=/^(\d{2})(\.\d+)?/.source+hN.source,qhe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+hN.source,Yhe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+hN.source,ml="Invalid ISO 8601 date.";function ne(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=A(e,0),t=A(t,0),n=A(n,zn.UTC);const i=e|0;t=t+(e-i)*Ti.SECONDS_PER_DAY,bp(i,t,this),n===zn.UTC&&Cv(this)}ne.fromGregorianDate=function(e,t){if(!(e instanceof IT))throw new x("date must be a valid GregorianDate.");const n=dN(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(bp(n[0],n[1],t),Cv(t),t):new ne(n[0],n[1],zn.UTC)};ne.fromDate=function(e,t){if(!(e instanceof Date)||isNaN(e.getTime()))throw new x("date must be a valid JavaScript Date.");const n=dN(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(bp(n[0],n[1],t),Cv(t),t):new ne(n[0],n[1],zn.UTC)};ne.fromIso8601=function(e,t){if(typeof e!="string")throw new x(ml);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 x(ml);let p;if(n=f.match(Whe),n!==null){if(p=f.split("-").length-1,p>0&&p!==2)throw new x(ml);i=+n[1],o=+n[2],r=+n[3]}else if(n=f.match(Vhe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(Hhe),n!==null)i=+n[1];else{let E;if(n=f.match(khe),n!==null){if(i=+n[1],E=+n[2],g=tS(i),E<1||g&&E>366||!g&&E>365)throw new x(ml)}else if(n=f.match(Ghe),n!==null){i=+n[1];const w=+n[2],S=+n[3]||0;if(p=f.split("-").length-1,p>0&&(!l(n[3])&&p!==1||l(n[3])&&p!==2))throw new x(ml);const P=new Date(Date.UTC(i,0,4));E=w*7+S-P.getUTCDay()-3}else throw new x(ml);_=new Date(Date.UTC(i,0,1)),_.setUTCDate(E),o=_.getUTCMonth()+1,r=_.getUTCDate()}if(g=tS(i),o<1||o>12||r<1||(o!==2||!g)&&r>Kb[o-1]||g&&o===2&&r>Jb)throw new x(ml);let y;if(l(h)){if(n=h.match(Yhe),n!==null){if(p=h.split(":").length-1,p>0&&p!==2&&p!==3)throw new x(ml);s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,y=5}else if(n=h.match(qhe),n!==null){if(p=h.split(":").length-1,p>2)throw new x(ml);s=+n[1],a=+n[2],c=+(n[3]||0)*60,y=4}else if(n=h.match(jhe),n!==null)s=+n[1],a=+(n[2]||0)*60,y=3;else throw new x(ml);if(a>=60||c>=61||s>24||s===24&&(a>0||c>0||u>0))throw new x(ml);const E=n[y],w=+n[y+1],S=+(n[y+2]||0);switch(E){case"+":s=s-w,a=a-S;break;case"-":s=s+w,a=a+S;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}const C=c===60;for(C&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(_=g&&o===2?Jb:Kb[o-1];r>_;)r-=_,o++,o>12&&(o-=12,i++),_=g&&o===2?Jb:Kb[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?Jb:Kb[o-1],r+=_;const T=dN(i,o,r,s,a,c,u);return l(t)?(bp(T[0],T[1],t),Cv(t)):t=new ne(T[0],T[1],zn.UTC),C&&ne.addSeconds(t,1,t),t};ne.now=function(e){return ne.fromDate(new Date,e)};const Qb=new ne(0,0,zn.TAI);ne.toGregorianDate=function(e,t){if(!l(e))throw new x("julianDate is required.");let n=!1,i=lz(e,Qb);l(i)||(ne.addSeconds(e,-1,Qb),i=lz(Qb,Qb),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/Ti.SECONDS_PER_HOUR|0,p=r-g*Ti.SECONDS_PER_HOUR;const y=p/Ti.SECONDS_PER_MINUTE|0;p=p-y*Ti.SECONDS_PER_MINUTE;let C=p|0;const T=(p-C)/Ti.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(C+=1),l(t)?(t.year=_,t.month=h,t.day=f,t.hour=g,t.minute=y,t.second=C,t.millisecond=T,t.isLeapSecond=n,t):new IT(_,h,f,g,y,C,T,n)};ne.toDate=function(e){if(!l(e))throw new x("julianDate is required.");const t=ne.toGregorianDate(e,vW);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))};ne.toIso8601=function(e,t){if(!l(e))throw new x("julianDate is required.");const n=ne.toGregorianDate(e,vW);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`)};ne.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new ne(e.dayNumber,e.secondsOfDay,zn.TAI)};ne.compare=function(e,t){if(!l(e))throw new x("left is required.");if(!l(t))throw new x("right is required.");const n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};ne.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};ne.equalsEpsilon=function(e,t,n){return n=A(n,0),e===t||l(e)&&l(t)&&Math.abs(ne.secondsDifference(e,t))<=n};ne.totalDays=function(e){if(!l(e))throw new x("julianDate is required.");return e.dayNumber+e.secondsOfDay/Ti.SECONDS_PER_DAY};ne.secondsDifference=function(e,t){if(!l(e))throw new x("left is required.");if(!l(t))throw new x("right is required.");return(e.dayNumber-t.dayNumber)*Ti.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};ne.daysDifference=function(e,t){if(!l(e))throw new x("left is required.");if(!l(t))throw new x("right is required.");const n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Ti.SECONDS_PER_DAY;return n+i};ne.computeTaiMinusUtc=function(e){Ly.julianDate=e;const t=ne.leapSeconds;let n=Cs(t,Ly,fN);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};ne.addSeconds=function(e,t,n){if(!l(e))throw new x("julianDate is required.");if(!l(t))throw new x("seconds is required.");if(!l(n))throw new x("result is required.");return bp(e.dayNumber,e.secondsOfDay+t,n)};ne.addMinutes=function(e,t,n){if(!l(e))throw new x("julianDate is required.");if(!l(t))throw new x("minutes is required.");if(!l(n))throw new x("result is required.");const i=e.secondsOfDay+t*Ti.SECONDS_PER_MINUTE;return bp(e.dayNumber,i,n)};ne.addHours=function(e,t,n){if(!l(e))throw new x("julianDate is required.");if(!l(t))throw new x("hours is required.");if(!l(n))throw new x("result is required.");const i=e.secondsOfDay+t*Ti.SECONDS_PER_HOUR;return bp(e.dayNumber,i,n)};ne.addDays=function(e,t,n){if(!l(e))throw new x("julianDate is required.");if(!l(t))throw new x("days is required.");if(!l(n))throw new x("result is required.");const i=e.dayNumber+t;return bp(i,e.secondsOfDay,n)};ne.lessThan=function(e,t){return ne.compare(e,t)<0};ne.lessThanOrEquals=function(e,t){return ne.compare(e,t)<=0};ne.greaterThan=function(e,t){return ne.compare(e,t)>0};ne.greaterThanOrEquals=function(e,t){return ne.compare(e,t)>=0};ne.prototype.clone=function(e){return ne.clone(this,e)};ne.prototype.equals=function(e){return ne.equals(this,e)};ne.prototype.equalsEpsilon=function(e,t){return ne.equalsEpsilon(this,e,t)};ne.prototype.toString=function(){return ne.toIso8601(this)};ne.leapSeconds=[new Bi(new ne(2441317,43210,zn.TAI),10),new Bi(new ne(2441499,43211,zn.TAI),11),new Bi(new ne(2441683,43212,zn.TAI),12),new Bi(new ne(2442048,43213,zn.TAI),13),new Bi(new ne(2442413,43214,zn.TAI),14),new Bi(new ne(2442778,43215,zn.TAI),15),new Bi(new ne(2443144,43216,zn.TAI),16),new Bi(new ne(2443509,43217,zn.TAI),17),new Bi(new ne(2443874,43218,zn.TAI),18),new Bi(new ne(2444239,43219,zn.TAI),19),new Bi(new ne(2444786,43220,zn.TAI),20),new Bi(new ne(2445151,43221,zn.TAI),21),new Bi(new ne(2445516,43222,zn.TAI),22),new Bi(new ne(2446247,43223,zn.TAI),23),new Bi(new ne(2447161,43224,zn.TAI),24),new Bi(new ne(2447892,43225,zn.TAI),25),new Bi(new ne(2448257,43226,zn.TAI),26),new Bi(new ne(2448804,43227,zn.TAI),27),new Bi(new ne(2449169,43228,zn.TAI),28),new Bi(new ne(2449534,43229,zn.TAI),29),new Bi(new ne(2450083,43230,zn.TAI),30),new Bi(new ne(2450630,43231,zn.TAI),31),new Bi(new ne(2451179,43232,zn.TAI),32),new Bi(new ne(2453736,43233,zn.TAI),33),new Bi(new ne(2454832,43234,zn.TAI),34),new Bi(new ne(2456109,43235,zn.TAI),35),new Bi(new ne(2457204,43236,zn.TAI),36),new Bi(new ne(2457754,43237,zn.TAI),37)];const $he="modulepreload",Xhe=function(e){return"/satellite-track/"+e},uz={},Zb=function(t,n,i){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(r=>{if(r=Xhe(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":$he,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 _L={},Khe={get exports(){return _L},set exports(e){_L=e}},rC={},Jhe={get exports(){return rC},set exports(e){rC=e}};/*! https://mths.be/punycode v1.4.0 by @mathias */var fz;function Qhe(){return fz||(fz=1,function(e,t){(function(n){var i=t&&!t.nodeType&&t,o=e&&!e.nodeType&&e,r=typeof oy=="object"&&oy;(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="-",C=/^xn--/,T=/[^\x20-\x7E]/,E=/[\x2E\u3002\uFF0E\uFF61]/g,w={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=c-u,P=Math.floor,O=String.fromCharCode,z;function R(G){throw new RangeError(w[G])}function F(G,K){for(var q=G.length,te=[];q--;)te[q]=K(G[q]);return te}function H(G,K){var q=G.split("@"),te="";q.length>1&&(te=q[0]+"@",G=q[1]),G=G.replace(E,".");var $=G.split("."),X=F($,K).join(".");return te+X}function v(G){for(var K=[],q=0,te=G.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(G){return G-48<10?G-22:G-65<26?G-65:G-97<26?G-97:c}function D(G,K){return G+22+75*(G<26)-((K!=0)<<5)}function L(G,K,q){var te=0;for(G=q?P(G/_):G>>1,G+=P(G/K);G>S*f>>1;te+=c)G=P(G/S);return P(te+(S+1)*G/(G+h))}function M(G){var K=[],q=G.length,te,$=0,X=p,Y=g,ae,ue,re,he,ce,Q,ie,de,me;for(ae=G.lastIndexOf(y),ae<0&&(ae=0),ue=0;ue =128&&R("not-basic"),K.push(G.charCodeAt(ue));for(re=ae>0?ae+1:0;re =q&&R("invalid-input"),ie=m(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 1);g++)h.splice(0,1);a[m]=h.join("")}var p=-1,y=0,b=0,C=-1,E=!1;for(m=0;my&&(p=C,y=b)):a[m]==="0"&&(E=!0,C=m,b=1);b>y&&(p=C,y=b),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,C=0,T=-1,E=!1;for(_=0;_y&&(p=T,y=C)):a[_]==="0"&&(E=!0,T=_,C=1);C>y&&(p=T,y=C),y>1&&a.splice(p,y,""),c=a.length;var w="";for(a[0]===""&&(w=":"),_=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})}(dye)),HS}/*! + */var hz;function npe(){return hz||(hz=1,function(e){(function(t,n){e.exports?e.exports=n():t.SecondLevelDomains=n(t)})(oy,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})}(tpe)),iS}/*! * URI.js - Mutating URLs * * Version: 1.19.11 @@ -75,10 +62,10 @@ ${p}`)}}function Bge(e,t,n){const i={};for(let o=0;o =1,N=arguments.length>=2;if(!(this instanceof s))return O?N?new s(_,v):new s(_):new s;if(_===void 0){if(O)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?_=location.href+"":_=""}if(_===null&&O)throw new TypeError("null is not a valid argument for URI");return this.href(_),v!==void 0?this.absoluteTo(v):this}function a(_){return/^[0-9]+$/.test(_)}s.version="1.19.11";var c=s.prototype,u=Object.prototype.hasOwnProperty;function d(_){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(_,v){var O={},N,V;if(h(v)==="RegExp")O=null;else if(m(v))for(N=0,V=v.length;N ]+|\(([^\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 v=_.nodeName.toLowerCase();if(!(v==="input"&&_.type!=="image"))return s.domAttributes[v]}};function C(_){return escape(_)}function E(_){return encodeURIComponent(_).replace(/[!'()*]/g,C).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(_,v){var O=s.encode(_+"");return v===void 0&&(v=s.escapeQuerySpace),v?O.replace(/%20/g,"+"):O},s.decodeQuery=function(_,v){_+="",v===void 0&&(v=s.escapeQuerySpace);try{return s.decode(v?_.replace(/\+/g,"%20"):_)}catch{return _}};var w={encode:"encode",decode:"decode"},S,P=function(_,v){return function(O){try{return s[v](O+"").replace(s.characters[_][v].expression,function(N){return s.characters[_][v].map[N]})}catch{return O}}};for(S in w)s[S+"PathSegment"]=P("pathname",w[S]),s[S+"UrnPathSegment"]=P("urnpath",w[S]);var L=function(_,v,O){return function(N){var V;O?V=function(K){return s[v](s[O](K))}:V=s[v];for(var k=(N+"").split(_),G=0,W=k.length;G -1&&(v.fragment=_.substring(O+1)||null,_=_.substring(0,O)),O=_.indexOf("?"),O>-1&&(v.query=_.substring(O+1)||null,_=_.substring(0,O)),_=_.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),_=_.replace(/^[/\\]{2,}/i,"//"),_.substring(0,2)==="//"?(v.protocol=null,_=_.substring(2),_=s.parseAuthority(_,v)):(O=_.indexOf(":"),O>-1&&(v.protocol=_.substring(0,O)||null,v.protocol&&!v.protocol.match(s.protocol_expression)?v.protocol=void 0:_.substring(O+1,O+3).replace(/\\/g,"/")==="//"?(_=_.substring(O+3),_=s.parseAuthority(_,v)):(_=_.substring(O+1),v.urn=!0))),v.path=_,v},s.parseHost=function(_,v){_||(_=""),_=_.replace(/\\/g,"/");var O=_.indexOf("/"),N,V;if(O===-1&&(O=_.length),_.charAt(0)==="[")N=_.indexOf("]"),v.hostname=_.substring(1,N)||null,v.port=_.substring(N+2,O)||null,v.port==="/"&&(v.port=null);else{var k=_.indexOf(":"),G=_.indexOf("/"),W=_.indexOf(":",k+1);W!==-1&&(G===-1||W -1?V:_.length-1),G;return k>-1&&(V===-1||k -1?X=X.slice(0,$)+X.slice($).replace(k,""):X=X.replace(k,""),!(X.length<=K[0].length)&&!(O.ignore&&O.ignore.test(X))){Y=q+X.length;var re=v(X,q,Y,_);if(re===void 0){N.lastIndex=Y;continue}re=String(re),_=_.slice(0,q)+re+_.slice(Y),N.lastIndex=q+re.length}}return N.lastIndex=0,_},s.ensureValidHostname=function(_,v){var O=!!_,N=!!v,V=!1;if(N&&(V=p(s.hostProtocols,v)),V&&!O)throw new TypeError("Hostname cannot be empty, if protocol is "+v);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 v=Number(_);if(!(a(v)&&v>0&&v<65536))throw new TypeError('Port "'+_+'" is not a valid port')}},s.noConflict=function(_){if(_){var v={URI:this.noConflict()};return o.URITemplate&&typeof o.URITemplate.noConflict=="function"&&(v.URITemplate=o.URITemplate.noConflict()),o.IPv6&&typeof o.IPv6.noConflict=="function"&&(v.IPv6=o.IPv6.noConflict()),o.SecondLevelDomains&&typeof o.SecondLevelDomains.noConflict=="function"&&(v.SecondLevelDomains=o.SecondLevelDomains.noConflict()),v}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(v,O){return v===void 0?this._parts[_]||"":(this._parts[_]=v||null,this.build(!O),this)}}function R(_,v){return function(O,N){return O===void 0?this._parts[_]||"":(O!==null&&(O=O+"",O.charAt(0)===v&&(O=O.substring(1))),this._parts[_]=O,this.build(!N),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(_,v){var O=this.query(_,v);return typeof O=="string"&&O.length?"?"+O:O},c.hash=function(_,v){var O=this.fragment(_,v);return typeof O=="string"&&O.length?"#"+O:O},c.pathname=function(_,v){if(_===void 0||_===!0){var O=this._parts.path||(this._parts.hostname?"/":"");return _?(this._parts.urn?s.decodeUrnPath:s.decodePath)(O):O}else return this._parts.urn?this._parts.path=_?s.recodeUrnPath(_):"":this._parts.path=_?s.recodePath(_):"/",this.build(!v),this},c.path=c.pathname,c.href=function(_,v){var O;if(_===void 0)return this.toString();this._string="",this._parts=s._parts();var N=_ instanceof s,V=typeof _=="object"&&(_.hostname||_.path||_.pathname);if(_.nodeName){var k=s.getDomAttribute(_);_=_[k]||"",V=!1}if(!N&&V&&_.pathname!==void 0&&(_=_.toString()),typeof _=="string"||_ instanceof String)this._parts=s.parse(String(_),this._parts);else if(N||V){var G=N?_._parts:_;for(O in G)O!=="query"&&u.call(this._parts,O)&&(this._parts[O]=G[O]);G.query&&this.query(G.query,!1)}else throw new TypeError("invalid input");return this.build(!v),this},c.is=function(_){var v=!1,O=!1,N=!1,V=!1,k=!1,G=!1,W=!1,K=!this._parts.urn;switch(this._parts.hostname&&(K=!1,O=s.ip4_expression.test(this._parts.hostname),N=s.ip6_expression.test(this._parts.hostname),v=O||N,V=!v,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)),_.toLowerCase()){case"relative":return K;case"absolute":return!K;case"domain":case"name":return V;case"sld":return k;case"ip":return v;case"ip4":case"ipv4":case"inet4":return O;case"ip6":case"ipv6":case"inet6":return N;case"idn":return G;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return W}return null};var F=c.protocol,U=c.port,D=c.hostname;c.protocol=function(_,v){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,_,v)},c.scheme=c.protocol,c.port=function(_,v){return this._parts.urn?_===void 0?"":this:(_!==void 0&&(_===0&&(_=null),_&&(_+="",_.charAt(0)===":"&&(_=_.substring(1)),s.ensureValidPort(_))),U.call(this,_,v))},c.hostname=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_!==void 0){var O={preventInvalidHostname:this._parts.preventInvalidHostname},N=s.parseHost(_,O);if(N!=="/")throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-]');_=O.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(_,this._parts.protocol)}return D.call(this,_,v)},c.origin=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_===void 0){var O=this.protocol(),N=this.authority();return N?(O?O+"://":"")+this.authority():""}else{var V=s(_);return this.protocol(V.protocol()).authority(V.authority()).build(!v),this}},c.host=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_===void 0)return this._parts.hostname?s.buildHost(this._parts):"";var O=s.parseHost(_,this._parts);if(O!=="/")throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},c.authority=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_===void 0)return this._parts.hostname?s.buildAuthority(this._parts):"";var O=s.parseAuthority(_,this._parts);if(O!=="/")throw new TypeError('Hostname "'+_+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},c.userinfo=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_===void 0){var O=s.buildUserinfo(this._parts);return O&&O.substring(0,O.length-1)}else return _[_.length-1]!=="@"&&(_+="@"),s.parseUserinfo(_,this._parts),this.build(!v),this},c.resource=function(_,v){var O;return _===void 0?this.path()+this.search()+this.hash():(O=s.parse(_),this._parts.path=O.path,this._parts.query=O.query,this._parts.fragment=O.fragment,this.build(!v),this)},c.subdomain=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_===void 0){if(!this._parts.hostname||this.is("IP"))return"";var O=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,O)||""}else{var N=this._parts.hostname.length-this.domain().length,V=this._parts.hostname.substring(0,N),k=new RegExp("^"+d(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(!v),this}},c.domain=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(typeof _=="boolean"&&(v=_,_=void 0),_===void 0){if(!this._parts.hostname||this.is("IP"))return"";var O=this._parts.hostname.match(/\./g);if(O&&O.length<2)return this._parts.hostname;var N=this._parts.hostname.length-this.tld(v).length-1;return N=this._parts.hostname.lastIndexOf(".",N-1)+1,this._parts.hostname.substring(N)||""}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(d(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(V,_)}return this.build(!v),this}},c.tld=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(typeof _=="boolean"&&(v=_,_=void 0),_===void 0){if(!this._parts.hostname||this.is("IP"))return"";var O=this._parts.hostname.lastIndexOf("."),N=this._parts.hostname.substring(O+1);return v!==!0&&i&&i.list[N.toLowerCase()]&&i.get(this._parts.hostname)||N}else{var V;if(_)if(_.match(/[^a-zA-Z0-9-]/))if(i&&i.is(_))V=new RegExp(d(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(d(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(V,_)}else throw new TypeError("cannot set TLD empty");return this.build(!v),this}},c.directory=function(_,v){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 O=this._parts.path.length-this.filename().length-1,N=this._parts.path.substring(0,O)||(this._parts.hostname?"/":"");return _?s.decodePath(N):N}else{var V=this._parts.path.length-this.filename().length,k=this._parts.path.substring(0,V),G=new RegExp("^"+d(k));return this.is("relative")||(_||(_="/"),_.charAt(0)!=="/"&&(_="/"+_)),_&&_.charAt(_.length-1)!=="/"&&(_+="/"),_=s.recodePath(_),this._parts.path=this._parts.path.replace(G,_),this.build(!v),this}},c.filename=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(typeof _!="string"){if(!this._parts.path||this._parts.path==="/")return"";var O=this._parts.path.lastIndexOf("/"),N=this._parts.path.substring(O+1);return _?s.decodePathSegment(N):N}else{var V=!1;_.charAt(0)==="/"&&(_=_.substring(1)),_.match(/\.?\//)&&(V=!0);var k=new RegExp(d(this.filename())+"$");return _=s.recodePath(_),this._parts.path=this._parts.path.replace(k,_),V?this.normalizePath(v):this.build(!v),this}},c.suffix=function(_,v){if(this._parts.urn)return _===void 0?"":this;if(_===void 0||_===!0){if(!this._parts.path||this._parts.path==="/")return"";var O=this.filename(),N=O.lastIndexOf("."),V,k;return N===-1?"":(V=O.substring(N+1),k=/^[a-z0-9%]+$/i.test(V)?V:"",_?s.decodePathSegment(k):k)}else{_.charAt(0)==="."&&(_=_.substring(1));var G=this.suffix(),W;if(G)_?W=new RegExp(d(G)+"$"):W=new RegExp(d("."+G)+"$");else{if(!_)return this;this._parts.path+="."+s.recodePath(_)}return W&&(_=s.recodePath(_),this._parts.path=this._parts.path.replace(W,_)),this.build(!v),this}},c.segment=function(_,v,O){var N=this._parts.urn?":":"/",V=this.path(),k=V.substring(0,1)==="/",G=V.split(N);if(_!==void 0&&typeof _!="number"&&(O=v,v=_,_=void 0),_!==void 0&&typeof _!="number")throw new Error('Bad segment "'+_+'", must be 0-based integer');if(k&&G.shift(),_<0&&(_=Math.max(G.length+_,0)),v===void 0)return _===void 0?G:G[_];if(_===null||G[_]===void 0)if(m(v)){G=[];for(var W=0,K=v.length;W "u")return e;t=A(n.baseURI,n.location.href)}const i=new Rs(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};function pye(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 Rs(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}function mye(e){if(!l(e))throw new x("uri is required.");const t=new Rs(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 mU={};function VS(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=mU[t];l(i)||(i={},mU[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 _ye=/^blob:/i;function Yj(e){return T.typeOf.string("uri",e),_ye.test(e)}let Fu;function Xj(e){l(Fu)||(Fu=document.createElement("a")),Fu.href=window.location.href;const t=Fu.host,n=Fu.protocol;return Fu.href=e,Fu.href=Fu.href,n!==Fu.protocol||t!==Fu.host}const gye=/^data:/i;function aM(e){return T.typeOf.string("uri",e),gye.test(e)}function yye(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 Aye(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 c0(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=Eye(this.responseHeaders))}c0.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};function Ke(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(Ke.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});Ke.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)}};Ke.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(xye),e=0;e=0;--t)this.heapify(t)};X_.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};X_.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 cM(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};function wye(e,t){return e.priority-t.priority}const wi={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0};let Ry=20;const Zs=new X_({comparator:wye});Zs.maximumLength=Ry;Zs.reserve(Ry);const Ju=[];let Pf={};const Sye=typeof document<"u"?new Rs(document.location.href):new Rs,sD=new Ke;function bi(){}bi.maximumRequests=50;bi.maximumRequestsPerServer=6;bi.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18};bi.throttleRequests=!0;bi.debugShowStatistics=!1;bi.requestCompletedEvent=sD;Object.defineProperties(bi,{statistics:{get:function(){return wi}},priorityHeapLength:{get:function(){return Ry},set:function(e){if(e e;){const t=Zs.pop();d_(t)}Ry=e,Zs.maximumLength=e,Zs.reserve(e)}}});function Kj(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}bi.serverHasOpenSlots=function(e,t){t=A(t,1);const n=A(bi.requestsByServer[e],bi.maximumRequestsPerServer);return Pf[e]+t<=n};bi.heapHasOpenSlots=function(e){return Zs.length+e<=Ry};function Jj(e){return e.state===Do.UNISSUED&&(e.state=Do.ISSUED,e.deferred=Xp()),e.deferred.promise}function vye(e){return function(t){if(e.state===Do.CANCELLED)return;const n=e.deferred;--wi.numberOfActiveRequests,--Pf[e.serverKey],sD.raiseEvent(),e.state=Do.RECEIVED,e.deferred=void 0,n.resolve(t)}}function Dye(e){return function(t){e.state!==Do.CANCELLED&&(++wi.numberOfFailedRequests,--wi.numberOfActiveRequests,--Pf[e.serverKey],sD.raiseEvent(t),e.state=Do.FAILED,e.deferred.reject(t))}}function Qj(e){const t=Jj(e);return e.state=Do.ACTIVE,Ju.push(e),++wi.numberOfActiveRequests,++wi.numberOfActiveRequestsEver,++Pf[e.serverKey],e.requestFunction().then(vye(e)).catch(Dye(e)),t}function d_(e){const t=e.state===Do.ACTIVE;if(e.state=Do.CANCELLED,++wi.numberOfCancelledRequests,l(e.deferred)){const n=e.deferred;e.deferred=void 0,n.reject()}t&&(--wi.numberOfActiveRequests,--Pf[e.serverKey],++wi.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}bi.update=function(){let e,t,n=0;const i=Ju.length;for(e=0;e0&&(Ju[e-n]=t)}Ju.length-=n;const o=Zs.internalArray,r=Zs.length;for(e=0;e 0;){if(t=Zs.pop(),t.cancelled){d_(t);continue}if(t.throttleByServer&&!bi.serverHasOpenSlots(t.serverKey)){d_(t);continue}Qj(t),++a}Iye()};bi.getServerKey=function(e){T.typeOf.string("url",e);let t=new Rs(e);t.scheme()===""&&(t=new Rs(e).absoluteTo(Sye),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);const i=Pf[n];return l(i)||(Pf[n]=0),n};bi.request=function(e){if(T.typeOf.object("request",e),T.typeOf.string("request.url",e.url),T.typeOf.func("request.requestFunction",e.requestFunction),aM(e.url)||Yj(e.url))return sD.raiseEvent(),e.state=Do.RECEIVED,e.requestFunction();if(++wi.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=bi.getServerKey(e.url)),bi.throttleRequests&&e.throttleByServer&&!bi.serverHasOpenSlots(e.serverKey))return;if(!bi.throttleRequests||!e.throttle)return Qj(e);if(Ju.length>=bi.maximumRequests)return;Kj(e);const t=Zs.insert(e);if(l(t)){if(t===e)return;d_(t)}return Jj(e)};function Iye(){bi.debugShowStatistics&&(wi.numberOfActiveRequests===0&&wi.lastNumberOfActiveRequests>0&&(wi.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${wi.numberOfAttemptedRequests}`),wi.numberOfAttemptedRequests=0),wi.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${wi.numberOfCancelledRequests}`),wi.numberOfCancelledRequests=0),wi.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${wi.numberOfCancelledActiveRequests}`),wi.numberOfCancelledActiveRequests=0),wi.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${wi.numberOfFailedRequests}`),wi.numberOfFailedRequests=0)),wi.lastNumberOfActiveRequests=wi.numberOfActiveRequests)}bi.clearForSpecs=function(){for(;Zs.length>0;){const t=Zs.pop();d_(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 Rs(this._url);e&&Oye(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=kS(this._queryParameters,e,!1):this._queryParameters=kS(e,this._queryParameters,!1)};Me.prototype.appendQueryParameters=function(e){this._queryParameters=kS(e,this._queryParameters,!0)};Me.prototype.setTemplateValues=function(e,t){t?this._templateValues=hn(this._templateValues,e):this._templateValues=hn(e,this._templateValues)};Me.prototype.getDerivedResource=function(e){const t=this.clone();if(t._retryCount=0,l(e.url)){const n=new Rs(e.url),i=A(e.preserveQueryParameters,!1);lM(n,t,!0,i),n.fragment(""),n.scheme()!==""?t._url=n.toString():t._url=n.absoluteTo(new Rs(dT(this._url))).toString()}return l(e.queryParameters)&&(t._queryParameters=hn(e.queryParameters,t._queryParameters)),l(e.templateValues)&&(t._templateValues=hn(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=hn(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=ht(this._queryParameters),e._templateValues=ht(this._templateValues),e.headers=ht(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 pye(this.getUrlComponent(e),e)};Me.prototype.appendForwardSlash=function(){this._url=hye(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(uM(this.request),!eq||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return aB({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(d){return s=d,a=s&&t,r}).then(function(d){if(!l(d))return;if(u=d,a)return Me.createImageBitmapFromBlob(d,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});const h=window.URL.createObjectURL(d);return c=new Me({url:h}),aB({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(d){if(l(d))return d.blob=u,a||window.URL.revokeObjectURL(c.url),d}).catch(function(d){return l(c)&&window.URL.revokeObjectURL(c.url),d.blob=u,Promise.reject(d)})};function aB(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=Xp();return Me._Implementations.createImage(r,a,c,n,i,o),c.promise};const s=bi.request(r);if(l(s))return s.catch(function(a){return r.state!==Do.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=Do.UNISSUED,r.deferred=void 0,aB({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"),uM(this.request);let t;do t=`loadJsonp${M.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return tq(this,e,t)};function tq(e,t,n){const i={};i[t]=n,e.setQueryParameters(i);const o=e.request;o.url=e.url,o.requestFunction=function(){const s=Xp();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=bi.request(o);if(l(r))return r.catch(function(s){return o.state!==Do.FAILED?Promise.reject(s):e.retryOnError(s).then(function(a){return a?(o.state=Do.UNISSUED,o.deferred=void 0,tq(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;uM(t.request);const n=t.request;n.url=t.url,n.requestFunction=function(){const o=e.responseType,r=hn(e.headers,t.headers),s=e.overrideMimeType,a=e.method,c=e.data,u=Xp(),d=Me._Implementations.loadWithXhr(t.url,o,a,c,r,u,s);return l(d)&&l(d.abort)&&(n.cancelFunction=function(){d.abort()}),u.promise};const i=bi.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!==Do.FAILED?Promise.reject(o):t.retryOnError(o).then(function(r){return r?(n.state=Do.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(o)})})};const Lye=/^data:(.*?)(;base64)?,(.*)$/;function Lw(e,t){const n=decodeURIComponent(t);return e?atob(n):n}function _U(e,t){const n=Lw(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r import("./__vite-browser-external-b25bb000.js"),[]),NE(()=>import("./__vite-browser-external-b25bb000.js"),[])]).then(([u,d])=>(a=u.parse(e),c=d,a.protocol==="https:"?NE(()=>import("./__vite-browser-external-b25bb000.js"),[]):NE(()=>import("./__vite-browser-external-b25bb000.js"),[]))).then(u=>{const d={protocol:a.protocol,hostname:a.hostname,port:a.port,path:a.path,query:a.query,method:n,headers:o};u.request(d).on("response",function(h){if(h.statusCode<200||h.statusCode>=300){r.reject(new c0(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 Ie("Error decompressing response.")):r.resolve(gU(y,t))}):r.resolve(gU(g,t))})}).on("error",function(h){r.reject(new c0)}).end()})}const Nye=typeof XMLHttpRequest>"u";Me._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){const a=Lye.exec(e);if(a!==null){r.resolve(Bye(a,t));return}if(Nye){Rye(e,t,n,i,o,r);return}const c=new XMLHttpRequest;if(Zj.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(const d in o)o.hasOwnProperty(d)&&c.setRequestHeader(d,o[d]);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 c0(c.status,c.response,c.getAllResponseHeaders()));return}const d=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(d)&&(!l(t)||h===t))r.resolve(d);else if(t==="json"&&typeof d=="string")try{r.resolve(JSON.parse(d))}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 Ie("Invalid XMLHttpRequest response type."))},c.onerror=function(d){r.reject(new c0)},c.send(i),c};Me._Implementations.loadAndExecuteScript=function(e,t,n){return yye(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 AC(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)?yU(this,e.data):yU(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}AC.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 Ie(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new AC({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};AC.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 iM(0,0,0,0,0),t}});AC.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new iM(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),d=!l(c),h=d||ie.greaterThanOrEquals(c,e);if(u&&h)return o=i,!d&&c.equals(e)&&++o,r=o+1,bU(this,n,this._samples,e,o,r,t),t}let s=Bs(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 AU(e,n,o,a,s),s;if(i.equals(u))return AU(e,n,r,a,s),s;const d=ie.secondsDifference(i,c)/ie.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 b=n[h+e._taiMinusUtcSecondsColumn],C=n[m+e._taiMinusUtcSecondsColumn];b!==C&&(u.equals(i)?g=p:p-=C-b)}return s.xPoleWander=cA(d,n[h+e._xPoleWanderRadiansColumn],n[m+e._xPoleWanderRadiansColumn]),s.yPoleWander=cA(d,n[h+e._yPoleWanderRadiansColumn],n[m+e._yPoleWanderRadiansColumn]),s.xPoleOffset=cA(d,n[h+e._xCelestialPoleOffsetRadiansColumn],n[m+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=cA(d,n[h+e._yCelestialPoleOffsetRadiansColumn],n[m+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=cA(d,g,p),s}function Xr(e,t,n){this.heading=A(e,0),this.pitch=A(t,0),this.roll=A(n,0)}Xr.fromQuaternion=function(e,t){if(!l(e))throw new x("quaternion is required");l(t)||(t=new Xr);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=-M.asinClamped(n),t};Xr.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 Xr),i.heading=e*M.RADIANS_PER_DEGREE,i.pitch=t*M.RADIANS_PER_DEGREE,i.roll=n*M.RADIANS_PER_DEGREE,i};Xr.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new Xr(e.heading,e.pitch,e.roll)};Xr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};Xr.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&M.equalsEpsilon(e.heading,t.heading,n,i)&&M.equalsEpsilon(e.pitch,t.pitch,n,i)&&M.equalsEpsilon(e.roll,t.roll,n,i)};Xr.prototype.clone=function(e){return Xr.clone(this,e)};Xr.prototype.equals=function(e){return Xr.equals(this,e)};Xr.prototype.equalsEpsilon=function(e,t,n){return Xr.equalsEpsilon(this,e,t,n)};Xr.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};const nq=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function Fye(){const e=document.getElementsByTagName("script");for(let t=0,n=e.length;t "u"?e:(l(vg)||(vg=document.createElement("a")),vg.href=e,vg.href=vg.href,vg.href)}let qm;function oq(){if(l(qm))return qm;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=dT("..",An("Core/buildModuleUrl.js")):e=Fye(),!l(e))throw new x("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return qm=new Me({url:iq(e)}),qm.appendForwardSlash(),qm}function zye(e){return iq(require.toUrl(`../${e}`))}function rq(e){return oq().getDerivedResource({url:e}).url}let ME;function An(e){return l(ME)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?ME=zye:ME=rq),ME(e)}An._cesiumScriptRegex=nq;An._buildModuleUrlFromBaseUrl=rq;An._clearBaseResource=function(){qm=void 0};An.setBaseUrl=function(e){qm=Me.DEFAULT.getDerivedResource({url:e})};An.getCesiumBaseUrl=oq;function sq(e,t,n){this.x=e,this.y=t,this.s=n}function dM(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,$n.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 Uye=new ie(0,0,$n.TAI);function cB(e,t,n){const i=Uye;return i.dayNumber=t,i.secondsOfDay=n,ie.daysDifference(i,e._sampleZeroDateTT)}dM.prototype.preload=function(e,t,n,i){const o=cB(this,e,t),r=cB(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,d=[];for(let h=c;h<=u;++h)d.push(lB(this,h));return Promise.all(d)};dM.prototype.computeXysRadians=function(e,t,n){const i=cB(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])||(lB(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(lB(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new sq(0,0,0);const d=i-s*this._stepSizeDays,h=this._work,m=this._denominators,g=this._coef,p=this._xTable;let y,b;for(y=0;y<=r;++y)h[y]=d-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]*=m[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 lB(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:An(`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,d=a.length;u =43200?o=(r+.5)/Ni.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Ni.DAYS_PER_JULIAN_CENTURY;const a=(Kye+o*(Jye+o*(Qye+o*Zye)))*n0e%M.TWO_PI,c=t0e+e0e*(n-24515455e-1),u=(i+Ni.SECONDS_PER_DAY*.5)%Ni.SECONDS_PER_DAY,d=a+c*u,h=Math.cos(d),m=Math.sin(d);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)};Ti.iau2006XysData=new dM;Ti.earthOrientationParameters=AC.NONE;const uB=32.184,i0e=2451545;Ti.preloadIcrfFixed=function(e){const t=e.start.dayNumber,n=e.start.secondsOfDay+uB,i=e.stop.dayNumber,o=e.stop.secondsOfDay+uB;return Ti.iau2006XysData.preload(t,n,i,o)};Ti.computeIcrfToFixedMatrix=function(e,t){if(!l(e))throw new x("date is required.");l(t)||(t=new J);const n=Ti.computeFixedToIcrfMatrix(e,t);if(l(n))return J.transpose(n,t)};const o0e=new sq(0,0,0),r0e=new iM(0,0,0,0,0),d1=new J,f1=new J;Ti.computeFixedToIcrfMatrix=function(e,t){if(!l(e))throw new x("date is required.");l(t)||(t=new J);const n=Ti.earthOrientationParameters.compute(e,r0e);if(!l(n))return;const i=e.dayNumber,o=e.secondsOfDay+uB,r=Ti.iau2006XysData.computeXysRadians(i,o,o0e);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=d1;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 d=J.fromRotationZ(-r.s,f1),h=J.multiply(u,d,d1),m=e.dayNumber,g=e.secondsOfDay-ie.computeTaiMinusUtc(e)+n.ut1MinusUtc,p=m-2451545,y=g/Ni.SECONDS_PER_DAY;let b=.779057273264+y+.00273781191135448*(p+y);b=b%1*M.TWO_PI;const C=J.fromRotationZ(b,f1),E=J.multiply(h,C,d1),w=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),P=Math.sin(n.xPoleWander),L=Math.sin(n.yPoleWander);let z=i-i0e+o/Ni.SECONDS_PER_DAY;z/=36525;const R=-47e-6*z*M.RADIANS_PER_DEGREE/3600,F=Math.cos(R),U=Math.sin(R),D=f1;return D[0]=w*F,D[1]=w*U,D[2]=P,D[3]=-S*U+L*P*F,D[4]=S*F+L*P*U,D[5]=-L*w,D[6]=-L*U-S*P*F,D[7]=L*F-S*P*U,D[8]=S*w,J.multiply(E,D,t)};const s0e=new oe;Ti.pointToWindowCoordinates=function(e,t,n,i){return i=Ti.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};Ti.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=s0e;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 a0e=new f,c0e=new f,l0e=new f;Ti.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,me.WGS84).geodeticSurfaceNormal(e,a0e);let r=f.cross(t,o,c0e);f.equalsEpsilon(r,f.ZERO,M.EPSILON6)&&(r=f.clone(f.UNIT_X,r));const s=f.cross(r,t,l0e);return f.normalize(s,s),f.cross(t,s,r),f.negate(r,r),f.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 aq=new B(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),cq=new Ce,lq=new f,u0e=new f,d0e=new J,dB=new B,uq=new B;Ti.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,u0e),o=e.ellipsoid,r=o.cartesianToCartographic(i,cq),s=e.project(r,lq);f.fromElements(s.z,s.x,s.y,s);const a=Ti.eastNorthUpToFixedFrame(i,o,dB),c=B.inverseTransformation(a,uq),u=B.getMatrix3(t,d0e),d=B.multiplyByMatrix3(c,u,n);return B.multiply(aq,d,n),B.setTranslation(n,s,n),n};Ti.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=Ti.eastNorthUpToFixedFrame(t,i,dB),r=B.inverseTransformation(o,uq),s=i.cartesianToCartographic(t,cq),a=e.project(s,lq);f.fromElements(a.z,a.x,a.y,a);const c=B.fromTranslation(a,dB);return B.multiply(aq,r,n),B.multiply(c,n,n),n};const cn=Ti;function Lt(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,Ze.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=A(e.geometryType,Cy.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}Lt.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 x("All attribute lists must have the same number of attributes.");t=o}return t};const f0e=new Ce,h0e=new f,TU=new B,p0e=[new Ce,new Ce,new Ce],m0e=[new j,new j,new j],_0e=[new j,new j,new j],g0e=new f,y0e=new Te,A0e=new B,b0e=new dt;Lt._textureCoordinateRotationPoints=function(e,t,n,i){let o;const r=ge.center(i,f0e),s=Ce.toCartesian(r,n,h0e),a=cn.eastNorthUpToFixedFrame(s,n,TU),c=B.inverse(a,TU),u=m0e,d=p0e;d[0].longitude=i.west,d[0].latitude=i.south,d[1].longitude=i.west,d[1].latitude=i.north,d[2].longitude=i.east,d[2].latitude=i.south;let h=g0e;for(o=0;o<3;o++)Ce.toCartesian(d[o],n,h),h=B.multiplyByPointAsVector(c,h,h),u[o].x=h.x,u[o].y=h.y;const m=Te.fromAxisAngle(f.UNIT_Z,-t,y0e),g=J.fromQuaternion(m,A0e),p=e.length;let y=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,C=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 u0(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(u0.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}}});u0.clone=function(e){if(l(e))return new u0(e._format,e._datatype,e._width,e._height,e._buffer)};u0.prototype.clone=function(){return u0.clone(this)};function dq(){if(!l(Vi._canTransferArrayBuffer)){const e=new Worker(hq("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 Vi._canTransferArrayBuffer=!1,Vi._canTransferArrayBuffer}const i=Xp();e.onmessage=function(o){const r=o.data.array,s=l(r)&&r[0]===t;i.resolve(s),e.terminate(),Vi._canTransferArrayBuffer=s},Vi._canTransferArrayBuffer=i.promise}return Vi._canTransferArrayBuffer}const fB=new Ke;function fq(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 Ie(t.error.message),r.stack=t.error.stack):r.name==="DeveloperError"&&(r=new x(t.error.message),r.stack=t.error.stack),fB.raiseEvent(r),o.reject(r)}else fB.raiseEvent(),o.resolve(t.result);delete i[n]}function hq(e){let t=An(e);if(Xj(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 h1;function C0e(){return l(h1)||(h1=hq("Workers/cesiumWorkerBootstrapper.js")),h1}function pq(e){const t=new Worker(C0e());t.postMessage=A(t.webkitPostMessage,t.postMessage);const n={loaderConfig:{paths:{Workers:An("Workers")},baseUrl:An.getCesiumBaseUrl().url},workerModule:e._workerPath};return t.postMessage(n),t.onmessage=function(i){fq(e,i.data)},t}function T0e(e,t){const n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!gn.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new Ie(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=An(t.fallbackModulePath),Promise.resolve(n)}return n.modulePath=An(t.modulePath),n.wasmBinaryFile=An(t.wasmBinaryFile),Me.fetchArrayBuffer({url:n.wasmBinaryFile}).then(function(i){return n.wasmBinary=i,n})}function Vi(e,t){const n=new Rs(e);this._workerPath=n.scheme().length!==0&&n.fragment().length===0?e:Vi._workerModulePrefix+e,this._maximumActiveTasks=A(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}const E0e=[];Vi.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=pq(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;const n=this;return Promise.resolve(dq()).then(function(i){l(t)?i||(t.length=0):t=E0e;const o=n._nextID++,r=Xp();return n._deferreds[o]=r,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),r.promise})};Vi.prototype.initWebAssemblyModule=function(e){l(this._worker)||(this._worker=pq(this));const t=Xp(),n=this,i=this._worker;return T0e(this,e).then(function(o){return Promise.resolve(dq()).then(function(r){let s;const a=o.wasmBinary;l(a)&&r&&(s=[a]),i.onmessage=function(c){i.onmessage=function(u){fq(n,u.data)},t.resolve(c.data)},i.postMessage({webAssemblyConfig:o},s)})}),t.promise};Vi.prototype.isDestroyed=function(){return!1};Vi.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),He(this)};Vi.taskCompletedEvent=fB;Vi._defaultWorkerModulePrefix="Workers/";Vi._workerModulePrefix=Vi._defaultWorkerModulePrefix;Vi._canTransferArrayBuffer=void 0;function pf(){}pf._transcodeTaskProcessor=new Vi("transcodeKTX2",Number.POSITIVE_INFINITY);pf._readyPromise=void 0;function x0e(){const e=pf._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return pf._transcodeTaskProcessor});pf._readyPromise=e}pf.transcode=function(e,t){return T.defined("supportedTargetFormats",t),l(pf._readyPromise)||x0e(),pf._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 d=this._size,h=this._pixelFormat,m=this._internalFormat,g=this._pixelDatatype,p=this._preMultiplyAlpha,y=this._flipY,b=A(e.skipColorSpaceConversion,!1);let C=4;l(u)&&(C=rt.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 E=!1;if(!this._initialized){if(t===0&&n===0&&a===d&&c===d)l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),y&&(u=rt.flipY(u,h,g,d,d)),o.texImage2D(s,0,m,d,d,0,h,Qe.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,Qe.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=rt.createTypedArray(h,g,d,d);o.texImage2D(s,0,m,d,d,0,h,Qe.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=rt.flipY(u,h,g,a,c)),o.texSubImage2D(s,0,t,n,a,c,h,Qe.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,Qe.toWebGLConstant(g,this._context),i))),o.bindTexture(r,null)};Zd.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 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===Qe.FLOAT)throw new x("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(this._pixelDatatype===Qe.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 Bw={DONT_CARE:ae.DONT_CARE,FASTEST:ae.FASTEST,NICEST:ae.NICEST,validate:function(e){return e===Bw.DONT_CARE||e===Bw.FASTEST||e===Bw.NICEST}},d0=Object.freeze(Bw),Rw={NEAREST:ae.NEAREST,LINEAR:ae.LINEAR};Rw.validate=function(e){return e===Rw.NEAREST||e===Rw.LINEAR};const Kr=Object.freeze(Rw),Uh={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};Uh.validate=function(e){return e===Uh.NEAREST||e===Uh.LINEAR||e===Uh.NEAREST_MIPMAP_NEAREST||e===Uh.LINEAR_MIPMAP_NEAREST||e===Uh.NEAREST_MIPMAP_LINEAR||e===Uh.LINEAR_MIPMAP_LINEAR};const In=Object.freeze(Uh),Nw={CLAMP_TO_EDGE:ae.CLAMP_TO_EDGE,REPEAT:ae.REPEAT,MIRRORED_REPEAT:ae.MIRRORED_REPEAT,validate:function(e){return e===Nw.CLAMP_TO_EDGE||e===Nw.REPEAT||e===Nw.MIRRORED_REPEAT}},Fi=Object.freeze(Nw);function ii(e){e=A(e,A.EMPTY_OBJECT);const t=A(e.wrapS,Fi.CLAMP_TO_EDGE),n=A(e.wrapT,Fi.CLAMP_TO_EDGE),i=A(e.minificationFilter,In.LINEAR),o=A(e.magnificationFilter,Kr.LINEAR),r=l(e.maximumAnisotropy)?e.maximumAnisotropy:1;if(!Fi.validate(t))throw new x("Invalid sampler.wrapS.");if(!Fi.validate(n))throw new x("Invalid sampler.wrapT.");if(!In.validate(i))throw new x("Invalid sampler.minificationFilter.");if(!Kr.validate(o))throw new x("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(ii.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}}});ii.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};ii.NEAREST=Object.freeze(new ii({wrapS:Fi.CLAMP_TO_EDGE,wrapT:Fi.CLAMP_TO_EDGE,minificationFilter:In.NEAREST,magnificationFilter:Kr.NEAREST}));function bu(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 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,Qe.UNSIGNED_BYTE),a=A(e.pixelFormat,rt.RGBA),c=rt.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>It.maximumCubeMapSize)throw new x(`Width and height must be less than or equal to the maximum cube map size (${It.maximumCubeMapSize}). Check maximumCubeMapSize.`);if(!rt.validate(a))throw new x("Invalid options.pixelFormat.");if(rt.isDepthFormat(a))throw new x("options.pixelFormat cannot be DEPTH_COMPONENT or DEPTH_STENCIL.");if(!Qe.validate(s))throw new x("Invalid options.pixelDatatype.");if(s===Qe.FLOAT&&!t.floatingPointTexture)throw new x("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(s===Qe.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=rt.textureSizeInBytes(a,s,r,r)*6,d=e.preMultiplyAlpha||a===rt.RGB||a===rt.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 b(E,w,S,P,L){let z=w.arrayBufferView;l(z)||(z=w.bufferView);let R=4;l(z)&&(R=rt.alignmentInBytes(a,s,i)),g.pixelStorei(g.UNPACK_ALIGNMENT,R),L?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=rt.flipY(z,a,s,r,r)),g.texImage2D(E,0,c,r,r,0,a,Qe.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,Qe.toWebGLConstant(s,t),w))}l(n)?(b(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,d,h,m),b(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,d,h,m),b(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,d,h,m),b(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,d,h,m),b(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,d,h,m),b(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,d,h,m)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,r,r,0,a,Qe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,r,r,0,a,Qe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,r,r,0,a,Qe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,r,r,0,a,Qe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,r,r,0,a,Qe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,r,r,0,a,Qe.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=d,this._flipY=h,this._sampler=void 0;const C=l(n);this._positiveX=new Zd(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_X,c,a,s,r,d,h,C),this._negativeX=new Zd(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_X,c,a,s,r,d,h,C),this._positiveY=new Zd(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Y,c,a,s,r,d,h,C),this._negativeY=new Zd(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,c,a,s,r,d,h,C),this._positiveZ=new Zd(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Z,c,a,s,r,d,h,C),this._negativeZ=new Zd(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,c,a,s,r,d,h,C),this.sampler=l(e.sampler)?e.sampler:new ii}Object.defineProperties(bu.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===In.NEAREST_MIPMAP_NEAREST||t===In.NEAREST_MIPMAP_LINEAR||t===In.LINEAR_MIPMAP_NEAREST||t===In.LINEAR_MIPMAP_LINEAR,o=this._context,r=this._pixelDatatype;(r===Qe.FLOAT&&!o.textureFloatLinear||r===Qe.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?In.NEAREST_MIPMAP_NEAREST:In.NEAREST,n=Kr.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}}});bu.prototype.generateMipmap=function(e){if(e=A(e,d0.DONT_CARE),this._size>1&&!M.isPowerOfTwo(this._size))throw new x("width and height must be a power of two to call generateMipmap().");if(!d0.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)};bu.prototype.isDestroyed=function(){return!1};bu.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 J_(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}function w0e(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(C,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 p1(e,t,n){const i=`#extension\\s+GL_${e}\\s+:\\s+[a-zA-Z0-9]+\\s*$`;S0e(new RegExp(i,"g"),"",n),Vu(`GL_${e}`,t,n)}const P0e=`/** + */(function(e){(function(t,n){e.exports?e.exports=n(Qhe(),epe(),npe()):t.URI=n(t.punycode,t.IPv6,t.SecondLevelDomains,t)})(oy,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 T(m){return escape(m)}function E(m){return encodeURIComponent(m).replace(/[!'()*]/g,T).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(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 w={encode:"encode",decode:"decode"},S,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(S in w)s[S+"PathSegment"]=P("pathname",w[S]),s[S+"UrnPathSegment"]=P("urnpath",w[S]);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),W=0,G=k.length;W -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(":"),W=m.indexOf("/"),G=m.indexOf(":",k+1);G!==-1&&(W===-1||G -1?V:m.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,$,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 z(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=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(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 W=M?m._parts:m;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(m){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)),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 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(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 F.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))),H.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 v.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),W=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(W,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 W=this.suffix(),G;if(W)m?G=new RegExp(f(W)+"$"):G=new RegExp(f("."+W)+"$");else{if(!m)return this;this._parts.path+="."+s.recodePath(m)}return G&&(m=s.recodePath(m),this._parts.path=this._parts.path.replace(G,m)),this.build(!D),this}},c.segment=function(m,D,L){var M=this._parts.urn?":":"/",V=this.path(),k=V.substring(0,1)==="/",W=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&&W.shift(),m<0&&(m=Math.max(W.length+m,0)),D===void 0)return m===void 0?W:W[m];if(m===null||W[m]===void 0)if(_(D)){W=[];for(var G=0,K=D.length;G "u")return e;t=A(n.baseURI,n.location.href)}const i=new Ts(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};function ope(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 Ts(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}function rpe(e){if(!l(e))throw new x("uri is required.");const t=new Ts(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 pz={};function oS(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=pz[t];l(i)||(i={},pz[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 spe=/^blob:/i;function DW(e){return b.typeOf.string("uri",e),spe.test(e)}let Au;function IW(e){l(Au)||(Au=document.createElement("a")),Au.href=window.location.href;const t=Au.host,n=Au.protocol;return Au.href=e,Au.href=Au.href,n!==Au.protocol||t!==Au.host}const ape=/^data:/i;function pN(e){return b.typeOf.string("uri",e),ape.test(e)}function cpe(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 lpe(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 By(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=hpe(this.responseHeaders))}By.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};function $e(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties($e.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});$e.prototype.addEventListener=function(e,t){b.typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);const n=this;return function(){n.removeEventListener(e,t)}};$e.prototype.removeEventListener=function(e,t){b.typeOf.func("listener",e);const n=this._listeners,i=this._scopes;let o=-1;for(let r=0;r0){for(o.sort(ppe),e=0;e=0;--t)this.heapify(t)};T_.prototype.insert=function(e){b.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};T_.prototype.pop=function(e){if(e=A(e,0),this._length===0)return;b.typeOf.number.lessThan("index",e,this._length);const t=this._array,n=t[e];return mN(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};function mpe(e,t){return e.priority-t.priority}const di={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0};let ry=20;const Hs=new T_({comparator:mpe});Hs.maximumLength=ry;Hs.reserve(ry);const Lu=[];let fd={};const _pe=typeof document<"u"?new Ts(document.location.href):new Ts,Tv=new $e;function ci(){}ci.maximumRequests=50;ci.maximumRequestsPerServer=6;ci.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18};ci.throttleRequests=!0;ci.debugShowStatistics=!1;ci.requestCompletedEvent=Tv;Object.defineProperties(ci,{statistics:{get:function(){return di}},priorityHeapLength:{get:function(){return ry},set:function(e){if(e e;){const t=Hs.pop();Mm(t)}ry=e,Hs.maximumLength=e,Hs.reserve(e)}}});function PW(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}ci.serverHasOpenSlots=function(e,t){t=A(t,1);const n=A(ci.requestsByServer[e],ci.maximumRequestsPerServer);return fd[e]+t<=n};ci.heapHasOpenSlots=function(e){return Hs.length+e<=ry};function OW(e){return e.state===yo.UNISSUED&&(e.state=yo.ISSUED,e.deferred=Ep()),e.deferred.promise}function gpe(e){return function(t){if(e.state===yo.CANCELLED)return;const n=e.deferred;--di.numberOfActiveRequests,--fd[e.serverKey],Tv.raiseEvent(),e.state=yo.RECEIVED,e.deferred=void 0,n.resolve(t)}}function ype(e){return function(t){e.state!==yo.CANCELLED&&(++di.numberOfFailedRequests,--di.numberOfActiveRequests,--fd[e.serverKey],Tv.raiseEvent(t),e.state=yo.FAILED,e.deferred.reject(t))}}function LW(e){const t=OW(e);return e.state=yo.ACTIVE,Lu.push(e),++di.numberOfActiveRequests,++di.numberOfActiveRequestsEver,++fd[e.serverKey],e.requestFunction().then(gpe(e)).catch(ype(e)),t}function Mm(e){const t=e.state===yo.ACTIVE;if(e.state=yo.CANCELLED,++di.numberOfCancelledRequests,l(e.deferred)){const n=e.deferred;e.deferred=void 0,n.reject()}t&&(--di.numberOfActiveRequests,--fd[e.serverKey],++di.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}ci.update=function(){let e,t,n=0;const i=Lu.length;for(e=0;e0&&(Lu[e-n]=t)}Lu.length-=n;const o=Hs.internalArray,r=Hs.length;for(e=0;e 0;){if(t=Hs.pop(),t.cancelled){Mm(t);continue}if(t.throttleByServer&&!ci.serverHasOpenSlots(t.serverKey)){Mm(t);continue}LW(t),++a}Ape()};ci.getServerKey=function(e){b.typeOf.string("url",e);let t=new Ts(e);t.scheme()===""&&(t=new Ts(e).absoluteTo(_pe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);const i=fd[n];return l(i)||(fd[n]=0),n};ci.request=function(e){if(b.typeOf.object("request",e),b.typeOf.string("request.url",e.url),b.typeOf.func("request.requestFunction",e.requestFunction),pN(e.url)||DW(e.url))return Tv.raiseEvent(),e.state=yo.RECEIVED,e.requestFunction();if(++di.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=ci.getServerKey(e.url)),ci.throttleRequests&&e.throttleByServer&&!ci.serverHasOpenSlots(e.serverKey))return;if(!ci.throttleRequests||!e.throttle)return LW(e);if(Lu.length>=ci.maximumRequests)return;PW(e);const t=Hs.insert(e);if(l(t)){if(t===e)return;Mm(t)}return OW(e)};function Ape(){ci.debugShowStatistics&&(di.numberOfActiveRequests===0&&di.lastNumberOfActiveRequests>0&&(di.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${di.numberOfAttemptedRequests}`),di.numberOfAttemptedRequests=0),di.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${di.numberOfCancelledRequests}`),di.numberOfCancelledRequests=0),di.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${di.numberOfCancelledActiveRequests}`),di.numberOfCancelledActiveRequests=0),di.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${di.numberOfFailedRequests}`),di.numberOfFailedRequests=0)),di.lastNumberOfActiveRequests=di.numberOfActiveRequests)}ci.clearForSpecs=function(){for(;Hs.length>0;){const t=Hs.pop();Mm(t)}const e=Lu.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 Ts(this._url);e&&Tpe(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=rS(this._queryParameters,e,!1):this._queryParameters=rS(e,this._queryParameters,!1)};Re.prototype.appendQueryParameters=function(e){this._queryParameters=rS(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 Ts(e.url),i=A(e.preserveQueryParameters,!1);_N(n,t,!0,i),n.fragment(""),n.scheme()!==""?t._url=n.toString():t._url=n.absoluteTo(new Ts(PT(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 ope(this.getUrlComponent(e),e)};Re.prototype.appendForwardSlash=function(){this._url=ipe(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(gN(this.request),!RW||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return gL({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}),gL({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 gL(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=Ep();return Re._Implementations.createImage(r,a,c,n,i,o),c.promise};const s=ci.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,gL({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"),gN(this.request);let t;do t=`loadJsonp${N.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return NW(this,e,t)};function NW(e,t,n){const i={};i[t]=n,e.setQueryParameters(i);const o=e.request;o.url=e.url,o.requestFunction=function(){const s=Ep();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=ci.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,NW(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;gN(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=Ep(),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=ci.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 bpe=/^data:(.*?)(;base64)?,(.*)$/;function Kx(e,t){const n=decodeURIComponent(t);return e?atob(n):n}function mz(e,t){const n=Kx(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r import("./__vite-browser-external-b25bb000.js"),[]),Zb(()=>import("./__vite-browser-external-b25bb000.js"),[])]).then(([u,f])=>(a=u.parse(e),c=f,a.protocol==="https:"?Zb(()=>import("./__vite-browser-external-b25bb000.js"),[]):Zb(()=>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 By(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 Se("Error decompressing response.")):r.resolve(_z(y,t))}):r.resolve(_z(g,t))})}).on("error",function(h){r.reject(new By)}).end()})}const wpe=typeof XMLHttpRequest>"u";Re._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){const a=bpe.exec(e);if(a!==null){r.resolve(Epe(a,t));return}if(wpe){xpe(e,t,n,i,o,r);return}const c=new XMLHttpRequest;if(BW.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 By(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 C=y.split(": "),T=C.shift();p[T]=C.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 Se("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new By)},c.send(i),c};Re._Implementations.loadAndExecuteScript=function(e,t,n){return cpe(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 FC(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)?gz(this,e.data):gz(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}FC.fromUrl=async function(e,t){b.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 FC({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};FC.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 uN(0,0,0,0,0),t}});FC.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new uN(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,Az(this,n,this._samples,e,o,r,t),t}let s=Cs(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 yz(e,n,o,a,s),s;if(i.equals(u))return yz(e,n,r,a,s),s;const f=ne.secondsDifference(i,c)/ne.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 C=n[h+e._taiMinusUtcSecondsColumn],T=n[_+e._taiMinusUtcSecondsColumn];C!==T&&(u.equals(i)?g=p:p-=T-C)}return s.xPoleWander=R0(f,n[h+e._xPoleWanderRadiansColumn],n[_+e._xPoleWanderRadiansColumn]),s.yPoleWander=R0(f,n[h+e._yPoleWanderRadiansColumn],n[_+e._yPoleWanderRadiansColumn]),s.xPoleOffset=R0(f,n[h+e._xCelestialPoleOffsetRadiansColumn],n[_+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=R0(f,n[h+e._yCelestialPoleOffsetRadiansColumn],n[_+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=R0(f,g,p),s}function Ur(e,t,n){this.heading=A(e,0),this.pitch=A(t,0),this.roll=A(n,0)}Ur.fromQuaternion=function(e,t){if(!l(e))throw new x("quaternion is required");l(t)||(t=new Ur);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};Ur.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 Ur),i.heading=e*N.RADIANS_PER_DEGREE,i.pitch=t*N.RADIANS_PER_DEGREE,i.roll=n*N.RADIANS_PER_DEGREE,i};Ur.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new Ur(e.heading,e.pitch,e.roll)};Ur.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};Ur.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)};Ur.prototype.clone=function(e){return Ur.clone(this,e)};Ur.prototype.equals=function(e){return Ur.equals(this,e)};Ur.prototype.equalsEpsilon=function(e,t,n){return Ur.equalsEpsilon(this,e,t,n)};Ur.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};const MW=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function vpe(){const e=document.getElementsByTagName("script");for(let t=0,n=e.length;t "u"?e:(l(Z_)||(Z_=document.createElement("a")),Z_.href=e,Z_.href=Z_.href,Z_.href)}let Tm;function zW(){if(l(Tm))return Tm;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=PT("..",dn("Core/buildModuleUrl.js")):e=vpe(),!l(e))throw new x("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return Tm=new Re({url:FW(e)}),Tm.appendForwardSlash(),Tm}function Dpe(e){return FW(require.toUrl(`../${e}`))}function UW(e){return zW().getDerivedResource({url:e}).url}let eE;function dn(e){return l(eE)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?eE=Dpe:eE=UW),eE(e)}dn._cesiumScriptRegex=MW;dn._buildModuleUrlFromBaseUrl=UW;dn._clearBaseResource=function(){Tm=void 0};dn.setBaseUrl=function(e){Tm=Re.DEFAULT.getDerivedResource({url:e})};dn.getCesiumBaseUrl=zW;function HW(e,t,n){this.x=e,this.y=t,this.s=n}function yN(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,zn.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 Ipe=new ne(0,0,zn.TAI);function yL(e,t,n){const i=Ipe;return i.dayNumber=t,i.secondsOfDay=n,ne.daysDifference(i,e._sampleZeroDateTT)}yN.prototype.preload=function(e,t,n,i){const o=yL(this,e,t),r=yL(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(AL(this,h));return Promise.all(f)};yN.prototype.computeXysRadians=function(e,t,n){const i=yL(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])||(AL(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(AL(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new HW(0,0,0);const f=i-s*this._stepSizeDays,h=this._work,_=this._denominators,g=this._coef,p=this._xTable;let y,C;for(y=0;y<=r;++y)h[y]=f-p[y];for(y=0;y<=r;++y){for(g[y]=1,C=0;C<=r;++C)C!==y&&(g[y]*=h[C]);g[y]*=_[y];let T=(s+y)*3;n.x+=g[y]*u[T++],n.y+=g[y]*u[T++],n.s+=g[y]*u[T]}return n};function AL(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)/Ti.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Ti.DAYS_PER_JULIAN_CENTURY;const a=(Hpe+o*(Vpe+o*(kpe+o*Gpe)))*qpe%N.TWO_PI,c=jpe+Wpe*(n-24515455e-1),u=(i+Ti.SECONDS_PER_DAY*.5)%Ti.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)};li.iau2006XysData=new yN;li.earthOrientationParameters=FC.NONE;const CL=32.184,Ype=2451545;li.preloadIcrfFixed=function(e){const t=e.start.dayNumber,n=e.start.secondsOfDay+CL,i=e.stop.dayNumber,o=e.stop.secondsOfDay+CL;return li.iau2006XysData.preload(t,n,i,o)};li.computeIcrfToFixedMatrix=function(e,t){if(!l(e))throw new x("date is required.");l(t)||(t=new J);const n=li.computeFixedToIcrfMatrix(e,t);if(l(n))return J.transpose(n,t)};const $pe=new HW(0,0,0),Xpe=new uN(0,0,0,0,0),EI=new J,xI=new J;li.computeFixedToIcrfMatrix=function(e,t){if(!l(e))throw new x("date is required.");l(t)||(t=new J);const n=li.earthOrientationParameters.compute(e,Xpe);if(!l(n))return;const i=e.dayNumber,o=e.secondsOfDay+CL,r=li.iau2006XysData.computeXysRadians(i,o,$pe);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=EI;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,xI),h=J.multiply(u,f,EI),_=e.dayNumber,g=e.secondsOfDay-ne.computeTaiMinusUtc(e)+n.ut1MinusUtc,p=_-2451545,y=g/Ti.SECONDS_PER_DAY;let C=.779057273264+y+.00273781191135448*(p+y);C=C%1*N.TWO_PI;const T=J.fromRotationZ(C,xI),E=J.multiply(h,T,EI),w=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),P=Math.sin(n.xPoleWander),O=Math.sin(n.yPoleWander);let z=i-Ype+o/Ti.SECONDS_PER_DAY;z/=36525;const R=-47e-6*z*N.RADIANS_PER_DEGREE/3600,F=Math.cos(R),H=Math.sin(R),v=xI;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 Kpe=new oe;li.pointToWindowCoordinates=function(e,t,n,i){return i=li.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};li.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=Kpe;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 Jpe=new d,Qpe=new d,Zpe=new d;li.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,Jpe);let r=d.cross(t,o,Qpe);d.equalsEpsilon(r,d.ZERO,N.EPSILON6)&&(r=d.clone(d.UNIT_X,r));const s=d.cross(r,t,Zpe);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 VW=new B(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),kW=new Ae,GW=new d,eme=new d,tme=new J,TL=new B,WW=new B;li.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,eme),o=e.ellipsoid,r=o.cartesianToCartographic(i,kW),s=e.project(r,GW);d.fromElements(s.z,s.x,s.y,s);const a=li.eastNorthUpToFixedFrame(i,o,TL),c=B.inverseTransformation(a,WW),u=B.getMatrix3(t,tme),f=B.multiplyByMatrix3(c,u,n);return B.multiply(VW,f,n),B.setTranslation(n,s,n),n};li.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=li.eastNorthUpToFixedFrame(t,i,TL),r=B.inverseTransformation(o,WW),s=i.cartesianToCartographic(t,kW),a=e.project(s,GW);d.fromElements(a.z,a.x,a.y,a);const c=B.fromTranslation(a,TL);return B.multiply(VW,r,n),B.multiply(c,n,n),n};const tn=li;function Dt(e){e=A(e,A.EMPTY_OBJECT),b.typeOf.object("options.attributes",e.attributes),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=A(e.primitiveType,Je.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=A(e.geometryType,qg.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}Dt.computeNumberOfVertices=function(e){b.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 nme=new Ae,ime=new d,Tz=new B,ome=[new Ae,new Ae,new Ae],rme=[new j,new j,new j],sme=[new j,new j,new j],ame=new d,cme=new Ce,lme=new B,ume=new at;Dt._textureCoordinateRotationPoints=function(e,t,n,i){let o;const r=_e.center(i,nme),s=Ae.toCartesian(r,n,ime),a=tn.eastNorthUpToFixedFrame(s,n,Tz),c=B.inverse(a,Tz),u=rme,f=ome;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=ame;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 _=Ce.fromAxisAngle(d.UNIT_Z,-t,cme),g=J.fromQuaternion(_,lme),p=e.length;let y=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,T=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 Ny(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(Ny.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}}});Ny.clone=function(e){if(l(e))return new Ny(e._format,e._datatype,e._width,e._height,e._buffer)};Ny.prototype.clone=function(){return Ny.clone(this)};function jW(){if(!l(vi._canTransferArrayBuffer)){const e=new Worker(YW("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 vi._canTransferArrayBuffer=!1,vi._canTransferArrayBuffer}const i=Ep();e.onmessage=function(o){const r=o.data.array,s=l(r)&&r[0]===t;i.resolve(s),e.terminate(),vi._canTransferArrayBuffer=s},vi._canTransferArrayBuffer=i.promise}return vi._canTransferArrayBuffer}const bL=new $e;function qW(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),bL.raiseEvent(r),o.reject(r)}else bL.raiseEvent(),o.resolve(t.result);delete i[n]}function YW(e){let t=dn(e);if(IW(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 wI;function fme(){return l(wI)||(wI=YW("Workers/cesiumWorkerBootstrapper.js")),wI}function $W(e){const t=new Worker(fme());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){qW(e,i.data)},t}function dme(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 vi(e,t){const n=new Ts(e);this._workerPath=n.scheme().length!==0&&n.fragment().length===0?e:vi._workerModulePrefix+e,this._maximumActiveTasks=A(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}const hme=[];vi.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=$W(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;const n=this;return Promise.resolve(jW()).then(function(i){l(t)?i||(t.length=0):t=hme;const o=n._nextID++,r=Ep();return n._deferreds[o]=r,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),r.promise})};vi.prototype.initWebAssemblyModule=function(e){l(this._worker)||(this._worker=$W(this));const t=Ep(),n=this,i=this._worker;return dme(this,e).then(function(o){return Promise.resolve(jW()).then(function(r){let s;const a=o.wasmBinary;l(a)&&r&&(s=[a]),i.onmessage=function(c){i.onmessage=function(u){qW(n,u.data)},t.resolve(c.data)},i.postMessage({webAssemblyConfig:o},s)})}),t.promise};vi.prototype.isDestroyed=function(){return!1};vi.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),Ue(this)};vi.taskCompletedEvent=bL;vi._defaultWorkerModulePrefix="Workers/";vi._workerModulePrefix=vi._defaultWorkerModulePrefix;vi._canTransferArrayBuffer=void 0;function Kf(){}Kf._transcodeTaskProcessor=new vi("transcodeKTX2",Number.POSITIVE_INFINITY);Kf._readyPromise=void 0;function pme(){const e=Kf._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return Kf._transcodeTaskProcessor});Kf._readyPromise=e}Kf.transcode=function(e,t){return b.defined("supportedTargetFormats",t),l(Kf._readyPromise)||pme(),Kf._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,_=this._internalFormat,g=this._pixelDatatype,p=this._preMultiplyAlpha,y=this._flipY,C=A(e.skipColorSpaceConversion,!1);let T=4;l(u)&&(T=nt.alignmentInBytes(h,g,a)),o.pixelStorei(o.UNPACK_ALIGNMENT,T),C?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=nt.flipY(u,h,g,f,f)),o.texImage2D(s,0,_,f,f,0,h,Ke.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,Ke.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=nt.createTypedArray(h,g,f,f);o.texImage2D(s,0,_,f,f,0,h,Ke.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=nt.flipY(u,h,g,a,c)),o.texSubImage2D(s,0,t,n,a,c,h,Ke.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,Ke.toWebGLConstant(g,this._context),i))),o.bindTexture(r,null)};Mf.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),b.typeOf.number.greaterThanOrEquals("xOffset",e,0),b.typeOf.number.greaterThanOrEquals("yOffset",t,0),b.typeOf.number.greaterThanOrEquals("framebufferXOffset",n,0),b.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===Ke.FLOAT)throw new x("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(this._pixelDatatype===Ke.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 Jx={DONT_CARE:se.DONT_CARE,FASTEST:se.FASTEST,NICEST:se.NICEST,validate:function(e){return e===Jx.DONT_CARE||e===Jx.FASTEST||e===Jx.NICEST}},My=Object.freeze(Jx),Qx={NEAREST:se.NEAREST,LINEAR:se.LINEAR};Qx.validate=function(e){return e===Qx.NEAREST||e===Qx.LINEAR};const Hr=Object.freeze(Qx),yh={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};yh.validate=function(e){return e===yh.NEAREST||e===yh.LINEAR||e===yh.NEAREST_MIPMAP_NEAREST||e===yh.LINEAR_MIPMAP_NEAREST||e===yh.NEAREST_MIPMAP_LINEAR||e===yh.LINEAR_MIPMAP_LINEAR};const An=Object.freeze(yh),Zx={CLAMP_TO_EDGE:se.CLAMP_TO_EDGE,REPEAT:se.REPEAT,MIRRORED_REPEAT:se.MIRRORED_REPEAT,validate:function(e){return e===Zx.CLAMP_TO_EDGE||e===Zx.REPEAT||e===Zx.MIRRORED_REPEAT}},Ei=Object.freeze(Zx);function Yn(e){e=A(e,A.EMPTY_OBJECT);const t=A(e.wrapS,Ei.CLAMP_TO_EDGE),n=A(e.wrapT,Ei.CLAMP_TO_EDGE),i=A(e.minificationFilter,An.LINEAR),o=A(e.magnificationFilter,Hr.LINEAR),r=l(e.maximumAnisotropy)?e.maximumAnisotropy:1;if(!Ei.validate(t))throw new x("Invalid sampler.wrapS.");if(!Ei.validate(n))throw new x("Invalid sampler.wrapT.");if(!An.validate(i))throw new x("Invalid sampler.minificationFilter.");if(!Hr.validate(o))throw new x("Invalid sampler.magnificationFilter.");b.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:Ei.CLAMP_TO_EDGE,wrapT:Ei.CLAMP_TO_EDGE,minificationFilter:An.NEAREST,magnificationFilter:Hr.NEAREST}));function nu(e){e=A(e,A.EMPTY_OBJECT),b.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,Ke.UNSIGNED_BYTE),a=A(e.pixelFormat,nt.RGBA),c=nt.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(!nt.validate(a))throw new x("Invalid options.pixelFormat.");if(nt.isDepthFormat(a))throw new x("options.pixelFormat cannot be DEPTH_COMPONENT or DEPTH_STENCIL.");if(!Ke.validate(s))throw new x("Invalid options.pixelDatatype.");if(s===Ke.FLOAT&&!t.floatingPointTexture)throw new x("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(s===Ke.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=nt.textureSizeInBytes(a,s,r,r)*6,f=e.preMultiplyAlpha||a===nt.RGB||a===nt.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 C(E,w,S,P,O){let z=w.arrayBufferView;l(z)||(z=w.bufferView);let R=4;l(z)&&(R=nt.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=nt.flipY(z,a,s,r,r)),g.texImage2D(E,0,c,r,r,0,a,Ke.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,Ke.toWebGLConstant(s,t),w))}l(n)?(C(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,f,h,_),C(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,f,h,_),C(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,f,h,_),C(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,f,h,_),C(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,f,h,_),C(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,f,h,_)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,r,r,0,a,Ke.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,r,r,0,a,Ke.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,r,r,0,a,Ke.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,r,r,0,a,Ke.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,r,r,0,a,Ke.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,r,r,0,a,Ke.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 T=l(n);this._positiveX=new Mf(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_X,c,a,s,r,f,h,T),this._negativeX=new Mf(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_X,c,a,s,r,f,h,T),this._positiveY=new Mf(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Y,c,a,s,r,f,h,T),this._negativeY=new Mf(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,c,a,s,r,f,h,T),this._positiveZ=new Mf(t,y,p,g.TEXTURE_CUBE_MAP_POSITIVE_Z,c,a,s,r,f,h,T),this._negativeZ=new Mf(t,y,p,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,c,a,s,r,f,h,T),this.sampler=l(e.sampler)?e.sampler:new Yn}Object.defineProperties(nu.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===An.NEAREST_MIPMAP_NEAREST||t===An.NEAREST_MIPMAP_LINEAR||t===An.LINEAR_MIPMAP_NEAREST||t===An.LINEAR_MIPMAP_LINEAR,o=this._context,r=this._pixelDatatype;(r===Ke.FLOAT&&!o.textureFloatLinear||r===Ke.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?An.NEAREST_MIPMAP_NEAREST:An.NEAREST,n=Hr.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}}});nu.prototype.generateMipmap=function(e){if(e=A(e,My.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(!My.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)};nu.prototype.isDestroyed=function(){return!1};nu.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 E_(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}function mme(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(T,0,`#endif //${E[S]}`)}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 SI(e,t,n){const i=`#extension\\s+GL_${e}\\s+:\\s+[a-zA-Z0-9]+\\s*$`;_me(new RegExp(i,"g"),"",n),Eu(`GL_${e}`,t,n)}const Cme=`/** * A built-in GLSL floating-point constant for converting radians to degrees. * * @alias czm_degreesPerRadian @@ -94,7 +81,7 @@ ${p}`)}}function Bge(e,t,n){const i={};for(let o=0;o 1/pi. * * @alias czm_oneOverPi @@ -180,7 +167,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; -`,V0e=`/** +`,Ome=`/** * A built-in GLSL floating-point constant for 1/2pi
. * * @alias czm_oneOverTwoPi @@ -196,7 +183,7 @@ const float czm_oneOverPi = 0.3183098861837907; * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; -`,k0e=`/** +`,Lme=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile @@ -205,7 +192,7 @@ const float czm_oneOverTwoPi = 0.15915494309189535; * @see czm_pass */ const float czm_passCesium3DTile = 4.0; -`,G0e=`/** +`,Bme=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification @@ -214,7 +201,7 @@ const float czm_passCesium3DTile = 4.0; * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; -`,W0e=`/** +`,Rme=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow @@ -223,7 +210,7 @@ const float czm_passCesium3DTileClassification = 5.0; * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; -`,j0e=`/** +`,Nme=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification @@ -232,7 +219,7 @@ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; * @see czm_pass */ const float czm_passClassification = 7.0; -`,q0e=`/** +`,Mme=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute @@ -241,7 +228,7 @@ const float czm_passClassification = 7.0; * @see czm_pass */ const float czm_passCompute = 1.0; -`,$0e=`/** +`,Fme=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment @@ -250,7 +237,7 @@ const float czm_passCompute = 1.0; * @see czm_pass */ const float czm_passEnvironment = 0.0; -`,Y0e=`/** +`,zme=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe @@ -259,7 +246,7 @@ const float czm_passEnvironment = 0.0; * @see czm_pass */ const float czm_passGlobe = 2.0; -`,X0e=`/** +`,Ume=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque @@ -268,7 +255,7 @@ const float czm_passGlobe = 2.0; * @see czm_pass */ const float czm_passOpaque = 7.0; -`,K0e=`/** +`,Hme=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay @@ -277,7 +264,7 @@ const float czm_passOpaque = 7.0; * @see czm_pass */ const float czm_passOverlay = 10.0; -`,J0e=`/** +`,Vme=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification @@ -286,7 +273,7 @@ const float czm_passOverlay = 10.0; * @see czm_pass */ const float czm_passTerrainClassification = 3.0; -`,Q0e=`/** +`,kme=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent @@ -295,7 +282,7 @@ const float czm_passTerrainClassification = 3.0; * @see czm_pass */ const float czm_passTranslucent = 8.0; -`,Z0e=`/** +`,Gme=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels @@ -304,7 +291,7 @@ const float czm_passTranslucent = 8.0; * @see czm_pass */ const float czm_passVoxels = 9.0; -`,eAe=`/** +`,Wme=`/** * A built-in GLSL floating-point constant forMath.PI
. * * @alias czm_pi @@ -320,7 +307,7 @@ const float czm_passVoxels = 9.0; * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; -`,tAe=`/** +`,jme=`/** * A built-in GLSL floating-point constant forpi/4
. * * @alias czm_piOverFour @@ -336,7 +323,7 @@ const float czm_pi = 3.141592653589793; * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; -`,nAe=`/** +`,qme=`/** * A built-in GLSL floating-point constant forpi/6
. * * @alias czm_piOverSix @@ -352,7 +339,7 @@ const float czm_piOverFour = 0.7853981633974483; * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; -`,iAe=`/** +`,Yme=`/** * A built-in GLSL floating-point constant forpi/3
. * * @alias czm_piOverThree @@ -368,7 +355,7 @@ const float czm_piOverSix = 0.5235987755982988; * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; -`,oAe=`/** +`,$me=`/** * A built-in GLSL floating-point constant forpi/2
. * * @alias czm_piOverTwo @@ -384,7 +371,7 @@ const float czm_piOverThree = 1.0471975511965976; * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; -`,rAe=`/** +`,Xme=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree @@ -400,7 +387,7 @@ const float czm_piOverTwo = 1.5707963267948966; * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; -`,sAe=`/** +`,Kme=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D @@ -411,7 +398,7 @@ const float czm_radiansPerDegree = 0.017453292519943295; * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; -`,aAe=`/** +`,Jme=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D @@ -422,7 +409,7 @@ const float czm_sceneMode2D = 2.0; * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; -`,cAe=`/** +`,Qme=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView @@ -433,7 +420,7 @@ const float czm_sceneMode3D = 3.0; * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; -`,lAe=`/** +`,Zme=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing @@ -444,7 +431,7 @@ const float czm_sceneModeColumbusView = 1.0; * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; -`,uAe=`/** +`,e_e=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius @@ -457,7 +444,7 @@ const float czm_sceneModeMorphing = 0.0; * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; -`,dAe=`/** +`,t_e=`/** * A built-in GLSL floating-point constant for3pi/2
. * * @alias czm_threePiOver2 @@ -473,7 +460,7 @@ const float czm_solarRadius = 695500000.0; * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; -`,fAe=`/** +`,n_e=`/** * A built-in GLSL floating-point constant for2pi
. * * @alias czm_twoPi @@ -489,7 +476,7 @@ const float czm_threePiOver2 = 4.71238898038469; * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; -`,hAe=`/** +`,i_e=`/** * 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 @@ -505,7 +492,7 @@ const float czm_twoPi = 6.283185307179586; * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; -`,pAe=`/** +`,o_e=`/** * @name czm_depthRangeStruct * @glslStruct */ @@ -514,7 +501,7 @@ struct czm_depthRangeStruct float near; float far; }; -`,mAe=`/** +`,r_e=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material @@ -536,7 +523,7 @@ struct czm_material vec3 emission; float alpha; }; -`,_Ae=`/** +`,s_e=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput @@ -564,7 +551,7 @@ struct czm_materialInput float slope; float aspect; }; -`,gAe=`/** +`,a_e=`/** * 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} @@ -593,7 +580,7 @@ struct czm_modelMaterial { float occlusion; vec3 emissive; }; -`,yAe=`/** +`,c_e=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput @@ -609,7 +596,7 @@ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; -`,AAe=`/** +`,l_e=`/** * Parameters for {@link czm_pbrLighting} * * @name czm_material @@ -625,7 +612,7 @@ struct czm_pbrParameters float roughness; vec3 f0; }; -`,bAe=`/** +`,u_e=`/** * DOC_TBA * * @name czm_ray @@ -636,7 +623,7 @@ struct czm_ray vec3 origin; vec3 direction; }; -`,CAe=`/** +`,f_e=`/** * DOC_TBA * * @name czm_raySegment @@ -663,7 +650,7 @@ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_in * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); -`,TAe=`struct czm_shadowParameters +`,d_e=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; @@ -678,7 +665,7 @@ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); float normalShadingSmooth; float darkness; }; -`,EAe=`/** +`,h_e=`/** * 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} * @@ -702,7 +689,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); } -`,xAe=`/** +`,p_e=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -733,7 +720,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; } -`,wAe=`/** +`,m_e=`/** * 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} * @@ -760,7 +747,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); } -`,SAe=`/** +`,__e=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -794,7 +781,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); } -`,vAe=`/** +`,g_e=`/** * 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} @@ -824,7 +811,7 @@ vec3 czm_RGBToXYZ(vec3 rgb) Yxy.gb = xyz.rg / temp; return Yxy; } -`,DAe=`/** +`,y_e=`/** * 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} @@ -854,7 +841,7 @@ vec3 czm_XYZToRGB(vec3 Yxy) return XYZ2RGB * xyz; } -`,IAe=`// See: +`,A_e=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { @@ -870,7 +857,7 @@ vec3 czm_acesTonemapping(vec3 color) { return color; } -`,PAe=`/** +`,C_e=`/** * @private */ float czm_alphaWeight(float a) @@ -881,7 +868,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)))); } -`,OAe=`/** +`,T_e=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias @@ -920,7 +907,7 @@ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } -`,LAe=`/** +`,b_e=`/** * 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. @@ -938,7 +925,7 @@ vec2 czm_approximateSphericalCoordinates(vec3 normal) { float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } -`,BAe=`/** +`,E_e=`/** * Determines if the fragment is back facing * * @name czm_backFacing @@ -951,7 +938,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; } -`,RAe=`/** +`,x_e=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * @@ -1022,7 +1009,7 @@ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } -`,NAe=` +`,w_e=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + @@ -1030,14 +1017,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; } -`,MAe=` +`,S_e=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } -`,FAe=` +`,v_e=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) @@ -1047,7 +1034,7 @@ mat4 czm_cascadeMatrix(vec4 weights) shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } -`,zAe=` +`,D_e=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) @@ -1057,7 +1044,7 @@ vec4 czm_cascadeWeights(float depthEye) vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } -`,UAe=`/** +`,I_e=`/** * DOC_TBA * * @name czm_columbusViewMorph @@ -1069,7 +1056,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } -`,HAe=`/** +`,P_e=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. *
@@ -1091,7 +1078,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); -`,VAe=`/** +`,O_e=`/** * @private */ vec2 cordic(float angle) @@ -1302,7 +1289,7 @@ vec2 czm_cosineAndSine(float angle) return cordic(angle); } } -`,kAe=`/** +`,L_e=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates @@ -1319,7 +1306,7 @@ vec2 czm_cosineAndSine(float angle) float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } -`,GAe=`/** +`,B_e=`/** * Get default parameters for physically based rendering. These defaults * describe a rough dielectric (non-metal) surface (e.g. rough plastic). * @@ -1335,7 +1322,7 @@ czm_pbrParameters czm_defaultPbrMaterial() results.f0 = REFLECTANCE_DIELECTRIC; return results; } -`,WAe=`// emulated noperspective +`,R_e=`// emulated noperspective #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH) varying float v_WindowZ; #endif @@ -1382,7 +1369,7 @@ vec4 czm_depthClamp(vec4 coords) #endif return coords; } -`,jAe=`/** +`,N_e=`/** * 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. @@ -1415,7 +1402,7 @@ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } -`,qAe=`/** +`,M_e=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint @@ -1427,7 +1414,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); } -`,$Ae=`/** +`,F_e=`/** * DOC_TBA * * @name czm_ellipsoidWgs84TextureCoordinates @@ -1437,7 +1424,7 @@ vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } -`,YAe=`/** +`,z_e=`/** * Compares
left
andright
componentwise. Returnstrue
* if they are withinepsilon
andfalse
otherwise. The inputs *left
andright
can befloat
s,vec2
s, @@ -1473,7 +1460,7 @@ bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { bool czm_equalsEpsilon(float left, float right, float epsilon) { return (abs(left - right) <= epsilon); } -`,XAe=`/** +`,U_e=`/** * DOC_TBA * * @name czm_eyeOffset @@ -1493,7 +1480,7 @@ vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) p.z += zEyeOffset.z; return p; } -`,KAe=`/** +`,H_e=`/** * Transforms a position from eye to window coordinates. The transformation * from eye to clip coordinates is done using {@link czm_projection}. * The transform from normalized device coordinates to window coordinates is @@ -1525,7 +1512,7 @@ vec4 czm_eyeToWindowCoordinates(vec4 positionEC) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`,JAe=`/** +`,V_e=`/** * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. * * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on @@ -1580,7 +1567,7 @@ float czm_fastApproximateAtan(float x, float y) { t = czm_branchFreeTernary(y < 0.0, -t, t); return t; } -`,QAe=`/** +`,k_e=`/** * Gets the color with fog at a distance from the camera. * * @name czm_fog @@ -1618,7 +1605,7 @@ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifie float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); return mix(color, fogColor, fog); } -`,ZAe=`/** +`,G_e=`/** * Converts a color from RGB space to linear space. * * @name czm_gammaCorrect @@ -1640,7 +1627,7 @@ vec4 czm_gammaCorrect(vec4 color) { #endif return color; } -`,ebe=`/** +`,W_e=`/** * DOC_TBA * * @name czm_geodeticSurfaceNormal @@ -1656,7 +1643,7 @@ vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, v { return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); } -`,tbe=`/** +`,j_e=`/** * An czm_material with default values. Every material's czm_getMaterial * should use this default material as a base for the material it returns. * The default normal value is given by materialInput.normalEC. @@ -1683,7 +1670,7 @@ czm_material czm_getDefaultMaterial(czm_materialInput materialInput) material.alpha = 1.0; return material; } -`,nbe=`/** +`,q_e=`/** * Calculates the intensity of diffusely reflected light. * * @name czm_getLambertDiffuse @@ -1705,7 +1692,7 @@ float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) { return max(dot(lightDirectionEC, normalEC), 0.0); } -`,ibe=`/** +`,Y_e=`/** * Calculates the specular intensity of reflected light. * * @name czm_getSpecular @@ -1734,7 +1721,7 @@ float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float // Prevent this by making sure shininess is at least czm_epsilon2. return pow(specular, max(shininess, czm_epsilon2)); } -`,obe=`/** +`,$_e=`/** * @private */ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) @@ -1771,7 +1758,7 @@ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRa // average and scale to between -1 and 1 return ((noise / 4.0) - 0.5) * 2.0; } -`,rbe=`/** +`,X_e=`/** * Adjusts the hue of a color. * * @name czm_hue @@ -1801,7 +1788,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); return toRGB * color; } -`,sbe=`/** +`,K_e=`/** * Converts a color in linear space to RGB space. * * @name czm_inverseGamma @@ -1813,7 +1800,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 czm_inverseGamma(vec3 color) { return pow(color, vec3(1.0 / czm_gamma)); } -`,abe=`/** +`,J_e=`/** * Determines if a time interval is empty. * * @name czm_isEmpty @@ -1832,7 +1819,7 @@ bool czm_isEmpty(czm_raySegment interval) { return (interval.stop < 0.0); } -`,cbe=`/** +`,Q_e=`/** * Determines if a time interval is empty. * * @name czm_isFull @@ -1851,7 +1838,7 @@ bool czm_isFull(czm_raySegment interval) { return (interval.start == 0.0 && interval.stop == czm_infinity); } -`,lbe=`/** +`,Z_e=`/** * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. * * @name czm_latitudeToWebMercatorFraction @@ -1872,7 +1859,7 @@ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, fl return (mercatorY - southMercatorY) * oneOverMercatorHeight; } -`,ube=`/** +`,ege=`/** * Computes distance from an point in 2D to a line in 2D. * * @name czm_lineDistance @@ -1886,7 +1873,7 @@ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, fl float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); } -`,dbe=`/** +`,tge=`/** * Converts a linear RGB color to an sRGB color. * * @param {vec3|vec4} linearIn The color in linear color space. @@ -1902,7 +1889,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); return vec4(srgbOut, linearIn.a); } -`,fbe=`/** +`,nge=`/** * Computes the luminance of a color. * * @name czm_luminance @@ -1922,7 +1909,7 @@ float czm_luminance(vec3 rgb) const vec3 W = vec3(0.2125, 0.7154, 0.0721); return dot(rgb, W); } -`,hbe=`/** +`,ige=`/** * Computes the size of a pixel in meters at a distance from the eye. ** Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. @@ -1983,7 +1970,7 @@ float czm_metersPerPixel(vec4 positionEC) { return czm_metersPerPixel(positionEC, czm_pixelRatio); } -`,pbe=`/** +`,oge=`/** * Transforms a position from model to window coordinates. The transformation * from model to clip coordinates is done using {@link czm_modelViewProjection}. * The transform from normalized device coordinates to window coordinates is @@ -2020,7 +2007,7 @@ vec4 czm_modelToWindowCoordinates(vec4 position) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`,mbe=`/** +`,rge=`/** * DOC_TBA * * @name czm_multiplyWithColorBalance @@ -2038,7 +2025,7 @@ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; } -`,_be=`/** +`,sge=`/** * Computes a value that scales with distance. The scaling is clamped at the near and * far distances, and does not extrapolate. This function works with the * {@link NearFarScalar} JavaScript class. @@ -2064,7 +2051,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) return mix(valueAtMin, valueAtMax, t); } -`,gbe=` /** +`,age=` /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ @@ -2147,7 +2134,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) vector3 = czm_octDecode(vec2(x, y)); } -`,ybe=`/** +`,cge=`/** * Packs a depth value into a vec3 that can be represented by unsigned bytes. * * @name czm_packDepth @@ -2165,7 +2152,7 @@ vec4 czm_packDepth(float depth) enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); return enc; } -`,Abe=`vec3 lambertianDiffuse(vec3 diffuseColor) +`,lge=`vec3 lambertianDiffuse(vec3 diffuseColor) { return diffuseColor / czm_pi; } @@ -2264,7 +2251,7 @@ vec3 czm_pbrLighting( // Lo = (diffuse + specular) * Li * NdotL return (diffuseContribution + specularContribution) * NdotL * lightColorHdr; } -`,bbe=`/** +`,uge=`/** * Compute parameters for physically based rendering using the * metallic/roughness workflow. All inputs are linear; sRGB texture values must * be decoded beforehand @@ -2301,7 +2288,7 @@ czm_pbrParameters czm_pbrMetallicRoughnessMaterial( return results; } -`,Cbe=`/** +`,fge=`/** * Compute parameters for physically based rendering using the * specular/glossy workflow. All inputs are linear; sRGB texture values must * be decoded beforehand @@ -2331,7 +2318,7 @@ czm_pbrParameters czm_pbrSpecularGlossinessMaterial( return results; } -`,Tbe=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) +`,dge=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) { return czm_getLambertDiffuse(lightDirectionEC, material.normal); } @@ -2394,7 +2381,7 @@ vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) return vec4(color, material.alpha); } -`,Ebe=`/** +`,hge=`/** * Computes distance from a point to a plane. * * @name czm_planeDistance @@ -2422,7 +2409,7 @@ float czm_planeDistance(vec4 plane, vec3 point) { float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { return (dot(planeNormal, point) + planeDistance); } -`,xbe=`/** +`,pge=`/** * Computes the point along a ray at the given time.
time
can be positive, negative, or zero. * * @name czm_pointAlongRay @@ -2441,7 +2428,7 @@ vec3 czm_pointAlongRay(czm_ray ray, float time) { return ray.origin + (time * ray.direction); } -`,wbe=`/** +`,mge=`/** * DOC_TBA * * @name czm_rayEllipsoidIntersectionInterval @@ -2524,7 +2511,7 @@ czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_ } } } -`,Sbe=`/** +`,_ge=`/** * Compute the intersection interval of a ray with a sphere. * * @name czm_raySphereIntersectionInterval @@ -2560,11 +2547,11 @@ czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float czm_raySegment result = czm_raySegment(t0, t1); return result; } -`,vbe=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) +`,gge=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) { return czm_reverseLogDepth(texture2D(depthTexture, texCoords).r); } -`,Dbe=`/** +`,yge=`/** * Reads a value previously transformed with {@link czm_writeNonPerspective} * by dividing it by \`w\`, the value used in the perspective divide. * This function is intended to be called in a fragment shader to access a @@ -2595,7 +2582,7 @@ vec3 czm_readNonPerspective(vec3 value, float oneOverW) { vec4 czm_readNonPerspective(vec4 value, float oneOverW) { return value * oneOverW; } -`,Ibe=`float czm_reverseLogDepth(float logZ) +`,Age=`float czm_reverseLogDepth(float logZ) { #ifdef LOG_DEPTH float near = czm_currentFrustum.x; @@ -2606,7 +2593,7 @@ vec4 czm_readNonPerspective(vec4 value, float oneOverW) { #endif return logZ; } -`,Pbe=`/** +`,Cge=`/** * Round a floating point value. This function exists because round() doesn't * exist in GLSL 1.00. * @@ -2628,7 +2615,7 @@ vec3 czm_round(vec3 value) { vec4 czm_round(vec4 value) { return floor(value + 0.5); } -`,Obe=`/** +`,Tge=`/** * Samples the 4 neighboring pixels and return the weighted average. * * @private @@ -2706,7 +2693,7 @@ vec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, ve return mix(colorNextLod, colorCurrentLod, nextLod - lod); } -`,Lbe=`/** +`,bge=`/** * Adjusts the saturation of a color. * * @name czm_saturation @@ -2728,7 +2715,7 @@ vec3 czm_saturation(vec3 rgb, float adjustment) vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } -`,Bbe=` +`,Ege=` float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) { return czm_unpackDepth(textureCube(shadowMap, d)); @@ -2752,7 +2739,7 @@ float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } -`,Rbe=` +`,xge=` float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) { #ifdef USE_NORMAL_SHADING @@ -2818,7 +2805,7 @@ float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParam return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #endif -`,Nbe=`/** +`,wge=`/** * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL * built-in functionsign
except that returns 1.0 instead of 0.0 when the input value is 0.0. * @@ -2847,7 +2834,7 @@ vec4 czm_signNotZero(vec4 value) { return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); } -`,Mbe=`/** +`,Sge=`/** * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. ** The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. @@ -2889,7 +2876,7 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) + L21 * (z * x) + L22 * (x * x - y * y); } -`,Fbe=`/** +`,vge=`/** * Converts an sRGB color to a linear RGB color. * * @param {vec3|vec4} srgbIn The color in sRGB space @@ -2905,7 +2892,7 @@ vec4 czm_srgbToLinear(vec4 srgbIn) vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); } -`,zbe=`/** +`,Dge=`/** * Creates a matrix that transforms vectors from tangent space to eye space. * * @name czm_tangentToEyeSpaceMatrix @@ -2930,7 +2917,7 @@ mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC bitangent.x, bitangent.y, bitangent.z, normal.x , normal.y , normal.z); } -`,Ube=`/** +`,Ige=`/** * Transforms a plane. * * @name czm_transformPlane @@ -2945,7 +2932,7 @@ vec4 czm_transformPlane(vec4 plane, mat4 transform) { float normalMagnitude = length(transformedPlane.xyz); return transformedPlane / normalMagnitude; } -`,Hbe=`/** +`,Pge=`/** * Translates a position (or any
vec3
) that was encoded with {@link EncodedCartesian3}, * and then provided to the shader as separatehigh
andlow
bits to * be relative to the eye. As shown in the example, the position can then be transformed in eye @@ -2985,7 +2972,7 @@ vec4 czm_translateRelativeToEye(vec3 high, vec3 low) return vec4(highDifference + lowDifference, 1.0); } -`,Vbe=`/** +`,Oge=`/** * @private */ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) @@ -3012,7 +2999,7 @@ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirection return vec4(color, material.alpha); } -`,kbe=`/** +`,Lge=`/** * Returns the transpose of the matrix. The inputmatrix
can be * amat2
,mat3
, ormat4
. * @@ -3057,7 +3044,7 @@ mat4 czm_transpose(mat4 matrix) matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); } -`,Gbe=`/** +`,Bge=`/** * Unpacks a vec4 depth value to a float in [0, 1) range. * * @name czm_unpackDepth @@ -3073,7 +3060,7 @@ mat4 czm_transpose(mat4 matrix) // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); } -`,Wbe=`/** +`,Rge=`/** * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. * * @name czm_unpackFloat @@ -3097,7 +3084,7 @@ float czm_unpackFloat(vec4 packedFloat) float result = sign * exp2(exponent - 23.0) * mantissa; return result; } -`,jbe=`/** +`,Nge=`/** * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, * so the return value is an int. *@@ -3128,7 +3115,7 @@ float czm_unpackFloat(vec4 packedFloat) vec4 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); } -`,qbe=`/** +`,Mge=`/** * Transform metadata values following the EXT_structural_metadata spec * by multiplying by scale and adding the offset. Operations are always * performed component-wise, even for matrices. @@ -3166,7 +3153,7 @@ mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { return matrixCompMult(scale, value) + offset; } -`,$be=`#ifdef LOG_DEPTH +`,Fge=`#ifdef LOG_DEPTH // 1.0 at the near plane, increasing linearly from there. varying float v_depthFromNearPlusOne; #ifdef SHADOW_MAP @@ -3230,7 +3217,7 @@ void czm_vertexLogDepth(vec4 clipCoords) czm_updatePositionDepth(clipCoords); #endif } -`,Ybe=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) +`,zge=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) { // Reconstruct NDC coordinates float x = 2.0 * screenCoordinate.x - 1.0; @@ -3341,7 +3328,7 @@ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); } -`,Xbe=`// emulated noperspective +`,Uge=`// emulated noperspective #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH) varying float v_WindowZ; #endif @@ -3368,7 +3355,7 @@ void czm_writeDepthClamp() gl_FragDepthEXT = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); #endif } -`,Kbe=`#ifdef LOG_DEPTH +`,Hge=`#ifdef LOG_DEPTH varying float v_depthFromNearPlusOne; #ifdef POLYGON_OFFSET @@ -3450,7 +3437,7 @@ void czm_writeLogDepth() { czm_writeLogDepth(v_depthFromNearPlusOne); #endif } -`,Jbe=`/** +`,Vge=`/** * Transforms a value for non-perspective interpolation by multiplying * it by w, the value used in the perspective divide. This function is * intended to be called in a vertex shader to compute the value of a @@ -3482,16 +3469,16 @@ vec3 czm_writeNonPerspective(vec3 value, float w) { vec4 czm_writeNonPerspective(vec4 value, float w) { return value * w; } -`,m1={czm_degreesPerRadian:P0e,czm_depthRange:O0e,czm_epsilon1:L0e,czm_epsilon2:B0e,czm_epsilon3:R0e,czm_epsilon4:N0e,czm_epsilon5:M0e,czm_epsilon6:F0e,czm_epsilon7:z0e,czm_infinity:U0e,czm_oneOverPi:H0e,czm_oneOverTwoPi:V0e,czm_passCesium3DTile:k0e,czm_passCesium3DTileClassification:G0e,czm_passCesium3DTileClassificationIgnoreShow:W0e,czm_passClassification:j0e,czm_passCompute:q0e,czm_passEnvironment:$0e,czm_passGlobe:Y0e,czm_passOpaque:X0e,czm_passOverlay:K0e,czm_passTerrainClassification:J0e,czm_passTranslucent:Q0e,czm_passVoxels:Z0e,czm_pi:eAe,czm_piOverFour:tAe,czm_piOverSix:nAe,czm_piOverThree:iAe,czm_piOverTwo:oAe,czm_radiansPerDegree:rAe,czm_sceneMode2D:sAe,czm_sceneMode3D:aAe,czm_sceneModeColumbusView:cAe,czm_sceneModeMorphing:lAe,czm_solarRadius:uAe,czm_threePiOver2:dAe,czm_twoPi:fAe,czm_webMercatorMaxLatitude:hAe,czm_depthRangeStruct:pAe,czm_material:mAe,czm_materialInput:_Ae,czm_modelMaterial:gAe,czm_modelVertexOutput:yAe,czm_pbrParameters:AAe,czm_ray:bAe,czm_raySegment:CAe,czm_shadowParameters:TAe,czm_HSBToRGB:EAe,czm_HSLToRGB:xAe,czm_RGBToHSB:wAe,czm_RGBToHSL:SAe,czm_RGBToXYZ:vAe,czm_XYZToRGB:DAe,czm_acesTonemapping:IAe,czm_alphaWeight:PAe,czm_antialias:OAe,czm_approximateSphericalCoordinates:LAe,czm_backFacing:BAe,czm_branchFreeTernary:RAe,czm_cascadeColor:NAe,czm_cascadeDistance:MAe,czm_cascadeMatrix:FAe,czm_cascadeWeights:zAe,czm_columbusViewMorph:UAe,czm_computePosition:HAe,czm_cosineAndSine:VAe,czm_decompressTextureCoordinates:kAe,czm_defaultPbrMaterial:GAe,czm_depthClamp:WAe,czm_eastNorthUpToEyeCoordinates:jAe,czm_ellipsoidContainsPoint:qAe,czm_ellipsoidWgs84TextureCoordinates:$Ae,czm_equalsEpsilon:YAe,czm_eyeOffset:XAe,czm_eyeToWindowCoordinates:KAe,czm_fastApproximateAtan:JAe,czm_fog:QAe,czm_gammaCorrect:ZAe,czm_geodeticSurfaceNormal:ebe,czm_getDefaultMaterial:tbe,czm_getLambertDiffuse:nbe,czm_getSpecular:ibe,czm_getWaterNoise:obe,czm_hue:rbe,czm_inverseGamma:sbe,czm_isEmpty:abe,czm_isFull:cbe,czm_latitudeToWebMercatorFraction:lbe,czm_lineDistance:ube,czm_linearToSrgb:dbe,czm_luminance:fbe,czm_metersPerPixel:hbe,czm_modelToWindowCoordinates:pbe,czm_multiplyWithColorBalance:mbe,czm_nearFarScalar:_be,czm_octDecode:gbe,czm_packDepth:ybe,czm_pbrLighting:Abe,czm_pbrMetallicRoughnessMaterial:bbe,czm_pbrSpecularGlossinessMaterial:Cbe,czm_phong:Tbe,czm_planeDistance:Ebe,czm_pointAlongRay:xbe,czm_rayEllipsoidIntersectionInterval:wbe,czm_raySphereIntersectionInterval:Sbe,czm_readDepth:vbe,czm_readNonPerspective:Dbe,czm_reverseLogDepth:Ibe,czm_round:Pbe,czm_sampleOctahedralProjection:Obe,czm_saturation:Lbe,czm_shadowDepthCompare:Bbe,czm_shadowVisibility:Rbe,czm_signNotZero:Nbe,czm_sphericalHarmonics:Mbe,czm_srgbToLinear:Fbe,czm_tangentToEyeSpaceMatrix:zbe,czm_transformPlane:Ube,czm_translateRelativeToEye:Hbe,czm_translucentPhong:Vbe,czm_transpose:kbe,czm_unpackDepth:Gbe,czm_unpackFloat:Wbe,czm_unpackUint:jbe,czm_valueTransform:qbe,czm_vertexLogDepth:$be,czm_windowToEyeCoordinates:Ybe,czm_writeDepthClamp:Xbe,czm_writeLogDepth:Kbe,czm_writeNonPerspective:Jbe};function _q(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){const n=t.match(/\n/gm).length;let i="";for(let o=0;o
0;){const o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){const o=t.shift();e.push(o);for(let r=0;r 0;){const o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){const o=t.shift();e.push(o);for(let r=0;r