@loaders.gl/tile-converter 4.2.4 → 4.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -152,13 +152,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
152
152
  || ${o} === "boolean" || ${i} === null`).assign(s,(0,Pt._)`[${i}]`)}}}function kPt({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Pt._)`${t} !== undefined`,()=>e.assign((0,Pt._)`${t}[${r}]`,n))}function cG(e,t,r,n=U2.Correct){let i=n===U2.Correct?Pt.operators.EQ:Pt.operators.NEQ,a;switch(e){case"null":return(0,Pt._)`${t} ${i} null`;case"array":a=(0,Pt._)`Array.isArray(${t})`;break;case"object":a=(0,Pt._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=o((0,Pt._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=o();break;default:return(0,Pt._)`typeof ${t} ${i} ${e}`}return n===U2.Correct?a:(0,Pt.not)(a);function o(s=Pt.nil){return(0,Pt.and)((0,Pt._)`typeof ${t} == "number"`,s,r?(0,Pt._)`isFinite(${t})`:Pt.nil)}}Li.checkDataType=cG;function lG(e,t,r,n){if(e.length===1)return cG(e[0],t,r,n);let i,a=(0,g6e.toHash)(e);if(a.array&&a.object){let o=(0,Pt._)`typeof ${t} != "object"`;i=a.null?o:(0,Pt._)`!${t} || ${o}`,delete a.null,delete a.array,delete a.object}else i=Pt.nil;a.number&&delete a.integer;for(let o in a)i=(0,Pt.and)(i,cG(o,t,r,n));return i}Li.checkDataTypes=lG;var FPt={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Pt._)`{type: ${e}}`:(0,Pt._)`{type: ${t}}`};function fG(e){let t=BPt(e);(0,APt.reportError)(t,FPt)}Li.reportTypeError=fG;function BPt(e){let{gen:t,data:r,schema:n}=e,i=(0,g6e.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var b6e=v(N4=>{"use strict";Object.defineProperty(N4,"__esModule",{value:!0});N4.assignDefaults=void 0;var X1=Ut(),OPt=cr();function PPt(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)y6e(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,a)=>y6e(e,a,i.default))}N4.assignDefaults=PPt;function y6e(e,t,r){let{gen:n,compositeRule:i,data:a,opts:o}=e;if(r===void 0)return;let s=(0,X1._)`${a}${(0,X1.getProperty)(t)}`;if(i){(0,OPt.checkStrictMode)(e,`default is ignored for: ${s}`);return}let u=(0,X1._)`${s} === undefined`;o.useDefaults==="empty"&&(u=(0,X1._)`${u} || ${s} === null || ${s} === ""`),n.if(u,(0,X1._)`${s} = ${(0,X1.stringify)(r)}`)}});var Zo=v(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.validateUnion=Br.validateArray=Br.usePattern=Br.callValidateCode=Br.schemaProperties=Br.allSchemaProperties=Br.noPropertyInData=Br.propertyInData=Br.isOwnProperty=Br.hasPropFunc=Br.reportMissingProp=Br.checkMissingProp=Br.checkReportMissingProp=void 0;var Zr=Ut(),pG=cr(),kp=jl(),IPt=cr();function jPt(e,t){let{gen:r,data:n,it:i}=e;r.if(hG(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Zr._)`${t}`},!0),e.error()})}Br.checkReportMissingProp=jPt;function MPt({gen:e,data:t,it:{opts:r}},n,i){return(0,Zr.or)(...n.map(a=>(0,Zr.and)(hG(e,t,a,r.ownProperties),(0,Zr._)`${i} = ${a}`)))}Br.checkMissingProp=MPt;function RPt(e,t){e.setParams({missingProperty:t},!0),e.error()}Br.reportMissingProp=RPt;function _6e(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Zr._)`Object.prototype.hasOwnProperty`})}Br.hasPropFunc=_6e;function dG(e,t,r){return(0,Zr._)`${_6e(e)}.call(${t}, ${r})`}Br.isOwnProperty=dG;function LPt(e,t,r,n){let i=(0,Zr._)`${t}${(0,Zr.getProperty)(r)} !== undefined`;return n?(0,Zr._)`${i} && ${dG(e,t,r)}`:i}Br.propertyInData=LPt;function hG(e,t,r,n){let i=(0,Zr._)`${t}${(0,Zr.getProperty)(r)} === undefined`;return n?(0,Zr.or)(i,(0,Zr.not)(dG(e,t,r))):i}Br.noPropertyInData=hG;function w6e(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}Br.allSchemaProperties=w6e;function qPt(e,t){return w6e(t).filter(r=>!(0,pG.alwaysValidSchema)(e,t[r]))}Br.schemaProperties=qPt;function NPt({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,u,c){let l=c?(0,Zr._)`${e}, ${t}, ${n}${i}`:t,f=[[kp.default.instancePath,(0,Zr.strConcat)(kp.default.instancePath,a)],[kp.default.parentData,o.parentData],[kp.default.parentDataProperty,o.parentDataProperty],[kp.default.rootData,kp.default.rootData]];o.opts.dynamicRef&&f.push([kp.default.dynamicAnchors,kp.default.dynamicAnchors]);let p=(0,Zr._)`${l}, ${r.object(...f)}`;return u!==Zr.nil?(0,Zr._)`${s}.call(${u}, ${p})`:(0,Zr._)`${s}(${p})`}Br.callValidateCode=NPt;var UPt=(0,Zr._)`new RegExp`;function GPt({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,a=i(r,n);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,Zr._)`${i.code==="new RegExp"?UPt:(0,IPt.useFunc)(e,i)}(${r}, ${n})`})}Br.usePattern=GPt;function zPt(e){let{gen:t,data:r,keyword:n,it:i}=e,a=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return o(()=>t.assign(s,!1)),s}return t.var(a,!0),o(()=>t.break()),a;function o(s){let u=t.const("len",(0,Zr._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:pG.Type.Num},a),t.if((0,Zr.not)(a),s)})}}Br.validateArray=zPt;function HPt(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0,pG.alwaysValidSchema)(i,u))&&!i.opts.unevaluated)return;let o=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},s);t.assign(o,(0,Zr._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,Zr.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}Br.validateUnion=HPt});var S6e=v(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.validateKeywordUsage=pc.validSchemaType=pc.funcKeywordCode=pc.macroKeywordCode=void 0;var xa=Ut(),Mh=jl(),$Pt=Zo(),VPt=N2();function WPt(e,t){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=e,s=t.macro.call(o.self,i,a,o),u=A6e(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let c=r.name("valid");e.subschema({schema:s,schemaPath:xa.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}pc.macroKeywordCode=WPt;function KPt(e,t){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:u}=e;YPt(u,t);let c=!s&&t.compile?t.compile.call(u.self,a,o,u):t.validate,l=A6e(n,i,c),f=n.let("valid");e.block$data(f,p),e.ok((r=t.valid)!==null&&r!==void 0?r:f);function p(){if(t.errors===!1)g(),t.modifying&&E6e(e),m(()=>e.error());else{let x=t.async?d():h();t.modifying&&E6e(e),m(()=>JPt(e,x))}}function d(){let x=n.let("ruleErrs",null);return n.try(()=>g((0,xa._)`await `),b=>n.assign(f,!1).if((0,xa._)`${b} instanceof ${u.ValidationError}`,()=>n.assign(x,(0,xa._)`${b}.errors`),()=>n.throw(b))),x}function h(){let x=(0,xa._)`${l}.errors`;return n.assign(x,null),g(xa.nil),x}function g(x=t.async?(0,xa._)`await `:xa.nil){let b=u.opts.passContext?Mh.default.this:Mh.default.self,_=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,xa._)`${x}${(0,$Pt.callValidateCode)(e,l,b,_)}`,t.modifying)}function m(x){var b;n.if((0,xa.not)((b=t.valid)!==null&&b!==void 0?b:f),x)}}pc.funcKeywordCode=KPt;function E6e(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,xa._)`${n.parentData}[${n.parentDataProperty}]`))}function JPt(e,t){let{gen:r}=e;r.if((0,xa._)`Array.isArray(${t})`,()=>{r.assign(Mh.default.vErrors,(0,xa._)`${Mh.default.vErrors} === null ? ${t} : ${Mh.default.vErrors}.concat(${t})`).assign(Mh.default.errors,(0,xa._)`${Mh.default.vErrors}.length`),(0,VPt.extendErrors)(e)},()=>e.error())}function YPt({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function A6e(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,xa.stringify)(r)})}function XPt(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}pc.validSchemaType=XPt;function QPt({schema:e,opts:t,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o!=null&&o.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[a])){let u=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}pc.validateKeywordUsage=QPt});var C6e=v(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});Fp.extendSubschemaMode=Fp.extendSubschemaData=Fp.getSubschema=void 0;var dc=Ut(),T6e=cr();function ZPt(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,dc._)`${e.schemaPath}${(0,dc.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,dc._)`${e.schemaPath}${(0,dc.getProperty)(t)}${(0,dc.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,T6e.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}Fp.getSubschema=ZPt;function eIt(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:c,dataPathArr:l,opts:f}=t,p=s.let("data",(0,dc._)`${t.data}${(0,dc.getProperty)(r)}`,!0);u(p),e.errorPath=(0,dc.str)`${c}${(0,T6e.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,dc._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(i!==void 0){let c=i instanceof dc.Name?i:s.let("data",i,!0);u(c),o!==void 0&&(e.propertyName=o)}a&&(e.dataTypes=a);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}Fp.extendSubschemaData=eIt;function tIt(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),a!==void 0&&(e.allErrors=a),e.jtdDiscriminator=t,e.jtdMetadata=r}Fp.extendSubschemaMode=tIt});var k6e=v((u2r,D6e)=>{"use strict";var Bp=D6e.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};U4(t,n,i,e,"",e)};Bp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Bp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Bp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Bp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function U4(e,t,r,n,i,a,o,s,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,a,o,s,u,c);for(var l in n){var f=n[l];if(Array.isArray(f)){if(l in Bp.arrayKeywords)for(var p=0;p<f.length;p++)U4(e,t,r,f[p],i+"/"+l+"/"+p,a,i,l,n,p)}else if(l in Bp.propsKeywords){if(f&&typeof f=="object")for(var d in f)U4(e,t,r,f[d],i+"/"+l+"/"+rIt(d),a,i,l,n,d)}else(l in Bp.keywords||e.allKeys&&!(l in Bp.skipKeywords))&&U4(e,t,r,f,i+"/"+l,a,i,l,n)}r(n,i,a,o,s,u,c)}}function rIt(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var z2=v(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.getSchemaRefs=Na.resolveUrl=Na.normalizeId=Na._getFullPath=Na.getFullPath=Na.inlineRef=void 0;var nIt=cr(),iIt=F0(),aIt=k6e(),oIt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function sIt(e,t=!0){return typeof e=="boolean"?!0:t===!0?!mG(e):t?F6e(e)<=t:!1}Na.inlineRef=sIt;var uIt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function mG(e){for(let t in e){if(uIt.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(mG)||typeof r=="object"&&mG(r))return!0}return!1}function F6e(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!oIt.has(r)&&(typeof e[r]=="object"&&(0,nIt.eachItem)(e[r],n=>t+=F6e(n)),t===1/0))return 1/0}return t}function B6e(e,t="",r){r!==!1&&(t=Q1(t));let n=e.parse(t);return O6e(e,n)}Na.getFullPath=B6e;function O6e(e,t){return e.serialize(t).split("#")[0]+"#"}Na._getFullPath=O6e;var cIt=/#\/?$/;function Q1(e){return e?e.replace(cIt,""):""}Na.normalizeId=Q1;function lIt(e,t,r){return r=Q1(r),e.resolve(t,r)}Na.resolveUrl=lIt;var fIt=/^[a-z_][-a-z0-9._]*$/i;function pIt(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=Q1(e[r]||t),a={"":i},o=B6e(n,i,!1),s={},u=new Set;return aIt(e,{allKeys:!0},(f,p,d,h)=>{if(h===void 0)return;let g=o+p,m=a[h];typeof f[r]=="string"&&(m=x.call(this,f[r])),b.call(this,f.$anchor),b.call(this,f.$dynamicAnchor),a[p]=m;function x(_){let A=this.opts.uriResolver.resolve;if(_=Q1(m?A(m,_):_),u.has(_))throw l(_);u.add(_);let w=this.refs[_];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(f,w.schema,_):_!==Q1(g)&&(_[0]==="#"?(c(f,s[_],_),s[_]=f):this.refs[_]=g),_}function b(_){if(typeof _=="string"){if(!fIt.test(_))throw new Error(`invalid anchor "${_}"`);x.call(this,`#${_}`)}}}),s;function c(f,p,d){if(p!==void 0&&!iIt(f,p))throw l(d)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}Na.getSchemaRefs=pIt});var V2=v(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.getData=Op.KeywordCxt=Op.validateFunctionCode=void 0;var R6e=d6e(),P6e=G2(),vG=uG(),G4=G2(),dIt=b6e(),$2=S6e(),gG=C6e(),ot=Ut(),At=jl(),hIt=z2(),Ml=cr(),H2=N2();function mIt(e){if(N6e(e)&&(U6e(e),q6e(e))){xIt(e);return}L6e(e,()=>(0,R6e.topBoolOrEmptySchema)(e))}Op.validateFunctionCode=mIt;function L6e({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},a){i.code.es5?e.func(t,(0,ot._)`${At.default.data}, ${At.default.valCxt}`,n.$async,()=>{e.code((0,ot._)`"use strict"; ${I6e(r,i)}`),vIt(e,i),e.code(a)}):e.func(t,(0,ot._)`${At.default.data}, ${gIt(i)}`,n.$async,()=>e.code(I6e(r,i)).code(a))}function gIt(e){return(0,ot._)`{${At.default.instancePath}="", ${At.default.parentData}, ${At.default.parentDataProperty}, ${At.default.rootData}=${At.default.data}${e.dynamicRef?(0,ot._)`, ${At.default.dynamicAnchors}={}`:ot.nil}}={}`}function vIt(e,t){e.if(At.default.valCxt,()=>{e.var(At.default.instancePath,(0,ot._)`${At.default.valCxt}.${At.default.instancePath}`),e.var(At.default.parentData,(0,ot._)`${At.default.valCxt}.${At.default.parentData}`),e.var(At.default.parentDataProperty,(0,ot._)`${At.default.valCxt}.${At.default.parentDataProperty}`),e.var(At.default.rootData,(0,ot._)`${At.default.valCxt}.${At.default.rootData}`),t.dynamicRef&&e.var(At.default.dynamicAnchors,(0,ot._)`${At.default.valCxt}.${At.default.dynamicAnchors}`)},()=>{e.var(At.default.instancePath,(0,ot._)`""`),e.var(At.default.parentData,(0,ot._)`undefined`),e.var(At.default.parentDataProperty,(0,ot._)`undefined`),e.var(At.default.rootData,At.default.data),t.dynamicRef&&e.var(At.default.dynamicAnchors,(0,ot._)`{}`)})}function xIt(e){let{schema:t,opts:r,gen:n}=e;L6e(e,()=>{r.$comment&&t.$comment&&z6e(e),EIt(e),n.let(At.default.vErrors,null),n.let(At.default.errors,0),r.unevaluated&&yIt(e),G6e(e),TIt(e)})}function yIt(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,ot._)`${r}.evaluated`),t.if((0,ot._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,ot._)`${e.evaluated}.props`,(0,ot._)`undefined`)),t.if((0,ot._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,ot._)`${e.evaluated}.items`,(0,ot._)`undefined`))}function I6e(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,ot._)`/*# sourceURL=${r} */`:ot.nil}function bIt(e,t){if(N6e(e)&&(U6e(e),q6e(e))){_It(e,t);return}(0,R6e.boolOrEmptySchema)(e,t)}function q6e({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function N6e(e){return typeof e.schema!="boolean"}function _It(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&z6e(e),AIt(e),SIt(e);let a=n.const("_errs",At.default.errors);G6e(e,a),n.var(t,(0,ot._)`${a} === ${At.default.errors}`)}function U6e(e){(0,Ml.checkUnknownRules)(e),wIt(e)}function G6e(e,t){if(e.opts.jtd)return j6e(e,[],!1,t);let r=(0,P6e.getSchemaTypes)(e.schema),n=(0,P6e.coerceAndCheckDataType)(e,r);j6e(e,r,!n,t)}function wIt(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Ml.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function EIt(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ml.checkStrictMode)(e,"default is ignored in the schema root")}function AIt(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,hIt.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function SIt(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function z6e({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)e.code((0,ot._)`${At.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,ot.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,ot._)`${At.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function TIt(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=e;r.$async?t.if((0,ot._)`${At.default.errors} === 0`,()=>t.return(At.default.data),()=>t.throw((0,ot._)`new ${i}(${At.default.vErrors})`)):(t.assign((0,ot._)`${n}.errors`,At.default.vErrors),a.unevaluated&&CIt(e),t.return((0,ot._)`${At.default.errors} === 0`))}function CIt({gen:e,evaluated:t,props:r,items:n}){r instanceof ot.Name&&e.assign((0,ot._)`${t}.props`,r),n instanceof ot.Name&&e.assign((0,ot._)`${t}.items`,n)}function j6e(e,t,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:u,self:c}=e,{RULES:l}=c;if(a.$ref&&(u.ignoreKeywordsWithRef||!(0,Ml.schemaHasRulesButRef)(a,l))){i.block(()=>$6e(e,"$ref",l.all.$ref.definition));return}u.jtd||DIt(e,t),i.block(()=>{for(let p of l.rules)f(p);f(l.post)});function f(p){(0,vG.shouldUseGroup)(a,p)&&(p.type?(i.if((0,G4.checkDataType)(p.type,o,u.strictNumbers)),M6e(e,p),t.length===1&&t[0]===p.type&&r&&(i.else(),(0,G4.reportTypeError)(e)),i.endIf()):M6e(e,p),s||i.if((0,ot._)`${At.default.errors} === ${n||0}`))}}function M6e(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,dIt.assignDefaults)(e,t.type),r.block(()=>{for(let a of t.rules)(0,vG.shouldUseRule)(n,a)&&$6e(e,a.keyword,a.definition,t.type)})}function DIt(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(kIt(e,t),e.opts.allowUnionTypes||FIt(e,t),BIt(e,e.dataTypes))}function kIt(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{H6e(e.dataTypes,r)||xG(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),PIt(e,t)}}function FIt(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&xG(e,"use allowUnionTypes to allow union type keyword")}function BIt(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,vG.shouldUseRule)(e.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>OIt(t,o))&&xG(e,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function OIt(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function H6e(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function PIt(e,t){let r=[];for(let n of e.dataTypes)H6e(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function xG(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Ml.checkStrictMode)(e,t,e.opts.strictTypes)}var z4=class{constructor(t,r,n){if((0,$2.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ml.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",V6e(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,$2.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",At.default.errors))}result(t,r,n){this.failResult((0,ot.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,ot.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,ot._)`${r} !== undefined && (${(0,ot.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?H2.reportExtraError:H2.reportError)(this,this.def.error,r)}$dataError(){(0,H2.reportError)(this,this.def.$dataError||H2.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,H2.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=ot.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=ot.nil,r=ot.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,ot.or)((0,ot._)`${i} === undefined`,r)),t!==ot.nil&&n.assign(t,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==ot.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,ot.or)(o(),s());function o(){if(n.length){if(!(r instanceof ot.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return(0,ot._)`${(0,G4.checkDataTypes)(u,r,a.opts.strictNumbers,G4.DataType.Wrong)}`}return ot.nil}function s(){if(i.validateSchema){let u=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,ot._)`!${u}(${r})`}return ot.nil}}subschema(t,r){let n=(0,gG.getSubschema)(this.it,t);(0,gG.extendSubschemaData)(n,this.it,t),(0,gG.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return bIt(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Ml.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Ml.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,ot.Name)),!0}};Op.KeywordCxt=z4;function $6e(e,t,r,n){let i=new z4(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,$2.funcKeywordCode)(i,r):"macro"in r?(0,$2.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,$2.funcKeywordCode)(i,r)}var IIt=/^\/(?:[^~]|~0|~1)*$/,jIt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function V6e(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,a;if(e==="")return At.default.rootData;if(e[0]==="/"){if(!IIt.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,a=At.default.rootData}else{let c=jIt.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+c[1];if(i=c[2],i==="#"){if(l>=t)throw new Error(u("property/index",l));return n[t-l]}if(l>t)throw new Error(u("data",l));if(a=r[t-l],!i)return a}let o=a,s=i.split("/");for(let c of s)c&&(a=(0,ot._)`${a}${(0,ot.getProperty)((0,Ml.unescapeJsonPointer)(c))}`,o=(0,ot._)`${o} && ${a}`);return o;function u(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}Op.getData=V6e});var H4=v(bG=>{"use strict";Object.defineProperty(bG,"__esModule",{value:!0});var yG=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};bG.default=yG});var $4=v(EG=>{"use strict";Object.defineProperty(EG,"__esModule",{value:!0});var _G=z2(),wG=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,_G.resolveUrl)(t,r,n),this.missingSchema=(0,_G.normalizeId)((0,_G.getFullPath)(t,this.missingRef))}};EG.default=wG});var W4=v(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.resolveSchema=es.getCompilingSchema=es.resolveRef=es.compileSchema=es.SchemaEnv=void 0;var Js=Ut(),MIt=H4(),Rh=jl(),Ys=z2(),W6e=cr(),RIt=V2(),Z1=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Ys.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};es.SchemaEnv=Z1;function SG(e){let t=K6e.call(this,e);if(t)return t;let r=(0,Ys.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new Js.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;e.$async&&(s=o.scopeValue("Error",{ref:MIt.default,code:(0,Js._)`require("ajv/dist/runtime/validation_error").default`}));let u=o.scopeName("validate");e.validateName=u;let c={gen:o,allErrors:this.opts.allErrors,data:Rh.default.data,parentData:Rh.default.parentData,parentDataProperty:Rh.default.parentDataProperty,dataNames:[Rh.default.data],dataPathArr:[Js.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Js.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Js.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Js._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,RIt.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);let f=o.toString();l=`${o.scopeRefs(Rh.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let d=new Function(`${Rh.default.self}`,`${Rh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(u,{ref:d}),d.errors=null,d.schema=e.schema,d.schemaEnv=e,e.$async&&(d.$async=!0),this.opts.code.source===!0&&(d.source={validateName:u,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){let{props:h,items:g}=c;d.evaluated={props:h instanceof Js.Name?void 0:h,items:g instanceof Js.Name?void 0:g,dynamicProps:h instanceof Js.Name,dynamicItems:g instanceof Js.Name},d.source&&(d.source.evaluated=(0,Js.stringify)(d.evaluated))}return e.validate=d,e}catch(f){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),f}finally{this._compilations.delete(e)}}es.compileSchema=SG;function LIt(e,t,r){var n;r=(0,Ys.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let a=UIt.call(this,e,r);if(a===void 0){let o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new Z1({schema:o,schemaId:s,root:e,baseId:t}))}if(a!==void 0)return e.refs[r]=qIt.call(this,a)}es.resolveRef=LIt;function qIt(e){return(0,Ys.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:SG.call(this,e)}function K6e(e){for(let t of this._compilations)if(NIt(t,e))return t}es.getCompilingSchema=K6e;function NIt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function UIt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||V4.call(this,e,t)}function V4(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Ys._getFullPath)(this.opts.uriResolver,r),i=(0,Ys.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return AG.call(this,r,e);let a=(0,Ys.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=V4.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:AG.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||SG.call(this,o),a===(0,Ys.normalizeId)(t)){let{schema:s}=o,{schemaId:u}=this.opts,c=s[u];return c&&(i=(0,Ys.resolveUrl)(this.opts.uriResolver,i,c)),new Z1({schema:s,schemaId:u,root:e,baseId:i})}return AG.call(this,r,o)}}es.resolveSchema=V4;var GIt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function AG(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0,W6e.unescapeFragment)(s)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!GIt.has(s)&&c&&(t=(0,Ys.resolveUrl)(this.opts.uriResolver,t,c))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,W6e.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Ys.resolveUrl)(this.opts.uriResolver,t,r.$ref);a=V4.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new Z1({schema:r,schemaId:o,root:n,baseId:t}),a.schema!==a.root.schema)return a}});var J6e=v((h2r,zIt)=>{zIt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var X6e=v(TG=>{"use strict";Object.defineProperty(TG,"__esModule",{value:!0});var Y6e=Y5();Y6e.code='require("ajv/dist/runtime/uri").default';TG.default=Y6e});var aTe=v(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.CodeGen=qi.Name=qi.nil=qi.stringify=qi.str=qi._=qi.KeywordCxt=void 0;var HIt=V2();Object.defineProperty(qi,"KeywordCxt",{enumerable:!0,get:function(){return HIt.KeywordCxt}});var ev=Ut();Object.defineProperty(qi,"_",{enumerable:!0,get:function(){return ev._}});Object.defineProperty(qi,"str",{enumerable:!0,get:function(){return ev.str}});Object.defineProperty(qi,"stringify",{enumerable:!0,get:function(){return ev.stringify}});Object.defineProperty(qi,"nil",{enumerable:!0,get:function(){return ev.nil}});Object.defineProperty(qi,"Name",{enumerable:!0,get:function(){return ev.Name}});Object.defineProperty(qi,"CodeGen",{enumerable:!0,get:function(){return ev.CodeGen}});var $It=H4(),rTe=$4(),VIt=sG(),W2=W4(),WIt=Ut(),K2=z2(),K4=G2(),DG=cr(),Q6e=J6e(),KIt=X6e(),nTe=(e,t)=>new RegExp(e,t);nTe.code="new RegExp";var JIt=["removeAdditional","useDefaults","coerceTypes"],YIt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),XIt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},QIt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Z6e=200;function ZIt(e){var t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j,C;let D=e.strict,O=(t=e.code)===null||t===void 0?void 0:t.optimize,M=O===!0||O===void 0?1:O||0,G=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:nTe,z=(i=e.uriResolver)!==null&&i!==void 0?i:KIt.default;return{strictSchema:(o=(a=e.strictSchema)!==null&&a!==void 0?a:D)!==null&&o!==void 0?o:!0,strictNumbers:(u=(s=e.strictNumbers)!==null&&s!==void 0?s:D)!==null&&u!==void 0?u:!0,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:D)!==null&&l!==void 0?l:"log",strictTuples:(p=(f=e.strictTuples)!==null&&f!==void 0?f:D)!==null&&p!==void 0?p:"log",strictRequired:(h=(d=e.strictRequired)!==null&&d!==void 0?d:D)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:M,regExp:G}:{optimize:M,regExp:G},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Z6e,loopEnum:(m=e.loopEnum)!==null&&m!==void 0?m:Z6e,meta:(x=e.meta)!==null&&x!==void 0?x:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:(_=e.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(A=e.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(w=e.addUsedSchema)!==null&&w!==void 0?w:!0,validateSchema:(T=e.validateSchema)!==null&&T!==void 0?T:!0,validateFormats:(k=e.validateFormats)!==null&&k!==void 0?k:!0,unicodeRegExp:(j=e.unicodeRegExp)!==null&&j!==void 0?j:!0,int32range:(C=e.int32range)!==null&&C!==void 0?C:!0,uriResolver:z}}var J2=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...ZIt(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new WIt.ValueScope({scope:{},prefixes:YIt,es5:r,lines:n}),this.logger=a9t(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,VIt.getRules)(),eTe.call(this,XIt,t,"NOT SUPPORTED"),eTe.call(this,QIt,t,"DEPRECATED","warn"),this._metaOpts=n9t.call(this),t.formats&&t9t.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&r9t.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),e9t.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=Q6e;n==="id"&&(i={...Q6e},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(l,f){await a.call(this,l.$schema);let p=this._addSchema(l,f);return p.validate||o.call(this,p)}async function a(l){l&&!this.getSchema(l)&&await i.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(f){if(!(f instanceof rTe.default))throw f;return s.call(this,f),await u.call(this,f.missingSchema),o.call(this,l)}}function s({missingSchema:l,missingRef:f}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${f} cannot be resolved`)}async function u(l){let f=await c.call(this,l);this.refs[l]||await a.call(this,f.$schema),this.refs[l]||this.addSchema(f,l,r)}async function c(l){let f=this._loading[l];if(f)return f;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let o of t)this.addSchema(o,void 0,n,i);return this}let a;if(typeof t=="object"){let{schemaId:o}=this.opts;if(a=t[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,K2.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(t){let r;for(;typeof(r=tTe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new W2.SchemaEnv({schema:{},schemaId:n});if(r=W2.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=tTe.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,K2.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(s9t.call(this,n,r),!r)return(0,DG.eachItem)(n,a=>CG.call(this,a)),this;c9t.call(this,r);let i={...r,type:(0,K4.getJSONTypes)(r.type),schemaType:(0,K4.getJSONTypes)(r.schemaType)};return(0,DG.eachItem)(n,i.type.length===0?a=>CG.call(this,a,i):a=>i.type.forEach(o=>CG.call(this,a,i,o))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let a=i.split("/").slice(1),o=t;for(let s of a)o=o[s];for(let s in n){let u=n[s];if(typeof u!="object")continue;let{$data:c}=u.definition,l=o[s];c&&l&&(o[s]=iTe(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof t=="object")o=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(t);if(u!==void 0)return u;n=(0,K2.normalizeId)(o||n);let c=K2.getSchemaRefs.call(this,t,n);return u=new W2.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),i&&this.validateSchema(t,!0),u}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):W2.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{W2.compileSchema.call(this,t)}finally{this.opts=r}}};qi.default=J2;J2.ValidationError=$It.default;J2.MissingRefError=rTe.default;function eTe(e,t,r,n="error"){for(let i in e){let a=i;a in t&&this.logger[n](`${r}: option ${i}. ${e[a]}`)}}function tTe(e){return e=(0,K2.normalizeId)(e),this.schemas[e]||this.refs[e]}function e9t(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function t9t(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function r9t(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function n9t(){let e={...this.opts};for(let t of JIt)delete e[t];return e}var i9t={log(){},warn(){},error(){}};function a9t(e){if(e===!1)return i9t;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var o9t=/^[a-z_$][a-z0-9_$:-]*$/i;function s9t(e,t){let{RULES:r}=this;if((0,DG.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!o9t.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function CG(e,t,r){var n;let i=t==null?void 0:t.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:u})=>u===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,K4.getJSONTypes)(t.type),schemaType:(0,K4.getJSONTypes)(t.schemaType)}};t.before?u9t.call(this,o,s,t.before):o.rules.push(s),a.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u))}function u9t(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function c9t(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=iTe(t)),e.validateSchema=this.compile(t,!0))}var l9t={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function iTe(e){return{anyOf:[e,l9t]}}});var oTe=v(kG=>{"use strict";Object.defineProperty(kG,"__esModule",{value:!0});var f9t={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};kG.default=f9t});var lTe=v(Lh=>{"use strict";Object.defineProperty(Lh,"__esModule",{value:!0});Lh.callRef=Lh.getValidate=void 0;var p9t=$4(),sTe=Zo(),Ua=Ut(),tv=jl(),uTe=W4(),J4=cr(),d9t={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:u}=n,{root:c}=a;if((r==="#"||r==="#/")&&i===c.baseId)return f();let l=uTe.resolveRef.call(u,c,i,r);if(l===void 0)throw new p9t.default(n.opts.uriResolver,i,r);if(l instanceof uTe.SchemaEnv)return p(l);return d(l);function f(){if(a===c)return Y4(e,o,a,a.$async);let h=t.scopeValue("root",{ref:c});return Y4(e,(0,Ua._)`${h}.validate`,c,c.$async)}function p(h){let g=cTe(e,h);Y4(e,g,h,h.$async)}function d(h){let g=t.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Ua.stringify)(h)}:{ref:h}),m=t.name("valid"),x=e.subschema({schema:h,dataTypes:[],schemaPath:Ua.nil,topSchemaRef:g,errSchemaPath:r},m);e.mergeEvaluated(x),e.ok(m)}}};function cTe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ua._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Lh.getValidate=cTe;function Y4(e,t,r,n){let{gen:i,it:a}=e,{allErrors:o,schemaEnv:s,opts:u}=a,c=u.passContext?tv.default.this:Ua.nil;n?l():f();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=i.let("valid");i.try(()=>{i.code((0,Ua._)`await ${(0,sTe.callValidateCode)(e,t,c)}`),d(t),o||i.assign(h,!0)},g=>{i.if((0,Ua._)`!(${g} instanceof ${a.ValidationError})`,()=>i.throw(g)),p(g),o||i.assign(h,!1)}),e.ok(h)}function f(){e.result((0,sTe.callValidateCode)(e,t,c),()=>d(t),()=>p(t))}function p(h){let g=(0,Ua._)`${h}.errors`;i.assign(tv.default.vErrors,(0,Ua._)`${tv.default.vErrors} === null ? ${g} : ${tv.default.vErrors}.concat(${g})`),i.assign(tv.default.errors,(0,Ua._)`${tv.default.vErrors}.length`)}function d(h){var g;if(!a.opts.unevaluated)return;let m=(g=r==null?void 0:r.validate)===null||g===void 0?void 0:g.evaluated;if(a.props!==!0)if(m&&!m.dynamicProps)m.props!==void 0&&(a.props=J4.mergeEvaluated.props(i,m.props,a.props));else{let x=i.var("props",(0,Ua._)`${h}.evaluated.props`);a.props=J4.mergeEvaluated.props(i,x,a.props,Ua.Name)}if(a.items!==!0)if(m&&!m.dynamicItems)m.items!==void 0&&(a.items=J4.mergeEvaluated.items(i,m.items,a.items));else{let x=i.var("items",(0,Ua._)`${h}.evaluated.items`);a.items=J4.mergeEvaluated.items(i,x,a.items,Ua.Name)}}}Lh.callRef=Y4;Lh.default=d9t});var fTe=v(FG=>{"use strict";Object.defineProperty(FG,"__esModule",{value:!0});var h9t=oTe(),m9t=lTe(),g9t=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",h9t.default,m9t.default];FG.default=g9t});var pTe=v(BG=>{"use strict";Object.defineProperty(BG,"__esModule",{value:!0});var X4=Ut(),Pp=X4.operators,Q4={maximum:{okStr:"<=",ok:Pp.LTE,fail:Pp.GT},minimum:{okStr:">=",ok:Pp.GTE,fail:Pp.LT},exclusiveMaximum:{okStr:"<",ok:Pp.LT,fail:Pp.GTE},exclusiveMinimum:{okStr:">",ok:Pp.GT,fail:Pp.LTE}},v9t={message:({keyword:e,schemaCode:t})=>(0,X4.str)`must be ${Q4[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,X4._)`{comparison: ${Q4[e].okStr}, limit: ${t}}`},x9t={keyword:Object.keys(Q4),type:"number",schemaType:"number",$data:!0,error:v9t,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,X4._)`${r} ${Q4[t].fail} ${n} || isNaN(${r})`)}};BG.default=x9t});var dTe=v(OG=>{"use strict";Object.defineProperty(OG,"__esModule",{value:!0});var Y2=Ut(),y9t={message:({schemaCode:e})=>(0,Y2.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Y2._)`{multipleOf: ${e}}`},b9t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:y9t,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,a=i.opts.multipleOfPrecision,o=t.let("res"),s=a?(0,Y2._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,Y2._)`${o} !== parseInt(${o})`;e.fail$data((0,Y2._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};OG.default=b9t});var mTe=v(PG=>{"use strict";Object.defineProperty(PG,"__esModule",{value:!0});function hTe(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}PG.default=hTe;hTe.code='require("ajv/dist/runtime/ucs2length").default'});var gTe=v(IG=>{"use strict";Object.defineProperty(IG,"__esModule",{value:!0});var qh=Ut(),_9t=cr(),w9t=mTe(),E9t={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,qh.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,qh._)`{limit: ${e}}`},A9t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:E9t,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,a=t==="maxLength"?qh.operators.GT:qh.operators.LT,o=i.opts.unicode===!1?(0,qh._)`${r}.length`:(0,qh._)`${(0,_9t.useFunc)(e.gen,w9t.default)}(${r})`;e.fail$data((0,qh._)`${o} ${a} ${n}`)}};IG.default=A9t});var vTe=v(jG=>{"use strict";Object.defineProperty(jG,"__esModule",{value:!0});var S9t=Zo(),Z4=Ut(),T9t={message:({schemaCode:e})=>(0,Z4.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Z4._)`{pattern: ${e}}`},C9t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:T9t,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"",s=r?(0,Z4._)`(new RegExp(${i}, ${o}))`:(0,S9t.usePattern)(e,n);e.fail$data((0,Z4._)`!${s}.test(${t})`)}};jG.default=C9t});var xTe=v(MG=>{"use strict";Object.defineProperty(MG,"__esModule",{value:!0});var X2=Ut(),D9t={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,X2.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,X2._)`{limit: ${e}}`},k9t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:D9t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?X2.operators.GT:X2.operators.LT;e.fail$data((0,X2._)`Object.keys(${r}).length ${i} ${n}`)}};MG.default=k9t});var yTe=v(RG=>{"use strict";Object.defineProperty(RG,"__esModule",{value:!0});var Q2=Zo(),Z2=Ut(),F9t=cr(),B9t={message:({params:{missingProperty:e}})=>(0,Z2.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Z2._)`{missingProperty: ${e}}`},O9t={keyword:"required",type:"object",schemaType:"array",$data:!0,error:B9t,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:a,it:o}=e,{opts:s}=o;if(!a&&r.length===0)return;let u=r.length>=s.loopRequired;if(o.allErrors?c():l(),s.strictRequired){let d=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if((d==null?void 0:d[g])===void 0&&!h.has(g)){let m=o.schemaEnv.baseId+o.errSchemaPath,x=`required property "${g}" is not defined at "${m}" (strictRequired)`;(0,F9t.checkStrictMode)(o,x,o.opts.strictRequired)}}function c(){if(u||a)e.block$data(Z2.nil,f);else for(let d of r)(0,Q2.checkReportMissingProp)(e,d)}function l(){let d=t.let("missing");if(u||a){let h=t.let("valid",!0);e.block$data(h,()=>p(d,h)),e.ok(h)}else t.if((0,Q2.checkMissingProp)(e,r,d)),(0,Q2.reportMissingProp)(e,d),t.else()}function f(){t.forOf("prop",n,d=>{e.setParams({missingProperty:d}),t.if((0,Q2.noPropertyInData)(t,i,d,s.ownProperties),()=>e.error())})}function p(d,h){e.setParams({missingProperty:d}),t.forOf(d,n,()=>{t.assign(h,(0,Q2.propertyInData)(t,i,d,s.ownProperties)),t.if((0,Z2.not)(h),()=>{e.error(),t.break()})},Z2.nil)}}};RG.default=O9t});var bTe=v(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var e_=Ut(),P9t={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,e_.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,e_._)`{limit: ${e}}`},I9t={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:P9t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?e_.operators.GT:e_.operators.LT;e.fail$data((0,e_._)`${r}.length ${i} ${n}`)}};LG.default=I9t});var eD=v(qG=>{"use strict";Object.defineProperty(qG,"__esModule",{value:!0});var _Te=F0();_Te.code='require("ajv/dist/runtime/equal").default';qG.default=_Te});var wTe=v(UG=>{"use strict";Object.defineProperty(UG,"__esModule",{value:!0});var NG=G2(),Ni=Ut(),j9t=cr(),M9t=eD(),R9t={message:({params:{i:e,j:t}})=>(0,Ni.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Ni._)`{i: ${e}, j: ${t}}`},L9t={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:R9t,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=e;if(!n&&!i)return;let u=t.let("valid"),c=a.items?(0,NG.getSchemaTypes)(a.items):[];e.block$data(u,l,(0,Ni._)`${o} === false`),e.ok(u);function l(){let h=t.let("i",(0,Ni._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(u,!0),t.if((0,Ni._)`${h} > 1`,()=>(f()?p:d)(h,g))}function f(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function p(h,g){let m=t.name("item"),x=(0,NG.checkDataTypes)(c,m,s.opts.strictNumbers,NG.DataType.Wrong),b=t.const("indices",(0,Ni._)`{}`);t.for((0,Ni._)`;${h}--;`,()=>{t.let(m,(0,Ni._)`${r}[${h}]`),t.if(x,(0,Ni._)`continue`),c.length>1&&t.if((0,Ni._)`typeof ${m} == "string"`,(0,Ni._)`${m} += "_"`),t.if((0,Ni._)`typeof ${b}[${m}] == "number"`,()=>{t.assign(g,(0,Ni._)`${b}[${m}]`),e.error(),t.assign(u,!1).break()}).code((0,Ni._)`${b}[${m}] = ${h}`)})}function d(h,g){let m=(0,j9t.useFunc)(t,M9t.default),x=t.name("outer");t.label(x).for((0,Ni._)`;${h}--;`,()=>t.for((0,Ni._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Ni._)`${m}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(u,!1).break(x)})))}}};UG.default=L9t});var ETe=v(zG=>{"use strict";Object.defineProperty(zG,"__esModule",{value:!0});var GG=Ut(),q9t=cr(),N9t=eD(),U9t={message:"must be equal to constant",params:({schemaCode:e})=>(0,GG._)`{allowedValue: ${e}}`},G9t={keyword:"const",$data:!0,error:U9t,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:a}=e;n||a&&typeof a=="object"?e.fail$data((0,GG._)`!${(0,q9t.useFunc)(t,N9t.default)}(${r}, ${i})`):e.fail((0,GG._)`${a} !== ${r}`)}};zG.default=G9t});var ATe=v(HG=>{"use strict";Object.defineProperty(HG,"__esModule",{value:!0});var t_=Ut(),z9t=cr(),H9t=eD(),$9t={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,t_._)`{allowedValues: ${e}}`},V9t={keyword:"enum",schemaType:"array",$data:!0,error:$9t,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:a,it:o}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,u,c=()=>u??(u=(0,z9t.useFunc)(t,H9t.default)),l;if(s||n)l=t.let("valid"),e.block$data(l,f);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let d=t.const("vSchema",a);l=(0,t_.or)(...i.map((h,g)=>p(d,g)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",a,d=>t.if((0,t_._)`${c()}(${r}, ${d})`,()=>t.assign(l,!0).break()))}function p(d,h){let g=i[h];return typeof g=="object"&&g!==null?(0,t_._)`${c()}(${r}, ${d}[${h}])`:(0,t_._)`${r} === ${g}`}}};HG.default=V9t});var STe=v($G=>{"use strict";Object.defineProperty($G,"__esModule",{value:!0});var W9t=pTe(),K9t=dTe(),J9t=gTe(),Y9t=vTe(),X9t=xTe(),Q9t=yTe(),Z9t=bTe(),ejt=wTe(),tjt=ETe(),rjt=ATe(),njt=[W9t.default,K9t.default,J9t.default,Y9t.default,X9t.default,Q9t.default,Z9t.default,ejt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},tjt.default,rjt.default];$G.default=njt});var WG=v(r_=>{"use strict";Object.defineProperty(r_,"__esModule",{value:!0});r_.validateAdditionalItems=void 0;var Nh=Ut(),VG=cr(),ijt={message:({params:{len:e}})=>(0,Nh.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Nh._)`{limit: ${e}}`},ajt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ijt,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,VG.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}TTe(e,n)}};function TTe(e,t){let{gen:r,schema:n,data:i,keyword:a,it:o}=e;o.items=!0;let s=r.const("len",(0,Nh._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Nh._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,VG.alwaysValidSchema)(o,n)){let c=r.var("valid",(0,Nh._)`${s} <= ${t.length}`);r.if((0,Nh.not)(c),()=>u(c)),e.ok(c)}function u(c){r.forRange("i",t.length,s,l=>{e.subschema({keyword:a,dataProp:l,dataPropType:VG.Type.Num},c),o.allErrors||r.if((0,Nh.not)(c),()=>r.break())})}}r_.validateAdditionalItems=TTe;r_.default=ajt});var KG=v(n_=>{"use strict";Object.defineProperty(n_,"__esModule",{value:!0});n_.validateTuple=void 0;var CTe=Ut(),tD=cr(),ojt=Zo(),sjt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return DTe(e,"additionalItems",t);r.items=!0,!(0,tD.alwaysValidSchema)(r,t)&&e.ok((0,ojt.validateArray)(e))}};function DTe(e,t,r=e.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=e;l(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=tD.mergeEvaluated.items(n,r.length,s.items));let u=n.name("valid"),c=n.const("len",(0,CTe._)`${a}.length`);r.forEach((f,p)=>{(0,tD.alwaysValidSchema)(s,f)||(n.if((0,CTe._)`${c} > ${p}`,()=>e.subschema({keyword:o,schemaProp:p,dataProp:p},u)),e.ok(u))});function l(f){let{opts:p,errSchemaPath:d}=s,h=r.length,g=h===f.minItems&&(h===f.maxItems||f[t]===!1);if(p.strictTuples&&!g){let m=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${d}"`;(0,tD.checkStrictMode)(s,m,p.strictTuples)}}}n_.validateTuple=DTe;n_.default=sjt});var kTe=v(JG=>{"use strict";Object.defineProperty(JG,"__esModule",{value:!0});var ujt=KG(),cjt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,ujt.validateTuple)(e,"items")};JG.default=cjt});var BTe=v(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});var FTe=Ut(),ljt=cr(),fjt=Zo(),pjt=WG(),djt={message:({params:{len:e}})=>(0,FTe.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,FTe._)`{limit: ${e}}`},hjt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:djt,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,ljt.alwaysValidSchema)(n,t)&&(i?(0,pjt.validateAdditionalItems)(e,i):e.ok((0,fjt.validateArray)(e)))}};YG.default=hjt});var OTe=v(XG=>{"use strict";Object.defineProperty(XG,"__esModule",{value:!0});var ts=Ut(),rD=cr(),mjt={message:({params:{min:e,max:t}})=>t===void 0?(0,ts.str)`must contain at least ${e} valid item(s)`:(0,ts.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ts._)`{minContains: ${e}}`:(0,ts._)`{minContains: ${e}, maxContains: ${t}}`},gjt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:mjt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e,o,s,{minContains:u,maxContains:c}=n;a.opts.next?(o=u===void 0?1:u,s=c):o=1;let l=t.const("len",(0,ts._)`${i}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,rD.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,rD.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,rD.alwaysValidSchema)(a,r)){let g=(0,ts._)`${l} >= ${o}`;s!==void 0&&(g=(0,ts._)`${g} && ${l} <= ${s}`),e.pass(g);return}a.items=!0;let f=t.name("valid");s===void 0&&o===1?d(f,()=>t.if(f,()=>t.break())):o===0?(t.let(f,!0),s!==void 0&&t.if((0,ts._)`${i}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){let g=t.name("_valid"),m=t.let("count",0);d(g,()=>t.if(g,()=>h(m)))}function d(g,m){t.forRange("i",0,l,x=>{e.subschema({keyword:"contains",dataProp:x,dataPropType:rD.Type.Num,compositeRule:!0},g),m()})}function h(g){t.code((0,ts._)`${g}++`),s===void 0?t.if((0,ts._)`${g} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,ts._)`${g} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,ts._)`${g} >= ${o}`,()=>t.assign(f,!0)))}}};XG.default=gjt});var jTe=v(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.validateSchemaDeps=hc.validatePropertyDeps=hc.error=void 0;var QG=Ut(),vjt=cr(),i_=Zo();hc.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,QG.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,QG._)`{property: ${e},
153
153
  missingProperty: ${n},
154
154
  depsCount: ${t},
155
- deps: ${r}}`};var xjt={keyword:"dependencies",type:"object",schemaType:"object",error:hc.error,code(e){let[t,r]=yjt(e);PTe(e,t),ITe(e,r)}};function yjt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function PTe(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,i_.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,i_.checkReportMissingProp)(e,c)}):(r.if((0,QG._)`${u} && (${(0,i_.checkMissingProp)(e,s,a)})`),(0,i_.reportMissingProp)(e,a),r.else())}}hc.validatePropertyDeps=PTe;function ITe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,vjt.alwaysValidSchema)(a,t[s])||(r.if((0,i_.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}hc.validateSchemaDeps=ITe;hc.default=xjt});var RTe=v(ZG=>{"use strict";Object.defineProperty(ZG,"__esModule",{value:!0});var MTe=Ut(),bjt=cr(),_jt={message:"property name must be valid",params:({params:e})=>(0,MTe._)`{propertyName: ${e.propertyName}}`},wjt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:_jt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,bjt.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,MTe.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};ZG.default=wjt});var tz=v(ez=>{"use strict";Object.defineProperty(ez,"__esModule",{value:!0});var nD=Zo(),Xs=Ut(),Ejt=jl(),iD=cr(),Ajt={message:"must NOT have additional properties",params:({params:e})=>(0,Xs._)`{additionalProperty: ${e.additionalProperty}}`},Sjt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ajt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,iD.alwaysValidSchema)(o,r))return;let c=(0,nD.allSchemaProperties)(n.properties),l=(0,nD.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Xs._)`${a} === ${Ejt.default.errors}`);function f(){t.forIn("key",i,m=>{!c.length&&!l.length?h(m):t.if(p(m),()=>h(m))})}function p(m){let x;if(c.length>8){let b=(0,iD.schemaRefOrVal)(o,n.properties,"properties");x=(0,nD.isOwnProperty)(t,b,m)}else c.length?x=(0,Xs.or)(...c.map(b=>(0,Xs._)`${m} === ${b}`)):x=Xs.nil;return l.length&&(x=(0,Xs.or)(x,...l.map(b=>(0,Xs._)`${(0,nD.usePattern)(e,b)}.test(${m})`))),(0,Xs.not)(x)}function d(m){t.code((0,Xs._)`delete ${i}[${m}]`)}function h(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(m);return}if(r===!1){e.setParams({additionalProperty:m}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,iD.alwaysValidSchema)(o,r)){let x=t.name("valid");u.removeAdditional==="failing"?(g(m,x,!1),t.if((0,Xs.not)(x),()=>{e.reset(),d(m)})):(g(m,x),s||t.if((0,Xs.not)(x),()=>t.break()))}}function g(m,x,b){let _={keyword:"additionalProperties",dataProp:m,dataPropType:iD.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(_,x)}}};ez.default=Sjt});var NTe=v(nz=>{"use strict";Object.defineProperty(nz,"__esModule",{value:!0});var Tjt=V2(),LTe=Zo(),rz=cr(),qTe=tz(),Cjt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&qTe.default.code(new Tjt.KeywordCxt(a,qTe.default,"additionalProperties"));let o=(0,LTe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=rz.mergeEvaluated.props(t,(0,rz.toHash)(o),a.props));let s=o.filter(f=>!(0,rz.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,LTe.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};nz.default=Cjt});var HTe=v(iz=>{"use strict";Object.defineProperty(iz,"__esModule",{value:!0});var UTe=Zo(),aD=Ut(),GTe=cr(),zTe=cr(),Djt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,UTe.allSchemaProperties)(r),u=s.filter(g=>(0,GTe.alwaysValidSchema)(a,r[g]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof aD.Name)&&(a.props=(0,zTe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let g of s)c&&d(g),a.allErrors?h(g):(t.var(l,!0),h(g),t.if(l))}function d(g){for(let m in c)new RegExp(g).test(m)&&(0,GTe.checkStrictMode)(a,`property ${m} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,m=>{t.if((0,aD._)`${(0,UTe.usePattern)(e,g)}.test(${m})`,()=>{let x=u.includes(g);x||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:m,dataPropType:zTe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,aD._)`${f}[${m}]`,!0):!x&&!a.allErrors&&t.if((0,aD.not)(l),()=>t.break())})})}}};iz.default=Djt});var $Te=v(az=>{"use strict";Object.defineProperty(az,"__esModule",{value:!0});var kjt=cr(),Fjt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,kjt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};az.default=Fjt});var VTe=v(oz=>{"use strict";Object.defineProperty(oz,"__esModule",{value:!0});var Bjt=Zo(),Ojt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Bjt.validateUnion,error:{message:"must match a schema in anyOf"}};oz.default=Ojt});var WTe=v(sz=>{"use strict";Object.defineProperty(sz,"__esModule",{value:!0});var oD=Ut(),Pjt=cr(),Ijt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,oD._)`{passingSchemas: ${e.passing}}`},jjt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Ijt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let p;(0,Pjt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,oD._)`${u} && ${o}`).assign(o,!1).assign(s,(0,oD._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,oD.Name)})})}}};sz.default=jjt});var KTe=v(uz=>{"use strict";Object.defineProperty(uz,"__esModule",{value:!0});var Mjt=cr(),Rjt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((a,o)=>{if((0,Mjt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};uz.default=Rjt});var XTe=v(cz=>{"use strict";Object.defineProperty(cz,"__esModule",{value:!0});var sD=Ut(),YTe=cr(),Ljt={message:({params:e})=>(0,sD.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,sD._)`{failingKeyword: ${e.ifClause}}`},qjt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Ljt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,YTe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=JTe(n,"then"),a=JTe(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,sD.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,sD._)`${l}`):e.setParams({ifClause:l})}}}};function JTe(e,t){let r=e.schema[t];return r!==void 0&&!(0,YTe.alwaysValidSchema)(e,r)}cz.default=qjt});var QTe=v(lz=>{"use strict";Object.defineProperty(lz,"__esModule",{value:!0});var Njt=cr(),Ujt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Njt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};lz.default=Ujt});var ZTe=v(fz=>{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});var Gjt=WG(),zjt=kTe(),Hjt=KG(),$jt=BTe(),Vjt=OTe(),Wjt=jTe(),Kjt=RTe(),Jjt=tz(),Yjt=NTe(),Xjt=HTe(),Qjt=$Te(),Zjt=VTe(),eMt=WTe(),tMt=KTe(),rMt=XTe(),nMt=QTe();function iMt(e=!1){let t=[Qjt.default,Zjt.default,eMt.default,tMt.default,rMt.default,nMt.default,Kjt.default,Jjt.default,Wjt.default,Yjt.default,Xjt.default];return e?t.push(zjt.default,$jt.default):t.push(Gjt.default,Hjt.default),t.push(Vjt.default),t}fz.default=iMt});var e8e=v(pz=>{"use strict";Object.defineProperty(pz,"__esModule",{value:!0});var jn=Ut(),aMt={message:({schemaCode:e})=>(0,jn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,jn._)`{format: ${e}}`},oMt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:aMt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?p():d();function p(){let h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),g=r.const("fDef",(0,jn._)`${h}[${o}]`),m=r.let("fType"),x=r.let("format");r.if((0,jn._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(m,(0,jn._)`${g}.type || "string"`).assign(x,(0,jn._)`${g}.validate`),()=>r.assign(m,(0,jn._)`"string"`).assign(x,g)),e.fail$data((0,jn.or)(b(),_()));function b(){return u.strictSchema===!1?jn.nil:(0,jn._)`${o} && !${x}`}function _(){let A=l.$async?(0,jn._)`(${g}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,jn._)`${x}(${n})`,w=(0,jn._)`(typeof ${x} == "function" ? ${A} : ${x}.test(${n}))`;return(0,jn._)`${x} && ${x} !== true && ${m} === ${t} && !${w}`}}function d(){let h=f.formats[a];if(!h){b();return}if(h===!0)return;let[g,m,x]=_(h);g===t&&e.pass(A());function b(){if(u.strictSchema===!1){f.logger.warn(w());return}throw new Error(w());function w(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function _(w){let T=w instanceof RegExp?(0,jn.regexpCode)(w):u.code.formats?(0,jn._)`${u.code.formats}${(0,jn.getProperty)(a)}`:void 0,k=r.scopeValue("formats",{key:a,ref:w,code:T});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0,jn._)`${k}.validate`]:["string",w,k]}function A(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,jn._)`await ${x}(${n})`}return typeof m=="function"?(0,jn._)`${x}(${n})`:(0,jn._)`${x}.test(${n})`}}}};pz.default=oMt});var t8e=v(dz=>{"use strict";Object.defineProperty(dz,"__esModule",{value:!0});var sMt=e8e(),uMt=[sMt.default];dz.default=uMt});var r8e=v(rv=>{"use strict";Object.defineProperty(rv,"__esModule",{value:!0});rv.contentVocabulary=rv.metadataVocabulary=void 0;rv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];rv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var i8e=v(hz=>{"use strict";Object.defineProperty(hz,"__esModule",{value:!0});var cMt=fTe(),lMt=STe(),fMt=ZTe(),pMt=t8e(),n8e=r8e(),dMt=[cMt.default,lMt.default,(0,fMt.default)(),pMt.default,n8e.metadataVocabulary,n8e.contentVocabulary];hz.default=dMt});var a8e=v(a_=>{"use strict";Object.defineProperty(a_,"__esModule",{value:!0});a_.DiscrError=void 0;var hMt;(function(e){e.Tag="tag",e.Mapping="mapping"})(hMt=a_.DiscrError||(a_.DiscrError={}))});var s8e=v(gz=>{"use strict";Object.defineProperty(gz,"__esModule",{value:!0});var nv=Ut(),mz=a8e(),o8e=W4(),mMt=cr(),gMt={message:({params:{discrError:e,tagName:t}})=>e===mz.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,nv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},vMt={keyword:"discriminator",type:"object",schemaType:"object",error:gMt,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",!1),c=t.const("tag",(0,nv._)`${r}${(0,nv.getProperty)(s)}`);t.if((0,nv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:mz.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,nv._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:mz.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(g,nv.Name),h}function p(){var d;let h={},g=x(i),m=!0;for(let A=0;A<o.length;A++){let w=o[A];w!=null&&w.$ref&&!(0,mMt.schemaHasRulesButRef)(w,a.self.RULES)&&(w=o8e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,w==null?void 0:w.$ref),w instanceof o8e.SchemaEnv&&(w=w.schema));let T=(d=w==null?void 0:w.properties)===null||d===void 0?void 0:d[s];if(typeof T!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);m=m&&(g||x(w)),b(T,A)}if(!m)throw new Error(`discriminator: "${s}" must be required`);return h;function x({required:A}){return Array.isArray(A)&&A.includes(s)}function b(A,w){if(A.const)_(A.const,w);else if(A.enum)for(let T of A.enum)_(T,w);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(A,w){if(typeof A!="string"||A in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[A]=w}}}};gz.default=vMt});var u8e=v((r_r,xMt)=>{xMt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var f8e=v((gn,l8e)=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.MissingRefError=gn.ValidationError=gn.CodeGen=gn.Name=gn.nil=gn.stringify=gn.str=gn._=gn.KeywordCxt=void 0;var yMt=aTe(),bMt=i8e(),_Mt=s8e(),c8e=u8e(),wMt=["/properties"],uD="http://json-schema.org/draft-07/schema",cD=class extends yMt.default{_addVocabularies(){super._addVocabularies(),bMt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(_Mt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(c8e,wMt):c8e;this.addMetaSchema(t,uD,!1),this.refs["http://json-schema.org/schema"]=uD}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(uD)?uD:void 0)}};l8e.exports=gn=cD;Object.defineProperty(gn,"__esModule",{value:!0});gn.default=cD;var EMt=V2();Object.defineProperty(gn,"KeywordCxt",{enumerable:!0,get:function(){return EMt.KeywordCxt}});var iv=Ut();Object.defineProperty(gn,"_",{enumerable:!0,get:function(){return iv._}});Object.defineProperty(gn,"str",{enumerable:!0,get:function(){return iv.str}});Object.defineProperty(gn,"stringify",{enumerable:!0,get:function(){return iv.stringify}});Object.defineProperty(gn,"nil",{enumerable:!0,get:function(){return iv.nil}});Object.defineProperty(gn,"Name",{enumerable:!0,get:function(){return iv.Name}});Object.defineProperty(gn,"CodeGen",{enumerable:!0,get:function(){return iv.CodeGen}});var AMt=H4();Object.defineProperty(gn,"ValidationError",{enumerable:!0,get:function(){return AMt.default}});var SMt=$4();Object.defineProperty(gn,"MissingRefError",{enumerable:!0,get:function(){return SMt.default}})});var Tz=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Cz={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=Cz||{};function Dt(e,t,r){return t<=e&&e<=r}function nCe(e,t){return e.indexOf(t)!==-1}var vc=Math.floor;function p_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function iCe(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function aCe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function ho(e){return 0<=e&&e<=127}var po=ho,Jt=-1;function ED(e){this.tokens=[].slice.call(e),this.tokens.reverse()}ED.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Jt},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Ir=-1;function Kt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function as(e){throw TypeError("The code point "+e+" could not be encoded.")}function oCe(){}oCe.prototype={handler:function(e,t){}};function sCe(){}sCe.prototype={handler:function(e,t){}};function _D(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(wD,e)?wD[e]:null}var Dz=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],wD={};Dz.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){wD[r]=t})})});var ba={},_a={};function zh(e,t){return t&&t[e]||null}function Hh(e,t){var r=t.indexOf(e);return r===-1?null:r}function oa(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function uCe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=oa("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function cCe(e){if(e===59335)return 7457;var t=0,r=0,n=oa("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function lCe(e){yD=yD||oa("jis0208").map(function(r,n){return Dt(n,8272,8835)?null:r});var t=yD;return t.indexOf(e)}var yD;function fCe(e){bD=bD||oa("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=bD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):Hh(e,t)}var bD,kz="utf-8";function Mp(e,t){if(!(this instanceof Mp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):kz,t=p_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=_D(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!_a[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(Mp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(Mp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(Mp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));Mp.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=p_(r),this._do_not_flush||(this._decoder=_a[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new ED(n),a=[],o;;){var s=i.read();if(s===Jt||(o=this._decoder.handler(i,s),o===Ir))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Ir)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return nCe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),aCe(c)}return u.call(this,a)};function dv(e,t){if(!(this instanceof dv))throw TypeError("Called as a function. Did you forget 'new'?");t=p_(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):kz;var n=_D(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ba[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=_D("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(dv.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});dv.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=p_(r),this._do_not_flush||(this._encoder=ba[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new ED(iCe(t)),i=[],a;;){var o=n.read();if(o===Jt||(a=this._encoder.handler(n,o),a===Ir))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Ir;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function pCe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Jt&&i!==0)return i=0,Kt(t);if(u===Jt)return Ir;if(i===0){if(Dt(u,0,127))return u;if(Dt(u,194,223))i=1,r=u&31;else if(Dt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Dt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return Kt(t);return null}if(!Dt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),Kt(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function dCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;var i,a;Dt(n,128,2047)?(i=1,a=192):Dt(n,2048,65535)?(i=2,a=224):Dt(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}ba["UTF-8"]=function(e){return new dCe(e)};_a["UTF-8"]=function(e){return new pCe(e)};function hCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(ho(i))return i;var a=e[i-128];return a===null?Kt(r):a}}function mCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(po(i))return i;var a=Hh(i,e);return a===null&&as(i),a+128}}(function(){"encoding-indexes"in globalThis&&Dz.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=oa(r.toLowerCase());_a[r]=function(i){return new hCe(n,i)},ba[r]=function(i){return new mCe(n,i)}})})})();_a.GBK=function(e){return new Fz(e)};ba.GBK=function(e){return new Bz(e,!0)};function Fz(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Jt&&r===0&&n===0&&i===0)return Ir;o===Jt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,Kt(t));var s;if(i!==0){s=null,Dt(o,48,57)&&(s=uCe((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),Kt(t)):s}if(n!==0)return Dt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,Kt(t));if(r!==0){if(Dt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Dt(o,64,126)||Dt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:zh(l,oa("gb18030")),s===null&&ho(o)&&a.prepend(o),s===null?Kt(t):s}return ho(o)?o:o===128?8364:Dt(o,129,254)?(r=o,null):Kt(t)}}function Bz(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(po(i))return i;if(i===58853)return as(i);if(t&&i===8364)return 128;var a=Hh(i,oa("gb18030"));if(a!==null){var o=vc(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return as(i);a=cCe(i);var c=vc(a/10/126/10);a=a-c*10*126*10;var l=vc(a/10/126);a=a-l*10*126;var f=vc(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}ba.gb18030=function(e){return new Bz(e)};_a.gb18030=function(e){return new Fz(e)};function gCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Jt&&r!==0)return r=0,Kt(t);if(i===Jt&&r===0)return Ir;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Dt(i,64,126)||Dt(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:zh(o,oa("big5"));return u===null&&ho(i)&&n.prepend(i),u===null?Kt(t):u}return ho(i)?i:Dt(i,129,254)?(r=i,null):Kt(t)}}function vCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;var i=fCe(n);if(i===null)return as(n);var a=vc(i/157)+129;if(a<161)return as(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ba.Big5=function(e){return new vCe(e)};_a.Big5=function(e){return new gCe(e)};function xCe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Jt&&n!==0)return n=0,Kt(t);if(a===Jt&&n===0)return Ir;if(n===142&&Dt(a,161,223))return n=0,65377-161+a;if(n===143&&Dt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Dt(o,161,254)&&Dt(a,161,254)&&(s=zh((o-161)*94+(a-161),oa(r?"jis0212":"jis0208"))),r=!1,Dt(a,161,254)||i.prepend(a),s===null?Kt(t):s}return ho(a)?a:a===142||a===143||Dt(a,161,254)?(n=a,null):Kt(t)}}function yCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Dt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=Hh(n,oa("jis0208"));if(i===null)return as(n);var a=vc(i/94)+161,o=i%94+161;return[a,o]}}ba["EUC-JP"]=function(e){return new yCe(e)};_a["EUC-JP"]=function(e){return new xCe(e)};function bCe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):Dt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Jt?Ir:(o=!1,Kt(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Dt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Jt?Ir:(o=!1,Kt(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Dt(u,33,95)?(o=!1,65377-33+u):u===Jt?Ir:(o=!1,Kt(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Dt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Jt?Ir:(o=!1,Kt(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,Kt(t);if(Dt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=zh(c,oa("jis0208"));return l===null?Kt(t):l}return u===Jt?(n=r.LeadByte,s.prepend(u),Kt(t)):(n=r.LeadByte,Kt(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,Kt(t));case r.Escape:var f=a;a=0;var p=null;if(f===40&&u===66&&(p=r.ASCII),f===40&&u===74&&(p=r.Roman),f===40&&u===73&&(p=r.Katakana),f===36&&(u===64||u===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?Kt(t):null}return s.prepend([f,u]),o=!1,n=i,Kt(t)}}}function _Ce(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Jt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Jt&&n===r.ASCII)return Ir;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return as(65533);if(n===r.ASCII&&po(a))return a;if(n===r.Roman&&(po(a)&&a!==92&&a!==126||a==165||a==8254)){if(po(a))return a;if(a===165)return 92;if(a===8254)return 126}if(po(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=Hh(a,oa("jis0208"));if(o===null)return as(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=vc(o/94)+33,u=o%94+33;return[s,u]}}ba["ISO-2022-JP"]=function(e){return new _Ce(e)};_a["ISO-2022-JP"]=function(e){return new bCe(e)};function wCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Jt&&r!==0)return r=0,Kt(t);if(i===Jt&&r===0)return Ir;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Dt(i,64,126)||Dt(i,128,252))&&(o=(a-u)*188+i-s),Dt(o,8836,10715))return 57344-8836+o;var c=o===null?null:zh(o,oa("jis0208"));return c===null&&ho(i)&&n.prepend(i),c===null?Kt(t):c}return ho(i)||i===128?i:Dt(i,161,223)?65377-161+i:Dt(i,129,159)||Dt(i,224,252)?(r=i,null):Kt(t)}}function ECe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Dt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=lCe(n);if(i===null)return as(n);var a=vc(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ba.Shift_JIS=function(e){return new ECe(e)};_a.Shift_JIS=function(e){return new wCe(e)};function ACe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Jt&&r!==0)return r=0,Kt(t);if(i===Jt&&r===0)return Ir;if(r!==0){var a=r,o=null;r=0,Dt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:zh(o,oa("euc-kr"));return o===null&&ho(i)&&n.prepend(i),s===null?Kt(t):s}return ho(i)?i:Dt(i,129,254)?(r=i,null):Kt(t)}}function SCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;var i=Hh(n,oa("euc-kr"));if(i===null)return as(n);var a=vc(i/190)+129,o=i%190+65;return[a,o]}}ba["EUC-KR"]=function(e){return new SCe(e)};_a["EUC-KR"]=function(e){return new ACe(e)};function f_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function Oz(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Jt&&(n!==null||i!==null))return Kt(r);if(o===Jt&&n===null&&i===null)return Ir;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,Dt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(f_(s,e)),Kt(r))}return Dt(s,55296,56319)?(i=s,null):Dt(s,56320,57343)?Kt(r):s}}function Pz(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(Dt(i,0,65535))return f_(i,e);var a=f_((i-65536>>10)+55296,e),o=f_((i-65536&1023)+56320,e);return a.concat(o)}}ba["UTF-16BE"]=function(e){return new Pz(!0,e)};_a["UTF-16BE"]=function(e){return new Oz(!0,e)};ba["UTF-16LE"]=function(e){return new Pz(!1,e)};_a["UTF-16LE"]=function(e){return new Oz(!1,e)};function TCe(e){var t=e.fatal;this.handler=function(r,n){return n===Jt?Ir:ho(n)?n:63360+n-128}}function CCe(e){var t=e.fatal;this.handler=function(r,n){return n===Jt?Ir:po(n)?n:Dt(n,63360,63487)?n-63360+128:as(n)}}ba["x-user-defined"]=function(e){return new CCe(e)};_a["x-user-defined"]=function(e){return new TCe(e)};function hv(e){return Buffer.from(e).toString("base64")}function AD(e){return Buffer.from(e,"base64").toString("ascii")}var CV=Ct(SV(),1),DV=Ct(wv(),1);function TV(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function Uke(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,DV.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,CV.default)(n,r,t)}function kV(e,t){let r=Uke(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(TV(a))})})}var sre=Ct(ore(),1),DB=["image/png","image/jpeg","image/gif"];async function kB(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await Z7e(r,t)}function Z7e(e,t){return new Promise(r=>(0,sre.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function Ja(e,t,r,n){return n._parse(e,t,r,n)}function Et(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var xu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},cre=xu.self||xu.window||xu.global||{},lre=xu.window||xu.self||xu.global||{},fre=xu.global||xu.self||xu.window||{},pre=xu.document||{};var Er=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ure=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),eqe=ure&&parseFloat(ure[1])||0;function ff(e){return ff=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ff(e)}function FB(e,t){if(ff(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ff(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function BB(e){var t=FB(e,"string");return ff(t)==="symbol"?t:String(t)}function gt(e,t,r){return t=BB(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function OB(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function bs(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||OB()}var tqe=globalThis.self||globalThis.window||globalThis.global,j0=globalThis.window||globalThis.self||globalThis.global,rqe=globalThis.document||{},rd=globalThis.process||{},nqe=globalThis.console,IGt=globalThis.navigator||{};var oE="4.2.3",RGt=bs();function iqe(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var sE=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";gt(this,"storage",void 0),gt(this,"id",void 0),gt(this,"config",void 0),this.storage=iqe(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function dre(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function hre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function uE(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var cE;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(cE||(cE={}));var aqe=10;function mre(e){return typeof e!="string"?e:(e=e.toUpperCase(),cE[e]||cE.WHITE)}function gre(e,t,r){if(!bs&&typeof e=="string"){if(t){let n=mre(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=mre(r);e="\x1B[".concat(n+aqe,"m").concat(e,"\x1B[49m")}}return e}function vre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function M0(e,t){if(!e)throw new Error(t||"Assertion failed")}function nd(){let e;if(bs()&&j0.performance){var t,r;e=j0===null||j0===void 0||(t=j0.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in rd){var n;let i=rd===null||rd===void 0||(n=rd.hrtime)===null||n===void 0?void 0:n.call(rd);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var R0={debug:bs()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},oqe={enabled:!0,level:0};function So(){}var xre={},yre={once:!0},yu=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};gt(this,"id",void 0),gt(this,"VERSION",oE),gt(this,"_startTs",nd()),gt(this,"_deltaTs",nd()),gt(this,"_storage",void 0),gt(this,"userData",{}),gt(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new sE("__probe-".concat(this.id,"__"),oqe),this.timeStamp("".concat(this.id," started")),vre(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((nd()-this._startTs).toPrecision(10))}getDelta(){return Number((nd()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){M0(t,r)}warn(t){return this._getLogFunction(0,t,R0.warn,arguments,yre)}error(t){return this._getLogFunction(0,t,R0.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,R0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,R0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,R0.debug||R0.info,arguments,yre)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||So,n&&[n],{tag:lqe(r)}):So}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?bs()?cqe({image:i,message:a,scale:o}):uqe({image:i,message:a,scale:o}):So}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||So)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=bre({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||So)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_re(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=bre({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,M0(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=nd();let o=a.tag||a.message;if(a.once&&o)if(!xre[o])xre[o]=nd();else return So;return r=sqe(this.id,a.message,a),n.bind(console,r,...a.args)}return So}};gt(yu,"VERSION",oE);function _re(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return M0(Number.isFinite(t)&&t>=0),t}function bre(e){let{logLevel:t,message:r}=e;e.logLevel=_re(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return M0(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function sqe(e,t,r){if(typeof t=="string"){let n=r.time?hre(dre(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=gre(t,r.color,r.background)}return t}function uqe(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),So}function cqe(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=uE(a,r,n);console.log(...o)},a.src=t,So}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...uE(t,r,n)),So;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...uE(a,r,n)),a.src=t.toDataURL(),So}return So}function lqe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var lzt=new yu({id:"@probe.gl/log"});function PB(e,t){return wre(e||{},t)}function wre(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=wre(n[i]||{},t[i],r+1):n[i]=t[i];return n}function xx(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function IB(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var Ere="latest";function fqe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.3"),globalThis._loadersgl_.version}var id=fqe();function Ti(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var bu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},vzt=bu.self||bu.window||bu.global||{},xzt=bu.window||bu.self||bu.global||{},yzt=bu.global||bu.self||bu.window||{},bzt=bu.document||{};var fi=typeof process!="object"||String(process)!=="[object process]"||process.browser,yx=typeof importScripts=="function",Sre=typeof window<"u"&&typeof window.orientation<"u",Are=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),_zt=Are&&parseFloat(Are[1])||0;var bx=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){Ti(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ti(this.isRunning),this.isRunning=!1,this._reject(t)}};var ad={};Hn(ad,{NodeWorker:()=>wx,parentPort:()=>pqe});var _x=Ct(require("worker_threads"),1);pv(ad,require("worker_threads"));var pqe=_x==null?void 0:_x.parentPort,wx=_x.Worker;var jB=new Map;function Tre(e){Ti(e.source&&!e.url||!e.source&&e.url);let t=jB.get(e.source||e.url);return t||(e.url&&(t=dqe(e.url),jB.set(e.url,t)),e.source&&(t=Cre(e.source),jB.set(e.source,t))),Ti(t),t}function dqe(e){if(!e.startsWith("http"))return e;let t=hqe(e);return Cre(t)}function Cre(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function hqe(e){return`try {
155
+ deps: ${r}}`};var xjt={keyword:"dependencies",type:"object",schemaType:"object",error:hc.error,code(e){let[t,r]=yjt(e);PTe(e,t),ITe(e,r)}};function yjt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function PTe(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,i_.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,i_.checkReportMissingProp)(e,c)}):(r.if((0,QG._)`${u} && (${(0,i_.checkMissingProp)(e,s,a)})`),(0,i_.reportMissingProp)(e,a),r.else())}}hc.validatePropertyDeps=PTe;function ITe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,vjt.alwaysValidSchema)(a,t[s])||(r.if((0,i_.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}hc.validateSchemaDeps=ITe;hc.default=xjt});var RTe=v(ZG=>{"use strict";Object.defineProperty(ZG,"__esModule",{value:!0});var MTe=Ut(),bjt=cr(),_jt={message:"property name must be valid",params:({params:e})=>(0,MTe._)`{propertyName: ${e.propertyName}}`},wjt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:_jt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,bjt.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,MTe.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};ZG.default=wjt});var tz=v(ez=>{"use strict";Object.defineProperty(ez,"__esModule",{value:!0});var nD=Zo(),Xs=Ut(),Ejt=jl(),iD=cr(),Ajt={message:"must NOT have additional properties",params:({params:e})=>(0,Xs._)`{additionalProperty: ${e.additionalProperty}}`},Sjt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ajt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,iD.alwaysValidSchema)(o,r))return;let c=(0,nD.allSchemaProperties)(n.properties),l=(0,nD.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Xs._)`${a} === ${Ejt.default.errors}`);function f(){t.forIn("key",i,m=>{!c.length&&!l.length?h(m):t.if(p(m),()=>h(m))})}function p(m){let x;if(c.length>8){let b=(0,iD.schemaRefOrVal)(o,n.properties,"properties");x=(0,nD.isOwnProperty)(t,b,m)}else c.length?x=(0,Xs.or)(...c.map(b=>(0,Xs._)`${m} === ${b}`)):x=Xs.nil;return l.length&&(x=(0,Xs.or)(x,...l.map(b=>(0,Xs._)`${(0,nD.usePattern)(e,b)}.test(${m})`))),(0,Xs.not)(x)}function d(m){t.code((0,Xs._)`delete ${i}[${m}]`)}function h(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(m);return}if(r===!1){e.setParams({additionalProperty:m}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,iD.alwaysValidSchema)(o,r)){let x=t.name("valid");u.removeAdditional==="failing"?(g(m,x,!1),t.if((0,Xs.not)(x),()=>{e.reset(),d(m)})):(g(m,x),s||t.if((0,Xs.not)(x),()=>t.break()))}}function g(m,x,b){let _={keyword:"additionalProperties",dataProp:m,dataPropType:iD.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(_,x)}}};ez.default=Sjt});var NTe=v(nz=>{"use strict";Object.defineProperty(nz,"__esModule",{value:!0});var Tjt=V2(),LTe=Zo(),rz=cr(),qTe=tz(),Cjt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&qTe.default.code(new Tjt.KeywordCxt(a,qTe.default,"additionalProperties"));let o=(0,LTe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=rz.mergeEvaluated.props(t,(0,rz.toHash)(o),a.props));let s=o.filter(f=>!(0,rz.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,LTe.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};nz.default=Cjt});var HTe=v(iz=>{"use strict";Object.defineProperty(iz,"__esModule",{value:!0});var UTe=Zo(),aD=Ut(),GTe=cr(),zTe=cr(),Djt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,UTe.allSchemaProperties)(r),u=s.filter(g=>(0,GTe.alwaysValidSchema)(a,r[g]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof aD.Name)&&(a.props=(0,zTe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let g of s)c&&d(g),a.allErrors?h(g):(t.var(l,!0),h(g),t.if(l))}function d(g){for(let m in c)new RegExp(g).test(m)&&(0,GTe.checkStrictMode)(a,`property ${m} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,m=>{t.if((0,aD._)`${(0,UTe.usePattern)(e,g)}.test(${m})`,()=>{let x=u.includes(g);x||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:m,dataPropType:zTe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,aD._)`${f}[${m}]`,!0):!x&&!a.allErrors&&t.if((0,aD.not)(l),()=>t.break())})})}}};iz.default=Djt});var $Te=v(az=>{"use strict";Object.defineProperty(az,"__esModule",{value:!0});var kjt=cr(),Fjt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,kjt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};az.default=Fjt});var VTe=v(oz=>{"use strict";Object.defineProperty(oz,"__esModule",{value:!0});var Bjt=Zo(),Ojt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Bjt.validateUnion,error:{message:"must match a schema in anyOf"}};oz.default=Ojt});var WTe=v(sz=>{"use strict";Object.defineProperty(sz,"__esModule",{value:!0});var oD=Ut(),Pjt=cr(),Ijt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,oD._)`{passingSchemas: ${e.passing}}`},jjt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Ijt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let p;(0,Pjt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,oD._)`${u} && ${o}`).assign(o,!1).assign(s,(0,oD._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,oD.Name)})})}}};sz.default=jjt});var KTe=v(uz=>{"use strict";Object.defineProperty(uz,"__esModule",{value:!0});var Mjt=cr(),Rjt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((a,o)=>{if((0,Mjt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};uz.default=Rjt});var XTe=v(cz=>{"use strict";Object.defineProperty(cz,"__esModule",{value:!0});var sD=Ut(),YTe=cr(),Ljt={message:({params:e})=>(0,sD.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,sD._)`{failingKeyword: ${e.ifClause}}`},qjt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Ljt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,YTe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=JTe(n,"then"),a=JTe(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,sD.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,sD._)`${l}`):e.setParams({ifClause:l})}}}};function JTe(e,t){let r=e.schema[t];return r!==void 0&&!(0,YTe.alwaysValidSchema)(e,r)}cz.default=qjt});var QTe=v(lz=>{"use strict";Object.defineProperty(lz,"__esModule",{value:!0});var Njt=cr(),Ujt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Njt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};lz.default=Ujt});var ZTe=v(fz=>{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});var Gjt=WG(),zjt=kTe(),Hjt=KG(),$jt=BTe(),Vjt=OTe(),Wjt=jTe(),Kjt=RTe(),Jjt=tz(),Yjt=NTe(),Xjt=HTe(),Qjt=$Te(),Zjt=VTe(),eMt=WTe(),tMt=KTe(),rMt=XTe(),nMt=QTe();function iMt(e=!1){let t=[Qjt.default,Zjt.default,eMt.default,tMt.default,rMt.default,nMt.default,Kjt.default,Jjt.default,Wjt.default,Yjt.default,Xjt.default];return e?t.push(zjt.default,$jt.default):t.push(Gjt.default,Hjt.default),t.push(Vjt.default),t}fz.default=iMt});var e8e=v(pz=>{"use strict";Object.defineProperty(pz,"__esModule",{value:!0});var jn=Ut(),aMt={message:({schemaCode:e})=>(0,jn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,jn._)`{format: ${e}}`},oMt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:aMt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?p():d();function p(){let h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),g=r.const("fDef",(0,jn._)`${h}[${o}]`),m=r.let("fType"),x=r.let("format");r.if((0,jn._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(m,(0,jn._)`${g}.type || "string"`).assign(x,(0,jn._)`${g}.validate`),()=>r.assign(m,(0,jn._)`"string"`).assign(x,g)),e.fail$data((0,jn.or)(b(),_()));function b(){return u.strictSchema===!1?jn.nil:(0,jn._)`${o} && !${x}`}function _(){let A=l.$async?(0,jn._)`(${g}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,jn._)`${x}(${n})`,w=(0,jn._)`(typeof ${x} == "function" ? ${A} : ${x}.test(${n}))`;return(0,jn._)`${x} && ${x} !== true && ${m} === ${t} && !${w}`}}function d(){let h=f.formats[a];if(!h){b();return}if(h===!0)return;let[g,m,x]=_(h);g===t&&e.pass(A());function b(){if(u.strictSchema===!1){f.logger.warn(w());return}throw new Error(w());function w(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function _(w){let T=w instanceof RegExp?(0,jn.regexpCode)(w):u.code.formats?(0,jn._)`${u.code.formats}${(0,jn.getProperty)(a)}`:void 0,k=r.scopeValue("formats",{key:a,ref:w,code:T});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0,jn._)`${k}.validate`]:["string",w,k]}function A(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,jn._)`await ${x}(${n})`}return typeof m=="function"?(0,jn._)`${x}(${n})`:(0,jn._)`${x}.test(${n})`}}}};pz.default=oMt});var t8e=v(dz=>{"use strict";Object.defineProperty(dz,"__esModule",{value:!0});var sMt=e8e(),uMt=[sMt.default];dz.default=uMt});var r8e=v(rv=>{"use strict";Object.defineProperty(rv,"__esModule",{value:!0});rv.contentVocabulary=rv.metadataVocabulary=void 0;rv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];rv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var i8e=v(hz=>{"use strict";Object.defineProperty(hz,"__esModule",{value:!0});var cMt=fTe(),lMt=STe(),fMt=ZTe(),pMt=t8e(),n8e=r8e(),dMt=[cMt.default,lMt.default,(0,fMt.default)(),pMt.default,n8e.metadataVocabulary,n8e.contentVocabulary];hz.default=dMt});var a8e=v(a_=>{"use strict";Object.defineProperty(a_,"__esModule",{value:!0});a_.DiscrError=void 0;var hMt;(function(e){e.Tag="tag",e.Mapping="mapping"})(hMt=a_.DiscrError||(a_.DiscrError={}))});var s8e=v(gz=>{"use strict";Object.defineProperty(gz,"__esModule",{value:!0});var nv=Ut(),mz=a8e(),o8e=W4(),mMt=cr(),gMt={message:({params:{discrError:e,tagName:t}})=>e===mz.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,nv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},vMt={keyword:"discriminator",type:"object",schemaType:"object",error:gMt,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",!1),c=t.const("tag",(0,nv._)`${r}${(0,nv.getProperty)(s)}`);t.if((0,nv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:mz.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,nv._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:mz.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(g,nv.Name),h}function p(){var d;let h={},g=x(i),m=!0;for(let A=0;A<o.length;A++){let w=o[A];w!=null&&w.$ref&&!(0,mMt.schemaHasRulesButRef)(w,a.self.RULES)&&(w=o8e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,w==null?void 0:w.$ref),w instanceof o8e.SchemaEnv&&(w=w.schema));let T=(d=w==null?void 0:w.properties)===null||d===void 0?void 0:d[s];if(typeof T!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);m=m&&(g||x(w)),b(T,A)}if(!m)throw new Error(`discriminator: "${s}" must be required`);return h;function x({required:A}){return Array.isArray(A)&&A.includes(s)}function b(A,w){if(A.const)_(A.const,w);else if(A.enum)for(let T of A.enum)_(T,w);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(A,w){if(typeof A!="string"||A in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[A]=w}}}};gz.default=vMt});var u8e=v((r_r,xMt)=>{xMt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var f8e=v((gn,l8e)=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.MissingRefError=gn.ValidationError=gn.CodeGen=gn.Name=gn.nil=gn.stringify=gn.str=gn._=gn.KeywordCxt=void 0;var yMt=aTe(),bMt=i8e(),_Mt=s8e(),c8e=u8e(),wMt=["/properties"],uD="http://json-schema.org/draft-07/schema",cD=class extends yMt.default{_addVocabularies(){super._addVocabularies(),bMt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(_Mt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(c8e,wMt):c8e;this.addMetaSchema(t,uD,!1),this.refs["http://json-schema.org/schema"]=uD}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(uD)?uD:void 0)}};l8e.exports=gn=cD;Object.defineProperty(gn,"__esModule",{value:!0});gn.default=cD;var EMt=V2();Object.defineProperty(gn,"KeywordCxt",{enumerable:!0,get:function(){return EMt.KeywordCxt}});var iv=Ut();Object.defineProperty(gn,"_",{enumerable:!0,get:function(){return iv._}});Object.defineProperty(gn,"str",{enumerable:!0,get:function(){return iv.str}});Object.defineProperty(gn,"stringify",{enumerable:!0,get:function(){return iv.stringify}});Object.defineProperty(gn,"nil",{enumerable:!0,get:function(){return iv.nil}});Object.defineProperty(gn,"Name",{enumerable:!0,get:function(){return iv.Name}});Object.defineProperty(gn,"CodeGen",{enumerable:!0,get:function(){return iv.CodeGen}});var AMt=H4();Object.defineProperty(gn,"ValidationError",{enumerable:!0,get:function(){return AMt.default}});var SMt=$4();Object.defineProperty(gn,"MissingRefError",{enumerable:!0,get:function(){return SMt.default}})});var Tz=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Cz={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=Cz||{};function Dt(e,t,r){return t<=e&&e<=r}function nCe(e,t){return e.indexOf(t)!==-1}var vc=Math.floor;function p_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function iCe(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function aCe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function ho(e){return 0<=e&&e<=127}var po=ho,Jt=-1;function ED(e){this.tokens=[].slice.call(e),this.tokens.reverse()}ED.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Jt},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Ir=-1;function Kt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function as(e){throw TypeError("The code point "+e+" could not be encoded.")}function oCe(){}oCe.prototype={handler:function(e,t){}};function sCe(){}sCe.prototype={handler:function(e,t){}};function _D(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(wD,e)?wD[e]:null}var Dz=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],wD={};Dz.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){wD[r]=t})})});var ba={},_a={};function zh(e,t){return t&&t[e]||null}function Hh(e,t){var r=t.indexOf(e);return r===-1?null:r}function oa(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function uCe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=oa("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function cCe(e){if(e===59335)return 7457;var t=0,r=0,n=oa("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function lCe(e){yD=yD||oa("jis0208").map(function(r,n){return Dt(n,8272,8835)?null:r});var t=yD;return t.indexOf(e)}var yD;function fCe(e){bD=bD||oa("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=bD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):Hh(e,t)}var bD,kz="utf-8";function Mp(e,t){if(!(this instanceof Mp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):kz,t=p_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=_D(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!_a[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(Mp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(Mp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(Mp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));Mp.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=p_(r),this._do_not_flush||(this._decoder=_a[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new ED(n),a=[],o;;){var s=i.read();if(s===Jt||(o=this._decoder.handler(i,s),o===Ir))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Ir)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return nCe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),aCe(c)}return u.call(this,a)};function dv(e,t){if(!(this instanceof dv))throw TypeError("Called as a function. Did you forget 'new'?");t=p_(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):kz;var n=_D(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ba[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=_D("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(dv.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});dv.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=p_(r),this._do_not_flush||(this._encoder=ba[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new ED(iCe(t)),i=[],a;;){var o=n.read();if(o===Jt||(a=this._encoder.handler(n,o),a===Ir))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Ir;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function pCe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Jt&&i!==0)return i=0,Kt(t);if(u===Jt)return Ir;if(i===0){if(Dt(u,0,127))return u;if(Dt(u,194,223))i=1,r=u&31;else if(Dt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Dt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return Kt(t);return null}if(!Dt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),Kt(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function dCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;var i,a;Dt(n,128,2047)?(i=1,a=192):Dt(n,2048,65535)?(i=2,a=224):Dt(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}ba["UTF-8"]=function(e){return new dCe(e)};_a["UTF-8"]=function(e){return new pCe(e)};function hCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(ho(i))return i;var a=e[i-128];return a===null?Kt(r):a}}function mCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(po(i))return i;var a=Hh(i,e);return a===null&&as(i),a+128}}(function(){"encoding-indexes"in globalThis&&Dz.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=oa(r.toLowerCase());_a[r]=function(i){return new hCe(n,i)},ba[r]=function(i){return new mCe(n,i)}})})})();_a.GBK=function(e){return new Fz(e)};ba.GBK=function(e){return new Bz(e,!0)};function Fz(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Jt&&r===0&&n===0&&i===0)return Ir;o===Jt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,Kt(t));var s;if(i!==0){s=null,Dt(o,48,57)&&(s=uCe((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),Kt(t)):s}if(n!==0)return Dt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,Kt(t));if(r!==0){if(Dt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Dt(o,64,126)||Dt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:zh(l,oa("gb18030")),s===null&&ho(o)&&a.prepend(o),s===null?Kt(t):s}return ho(o)?o:o===128?8364:Dt(o,129,254)?(r=o,null):Kt(t)}}function Bz(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(po(i))return i;if(i===58853)return as(i);if(t&&i===8364)return 128;var a=Hh(i,oa("gb18030"));if(a!==null){var o=vc(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return as(i);a=cCe(i);var c=vc(a/10/126/10);a=a-c*10*126*10;var l=vc(a/10/126);a=a-l*10*126;var f=vc(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}ba.gb18030=function(e){return new Bz(e)};_a.gb18030=function(e){return new Fz(e)};function gCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Jt&&r!==0)return r=0,Kt(t);if(i===Jt&&r===0)return Ir;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Dt(i,64,126)||Dt(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:zh(o,oa("big5"));return u===null&&ho(i)&&n.prepend(i),u===null?Kt(t):u}return ho(i)?i:Dt(i,129,254)?(r=i,null):Kt(t)}}function vCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;var i=fCe(n);if(i===null)return as(n);var a=vc(i/157)+129;if(a<161)return as(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ba.Big5=function(e){return new vCe(e)};_a.Big5=function(e){return new gCe(e)};function xCe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Jt&&n!==0)return n=0,Kt(t);if(a===Jt&&n===0)return Ir;if(n===142&&Dt(a,161,223))return n=0,65377-161+a;if(n===143&&Dt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Dt(o,161,254)&&Dt(a,161,254)&&(s=zh((o-161)*94+(a-161),oa(r?"jis0212":"jis0208"))),r=!1,Dt(a,161,254)||i.prepend(a),s===null?Kt(t):s}return ho(a)?a:a===142||a===143||Dt(a,161,254)?(n=a,null):Kt(t)}}function yCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Dt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=Hh(n,oa("jis0208"));if(i===null)return as(n);var a=vc(i/94)+161,o=i%94+161;return[a,o]}}ba["EUC-JP"]=function(e){return new yCe(e)};_a["EUC-JP"]=function(e){return new xCe(e)};function bCe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):Dt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Jt?Ir:(o=!1,Kt(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Dt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Jt?Ir:(o=!1,Kt(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Dt(u,33,95)?(o=!1,65377-33+u):u===Jt?Ir:(o=!1,Kt(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Dt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Jt?Ir:(o=!1,Kt(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,Kt(t);if(Dt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=zh(c,oa("jis0208"));return l===null?Kt(t):l}return u===Jt?(n=r.LeadByte,s.prepend(u),Kt(t)):(n=r.LeadByte,Kt(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,Kt(t));case r.Escape:var f=a;a=0;var p=null;if(f===40&&u===66&&(p=r.ASCII),f===40&&u===74&&(p=r.Roman),f===40&&u===73&&(p=r.Katakana),f===36&&(u===64||u===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?Kt(t):null}return s.prepend([f,u]),o=!1,n=i,Kt(t)}}}function _Ce(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Jt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Jt&&n===r.ASCII)return Ir;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return as(65533);if(n===r.ASCII&&po(a))return a;if(n===r.Roman&&(po(a)&&a!==92&&a!==126||a==165||a==8254)){if(po(a))return a;if(a===165)return 92;if(a===8254)return 126}if(po(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=Hh(a,oa("jis0208"));if(o===null)return as(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=vc(o/94)+33,u=o%94+33;return[s,u]}}ba["ISO-2022-JP"]=function(e){return new _Ce(e)};_a["ISO-2022-JP"]=function(e){return new bCe(e)};function wCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Jt&&r!==0)return r=0,Kt(t);if(i===Jt&&r===0)return Ir;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Dt(i,64,126)||Dt(i,128,252))&&(o=(a-u)*188+i-s),Dt(o,8836,10715))return 57344-8836+o;var c=o===null?null:zh(o,oa("jis0208"));return c===null&&ho(i)&&n.prepend(i),c===null?Kt(t):c}return ho(i)||i===128?i:Dt(i,161,223)?65377-161+i:Dt(i,129,159)||Dt(i,224,252)?(r=i,null):Kt(t)}}function ECe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Dt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=lCe(n);if(i===null)return as(n);var a=vc(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ba.Shift_JIS=function(e){return new ECe(e)};_a.Shift_JIS=function(e){return new wCe(e)};function ACe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Jt&&r!==0)return r=0,Kt(t);if(i===Jt&&r===0)return Ir;if(r!==0){var a=r,o=null;r=0,Dt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:zh(o,oa("euc-kr"));return o===null&&ho(i)&&n.prepend(i),s===null?Kt(t):s}return ho(i)?i:Dt(i,129,254)?(r=i,null):Kt(t)}}function SCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Jt)return Ir;if(po(n))return n;var i=Hh(n,oa("euc-kr"));if(i===null)return as(n);var a=vc(i/190)+129,o=i%190+65;return[a,o]}}ba["EUC-KR"]=function(e){return new SCe(e)};_a["EUC-KR"]=function(e){return new ACe(e)};function f_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function Oz(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Jt&&(n!==null||i!==null))return Kt(r);if(o===Jt&&n===null&&i===null)return Ir;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,Dt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(f_(s,e)),Kt(r))}return Dt(s,55296,56319)?(i=s,null):Dt(s,56320,57343)?Kt(r):s}}function Pz(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Jt)return Ir;if(Dt(i,0,65535))return f_(i,e);var a=f_((i-65536>>10)+55296,e),o=f_((i-65536&1023)+56320,e);return a.concat(o)}}ba["UTF-16BE"]=function(e){return new Pz(!0,e)};_a["UTF-16BE"]=function(e){return new Oz(!0,e)};ba["UTF-16LE"]=function(e){return new Pz(!1,e)};_a["UTF-16LE"]=function(e){return new Oz(!1,e)};function TCe(e){var t=e.fatal;this.handler=function(r,n){return n===Jt?Ir:ho(n)?n:63360+n-128}}function CCe(e){var t=e.fatal;this.handler=function(r,n){return n===Jt?Ir:po(n)?n:Dt(n,63360,63487)?n-63360+128:as(n)}}ba["x-user-defined"]=function(e){return new CCe(e)};_a["x-user-defined"]=function(e){return new TCe(e)};function hv(e){return Buffer.from(e).toString("base64")}function AD(e){return Buffer.from(e,"base64").toString("ascii")}var CV=Ct(SV(),1),DV=Ct(wv(),1);function TV(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function Uke(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,DV.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,CV.default)(n,r,t)}function kV(e,t){let r=Uke(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(TV(a))})})}var sre=Ct(ore(),1),DB=["image/png","image/jpeg","image/gif"];async function kB(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await Z7e(r,t)}function Z7e(e,t){return new Promise(r=>(0,sre.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function Ja(e,t,r,n){return n._parse(e,t,r,n)}function Et(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var xu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},cre=xu.self||xu.window||xu.global||{},lre=xu.window||xu.self||xu.global||{},fre=xu.global||xu.self||xu.window||{},pre=xu.document||{};var Er=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ure=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),eqe=ure&&parseFloat(ure[1])||0;function ff(e){return ff=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ff(e)}function FB(e,t){if(ff(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ff(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function BB(e){var t=FB(e,"string");return ff(t)==="symbol"?t:String(t)}function gt(e,t,r){return t=BB(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function OB(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function bs(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||OB()}var tqe=globalThis.self||globalThis.window||globalThis.global,j0=globalThis.window||globalThis.self||globalThis.global,rqe=globalThis.document||{},rd=globalThis.process||{},nqe=globalThis.console,IGt=globalThis.navigator||{};var oE="4.2.4",RGt=bs();function iqe(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var sE=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";gt(this,"storage",void 0),gt(this,"id",void 0),gt(this,"config",void 0),this.storage=iqe(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function dre(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function hre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function uE(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var cE;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(cE||(cE={}));var aqe=10;function mre(e){return typeof e!="string"?e:(e=e.toUpperCase(),cE[e]||cE.WHITE)}function gre(e,t,r){if(!bs&&typeof e=="string"){if(t){let n=mre(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=mre(r);e="\x1B[".concat(n+aqe,"m").concat(e,"\x1B[49m")}}return e}function vre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function M0(e,t){if(!e)throw new Error(t||"Assertion failed")}function nd(){let e;if(bs()&&j0.performance){var t,r;e=j0===null||j0===void 0||(t=j0.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in rd){var n;let i=rd===null||rd===void 0||(n=rd.hrtime)===null||n===void 0?void 0:n.call(rd);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var R0={debug:bs()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},oqe={enabled:!0,level:0};function So(){}var xre={},yre={once:!0},yu=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};gt(this,"id",void 0),gt(this,"VERSION",oE),gt(this,"_startTs",nd()),gt(this,"_deltaTs",nd()),gt(this,"_storage",void 0),gt(this,"userData",{}),gt(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new sE("__probe-".concat(this.id,"__"),oqe),this.timeStamp("".concat(this.id," started")),vre(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((nd()-this._startTs).toPrecision(10))}getDelta(){return Number((nd()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){M0(t,r)}warn(t){return this._getLogFunction(0,t,R0.warn,arguments,yre)}error(t){return this._getLogFunction(0,t,R0.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,R0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,R0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,R0.debug||R0.info,arguments,yre)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||So,n&&[n],{tag:lqe(r)}):So}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?bs()?cqe({image:i,message:a,scale:o}):uqe({image:i,message:a,scale:o}):So}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||So)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=bre({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||So)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_re(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=bre({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,M0(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=nd();let o=a.tag||a.message;if(a.once&&o)if(!xre[o])xre[o]=nd();else return So;return r=sqe(this.id,a.message,a),n.bind(console,r,...a.args)}return So}};gt(yu,"VERSION",oE);function _re(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return M0(Number.isFinite(t)&&t>=0),t}function bre(e){let{logLevel:t,message:r}=e;e.logLevel=_re(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return M0(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function sqe(e,t,r){if(typeof t=="string"){let n=r.time?hre(dre(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=gre(t,r.color,r.background)}return t}function uqe(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),So}function cqe(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=uE(a,r,n);console.log(...o)},a.src=t,So}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...uE(t,r,n)),So;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...uE(a,r,n)),a.src=t.toDataURL(),So}return So}function lqe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var lzt=new yu({id:"@probe.gl/log"});function PB(e,t){return wre(e||{},t)}function wre(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=wre(n[i]||{},t[i],r+1):n[i]=t[i];return n}function xx(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function IB(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var Ere="latest";function fqe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.4"),globalThis._loadersgl_.version}var id=fqe();function Ti(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var bu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},vzt=bu.self||bu.window||bu.global||{},xzt=bu.window||bu.self||bu.global||{},yzt=bu.global||bu.self||bu.window||{},bzt=bu.document||{};var fi=typeof process!="object"||String(process)!=="[object process]"||process.browser,yx=typeof importScripts=="function",Sre=typeof window<"u"&&typeof window.orientation<"u",Are=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),_zt=Are&&parseFloat(Are[1])||0;var bx=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){Ti(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ti(this.isRunning),this.isRunning=!1,this._reject(t)}};var ad={};Hn(ad,{NodeWorker:()=>wx,parentPort:()=>pqe});var _x=Ct(require("worker_threads"),1);pv(ad,require("worker_threads"));var pqe=_x==null?void 0:_x.parentPort,wx=_x.Worker;var jB=new Map;function Tre(e){Ti(e.source&&!e.url||!e.source&&e.url);let t=jB.get(e.source||e.url);return t||(e.url&&(t=dqe(e.url),jB.set(e.url,t)),e.source&&(t=Cre(e.source),jB.set(e.source,t))),Ti(t),t}function dqe(e){if(!e.startsWith("http"))return e;let t=hqe(e);return Cre(t)}function Cre(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function hqe(e){return`try {
156
156
  importScripts('${e}');
157
157
  } catch (error) {
158
158
  console.error(error);
159
159
  throw error;
160
160
  }`}function MB(e,t=!0,r){let n=r||new Set;if(e){if(Dre(e))n.add(e);else if(Dre(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let i in e)MB(e[i],t,n)}}return r===void 0?Array.from(n):[]}function Dre(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function RB(e){if(e===null)return{};let t=Object.assign({},e);return Object.keys(t).forEach(r=>{typeof e[r]=="object"&&!ArrayBuffer.isView(e[r])&&!(e[r]instanceof Array)?t[r]=RB(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var LB=()=>{},pf=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&fi||typeof wx<"u"&&!fi}constructor(t){let{name:r,source:n,url:i}=t;Ti(n||i),this.name=r,this.source=n,this.url=i,this.onMessage=LB,this.onError=a=>console.log(a),this.worker=fi?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=LB,this.onError=LB,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||MB(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r="Failed to load ";return r+=`worker ${this.name} from ${this.url}. `,t.message&&(r+=`${t.message} in `),t.lineno&&(r+=`:${t.lineno}:${t.colno}`),new Error(r)}_createBrowserWorker(){this._loadableURL=Tre({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error("No data received"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;t=new wx(n,{eval:!1})}else if(this.source)t=new wx(this.source,{eval:!0});else throw new Error("no worker");return t.on("message",r=>{this.onMessage(r)}),t.on("error",r=>{this.onError(r)}),t.on("exit",r=>{}),t}};var Ex=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return pf.isSupported()}constructor(t){this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t,r=(i,a,o)=>i.done(o),n=(i,a)=>i.error(a)){let i=new Promise(a=>(this.jobQueue.push({name:t,onMessage:r,onError:n,onStart:a}),this));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:"Starting job",name:r.name,workerThread:t,backlog:this.jobQueue.length});let n=new bx(r.name,t);t.onMessage=i=>r.onMessage(n,i.type,i.payload),t.onError=i=>r.onError(n,i),r.onStart(n);try{await n.result}catch(i){console.error(`Worker exception: ${i}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!fi||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let t=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new pf({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Sre?this.maxMobileConcurrency:this.maxConcurrency}};var mqe={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},od=class{props;workerPools=new Map;static isSupported(){return pf.isSupported()}static getWorkerFarm(t={}){return od._workerFarm=od._workerFarm||new od({}),od._workerFarm.setProps(t),od._workerFarm}constructor(t){this.props={...mqe},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:n,url:i}=t,a=this.workerPools.get(r);return a||(a=new Ex({name:r,source:n,url:i}),a.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,a)),a}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},Xi=od;Sz(Xi,"_workerFarm");function kre(e){let t=e.version!==id?` (worker-utils@${id})`:"";return`${e.name}@${e.version}${t}`}function Ax(e,t={}){let r=t[e.id]||{},n=fi?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=r.workerUrl;if(!i&&e.id==="compression"&&(i=t.workerUrl),t._workerType==="test"&&(fi?i=`modules/${e.module}/dist/${n}`:i=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!i){let a=e.version;a==="latest"&&(a=Ere);let o=a?`@${a}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${o}/dist/${n}`}return Ti(i),i}async function qB(e,t,r={},n={}){let i=kre(e),a=Xi.getWorkerFarm(r),{source:o}=r,s={name:i,source:o};o||(s.url=Ax(e,r));let u=a.getWorkerPool(s),c=r.jobName||e.name,l=await u.startJob(c,gqe.bind(null,n)),f=RB(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function gqe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{if(!e.process){t.postMessage("error",{id:i,error:"Worker not set up to process on main thread"});return}let s=await e.process(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`process-on-worker: unknown message ${r}`)}}function NB(e,t=id){Ti(e,"no worker provided");let r=e.version;return!(!t||!r)}var UB={};async function _u(e,t=null,r={},n=null){return t&&(e=Fre(e,t,r,n)),UB[e]=UB[e]||vqe(e),await UB[e]}function Fre(e,t,r={},n=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let i=r.modules||{};return i[n]?i[n]:fi?r.CDN?(Ti(r.CDN.startsWith("http")),`${r.CDN}/${t}@${id}/dist/libs/${n}`):yx?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function vqe(e){if(e.endsWith("wasm"))return await yqe(e);if(!fi)try{let{requireFromFile:r}=globalThis.loaders||{};return await(r==null?void 0:r(e))}catch(r){return console.error(r),null}if(yx)return importScripts(e);let t=await bqe(e);return xqe(t,e)}function xqe(e,t){if(!fi){let{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(e,t)}if(yx)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function yqe(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return fi||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function bqe(e){let{readFileAsText:t}=globalThis.loaders||{};return fi||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var Ire=Ct(require("child_process"),1);var Bre=Ct(require("child_process"),1);function Ore(e=3e3){return new Promise(t=>{Bre.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
161
- `).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Pre={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},L0=class{id;props={...Pre};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Pre,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Ore(t.port)),r.push(t.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),n({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=Ire.spawn(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function GB(e,t){return!Xi.isSupported()||!fi&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function zB(e,t,r,n,i){let a=e.id,o=Ax(e,r),u=Xi.getWorkerFarm(r).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",_qe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function _qe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function HB(e,t){return!Xi.isSupported()||!Er&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Mre(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?jre(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?jre(e,0,t):""}function jre(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function $B(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Mre(e)}"`)}}function wu(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function _n(...e){return lE(e)}function lE(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Ya(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function sd(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Xa(e,t){return Et(e>=0),Et(t>0),e+(t-1)&~(t-1)}function VB(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+Xa(n.byteLength,4)}function WB(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function q0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Sx(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function fE(e,t,r,n){let i=Xa(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function N0(e,t,r,n){let a=new TextEncoder().encode(r);return t=fE(e,t,a,n),t}async function ud(e){let t=[];for await(let r of e)t.push(r);return _n(...t)}var wqe="",Rre={};function Eu(e){for(let t in Rre)if(e.startsWith(t)){let r=Rre[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${wqe}${e}`),e}var Eqe="4.2.3",KB={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Eqe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Lre,parse:async e=>Lre(new TextDecoder().decode(e)),options:{}};function Lre(e){return JSON.parse(e)}function qre(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Nre(e){return e&&typeof e=="object"&&e.isBuffer}function Ic(e){if(Nre(e))return qre(e);if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function U0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var Ca={};Hn(Ca,{dirname:()=>Tqe,filename:()=>Sqe,join:()=>Cqe,resolve:()=>Dqe});function Ure(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function Sqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function Tqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function Cqe(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function Dqe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=Ure()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Tx)}return r=kqe(r,!n),n?`/${r}`:r.length>0?r:"."}var Tx=47,JB=46;function kqe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Tx)break;a=Tx}if(a===Tx){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==JB||r.charCodeAt(r.length-2)!==JB){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Tx;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===JB&&i!==-1?++i:i=-1}return r}var Cx=new Error("Not implemented"),jc=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Er?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw Cx}async write(t,r,n){throw Cx}async stat(){throw Cx}async truncate(t){throw Cx}async append(t){throw Cx}async close(){}};var G0=new Error("Not implemented"),Dx=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw Er?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw G0}async openWritableFile(t,r,n){throw G0}async readdir(t=".",r){throw G0}async stat(t,r){throw G0}async unlink(t){throw G0}async fetch(t,r){throw G0}};var YB=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var Qa=class{file;constructor(t,r=!1){this.file=new jc(t,r?"a+":"r")}async truncate(t){await this.file.truncate(t)}async append(t){await this.file.append(t)}async destroy(){await this.file.close()}async getUint8(t){let r=await this.file.read(t,1),n=new Uint8Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint16(t){let r=await this.file.read(t,2),n=new Uint16Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint32(t){let r=await this.file.read(t,4),n=new Uint32Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getBigUint64(t){let r=await this.file.read(t,8),n=new BigInt64Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async slice(t,r){let n=r-t;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let i=Number(n);return await this.file.read(t,i)}get length(){return this.file.bigsize}};var Mc=Ct(require("fs"),1),cd=class{handle;size;bigsize;url;constructor(t,r,n){t=Eu(t),this.handle=Mc.default.openSync(t,r,n);let i=Mc.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{Mc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{Mc.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{Mc.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>Mc.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await Bqe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);Mc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function Bqe(e,t,r,n,i){return await new Promise((a,o)=>Mc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var mE=Ct(require("fs/promises"),1);var QB=Ct(require("fs"),1),XB=require("stream");var pE=Ct(require("zlib"),1),Oqe=e=>e&&e instanceof ArrayBuffer,Pqe=e=>e&&e instanceof Buffer;function dE(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(pE.default.createBrotliDecompress());case"gzip":return e.pipe(pE.default.createGunzip());case"deflate":return e.pipe(pE.default.createDeflate());default:return e}}async function Gre(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(jqe(i))}),e.on("end",()=>{let i=Iqe(t);r(i)})})}function Iqe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function jqe(e){if(Oqe(e))return e;if(Pqe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(`toArrayBuffer(${JSON.stringify(e,null,2).slice(10)})`)}var Mqe=e=>typeof e=="boolean",zre=e=>typeof e=="function",Rqe=e=>e!==null&&typeof e=="object",Lqe=e=>Rqe(e)&&zre(e.read)&&zre(e.pipe)&&Mqe(e.readable);async function hE(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=Eu(n);let i=new Headers;e.endsWith(".gz")&&(i["content-encoding"]="gzip"),e.endsWith(".br")&&(i["content-encoding"]="br");try{let a=await new Promise((f,p)=>{let d=QB.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;Lqe(a)?o=dE(a,i):typeof a=="string"?o=XB.Readable.from([new TextEncoder().encode(a)]):o=XB.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=qqe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function qqe(e){let t={};if(!t["content-length"]){let r=QB.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var gE=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await mE.default.readdir(t,r)}async stat(t){let r=await mE.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await mE.default.unlink(t)}async fetch(t,r){return await hE(t,r)}async openReadableFile(t,r="r"){return new cd(t,r)}async openWritableFile(t,r="w",n){return new cd(t,r,n)}};var Rc=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await ud(t)}};var z0=class{crc;constructor(){this.crc=-1}update(t){let r=Uqe(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Nqe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function Uqe(){return Nqe}function Hre(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=Gqe(n[i])}return t}function Gqe(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function ZB(e,t){switch(t){case"hex":return $re(e);case"base64":return Wre($re(e));default:throw new Error(t)}}function Vre(e,t){switch(t){case"hex":return e;case"base64":return Wre(e);default:throw new Error(t)}}function Wre(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Hre(r)||""}function $re(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var kx=class extends Rc{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new z0;n.update(t);let i=n.finalize();return ZB(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new z0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:ZB(i,r)})}};var Jre=typeof atob=="function"?atob:typeof Buffer=="function"?Jqe:Xre,zqe=Jre("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),eO=WebAssembly&&Jre!==Xre?Kqe(zqe).buffer:!1,Au=Yqe(),tO=240*16*16,Yre=Math.floor(tO*16*1.066666667),Hqe=268435456-65536,Kre="Parameter must be Buffer, ArrayBuffer or Uint8Array",$qe="Parameter exceeds max size of 255.9 Mbytes";eO||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function rO(e){var t,r,n,i,a,o,s,u,c,l;let f=Wqe(),p=Vqe(),d={},h=new Date().getTime();return d.then=function(b){return s=b,m(),d},d.catch=function(b){return u=b,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?o=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?o=e.constructor===ArrayBuffer?new Uint8Array(e):e:x(new TypeError(Kre)):x(new TypeError(Kre)),o&&(a=o.length,eO&&a>Yre?a>Hqe?x(new Error($qe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(eO,n).then(g)):m(f(o))),d;function g(b){m(p(o,b.instance.exports,r))}function m(b){var _=Boolean(b)?b:c;Boolean(b)&&(l=new Date().getTime()),typeof s=="function"?Boolean(_)&&(s(_,l-h),s=u=null):Boolean(b)&&(c=b)}function x(b){typeof u=="function"&&u(b)}}function Vqe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var g,m,x,b,_,A,w,T,k,j,C,D,O,M,G,z,J,Y,le,ue,ce,xe,Oe=new Date().getTime(),Be=0,X=1732584193,U=-271733879,K=-1732584194,Q=271733878,Pe=0,qe=h.length*8,Je;for(Je=ye(h,p),p[qe>>>5]|=128<<qe%32,p[(qe+64>>>9<<4)+14]=qe,Je=(qe+64>>>9<<4)+15,ce=p;Pe<Je;)Je>Pe+Yre?(n(X),a(U),s(K),c(Q),t(tO),Pe=Pe+tO*16,X=r(),U=i(),K=o(),Q=u(),Be++):(J=X,Y=U,le=K,ue=Q,g=ce[Pe+0]>>>0,m=ce[Pe+1]>>>0,x=ce[Pe+2]>>>0,b=ce[Pe+3]>>>0,_=ce[Pe+4]>>>0,A=ce[Pe+5]>>>0,w=ce[Pe+6]>>>0,T=ce[Pe+7]>>>0,k=ce[Pe+8]>>>0,j=ce[Pe+9]>>>0,C=ce[Pe+10]>>>0,D=ce[Pe+11]>>>0,O=ce[Pe+12]>>>0,M=ce[Pe+13]>>>0,G=ce[Pe+14]>>>0,z=ce[Pe+15]>>>0,X=ie(7,25,X+(U&K|~U&Q)+g-680876936)+U,Q=ie(12,20,Q+(X&U|~X&K)+m-389564586)+X,K=ie(17,15,K+(Q&X|~Q&U)+x+606105819)+Q,U=ie(22,10,U+(K&Q|~K&X)+b-1044525330)+K,X=ie(7,25,X+(U&K|~U&Q)+_-176418897)+U,Q=ie(12,20,Q+(X&U|~X&K)+A+1200080426)+X,K=ie(17,15,K+(Q&X|~Q&U)+w-1473231341)+Q,U=ie(22,10,U+(K&Q|~K&X)+T-45705983)+K,X=ie(7,25,X+(U&K|~U&Q)+k+1770035416)+U,Q=ie(12,20,Q+(X&U|~X&K)+j-1958414417)+X,K=ie(17,15,K+(Q&X|~Q&U)+C-42063)+Q,U=ie(22,10,U+(K&Q|~K&X)+D-1990404162)+K,X=ie(7,25,X+(U&K|~U&Q)+O+1804603682)+U,Q=ie(12,20,Q+(X&U|~X&K)+M-40341101)+X,K=ie(17,15,K+(Q&X|~Q&U)+G-1502002290)+Q,U=ie(22,10,U+(K&Q|~K&X)+z+1236535329)+K,X=ie(5,27,X+(U&Q|K&~Q)+m-165796510)+U,Q=ie(9,23,Q+(X&K|U&~K)+w-1069501632)+X,K=ie(14,18,K+(Q&U|X&~U)+D+643717713)+Q,U=ie(20,12,U+(K&X|Q&~X)+g-373897302)+K,X=ie(5,27,X+(U&Q|K&~Q)+A-701558691)+U,Q=ie(9,23,Q+(X&K|U&~K)+C+38016083)+X,K=ie(14,18,K+(Q&U|X&~U)+z-660478335)+Q,U=ie(20,12,U+(K&X|Q&~X)+_-405537848)+K,X=ie(5,27,X+(U&Q|K&~Q)+j+568446438)+U,Q=ie(9,23,Q+(X&K|U&~K)+G-1019803690)+X,K=ie(14,18,K+(Q&U|X&~U)+b-187363961)+Q,U=ie(20,12,U+(K&X|Q&~X)+k+1163531501)+K,X=ie(5,27,X+(U&Q|K&~Q)+M-1444681467)+U,Q=ie(9,23,Q+(X&K|U&~K)+x-51403784)+X,K=ie(14,18,K+(Q&U|X&~U)+T+1735328473)+Q,U=ie(20,12,U+(K&X|Q&~X)+O-1926607734)+K,X=ie(4,28,X+(U^K^Q)+A-378558)+U,Q=ie(11,21,Q+(X^U^K)+k-2022574463)+X,K=ie(16,16,K+(Q^X^U)+D+1839030562)+Q,U=ie(23,9,U+(K^Q^X)+G-35309556)+K,X=ie(4,28,X+(U^K^Q)+m-1530992060)+U,Q=ie(11,21,Q+(X^U^K)+_+1272893353)+X,K=ie(16,16,K+(Q^X^U)+T-155497632)+Q,U=ie(23,9,U+(K^Q^X)+C-1094730640)+K,X=ie(4,28,X+(U^K^Q)+M+681279174)+U,Q=ie(11,21,Q+(X^U^K)+g-358537222)+X,K=ie(16,16,K+(Q^X^U)+b-722521979)+Q,U=ie(23,9,U+(K^Q^X)+w+76029189)+K,X=ie(4,28,X+(U^K^Q)+j-640364487)+U,Q=ie(11,21,Q+(X^U^K)+O-421815835)+X,K=ie(16,16,K+(Q^X^U)+z+530742520)+Q,U=ie(23,9,U+(K^Q^X)+x-995338651)+K,X=ie(6,26,X+(K^(U|~Q))+g-198630844)+U,Q=ie(10,22,Q+(U^(X|~K))+T+1126891415)+X,K=ie(15,17,K+(X^(Q|~U))+G-1416354905)+Q,U=ie(21,11,U+(Q^(K|~X))+A-57434055)+K,X=ie(6,26,X+(K^(U|~Q))+O+1700485571)+U,Q=ie(10,22,Q+(U^(X|~K))+b-1894986606)+X,K=ie(15,17,K+(X^(Q|~U))+C-1051523)+Q,U=ie(21,11,U+(Q^(K|~X))+m-2054922799)+K,X=ie(6,26,X+(K^(U|~Q))+k+1873313359)+U,Q=ie(10,22,Q+(U^(X|~K))+z-30611744)+X,K=ie(15,17,K+(X^(Q|~U))+w-1560198380)+Q,U=ie(21,11,U+(Q^(K|~X))+M+1309151649)+K,X=ie(6,26,X+(K^(U|~Q))+_-145523070)+U,Q=ie(10,22,Q+(U^(X|~K))+D-1120210379)+X,K=ie(15,17,K+(X^(Q|~U))+x+718787259)+Q,U=ie(21,11,U+(Q^(K|~X))+j-343485551)+K,Pe=Pe+16,X=X+J>>>0,U=U+Y>>>0,K=K+le>>>0,Q=Q+ue>>>0);return Au.endian([X,U,K,Q]);function ie(ge,Qe,Se){return Se<<ge|Se>>>Qe}function ye(ge,Qe){for(var Se=-1,it=Math.floor((ge.length-1)/4),_t=0,Or,te,Ie,We;it-8>Se++;)_t=Se<<2,Qe[Se]=ge[_t+0]|ge[_t+1]<<8|ge[_t+2]<<16|ge[_t+3]<<24;for(Se--;it>Se++;)_t=Se<<2,Or=typeof ge[_t+0]>"u"?0:ge[_t+0],te=typeof ge[_t+1]>"u"?0:ge[_t+1],Ie=typeof ge[_t+2]>"u"?0:ge[_t+2],We=typeof ge[_t+3]>"u"?0:ge[_t+3],Qe[Se]=Or|te<<8|Ie<<16|We<<24;return it+1}};return function(h,g,m,x){var b;return t=g.loops,e=g.loop,r=g.getA,i=g.getB,o=g.getC,u=g.getD,l=g.getX,n=g.setA,a=g.setB,s=g.setC,c=g.setD,f=g.setX,p=m,b=Au.wordsToBytes(d(h)),x&&x.asBytes?b:Au.bytesconvertNumberToHex(b)}}function Wqe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j=new Date().getTime(),C=1732584193,D=-271733879,O=-1732584194,M=271733878,G=t.length*8;k=Au.bytesToWords(t);for(var z=0;z<k.length;z++)k[z]=(k[z]<<8|k[z]>>>24)&16711935|(k[z]<<24|k[z]>>>8)&4278255360;k[G>>>5]|=128<<G%32,k[(G+64>>>9<<4)+14]=G;for(var J=0;J<k.length;J+=16)_=C,A=D,w=O,T=M,n=k[J+0]>>>0,i=k[J+1]>>>0,a=k[J+2]>>>0,o=k[J+3]>>>0,s=k[J+4]>>>0,u=k[J+5]>>>0,c=k[J+6]>>>0,l=k[J+7]>>>0,f=k[J+8]>>>0,p=k[J+9]>>>0,d=k[J+10]>>>0,h=k[J+11]>>>0,g=k[J+12]>>>0,m=k[J+13]>>>0,x=k[J+14]>>>0,b=k[J+15]>>>0,C=Y(7,25,C+(D&O|~D&M)+n-680876936)+D,M=Y(12,20,M+(C&D|~C&O)+i-389564586)+C,O=Y(17,15,O+(M&C|~M&D)+a+606105819)+M,D=Y(22,10,D+(O&M|~O&C)+o-1044525330)+O,C=Y(7,25,C+(D&O|~D&M)+s-176418897)+D,M=Y(12,20,M+(C&D|~C&O)+u+1200080426)+C,O=Y(17,15,O+(M&C|~M&D)+c-1473231341)+M,D=Y(22,10,D+(O&M|~O&C)+l-45705983)+O,C=Y(7,25,C+(D&O|~D&M)+f+1770035416)+D,M=Y(12,20,M+(C&D|~C&O)+p-1958414417)+C,O=Y(17,15,O+(M&C|~M&D)+d-42063)+M,D=Y(22,10,D+(O&M|~O&C)+h-1990404162)+O,C=Y(7,25,C+(D&O|~D&M)+g+1804603682)+D,M=Y(12,20,M+(C&D|~C&O)+m-40341101)+C,O=Y(17,15,O+(M&C|~M&D)+x-1502002290)+M,D=Y(22,10,D+(O&M|~O&C)+b+1236535329)+O,C=Y(5,27,C+(D&M|O&~M)+i-165796510)+D,M=Y(9,23,M+(C&O|D&~O)+c-1069501632)+C,O=Y(14,18,O+(M&D|C&~D)+h+643717713)+M,D=Y(20,12,D+(O&C|M&~C)+n-373897302)+O,C=Y(5,27,C+(D&M|O&~M)+u-701558691)+D,M=Y(9,23,M+(C&O|D&~O)+d+38016083)+C,O=Y(14,18,O+(M&D|C&~D)+b-660478335)+M,D=Y(20,12,D+(O&C|M&~C)+s-405537848)+O,C=Y(5,27,C+(D&M|O&~M)+p+568446438)+D,M=Y(9,23,M+(C&O|D&~O)+x-1019803690)+C,O=Y(14,18,O+(M&D|C&~D)+o-187363961)+M,D=Y(20,12,D+(O&C|M&~C)+f+1163531501)+O,C=Y(5,27,C+(D&M|O&~M)+m-1444681467)+D,M=Y(9,23,M+(C&O|D&~O)+a-51403784)+C,O=Y(14,18,O+(M&D|C&~D)+l+1735328473)+M,D=Y(20,12,D+(O&C|M&~C)+g-1926607734)+O,C=Y(4,28,C+(D^O^M)+u-378558)+D,M=Y(11,21,M+(C^D^O)+f-2022574463)+C,O=Y(16,16,O+(M^C^D)+h+1839030562)+M,D=Y(23,9,D+(O^M^C)+x-35309556)+O,C=Y(4,28,C+(D^O^M)+i-1530992060)+D,M=Y(11,21,M+(C^D^O)+s+1272893353)+C,O=Y(16,16,O+(M^C^D)+l-155497632)+M,D=Y(23,9,D+(O^M^C)+d-1094730640)+O,C=Y(4,28,C+(D^O^M)+m+681279174)+D,M=Y(11,21,M+(C^D^O)+n-358537222)+C,O=Y(16,16,O+(M^C^D)+o-722521979)+M,D=Y(23,9,D+(O^M^C)+c+76029189)+O,C=Y(4,28,C+(D^O^M)+p-640364487)+D,M=Y(11,21,M+(C^D^O)+g-421815835)+C,O=Y(16,16,O+(M^C^D)+b+530742520)+M,D=Y(23,9,D+(O^M^C)+a-995338651)+O,C=Y(6,26,C+(O^(D|~M))+n-198630844)+D,M=Y(10,22,M+(D^(C|~O))+l+1126891415)+C,O=Y(15,17,O+(C^(M|~D))+x-1416354905)+M,D=Y(21,11,D+(M^(O|~C))+u-57434055)+O,C=Y(6,26,C+(O^(D|~M))+g+1700485571)+D,M=Y(10,22,M+(D^(C|~O))+o-1894986606)+C,O=Y(15,17,O+(C^(M|~D))+d-1051523)+M,D=Y(21,11,D+(M^(O|~C))+i-2054922799)+O,C=Y(6,26,C+(O^(D|~M))+f+1873313359)+D,M=Y(10,22,M+(D^(C|~O))+b-30611744)+C,O=Y(15,17,O+(C^(M|~D))+c-1560198380)+M,D=Y(21,11,D+(M^(O|~C))+m+1309151649)+O,C=Y(6,26,C+(O^(D|~M))+s-145523070)+D,M=Y(10,22,M+(D^(C|~O))+h-1120210379)+C,O=Y(15,17,O+(C^(M|~D))+a+718787259)+M,D=Y(21,11,D+(M^(O|~C))+p-343485551)+O,C=C+_>>>0,D=D+A>>>0,O=O+w>>>0,M=M+T>>>0;return Au.endian([C,D,O,M]);function Y(le,ue,ce){return ce<<le|ce>>>ue}};return function(t,r){var n=Au.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:Au.bytesconvertNumberToHex(n);return i}}function Kqe(e){var t,r,n,i=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>i++;)n[i]=e.charCodeAt(i);return n}function Jqe(e){return Buffer.from(e,"base64").toString("binary")}function Xre(e){return e}function Yqe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return Au.rotl(t,8)&16711935|Au.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=Au.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var Su=class extends Rc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>rO(t).then(a).catch(o));return Vre(i,r)}};var Fx=Ct(require("crypto"),1),vE=class extends Rc{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Fx.createHash)throw new Error("crypto.createHash not available");let u=(s=Fx.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Fx.createHash)throw new Error("crypto.createHash not available");let n=(u=Fx.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let p of t){let d=new Uint8Array(p);n.update(d),yield p}let i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var kie=require("process");var Qre=Ct(require("stream"),1),nO=class{},Xqe=Qre.Readable||nO;function aO(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new iO(r,t)}var iO=class extends Xqe{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};function Mx(){}function Bn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var xne=Mx;function tr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var SO=Promise,Qqe=Promise.resolve.bind(SO),Zqe=Promise.prototype.then,eNe=Promise.reject.bind(SO),tNe=Qqe;function Un(e){return new SO(e)}function rr(e){return Un(t=>t(e))}function at(e){return eNe(e)}function ku(e,t,r){return Zqe.call(e,t,r)}function Da(e,t,r){ku(ku(e,t,r),void 0,xne)}function oO(e,t){Da(e,t)}function mO(e,t){Da(e,void 0,t)}function zc(e,t,r){return ku(e,t,r)}function X0(e){ku(e,void 0,xne)}var md=e=>{if(typeof queueMicrotask=="function")md=queueMicrotask;else{let t=rr(void 0);md=r=>ku(t,r)}return md(e)};function gd(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function $c(e,t,r){try{return rr(gd(e,t,r))}catch(n){return at(n)}}var ka=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},yne=Symbol("[[AbortSteps]]"),bne=Symbol("[[ErrorSteps]]"),TO=Symbol("[[CancelSteps]]"),CO=Symbol("[[PullSteps]]"),DO=Symbol("[[ReleaseSteps]]");function _ne(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?gO(e):t._state==="closed"?function(r){gO(r),Ene(r)}(e):wne(e,t._storedError)}function kO(e,t){return _s(e._ownerReadableStream,t)}function Gc(e){let t=e._ownerReadableStream;t._state==="readable"?FO(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){wne(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[DO](),t._reader=void 0,e._ownerReadableStream=void 0}function OE(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function gO(e){e._closedPromise=Un((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function wne(e,t){gO(e),FO(e,t)}function FO(e,t){e._closedPromise_reject!==void 0&&(X0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Ene(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Zre=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},rNe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Fu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function Co(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Ane(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Hc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function vO(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function BO(e){return Number(e)}function ene(e){return e===0?0:e}function OO(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=ene(n),!Zre(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return ene(rNe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Zre(n)&&n!==0?n:0}function PO(e,t){if(!df(e))throw new TypeError(`${t} is not a ReadableStream.`)}function V0(e){return new Lc(e)}function Sne(e,t){e._reader._readRequests.push(t)}function IO(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function NE(e){return e._reader._readRequests.length}function Tne(e){let t=e._reader;return t!==void 0&&!!hf(t)}var Lc=class{constructor(t){if(Hc(t,1,"ReadableStreamDefaultReader"),PO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");_ne(this,t),this._readRequests=new ka}get closed(){return hf(this)?this._closedPromise:at(xE("closed"))}cancel(t=void 0){return hf(this)?this._ownerReadableStream===void 0?at(OE("cancel")):kO(this,t):at(xE("cancel"))}read(){if(!hf(this))return at(xE("read"));if(this._ownerReadableStream===void 0)return at(OE("read from"));let t,r,n=Un((i,a)=>{t=i,r=a});return Rx(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!hf(this))throw xE("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");Cne(t,r)}(this)}};function hf(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Lc}function Rx(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[CO](t)}function Cne(e,t){let r=e._readRequests;e._readRequests=new ka,r.forEach(n=>{n._errorSteps(t)})}function xE(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var sO,uO,cO;function Ox(e){return e.slice()}function Dne(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Lc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Lc.prototype.cancel,"cancel"),tr(Lc.prototype.read,"read"),tr(Lc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var vd=e=>(vd=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,vd(e)),xd=e=>(xd=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,xd(e));function kne(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Dne(i,0,e,t,n),i}function Px(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function tne(e){try{let t=e.done,r=e.value;return ku(tNe(r),n=>({done:t,value:n}))}catch(t){return at(t)}}var $x=(cO=(sO=Symbol.asyncIterator)!==null&&sO!==void 0?sO:(uO=Symbol.for)===null||uO===void 0?void 0:uO.call(Symbol,"Symbol.asyncIterator"))!==null&&cO!==void 0?cO:"@@asyncIterator";function Fne(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Px(e,$x))===void 0)return function(i){let a={next(){let o;try{o=Bne(i)}catch(s){return at(s)}return tne(o)},return(o){let s;try{let u=Px(i.iterator,"return");if(u===void 0)return rr({done:!0,value:o});s=gd(u,i.iterator,[o])}catch(u){return at(u)}return Bn(s)?tne(s):at(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Fne(e,"sync",Px(e,Symbol.iterator)))}else r=Px(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=gd(r,e,[]);if(!Bn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Bne(e){let t=gd(e.nextMethod,e.iterator,[]);if(!Bn(t))throw new TypeError("The iterator.next() method must return an object");return t}var PE=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?zc(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?zc(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Un((a,o)=>{r=a,n=o});return Rx(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,md(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=kO(r,t);return Gc(r),zc(n,()=>({value:t,done:!0}))}return Gc(r),rr({value:t,done:!0})}},One={next(){return rne(this)?this._asyncIteratorImpl.next():at(nne("next"))},return(e){return rne(this)?this._asyncIteratorImpl.return(e):at(nne("return"))},[$x](){return this}};function rne(e){if(!Bn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof PE}catch{return!1}}function nne(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(One,$x,{enumerable:!1});var Pne=Number.isNaN||function(e){return e!=e};function ine(e){let t=kne(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function xO(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function jO(e,t,r){if(typeof(n=r)!="number"||Pne(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function vf(e){e._queue=new ka,e._queueTotalSize=0}function Ine(e){return e===DataView}var mf=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lO(this))throw fO("view");return this._view}respond(t){if(!lO(this))throw fO("respond");if(Hc(t,1,"respond"),t=OO(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xd(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");DE(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!lO(this))throw fO("respondWithNewView");if(Hc(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xd(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");kE(this._associatedReadableByteStreamController,t)}};Object.defineProperties(mf.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),tr(mf.prototype.respond,"respond"),tr(mf.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mf.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var Cu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!dd(this))throw Bx("byobRequest");return _O(this)}get desiredSize(){if(!dd(this))throw Bx("desiredSize");return Hne(this)}close(){if(!dd(this))throw Bx("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);Ix(this)}enqueue(t){if(!dd(this))throw Bx("enqueue");if(Hc(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);CE(this,t)}error(t=void 0){if(!dd(this))throw Bx("error");To(this,t)}[TO](t){jne(this),vf(this);let r=this._cancelAlgorithm(t);return UE(this),r}[CO](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void zne(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}Sne(r,t),_d(this)}[DO](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new ka,this._pendingPullIntos.push(t)}}};function dd(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof Cu}function lO(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof mf}function _d(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(Tne(n)&&NE(n)>0||RO(n)&&Wne(n)>0||Hne(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Da(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,_d(e)),null),r=>(To(e,r),null))}}function jne(e){MO(e),e._pendingPullIntos=new ka}function yO(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Mne(t);t.readerType==="default"?IO(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Mne(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function TE(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Rne(e,t,r,n){let i;try{i=kne(t,r,r+n)}catch(a){throw To(e,a),a}TE(e,i,0,n)}function Lne(e,t){t.bytesFilled>0&&Rne(e,t.buffer,t.byteOffset,t.bytesFilled),W0(e)}function qne(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Dne(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,Nne(e,c,t),i-=c}return a}function Nne(e,t,r){r.bytesFilled+=t}function Une(e){e._queueTotalSize===0&&e._closeRequested?(UE(e),Vx(e._controlledReadableByteStream)):_d(e)}function MO(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function bO(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();qne(e,t)&&(W0(e),yO(e._controlledReadableByteStream,t))}}function nNe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Ine(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=vd(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void ane(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(qne(e,f)){let p=Mne(f);return Une(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return To(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),ane(i,n),_d(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function Gne(e,t){let r=e._pendingPullIntos.peek();MO(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&W0(n);let a=n._controlledReadableByteStream;if(RO(a))for(;Wne(a)>0;)yO(a,W0(n))}(e,r):function(n,i,a){if(Nne(0,i,a),a.readerType==="none")return Lne(n,a),void bO(n);if(a.bytesFilled<a.minimumFill)return;W0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Rne(n,a.buffer,s-o,o)}a.bytesFilled-=o,yO(n._controlledReadableByteStream,a),bO(n)}(e,t,r),_d(e)}function W0(e){return e._pendingPullIntos.shift()}function UE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Ix(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!=0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw To(e,n),n}}UE(e),Vx(t)}}function CE(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(xd(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=vd(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(xd(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");MO(e),s.buffer=vd(s.buffer),s.readerType==="none"&&Lne(e,s)}Tne(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;zne(s,u._readRequests.shift())}}(e),NE(r)===0?TE(e,o,i,a):(e._pendingPullIntos.length>0&&W0(e),IO(r,new Uint8Array(o,i,a),!1))):RO(r)?(TE(e,o,i,a),bO(e)):TE(e,o,i,a),_d(e)}function To(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(jne(e),vf(e),UE(e),die(r,t))}function zne(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Une(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function _O(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(mf.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Hne(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function DE(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=vd(r.buffer),Gne(e,t)}function kE(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=vd(t.buffer),Gne(e,n)}function $ne(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,vf(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new ka,e._readableStreamController=t,Da(rr(r()),()=>(t._started=!0,_d(t),null),s=>(To(t,s),null))}function fO(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Bx(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function iNe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Vne(e){return new qc(e)}function ane(e,t){e._reader._readIntoRequests.push(t)}function Wne(e){return e._reader._readIntoRequests.length}function RO(e){let t=e._reader;return t!==void 0&&!!hd(t)}Object.defineProperties(Cu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Cu.prototype.close,"close"),tr(Cu.prototype.enqueue,"enqueue"),tr(Cu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Cu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var qc=class{constructor(t){if(Hc(t,1,"ReadableStreamBYOBReader"),PO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!dd(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");_ne(this,t),this._readIntoRequests=new ka}get closed(){return hd(this)?this._closedPromise:at(yE("closed"))}cancel(t=void 0){return hd(this)?this._ownerReadableStream===void 0?at(OE("cancel")):kO(this,t):at(yE("cancel"))}read(t,r={}){if(!hd(this))return at(yE("read"));if(!ArrayBuffer.isView(t))return at(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return at(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return at(new TypeError("view's buffer must have non-zero byteLength"));if(xd(t.buffer))return at(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return Fu(u,c),{min:OO((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return at(u)}let i=n.min;if(i===0)return at(new TypeError("options.min must be greater than 0"));if(function(u){return Ine(u.constructor)}(t)){if(i>t.byteLength)return at(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return at(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return at(OE("read from"));let a,o,s=Un((u,c)=>{a=u,o=c});return Kne(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!hd(this))throw yE("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");Jne(t,r)}(this)}};function hd(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof qc}function Kne(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):nNe(i._readableStreamController,t,r,n)}function Jne(e,t){let r=e._readIntoRequests;e._readIntoRequests=new ka,r.forEach(n=>{n._errorSteps(t)})}function yE(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Lx(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Pne(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function IE(e){let{size:t}=e;return t||(()=>1)}function jE(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:BO(r),size:n===void 0?void 0:aNe(n,`${t} has member 'size' that`)}}function aNe(e,t){return Co(e,t),r=>BO(e(r))}function oNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function sNe(e,t,r){return Co(e,r),()=>$c(e,t,[])}function uNe(e,t,r){return Co(e,r),n=>gd(e,t,[n])}function cNe(e,t,r){return Co(e,r),(n,i)=>$c(e,t,[n,i])}function Yne(e,t){if(!$0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(qc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(qc.prototype.cancel,"cancel"),tr(qc.prototype.read,"read"),tr(qc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var lNe=typeof AbortController=="function",Nc=class{constructor(t={},r={}){t===void 0?t=null:Ane(t,"First parameter");let n=jE(r,"Second parameter"),i=function(o,s){Fu(o,s);let u=o==null?void 0:o.abort,c=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,p=o==null?void 0:o.write;return{abort:u===void 0?void 0:oNe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:sNe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:uNe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:cNe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(Qne(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=IE(n);(function(o,s,u,c){let l=Object.create(yd.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?g=>s.write(g,l):()=>rr(void 0),d=s.close!==void 0?()=>s.close():()=>rr(void 0),h=s.abort!==void 0?g=>s.abort(g):()=>rr(void 0),aie(o,l,f,p,d,h,u,c)})(this,i,Lx(n,1),a)}get locked(){if(!$0(this))throw _E("locked");return K0(this)}abort(t=void 0){return $0(this)?K0(this)?at(new TypeError("Cannot abort a stream that already has a writer")):ME(this,t):at(_E("abort"))}close(){return $0(this)?K0(this)?at(new TypeError("Cannot close a stream that already has a writer")):Bu(this)?at(new TypeError("Cannot close an already-closing stream")):Zne(this):at(_E("close"))}getWriter(){if(!$0(this))throw _E("getWriter");return Xne(this)}};function Xne(e){return new Tu(e)}function Qne(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new ka,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function $0(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Nc}function K0(e){return e._writer!==void 0}function ME(e,t){var r;if(e._state==="closed"||e._state==="errored")return rr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return rr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Un((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||LO(e,t),a}function Zne(e){let t=e._state;if(t==="closed"||t==="errored")return at(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Un((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&zO(n),jO(i=e._writableStreamController,iie,0),GE(i),r}function wO(e,t){e._state!=="writable"?qO(e):LO(e,t)}function LO(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&tie(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&qO(e)}function qO(e){e._state="errored",e._writableStreamController[bne]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new ka,e._pendingAbortRequest===void 0)return void bE(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void bE(e);Da(e._writableStreamController[yne](r._reason),()=>(r._resolve(),bE(e),null),n=>(r._reject(n),bE(e),null))}function Bu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function bE(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&GO(t,e._storedError)}function NO(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){zE(n)}(r):zO(r)),e._backpressure=t}Object.defineProperties(Nc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),tr(Nc.prototype.abort,"abort"),tr(Nc.prototype.close,"close"),tr(Nc.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nc.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var Tu=class{constructor(t){if(Hc(t,1,"WritableStreamDefaultWriter"),Yne(t,"First parameter"),K0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!Bu(t)&&t._backpressure?zE(this):one(this),FE(this);else if(r==="erroring")EO(this,t._storedError),FE(this);else if(r==="closed")one(this),FE(n=this),cie(n);else{let i=t._storedError;EO(this,i),uie(this,i)}var n}get closed(){return ld(this)?this._closedPromise:at(fd("closed"))}get desiredSize(){if(!ld(this))throw fd("desiredSize");if(this._ownerWritableStream===void 0)throw jx("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:oie(r._writableStreamController)}(this)}get ready(){return ld(this)?this._readyPromise:at(fd("ready"))}abort(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jx("abort")):function(r,n){return ME(r._ownerWritableStream,n)}(this,t):at(fd("abort"))}close(){if(!ld(this))return at(fd("close"));let t=this._ownerWritableStream;return t===void 0?at(jx("close")):Bu(t)?at(new TypeError("Cannot close an already-closing stream")):eie(this)}releaseLock(){if(!ld(this))throw fd("releaseLock");this._ownerWritableStream!==void 0&&rie(this)}write(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jx("write to")):nie(this,t):at(fd("write"))}};function ld(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof Tu}function eie(e){return Zne(e._ownerWritableStream)}function fNe(e,t){e._closedPromiseState==="pending"?GO(e,t):function(r,n){uie(r,n)}(e,t)}function tie(e,t){e._readyPromiseState==="pending"?lie(e,t):function(r,n){EO(r,n)}(e,t)}function rie(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");tie(e,r),fNe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function nie(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return qx(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return at(jx("write to"));let a=r._state;if(a==="errored")return at(r._storedError);if(Bu(r)||a==="closed")return at(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return at(r._storedError);let o=function(s){return Un((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{jO(s,u,c)}catch(f){return void qx(s,f)}let l=s._controlledWritableStream;!Bu(l)&&l._state==="writable"&&NO(l,UO(s)),GE(s)}(n,t,i),o}Object.defineProperties(Tu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),tr(Tu.prototype.abort,"abort"),tr(Tu.prototype.close,"close"),tr(Tu.prototype.releaseLock,"releaseLock"),tr(Tu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var iie={},yd=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pO(this))throw dO("abortReason");return this._abortReason}get signal(){if(!pO(this))throw dO("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!pO(this))throw dO("error");this._controlledWritableStream._state==="writable"&&sie(this,t)}[yne](t){let r=this._abortAlgorithm(t);return RE(this),r}[bne](){vf(this)}};function pO(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof yd}function aie(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,vf(t),t._abortReason=void 0,t._abortController=function(){if(lNe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=UO(t);NO(e,u),Da(rr(r()),()=>(t._started=!0,GE(t),null),c=>(t._started=!0,wO(e,c),null))}function RE(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function oie(e){return e._strategyHWM-e._queueTotalSize}function GE(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void qO(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===iie?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),xO(n);let a=n._closeAlgorithm();RE(n),Da(a,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&cie(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),wO(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);Da(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(xO(n),!Bu(a)&&s==="writable"){let u=UO(n);NO(a,u)}return GE(n),null},s=>(a._state==="writable"&&RE(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,wO(u,c)}(a,s),null))}(e,r)}function qx(e,t){e._controlledWritableStream._state==="writable"&&sie(e,t)}function UO(e){return oie(e)<=0}function sie(e,t){let r=e._controlledWritableStream;RE(e),LO(r,t)}function _E(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function dO(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function fd(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function jx(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function FE(e){e._closedPromise=Un((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function uie(e,t){FE(e),GO(e,t)}function GO(e,t){e._closedPromise_reject!==void 0&&(X0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function cie(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function zE(e){e._readyPromise=Un((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function EO(e,t){zE(e),lie(e,t)}function one(e){zE(e),zO(e)}function lie(e,t){e._readyPromise_reject!==void 0&&(X0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function zO(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(yd.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var sne=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,pNe=function(){let e=sne==null?void 0:sne.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return tr(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function une(e,t,r,n,i,a){let o=V0(e),s=Xne(t);e._disturbed=!0;let u=!1,c=rr(void 0);return Un((l,f)=>{let p;if(a!==void 0){if(p=()=>{let w=a.reason!==void 0?a.reason:new pNe("Aborted","AbortError"),T=[];n||T.push(()=>t._state==="writable"?ME(t,w):rr(void 0)),i||T.push(()=>e._state==="readable"?_s(e,w):rr(void 0)),b(()=>Promise.all(T.map(k=>k())),!0,w)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,g;if(x(e,o._closedPromise,w=>(n?_(!0,w):b(()=>ME(t,w),!0,w),null)),x(t,s._closedPromise,w=>(i?_(!0,w):b(()=>_s(e,w),!0,w),null)),d=e,h=o._closedPromise,g=()=>(r?_():b(()=>function(w){let T=w._ownerWritableStream,k=T._state;return Bu(T)||k==="closed"?rr(void 0):k==="errored"?at(T._storedError):eie(w)}(s)),null),d._state==="closed"?g():oO(h,g),Bu(t)||t._state==="closed"){let w=new TypeError("the destination writable stream closed before all data could be piped to it");i?_(!0,w):b(()=>_s(e,w),!0,w)}function m(){let w=c;return ku(c,()=>w!==c?m():void 0)}function x(w,T,k){w._state==="errored"?k(w._storedError):mO(T,k)}function b(w,T,k){function j(){return Da(w(),()=>A(T,k),C=>A(!0,C)),null}u||(u=!0,t._state!=="writable"||Bu(t)?j():oO(m(),j))}function _(w,T){u||(u=!0,t._state!=="writable"||Bu(t)?A(w,T):oO(m(),()=>A(w,T)))}function A(w,T){return rie(s),Gc(o),a!==void 0&&a.removeEventListener("abort",p),w?f(T):l(void 0),null}X0(Un((w,T)=>{(function k(j){j?w():ku(u?rr(!0):ku(s._readyPromise,()=>Un((C,D)=>{Rx(o,{_chunkSteps:O=>{c=ku(nie(s,O),void 0,Mx),C(!1)},_closeSteps:()=>C(!0),_errorSteps:D})})),k,T)})(!1)}))})}var Du=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!wE(this))throw EE("desiredSize");return HO(this)}close(){if(!wE(this))throw EE("close");if(!Y0(this))throw new TypeError("The stream is not in a state that permits close");bd(this)}enqueue(t=void 0){if(!wE(this))throw EE("enqueue");if(!Y0(this))throw new TypeError("The stream is not in a state that permits enqueue");return J0(this,t)}error(t=void 0){if(!wE(this))throw EE("error");ws(this,t)}[TO](t){vf(this);let r=this._cancelAlgorithm(t);return LE(this),r}[CO](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=xO(this);this._closeRequested&&this._queue.length===0?(LE(this),Vx(r)):Nx(this),t._chunkSteps(n)}else Sne(r,t),Nx(this)}[DO](){}};function wE(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof Du}function Nx(e){if(fie(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Da(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Nx(e)),null),t=>(ws(e,t),null))}}function fie(e){let t=e._controlledReadableStream;return!Y0(e)||!e._started?!1:gf(t)&&NE(t)>0?!0:HO(e)>0}function LE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function bd(e){if(!Y0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(LE(e),Vx(t))}function J0(e,t){if(!Y0(e))return;let r=e._controlledReadableStream;if(gf(r)&&NE(r)>0)IO(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw ws(e,i),i}try{jO(e,t,n)}catch(i){throw ws(e,i),i}}Nx(e)}function ws(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(vf(e),LE(e),die(r,t))}function HO(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Y0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function pie(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,vf(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,Da(rr(r()),()=>(t._started=!0,Nx(t),null),s=>(ws(t,s),null))}function EE(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function dNe(e,t){return dd(e._readableStreamController)?function(r){let n,i,a,o,s,u=V0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Un(k=>{s=k});function g(k){mO(k._closedPromise,j=>(k!==u||(To(a._readableStreamController,j),To(o._readableStreamController,j),p&&d||s(void 0)),null))}function m(){hd(u)&&(Gc(u),u=V0(r),g(u)),Rx(u,{_chunkSteps:k=>{md(()=>{l=!1,f=!1;let j=k,C=k;if(!p&&!d)try{C=ine(k)}catch(D){return To(a._readableStreamController,D),To(o._readableStreamController,D),void s(_s(r,D))}p||CE(a._readableStreamController,j),d||CE(o._readableStreamController,C),c=!1,l?b():f&&_()})},_closeSteps:()=>{c=!1,p||Ix(a._readableStreamController),d||Ix(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&DE(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&DE(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function x(k,j){hf(u)&&(Gc(u),u=Vne(r),g(u));let C=j?o:a,D=j?a:o;Kne(u,k,1,{_chunkSteps:O=>{md(()=>{l=!1,f=!1;let M=j?d:p;if(j?p:d)M||kE(C._readableStreamController,O);else{let G;try{G=ine(O)}catch(z){return To(C._readableStreamController,z),To(D._readableStreamController,z),void s(_s(r,z))}M||kE(C._readableStreamController,O),CE(D._readableStreamController,G)}c=!1,l?b():f&&_()})},_closeSteps:O=>{c=!1;let M=j?d:p,G=j?p:d;M||Ix(C._readableStreamController),G||Ix(D._readableStreamController),O!==void 0&&(M||kE(C._readableStreamController,O),!G&&D._readableStreamController._pendingPullIntos.length>0&&DE(D._readableStreamController,0)),M&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function b(){if(c)return l=!0,rr(void 0);c=!0;let k=_O(a._readableStreamController);return k===null?m():x(k._view,!1),rr(void 0)}function _(){if(c)return f=!0,rr(void 0);c=!0;let k=_O(o._readableStreamController);return k===null?m():x(k._view,!0),rr(void 0)}function A(k){if(p=!0,n=k,d){let j=Ox([n,i]),C=_s(r,j);s(C)}return h}function w(k){if(d=!0,i=k,p){let j=Ox([n,i]),C=_s(r,j);s(C)}return h}function T(){}return a=lne(T,b,A),o=lne(T,_,w),g(u),[a,o]}(e):function(r,n){let i=V0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Un(_=>{c=_});function g(){return l?(f=!0,rr(void 0)):(l=!0,Rx(i,{_chunkSteps:_=>{md(()=>{f=!1;let A=_,w=_;p||J0(s._readableStreamController,A),d||J0(u._readableStreamController,w),l=!1,f&&g()})},_closeSteps:()=>{l=!1,p||bd(s._readableStreamController),d||bd(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),rr(void 0))}function m(_){if(p=!0,a=_,d){let A=Ox([a,o]),w=_s(r,A);c(w)}return h}function x(_){if(d=!0,o=_,p){let A=Ox([a,o]),w=_s(r,A);c(w)}return h}function b(){}return s=Ux(b,g,m),u=Ux(b,g,x),mO(i._closedPromise,_=>(ws(s._readableStreamController,_),ws(u._readableStreamController,_),p&&d||c(void 0),null)),[s,u]}(e)}function hNe(e){return Bn(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return at(s)}return zc(o,s=>{if(!Bn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)bd(n._readableStreamController);else{let u=s.value;J0(n._readableStreamController,u)}})}function a(o){try{return rr(r.cancel(o))}catch(s){return at(s)}}return n=Ux(Mx,i,a,0),n}(e.getReader()):function(r){let n,i=Fne(r,"async");function a(){let s;try{s=Bne(i)}catch(u){return at(u)}return zc(rr(s),u=>{if(!Bn(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)bd(n._readableStreamController);else{let c=u.value;J0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Px(u,"return")}catch(l){return at(l)}return c===void 0?rr(void 0):zc($c(c,u,[s]),l=>{if(!Bn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=Ux(Mx,a,o,0),n}(e);var t}function mNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function gNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function vNe(e,t,r){return Co(e,r),n=>gd(e,t,[n])}function xNe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function cne(e,t){Fu(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(Du.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Du.prototype.close,"close"),tr(Du.prototype.enqueue,"enqueue"),tr(Du.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Du.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var ti=class{constructor(t={},r={}){t===void 0?t=null:Ane(t,"First parameter");let n=jE(r,"Second parameter"),i=function(a,o){Fu(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,p=s==null?void 0:s.type;return{autoAllocateChunkSize:u===void 0?void 0:OO(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:mNe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:gNe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:vNe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:xNe(p,`${o} has member 'type' that`)}}(t,"First parameter");if($O(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(Cu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>rr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>rr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");$ne(a,u,c,l,f,s,p)})(this,i,Lx(n,0))}else{let a=IE(n);(function(o,s,u,c){let l=Object.create(Du.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>rr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>rr(void 0),pie(o,l,f,p,d,u,c)})(this,i,Lx(n,1),a)}}get locked(){if(!df(this))throw pd("locked");return gf(this)}cancel(t=void 0){return df(this)?gf(this)?at(new TypeError("Cannot cancel a stream that already has a reader")):_s(this,t):at(pd("cancel"))}getReader(t=void 0){if(!df(this))throw pd("getReader");return function(r,n){Fu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:iNe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?V0(this):Vne(this)}pipeThrough(t,r={}){if(!df(this))throw pd("pipeThrough");Hc(t,1,"pipeThrough");let n=function(a,o){Fu(a,o);let s=a==null?void 0:a.readable;vO(s,"readable","ReadableWritablePair"),PO(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return vO(u,"writable","ReadableWritablePair"),Yne(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=cne(r,"Second parameter");if(gf(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(K0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return X0(une(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!df(this))return at(pd("pipeTo"));if(t===void 0)return at("Parameter 1 is required in 'pipeTo'.");if(!$0(t))return at(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=cne(r,"Second parameter")}catch(i){return at(i)}return gf(this)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):K0(t)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):une(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!df(this))throw pd("tee");return Ox(dNe(this))}values(t=void 0){if(!df(this))throw pd("values");return function(r,n){let i=V0(r),a=new PE(i,n),o=Object.create(One);return o._asyncIteratorImpl=a,o}(this,function(r,n){Fu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[$x](t){return this.values(t)}static from(t){return hNe(t)}};function Ux(e,t,r,n=1,i=()=>1){let a=Object.create(ti.prototype);return $O(a),pie(a,Object.create(Du.prototype),e,t,r,n,i),a}function lne(e,t,r){let n=Object.create(ti.prototype);return $O(n),$ne(n,Object.create(Cu.prototype),e,t,r,0,void 0),n}function $O(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function df(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof ti}function gf(e){return e._reader!==void 0}function _s(e,t){if(e._disturbed=!0,e._state==="closed")return rr(void 0);if(e._state==="errored")return at(e._storedError);Vx(e);let r=e._reader;if(r!==void 0&&hd(r)){let n=r._readIntoRequests;r._readIntoRequests=new ka,n.forEach(i=>{i._closeSteps(void 0)})}return zc(e._readableStreamController[TO](t),Mx)}function Vx(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Ene(t),hf(t))){let r=t._readRequests;t._readRequests=new ka,r.forEach(n=>{n._closeSteps()})}}function die(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(FO(r,t),hf(r)?Cne(r,t):Jne(r,t))}function pd(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function hie(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark;return vO(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:BO(r)}}Object.defineProperties(ti,{from:{enumerable:!0}}),Object.defineProperties(ti.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),tr(ti.from,"from"),tr(ti.prototype.cancel,"cancel"),tr(ti.prototype.getReader,"getReader"),tr(ti.prototype.pipeThrough,"pipeThrough"),tr(ti.prototype.pipeTo,"pipeTo"),tr(ti.prototype.tee,"tee"),tr(ti.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ti.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(ti.prototype,$x,{value:ti.prototype.values,writable:!0,configurable:!0});var mie=e=>e.byteLength;tr(mie,"size");var Gx=class{constructor(t){Hc(t,1,"ByteLengthQueuingStrategy"),t=hie(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!pne(this))throw fne("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!pne(this))throw fne("size");return mie}};function fne(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function pne(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof Gx}Object.defineProperties(Gx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Gx.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var gie=()=>1;tr(gie,"size");var zx=class{constructor(t){Hc(t,1,"CountQueuingStrategy"),t=hie(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!hne(this))throw dne("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!hne(this))throw dne("size");return gie}};function dne(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function hne(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof zx}function yNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function bNe(e,t,r){return Co(e,r),n=>gd(e,t,[n])}function _Ne(e,t,r){return Co(e,r),(n,i)=>$c(e,t,[n,i])}function wNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}Object.defineProperties(zx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zx.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var Hx=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=jE(r,"Second parameter"),a=jE(n,"Third parameter"),o=function(p,d){Fu(p,d);let h=p==null?void 0:p.cancel,g=p==null?void 0:p.flush,m=p==null?void 0:p.readableType,x=p==null?void 0:p.start,b=p==null?void 0:p.transform,_=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:wNe(h,p,`${d} has member 'cancel' that`),flush:g===void 0?void 0:yNe(g,p,`${d} has member 'flush' that`),readableType:m,start:x===void 0?void 0:bNe(x,p,`${d} has member 'start' that`),transform:b===void 0?void 0:_Ne(b,p,`${d} has member 'transform' that`),writableType:_}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=Lx(a,0),u=IE(a),c=Lx(i,1),l=IE(i),f;(function(p,d,h,g,m,x){function b(){return d}function _(j){return function(C,D){let O=C._transformStreamController;return C._backpressure?zc(C._backpressureChangePromise,()=>{let M=C._writable;if(M._state==="erroring")throw M._storedError;return gne(O,D)}):gne(O,D)}(p,j)}function A(j){return function(C,D){let O=C._transformStreamController;if(O._finishPromise!==void 0)return O._finishPromise;let M=C._readable;O._finishPromise=Un((z,J)=>{O._finishPromise_resolve=z,O._finishPromise_reject=J});let G=O._cancelAlgorithm(D);return BE(O),Da(G,()=>(M._state==="errored"?H0(O,M._storedError):(ws(M._readableStreamController,D),hO(O)),null),z=>(ws(M._readableStreamController,z),H0(O,z),null)),O._finishPromise}(p,j)}function w(){return function(j){let C=j._transformStreamController;if(C._finishPromise!==void 0)return C._finishPromise;let D=j._readable;C._finishPromise=Un((M,G)=>{C._finishPromise_resolve=M,C._finishPromise_reject=G});let O=C._flushAlgorithm();return BE(C),Da(O,()=>(D._state==="errored"?H0(C,D._storedError):(bd(D._readableStreamController),hO(C)),null),M=>(ws(D._readableStreamController,M),H0(C,M),null)),C._finishPromise}(p)}function T(){return function(j){return qE(j,!1),j._backpressureChangePromise}(p)}function k(j){return function(C,D){let O=C._transformStreamController;if(O._finishPromise!==void 0)return O._finishPromise;let M=C._writable;O._finishPromise=Un((z,J)=>{O._finishPromise_resolve=z,O._finishPromise_reject=J});let G=O._cancelAlgorithm(D);return BE(O),Da(G,()=>(M._state==="errored"?H0(O,M._storedError):(qx(M._writableStreamController,D),AO(C),hO(O)),null),z=>(qx(M._writableStreamController,z),AO(C),H0(O,z),null)),O._finishPromise}(p,j)}p._writable=function(j,C,D,O,M=1,G=()=>1){let z=Object.create(Nc.prototype);return Qne(z),aie(z,Object.create(yd.prototype),j,C,D,O,M,G),z}(b,_,w,A,h,g),p._readable=Ux(b,T,k,m,x),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,qE(p,!0),p._transformStreamController=void 0})(this,Un(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(Uc.prototype),g,m,x;g=d.transform!==void 0?b=>d.transform(b,h):b=>{try{return xie(h,b),rr(void 0)}catch(_){return at(_)}},m=d.flush!==void 0?()=>d.flush(h):()=>rr(void 0),x=d.cancel!==void 0?b=>d.cancel(b):()=>rr(void 0),function(b,_,A,w,T){_._controlledTransformStream=b,b._transformStreamController=_,_._transformAlgorithm=A,_._flushAlgorithm=w,_._cancelAlgorithm=T,_._finishPromise=void 0,_._finishPromise_resolve=void 0,_._finishPromise_reject=void 0}(p,h,g,m,x)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!mne(this))throw vne("readable");return this._readable}get writable(){if(!mne(this))throw vne("writable");return this._writable}};function mne(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof Hx}function vie(e,t){ws(e._readable._readableStreamController,t),VO(e,t)}function VO(e,t){BE(e._transformStreamController),qx(e._writable._writableStreamController,t),AO(e)}function AO(e){e._backpressure&&qE(e,!1)}function qE(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Un(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(Hx.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hx.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Uc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!AE(this))throw SE("desiredSize");return HO(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!AE(this))throw SE("enqueue");xie(this,t)}error(t=void 0){if(!AE(this))throw SE("error");var r;r=t,vie(this._controlledTransformStream,r)}terminate(){if(!AE(this))throw SE("terminate");(function(t){let r=t._controlledTransformStream;bd(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");VO(r,n)})(this)}};function AE(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Uc}function BE(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function xie(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Y0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{J0(n,t)}catch(a){throw VO(r,a),r._readable._storedError}(function(a){return!fie(a)})(n)!==r._backpressure&&qE(r,!0)}function gne(e,t){return zc(e._transformAlgorithm(t),void 0,r=>{throw vie(e._controlledTransformStream,r),r})}function SE(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function hO(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function H0(e,t){e._finishPromise_reject!==void 0&&(X0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function vne(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Uc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Uc.prototype.enqueue,"enqueue"),tr(Uc.prototype.error,"error"),tr(Uc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Uc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var HE=class extends ti{};var $E=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(i){t.error(i);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var VE=class extends HE{_chunks;constructor(t){super(new $E(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var wd=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof wd)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=ENe(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new wd([],{type:n});if(u===0)return c;let l=0,f=[];for(let p of a){let{byteLength:d}=p;if(o>0&&d<=o)o-=d,s-=d;else{let h=p.subarray(o,Math.min(d,s));if(f.push(h),l+=h.byteLength,o=0,l>=u)break}}return c.parts=f,c.size=l,c}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new VE(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function ENe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function ANe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=wd),globalThis.Blob}var SNe=ANe();var WE=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${hv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var KE=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function yie(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=WE),typeof File>"u"&&!globalThis.File&&(globalThis.File=KE),global}var TNe=yie();var WO=Ct(require("module"),1),bie=Ct(require("path"),1),YE=Ct(require("fs"),1);async function _ie(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():YE.default.readFileSync(e).buffer}async function wie(e){return e.startsWith("http")?await(await fetch(e)).text():YE.default.readFileSync(e,"utf8")}async function Eie(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return JE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=YE.default.readFileSync(e,"utf8");return JE(t)}function JE(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=WO.default._nodeModulePaths(bie.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new WO.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var Es=class{map;constructor(t){this.map={},t instanceof Es?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=Wx(t),r=Aie(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[Wx(t)]}get(t){return t=Wx(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(Wx(t))}set(t,r){this.map[Wx(t)]=Aie(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),KO(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),KO(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),KO(t)}*[Symbol.iterator](){yield*this.entries()}};function Wx(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function Aie(e){return typeof e!="string"&&(e=String(e)),e}function KO(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function JO(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var XO=Ct(require("stream"),1),CNe=e=>typeof e=="boolean",Sie=e=>typeof e=="function",DNe=e=>e!==null&&typeof e=="object",YO=e=>DNe(e)&&Sie(e.read)&&Sie(e.pipe)&&CNe(e.readable),Vc=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new Es((r==null?void 0:r.headers)||{}),YO(t)?this._body=dE(t,n):typeof t=="string"?this._body=XO.Readable.from([new TextEncoder().encode(t)]):this._body=XO.Readable.from([t||new ArrayBuffer(0)])}get body(){return JO(!this.bodyUsed),JO(YO(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return YO(this._body)?await Gre(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var Cie=Ct(require("http"),1),Die=Ct(require("https"),1);var kNe=e=>e&&e instanceof ArrayBuffer,FNe=e=>e&&e instanceof Buffer;function Tie(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:BNe(r),mimeType:n}}function BNe(e){if(kNe(e))return e;if(FNe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(`toArrayBuffer(${JSON.stringify(e,null,2).slice(10)})`)}var QO=e=>e.startsWith("data:"),ONe=e=>e.startsWith("http:")||e.startsWith("https:");async function Kx(e,t){try{if(globalThis.fetch!==Kx&&(ONe(e)||QO(e)))return await fetch(e,t);if(QO(e)){let{arrayBuffer:c,mimeType:l}=Tie(e);return new Vc(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await PNe(n,t),a=RNe(e,i,r),{status:o,statusText:s}=MNe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=INe(e,a.get("location"));return await Kx(c,t)}return new Vc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Vc(null,{status:400,statusText:String(r),url:e})}}async function PNe(e,t){return await new Promise((r,n)=>{let i=jNe(e,t),a=e.startsWith("https:")?Die.default.request(i,o=>r(o)):Cie.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function INe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function jNe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function MNe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function RNe(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=LNe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new Es(n)}function LNe(e){return QO(e)?e.length-5:null}var qNe=parseInt(kie.versions.node.split(".")[0]);Tz&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=aO;globalThis.loaders.NodeFile=cd;globalThis.loaders.NodeFileSystem=gE;globalThis.loaders.fetchNode=hE;globalThis.loaders.NodeHash=vE;globalThis.TextEncoder||(globalThis.TextEncoder=dv);globalThis.TextDecoder||(globalThis.TextDecoder=Mp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&hv&&(globalThis.atob=hv);!("btoa"in globalThis)&&AD&&(globalThis.btoa=AD);globalThis.loaders.encodeImageNode=kV;globalThis.loaders.parseImageNode=kB;globalThis.loaders.imageFormatsNode=DB;globalThis._parseImageNode=kB;globalThis._imageFormatsNode=DB;globalThis.loaders.readFileAsArrayBuffer=_ie;globalThis.loaders.readFileAsText=wie;globalThis.loaders.requireFromFile=Eie;globalThis.loaders.requireFromString=JE;qNe<18&&(!("Headers"in globalThis)&&Es&&(globalThis.Headers=Es),!("Response"in globalThis)&&Vc&&(globalThis.Response=Vc),!("fetch"in globalThis)&&Kx&&(globalThis.fetch=Kx));var J8e=require("path"),vD=Ct(K1e(),1);var nn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var VT=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:nn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case nn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case nn.STRING_TYPE:this.setupStringAttribute(i);break;case nn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case nn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case nn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case nn.STRING_TYPE:return"esriFieldTypeString";case nn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case nn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var Kbt=e=>typeof e=="boolean",tb=e=>typeof e=="function",Jd=e=>e!==null&&typeof e=="object",ER=e=>Jd(e)&&e.constructor==={}.constructor;var J1e=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",Y1e=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Io=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var jo=e=>typeof Blob<"u"&&e instanceof Blob,X1e=e=>e&&typeof e=="object"&&e.isBuffer;var Jbt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||Jd(e)&&tb(e.tee)&&tb(e.cancel)&&tb(e.getReader);var Ybt=e=>Jd(e)&&tb(e.read)&&tb(e.pipe)&&Kbt(e.readable),WT=e=>Jbt(e)||Ybt(e);var KT=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Xbt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Qbt=/^([-\w.]+\/[-\w.+]+)/;function AR(e,t){return e.toLowerCase()===t.toLowerCase()}function Q1e(e){let t=Qbt.exec(e);return t?t[1]:e}function SR(e){let t=Xbt.exec(e);return t?t[1]:""}var Z1e=/\?.*/;function eve(e){let t=e.match(Z1e);return t&&t[0]}function Ag(e){return e.replace(Z1e,"")}function tve(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Yd(e){return Io(e)?e.url:jo(e)?e.name||"":typeof e=="string"?e:""}function rb(e){if(Io(e)){let t=e,r=t.headers.get("content-type")||"",n=Ag(t.url);return Q1e(r)||SR(n)}return jo(e)?e.type||"":typeof e=="string"?SR(e):""}function rve(e){return Io(e)?e.headers["content-length"]||-1:jo(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function JT(e){if(Io(e))return e;let t={},r=rve(e);r>=0&&(t["content-length"]=String(r));let n=Yd(e),i=rb(e);i&&(t["content-type"]=i);let a=await e2t(e);a&&(t["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function nve(e){if(!e.ok)throw await Zbt(e)}async function Zbt(e){let t=tve(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let i=e.headers.get("Content-Type");n.reason=i!=null&&i.includes("application/json")?await e.json():e.text()}catch{}return new KT(r,n)}async function e2t(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${t2t(r)}`}return null}function t2t(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function r2t(e){return!n2t(e)&&!i2t(e)}function n2t(e){return e.startsWith("http:")||e.startsWith("https:")}function i2t(e){return e.startsWith("data:")}async function pa(e,t){var r,n;if(typeof e=="string"){let i=Eu(e);return r2t(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await JT(e)}var TR=new yu({id:"loaders.gl"}),YT=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XT=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var CR={fetch:null,mimeType:void 0,nothrow:!1,log:new XT,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:Er,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},ive={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DR(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Sg(){let e=DR();return e.globalOptions=e.globalOptions||{...CR},e.globalOptions}function sve(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],a2t(e,r),s2t(t,e,n)}function a2t(e,t){ave(e,null,CR,ive,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};ave(n,r.id,i,a,t)}}function ave(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&Jd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)TR.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=o2t(s,i);TR.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function o2t(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function s2t(e,t,r){let i={...e.options||{}};return u2t(i,r),i.log===null&&(i.log=new YT),ove(i,Sg()),ove(i,t),i}function ove(e,t){for(let r in t)if(r in t){let n=t[r];ER(n)&&ER(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function u2t(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function nb(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function kR(e){Et(e,"null loader"),Et(nb(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var c2t=()=>{let e=DR();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function uve(){return c2t()}var cve=new yu({id:"loaders.gl"});var l2t=/\.([^.]+)$/;async function pve(e,t=[],r,n){if(!dve(e))return null;let i=lve(e,t,{...r,nothrow:!0},n);if(i)return i;if(jo(e)&&(e=await e.slice(0,10).arrayBuffer(),i=lve(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(hve(e));return i}function lve(e,t=[],r,n){if(!dve(e))return null;if(t&&!Array.isArray(t))return kR(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...uve()),p2t(i);let a=f2t(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(hve(e));return a}function f2t(e,t,r,n){let i=Yd(e),a=rb(e),o=Ag(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=FR(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||d2t(t,o),u=u||(s?`matched url ${o}`:""),s=s||FR(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||m2t(t,e),u=u||(s?`matched initial data ${mve(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||FR(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&cve.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function dve(e){return!(e instanceof Response&&e.status===204)}function hve(e){let t=Yd(e),r=rb(e),n="No valid loader found (";n+=t?`${Ca.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?mve(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function p2t(e){for(let t of e)kR(t)}function d2t(e,t){let r=t&&l2t.exec(t),n=r&&r[1];return n?h2t(e,n):null}function h2t(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function FR(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>AR(t,i))||AR(t,`application/x.${n.id}`))return n;return null}function m2t(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(g2t(t,r))return r}else if(ArrayBuffer.isView(t)){if(fve(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&fve(t,0,r))return r;return null}function g2t(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function fve(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>v2t(e,t,r,i))}function v2t(e,t,r,n){if(n instanceof ArrayBuffer)return wu(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=BR(e,t,n.length);return n===i;default:return!1}}function mve(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?BR(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?BR(e,0,t):""}function BR(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function*gve(e,t){let r=(t==null?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}function*vve(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*xve(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function OR(e,t){return Er?x2t(e,t):y2t(e,t)}async function*x2t(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Ic(o)}}catch{r.releaseLock()}}async function*y2t(e,t){for await(let r of e)yield Ic(r)}function yve(e,t){if(typeof e=="string")return gve(e,t);if(e instanceof ArrayBuffer)return vve(e,t);if(jo(e))return xve(e,t);if(WT(e))return OR(e,t);if(Io(e))return OR(e.body,t);throw new Error("makeIterator")}var bve="Cannot convert supplied data type";function b2t(e,t,r){if(t.text&&typeof e=="string")return e;if(X1e(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(bve)}async function _ve(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return b2t(e,t,r);if(jo(e)&&(e=await JT(e)),Io(e)){let i=e;return await nve(i),t.binary?await i.arrayBuffer():await i.text()}if(WT(e)&&(e=yve(e,r)),J1e(e)||Y1e(e))return ud(e);throw new Error(bve)}function QT(e,t){let r=Sg(),n=e||r;return typeof n.fetch=="function"?n.fetch:Jd(n.fetch)?i=>pa(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:pa}function wve(e,t,r){if(r)return r;let n={fetch:QT(t,e),...e};if(n.url){let i=Ag(n.url);n.baseUrl=i,n.queryString=eve(n.url),n.filename=Ca.filename(i),n.baseUrl=Ca.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function Eve(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function eo(e,t,r,n){t&&!Array.isArray(t)&&!nb(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Yd(e),o=Eve(t,n),s=await pve(e,o,r);return s?(r=sve(r,s,o,i),n=wve({url:i,_parse:eo,loaders:o},r,n||null),await _2t(s,e,r,n)):null}async function _2t(e,t,r,n){if(NB(e),r=PB(e.options,r),Io(t)){let a=t,{ok:o,redirected:s,status:u,statusText:c,type:l,url:f}=a,p=Object.fromEntries(a.headers.entries());n.response={headers:p,ok:o,redirected:s,status:u,statusText:c,type:l,url:f}}t=await _ve(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(GB(e,r))return await zB(e,t,r,n,eo);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw Ti(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Ave(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function PR(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],p=s[c+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,i=l>i?l:i,a=f>a?f:a,o=p>o?p:o}return[[t,r,n],[i,a,o]]}function IR(e,t,r){let n=Ave(t.value),i=r||Sve(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Sve(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}async function Yr(e,t,r,n){let i,a;!Array.isArray(t)&&!nb(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=QT(a),s=e;return typeof e=="string"&&(s=await o(e)),jo(e)&&(s=await o(e)),Array.isArray(i)?await eo(s,i,a):await eo(s,i,a)}async function Tg(e,t,r){return r={...Sg(),...r},t.encodeURLtoURL?w2t(t,e,r):HB(t,r)?await qB(t,e,r):await t.encode(e,r)}function ZT(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Cve(e,t,r,n){if(e=Eu(e),t=Eu(t),Er||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function w2t(e,t,r){if(Er)throw new Error(`Writer ${e.name} not supported in browser`);let n=Tve("input");await new jc(n,"w").write(t);let a=Tve("output"),o=await Cve(n,a,e,r);return(await pa(o)).arrayBuffer()}function Tve(e){return`/tmp/${e}`}var E2t=1/Math.PI*180,A2t=1/180*Math.PI,S2t={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...S2t}};var Lr=globalThis.mathgl.config;function jR(e,{precision:t=Lr.precision}={}){return e=T2t(e),"".concat(parseFloat(e.toPrecision(t)))}function Mo(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function MR(e){return Dve(e)}function RR(e){return sl(e)}function Dve(e,t){return qR(e,r=>r*A2t,t)}function sl(e,t){return qR(e,r=>r*E2t,t)}function LR(e,t,r){return qR(e,n=>Math.max(t,Math.min(r,n)))}function to(e,t,r){let n=Lr.EPSILON;r&&(Lr.EPSILON=r);try{if(e===t)return!0;if(Mo(e)&&Mo(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!to(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Lr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Lr.EPSILON=n}}function T2t(e){return Math.round(e/Lr.EPSILON)*Lr.EPSILON}function C2t(e){return e.clone?e.clone():new Array(e.length)}function qR(e,t,r){if(Mo(e)){let n=e;r=r||C2t(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}function D2t(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var Zf=class extends D2t(Array){clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Mo(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Lr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+jR(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!to(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Lr.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function k2t(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function zt(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function ep(e,t,r=""){if(Lr.debug&&!k2t(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function mi(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var tp=class extends Zf{get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return zt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return zt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return mi(t>=0&&t<this.ELEMENTS,"index is out of range"),zt(this[t])}setComponent(t,r){return mi(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var an=typeof Float32Array<"u"?Float32Array:Array,ib=Math.random;function Cg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var kir=Math.PI/180;function F2t(){let e=new an(2);return an!=Float32Array&&(e[0]=0,e[1]=0),e}function kve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function Fve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function e8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function t8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Fir=function(){let e=F2t();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function r8(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function n8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function Bve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function Ove(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function i8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Xd=class extends tp{constructor(t=0,r=0){super(2),Mo(t)&&arguments.length===1?this.copy(t):(Lr.debug&&(zt(t),zt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Lr.debug&&(zt(t.x),zt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return t8(this,this,t),this.check()}transformAsVector(t){return r8(this,this,t),this.check()}transformByMatrix3(t){return e8(this,this,t),this.check()}transformByMatrix2x3(t){return Fve(this,this,t),this.check()}transformByMatrix2(t){return kve(this,this,t),this.check()}};var kg={};Hn(kg,{add:()=>I2t,angle:()=>HR,bezier:()=>W2t,ceil:()=>j2t,clone:()=>B2t,copy:()=>O2t,create:()=>a8,cross:()=>Qd,dist:()=>r_t,distance:()=>Rve,div:()=>t_t,divide:()=>Mve,dot:()=>ab,equals:()=>Q2t,exactEquals:()=>X2t,floor:()=>M2t,forEach:()=>a_t,fromValues:()=>o8,hermite:()=>V2t,inverse:()=>z2t,len:()=>$R,length:()=>Pve,lerp:()=>H2t,max:()=>L2t,min:()=>R2t,mul:()=>e_t,multiply:()=>jve,negate:()=>G2t,normalize:()=>NR,random:()=>K2t,rotateX:()=>UR,rotateY:()=>GR,rotateZ:()=>zR,round:()=>q2t,scale:()=>N2t,scaleAndAdd:()=>U2t,set:()=>P2t,slerp:()=>$2t,sqrDist:()=>n_t,sqrLen:()=>i_t,squaredDistance:()=>Lve,squaredLength:()=>qve,str:()=>Y2t,sub:()=>Z2t,subtract:()=>Ive,transformMat3:()=>ob,transformMat4:()=>Zd,transformQuat:()=>sb,zero:()=>J2t});function a8(){let e=new an(3);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function B2t(e){let t=new an(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Pve(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function o8(e,t,r){let n=new an(3);return n[0]=e,n[1]=t,n[2]=r,n}function O2t(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function P2t(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function I2t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Ive(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function jve(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Mve(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function j2t(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function M2t(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function R2t(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function L2t(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function q2t(e,t){return e[0]=Cg(t[0]),e[1]=Cg(t[1]),e[2]=Cg(t[2]),e}function N2t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function U2t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function Rve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function Lve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function qve(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function G2t(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function z2t(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function NR(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function ab(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Qd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function H2t(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function $2t(e,t,r,n){let i=Math.acos(Math.min(Math.max(ab(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function V2t(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function W2t(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function K2t(e,t){t=t===void 0?1:t;let r=ib()*2*Math.PI,n=ib()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Zd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function ob(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function sb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function UR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function GR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function zR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function HR(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&ab(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function J2t(e){return e[0]=0,e[1]=0,e[2]=0,e}function Y2t(e){return"vec3(".concat(e[0],", ").concat(e[1],", ").concat(e[2],")")}function X2t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function Q2t(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var Z2t=Ive,e_t=jve,t_t=Mve,r_t=Rve,n_t=Lve,$R=Pve,i_t=qve,a_t=function(){let e=a8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var VR=[0,0,0],s8,ne=class extends tp{static get ZERO(){return s8||(s8=new ne(0,0,0),Object.freeze(s8)),s8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Mo(t)?this.copy(t):(Lr.debug&&(zt(t),zt(r),zt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Lr.debug&&(zt(t.x),zt(t.y),zt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=zt(t)}angle(t){return HR(this,t)}cross(t){return Qd(this,this,t),this.check()}rotateX({radians:t,origin:r=VR}){return UR(this,this,r,t),this.check()}rotateY({radians:t,origin:r=VR}){return GR(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=VR}){return zR(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Zd(this,this,t),this.check()}transformAsVector(t){return n8(this,this,t),this.check()}transformByMatrix3(t){return ob(this,this,t),this.check()}transformByMatrix2(t){return Bve(this,this,t),this.check()}transformByQuaternion(t){return sb(this,this,t),this.check()}};var u8,Ro=class extends tp{static get ZERO(){return u8||(u8=new Ro(0,0,0,0),Object.freeze(u8)),u8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Mo(t)&&arguments.length===1?this.copy(t):(Lr.debug&&(zt(t),zt(r),zt(n),zt(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Lr.debug&&(zt(t.x),zt(t.y),zt(t.z),zt(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}transform(t){return Zd(this,this,t),this.check()}transformByMatrix3(t){return i8(this,this,t),this.check()}transformByMatrix2(t){return Ove(this,this,t),this.check()}transformByQuaternion(t){return sb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Fg=class extends Zf{toString(){let t="[";if(Lr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(this[r])}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=zt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function Nve(){let e=new an(9);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Uve(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Gve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function zve(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function WR(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],x=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+x*c,e[4]=g*i+m*s+x*l,e[5]=g*a+m*u+x*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function Hve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function $ve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function KR(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Vve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[3]=l-x,e[6]=p+m,e[1]=l+x,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var JR;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(JR||(JR={}));var s_t=Object.freeze([1,0,0,0,1,0,0,0,1]),pr=class extends Fg{static get IDENTITY(){return c_t()}static get ZERO(){return u_t()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return JR}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(s_t)}fromObject(t){return this.check()}fromQuaternion(t){return Vve(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return zve(this)}transpose(){return Uve(this,this),this.check()}invert(){return Gve(this,this),this.check()}multiplyLeft(t){return WR(this,t,this),this.check()}multiplyRight(t){return WR(this,this,t),this.check()}rotate(t){return $ve(this,this,t),this.check()}scale(t){return Array.isArray(t)?KR(this,this,t):KR(this,this,[t,t]),this.check()}translate(t){return Hve(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=e8(r||[-0,-0],t,this);break;case 3:n=ob(r||[-0,-0,-0],t,this);break;case 4:n=i8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},c8,l8=null;function u_t(){return c8||(c8=new pr([0,0,0,0,0,0,0,0,0]),Object.freeze(c8)),c8}function c_t(){return l8||(l8=new pr,Object.freeze(l8)),l8}var f8={};Hn(f8,{add:()=>I_t,adjoint:()=>m_t,clone:()=>f_t,copy:()=>p_t,create:()=>l_t,decompose:()=>S_t,determinant:()=>QR,equals:()=>L_t,exactEquals:()=>R_t,frob:()=>P_t,fromQuat:()=>aL,fromQuat2:()=>w_t,fromRotation:()=>x_t,fromRotationTranslation:()=>Kve,fromRotationTranslationScale:()=>T_t,fromRotationTranslationScaleOrigin:()=>C_t,fromScaling:()=>v_t,fromTranslation:()=>g_t,fromValues:()=>d_t,fromXRotation:()=>y_t,fromYRotation:()=>b_t,fromZRotation:()=>__t,frustum:()=>oL,getRotation:()=>A_t,getScaling:()=>Jve,getTranslation:()=>E_t,identity:()=>Wve,invert:()=>XR,lookAt:()=>cL,mul:()=>q_t,multiply:()=>ub,multiplyScalar:()=>j_t,multiplyScalarAndAdd:()=>M_t,ortho:()=>uL,orthoNO:()=>Xve,orthoZO:()=>F_t,perspective:()=>sL,perspectiveFromFieldOfView:()=>k_t,perspectiveNO:()=>Yve,perspectiveZO:()=>D_t,rotate:()=>tL,rotateX:()=>rL,rotateY:()=>nL,rotateZ:()=>iL,scale:()=>eL,set:()=>h_t,str:()=>O_t,sub:()=>N_t,subtract:()=>Qve,targetTo:()=>B_t,translate:()=>ZR,transpose:()=>YR});function l_t(){let e=new an(16);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function f_t(e){let t=new an(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function p_t(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function d_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new an(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function h_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function Wve(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function YR(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function XR(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m,z=b*G-_*M+A*O+w*D-T*C+k*j;return z?(z=1/z,e[0]=(s*G-u*M+c*O)*z,e[1]=(i*M-n*G-a*O)*z,e[2]=(g*k-m*T+x*w)*z,e[3]=(p*T-f*k-d*w)*z,e[4]=(u*D-o*G-c*C)*z,e[5]=(r*G-i*D+a*C)*z,e[6]=(m*A-h*k-x*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*j)*z,e[9]=(n*D-r*M-a*j)*z,e[10]=(h*T-g*A+x*b)*z,e[11]=(f*A-l*T-d*b)*z,e[12]=(s*C-o*O-u*j)*z,e[13]=(r*O-n*C+i*j)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function m_t(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m;return e[0]=s*G-u*M+c*O,e[1]=i*M-n*G-a*O,e[2]=g*k-m*T+x*w,e[3]=p*T-f*k-d*w,e[4]=u*D-o*G-c*C,e[5]=r*G-i*D+a*C,e[6]=m*A-h*k-x*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*j,e[9]=n*D-r*M-a*j,e[10]=h*T-g*A+x*b,e[11]=f*A-l*T-d*b,e[12]=s*C-o*O-u*j,e[13]=r*O-n*C+i*j,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function QR(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],x=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,T=l*g-f*h,k=t*T-r*w+n*A,j=a*T-o*w+s*A,C=c*_-l*b+f*x,D=d*_-h*b+g*x;return u*k-i*j+m*C-p*D}function ub(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],x=t[14],b=t[15],_=r[0],A=r[1],w=r[2],T=r[3];return e[0]=_*n+A*s+w*f+T*g,e[1]=_*i+A*u+w*p+T*m,e[2]=_*a+A*c+w*d+T*x,e[3]=_*o+A*l+w*h+T*b,_=r[4],A=r[5],w=r[6],T=r[7],e[4]=_*n+A*s+w*f+T*g,e[5]=_*i+A*u+w*p+T*m,e[6]=_*a+A*c+w*d+T*x,e[7]=_*o+A*l+w*h+T*b,_=r[8],A=r[9],w=r[10],T=r[11],e[8]=_*n+A*s+w*f+T*g,e[9]=_*i+A*u+w*p+T*m,e[10]=_*a+A*c+w*d+T*x,e[11]=_*o+A*l+w*h+T*b,_=r[12],A=r[13],w=r[14],T=r[15],e[12]=_*n+A*s+w*f+T*g,e[13]=_*i+A*u+w*p+T*m,e[14]=_*a+A*c+w*d+T*x,e[15]=_*o+A*l+w*h+T*b,e}function ZR(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,x;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=x,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+x*a+t[15]),e}function eL(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function tL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j,C,D,O,M,G,z,J;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],x=t[6],b=t[7],_=t[8],A=t[9],w=t[10],T=t[11],k=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,D=i*a*l-o*c,O=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,J=o*o*l+u,e[0]=f*k+g*j+_*C,e[1]=p*k+m*j+A*C,e[2]=d*k+x*j+w*C,e[3]=h*k+b*j+T*C,e[4]=f*D+g*O+_*M,e[5]=p*D+m*O+A*M,e[6]=d*D+x*O+w*M,e[7]=h*D+b*O+T*M,e[8]=f*G+g*z+_*J,e[9]=p*G+m*z+A*J,e[10]=d*G+x*z+w*J,e[11]=h*G+b*z+T*J,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function rL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function nL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function iL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function g_t(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function v_t(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function x_t(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function y_t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function b_t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function __t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Kve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,x=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-x,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+x,e[9]=h-m,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function w_t(e,t){let r=new an(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Kve(e,t,r),e}function E_t(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Jve(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function A_t(e,t){let r=new an(3);Jve(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function S_t(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,x=a*h,b=o*g,_=s*d,A=u*h,w=c*g,T=l*d,k=f*h,j=p*g,C=m+A+j,D=0;return C>0?(D=Math.sqrt(C+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(T-b)/D,e[2]=(x-_)/D):m>A&&m>j?(D=Math.sqrt(1+m-A-j)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(x+_)/D,e[2]=(T+b)/D):A>j?(D=Math.sqrt(1+A-m-j)*2,e[3]=(T-b)/D,e[0]=(x+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+j-m-A)*2,e[3]=(x-_)/D,e[0]=(T+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function T_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,x=s*u,b=s*c,_=s*l,A=n[0],w=n[1],T=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+x)*w,e[7]=0,e[8]=(d+b)*T,e[9]=(g-x)*T,e[10]=(1-(f+h))*T,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function C_t(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,x=s*f,b=u*c,_=u*l,A=u*f,w=n[0],T=n[1],k=n[2],j=i[0],C=i[1],D=i[2],O=(1-(g+x))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*T,J=(1-(p+x))*T,Y=(m+b)*T,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=O,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=J,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+j-(O*j+z*C+le*D),e[13]=r[1]+C-(M*j+J*C+ue*D),e[14]=r[2]+D-(G*j+Y*C+ce*D),e[15]=1,e}function aL(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[1]=l+x,e[2]=p-m,e[3]=0,e[4]=l-x,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function oL(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function Yve(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var sL=Yve;function D_t(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function k_t(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Xve(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var uL=Xve;function F_t(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function cL(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],x=n[0],b=n[1],_=n[2],A=r[0],w=r[1],T=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-T)<1e-6?Wve(e):(f=h-A,p=g-w,d=m-T,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-x*d,s=x*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function B_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let h=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function O_t(e){return"mat4(".concat(e[0],", ").concat(e[1],", ").concat(e[2],", ").concat(e[3],", ").concat(e[4],", ").concat(e[5],", ").concat(e[6],", ").concat(e[7],", ").concat(e[8],", ").concat(e[9],", ").concat(e[10],", ").concat(e[11],", ").concat(e[12],", ").concat(e[13],", ").concat(e[14],", ").concat(e[15],")")}function P_t(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function I_t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Qve(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function j_t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function M_t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function R_t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function L_t(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],x=e[15],b=t[0],_=t[1],A=t[2],w=t[3],T=t[4],k=t[5],j=t[6],C=t[7],D=t[8],O=t[9],M=t[10],G=t[11],z=t[12],J=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-T)<=1e-6*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-J)<=1e-6*Math.max(1,Math.abs(g),Math.abs(J))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(x-le)<=1e-6*Math.max(1,Math.abs(x),Math.abs(le))}var q_t=ub,N_t=Qve;function U_t(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Zve(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function exe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function txe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function rxe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function nxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function ixe(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function axe(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function oxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function sxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var uar=function(){let e=U_t();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var pL;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(pL||(pL={}));var z_t=45*Math.PI/180,H_t=1,lL=.1,fL=500,$_t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Fr=class extends Fg{static get IDENTITY(){return W_t()}static get ZERO(){return V_t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return pL}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy($_t)}fromObject(t){return this.check()}fromQuaternion(t){return aL(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return s===1/0?K_t(this,r,n,i,a,o):oL(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return cL(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return uL(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=z_t,aspect:n=H_t,focalDistance:i=1,near:a=lL,far:o=fL}=t;uxe(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return uxe(r),sL(this,r,n,i,a),this.check()}determinant(){return QR(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return YR(this,this),this.check()}invert(){return XR(this,this),this.check()}multiplyLeft(t){return ub(this,t,this),this.check()}multiplyRight(t){return ub(this,this,t),this.check()}rotateX(t){return rL(this,this,t),this.check()}rotateY(t){return nL(this,this,t),this.check()}rotateZ(t){return iL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return tL(this,this,t,r),this.check()}scale(t){return eL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return ZR(this,this,t),this.check()}transform(t,r){return t.length===4?(r=oxe(r||[-0,-0,-0,-0],t,this),ep(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=t8(r||[-0,-0],t,this);break;case 3:i=Zd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=r8(r||[-0,-0],t,this);break;case 3:n=n8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},p8,d8;function V_t(){return p8||(p8=new Fr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(p8)),p8}function W_t(){return d8||(d8=new Fr,Object.freeze(d8)),d8}function uxe(e){if(e>Math.PI*2)throw Error("expected radians")}function K_t(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function cxe(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function lxe(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function dL(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function hL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function fxe(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function pxe(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function dxe(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function hxe(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function cb(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function mxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function gxe(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function mL(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var vxe=Zve;var xxe=exe,yxe=ixe,bxe=axe,_xe=txe;var wxe=rxe;var Exe=nxe;var Axe=function(){let e=a8(),t=o8(1,0,0),r=o8(0,1,0);return function(n,i,a){let o=ab(i,a);return o<-.999999?(Qd(e,t,i),$R(e)<1e-6&&Qd(e,r,i),NR(e,e),dL(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Qd(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Exe(n,n))}}(),Ear=function(){let e=cxe(),t=cxe();return function(r,n,i,a,o,s){return cb(e,n,o,s),cb(t,i,a,s),cb(r,e,t,2*s*(1-s)),r}}(),Aar=function(){let e=Nve();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Exe(t,mL(t,e))}}();var J_t=[0,0,0,1],Vu=class extends Zf{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return mL(this,t),this.check()}fromAxisRotation(t,r){return dL(this,t,r),this.check()}identity(){return lxe(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}len(){return _xe(this)}lengthSquared(){return wxe(this)}dot(t){return yxe(this,t)}rotationTo(t,r){return Axe(this,t,r),this.check()}add(t){return vxe(this,this,t),this.check()}calculateW(){return hxe(this,this),this.check()}conjugate(){return gxe(this,this),this.check()}invert(){return mxe(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(bxe(this,t,r,n),this.check())}multiplyRight(t){return hL(this,this,t),this.check()}multiplyLeft(t){return hL(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return fxe(this,this,t),this.check()}rotateY(t){return pxe(this,this,t),this.check()}rotateZ(t){return dxe(this,this,t),this.check()}scale(t){return xxe(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=J_t,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return cb(this,i,a,o),this.check()}transformVector4(t,r=new Ro){return sxe(r,t,this),ep(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Os={};Hn(Os,{EPSILON1:()=>Y_t,EPSILON10:()=>awt,EPSILON11:()=>owt,EPSILON12:()=>swt,EPSILON13:()=>uwt,EPSILON14:()=>cwt,EPSILON15:()=>lwt,EPSILON16:()=>fwt,EPSILON17:()=>pwt,EPSILON18:()=>dwt,EPSILON19:()=>hwt,EPSILON2:()=>X_t,EPSILON20:()=>mwt,EPSILON3:()=>Q_t,EPSILON4:()=>Z_t,EPSILON5:()=>ewt,EPSILON6:()=>twt,EPSILON7:()=>rwt,EPSILON8:()=>nwt,EPSILON9:()=>iwt,PI_OVER_FOUR:()=>vwt,PI_OVER_SIX:()=>xwt,PI_OVER_TWO:()=>gwt,TWO_PI:()=>ywt});var Y_t=.1,X_t=.01,Q_t=.001,Z_t=1e-4,ewt=1e-5,twt=1e-6,rwt=1e-7,nwt=1e-8,iwt=1e-9,awt=1e-10,owt=1e-11,swt=1e-12,uwt=1e-13,cwt=1e-14,lwt=1e-15,fwt=1e-16,pwt=1e-17,dwt=1e-18,hwt=1e-19,mwt=1e-20,gwt=Math.PI/2,vwt=Math.PI/4,xwt=Math.PI/6,ywt=Math.PI*2;var ul=6356752314245179e-9,bwt={radii:[6378137,6378137,ul],radiiSquared:[6378137*6378137,6378137*6378137,ul*ul],oneOverRadii:[1/6378137,1/6378137,1/ul],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(ul*ul)],maximumRadius:Math.max(6378137,6378137,ul),centerToleranceSquared:.1};function h8(e){return e}var tor=new ne;function _wt(e,t=[],r=h8){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function Sxe(e,t=[]){return _wt(e,t,Lr._cartographicRadians?h8:MR)}function wwt(e,t,r=h8){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function Txe(e,t){return wwt(e,t,Lr._cartographicRadians?h8:RR)}var Cxe=1e-14,Ewt=new ne,Dxe={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},gL={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},lb={east:new ne,north:new ne,up:new ne,west:new ne,south:new ne,down:new ne},Awt=new ne,Swt=new ne,Twt=new ne;function vL(e,t,r,n,i,a){let o=Dxe[t]&&Dxe[t][r];mi(o&&(!n||n===o));let s,u,c,l=Ewt.copy(i);if(to(l.x,0,Cxe)&&to(l.y,0,Cxe)){let p=Math.sign(l.z);s=Awt.fromArray(gL[t]),t!=="east"&&t!=="west"&&s.scale(p),u=Swt.fromArray(gL[r]),r!=="east"&&r!=="west"&&u.scale(p),c=Twt.fromArray(gL[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=lb;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:x}=lb;g.copy(p).scale(-1),m.copy(d).scale(-1),x.copy(h).scale(-1),s=lb[t],u=lb[r],c=lb[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var Bg=new ne,Cwt=new ne,Dwt=new ne;function kxe(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;Bg.from(e);let o=Bg.x,s=Bg.y,u=Bg.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let x=Cwt;if(x.copy(e).scale(m),g<a)return x.to(r);let b=i.x,_=i.y,A=i.z,w=Dwt;w.set(x.x*b*2,x.y*_*2,x.z*A*2);let T=(1-m)*Bg.len()/(.5*w.len()),k=0,j,C,D,O;do{T-=k,j=1/(1+T*b),C=1/(1+T*_),D=1/(1+T*A);let M=j*j,G=C*C,z=D*D,J=M*j,Y=G*C,le=z*D;O=p*M+d*G+h*z-1;let ce=-2*(p*J*b+d*Y*_+h*le*A);k=O/ce}while(Math.abs(O)>Os.EPSILON12);return Bg.scale([j,C,D]).to(r)}var m8=new ne,Fxe=new ne,Bwt=new ne,Ps=new ne,Owt=new ne,g8=new ne,Nt=class{constructor(t=0,r=0,n=0){gt(this,"radii",void 0),gt(this,"radiiSquared",void 0),gt(this,"radiiToTheFourth",void 0),gt(this,"oneOverRadii",void 0),gt(this,"oneOverRadiiSquared",void 0),gt(this,"minimumRadius",void 0),gt(this,"maximumRadius",void 0),gt(this,"centerToleranceSquared",Os.EPSILON1),gt(this,"squaredXOverSquaredZ",void 0),mi(t>=0),mi(r>=0),mi(n>=0),this.radii=new ne(t,r,n),this.radiiSquared=new ne(t*t,r*r,n*n),this.radiiToTheFourth=new ne(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ne(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ne(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=Fxe,i=Bwt,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){g8.from(t);let n=this.scaleToGeodeticSurface(g8,Ps);if(!n)return;let i=this.geodeticSurfaceNormal(n,Fxe),a=Owt;a.copy(g8).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(kg.dot(a,g8))*kg.length(a);return Txe([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new Fr){return vL(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new Fr){return vL(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return m8.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Sxe(t),i=n[0],a=n[1],o=Math.cos(a);return m8.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),m8.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return m8.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return kxe(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Ps.from(t);let n=Ps.x,i=Ps.y,a=Ps.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Ps.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Ps.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Ps.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){mi(to(this.radii.x,this.radii.y,Os.EPSILON15)),mi(this.radii.z>0),Ps.from(t);let i=Ps.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Ps.set(0,0,i).to(n)}};gt(Nt,"WGS84",new Nt(6378137,6378137,ul));var gi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Eor=new ne,Aor=new ne;var fb=new ne,Bxe=new ne,da=class{constructor(t=[0,0,0],r=0){gt(this,"center",void 0),gt(this,"radius",void 0),this.radius=-0,this.center=new ne,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=fb.from(r),this.center=new ne().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new da(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=fb.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return Bxe.copy(o).scale((-n+u)/s).add(r),this.center.copy(Bxe),this.radius=u,this}expand(t){let n=fb.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=f8.getScaling(fb,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=fb.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?gi.OUTSIDE:a<n?gi.INTERSECTING:gi.INSIDE}};var Pwt=new ne,Iwt=new ne,v8=new ne,x8=new ne,y8=new ne,jwt=new ne,Mwt=new ne,cl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},vi=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){gt(this,"center",void 0),gt(this,"halfAxes",void 0),this.center=new ne().from(t),this.halfAxes=new pr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ne(t).len(),new ne(r).len(),new ne(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ne(t).normalize(),a=new ne(r).normalize(),o=new ne(n).normalize();return new Vu().fromMatrix3(new pr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Vu(n),a=new pr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ne().from(t),this.halfAxes=a,this}clone(){return new vi(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new da){let r=this.halfAxes,n=r.getColumn(0,v8),i=r.getColumn(1,x8),a=r.getColumn(2,y8),o=Pwt.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[cl.COLUMN0ROW0]+o*i[cl.COLUMN0ROW1]+s*i[cl.COLUMN0ROW2])+Math.abs(a*i[cl.COLUMN1ROW0]+o*i[cl.COLUMN1ROW1]+s*i[cl.COLUMN1ROW2])+Math.abs(a*i[cl.COLUMN2ROW0]+o*i[cl.COLUMN2ROW1]+s*i[cl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?gi.OUTSIDE:c>=u?gi.INSIDE:gi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=Iwt.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,v8),a=n.getColumn(1,x8),o=n.getColumn(2,y8),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,v8),c=s.getColumn(1,x8),l=s.getColumn(2,y8),f=jwt.copy(u).add(c).add(l).add(o),p=Mwt.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,v8);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,x8);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,y8);return i.transformAsPoint(t),this.halfAxes=new pr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Oxe=new ne,Pxe=new ne,ll=class{constructor(t=[0,0,1],r=0){gt(this,"normal",void 0),gt(this,"distance",void 0),this.normal=new ne,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return mi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Oxe.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),mi(to(this.normal.len(),1)),this.distance=i,this}clone(){return new ll(this.normal,this.distance)}equals(t){return to(this.distance,t.distance)&&to(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Pxe.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Oxe.from(t),i=this.getPointDistance(n),a=Pxe.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var Ixe=[new ne([1,0,0]),new ne([0,1,0]),new ne([0,0,1])],jxe=new ne,Rwt=new ne,Lo=class{constructor(t=[]){gt(this,"planes",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*Ixe.length;let r=t.center,n=t.radius,i=0;for(let a of Ixe){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new ll),s||(s=this.planes[i+1]=new ll);let u=jxe.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=jxe.copy(a).scale(n).add(r),l=Rwt.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=gi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case gi.OUTSIDE:return gi.OUTSIDE;case gi.INTERSECTING:r=gi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(mi(Number.isFinite(r),"parentPlaneMask is required."),r===Lo.MASK_OUTSIDE||r===Lo.MASK_INSIDE)return r;let n=Lo.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===gi.OUTSIDE)return Lo.MASK_OUTSIDE;u===gi.INTERSECTING&&(n|=o)}return n}};gt(Lo,"MASK_OUTSIDE",4294967295);gt(Lo,"MASK_INSIDE",0);gt(Lo,"MASK_INDETERMINATE",2147483647);var Wor=new ne,Kor=new ne,Jor=new ne,Yor=new ne,Xor=new ne;var qwt=new ne,Nwt=new ne,Uwt=new ne,Gwt=new ne,zwt=new ne,Hwt=new ne,$wt=new ne,Og=new ne,Vwt=new ne,Wwt=new ne,Kwt=new ne,Jwt=new ne;function xL(e,t=new da){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=$wt.copy(e[0]),n=qwt.copy(r),i=Nwt.copy(r),a=Uwt.copy(r),o=Gwt.copy(r),s=zwt.copy(r),u=Hwt.copy(r);for(let T of e){r.copy(T);let k=r.x,j=r.y,C=r.z;k<n.x&&n.copy(r),k>o.x&&o.copy(r),j<i.y&&i.copy(r),j>s.y&&s.copy(r),C<a.z&&a.copy(r),C>u.z&&u.copy(r)}let c=Og.copy(o).subtract(n).magnitudeSquared(),l=Og.copy(s).subtract(i).magnitudeSquared(),f=Og.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,h=c;l>h&&(h=l,p=i,d=s),f>h&&(h=f,p=a,d=u);let g=Vwt;g.x=(p.x+d.x)*.5,g.y=(p.y+d.y)*.5,g.z=(p.z+d.z)*.5;let m=Og.copy(d).subtract(g).magnitudeSquared(),x=Math.sqrt(m),b=Wwt;b.x=n.x,b.y=i.y,b.z=a.z;let _=Kwt;_.x=o.x,_.y=s.y,_.z=u.z;let A=Jwt.copy(b).add(_).multiplyByScalar(.5),w=0;for(let T of e){r.copy(T);let k=Og.copy(r).subtract(A).magnitude();k>w&&(w=k);let j=Og.copy(r).subtract(g).magnitudeSquared();if(j>m){let C=Math.sqrt(j);x=(x+C)*.5,m=x*x;let D=C-x;g.x=(x*g.x+D*r.x)/C,g.y=(x*g.y+D*r.y)/C,g.z=(x*g.z+D*r.z)/C}}return x<w?(g.to(t.center),t.radius=x):(A.to(t.center),t.radius=w),t}var Wu=new pr,Ywt=new pr,Xwt=new pr,b8=new pr,Mxe=new pr;function _L(e,t={}){let r=Os.EPSILON20,n=10,i=0,a=0,o=Ywt,s=Xwt;o.identity(),s.copy(e);let u=r*Qwt(s);for(;a<n&&Zwt(s)>u;)eEt(s,b8),Mxe.copy(b8).transpose(),s.multiplyRight(b8),s.multiplyLeft(Mxe),o.multiplyRight(b8),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function Qwt(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var yL=[1,0,0],bL=[2,2,1];function Zwt(e){let t=0;for(let r=0;r<3;++r){let n=e[Wu.getElementIndex(bL[r],yL[r])];t+=2*n*n}return Math.sqrt(t)}function eEt(e,t){let r=Os.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Wu.getElementIndex(bL[c],yL[c])]);l>n&&(i=c,n=l)}let a=yL[i],o=bL[i],s=1,u=0;if(Math.abs(e[Wu.getElementIndex(o,a)])>r){let c=e[Wu.getElementIndex(o,o)],l=e[Wu.getElementIndex(a,a)],f=e[Wu.getElementIndex(o,a)],p=(c-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),u=d*s}return pr.IDENTITY.to(t),t[Wu.getElementIndex(a,a)]=t[Wu.getElementIndex(o,o)]=s,t[Wu.getElementIndex(o,a)]=u,t[Wu.getElementIndex(a,o)]=-u,t}var rp=new ne,rEt=new ne,nEt=new ne,iEt=new ne,aEt=new ne,oEt=new pr,sEt={diagonal:new pr,unitary:new pr};function wL(e,t=new vi){if(!e||e.length===0)return t.halfAxes=new pr([0,0,0,0,0,0,0,0,0]),t.center=new ne,t;let r=e.length,n=new ne(0,0,0);for(let C of e)n.add(C);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let C of e){let D=rp.copy(C).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=oEt;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=_L(f,sEt),d=t.halfAxes.copy(p),h=d.getColumn(0,nEt),g=d.getColumn(1,iEt),m=d.getColumn(2,aEt),x=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,T=Number.MAX_VALUE;for(let C of e)rp.copy(C),x=Math.max(rp.dot(h),x),b=Math.max(rp.dot(g),b),_=Math.max(rp.dot(m),_),A=Math.min(rp.dot(h),A),w=Math.min(rp.dot(g),w),T=Math.min(rp.dot(m),T);h=h.multiplyByScalar(.5*(A+x)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(T+_)),t.center.copy(h).add(g).add(m);let k=rEt.set(x-A,b-w,_-T).multiplyByScalar(.5),j=new pr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(j),t}function Nxe(e){return e!=null}var Fsr=new ne,uEt=new ne,cEt=new ne,lEt=new ne,eh=new ne,Rxe=new ne,Lxe=new ne,qxe=new ne;function pb(e,t,r){if(Et(e,"3D Tile: boundingVolume must be defined"),e.box)return Uxe(e.box,t,r);if(e.region)return pEt(e.region);if(e.sphere)return fEt(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Uxe(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Vu;l.fromArray(e,6);let f=new ne([1,0,0]),p=new ne([0,1,0]),d=new ne([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),p.transformByQuaternion(l),p.scale(c[1]),d.transformByQuaternion(l),d.scale(c[2]),i=[...f.toArray(),...p.toArray(),...d.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new pr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Nxe(r)?(r.center=n,r.halfAxes=u,r):new vi(n,u)}function fEt(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(uEt),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Nxe(r)?(r.center=n,r.radius=o,r):new da(n,o)}function pEt(e){let[t,r,n,i,a,o]=e,s=Nt.WGS84.cartographicToCartesian([sl(t),sl(i),a],cEt),u=Nt.WGS84.cartographicToCartesian([sl(n),sl(r),o],lEt),c=new ne().addVectors(s,u).multiplyByScalar(.5);return Nt.WGS84.cartesianToCartographic(c,eh),Nt.WGS84.cartographicToCartesian([sl(n),eh[1],eh[2]],Rxe),Nt.WGS84.cartographicToCartesian([eh[0],sl(i),eh[2]],Lxe),Nt.WGS84.cartographicToCartesian([eh[0],eh[1],o],qxe),Uxe([...c,...Rxe.subtract(c),...Lxe.subtract(c),...qxe.subtract(c)],new Fr)}var Pg="4.2.3";var qo={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},jsr=Object.keys(qo),np={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function EL(e,t,r){Et(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Gxe(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var _8="4.2.3";var zxe={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:_8,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function $xe(e,t,r){let n=Vxe(t.metadata),i=[],a=dEt(t.attributes);for(let o in e){let s=e[o],u=Hxe(o,s,a[o]);i.push(u)}if(r){let o=Hxe("indices",r);i.push(o)}return{fields:i,metadata:n}}function dEt(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Hxe(e,t,r){let n=r?Vxe(r.metadata):void 0;return IR(e,t,n)}function Vxe(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Wxe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},hEt={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},mEt=4,db=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=PR(u.attributes),l=$xe(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*mEt,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),xEt(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=hEt[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=gEt(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in Wxe)if(this.draco[o]===i)return Wxe[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=vEt(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function gEt(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function vEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function xEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var yEt="1.5.6",bEt="1.4.1",AL=`https://www.gstatic.com/draco/versioned/decoders/${yEt}`,An={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ip={[An.DECODER]:`${AL}/${An.DECODER}`,[An.DECODER_WASM]:`${AL}/${An.DECODER_WASM}`,[An.FALLBACK_DECODER]:`${AL}/${An.FALLBACK_DECODER}`,[An.ENCODER]:`https://raw.githubusercontent.com/google/draco/${bEt}/javascript/${An.ENCODER}`},SL;async function Kxe(e){let t=e.modules||{};return t.draco3d?SL||(SL=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):SL||(SL=_Et(e)),await SL}async function _Et(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await _u(ip[An.FALLBACK_DECODER],"draco",e,An.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await _u(ip[An.DECODER],"draco",e,An.DECODER),await _u(ip[An.DECODER_WASM],"draco",e,An.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await wEt(t,r)}function wEt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var TL={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:_8,worker:!0,options:{draco:{},source:null}};var Ig={...zxe,parse:EEt};async function EEt(e,t){let{draco:r}=await Kxe(t),n=new db(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var AEt={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Pn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},vt={...AEt,...Pn};var CL={[Pn.DOUBLE]:Float64Array,[Pn.FLOAT]:Float32Array,[Pn.UNSIGNED_SHORT]:Uint16Array,[Pn.UNSIGNED_INT]:Uint32Array,[Pn.UNSIGNED_BYTE]:Uint8Array,[Pn.BYTE]:Int8Array,[Pn.SHORT]:Int16Array,[Pn.INT]:Int32Array},SEt={DOUBLE:Pn.DOUBLE,FLOAT:Pn.FLOAT,UNSIGNED_SHORT:Pn.UNSIGNED_SHORT,UNSIGNED_INT:Pn.UNSIGNED_INT,UNSIGNED_BYTE:Pn.UNSIGNED_BYTE,BYTE:Pn.BYTE,SHORT:Pn.SHORT,INT:Pn.INT},DL="Failed to convert GL type",Zi=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in CL)if(CL[r]===t)return r;throw new Error(DL)}static fromName(t){let r=SEt[t];if(!r)throw new Error(DL);return r}static getArrayType(t){switch(t){case Pn.UNSIGNED_SHORT_5_6_5:case Pn.UNSIGNED_SHORT_4_4_4_4:case Pn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=CL[t];if(!r)throw new Error(DL);return r}}static getByteSize(t){return Zi.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Zi.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Zi.getByteSize(t));let a=Zi.getArrayType(t);return new a(r,n,i)}};function Jxe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function kL(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var cur=1/256;var lur=new Xd,fur=new ne,pur=new Xd,dur=new Xd,hur=new Uint8Array(1);function Yxe(e,t=255){return LR(e,0,t)/t*2-1}function Xxe(e){return e<0?-1:1}function Qxe(e,t,r,n){if(Jxe(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Yxe(e,r),n.y=Yxe(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Xxe(i),n.y=(1-Math.abs(i))*Xxe(n.y)}return n.normalize()}function FL(e,t,r){return Qxe(e,t,255,r)}function w8(e){return(e%1+1)%1}var TEt=1/Math.PI*180,CEt=1/180*Math.PI,DEt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...DEt}};var on=globalThis.mathgl.config;function BL(e,{precision:t=on.precision}={}){return e=kEt(e),`${parseFloat(e.toPrecision(t))}`}function Ku(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function OL(e){return Zxe(e)}function PL(e){return eye(e)}function Zxe(e,t){return tye(e,r=>r*CEt,t)}function eye(e,t){return tye(e,r=>r*TEt,t)}function ro(e,t,r){let n=on.EPSILON;r&&(on.EPSILON=r);try{if(e===t)return!0;if(Ku(e)&&Ku(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!ro(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=on.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{on.EPSILON=n}}function kEt(e){return Math.round(e/on.EPSILON)*on.EPSILON}function FEt(e){return e.clone?e.clone():new Array(e.length)}function tye(e,t,r){if(Ku(e)){let n=e;r=r||FEt(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}var ap=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Ku(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(on)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+BL(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!ro(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(on.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function BEt(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function dr(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function op(e,t,r=""){if(on.debug&&!BEt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function xi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var jg=class extends ap{get x(){return this[0]}set x(t){this[0]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return dr(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return dr(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return xi(t>=0&&t<this.ELEMENTS,"index is out of range"),dr(this[t])}setComponent(t,r){return xi(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var sn=typeof Float32Array<"u"?Float32Array:Array,hb=Math.random;function Mg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var Vur=Math.PI/180;function OEt(){let e=new sn(2);return sn!=Float32Array&&(e[0]=0,e[1]=0),e}function rye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function nye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Wur=function(){let e=OEt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function iye(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function E8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function aye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function oye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function A8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Lg={};Hn(Lg,{add:()=>REt,angle:()=>LL,bezier:()=>YEt,ceil:()=>LEt,clone:()=>IEt,copy:()=>jEt,create:()=>S8,cross:()=>th,dist:()=>aAt,distance:()=>fye,div:()=>iAt,divide:()=>lye,dot:()=>mb,equals:()=>tAt,exactEquals:()=>eAt,floor:()=>qEt,forEach:()=>uAt,fromValues:()=>T8,hermite:()=>JEt,inverse:()=>VEt,len:()=>qL,length:()=>sye,lerp:()=>WEt,max:()=>UEt,min:()=>NEt,mul:()=>nAt,multiply:()=>cye,negate:()=>$Et,normalize:()=>IL,random:()=>XEt,rotateX:()=>jL,rotateY:()=>ML,rotateZ:()=>RL,round:()=>GEt,scale:()=>zEt,scaleAndAdd:()=>HEt,set:()=>MEt,slerp:()=>KEt,sqrDist:()=>oAt,sqrLen:()=>sAt,squaredDistance:()=>pye,squaredLength:()=>dye,str:()=>ZEt,sub:()=>rAt,subtract:()=>uye,transformMat3:()=>gb,transformMat4:()=>rh,transformQuat:()=>vb,zero:()=>QEt});function S8(){let e=new sn(3);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function IEt(e){let t=new sn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function sye(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function T8(e,t,r){let n=new sn(3);return n[0]=e,n[1]=t,n[2]=r,n}function jEt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function MEt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function REt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function uye(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function cye(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function lye(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function LEt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function qEt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function NEt(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function UEt(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function GEt(e,t){return e[0]=Mg(t[0]),e[1]=Mg(t[1]),e[2]=Mg(t[2]),e}function zEt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function HEt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function fye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function pye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function dye(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function $Et(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function VEt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function IL(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function mb(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function th(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function WEt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function KEt(e,t,r,n){let i=Math.acos(Math.min(Math.max(mb(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function JEt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function YEt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function XEt(e,t){t=t===void 0?1:t;let r=hb()*2*Math.PI,n=hb()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function rh(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function gb(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function vb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function jL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function ML(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function RL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function LL(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&mb(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function QEt(e){return e[0]=0,e[1]=0,e[2]=0,e}function ZEt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function eAt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function tAt(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var rAt=uye,nAt=cye,iAt=lye,aAt=fye,oAt=pye,qL=sye,sAt=dye,uAt=function(){let e=S8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var NL=[0,0,0],C8,me=class extends jg{static get ZERO(){return C8||(C8=new me(0,0,0),Object.freeze(C8)),C8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ku(t)?this.copy(t):(on.debug&&(dr(t),dr(r),dr(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return on.debug&&(dr(t.x),dr(t.y),dr(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=dr(t)}angle(t){return LL(this,t)}cross(t){return th(this,this,t),this.check()}rotateX({radians:t,origin:r=NL}){return jL(this,this,r,t),this.check()}rotateY({radians:t,origin:r=NL}){return ML(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=NL}){return RL(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return rh(this,this,t),this.check()}transformAsVector(t){return E8(this,this,t),this.check()}transformByMatrix3(t){return gb(this,this,t),this.check()}transformByMatrix2(t){return aye(this,this,t),this.check()}transformByQuaternion(t){return vb(this,this,t),this.check()}};var D8,qg=class extends jg{static get ZERO(){return D8||(D8=new qg(0,0,0,0),Object.freeze(D8)),D8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Ku(t)&&arguments.length===1?this.copy(t):(on.debug&&(dr(t),dr(r),dr(n),dr(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return on.debug&&(dr(t.x),dr(t.y),dr(t.z),dr(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}transform(t){return rh(this,this,t),this.check()}transformByMatrix3(t){return A8(this,this,t),this.check()}transformByMatrix2(t){return oye(this,this,t),this.check()}transformByQuaternion(t){return vb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Ng=class extends ap{toString(){let t="[";if(on.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=dr(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function hye(){let e=new sn(9);return sn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function mye(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function gye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function vye(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function UL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],x=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+x*c,e[4]=g*i+m*s+x*l,e[5]=g*a+m*u+x*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function xye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function yye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function zL(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function bye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[3]=l-x,e[6]=p+m,e[1]=l+x,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var HL;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(HL||(HL={}));var cAt=Object.freeze([1,0,0,0,1,0,0,0,1]),Xr=class extends Ng{static get IDENTITY(){return fAt()}static get ZERO(){return lAt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return HL}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(cAt)}fromObject(t){return this.check()}fromQuaternion(t){return bye(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return vye(this)}transpose(){return mye(this,this),this.check()}invert(){return gye(this,this),this.check()}multiplyLeft(t){return UL(this,t,this),this.check()}multiplyRight(t){return UL(this,this,t),this.check()}rotate(t){return yye(this,this,t),this.check()}scale(t){return Array.isArray(t)?zL(this,this,t):zL(this,this,[t,t]),this.check()}translate(t){return xye(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=rye(r||[-0,-0],t,this);break;case 3:n=gb(r||[-0,-0,-0],t,this);break;case 4:n=A8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},k8,F8=null;function lAt(){return k8||(k8=new Xr([0,0,0,0,0,0,0,0,0]),Object.freeze(k8)),k8}function fAt(){return F8||(F8=new Xr,Object.freeze(F8)),F8}var B8={};Hn(B8,{add:()=>MAt,adjoint:()=>vAt,clone:()=>dAt,copy:()=>hAt,create:()=>pAt,decompose:()=>CAt,determinant:()=>WL,equals:()=>NAt,exactEquals:()=>qAt,frob:()=>jAt,fromQuat:()=>e7,fromQuat2:()=>AAt,fromRotation:()=>bAt,fromRotationTranslation:()=>Eye,fromRotationTranslationScale:()=>DAt,fromRotationTranslationScaleOrigin:()=>kAt,fromScaling:()=>yAt,fromTranslation:()=>xAt,fromValues:()=>mAt,fromXRotation:()=>_At,fromYRotation:()=>wAt,fromZRotation:()=>EAt,frustum:()=>t7,getRotation:()=>TAt,getScaling:()=>Aye,getTranslation:()=>SAt,identity:()=>wye,invert:()=>VL,lookAt:()=>i7,mul:()=>UAt,multiply:()=>xb,multiplyScalar:()=>RAt,multiplyScalarAndAdd:()=>LAt,ortho:()=>n7,orthoNO:()=>Tye,orthoZO:()=>OAt,perspective:()=>r7,perspectiveFromFieldOfView:()=>BAt,perspectiveNO:()=>Sye,perspectiveZO:()=>FAt,rotate:()=>YL,rotateX:()=>XL,rotateY:()=>QL,rotateZ:()=>ZL,scale:()=>JL,set:()=>gAt,str:()=>IAt,sub:()=>GAt,subtract:()=>Cye,targetTo:()=>PAt,translate:()=>KL,transpose:()=>$L});function pAt(){let e=new sn(16);return sn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function dAt(e){let t=new sn(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function hAt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function mAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new sn(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function gAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function wye(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function $L(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function VL(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m,z=b*G-_*M+A*O+w*D-T*C+k*j;return z?(z=1/z,e[0]=(s*G-u*M+c*O)*z,e[1]=(i*M-n*G-a*O)*z,e[2]=(g*k-m*T+x*w)*z,e[3]=(p*T-f*k-d*w)*z,e[4]=(u*D-o*G-c*C)*z,e[5]=(r*G-i*D+a*C)*z,e[6]=(m*A-h*k-x*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*j)*z,e[9]=(n*D-r*M-a*j)*z,e[10]=(h*T-g*A+x*b)*z,e[11]=(f*A-l*T-d*b)*z,e[12]=(s*C-o*O-u*j)*z,e[13]=(r*O-n*C+i*j)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function vAt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m;return e[0]=s*G-u*M+c*O,e[1]=i*M-n*G-a*O,e[2]=g*k-m*T+x*w,e[3]=p*T-f*k-d*w,e[4]=u*D-o*G-c*C,e[5]=r*G-i*D+a*C,e[6]=m*A-h*k-x*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*j,e[9]=n*D-r*M-a*j,e[10]=h*T-g*A+x*b,e[11]=f*A-l*T-d*b,e[12]=s*C-o*O-u*j,e[13]=r*O-n*C+i*j,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function WL(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],x=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,T=l*g-f*h,k=t*T-r*w+n*A,j=a*T-o*w+s*A,C=c*_-l*b+f*x,D=d*_-h*b+g*x;return u*k-i*j+m*C-p*D}function xb(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],x=t[14],b=t[15],_=r[0],A=r[1],w=r[2],T=r[3];return e[0]=_*n+A*s+w*f+T*g,e[1]=_*i+A*u+w*p+T*m,e[2]=_*a+A*c+w*d+T*x,e[3]=_*o+A*l+w*h+T*b,_=r[4],A=r[5],w=r[6],T=r[7],e[4]=_*n+A*s+w*f+T*g,e[5]=_*i+A*u+w*p+T*m,e[6]=_*a+A*c+w*d+T*x,e[7]=_*o+A*l+w*h+T*b,_=r[8],A=r[9],w=r[10],T=r[11],e[8]=_*n+A*s+w*f+T*g,e[9]=_*i+A*u+w*p+T*m,e[10]=_*a+A*c+w*d+T*x,e[11]=_*o+A*l+w*h+T*b,_=r[12],A=r[13],w=r[14],T=r[15],e[12]=_*n+A*s+w*f+T*g,e[13]=_*i+A*u+w*p+T*m,e[14]=_*a+A*c+w*d+T*x,e[15]=_*o+A*l+w*h+T*b,e}function KL(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,x;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=x,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+x*a+t[15]),e}function JL(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function YL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j,C,D,O,M,G,z,J;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],x=t[6],b=t[7],_=t[8],A=t[9],w=t[10],T=t[11],k=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,D=i*a*l-o*c,O=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,J=o*o*l+u,e[0]=f*k+g*j+_*C,e[1]=p*k+m*j+A*C,e[2]=d*k+x*j+w*C,e[3]=h*k+b*j+T*C,e[4]=f*D+g*O+_*M,e[5]=p*D+m*O+A*M,e[6]=d*D+x*O+w*M,e[7]=h*D+b*O+T*M,e[8]=f*G+g*z+_*J,e[9]=p*G+m*z+A*J,e[10]=d*G+x*z+w*J,e[11]=h*G+b*z+T*J,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function XL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function QL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function ZL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function xAt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function yAt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function bAt(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function _At(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function wAt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function EAt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Eye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,x=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-x,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+x,e[9]=h-m,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function AAt(e,t){let r=new sn(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Eye(e,t,r),e}function SAt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Aye(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function TAt(e,t){let r=new sn(3);Aye(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function CAt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,x=a*h,b=o*g,_=s*d,A=u*h,w=c*g,T=l*d,k=f*h,j=p*g,C=m+A+j,D=0;return C>0?(D=Math.sqrt(C+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(T-b)/D,e[2]=(x-_)/D):m>A&&m>j?(D=Math.sqrt(1+m-A-j)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(x+_)/D,e[2]=(T+b)/D):A>j?(D=Math.sqrt(1+A-m-j)*2,e[3]=(T-b)/D,e[0]=(x+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+j-m-A)*2,e[3]=(x-_)/D,e[0]=(T+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function DAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,x=s*u,b=s*c,_=s*l,A=n[0],w=n[1],T=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+x)*w,e[7]=0,e[8]=(d+b)*T,e[9]=(g-x)*T,e[10]=(1-(f+h))*T,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function kAt(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,x=s*f,b=u*c,_=u*l,A=u*f,w=n[0],T=n[1],k=n[2],j=i[0],C=i[1],D=i[2],O=(1-(g+x))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*T,J=(1-(p+x))*T,Y=(m+b)*T,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=O,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=J,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+j-(O*j+z*C+le*D),e[13]=r[1]+C-(M*j+J*C+ue*D),e[14]=r[2]+D-(G*j+Y*C+ce*D),e[15]=1,e}function e7(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[1]=l+x,e[2]=p-m,e[3]=0,e[4]=l-x,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function t7(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function Sye(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var r7=Sye;function FAt(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function BAt(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Tye(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var n7=Tye;function OAt(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function i7(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],x=n[0],b=n[1],_=n[2],A=r[0],w=r[1],T=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-T)<1e-6?wye(e):(f=h-A,p=g-w,d=m-T,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-x*d,s=x*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function PAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let h=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function IAt(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function jAt(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function MAt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Cye(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function RAt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function LAt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function qAt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function NAt(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],x=e[15],b=t[0],_=t[1],A=t[2],w=t[3],T=t[4],k=t[5],j=t[6],C=t[7],D=t[8],O=t[9],M=t[10],G=t[11],z=t[12],J=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-T)<=1e-6*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-J)<=1e-6*Math.max(1,Math.abs(g),Math.abs(J))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(x-le)<=1e-6*Math.max(1,Math.abs(x),Math.abs(le))}var UAt=xb,GAt=Cye;function zAt(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Dye(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function kye(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Fye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Bye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Oye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function Pye(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Iye(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function jye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function Mye(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var xcr=function(){let e=zAt();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var s7;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(s7||(s7={}));var HAt=45*Math.PI/180,$At=1,a7=.1,o7=500,VAt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),No=class extends Ng{static get IDENTITY(){return KAt()}static get ZERO(){return WAt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return s7}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(VAt)}fromObject(t){return this.check()}fromQuaternion(t){return e7(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return s===1/0?JAt(this,r,n,i,a,o):t7(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return i7(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return n7(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=HAt,aspect:n=$At,focalDistance:i=1,near:a=a7,far:o=o7}=t;Lye(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Lye(r),r7(this,r,n,i,a),this.check()}determinant(){return WL(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return $L(this,this),this.check()}invert(){return VL(this,this),this.check()}multiplyLeft(t){return xb(this,t,this),this.check()}multiplyRight(t){return xb(this,this,t),this.check()}rotateX(t){return XL(this,this,t),this.check()}rotateY(t){return QL(this,this,t),this.check()}rotateZ(t){return ZL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return YL(this,this,t,r),this.check()}scale(t){return JL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return KL(this,this,t),this.check()}transform(t,r){return t.length===4?(r=jye(r||[-0,-0,-0,-0],t,this),op(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=nye(r||[-0,-0],t,this);break;case 3:i=rh(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=iye(r||[-0,-0],t,this);break;case 3:n=E8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},O8,P8;function WAt(){return O8||(O8=new No([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(O8)),O8}function KAt(){return P8||(P8=new No,Object.freeze(P8)),P8}function Lye(e){if(e>Math.PI*2)throw Error("expected radians")}function JAt(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function qye(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Nye(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function u7(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function c7(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function Uye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Gye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function zye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function Hye(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function yb(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function $ye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Vye(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function l7(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var Wye=Dye;var Kye=kye,Jye=Pye,Yye=Iye,Xye=Fye;var Qye=Bye;var Zye=Oye;var ebe=function(){let e=S8(),t=T8(1,0,0),r=T8(0,1,0);return function(n,i,a){let o=mb(i,a);return o<-.999999?(th(e,t,i),qL(e)<1e-6&&th(e,r,i),IL(e,e),u7(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(th(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Zye(n,n))}}(),Ocr=function(){let e=qye(),t=qye();return function(r,n,i,a,o,s){return yb(e,n,o,s),yb(t,i,a,s),yb(r,e,t,2*s*(1-s)),r}}(),Pcr=function(){let e=hye();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Zye(t,l7(t,e))}}();var XAt=[0,0,0,1],sp=class extends ap{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return l7(this,t),this.check()}fromAxisRotation(t,r){return u7(this,t,r),this.check()}identity(){return Nye(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(t)}get z(){return this[2]}set z(t){this[2]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}len(){return Xye(this)}lengthSquared(){return Qye(this)}dot(t){return Jye(this,t)}rotationTo(t,r){return ebe(this,t,r),this.check()}add(t){return Wye(this,this,t),this.check()}calculateW(){return Hye(this,this),this.check()}conjugate(){return Vye(this,this),this.check()}invert(){return $ye(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Yye(this,t,r,n),this.check())}multiplyRight(t){return c7(this,this,t),this.check()}multiplyLeft(t){return c7(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Uye(this,this,t),this.check()}rotateY(t){return Gye(this,this,t),this.check()}rotateZ(t){return zye(this,this,t),this.check()}scale(t){return Kye(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=XAt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return yb(this,i,a,o),this.check()}transformVector4(t,r=new qg){return Mye(r,t,this),op(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Ju={};Hn(Ju,{EPSILON1:()=>QAt,EPSILON10:()=>s3t,EPSILON11:()=>u3t,EPSILON12:()=>c3t,EPSILON13:()=>l3t,EPSILON14:()=>f3t,EPSILON15:()=>p3t,EPSILON16:()=>d3t,EPSILON17:()=>h3t,EPSILON18:()=>m3t,EPSILON19:()=>g3t,EPSILON2:()=>ZAt,EPSILON20:()=>v3t,EPSILON3:()=>e3t,EPSILON4:()=>t3t,EPSILON5:()=>r3t,EPSILON6:()=>n3t,EPSILON7:()=>i3t,EPSILON8:()=>a3t,EPSILON9:()=>o3t,PI_OVER_FOUR:()=>y3t,PI_OVER_SIX:()=>b3t,PI_OVER_TWO:()=>x3t,TWO_PI:()=>_3t});var QAt=.1,ZAt=.01,e3t=.001,t3t=1e-4,r3t=1e-5,n3t=1e-6,i3t=1e-7,a3t=1e-8,o3t=1e-9,s3t=1e-10,u3t=1e-11,c3t=1e-12,l3t=1e-13,f3t=1e-14,p3t=1e-15,d3t=1e-16,h3t=1e-17,m3t=1e-18,g3t=1e-19,v3t=1e-20,x3t=Math.PI/2,y3t=Math.PI/4,b3t=Math.PI/6,_3t=Math.PI*2;var fl=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=vt.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=Zi.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=Zi.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];return a||(a=Zi.createTypedArray(r,n),i[t]=a),a}};var w3t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},E3t={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},A3t={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function tbe(e,t,r,n){let{componentType:i}=e;Et(e.componentType);let a=typeof i=="string"?Zi.fromName(i):i,o=w3t[e.type],s=E3t[e.type],u=A3t[e.type];return r+=e.byteOffset,{values:Zi.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Yu=e=>e!==void 0;function rbe(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?S3t(n,r):null}function S3t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Yu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Yu(u))for(Yu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Yu(c)&&Yu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let m=o[r].length,x=o[r].instances,b=getBinaryProperties(m,x,t);o[r].instances=combine(b,x)}let d=new Array(p).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=d[n],++d[n];let g={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return D3t(g),g}function Ug(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?T3t(e,t,r):C3t(e,t,r)}function T3t(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Yu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let g=a[d+h];g!==t&&l.push(g)}}return null}function C3t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Yu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function D3t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)nbe(e,i,stack)}function nbe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Yu(i))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let u=Yu(n)?n[t]:1,c=Yu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&nbe(e,f,r)}r.pop(t)}function Ma(e){return e!=null}var I8=(e,t)=>e,k3t={HIERARCHY:!0,extensions:!0,extras:!0},nh=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;Et(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)k3t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=rbe(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),Et(typeof r=="string",r),this._hierarchy){let n=Ug(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ma(n)}return!1}isExactClass(t,r){return Et(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),Et(typeof r=="string",r),Ma(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ma(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),Et(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ma(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ma(n))return I8(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ma(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),Et(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let a=this._properties[r];Ma(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=I8(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;Et(this.binary,`Property ${t} requires a batch table binary.`),Et(n.type,`Property ${t} requires a type.`);let i=tbe(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Ug(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ma(s[r])});return Ma(n)}_getPropertyNamesInHierarchy(t,r){Ug(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return Ug(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ma(u)?Ma(u.typedArray)?this._getBinaryProperty(u,s):I8(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=Ug(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ma(f)?(Et(s===r,`Inherited property "${n}" is read-only.`),Ma(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=I8(i,!0),!0):!1});return Ma(a)}};var f7=4;function up(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=f7,e.version=n.getUint32(r,!0),r+=f7,e.byteLength=n.getUint32(r,!0),r+=f7,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Gg=4,ibe="b3dm tile in legacy format.";function zg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=Gg;let o=n.getUint32(r,!0);r+=Gg;let s=n.getUint32(r,!0);r+=Gg;let u=n.getUint32(r,!0);return r+=Gg,s>=570425344?(r-=Gg*2,i=a,s=o,u=0,a=0,o=0,console.warn(ibe)):u>=570425344&&(r-=Gg,i=s,s=a,u=o,a=0,o=0,console.warn(ibe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function Hg(e,t,r,n){return r=F3t(e,t,r,n),r=B3t(e,t,r,n),r}function F3t(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=EL(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function B3t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=EL(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function p7(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:vt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=kL(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:vt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:vt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:vt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var abe=new me;function obe(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)FL(t[n*2],t[n*2+1],abe),abe.toArray(r,n*3);return{type:vt.FLOAT,size:2,value:r}}return{type:vt.FLOAT,size:2,value:t}}function sbe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,O3t(e,t)):{type:vt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function O3t(e,t){let r=new me,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function ube(e,t,r,n,i){r=up(e,t,r),r=zg(e,t,r),r=Hg(e,t,r,n),P3t(e);let{featureTable:a,batchTable:o}=I3t(e);return await q3t(e,a,o,n,i),j3t(e,a,n),M3t(e,a,o),R3t(e,a),r}function P3t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function I3t(e){let t=new fl(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",vt.FLOAT,3);let n=L3t(e,t);return{featureTable:t,batchTable:n}}function j3t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",vt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",vt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",vt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",vt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=sbe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function M3t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",vt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",vt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",vt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=p7(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",vt.UNSIGNED_BYTE,4))}function R3t(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",vt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",vt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=obe(e,r)}}function L3t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",vt.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:a}=e;r=new nh(i,a,n)}return r}async function q3t(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,p=c.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+p),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await N3t(e,l,n,i)}async function N3t(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await Ja(t.buffer,Ig,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let d=a.POSITION.data.quantization,h=d.range;e.quantizedVolumeScale=new me(h,h,h),e.quantizedVolumeOffset=new me(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))a.attributes[d]&&a.attributes[d].value&&(p[d.toLowerCase()]=a.attributes[d].value);e.attributes={positions:o,colors:p7(e,s,void 0),normals:u,batchIds:c,...p}}var _7={};Hn(_7,{decode:()=>SSt,name:()=>$8});var j8="4.2.3";var cbe,U3t=(cbe=globalThis.loaders)==null?void 0:cbe.parseImageNode,d7=typeof Image<"u",h7=typeof ImageBitmap<"u",G3t=Boolean(U3t),m7=Er?!0:G3t;function lbe(e){switch(e){case"auto":return h7||d7||m7;case"imagebitmap":return h7;case"image":return d7;case"data":return m7;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function fbe(){if(h7)return"imagebitmap";if(d7)return"image";if(m7)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function pbe(e){let t=z3t(e);if(!t)throw new Error("Not an image");return t}function g7(e){return $g(e)}function $g(e){switch(pbe(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function z3t(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var H3t=/^data:image\/svg\+xml/,$3t=/\.svg((\?|#).*)?$/;function M8(e){return e&&(H3t.test(e)||$3t.test(e))}function dbe(e,t){if(M8(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return v7(e,t)}function v7(e,t){if(M8(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function R8(e,t,r){let n=dbe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await V3t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function V3t(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var W3t={},hbe=!0;async function mbe(e,t,r){let n;M8(r)?n=await R8(e,t,r):n=v7(e,r);let i=t&&t.imagebitmap;return await K3t(n,i)}async function K3t(e,t=null){if((J3t(t)||!hbe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),hbe=!1}return await createImageBitmap(e)}function J3t(e){for(let t in e||W3t)return!1;return!0}function gbe(e){return!Z3t(e,"ftyp",4)||!(e[8]&96)?null:Y3t(e)}function Y3t(e){switch(X3t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function X3t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function Q3t(e){return[...e].map(t=>t.charCodeAt(0))}function Z3t(e,t,r=0){let n=Q3t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Xu=!1,bb=!0;function ih(e){let t=_b(e);return tSt(t)||iSt(t)||rSt(t)||nSt(t)||eSt(t)}function eSt(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=gbe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function tSt(e){let t=_b(e);return t.byteLength>=24&&t.getUint32(0,Xu)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Xu),height:t.getUint32(20,Xu)}:null}function rSt(e){let t=_b(e);return t.byteLength>=10&&t.getUint32(0,Xu)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,bb),height:t.getUint16(8,bb)}:null}function nSt(e){let t=_b(e);return t.byteLength>=14&&t.getUint16(0,Xu)===16973&&t.getUint32(2,bb)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,bb),height:t.getUint32(22,bb)}:null}function iSt(e){let t=_b(e);if(!(t.byteLength>=3&&t.getUint16(0,Xu)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=aSt(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Xu);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Xu),width:t.getUint16(a+7,Xu)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Xu)}return null}function aSt(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function _b(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function vbe(e,t){var i;let{mimeType:r}=ih(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Et(n),await n(e,r)}async function xbe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=oSt(i),s;switch(o){case"imagebitmap":s=await mbe(e,t,a);break;case"image":s=await R8(e,t,a);break;case"data":s=await vbe(e,t);break;default:Et(!1)}return i==="data"&&(s=$g(s)),s}function oSt(e){switch(e){case"auto":case"data":return fbe();default:return lbe(e),e}}var sSt=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],uSt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],cSt={image:{type:"auto",decode:!0}},Vg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:j8,mimeTypes:uSt,extensions:sSt,parse:xbe,tests:[e=>Boolean(ih(new DataView(e)))],options:cSt};var _be,ybe=(_be=globalThis.loaders)==null?void 0:_be.encodeImageNode;async function wbe(e,t){return t=t||{},t.image=t.image||{},ybe?ybe(e,{type:t.image.mimeType}):lSt(e,t)}var bbe=!0;async function lSt(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=g7(e),o=document.createElement("canvas");o.width=i,o.height=a,fSt(e,o);let s=await new Promise(u=>{if(n&&bbe)try{o.toBlob(u,r,n);return}catch{bbe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function fSt(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var x7={name:"Images",id:"image",module:"images",version:j8,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:wbe};var y7={};function b7(e){if(y7[e]===void 0){let t=Er?dSt(e):pSt(e);y7[e]=t}return y7[e]}function pSt(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function dSt(e){switch(e){case"image/avif":case"image/webp":return hSt(e);default:return!0}}function hSt(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ri(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var L8={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},q8={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var mSt=1.33,Ebe=["SCALAR","VEC2","VEC3","VEC4"],gSt=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],vSt=new Map(gSt),xSt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ySt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},bSt={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function N8(e){return Ebe[e-1]||Ebe[0]}function Wg(e){let t=vSt.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Kg(e,t){let r=bSt[e.componentType],n=xSt[e.type],i=ySt[e.componentType],a=e.count*n,o=e.count*n*i;ri(o>=0&&o<=t.byteLength);let s=q8[e.componentType],u=L8[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function wb(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*mSt)}function Abe(e,t,r){let n=e.bufferViews[r];ri(n);let i=n.buffer,a=t[i];ri(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Sbe(e,t,r){var g,m;let n=typeof r=="number"?(g=e.accessors)==null?void 0:g[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(m=e.bufferViews)==null?void 0:m[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=Kg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let h=new u(c);for(let x=0;x<n.count;x++){let b=new u(a,s+x*d,f);h.set(b,x*f)}return h}function _St(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var sr=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||_St(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0:t.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];ri(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Sbe(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return ri(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return ri(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=ih(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let i=t.byteLength;ri(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Xa(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:N8(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:Wg(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var a,o;this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=VB(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(t,r){let n=!0;for(;n;){let i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=o}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function Tbe(e){return(e%1+1)%1}var Cbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},wSt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Dbe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Eb(e,t){return Dbe[t]*Cbe[e]}function Jg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=Yg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function Yg(e,t,r,n=1){let i=Cbe[t],a=wSt[r],o=Dbe[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(c,l,s)}function Xg(e,t,r){var c,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let h=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,g=(d=e.gltf.images)==null?void 0:d[u];if(g&&typeof g.width<"u"){let m=[];for(let x=0;x<a.length;x+=2){let b=ESt(g,h,a,x,t.channels);m.push(b)}return m}}return[]}function U8(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:Wg(o),count:o.length});i.attributes[t]=c}function ESt(e,t,r,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=ASt(o,s,e,u),l=0;for(let f of i){let p=typeof f=="number"?Object.values(a)[f]:a[f],d=c+p.offset,h=$g(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let g=h.data[d];l|=g<<p.shift}return l}function ASt(e,t,r,n=1){let i=r.width,a=Tbe(e)*(i-1),o=Math.round(a),s=r.height,u=Tbe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function G8(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function z8(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function H8(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var kbe="EXT_mesh_features",$8=kbe;async function SSt(e,t){let r=new sr(e);TSt(r,t)}function TSt(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)CSt(e,i,t)}function CSt(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[kbe],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=Xg(e,u.texture,t):c=[];u.data=c}}var A7={};Hn(A7,{decode:()=>DSt,name:()=>pl});var w7="EXT_structural_metadata",pl=w7;async function DSt(e,t){let r=new sr(e);kSt(r,t)}function kSt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(w7);r&&((i=t.gltf)!=null&&i.loadImages&&FSt(e,r),BSt(e,r))}function FSt(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)PSt(e,r,a,t)}function BSt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=OSt(i,a);o&&jSt(e,r,o)}}function OSt(e,t){for(let r of e)if(r.class===t)return r;return null}function PSt(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[w7],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];ISt(e,u,r,n)}}function ISt(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=Xg(e,u,r);l!==null&&(U8(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function jSt(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=MSt(e,t,u,i,c);c.data=l}}}function MSt(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=RSt(e,r,i,n),c=LSt(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=qSt(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=H8(n,s,u,c);break}case"ENUM":{a=NSt(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function RSt(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Jg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function LSt(e,t,r){return typeof t.stringOffsets<"u"?Jg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function qSt(e,t,r,n){let i=e.array,a=e.count,o=Eb(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=Yg(r,e.type,e.componentType,s):u=r,i?n?G8(u,t,n,r.length,o):a?z8(u,t,a):[]:u}function NSt(e,t,r,n,i){var f;let a=t.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=Eb(t.type,s),c=n.byteLength/u,l=Yg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return USt({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?GSt(l,r,p,o):[]}return E7(l,0,r,o)}function USt(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,p=l/a,d=E7(t,f,p,o);s.push(d)}return s}function GSt(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=E7(e,o,r,n);i.push(s)}return i}function E7(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=zSt(n,o);s?i.push(s.name):i.push("")}return i}function zSt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var S7={};Hn(S7,{decode:()=>HSt,name:()=>Uo});var Fbe="EXT_feature_metadata",Uo=Fbe;async function HSt(e,t){let r=new sr(e);$St(r,t)}function $St(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Fbe);r&&((i=t.gltf)!=null&&i.loadImages&&VSt(e,r),WSt(e,r))}function VSt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=JSt(i,a);s&&XSt(e,s,o)}}function WSt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=KSt(i,a);o&&YSt(e,r,o)}}function KSt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function JSt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function YSt(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=QSt(e,t,u,i,c);c.data=l}}}function XSt(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=n6t(e,o,n);o.data=s}}}function QSt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=ZSt(e,r,i,n),c=e6t(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=H8(n,s,u,c):t6t(r)&&(a=r6t(r,n,s,u)),a}function ZSt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Jg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function e6t(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Jg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function t6t(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function r6t(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Eb(o,s),c=r.byteLength/u,l=Yg(r,o,s,c);return i?n?G8(l,t,n,r.length,u):a?z8(l,t,a):[]:l}function n6t(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)i6t(e,r,t,i,o);return i}function i6t(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=Xg(e,a,i);o&&U8(e,t,o,n,i)}var V8="4.2.3";var Qg="4.2.3";var Qu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Bbe;async function C7(e){xx(e.modules);let t=IB("basis");return t||(Bbe||(Bbe=a6t(e)),await Bbe)}async function a6t(e){let t=null,r=null;return[t,r]=await Promise.all([await _u(Qu.TRANSCODER,"textures",e),await _u(Qu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await o6t(t,r)}function o6t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var T7;async function D7(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(T7=T7||s6t(e),await T7)}async function s6t(e){let t=null,r=null;return[t,r]=await Promise.all([await _u(Qu.ENCODER,"textures",e),await _u(Qu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await u6t(t,r)}function u6t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var pe={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var c6t=["","WEBKIT_","MOZ_"],Obe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},W8=null;function Ab(e){if(!W8){e=e||l6t()||void 0,W8=new Set;for(let t of c6t)for(let r in Obe)if(e&&e.getExtension(`${t}${r}`)){let n=Obe[r];W8.add(n)}}return W8}function l6t(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Hbe=Ct(Gbe(),1);function Zg(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=d6t(t,n,i,e,o),u=p6t(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function p6t(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function d6t(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var h6t={131:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,132:pe.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:pe.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:pe.COMPRESSED_RED_RGTC1_EXT,140:pe.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:pe.COMPRESSED_RED_GREEN_RGTC2_EXT,142:pe.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:pe.COMPRESSED_RGB8_ETC2,148:pe.COMPRESSED_SRGB8_ETC2,149:pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:pe.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:pe.COMPRESSED_RGBA8_ETC2_EAC,152:pe.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:pe.COMPRESSED_R11_EAC,154:pe.COMPRESSED_SIGNED_R11_EAC,155:pe.COMPRESSED_RG11_EAC,156:pe.COMPRESSED_SIGNED_RG11_EAC,157:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,158:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,160:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,162:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,164:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,166:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,168:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,170:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,172:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,174:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,176:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,178:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,180:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,182:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:pe.COMPRESSED_RGBA_ASTC_12x12_KHR,184:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:pe.COMPRESSED_RGBA_ASTC_12x12_KHR};function zbe(e){return h6t[e]}var no=[171,75,84,88,32,50,48,187,13,10,26,10];function Q8(e){let t=new Uint8Array(e);return!(t.byteLength<no.length||t[0]!==no[0]||t[1]!==no[1]||t[2]!==no[2]||t[3]!==no[3]||t[4]!==no[4]||t[5]!==no[5]||t[6]!==no[6]||t[7]!==no[7]||t[8]!==no[8]||t[9]!==no[9]||t[10]!==no[10]||t[11]!==no[11])}function $be(e){let t=new Uint8Array(e),r=(0,Hbe.read)(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=zbe(r.vkFormat);return Zg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var m6t={etc1:{basisFormat:0,compressed:!0,format:pe.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:pe.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:pe.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Tb(e,t){if(t.basis.containerFormat==="auto"){if(Q8(e)){let n=await D7(t);return Vbe(n.KTX2File,e,t)}let{BasisFile:r}=await C7(t);return P7(r,e,t)}switch(t.basis.module){case"encoder":let r=await D7(t);switch(t.basis.containerFormat){case"ktx2":return Vbe(r.KTX2File,e,t);case"basis":default:return P7(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await C7(t);return P7(n,e,t)}}function P7(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(g6t(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function g6t(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Wbe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function Vbe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++){a.push(v6t(n,o,r));break}return[a]}finally{n.close(),n.delete()}}function v6t(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Wbe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function Wbe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=e1()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),m6t[r]}function e1(){let e=Ab();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Kbe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:Qg,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ah={...Kbe,parse:Tb};var io={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},x6t={DXT1:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":pe.COMPRESSED_RGB_ATC_WEBGL,ATCA:pe.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:pe.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},y6t=Xbe,b6t=Z8,_6t=Z8,w6t={DXT1:Xbe,DXT3:Z8,DXT5:Z8,"ATC ":y6t,ATCA:b6t,ATCI:_6t};function Jbe(e){return new Uint32Array(e,0,io.HEADER_LENGTH)[io.MAGIC_NUMBER_INDEX]===io.MAGIC_NUMBER}function Ybe(e){let t=new Int32Array(e,0,io.HEADER_LENGTH),r=t[io.HEADER_PF_FOURCC_INDEX];Et(Boolean(t[io.HEADER_PF_FLAGS_INDEX]&io.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=E6t(r),i=x6t[n],a=w6t[n];Et(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[io.HEADER_FLAGS_INDEX]&io.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[io.MIPMAPCOUNT_INDEX]));let s=t[io.HEADER_WIDTH_INDEX],u=t[io.HEADER_HEIGHT_INDEX],c=t[io.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return Zg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Xbe(e,t){return(e+3>>2)*(t+3>>2)*8}function Z8(e,t){return(e+3>>2)*(t+3>>2)*16}function E6t(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Go={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},A6t={0:[pe.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[pe.COMPRESSED_RGB_ETC1_WEBGL],7:[pe.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[pe.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[pe.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[pe.COMPRESSED_RGB8_ETC2],23:[pe.COMPRESSED_RGBA8_ETC2_EAC],24:[pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[pe.COMPRESSED_R11_EAC],26:[pe.COMPRESSED_RG11_EAC],27:[pe.COMPRESSED_RGBA_ASTC_4X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[pe.COMPRESSED_RGBA_ASTC_5X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[pe.COMPRESSED_RGBA_ASTC_5X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[pe.COMPRESSED_RGBA_ASTC_6X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[pe.COMPRESSED_RGBA_ASTC_6X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[pe.COMPRESSED_RGBA_ASTC_8X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[pe.COMPRESSED_RGBA_ASTC_8X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[pe.COMPRESSED_RGBA_ASTC_8X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[pe.COMPRESSED_RGBA_ASTC_10X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[pe.COMPRESSED_RGBA_ASTC_10X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[pe.COMPRESSED_RGBA_ASTC_10X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[pe.COMPRESSED_RGBA_ASTC_10X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[pe.COMPRESSED_RGBA_ASTC_12X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[pe.COMPRESSED_RGBA_ASTC_12X12_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},S6t={0:Qbe,1:Qbe,2:Zbe,3:Zbe,6:Cb,7:Cb,9:Db,11:Db,22:Cb,23:Db,24:Cb,25:Cb,26:Db,27:Db,28:T6t,29:C6t,30:D6t,31:k6t,32:F6t,33:B6t,34:O6t,35:P6t,36:I6t,37:j6t,38:M6t,39:R6t,40:L6t};function e2e(e){let r=new Uint32Array(e,0,Go.HEADER_LENGTH)[Go.MAGIC_NUMBER_INDEX];return r===Go.MAGIC_NUMBER||r===Go.MAGIC_NUMBER_EXTRA}function t2e(e){let t=new Uint32Array(e,0,Go.HEADER_LENGTH),r=t[Go.PIXEL_FORMAT_INDEX],n=t[Go.COLOUR_SPACE_INDEX],i=A6t[r]||[],a=i.length>1&&n?i[1]:i[0],o=S6t[r],s=t[Go.MIPMAPCOUNT_INDEX],u=t[Go.WIDTH_INDEX],c=t[Go.HEIGHT_INDEX],l=Go.HEADER_SIZE+t[Go.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return Zg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function Qbe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Zbe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Cb(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Db(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function T6t(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function C6t(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function D6t(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function k6t(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function F6t(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function B6t(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function O6t(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function P6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function I6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function j6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function M6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function R6t(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function L6t(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function r2e(e){if(Q8(e))return $be(e);if(Jbe(e))return Ybe(e);if(e2e(e))return t2e(e);throw new Error("Texture container format not recognized")}var n2e={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:Qg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},eC={...n2e,parse:async(e,t)=>{var r;return(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await Tb(e,t))[0]):r2e(e)}};var I7={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:Qg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var t1=!0,i2e=1735152710,R7=12,tC=8,q6t=1313821514,N6t=5130562,U6t=0,G6t=0,z6t=1;function H6t(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function a2e(e,t=0,r={}){let n=new DataView(e),{magic:i=i2e}=r,a=n.getUint32(t,!1);return a===i||a===i2e}function o2e(e,t,r=0,n={}){let i=new DataView(t),a=H6t(i,r+0),o=i.getUint32(r+4,t1),s=i.getUint32(r+8,t1);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=R7,e.version){case 1:return $6t(e,i,r);case 2:return V6t(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function $6t(e,t,r){Et(e.header.byteLength>R7+tC);let n=t.getUint32(r+0,t1),i=t.getUint32(r+4,t1);return r+=tC,Et(i===U6t),j7(e,t,r,n),r+=n,r+=M7(e,t,r,e.header.byteLength),r}function V6t(e,t,r,n){return Et(e.header.byteLength>R7+tC),W6t(e,t,r,n),r+e.header.byteLength}function W6t(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,t1),a=t.getUint32(r+4,t1);switch(r+=tC,a){case q6t:j7(e,t,r,i);break;case N6t:M7(e,t,r,i);break;case G6t:n.strict||j7(e,t,r,i);break;case z6t:n.strict||M7(e,t,r,i);break;default:break}r+=Xa(i,4)}return r}function j7(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Xa(n,4)}function M7(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Xa(n,4)}function L7(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var N7={};Hn(N7,{decode:()=>aTt,name:()=>iTt});var K6t="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",J6t="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",Y6t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),X6t=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Q6t={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Z6t={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function s2e(e,t,r,n,i,a="NONE"){let o=await eTt();nTt(o,o.exports[Z6t[i]],e,t,r,n,o.exports[Q6t[a||"NONE"]])}var q7;async function eTt(){return q7||(q7=tTt()),q7}async function tTt(){let e=K6t;WebAssembly.validate(Y6t)&&(e=J6t,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(rTt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function rTt(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?X6t[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function nTt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let p=t(c,n,i,l,a.length);if(p===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),p!==0)throw new Error(`Malformed buffer data: ${p}`)}var rC="EXT_meshopt_compression",iTt=rC;async function aTt(e,t){var i,a;let r=new sr(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(oTt(r,o));await Promise.all(n),r.removeExtension(rC)}async function oTt(e,t){let r=e.getObjectExtension(t,rC);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),p=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await s2e(p,o,a,f,s,u),e.removeObjectExtension(t,rC)}}var U7={};Hn(U7,{name:()=>sTt,preprocess:()=>uTt});var r1="EXT_texture_webp",sTt=r1;function uTt(e,t){let r=new sr(e);if(!b7("image/webp")){if(r.getRequiredExtensions().includes(r1))throw new Error(`gltf: Required extension ${r1} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,r1);a&&(i.source=a.source),r.removeObjectExtension(i,r1)}r.removeExtension(r1)}var G7={};Hn(G7,{name:()=>cTt,preprocess:()=>lTt});var nC="KHR_texture_basisu",cTt=nC;function lTt(e,t){let r=new sr(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,nC);a&&(i.source=a.source,r.removeObjectExtension(i,nC))}r.removeExtension(nC)}var H7={};Hn(H7,{decode:()=>mTt,encode:()=>gTt,name:()=>dTt,preprocess:()=>hTt});function u2e(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=z7(n);t[r]=i}}return t}function z7(e){let{buffer:t,size:r,count:n}=fTt(e);return{value:t,size:r,byteOffset:0,count:n,type:N8(r),componentType:Wg(t)}}function fTt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=pTt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function pTt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var cp="KHR_draco_mesh_compression",dTt=cp;function hTt(e,t,r){let n=new sr(e);for(let i of c2e(n))n.getObjectExtension(i,cp)}async function mTt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new sr(e),i=[];for(let o of c2e(n))n.getObjectExtension(o,cp)&&i.push(vTt(n,o,t,r));await Promise.all(i),n.removeExtension(cp)}function gTt(e,t={}){let r=new sr(e);for(let n of r.json.meshes||[])xTt(n,t),r.addRequiredExtension(cp)}async function vTt(e,t,r,n){let i=e.getObjectExtension(t,cp);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=sd(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Ja(o,Ig,s,n),c=u2e(u.attributes);for(let[l,f]of Object.entries(c))if(l in t.attributes){let p=t.attributes[l],d=e.getAccessor(p);d!=null&&d.min&&(d!=null&&d.max)&&(f.min=d.min,f.max=d.max)}t.attributes=c,u.indices&&(t.indices=z7(u.indices)),e.removeObjectExtension(t,cp),yTt(t)}function xTt(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[cp]:{bufferView:u,attributes:s}}}]}}function yTt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*c2e(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var $7={};Hn($7,{decode:()=>ETt,name:()=>bTt});var aC="KHR_texture_transform",bTt=aC,iC=new ne,_Tt=new pr,wTt=new pr;async function ETt(e,t){var a;if(!new sr(e).hasExtension(aC)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)ATt(o,e)}function ATt(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[aC])&&STt(t,e,c,i)}function STt(e,t,r,n){let i=TTt(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&CTt(e,s,i)}}function TTt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[aC],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=FTt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function CTt(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:g}=Kg(c,l),m=q8[c.componentType],x=L8[c.type],b=l.byteStride||m*x,_=new Float32Array(g);for(let A=0;A<c.count;A++){let w=new h(f,d+A*b,2);iC.set(w[0],w[1],1),iC.transformByMatrix3(a),_.set([iC[0],iC[1]],A*x)}n===i?DTt(c,l,e.buffers,_):kTt(i,c,t,e,_)}}}}function DTt(e,t,r,n){e.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),t.buffer=r.length-1,t.byteLength=n.buffer.byteLength,t.byteOffset=0,delete t.byteStride}function kTt(e,t,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function FTt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new pr().set(1,0,0,0,1,0,t[0],t[1],1),a=_Tt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=wTt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var V7={};Hn(V7,{decode:()=>OTt,encode:()=>PTt,name:()=>BTt});var oh="KHR_lights_punctual",BTt=oh;async function OTt(e){let t=new sr(e),{json:r}=t,n=t.getExtension(oh);n&&(t.json.lights=n.lights,t.removeExtension(oh));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,oh);a&&(i.light=a.light),t.removeObjectExtension(i,oh)}}async function PTt(e){let t=new sr(e),{json:r}=t;if(r.lights){let n=t.addExtension(oh);ri(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,oh,n)}delete t.json.lights}}var W7={};Hn(W7,{decode:()=>jTt,encode:()=>MTt,name:()=>ITt});var kb="KHR_materials_unlit",ITt=kb;async function jTt(e){let t=new sr(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,kb);t.removeExtension(kb)}function MTt(e){let t=new sr(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,kb,{}),t.addExtension(kb))}var K7={};Hn(K7,{decode:()=>LTt,encode:()=>qTt,name:()=>RTt});var Fb="KHR_techniques_webgl",RTt=Fb;async function LTt(e){let t=new sr(e),{json:r}=t,n=t.getExtension(Fb);if(n){let i=NTt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Fb);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=UTt(a.technique,t)),t.removeObjectExtension(a,Fb)}t.removeExtension(Fb)}}async function qTt(e,t){}function NTt(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=r[o.program]}),i}function UTt(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var l2e=[A7,_7,N7,U7,G7,H7,V7,W7,K7,$7,S7];function f2e(e,t={},r){var i;let n=l2e.filter(a=>d2e(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function p2e(e,t={},r){var i;let n=l2e.filter(a=>d2e(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function d2e(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var J7="KHR_binary_glTF";function h2e(e){let t=new sr(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,J7);i&&Object.assign(n,i),t.removeObjectExtension(n,J7)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(J7)}var m2e={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},zTt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Y7=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),h2e(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in m2e)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in m2e)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=zTt[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function g2e(e,t={}){return new Y7().normalize(e,t)}async function v2e(e,t,r=0,n,i){var a,o,s;return HTt(e,t,r,n),g2e(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),f2e(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await $Tt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await VTt(e,n,i),await p2e(e,n,i),e}function HTt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!a2e(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=$B(t);else if(t instanceof ArrayBuffer){let o={};r=o2e(o,t,r,n.glb),ri(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else ri(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function $Tt(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;ri(u);let c=L7(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function VTt(e,t,r){let n=WTt(e),i=e.json.images||[],a=[];for(let o of n)a.push(KTt(e,i[o],o,t,r));return await Promise.all(a)}function WTt(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function KTt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=L7(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Abe(e.json,e.buffers,t.bufferView);a=sd(s.buffer,s.byteOffset,s.byteLength)}ri(a,"glTF image has no data");let o=await Ja(a,[Vg,ah],{...n,mimeType:t.mimeType,basis:n.basis||{format:e1()}},i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[r]=o}var dl={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:V8,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:JTt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function JTt(e,t={},r){t={...dl.options,...t},t.gltf={...dl.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await v2e({},e,n,t,r)}var YTt=1179937895,XTt=1313821514,QTt=5130562,Zu=!0;function x2e(e,t,r=0,n={}){let{magic:i=YTt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Zu),t.setUint32(r+4,a,Zu),t.setUint32(r+8,0,Zu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Zu),t.setUint32(r+4,XTt,Zu)),r+=8;let f=JSON.stringify(o);if(r=N0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Zu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Zu),t.setUint32(r+4,QTt,Zu)),r+=8,r=fE(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Zu)}}if(t){let p=r-u;t.setUint32(c,p,Zu)}return r}function X7(e,t,r,n){return ZTt(e),x2e(e,t,r,n)}function ZTt(e,{firstBuffer:t=0}={}){if(e.buffers&&e.buffers.length>t)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var Q7={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:V8,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>y2e(e,t),encodeSync:y2e};function y2e(e,t={}){let{byteOffset:r=0}=t,n=X7(e,null,r,t),i=new ArrayBuffer(n),a=new DataView(i);return X7(e,a,r,t),i}var e8t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},t8t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},zo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},r8t={magFilter:zo.TEXTURE_MAG_FILTER,minFilter:zo.TEXTURE_MIN_FILTER,wrapS:zo.TEXTURE_WRAP_S,wrapT:zo.TEXTURE_WRAP_T},n8t={[zo.TEXTURE_MAG_FILTER]:zo.LINEAR,[zo.TEXTURE_MIN_FILTER]:zo.NEAREST_MIPMAP_LINEAR,[zo.TEXTURE_WRAP_S]:zo.REPEAT,[zo.TEXTURE_WRAP_T]:zo.REPEAT};function i8t(){return{id:"default-sampler",parameters:n8t}}function a8t(e){return t8t[e]}function o8t(e){return e8t[e]}var Z7=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return ri(n),this.baseUri=o,this.buffers=i,this.images=a,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:(t==null?void 0:t.id)||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=a8t(t.componentType),i=o8t(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:c}=Kg(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(l,l+c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):i8t(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return r8t[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Bb(e,t){return new Z7().postProcess(e,t)}var oC={URI:0,EMBEDDED:1};function sC(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=sd(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function uC(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(s8t(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Ja(e.gltfArrayBuffer,dl,r,n);e.gltf=Bb(a),e.gpuMemoryUsageInBytes=wb(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function s8t(e,t,r){switch(t){case oC.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case oC.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function b2e(e,t,r,n,i){var o;r=u8t(e,t,r,n,i),await uC(e,oC.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function u8t(e,t,r,n,i){r=up(e,t,r),r=zg(e,t,r),r=Hg(e,t,r,n),r=sC(e,t,r,n);let a=new fl(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",vt.FLOAT,3),r}var hl=6356752314245179e-9,c8t={radii:[6378137,6378137,hl],radiiSquared:[6378137*6378137,6378137*6378137,hl*hl],oneOverRadii:[1/6378137,1/6378137,1/hl],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(hl*hl)],maximumRadius:Math.max(6378137,6378137,hl),centerToleranceSquared:.1};function cC(e){return e}var ihr=new me;function l8t(e,t=[],r=cC){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function _2e(e,t=[]){return l8t(e,t,on._cartographicRadians?cC:OL)}function f8t(e,t,r=cC){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function w2e(e,t){return f8t(e,t,on._cartographicRadians?cC:PL)}var E2e=1e-14,p8t=new me,A2e={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},eq={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Ob={east:new me,north:new me,up:new me,west:new me,south:new me,down:new me},d8t=new me,h8t=new me,m8t=new me;function tq(e,t,r,n,i,a){let o=A2e[t]&&A2e[t][r];xi(o&&(!n||n===o));let s,u,c,l=p8t.copy(i);if(ro(l.x,0,E2e)&&ro(l.y,0,E2e)){let p=Math.sign(l.z);s=d8t.fromArray(eq[t]),t!=="east"&&t!=="west"&&s.scale(p),u=h8t.fromArray(eq[r]),r!=="east"&&r!=="west"&&u.scale(p),c=m8t.fromArray(eq[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Ob;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:x}=Ob;g.copy(p).scale(-1),m.copy(d).scale(-1),x.copy(h).scale(-1),s=Ob[t],u=Ob[r],c=Ob[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var n1=new me,g8t=new me,v8t=new me;function S2e(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;n1.from(e);let o=n1.x,s=n1.y,u=n1.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let x=g8t;if(x.copy(e).scale(m),g<a)return x.to(r);let b=i.x,_=i.y,A=i.z,w=v8t;w.set(x.x*b*2,x.y*_*2,x.z*A*2);let T=(1-m)*n1.len()/(.5*w.len()),k=0,j,C,D,O;do{T-=k,j=1/(1+T*b),C=1/(1+T*_),D=1/(1+T*A);let M=j*j,G=C*C,z=D*D,J=M*j,Y=G*C,le=z*D;O=p*M+d*G+h*z-1;let ce=-2*(p*J*b+d*Y*_+h*le*A);k=O/ce}while(Math.abs(O)>Ju.EPSILON12);return n1.scale([j,C,D]).to(r)}var lC=new me,T2e=new me,b8t=new me,Is=new me,_8t=new me,fC=new me,ml=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Ju.EPSILON1,xi(t>=0),xi(r>=0),xi(n>=0),this.radii=new me(t,r,n),this.radiiSquared=new me(t*t,r*r,n*n),this.radiiToTheFourth=new me(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new me(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new me(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=T2e,i=b8t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){fC.from(t);let n=this.scaleToGeodeticSurface(fC,Is);if(!n)return;let i=this.geodeticSurfaceNormal(n,T2e),a=_8t;a.copy(fC).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Lg.dot(a,fC))*Lg.length(a);return w2e([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new No){return tq(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new No){return tq(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return lC.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=_2e(t),i=n[0],a=n[1],o=Math.cos(a);return lC.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),lC.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return lC.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return S2e(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Is.from(t);let n=Is.x,i=Is.y,a=Is.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Is.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){xi(ro(this.radii.x,this.radii.y,Ju.EPSILON15)),xi(this.radii.z>0),Is.from(t);let i=Is.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Is.set(0,0,i).to(n)}};ml.WGS84=new ml(6378137,6378137,hl);async function C2e(e,t,r,n,i){return r=w8t(e,t,r,n,i),await uC(e,e.gltfFormat||0,n,i),r}function w8t(e,t,r,n,i){var c;if(r=up(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=zg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=Hg(e,t,r,n),r=sC(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new fl(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",vt.FLOAT,3);let u=new nh(e.batchTableJson,e.batchTableBinary,s);return E8t(e,o,u,s),r}function E8t(e,t,r,n){let i=new Array(n),a=new me,o=new me,s=new me,u=new me,c=new Xr,l=new sp,f=new me,p={},d=new No,h=[],g=[],m=[],x=[];for(let b=0;b<n;b++){let _;if(t.hasProperty("POSITION"))_=t.getProperty("POSITION",vt.FLOAT,3,b,a);else if(t.hasProperty("POSITION_QUANTIZED")){_=t.getProperty("POSITION_QUANTIZED",vt.UNSIGNED_SHORT,3,b,a);let D=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",vt.FLOAT,3);if(!D)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let O=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",vt.FLOAT,3);if(!O)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let M=65535;for(let G=0;G<3;G++)_[G]=_[G]/M*O[G]+D[G]}if(!_)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(_),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",vt.FLOAT,3,b,h),e.normalRight=t.getProperty("NORMAL_RIGHT",vt.FLOAT,3,b,g);let A=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",vt.UNSIGNED_SHORT,2,b,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",vt.UNSIGNED_SHORT,2,b,g),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(ml.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}A&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),p.rotation=l,f.set(1,1,1);let w=t.getProperty("SCALE",vt.FLOAT,1,b,m);Number.isFinite(w)&&f.multiplyByScalar(w);let T=t.getProperty("SCALE_NON_UNIFORM",vt.FLOAT,3,b,h);T&&f.scale(T),p.scale=f;let k=t.getProperty("BATCH_ID",vt.UNSIGNED_SHORT,1,b,x);k===void 0&&(k=b);let j=new No().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(j),d.scale(p.scale);let C=d.clone();i[b]={modelMatrix:C,batchId:k}}e.instances=i}async function D2e(e,t,r,n,i,a){r=up(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await a(t,r,n,i,s)}return r}async function k2e(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await Ja(t,dl,r,n);e.gltf=Bb(o),e.gpuMemoryUsageInBytes=wb(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function rq(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Gxe(e,t),i.type){case qo.COMPOSITE:return await D2e(i,e,t,r,n,rq);case qo.BATCHED_3D_MODEL:return await b2e(i,e,t,r,n);case qo.GLTF:return await k2e(i,e,r,n);case qo.INSTANCED_3D_MODEL:return await C2e(i,e,t,r,n);case qo.POINT_CLOUD:return await ube(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function nq(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let a=F2e(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=F2e(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await pC(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await pC(c,p,f,r);else await pC(c,c.contentAvailability,f,r);return await pC(c,c.childSubtreeAvailability,f,r),c}async function pC(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function F2e(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var dC={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Pg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:nq,options:{}};function iq(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function js(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||iq()}var A8t=globalThis.self||globalThis.window||globalThis.global,i1=globalThis.window||globalThis.self||globalThis.global,S8t=globalThis.document||{},sh=globalThis.process||{},T8t=globalThis.console,Yhr=globalThis.navigator||{};var hC="4.2.3",Zhr=js();function C8t(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var mC=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=C8t(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function B2e(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function O2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function gC(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var vC;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(vC||(vC={}));var D8t=10;function P2e(e){return typeof e!="string"?e:(e=e.toUpperCase(),vC[e]||vC.WHITE)}function I2e(e,t,r){if(!js&&typeof e=="string"){if(t){let n=P2e(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=P2e(r);e="\x1B[".concat(n+D8t,"m").concat(e,"\x1B[49m")}}return e}function j2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function a1(e,t){if(!e)throw new Error(t||"Assertion failed")}function uh(){let e;if(js()&&i1.performance){var t,r;e=i1===null||i1===void 0||(t=i1.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in sh){var n;let i=sh===null||sh===void 0||(n=sh.hrtime)===null||n===void 0?void 0:n.call(sh);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var o1={debug:js()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},k8t={enabled:!0,level:0};function Ho(){}var M2e={},R2e={once:!0},Pb=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=hC,this._startTs=uh(),this._deltaTs=uh(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new mC("__probe-".concat(this.id,"__"),k8t),this.timeStamp("".concat(this.id," started")),j2e(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((uh()-this._startTs).toPrecision(10))}getDelta(){return Number((uh()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){a1(t,r)}warn(t){return this._getLogFunction(0,t,o1.warn,arguments,R2e)}error(t){return this._getLogFunction(0,t,o1.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,o1.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,o1.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,o1.debug||o1.info,arguments,R2e)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Ho,n&&[n],{tag:P8t(r)}):Ho}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?js()?O8t({image:i,message:a,scale:o}):B8t({image:i,message:a,scale:o}):Ho}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||Ho)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=L2e({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Ho)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=q2e(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=L2e({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,a1(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=uh();let o=a.tag||a.message;if(a.once&&o)if(!M2e[o])M2e[o]=uh();else return Ho;return r=F8t(this.id,a.message,a),n.bind(console,r,...a.args)}return Ho}};Pb.VERSION=hC;function q2e(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return a1(Number.isFinite(t)&&t>=0),t}function L2e(e){let{logLevel:t,message:r}=e;e.logLevel=q2e(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return a1(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function F8t(e,t,r){if(typeof t=="string"){let n=r.time?O2e(B2e(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=I2e(t,r.color,r.background)}return t}function B8t(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Ho}function O8t(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=gC(a,r,n);console.log(...o)},a.src=t,Ho}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...gC(t,r,n)),Ho;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...gC(a,r,n)),a.src=t.toDataURL(),Ho}return Ho}function P8t(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var aq=new Pb({id:"@probe.gl/log"});var $o=null;try{$o=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Hr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Hr.prototype.__isLong__;Object.defineProperty(Hr.prototype,"__isLong__",{value:!0});function ea(e){return(e&&e.__isLong__)===!0}function N2e(e){var t=Math.clz32(e&-e);return e?31-t:t}Hr.isLong=ea;var U2e={},G2e={};function ch(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=G2e[e],n)?n:(r=hr(e,0,!0),i&&(G2e[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=U2e[e],n)?n:(r=hr(e,e<0?-1:0,!1),i&&(U2e[e]=r),r))}Hr.fromInt=ch;function Vo(e,t){if(isNaN(e))return t?gl:Ms;if(t){if(e<0)return gl;if(e>=V2e)return J2e}else{if(e<=-H2e)return Ra;if(e+1>=H2e)return K2e}return e<0?Vo(-e,t).neg():hr(e%u1|0,e/u1|0,t)}Hr.fromNumber=Vo;function hr(e,t,r){return new Hr(e,t,r)}Hr.fromBits=hr;var xC=Math.pow;function sq(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?gl:Ms;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return sq(e.substring(1),t,r).neg();for(var i=Vo(xC(r,8)),a=Ms,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=Vo(xC(r,s));a=a.mul(c).add(Vo(u))}else a=a.mul(i),a=a.add(Vo(u))}return a.unsigned=t,a}Hr.fromString=sq;function Rs(e,t){return typeof e=="number"?Vo(e,t):typeof e=="string"?sq(e,t):hr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Hr.fromValue=Rs;var z2e=1<<16,I8t=1<<24,u1=z2e*z2e,V2e=u1*u1,H2e=V2e/2,$2e=ch(I8t),Ms=ch(0);Hr.ZERO=Ms;var gl=ch(0,!0);Hr.UZERO=gl;var s1=ch(1);Hr.ONE=s1;var W2e=ch(1,!0);Hr.UONE=W2e;var oq=ch(-1);Hr.NEG_ONE=oq;var K2e=hr(-1,2147483647,!1);Hr.MAX_VALUE=K2e;var J2e=hr(-1,-1,!0);Hr.MAX_UNSIGNED_VALUE=J2e;var Ra=hr(0,-2147483648,!1);Hr.MIN_VALUE=Ra;var Ce=Hr.prototype;Ce.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ce.toNumber=function(){return this.unsigned?(this.high>>>0)*u1+(this.low>>>0):this.high*u1+(this.low>>>0)};Ce.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Ra)){var r=Vo(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=Vo(xC(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Ce.getHighBits=function(){return this.high};Ce.getHighBitsUnsigned=function(){return this.high>>>0};Ce.getLowBits=function(){return this.low};Ce.getLowBitsUnsigned=function(){return this.low>>>0};Ce.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ra)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};Ce.isZero=function(){return this.high===0&&this.low===0};Ce.eqz=Ce.isZero;Ce.isNegative=function(){return!this.unsigned&&this.high<0};Ce.isPositive=function(){return this.unsigned||this.high>=0};Ce.isOdd=function(){return(this.low&1)===1};Ce.isEven=function(){return(this.low&1)===0};Ce.equals=function(t){return ea(t)||(t=Rs(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Ce.eq=Ce.equals;Ce.notEquals=function(t){return!this.eq(t)};Ce.neq=Ce.notEquals;Ce.ne=Ce.notEquals;Ce.lessThan=function(t){return this.comp(t)<0};Ce.lt=Ce.lessThan;Ce.lessThanOrEqual=function(t){return this.comp(t)<=0};Ce.lte=Ce.lessThanOrEqual;Ce.le=Ce.lessThanOrEqual;Ce.greaterThan=function(t){return this.comp(t)>0};Ce.gt=Ce.greaterThan;Ce.greaterThanOrEqual=function(t){return this.comp(t)>=0};Ce.gte=Ce.greaterThanOrEqual;Ce.ge=Ce.greaterThanOrEqual;Ce.compare=function(t){if(ea(t)||(t=Rs(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};Ce.comp=Ce.compare;Ce.negate=function(){return!this.unsigned&&this.eq(Ra)?Ra:this.not().add(s1)};Ce.neg=Ce.negate;Ce.add=function(t){ea(t)||(t=Rs(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,p=0,d=0;return d+=a+c,p+=d>>>16,d&=65535,p+=i+u,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,hr(p<<16|d,l<<16|f,this.unsigned)};Ce.subtract=function(t){return ea(t)||(t=Rs(t)),this.add(t.neg())};Ce.sub=Ce.subtract;Ce.multiply=function(t){if(this.isZero())return this;if(ea(t)||(t=Rs(t)),$o){var r=$o.mul(this.low,this.high,t.low,t.high);return hr(r,$o.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?gl:Ms;if(this.eq(Ra))return t.isOdd()?Ra:Ms;if(t.eq(Ra))return this.isOdd()?Ra:Ms;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt($2e)&&t.lt($2e))return Vo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=t.low>>>16,l=t.low&65535,f=0,p=0,d=0,h=0;return h+=o*l,d+=h>>>16,h&=65535,d+=a*l,p+=d>>>16,d&=65535,d+=o*c,p+=d>>>16,d&=65535,p+=i*l,f+=p>>>16,p&=65535,p+=a*c,f+=p>>>16,p&=65535,p+=o*u,f+=p>>>16,p&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,hr(d<<16|h,f<<16|p,this.unsigned)};Ce.mul=Ce.multiply;Ce.divide=function(t){if(ea(t)||(t=Rs(t)),t.isZero())throw Error("division by zero");if($o){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?$o.div_u:$o.div_s)(this.low,this.high,t.low,t.high);return hr(r,$o.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?gl:Ms;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return gl;if(t.gt(this.shru(1)))return W2e;a=gl}else{if(this.eq(Ra)){if(t.eq(s1)||t.eq(oq))return Ra;if(t.eq(Ra))return s1;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Ms)?t.isNegative()?s1:oq:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Ra))return this.unsigned?gl:Ms;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();a=Ms}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:xC(2,s-48),c=Vo(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Vo(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=s1),a=a.add(c),i=i.sub(l)}return a};Ce.div=Ce.divide;Ce.modulo=function(t){if(ea(t)||(t=Rs(t)),$o){var r=(this.unsigned?$o.rem_u:$o.rem_s)(this.low,this.high,t.low,t.high);return hr(r,$o.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Ce.mod=Ce.modulo;Ce.rem=Ce.modulo;Ce.not=function(){return hr(~this.low,~this.high,this.unsigned)};Ce.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ce.clz=Ce.countLeadingZeros;Ce.countTrailingZeros=function(){return this.low?N2e(this.low):N2e(this.high)+32};Ce.ctz=Ce.countTrailingZeros;Ce.and=function(t){return ea(t)||(t=Rs(t)),hr(this.low&t.low,this.high&t.high,this.unsigned)};Ce.or=function(t){return ea(t)||(t=Rs(t)),hr(this.low|t.low,this.high|t.high,this.unsigned)};Ce.xor=function(t){return ea(t)||(t=Rs(t)),hr(this.low^t.low,this.high^t.high,this.unsigned)};Ce.shiftLeft=function(t){return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):hr(0,this.low<<t-32,this.unsigned)};Ce.shl=Ce.shiftLeft;Ce.shiftRight=function(t){return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):hr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Ce.shr=Ce.shiftRight;Ce.shiftRightUnsigned=function(t){return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?hr(this.high,0,this.unsigned):hr(this.high>>>t-32,0,this.unsigned)};Ce.shru=Ce.shiftRightUnsigned;Ce.shr_u=Ce.shiftRightUnsigned;Ce.rotateLeft=function(t){var r;return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,hr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Ce.rotl=Ce.rotateLeft;Ce.rotateRight=function(t){var r;return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,hr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Ce.rotr=Ce.rotateRight;Ce.toSigned=function(){return this.unsigned?hr(this.low,this.high,!1):this};Ce.toUnsigned=function(){return this.unsigned?this:hr(this.low,this.high,!0)};Ce.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Ce.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};Ce.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Hr.fromBytes=function(t,r,n){return n?Hr.fromBytesLE(t,r):Hr.fromBytesBE(t,r)};Hr.fromBytesLE=function(t,r){return new Hr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Hr.fromBytesBE=function(t,r){return new Hr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var c1=Hr;var j8t=16;function Ib(e){e==="X"&&(e="");let t=e.padEnd(j8t,"0");return c1.fromString(t,!0,16)}function uq(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function cq(e,t){let r=M8t(e).shiftRightUnsigned(2);return e.add(c1.fromNumber(2*t+1-4).multiply(r))}function M8t(e){return e.and(e.not().add(1))}var R8t=3,L8t=30,q8t=2*L8t+1,Y2e=180/Math.PI;function Q2e(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);N8t(f,o,c,l),o[0]+=f*c,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:a}}function Z2e(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<R8t+q8t;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=c1.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=c1.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function lq(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function X2e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function fq(e){return[X2e(e[0]),X2e(e[1])]}function pq(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function dq([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Y2e,n*Y2e]}function N8t(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function e_e(e){let t=lq(e.ij,e.level,[.5,.5]),r=fq(t),n=pq(e.face,r);return dq(n)}var U8t=100;function hq(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(U8t*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],p=(f[0]-l[0])/a,d=(f[1]-l[1])/a;for(let h=0;h<a;h++){l[0]+=p,l[1]+=d;let g=lq(r,n,l),m=fq(g),x=pq(t,m),b=dq(x);Math.abs(b[1])>89.999&&(b[0]=u);let _=b[0]-u;b[0]+=_>180?-360:_<-180?360:0,o[s++]=b[0],o[s++]=b[1],u=b[0]}}return o[s++]=o[0],o[s++]=o[1],o}function l1(e){let t=G8t(e);return Q2e(t)}function G8t(e){if(e.indexOf("/")>0)return e;let t=Ib(e);return Z2e(t)}function mq(e){let t=l1(e);return e_e(t)}function r_e(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=l1(a),s=hq(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=t_e(r)}else{let r=hq(e);t=t_e(r)}return t}function t_e(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function gq(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=l1(e),a=r_e(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new me(o,c,r)),l.push(new me(u,c,r)),l.push(new me(u,s,r)),l.push(new me(o,s,r)),l.push(new me(o,c,n)),l.push(new me(u,c,n)),l.push(new me(u,s,n)),l.push(new me(o,s,n)),l}var yi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Z0r=new me,emr=new me;var jb=new me,n_e=new me,lp=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new me,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=jb.from(r),this.center=new me().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new lp(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=jb.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return n_e.copy(o).scale((-n+u)/s).add(r),this.center.copy(n_e),this.radius=u,this}expand(t){let n=jb.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=B8.getScaling(jb,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=jb.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?yi.OUTSIDE:a<n?yi.INTERSECTING:yi.INSIDE}};var z8t=new me,H8t=new me,yC=new me,bC=new me,_C=new me,$8t=new me,V8t=new me,vl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},lh=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new me().from(t),this.halfAxes=new Xr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new me(t).len(),new me(r).len(),new me(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new me(t).normalize(),a=new me(r).normalize(),o=new me(n).normalize();return new sp().fromMatrix3(new Xr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new sp(n),a=new Xr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new me().from(t),this.halfAxes=a,this}clone(){return new lh(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new lp){let r=this.halfAxes,n=r.getColumn(0,yC),i=r.getColumn(1,bC),a=r.getColumn(2,_C),o=z8t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[vl.COLUMN0ROW0]+o*i[vl.COLUMN0ROW1]+s*i[vl.COLUMN0ROW2])+Math.abs(a*i[vl.COLUMN1ROW0]+o*i[vl.COLUMN1ROW1]+s*i[vl.COLUMN1ROW2])+Math.abs(a*i[vl.COLUMN2ROW0]+o*i[vl.COLUMN2ROW1]+s*i[vl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?yi.OUTSIDE:c>=u?yi.INSIDE:yi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=H8t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,yC),a=n.getColumn(1,bC),o=n.getColumn(2,_C),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,yC),c=s.getColumn(1,bC),l=s.getColumn(2,_C),f=$8t.copy(u).add(c).add(l).add(o),p=V8t.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,yC);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,bC);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,_C);return i.transformAsPoint(t),this.halfAxes=new Xr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var i_e=new me,a_e=new me,xl=class{constructor(t=[0,0,1],r=0){this.normal=new me,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return xi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=i_e.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),xi(ro(this.normal.len(),1)),this.distance=i,this}clone(){return new xl(this.normal,this.distance)}equals(t){return ro(this.distance,t.distance)&&ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=a_e.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=i_e.from(t),i=this.getPointDistance(n),a=a_e.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var o_e=[new me([1,0,0]),new me([0,1,0]),new me([0,0,1])],s_e=new me,W8t=new me,Wo=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*o_e.length;let r=t.center,n=t.radius,i=0;for(let a of o_e){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new xl),s||(s=this.planes[i+1]=new xl);let u=s_e.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=s_e.copy(a).scale(n).add(r),l=W8t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=yi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case yi.OUTSIDE:return yi.OUTSIDE;case yi.INTERSECTING:r=yi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(xi(Number.isFinite(r),"parentPlaneMask is required."),r===Wo.MASK_OUTSIDE||r===Wo.MASK_INSIDE)return r;let n=Wo.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===yi.OUTSIDE)return Wo.MASK_OUTSIDE;u===yi.INTERSECTING&&(n|=o)}return n}};Wo.MASK_OUTSIDE=4294967295;Wo.MASK_INSIDE=0;Wo.MASK_INDETERMINATE=2147483647;var xmr=new me,ymr=new me,bmr=new me,_mr=new me,wmr=new me;var Dmr=new me,kmr=new me,Fmr=new me,Bmr=new me,Omr=new me,Pmr=new me,Imr=new me,jmr=new me,Mmr=new me,Rmr=new me,Lmr=new me,qmr=new me;var ec=new Xr,J8t=new Xr,Y8t=new Xr,wC=new Xr,u_e=new Xr;function yq(e,t={}){let r=Ju.EPSILON20,n=10,i=0,a=0,o=J8t,s=Y8t;o.identity(),s.copy(e);let u=r*X8t(s);for(;a<n&&Q8t(s)>u;)Z8t(s,wC),u_e.copy(wC).transpose(),s.multiplyRight(wC),s.multiplyLeft(u_e),o.multiplyRight(wC),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function X8t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var vq=[1,0,0],xq=[2,2,1];function Q8t(e){let t=0;for(let r=0;r<3;++r){let n=e[ec.getElementIndex(xq[r],vq[r])];t+=2*n*n}return Math.sqrt(t)}function Z8t(e,t){let r=Ju.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[ec.getElementIndex(xq[c],vq[c])]);l>n&&(i=c,n=l)}let a=vq[i],o=xq[i],s=1,u=0;if(Math.abs(e[ec.getElementIndex(o,a)])>r){let c=e[ec.getElementIndex(o,o)],l=e[ec.getElementIndex(a,a)],f=e[ec.getElementIndex(o,a)],p=(c-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),u=d*s}return Xr.IDENTITY.to(t),t[ec.getElementIndex(a,a)]=t[ec.getElementIndex(o,o)]=s,t[ec.getElementIndex(o,a)]=u,t[ec.getElementIndex(a,o)]=-u,t}var fp=new me,tCt=new me,rCt=new me,nCt=new me,iCt=new me,aCt=new Xr,oCt={diagonal:new Xr,unitary:new Xr};function bq(e,t=new lh){if(!e||e.length===0)return t.halfAxes=new Xr([0,0,0,0,0,0,0,0,0]),t.center=new me,t;let r=e.length,n=new me(0,0,0);for(let C of e)n.add(C);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let C of e){let D=fp.copy(C).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=aCt;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=yq(f,oCt),d=t.halfAxes.copy(p),h=d.getColumn(0,rCt),g=d.getColumn(1,nCt),m=d.getColumn(2,iCt),x=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,T=Number.MAX_VALUE;for(let C of e)fp.copy(C),x=Math.max(fp.dot(h),x),b=Math.max(fp.dot(g),b),_=Math.max(fp.dot(m),_),A=Math.min(fp.dot(h),A),w=Math.min(fp.dot(g),w),T=Math.min(fp.dot(m),T);h=h.multiplyByScalar(.5*(A+x)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(T+_)),t.center.copy(h).add(g).add(m);let k=tCt.set(x-A,b-w,_-T).multiplyByScalar(.5),j=new Xr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(j),t}function EC(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=gq(t,r),i=mq(t),a=i[0],o=i[1],s=ml.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new me(s[0],s[1],s[2]);n.push(u);let c=bq(n);return[...c.center,...c.halfAxes]}var sCt=4,uCt=8,cCt={QUADTREE:sCt,OCTREE:uCt};function lCt(e,t,r){if(e!=null&&e.box){let n=Ib(e.s2VolumeInfo.token),i=cq(n,t),a=uq(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,p=c.minimumHeight+l/2;c.minimumHeight=p-f,c.maximumHeight=p+f;break;default:break}return{box:EC(o),s2VolumeInfo:o}}}async function wq(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:a}=e,{subtree:o,level:s=0,globalData:u={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:p,subtreesUriTemplate:d,basePath:h}=t,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return aq.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${p} won't be loaded...`),g;let m=s+u.level;if(m>f)return g;let x=cCt[c],b=Math.log2(x),_=n&1,A=n>>1&1,w=n>>2&1,T=(x**s-1)/(x-1),k=fh(r.mortonIndex,n,b),j=T+k,C=fh(r.x,_,1),D=fh(r.y,A,1),O=fh(r.z,w,1),M=!1;s>=l&&(M=_q(o.childSubtreeAvailability,k));let G=fh(u.x,C,s),z=fh(u.y,D,s),J=fh(u.z,O,s);if(M){let xe=`${h}/${d}`,Oe=AC(xe,m,G,z,J);o=await Yr(Oe,dC,a),u={mortonIndex:k,x:C,y:D,z:O,level:s},k=0,j=0,C=0,D=0,O=0,s=0}if(!_q(o.tileAvailability,j))return g;_q(o.contentAvailability,j)&&(g.contentUrl=AC(p,m,G,z,J));let ue=s+1,ce={mortonIndex:k,x:C,y:D,z:O};for(let xe=0;xe<x;xe++){let Oe=lCt(i,xe,c),Be=await wq({subtree:o,implicitOptions:t,loaderOptions:a,parentData:ce,childIndex:xe,level:ue,globalData:{...u},s2VolumeBox:Oe});if(Be.contentUrl||Be.children.length){let X=m+1,K=fCt(Be,X,{childTileX:C,childTileY:D,childTileZ:O},t,i);g.children.push(K)}}return g}function _q(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&aq.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?hCt(t,r.explicitBitstream):!1}function fCt(e,t,r,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:c,rootLodMetricValue:l,rootBoundingVolume:f}=n,p=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),d=l/2**t,h=i!=null&&i.box?{box:i.box}:f,g=pCt(t,h,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:p},id:e.contentUrl,refine:s(o),type:c(e),lodMetricType:u,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:g}}function pCt(e,t,r){if(t.region){let{childTileX:n,childTileY:i,childTileZ:a}=r,[o,s,u,c,l,f]=t.region,p=2**e,d=(u-o)/p,h=(c-s)/p,g=(f-l)/p,[m,x]=[o+d*n,o+d*(n+1)],[b,_]=[s+h*i,s+h*(i+1)],[A,w]=[l+g*a,l+g*(a+1)];return{region:[m,b,x,_,A,w]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${JSON.stringify(t)}`)}function fh(e,t,r){return(e<<r)+t}function AC(e,t,r,n,i){let a=dCt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function dCt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function hCt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function Aq(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function Sq(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function Eq(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Ca.resolve(t,e)}function c_e(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=Eq(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:Aq(e,r),refine:Sq(e.refine)}}async function p_e(e,t,r){let n=null,i=f_e(e.root);i&&e.root?n=await l_e(e.root,e,t,i,r):n=c_e(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=f_e(c),f;l?f=await l_e(c,e,t,l,r):f=c_e(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function l_e(e,t,r,n,i){var A,w,T;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=AC(c,0,0,0,0),f=Eq(l,r),p=await Yr(f,dC,i),d=(A=e.content)==null?void 0:A.uri,h=d?Eq(d,r):"",g=(w=t==null?void 0:t.root)==null?void 0:w.refine,m=e.geometricError,x=(T=e.boundingVolume.extensions)==null?void 0:T["3DTILES_bounding_volume_S2"];if(x){let j={box:EC(x),s2VolumeInfo:x};e.boundingVolume=j}let b=e.boundingVolume,_={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:g,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:m,rootBoundingVolume:b,getTileType:Aq,getRefine:Sq};return await mCt(e,r,p,_,i)}async function mCt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await wq({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:Aq(e,s),refine:Sq(e.refine),content:u||e.content,children:a}}function f_e(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var tc={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Pg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:gCt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function gCt(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?vCt(e,t,r):xCt(e,t,r)}async function vCt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=yCt(i),o=await p_e(n,a,t||{});return{...n,shape:"tileset3d",loader:tc,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function xCt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await rq(e,0,t,r,n.content),n.content}function yCt(e){return Ca.dirname(e)}var d_e="https://api.cesium.com/v1/assets";async function h_e(e,t){if(!t){let a=await bCt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await _Ct(e,t),{type:n,url:i}=r;return Et(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function bCt(e){Et(e);let t=d_e,r={Authorization:`Bearer ${e}`},n=await pa(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function _Ct(e,t){Et(e,t);let r={Authorization:`Bearer ${e}`},n=`${d_e}/${t}`,i=await pa(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await pa(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function wCt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return h_e(r,n)}var SC={...tc,id:"cesium-ion",name:"Cesium Ion",preload:wCt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=SC,tc.parse(e,t,r)),options:{"cesium-ion":{...tc.options["3d-tiles"],accessToken:null}}};var E3e=Ct(w3e(),1),GFt="4.2.3",dU={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:GFt,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:zFt};async function zFt(e,t={}){let r=[],n={};try{let i=new E3e.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=HFt(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function HFt(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}var Th=async(e,t)=>{let r=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=0n;for(let i=e.length-4n;i>-1;i--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=await e.getUint8(i),r.every((a,o)=>a===t[o])){n=i;break}return n};var $Ft=new Uint8Array([1,0]);function g4(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of VFt){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));A3e[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return _n(...r)}function ji(e,t,r,n){A3e[t](e,Number(r),n)}var A3e={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},VFt=[{size:2,default:new DataView($Ft.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var S3e=new Uint8Array([80,75,5,6]),T3e=new Uint8Array([80,75,6,7]),C3e=new Uint8Array([80,75,6,6]),D3e=8n,WFt=10n,KFt=12n,k3e=16n,JFt=22n,F3e=8n,B3e=24n,YFt=32n,XFt=40n,O3e=48n,QFt=56n,v4=async e=>{let t=await Th(e,S3e),r=BigInt(await e.getUint16(t+D3e)),n=BigInt(await e.getUint32(t+k3e)),i=t-20n,a=0n,o=await e.slice(i,i+4n);if(wu(o,T3e)){a=await e.getBigUint64(i+F3e);let s=await e.slice(a,a+4n);if(!wu(s,C3e.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(a+B3e),n=await e.getBigUint64(a+O3e)}else i=0n;return{cdRecordsNumber:r,cdStartOffset:n,offsets:{zip64EoCDOffset:a,zip64EoCDLocatorOffset:i,zipEoCDOffset:t}}};function P3e(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(ji(a,2,o+D3e,i),ji(a,2,o+WFt,i)),n-r<=4294967295&&ji(a,4,o+KFt,n-r),r<4294967295&&ji(a,4,o+k3e,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;ji(a,8,s+F3e,n),ji(a,8,O3e,r),ji(a,8,B3e,i),ji(a,8,YFt,i),ji(a,8,XFt,n-r)}return new Uint8Array(a.buffer)}function I3e(e){let t=new DataView(new ArrayBuffer(Number(JFt)));for(let i of ZFt)ji(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=t5t(e),n=e5t(e);return _n(n,r,t.buffer)}var ZFt=[{offset:0,size:4,default:new DataView(S3e.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];function e5t(e){let t=new DataView(new ArrayBuffer(Number(QFt)));for(let r of n5t)ji(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function t5t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of r5t)ji(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var r5t=[{offset:0,size:4,default:new DataView(T3e.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],n5t=[{offset:0,size:4,default:new DataView(C3e.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var i5t=20n,a5t=24n,o5t=28n,s5t=30n,u5t=32n,c5t=42n,x4=46n,Dh=new Uint8Array([80,75,1,2]),Ch=async(e,t)=>{let r=await t.slice(e,e+4n);if(!wu(r,Dh.buffer))return null;let n=BigInt(await t.getUint32(e+i5t)),i=BigInt(await t.getUint32(e+a5t)),a=await t.getUint16(e+s5t),o=BigInt(await t.getUint16(e+u5t)),s=await t.getUint16(e+o5t),u=await t.slice(e+x4,e+x4+BigInt(s)),c=new TextDecoder().decode(u),l=e+x4+BigInt(s),f=await t.getUint32(e+c5t),p=BigInt(f),d=new DataView(await t.slice(l,l+BigInt(a))),h={uncompressedSize:i,compressedSize:n,localHeaderOffset:p,startDisk:o},g=l5t(h,d);return{...h,...g,extraFieldLength:a,fileNameLength:s,fileName:c,extraOffset:l}};async function*cc(e){let{cdStartOffset:t}=await v4(e),r=await Ch(t,e);for(;r;)yield r,r=await Ch(r.extraOffset+BigInt(r.extraFieldLength),e)}var j3e=(...e)=>e[0]+e[1]*16,l5t=(e,t)=>{let r=f5t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>j3e(c[u],c[u+1])===1&&j3e(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},f5t=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};function hU(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=g4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(x4)));for(let s of p5t)ji(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var p5t=[{offset:0,size:4,default:new DataView(Dh.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var d5t=8n,h5t=18n,m5t=22n,g5t=26n,v5t=28n,v2=30n,mU=new Uint8Array([80,75,3,4]),zs=async(e,t)=>{let r=await t.slice(e,e+4n);if(!wu(r,mU))return null;let n=await t.getUint16(e+g5t),i=new TextDecoder().decode(await t.slice(e+v2,e+v2+BigInt(n))).split("\\").join("/"),a=await t.getUint16(e+v5t),o=e+v2+BigInt(n+a),s=await t.getUint16(e+d5t),u=BigInt(await t.getUint32(e+h5t)),c=BigInt(await t.getUint32(e+m5t)),l=e+v2+BigInt(n),f=4n;return c===BigInt(4294967295)&&(c=await t.getBigUint64(l+f),f+=8n),u===BigInt(4294967295)&&(u=await t.getBigUint64(l+f),f+=8n),o===BigInt(4294967295)&&(o=await t.getBigUint64(l+f)),{fileNameLength:n,fileName:i,extraFieldLength:a,fileDataOffset:o,compressedSize:u,compressionMethod:s}};function gU(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=g4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(v2)));for(let s of x5t)ji(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var x5t=[{offset:0,size:4,default:new DataView(mU.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];async function y5t(e){let t=await v4(e),r=t.cdStartOffset,n=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await e.slice(r,e.length);await e.truncate(Number(r));let a=i.slice(0,n),o=i.slice(n,i.byteLength);return[a,o,t]}async function R3e(e,t,r){let n=parseInt(await new kx().hash(t,"hex"),16),i=gU({crc32:n,fileName:e,length:t.byteLength}),a=hU({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(_n(i,t)),new Uint8Array(a)]}async function vU(e,t,r){let n=new Qa(e,!0),[i,a,o]=await y5t(n),s=n.length,[u,c]=await R3e(r,t,s);await n.append(u);let l=_n(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(P3e(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function xU(e,t,r){let n=b5t(e),i=new jc(t,"w"),a=[],o=[];for await(let l of n)await M3e(l,i,o,a);if(r){let l=await r(a);await M3e(l,i,o)}let s=(await i.stat()).bigsize,u=_n(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(I3e({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function M3e(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await R3e(e.path,e.file,i);await t.append(a),r.push(o)}function b5t(e){async function*t(){let r=await L3e(e);for(let n of r){let i=await(await pa(Ca.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function L3e(e,t="",r){let n=r||new Dx({}),i=await n.readdir(y4(e,t)),a=[];for(let o of i){let s=y4(e,t,o);if((await n.stat(s)).isDirectory){let u=await L3e(e,y4(t,o));a.push(...u)}else a.push(y4(t,o))}return a}function y4(...e){let t=e.filter(r=>r.length);return Ca.join(...t)}var M1=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){xx(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return ud(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var x2=class extends M1{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var kh=Ct(eU(),1),kl=Ct(require("zlib"),1);var Fl=class extends M1{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await U0(kl.default.gzip)(t):await U0(kl.default.deflate)(t);return Ic(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await U0(kl.default.gunzip)(t):await U0(kl.default.inflate)(t);return Ic(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?kl.default.gzipSync(t):kl.default.deflateSync(t);return Ic(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.deflateRaw:kh.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?kl.default.gunzipSync(t):kl.default.inflateSync(t);return Ic(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.inflateRaw:kh.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var y2=class extends Fl{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var q3e={0:async e=>e,8:async e=>await new Fl({raw:!0}).decompress(e)},Bl=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!Er)this.fileProvider=new Qa(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof Ol?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):YB(t)&&(this.fileProvider=t)}async destroy(){this.fileProvider&&await this.fileProvider.destroy()}async readdir(){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let t=[],r=cc(this.fileProvider);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.fileProvider)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await zs(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=q3e[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await this.fileProvider.slice(a.fileDataOffset,a.fileDataOffset+a.compressedSize);r=await o(s)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let r=cc(this.fileProvider),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var Ol=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Bl(this.fileProvider).fetch(t)).arrayBuffer()}};function b2(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=_5t(e,n,16);r[a]=i}return r}function _5t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function yU(e){let t=cc(e);return w5t(t)}async function w5t(e){let t=new Su,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function _2(e){let t=new Su,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(_n(A5t(u),S5t(a.localHeaderOffset)))}let i=n.sort(E5t);return lE(i)}function E5t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function A5t(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function S5t(e){return new BigUint64Array([e]).buffer}var T5t={0:e=>new x2().decompress(e),8:e=>new Fl({raw:!0}).decompress(e)},w2=class extends Ol{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,i=await new Su().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await zs(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=T5t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Ep(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return Et(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function Ap(e,t,r){e&&e.setUint32(t+8,r,!0)}function N3e(e,t,r,n,i){e={magic:np.COMPOSITE,tiles:[],...e};let a=r;r+=Ep(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return Ap(t,a,r-a),r}function U3e(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Xa(s.length,8),l=u?Xa(u.length,8):0;e={magic:np.BATCHED_MODEL,...e};let f=r;r=Ep(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=N0(t,r,s,8),a&&(r=N0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Sx(t,r,p,p.byteLength)),Ap(t,f,r-f),r}function G3e(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:np.INSTANCED_MODEL,...e};let f=r;return r=Ep(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,a,!0)),r+=20,r+=q0(t,r,c,l),r+=q0(t,r,o,s),Ap(t,f,r-f),r}var C5t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function z3e(e,t,r,n){let{featureTableJson:i=C5t}=e,a=JSON.stringify(i);a=WB(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:np.POINT_CLOUD,...e};let c=r;return r+=Ep(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=q0(t,r,a,o),r+=Sx(t,r,s,u),Ap(t,c,r-c),r}function _U(e,t){let r=bU(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return bU(e,i,0,t),n}function bU(e,t,r,n){switch(Et(typeof e.type=="string"),e.type){case qo.COMPOSITE:return N3e(e,t,r,n,bU);case qo.POINT_CLOUD:return z3e(e,t,r,n);case qo.BATCHED_3D_MODEL:return U3e(e,t,r,n);case qo.INSTANCED_3D_MODEL:return G3e(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var wU={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Pg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>H3e(e,t),encodeSync:H3e};function H3e(e,t){return _U(e,t)}var Ui=require("path");var $3e=Ct(require("crypto")),_4=new Uint8Array(256),b4=_4.length;function EU(){return b4>_4.length-16&&($3e.default.randomFillSync(_4),b4=0),_4.slice(b4,b4+=16)}var Mi=[];for(let e=0;e<256;++e)Mi.push((e+256).toString(16).slice(1));function V3e(e,t=0){return(Mi[e[t+0]]+Mi[e[t+1]]+Mi[e[t+2]]+Mi[e[t+3]]+"-"+Mi[e[t+4]]+Mi[e[t+5]]+"-"+Mi[e[t+6]]+Mi[e[t+7]]+"-"+Mi[e[t+8]]+Mi[e[t+9]]+"-"+Mi[e[t+10]]+Mi[e[t+11]]+Mi[e[t+12]]+Mi[e[t+13]]+Mi[e[t+14]]+Mi[e[t+15]]).toLowerCase()}var W3e=Ct(require("crypto")),AU={randomUUID:W3e.default.randomUUID};function D5t(e,t,r){if(AU.randomUUID&&!t&&!e)return AU.randomUUID();e=e||{};let n=e.random||(e.rng||EU)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return V3e(n)}var lc=D5t;var Gh=Ct(require("process"),1),lD=Ct(Hs(),1),fD=Ct(CU(),1);var q1=require("path"),cSe=Ct(Hs(),1);var aSe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var Fh=require("fs"),R1=require("path");var oSe=require("zlib"),w4=require("fs");function E4(e){let t=`${e}.gz`,r=(0,oSe.createGzip)(),n=(0,w4.createReadStream)(e),i=(0,w4.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function Sn(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await Fh.promises.mkdir(e,{recursive:!0});let i=(0,R1.join)(e,r);try{await Fh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function fc(e,t,r="index.json",n=!0,i){let a=await Sn(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await E4(a);return await T2(a),o}return a}async function L1(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,R1.join)(e,t);Yr(o,KB).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function A2(e){try{return await Fh.promises.stat(e),!0}catch{return!1}}function S2(e){return Fh.promises.rm(e,{recursive:!0})}function T2(e){return Fh.promises.unlink(e)}function sSe(e){return(0,R1.isAbsolute)(e)?e:(0,R1.join)(process.cwd(),e)}async function uSe(e,t){try{await Fh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Ri=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r,n;return this.converter.options.slpk?(r=(0,q1.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`):(r=(0,q1.join)(this.converter.layers0Path,"nodepages",t.toString()),n="index.json"),{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,q1.join)(r,n);return await A2(i)?(console.log(`load ${i}.`),await L1(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Ri.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Ri.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,s)},!0)}async saveMetadata(){let t=(0,cSe.default)({nodeCount:this.nodesCounter},aSe()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}if(this.converter.options.slpk){for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,q1.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${t.toString()}.json`)})}await this.saveMetadata()}else for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,q1.join)(this.converter.layers0Path,"nodepages",t.toString());await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,n)})}}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Ri.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var C2=require("path"),A4=require("fs");function N1(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return lSe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return lSe(r,n)}function lSe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function S4(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=sSe(r);try{if(t){let s=(0,C2.join)(i,`${n}.slpk`);return(await A4.promises.stat(s)).size}let a=(0,C2.join)(i,n);return await fSe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function fSe(e){let t=0,r=await A4.promises.readdir(e);for(let n of r){let i=await A4.promises.stat((0,C2.join)(e,n));i.isDirectory()?t+=await fSe((0,C2.join)(e,n)):t+=i.size}return t}var kSe=Ct(CU(),1);var Bh=3,U1=9;function dSe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/U1;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=q5t(o),c=N5t({...u,...e}),l=U5t(c);return G5t(l,u.featureCount)}function q5t(e){let t=1,r=1,n=pSe(e.slice(0,Bh)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=Bh;c<e.length;c+=Bh){let l=pSe(e.slice(c,c+Bh));n!==l&&(i[t]=c/Bh-1,i[t+1]=c/Bh,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/Bh-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function pSe(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function N5t(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),p=new Float32Array(o),d=new Uint16Array(a),h=0,g=0,m=0,x=0,b=0;for(let _=0;_<t.length;_++){let A=s[_*2],w=s[_*2+1],T=D2("positions",A,w),k=D2("normals",A,w),j=D2("colors",A,w),C=D2("uvRegions",A,w),D=D2("texCoords",A,w);u.push({featureId:t[_],positions:c.subarray(h,h+T),normals:l.subarray(g,g+k),colors:f.subarray(m,m+j),uvRegions:d.subarray(x,x+C),texCoords:p.subarray(b,b+D)}),h+=T,g+=k,m+=j,x+=C,b+=D}return u}function D2(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*U1;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function U5t(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=hSe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function G5t(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/U1-1+o),i.push(f.positions.length/U1+o),o+=f.positions.length/U1,a+=1}let s=hSe(e);return i.push(s.positions.length/U1-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function hSe(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ya(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ya(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ya(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ya(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ya(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function T4(e,t){let r,n,i,a=Nt.WGS84.cartesianToCartographic(e.center,new ne);return a[2]=a[2]-t.getHeight(a[1],a[0]),e instanceof vi?(n=e.halfSize,r=new ne(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Vu().fromMatrix3(new pr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function mSe(e,t){let r=z5t(e),n=wL(r),i=xL(r),a=Nt.WGS84.cartesianToCartographic(i.center,new ne),o=Nt.WGS84.cartesianToCartographic(n.center,new ne);return a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0]),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function z5t(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new ne([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function gSe(e){let t;e instanceof da?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Nt.WGS84.cartesianToCartographic(new ne(r[0]+n,r[1]+n,r[2]+n),new ne),a=Nt.WGS84.cartesianToCartographic(new ne(r[0]-n,r[1]-n,r[2]-n),new ne);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function DU(e){let t=e[3],r=new ne(e[0],e[1],e[2]),n=new pr([t,0,0,0,t,0,0,0,t]);return new vi(r,n)}function vSe(e,t,r){var s,u,c,l,f,p,d,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],i=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(g=>{var b,_;if((b=g==null?void 0:g.image)!=null&&b.compressed)return null;let m=(_=g==null?void 0:g.image)==null?void 0:_.data,x=new Uint8Array(m.length);return x.set(m),{data:x,compressed:!1,height:g.image.height,width:g.image.width,components:g.image.components,mimeType:g.mimeType}}))||[];xSe(n);let{cartographicOrigin:a,modelMatrix:o}=$5t(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function H5t(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function $5t(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new Fr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new Fr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new Fr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new ne(a),u=Nt.WGS84.cartesianToCartographic(s,new ne);return{modelMatrix:o,cartographicOrigin:u}}function xSe(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:H5t(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&xSe(n.children)}}function ySe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Uo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function bSe(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case Uo:return W5t(e,o,r,n);case $8:return V5t(e,o);default:return[]}return[]}function V5t(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function W5t(e,t,r,n){var o,s,u,c,l,f,p;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return K5t(d,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,g=e[h].value;return J5t(a,g,r)}return n?e[n].value:[]}function K5t(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function J5t(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let p=0;p<t.length;p+=2){let d=t[p],h=t[p+1],g=Math.min(w8(d)*o.width|0,o.width-1),x=(Math.min(w8(h)*o.height|0,o.height-1)*o.width+g)*o.components+u,b=new Uint8Array(o.data)[x];s.push(b)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function _Se(e,t){let r={};for(let n in t){let i=t[n];r[n]=Y5t(i,e)}return r}function Y5t(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function wSe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function X5t(e){return typeof e=="string"||typeof e=="bigint"?nn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?nn.SHORT_INT_TYPE:nn.DOUBLE_TYPE:nn.STRING_TYPE}function ESe(e){let t={};for(let r in e){let n=e[r][0],i=X5t(n);t[r]=i}return t}var ASe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Uo])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let h=n.properties[d],g=Q5t(h);r[d]=g}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[pl])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let h=i.properties[d],g=Z5t(h);r[d]=g}return r}return null},Q5t=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t},Z5t=e=>{let t;if(e.array)t=nn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t};var C4=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var eBt=1,tBt=1,$s=3,k2=2,rBt=4,nBt="string",iBt="Int32",aBt="Float64",oBt="Oid32",SSe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Sp=new ne;async function kU({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:p}){var _;let d=u,h=await _Bt((_=e.gltf)==null?void 0:_.materials,c),g=vSe(e,t,r),m=ySe(e,p),x=await cBt(g,h,d,m);u&&sBt(x,l);let b=[];for(let A of h){let w=A.mergedMaterials[0].originalMaterialId;if(!x.has(w))continue;let T=x.get(w);if(!T)continue;let{material:k,texture:j}=A,C=await n();b.push(await uBt({convertedAttributes:T,material:k,texture:j,tileContent:e,nodeId:C,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return b.length?b:null}function sBt(e,t){for(let r of e.values()){let n=mSe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=$s){let o=r.positions.subarray(a,a+$s);Nt.WGS84.cartesianToCartographic(Array.from(o),Sp),Sp[2]=Sp[2]-t.getHeight(Sp[1],Sp[0]),Sp=Sp.subtract(i),r.positions.set(Sp,a)}}}async function uBt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var D;let l=e.boundingVolumes,f=e.positions.length/$s,{faceRange:p,featureIds:d,positions:h,normals:g,colors:m,uvRegions:x,texCoords:b,featureCount:_}=dSe(e),A={};o&&(A=OBt(d,e.featureIndices,a,o));let w=new Uint32Array(2),T=UBt(d);w.set([f,_],0);let k=new Uint8Array(_n(w.buffer,h.buffer,g.buffer,r?b.buffer:new ArrayBuffer(0),m.buffer,x,T.buffer,p.buffer)),j=u?GBt(f,e,{positions:h,normals:g,texCoords:r?b:new Float32Array(0),colors:m,uvRegions:x,featureIds:d,faceRange:p},c):null,C=[];return s&&o&&(C=MBt(d,A,o,s)),{nodeId:i,geometry:k,compressedGeometry:j,texture:r,hasUvRegions:Boolean(x.length),sharedResources:CBt(((D=n.gltf)==null?void 0:D.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:C,featureCount:_,boundingVolumes:l}}async function cBt(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}FSe({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture:n});for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return u}function FSe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new Fr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)fBt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function lBt(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function fBt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new Fr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=lBt(e,o),c=e.mesh;c&&pBt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),FSe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function pBt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture:s}){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var g;return h===((g=c.material)==null?void 0:g.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),Et(l!==null,"Primitive - material mapping failed"),Et(c.mode===void 0||c.mode===vt.TRIANGLES||c.mode===vt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=dBt(c);l.positions=Ya(l.positions,TSe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:hBt,useCartesianPositions:a})),l.normals=Ya(l.normals,TSe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:mBt,useCartesianPositions:!1})),l.texCoords=Ya(l.texCoords,gBt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Ya(l.colors,vBt(p.COLOR_0,d)),f&&(l.uvRegions=Ya(l.uvRegions,xBt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(yBt(bBt(p,c,t,s),d))}}function dBt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return C4(n.length/$s)}if(t&&e.mode===vt.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function TSe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*$s);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*$s,s=t.subarray(o,o+$s),u=new ne(Array.from(s));u=n(u,e),i[a*$s]=u.x,i[a*$s+1]=u.y,i[a*$s+2]=u.z}return i}function hBt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Nt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function mBt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function gBt(e,t){let r=new Float32Array(t.length*k2);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*k2,a=e.subarray(i,i+k2);r[n*k2]=a[0],r[n*k2+1]=a[1]}return r}function vBt(e,t){let r=(e==null?void 0:e.components)||rBt,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function xBt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function yBt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function bBt(e,t,r,n){let i=bSe(e,t,r,n);if(i.length)return i;for(let a=0;a<SSe.length;a++){let o=SSe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function _Bt(e=[],t){let r=[];for(let n of e)r.push(ABt(n));return t&&(r=await wBt(r)),r}async function wBt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await EBt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:TBt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function EBt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function ABt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:SBt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||eBt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||tBt}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:lc();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function SBt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function TBt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function CBt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=DBt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function DBt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=FBt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:kBt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function kBt(e,t=1){let r=.00015686274509803922,n=new Ro(0,0,0,1),i=new Ro(1,1,1,1),a=new Ro(r,r,r,0),o=new Ro(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function FBt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:BBt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function BBt(e,t){var g;let{width:r,height:n}=((g=e.source)==null?void 0:g.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,p=n-1<<0,d=c+l+f+p;return BigInt(`0b${d.toString(2)}${u}`).toString()}function OBt(e,t,r,n){let i=PBt(e,n,r);return CSe(t,i),CSe(e,i),i}function PBt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=jBt(i,t,r);n[a.toString()]=o}return n}function IBt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function jBt(e,t,r){let n=IBt(t,e),i=(0,kSe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function CSe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function MBt(e,t,r,n){let i=[],o=wSe(e,r)?_Se(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=LBt(u,n);if(c){let l=s[u],f=RBt(c,l);i.push(f)}}return i}function RBt(e,t){let r;switch(e){case oBt:case iBt:r=qBt(t);break;case aBt:r=NBt(t);break;case nBt:r=DSe(t);break;default:r=DSe(t)}return r}function LBt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function qBt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return _n(t.buffer,r.buffer)}function NBt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return _n(t.buffer,r.buffer,n.buffer)}function DSe(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return _n(t.buffer,a.buffer,n.buffer,...i)}function UBt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function GBt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let m=0;m<f.length;m++)f.set([m],m);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=zBt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let g={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,g["uv-region"]={"i3s-attribute-type":"uv-region"}),Tg({attributes:h,indices:f},TL,{...TL.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:g},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function zBt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*$s;r.fill(n,i,o),n++,i=o+1}return r}function BSe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=VBt(e);switch(i){case pl:return r=HBt(a,t),r;case Uo:return r=$Bt(a,t),r;default:return null}}function HBt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return D4(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return D4(r)}return null}function $Bt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return D4(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return D4(n)}return null}function D4(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function VBt(e){var a,o,s,u;let t=[Uo,pl];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var PSe=Ct(Hs(),1),ISe=require("path");var OSe=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function jSe(e,t,r){let n={serviceItemId:lc().replace(/-/gi,""),layerName:e,layers0:t},i=(0,PSe.default)(n,OSe()),a=(0,ISe.join)(r,"SceneServer");await Sn(a,JSON.stringify(i))}var FU=16;function MSe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*FU/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function BU(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=FU),e.mbs[3]*2*FU/r}var WBt=240,KBt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],JBt=372,YBt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],XBt=372,QBt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],ZBt=12,OU=(3+1)*(3+2)/2,eOt=2,G1=class{constructor(t){gt(this,"_v00",0),gt(this,"_v01",0),gt(this,"_v10",0),gt(this,"_v11",0),gt(this,"_t",[]),gt(this,"_ix",void 0),gt(this,"_iy",void 0),gt(this,"options",void 0),this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=tOt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,p=new Array(OU);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let h=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],g=YBt;s!==0&&(g=s===this.options._height-2?QBt:KBt);let m=JBt;s!==0&&(m=s===this.options._height-2?XBt:WBt);for(let x=0;x<OU;++x){p[x]=0;for(let b=0;b<ZBt;++b)p[x]+=h[b]*g[OU*b+x];p[x]/=m}}if(!this.options.cubic){let h=(1-i)*u+i*c,g=(1-i)*l+i*f,m=(1-a)*h+a*g,x=this.options._offset+this.options._scale*m;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,x}let d=p[0]+i*(p[1]+i*(p[3]+i*p[6]))+a*(p[2]+i*(p[4]+i*p[7])+a*(p[5]+i*p[8]+a*p[9]));return d=this.options._offset+this.options._scale*d,this._ix=o,this._iy=s,this._t=p,d}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+eOt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function tOt(e,t){t=Math.abs(t);let r=RSe(e,t);return 2*Math.abs(r)===t?r-=RSe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function RSe(e,t){return e-Math.floor(e/t)*t}var rOt=10,nOt=65535;function PU(e,t){let r=iOt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let x=n.value.line;if(x.length)if(x[0]==="#"){let b=x.split(" "),_=b[0],A=b[1];if(_!=="#"||!A)continue;let w=b.length>2?b.slice(2):[];if(A==="Description")u=w.join(" ");else if(A==="DateTime")c=w.join(" ");else if(A==="Offset"){if(!b[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(b[2],10)}else if(A==="Scale"){if(!b[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(b[2])}else A===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(b[2]))&&(o=parseFloat(b[2])):A===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(b[2]))&&(s=parseFloat(b[2]))}else{let b=x.split(" ");if(b=b.filter(_=>_!==""),l=parseInt(b[0],10),f=parseInt(b[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==nOt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let g=l/360,m=(f-1)/180;return new G1({cubic:t.cubic,_width:l,_height:f,_rlonres:g,_rlatres:m,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*iOt(e){let t=0;do{let r=e.indexOf(rOt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:LSe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:LSe(n)}}}while(t<e.length);return{offset:t,line:""}}function LSe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var aOt="4.2.3";var k4={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:aOt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>PU(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var z1=Ct(Hs(),1);var qSe={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var oOt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),sOt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),uOt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),cOt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),NSe=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,z1.default)(e,oOt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,z1.default)(e,qSe)},fullExtent:{path:"fullExtent",transform:e=>(0,z1.default)(e,cOt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,z1.default)(e,sOt())},nodePages:{path:"nodePages",transform:e=>(0,z1.default)(e,uOt())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var IU=Ct(Hs(),1),lOt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),fOt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),USe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,IU.default)(e,lOt())];return e.draco&&t.push((0,IU.default)({geometryConfig:e},fOt())),t}}});var F2=Ct(Hs(),1),pOt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),dOt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,F2.default)(r,pOt())}}),hOt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),mOt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,F2.default)(n,hOt()))}}),GSe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:gOt},textureDefinitions:{path:"textureDefinitionInfos",transform:vOt}});function gOt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,F2.default)(a,dOt());return n}function vOt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,F2.default)(a,mOt())}return n}var xOt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function HSe(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return yOt(t,e),bOt(t,e),t}function yOt(e,t){var o;let r=_Ot(t.parentNode.obb),n=wOt(t);if(EOt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function bOt(e,t){var a;let r=zSe(t.mbs),n=zSe(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function zSe(e){return new da([e[0],e[1],e[2]],e[3])}function _Ot(e){let{center:t,halfSize:r,quaternion:n}=e;return new vi().fromCenterHalfSizeQuaternion(t,r,n)}function wOt(e){let t=e.obb.halfSize,r=xOt,n=Nt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new ne(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function EOt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Nt.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var F4=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var $Se=Ct(require("process"),1),AOt=4*1024*1024*1024,H1=class extends F4{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),$Se.default.memoryUsage().rss>AOt&&await this.startWrite()}startListening(){this.intervalId=setInterval(()=>this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let p=f();t.push(p)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var $1="Tile converter does not work in browser, only in node js environment",Tp=".dump.json";var MU=require("path"),RU=Ct(Hs(),1);var VSe=Ct(Hs(),1),WSe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),SOt=()=>({href:{path:"href"}}),TOt=()=>({id:{path:"id"},...SOt(),...WSe()}),jU=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...WSe(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,VSe.default)(e,TOt()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Vs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,MU.join)(this.converter.layers0Path,"nodes",this.id);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>fc(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>Sn(r,JSON.stringify(t))},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,MU.join)(this.converter.layers0Path,"nodes",t),n="index.json";return this.converter.options.slpk&&(n="3dNodeIndexDocument.json"),await L1(r,n)}flush(){this.data=null}static async createRootNode(t,r){let n=Vs.createRootNodeIndexDocument(t);return await new Vs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Vs.createNodeIndexDocument(t,r,n,i,a);return await new Vs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${lc().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,RU.default)(r,jU())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,h;let o=i.index,s=await t.load(),u={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},c=(0,RU.default)(u,jU());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let g=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let m=g<t.converter.layers0.attributeStorageInfo.length?g:t.converter.layers0.attributeStorageInfo.length;for(let x=0;x<m;x++){let b=t.converter.layers0.attributeStorageInfo[x].key;c.attributeData.push({href:`./attributes/${b}/0`})}}return c}};var LU=async(e,t,r)=>{let n=B2(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await B4(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},qU=async(e,t,r)=>{let n=B2(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await B4(t.contentUrl,e.loader,i)};async function B4(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new Qa(a),s=await COt(o),u=new w2(o,s,a),c=new Bl(u),l=await Yr(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await Yr(e,t,r)}function B2(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function COt(e){let t,r=await Th(e,Dh),n=await Ch(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await zs(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=b2(o)}return t}var O4=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await O4({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var DOt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],KSe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await eo(e.gltfArrayBuffer,dl,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=kOt(n),a=FOt(n);return{meshTopologyTypes:i,metadataClasses:a}},kOt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(DOt[i])}return t},FOt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Uo])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[pl])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},JSe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var YSe=Ct(require("process"),1);var BOt=.2,V1=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||YSe.default.hrtime.bigint,this.threshold=t.threshold||BOt}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?N1(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var d8e=require("util");var Ip=require("path"),h8e=Ct(require("process"),1),m8e=Ct(f8e(),1);var p8e={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var Uh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:h=!1}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:h};let g=(0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`);if(await A2(g))try{let m=await L1((0,Ip.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Tp}`),{options:x,tilesConverted:b,textureSetDefinitions:_,attributeMetadataInfo:A,materialDefinitions:w}=m;if(new m8e.default().compile(p8e)(m)&&(0,d8e.isDeepStrictEqual)(x,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=b,this.textureSetDefinitions=_,this.attributeMetadataInfo=A,this.materialDefinitions=w,this.restored=!0;return}}catch(m){console.log("Can't open dump file",m)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=h8e.default.hrtime();await Sn((0,Ip.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${Tp}.${r[0]}.${r[1]}`),await uSe((0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}.${r[0]}.${r[1]}`),(0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await A2((0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`))&&await T2((0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var v8e,TMt=(v8e=Gh.default.env)==null?void 0:v8e.IonToken,g8e=64,CMt="3DTILES",DMt="3DObject",kMt=1800,FMt="https://",jp="phase1-count",av=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0,basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},fetch:{},modules:{}};geoidHeightModel=null;Loader=tc;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new H1(new Uh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new VT,this.nodePages=new Ri(Sn,g8e,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new Uh}async convert(t){if(Er)return console.log($1),$1;this.conversionStartTime=Gh.default.hrtime();let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,validate:o,outputPath:s,draco:u=!0,sevenZipExe:c,maxDepth:l,token:f,generateTextures:p,generateBoundingVolumes:d,instantNodeWriting:h=!1,mergeMaterials:g=!0,inquirer:m,metadataClass:x,analyze:b=!1}=t;this.options={outputPath:s,tilesetName:r,maxDepth:l,slpk:n,sevenZipExe:c,egmFilePath:i,draco:u,token:f,inputUrl:a,instantNodeWriting:h,mergeMaterials:g,inquirer:m,metadataClass:x},this.progresses[jp]=new V1,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(o),this.Loader=a.indexOf(FMt)!==-1?SC:tc,this.generateTextures=Boolean(p),this.generateBoundingVolumes=Boolean(d),this.writeQueue=new H1(this.conversionDump),this.writeQueue.startListening(),console.log("Loading egm file..."),this.geoidHeightModel=await Yr(i,k4),console.log("Loading egm file completed!"),n&&this.nodePages.useWriteFunction(fc);try{let _=await this._fetchPreloadOptions(),A=a;_.url&&(A=_.url),_.headers&&(this.loadOptions.fetch={headers:_.headers}),this.sourceTileset=await B4(A,this.Loader,this.loadOptions),(this.Loader===tc||b?await this.preprocessConversion():!0)&&!b&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(s,r),await this._finishConversion({slpk:Boolean(n),outputPath:s,tilesetName:r}))}catch(_){throw _}finally{await this.writeQueue.finalize(),Xi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await O4({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[jp].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(B2(t))return await LU(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[jp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await qU(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await KSe(i);return JSe(this.preprocessData,a),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var c,l,f;let n=(0,Ui.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Ui.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Ui.join)(this.layers0Path,"nodepages"):n;try{await S2(i)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let p=0;p<this.conversionDump.materialDefinitions.length;p++){let d=(0,fD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=pb(a.boundingVolume,new Fr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=T4(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[jp].startMonitoring();let u=await Vs.createRootNode(s,this);await O4({tile:a,traversalProps:{transform:new Fr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[jp].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=DMt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,lD.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),USe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),jSe(r,this.layers0,n);for(let p of this.compressList||[])await E4(p),await T2(p);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let i=gSe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${lc().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${lc().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:g8e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,lD.default)(o,NSe())}async _writeLayers0(){this.options.slpk?await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>fc(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")}):await this.writeQueue.enqueue({writePromise:()=>Sn(this.layers0Path,JSON.stringify(this.layers0))})}async _createSlpk(t){if(await this.conversionDump.deleteDumpFile(),this.options.slpk){let r=(0,Ui.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await xU(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await _2(i)}));try{await S2(t)}catch{}}}async convertTile(t,r){let n=B2(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await LU(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[jp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[jp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[jp].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=MSe(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Vs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Vs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=pb(r.boundingVolume,n,null),a=T4(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var d;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let i=null;try{i=await qU(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=pb(r.boundingVolume,n,null),o=T4(a,this.geoidHeightModel),s=BSe(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable:s}),c=[],l=[],f=[],p={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let h of u||[p]){let{node:g,nodeInPage:m,nodeData:x}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(g),m.mesh){if(r.id){let b={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:m.mesh.material.definition,texelCountHint:m.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,m.index,b)}await this._writeResources(h,g.id,r)}this.validate&&(this.boundingVolumeWarnings=HSe(x),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(m.index),f.push(m)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await kU({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass:this.options.metadataClass})}async _updateNodeInNodePages(t,r,n,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Ri.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Ri.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Ri.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Ri.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Ri.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Ri.updateVertexCountByNodeId(p,o)),Ri.updateNodeAttributeByNodeId(p),s&&Ri.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,Ui.join)(this.layers0Path,"nodes",r),l=(0,Ui.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(t){if(this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1),this.options.slpk){let s=(0,Ui.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>fc(s,t,"0.bin")})}else{let s=(0,Ui.join)(n,"geometries/0/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Sn(s,t,"index.bin")})}if(this.options.draco&&r)if(this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1),this.options.slpk){let s=(0,Ui.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>fc(s,r,"1.bin")})}else{let s=(0,Ui.join)(n,"geometries/1/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Sn(s,r,"index.bin")})}}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,lD.default)(t,GSe()),u=JSON.stringify(s);if(this.conversionDump.updateDoneStatus(a,o,"SHARED",!1),this.options.slpk){let c=(0,Ui.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>fc(c,u,"sharedResource.json")})}else{let c=(0,Ui.join)(r,"shared/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Sn(c,u)})}}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Tg({...t.image,data:l},I7,{...I7.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Tg(t.image.data[0],x7);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}default:}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile({textureData:t,name:r,format:n,childPath:i,slpkChildPath:a,sourceId:o,nodeId:s}){if(this.options.slpk){let u=(0,Ui.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>fc(u,t,`${r}.${n}`,c)})}else{let u=(0,Ui.join)(i,`textures/${r}/`);await this.writeQueue.enqueue({sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Sn(u,t,`index.${n}`)})}}async _writeAttributes(t=[],r,n,i,a){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);if(this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1),this.options.slpk){let l=(0,Ui.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>fc(l,c,"0.bin")})}else{let l=(0,Ui.join)(r,`attributes/${u}/0`);await this.writeQueue.enqueue({sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Sn(l,c,"index.bin")})}}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,fD.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},i=(0,fD.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=ASe(t.gltf,this.options.metadataClass)):r&&(n=ESe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await S4(t),o=Gh.default.hrtime(this.conversionStartTime),s=N1(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${CMt}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||TMt}},r=await this.Loader.preload(this.options.inputUrl,t);return this.refreshTokenTime=Gh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(Gh.default.hrtime(this.refreshTokenTime)[0]<kMt)return;this.refreshTokenTime=Gh.default.hrtime();let r=await this._fetchPreloadOptions();r.headers&&(this.loadOptions.fetch={...this.loadOptions.fetch,headers:r.headers},console.log("Authorization Bearer token has been updated"))}_checkAddRefinementTypeForTile(t){let r=1;t.refine===r&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var z8e=require("path"),wz=Ct(require("process"),1),H8e=Ct(Hs(),1);function vz(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var x8e={UInt8:vt.UNSIGNED_BYTE,UInt16:vt.UNSIGNED_SHORT,Float32:vt.FLOAT,UInt32:vt.UNSIGNED_INT,UInt64:vt.DOUBLE};function ov(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var y8e="String",b8e="Oid32",_8e="Float64",w8e="Int16";function pD(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function sv(e,t=null){return t?`${e}?token=${t}`:e}function E8e(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function A8e(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var dD=new ne([0,0,0]);function OMt(e){switch(e){case"ktx-etc2":case"dds":return eC;case"ktx2":return ah;case"jpg":case"png":default:return Vg}}var PMt="i3s-attribute-type";async function D8e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new Fr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=sv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=OMt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===Vg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Ja(f,[],p,i);a.texture=d}catch{let h=await eo(f,u,p,i);a.texture=h}}else if(u===eC||u===ah){let p=await Yr(f,u,t.textureLoaderOptions);u===ah&&(p=p[0]),a.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else a.texture=f}return a.material=GMt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await IMt(e,a,t,r,n)}async function IMt(e,t,r,n,i){var f,p;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let d=await eo(e,Ig,{draco:{attributeNameEntry:PMt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:g,COLOR_0:m,TEXCOORD_0:x,["feature-index"]:b,["uv-region"]:_}=d.attributes;o={position:h,normal:g,color:m,uv0:x,uvRegion:_,id:b},jMt(o,d);let A=VMt(b);A&&$Mt(o,A)}else{let{vertexAttributes:d,ordering:h,featureAttributes:g,featureAttributeOrder:m}=n.store.defaultGeometrySchema,x=RMt(e,n);u=x.byteOffset,s=x.vertexCount,c=x.featureCount;let{attributes:b,byteOffset:_}=T8e(e,u,d,s,h),{attributes:A}=T8e(e,_,g,c,m);HMt(A),o=MMt(b,A)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=qMt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=UMt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:S8e(o.color),texCoords:o.uv0,uvRegions:S8e(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let d in t.attributes)t.attributes[d]||delete t.attributes[d];return t.vertexCount=s,t.byteLength=a,t}function jMt(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function MMt(e,t){return{...e,...t}}function S8e(e){return e&&(e.normalized=!0,e)}function RMt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=vz(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=ov(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=ov(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function T8e(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*ov(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=LMt(c,n*u,ov(s));else{let f=vz(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:x8e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*ov(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function LMt(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function qMt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new Fr,o=new ne(r[0],r[1],r[2]),s=new ne;return Nt.WGS84.cartographicToCartesian(o,s),Nt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=NMt(n,i,o),a}function NMt(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Nt.WGS84.cartographicToCartesian(n.subarray(o,o+3),dD),n[o]=dD.x,n[o+1]=dD.y,n[o+2]=dD.z;return n}function UMt(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new Fr;return i[0]=r,i[5]=n,i}function GMt(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=C8e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=C8e(r.pbrMetallicRoughness.baseColorFactor)),t&&zMt(r,t),r}function C8e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function zMt(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function HMt(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],p=i[c-1],d=f-p+1,h=u+d*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function $Mt(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function VMt(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var WMt="4.2.3",k8e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:WMt,mimeTypes:["application/octet-stream"],parse:KMt,extensions:["bin"],options:{"i3s-content":{}}};async function KMt(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await D8e(e,s,u,t,r)}var JMt="4.2.3",F8e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:JMt,mimeTypes:["application/json"],parse:YMt,extensions:["json"],options:{i3s:{}}};async function YMt(e,t){return JSON.parse(new TextDecoder().decode(e))}var o_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=sv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:Yr(a,F8e,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],i=[];for(let d of r.children||[])i.push(this.getNodeById(d));let a=await Promise.all(i);for(let d of a)n.push({id:d.index.toString(),obb:d.obb});let o,s,u,c="jpg",l=[],f=!1;if(r&&r.mesh){let{url:d,isDracoGeometry:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=h;let{textureData:g,materialDefinition:m}=this.getInformationFromMaterial(r.mesh.material);u=m,c=g.format||c,g.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${g.name}`),this.tileset.attributeStorageInfo&&(l=A8e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return xz({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:a}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,i,a;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:e1(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=Ab();r.has("etc2")&&t.push("ktx-etc2"),r.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function B8e(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=E8e(r,e));let o=e.children||[];return xz({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function xz(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Nt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Nt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new vi().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function O8e(e,t,r){let n=pD(r.url||""),i,a;if(e.nodePages)i=new o_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=sv(`${n}/nodes/root`,o.token);a=await Yr(s,Rl,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:Rl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var XMt="4.2.3",QMt=/layers\/[0-9]+$/,ZMt=/\.slpk$/,eRt=/nodes\/([0-9-]+|root)$/,tRt="504b0304",rRt="PointCloud",Rl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:XMt,mimeTypes:["application/octet-stream"],parse:nRt,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function nRt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},sRt(e)===tRt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=pD(n),o;t.i3s.isTileset==="auto"?o=QMt.test(a)||ZMt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=eRt.test(a):s=t.i3s.isTileHeader,o?e=await aRt(e,t,r):s?e=await oRt(e,r):e=await iRt(e,t),e}async function iRt(e,t){return await eo(e,k8e,t)}async function aRt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===rRt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await O8e(n,t,r)}async function oRt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),B8e(e,t)}function sRt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var uRt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/^nodepages\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/^nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx"]},{test:/^nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/^nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/^statistics\/f_\d+\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],hD=class extends Ol{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new Su;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=uRt.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new y2().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await zs(a,this.fileProvider);if(!o)return;r=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function yz(e,t,r){let n=await Th(e,Dh),i=await Ch(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await yU(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await zs(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=b2(u)}return new hD(e,a,r)}function I8e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?cRt(n,e):null}:{}}function cRt(e,t){switch(e){case y8e:return pRt(t);case b8e:return P8e(t);case _8e:return fRt(t);case w8e:return lRt(t);default:return P8e(t)}}function P8e(e){return new Uint32Array(e,4)}function lRt(e){return new Int16Array(e,4)}function fRt(e){return new Float64Array(e,8)}function pRt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var dRt="4.2.3";var bz={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:dRt,mimeTypes:["application/binary"],parse:async(e,t)=>I8e(e,t),extensions:["bin"],options:{},binary:!0};function _z(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Nt.WGS84.cartographicToCartesian(r,new ne),i=new vi().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var mD=Ct(Hs(),1),hRt=()=>({version:{path:"version",default:"1.0"}}),j8e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,mD.default)(t,j8e()))}}),M8e=()=>({asset:{path:"asset",transform:e=>(0,mD.default)(e,hRt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,mD.default)(e,j8e())}});function R8e(e,t){let r=new Float32Array(e.length),n=gRt(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=mRt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function mRt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function gRt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var vRt=new Fr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),L8e=new ne,q8e="KHR_materials_unlit",xRt=1,yRt=1,s_=class{rtcCenter;i3sTile;async convert(t,r=null){let n=await this.buildGLTF(t,r);return ZT({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},wU)}async buildGLTF(t,r){let{tileContent:n,textureFormat:i,box:a}=t,{material:o,attributes:s,indices:u,modelMatrix:c}=n,l=new sr,f=await this._addI3sTextureToGLTF(n,i,l),p=o==null?void 0:o.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===xRt)&&(p.roughnessFactor===void 0||p.roughnessFactor===yRt)&&(l.addObjectExtension(o,q8e,{}),l.addExtension(q8e));let d=this._convertI3sMaterialToGLTFMaterial(o,f),h=l.addMaterial(d),g=s.positions,m=g.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=R8e(s.texCoords.value,s.uvRegions.value));let x=new ne(a),b=Nt.WGS84.cartesianToCartographic(x,new ne);s.positions.value=this._normalizePositions(m,x,b,c),this._createBatchIds(n,r),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let _=u||C4(m.length/g.size),A=l.addMesh({attributes:s,indices:_,material:h,mode:4}),w=this._generateTransformMatrix(x),T=l.addNode({meshIndex:A,matrix:w}),k=l.addScene({nodeIndices:[T]});return l.setDefaultScene(k),l.createBinaryChunk(),ZT(l.gltf,Q7)}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new ne(r),c=new ne(Array.from(s)).transform(i).add(n);Nt.WGS84.cartographicToCartesian(c,L8e),c=L8e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new Fr().translate(t).multiplyLeft(vRt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var N8e=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await u_(t.contentUrl,Rl,i,n)};async function U8e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Qa(r),i=await yz(n,void 0,r);return new Bl(i)}return null}async function u_(e,t,r,n){return n!==null?await Yr(e,t,{...r,fetch:n.fetch.bind(n)}):await Yr(e,t,r)}async function G8e(e){if(!(e!=null&&e.fileProvider))return 0;let t=0,r=cc(e.fileProvider);for await(let n of r)n.fileName.indexOf("3dNodeIndexDocument.json.gz")>=0&&t++;return t}var bRt="I3S",uv=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,worker:!1,i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new Uh,this.progress=new V1}async convert(t){var h;if(Er)return console.log($1),$1;let{inputUrl:r,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o,inquirer:s,analyze:u}=t;this.conversionStartTime=wz.default.hrtime(),this.options={maxDepth:a,inquirer:s},console.log("Loading egm file..."),this.geoidHeightModel=await Yr(o,k4),console.log("Loading egm file completed!"),this.slpkFilesystem=await U8e(r);let c=!0;if((u||this.slpkFilesystem)&&(c=await this.preprocessConversion(),!c||u)||(this.progress.startMonitoring(),this.sourceTileset=await u_(r,Rl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let l=(h=this.sourceTileset)==null?void 0:h.root;if(l.obb||(l.obb=DU(l.mbs)),this.tilesetPath=(0,z8e.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await S2(this.tilesetPath)}catch{}let f={boundingVolume:{box:_z(l.obb,this.geoidHeightModel)},geometricError:BU(l),children:[],refine:"REPLACE"};await this._addChildren(l,f,1);let p=(0,H8e.default)({root:f},M8e());await Sn(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),Xi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await G8e(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.b3dm`)&&(o.obb||o.mbs)){let{child:b}=this._createChildAndBoundingVolume(o);r.children.push(b),await this._addChildren(o,b,n+1);return}let f=await N8e(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let p=null;this.attributeStorageInfo&&(p=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:d,boundingVolume:h}=this._createChildAndBoundingVolume(o),g={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},x=await new s_().convert(g,p);await this.conversionDump.addNode(`${o.id}.b3dm`,o.id),await Sn(this.tilesetPath,new Uint8Array(x),`${o.id}.b3dm`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.b3dm`,o.id,!0),r.children.push(d),a=d}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await u_(a,Rl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=DU(t.mbs));let r={box:_z(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:BU(t),children:[],content:{uri:`${t.id}.b3dm`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(u_(s,bz,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await S4(t),n=wz.default.hrtime(this.conversionStartTime),i=N1(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${bRt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var cv=require("path");var _Rt="4.2.3",wRt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",gD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Yr(wRt,dU,{}),n=process.cwd();t&&(n=(0,cv.join)(n,t)),await Sn(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(ip[An.DECODER],"draco",An.DECODER),await this.installFromUrl(ip[An.DECODER_WASM],"draco",An.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(ip[An.ENCODER],"draco",An.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Qu.TRANSCODER,"libs"),await this.installFromNpm("textures",Qu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Qu.ENCODER,"libs"),await this.installFromNpm("textures",Qu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new L0,a=(0,cv.dirname)(process.execPath);await i.start({command:`"${a}/${process.platform==="win32"?"npm.cmd":"npm"}"`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await pa(`https://unpkg.com/@loaders.gl/${t}@${_Rt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,cv.join)(process.cwd(),"modules",t,"dist",n);await Sn(o,a,r)}async installFromUrl(t,r,n){let a=await(await pa(t)).arrayBuffer();if(!a)return;let o=(0,cv.join)(process.cwd(),"modules",r,"dist","libs");await Sn(o,a,n)}};function Qs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function $8e(e,t){let r=Qs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function V8e(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function W8e(e,t){let r=Qs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function rs(e,t){let r=Qs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var Y8e=require("fs/promises"),Ez={I3S:"I3S",_3DTILES:"3DTILES"};async function ERt(){let[,,...e]=process.argv;e.length===0&&Az();let t=V8e(e),r=SRt(t);if(r.installDependencies){new gD().install("deps");return}if(r.addHash){let i=K8e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await vD.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,Y8e.copyFile)(i.tileset,a);let o=await _2(cc(new Qa(a)));await vU(a,o,"@specialIndexFileHASH128@");return}let n=K8e(r);await ARt(n)}ERt().catch(e=>{console.log(e),process.exit(1)});function Az(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [Generate slpk (Scene Layer Packages) I3S output file]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log('--7zExe [location of 7z.exe archiver to create slpk on Windows, default: "C:\\Program Files\\7-Zip\\7z.exe"]'),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function ARt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case Ez.I3S:await new uv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:vD.default});break;case Ez._3DTILES:await new av().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,slpk:e.slpk,sevenZipExe:e.sevenZipExe,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:vD.default});break;default:Az()}}function K8e(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},sevenZipExe:{getMessage:()=>console.log("Missed: --7zExe [7z archiver executable path]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:i=>t||Boolean(i)&&Object.values(Ez).includes(i.toUpperCase())}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function SRt(e){let t={output:"data",instantNodeWriting:!1,mergeMaterials:!0,sevenZipExe:"C:\\Program Files\\7-Zip\\7z.exe",egm:(0,J8e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,slpk:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Qs(n,e);break;case"--tileset":t.tileset=$8e(n,e);break;case"--name":t.name=Qs(n,e);break;case"--output":t.output=Qs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=rs(n,e);break;case"--split-nodes":t.mergeMaterials=rs(n,e);break;case"--max-depth":t.maxDepth=W8e(n,e);break;case"--slpk":t.slpk=rs(n,e);break;case"--add-hash":t.addHash=rs(n,e);break;case"--7zExe":t.sevenZipExe=Qs(n,e);break;case"--egm":t.egm=Qs(n,e);break;case"--token":t.token=Qs(n,e);break;case"--no-draco":t.draco=rs(n,e);break;case"--validate":t.validate=rs(n,e);break;case"--install-dependencies":t.installDependencies=rs(n,e);break;case"--generate-textures":t.generateTextures=rs(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=rs(n,e);break;case"--analyze":t.analyze=rs(n,e);break;case"--quiet":t.quiet=rs(n,e);break;case"--metadata-class":t.metadataClass=Qs(n,e);break;case"--help":Az();break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
161
+ `).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Pre={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},L0=class{id;props={...Pre};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Pre,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Ore(t.port)),r.push(t.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),n({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=Ire.spawn(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function GB(e,t){return!Xi.isSupported()||!fi&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function zB(e,t,r,n,i){let a=e.id,o=Ax(e,r),u=Xi.getWorkerFarm(r).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",_qe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function _qe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function HB(e,t){return!Xi.isSupported()||!Er&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Mre(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?jre(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?jre(e,0,t):""}function jre(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function $B(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Mre(e)}"`)}}function wu(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function _n(...e){return lE(e)}function lE(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Ya(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function sd(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Xa(e,t){return Et(e>=0),Et(t>0),e+(t-1)&~(t-1)}function VB(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+Xa(n.byteLength,4)}function WB(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function q0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Sx(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function fE(e,t,r,n){let i=Xa(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function N0(e,t,r,n){let a=new TextEncoder().encode(r);return t=fE(e,t,a,n),t}async function ud(e){let t=[];for await(let r of e)t.push(r);return _n(...t)}var wqe="",Rre={};function Eu(e){for(let t in Rre)if(e.startsWith(t)){let r=Rre[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${wqe}${e}`),e}var Eqe="4.2.4",KB={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Eqe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Lre,parse:async e=>Lre(new TextDecoder().decode(e)),options:{}};function Lre(e){return JSON.parse(e)}function qre(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Nre(e){return e&&typeof e=="object"&&e.isBuffer}function Ic(e){if(Nre(e))return qre(e);if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function U0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var Ca={};Hn(Ca,{dirname:()=>Tqe,filename:()=>Sqe,join:()=>Cqe,resolve:()=>Dqe});function Ure(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function Sqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function Tqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function Cqe(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function Dqe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=Ure()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Tx)}return r=kqe(r,!n),n?`/${r}`:r.length>0?r:"."}var Tx=47,JB=46;function kqe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Tx)break;a=Tx}if(a===Tx){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==JB||r.charCodeAt(r.length-2)!==JB){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Tx;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===JB&&i!==-1?++i:i=-1}return r}var Cx=new Error("Not implemented"),jc=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Er?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw Cx}async write(t,r,n){throw Cx}async stat(){throw Cx}async truncate(t){throw Cx}async append(t){throw Cx}async close(){}};var G0=new Error("Not implemented"),Dx=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw Er?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw G0}async openWritableFile(t,r,n){throw G0}async readdir(t=".",r){throw G0}async stat(t,r){throw G0}async unlink(t){throw G0}async fetch(t,r){throw G0}};var YB=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var Qa=class{file;constructor(t,r=!1){this.file=new jc(t,r?"a+":"r")}async truncate(t){await this.file.truncate(t)}async append(t){await this.file.append(t)}async destroy(){await this.file.close()}async getUint8(t){let r=await this.file.read(t,1),n=new Uint8Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint16(t){let r=await this.file.read(t,2),n=new Uint16Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint32(t){let r=await this.file.read(t,4),n=new Uint32Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getBigUint64(t){let r=await this.file.read(t,8),n=new BigInt64Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async slice(t,r){let n=r-t;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let i=Number(n);return await this.file.read(t,i)}get length(){return this.file.bigsize}};var Mc=Ct(require("fs"),1),cd=class{handle;size;bigsize;url;constructor(t,r,n){t=Eu(t),this.handle=Mc.default.openSync(t,r,n);let i=Mc.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{Mc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{Mc.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{Mc.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>Mc.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await Bqe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);Mc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function Bqe(e,t,r,n,i){return await new Promise((a,o)=>Mc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var mE=Ct(require("fs/promises"),1);var QB=Ct(require("fs"),1),XB=require("stream");var pE=Ct(require("zlib"),1),Oqe=e=>e&&e instanceof ArrayBuffer,Pqe=e=>e&&e instanceof Buffer;function dE(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(pE.default.createBrotliDecompress());case"gzip":return e.pipe(pE.default.createGunzip());case"deflate":return e.pipe(pE.default.createDeflate());default:return e}}async function Gre(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(jqe(i))}),e.on("end",()=>{let i=Iqe(t);r(i)})})}function Iqe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function jqe(e){if(Oqe(e))return e;if(Pqe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(`toArrayBuffer(${JSON.stringify(e,null,2).slice(10)})`)}var Mqe=e=>typeof e=="boolean",zre=e=>typeof e=="function",Rqe=e=>e!==null&&typeof e=="object",Lqe=e=>Rqe(e)&&zre(e.read)&&zre(e.pipe)&&Mqe(e.readable);async function hE(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=Eu(n);let i=new Headers;e.endsWith(".gz")&&(i["content-encoding"]="gzip"),e.endsWith(".br")&&(i["content-encoding"]="br");try{let a=await new Promise((f,p)=>{let d=QB.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;Lqe(a)?o=dE(a,i):typeof a=="string"?o=XB.Readable.from([new TextEncoder().encode(a)]):o=XB.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=qqe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function qqe(e){let t={};if(!t["content-length"]){let r=QB.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var gE=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await mE.default.readdir(t,r)}async stat(t){let r=await mE.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await mE.default.unlink(t)}async fetch(t,r){return await hE(t,r)}async openReadableFile(t,r="r"){return new cd(t,r)}async openWritableFile(t,r="w",n){return new cd(t,r,n)}};var Rc=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await ud(t)}};var z0=class{crc;constructor(){this.crc=-1}update(t){let r=Uqe(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Nqe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function Uqe(){return Nqe}function Hre(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=Gqe(n[i])}return t}function Gqe(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function ZB(e,t){switch(t){case"hex":return $re(e);case"base64":return Wre($re(e));default:throw new Error(t)}}function Vre(e,t){switch(t){case"hex":return e;case"base64":return Wre(e);default:throw new Error(t)}}function Wre(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Hre(r)||""}function $re(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var kx=class extends Rc{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new z0;n.update(t);let i=n.finalize();return ZB(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new z0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:ZB(i,r)})}};var Jre=typeof atob=="function"?atob:typeof Buffer=="function"?Jqe:Xre,zqe=Jre("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),eO=WebAssembly&&Jre!==Xre?Kqe(zqe).buffer:!1,Au=Yqe(),tO=240*16*16,Yre=Math.floor(tO*16*1.066666667),Hqe=268435456-65536,Kre="Parameter must be Buffer, ArrayBuffer or Uint8Array",$qe="Parameter exceeds max size of 255.9 Mbytes";eO||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function rO(e){var t,r,n,i,a,o,s,u,c,l;let f=Wqe(),p=Vqe(),d={},h=new Date().getTime();return d.then=function(b){return s=b,m(),d},d.catch=function(b){return u=b,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?o=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?o=e.constructor===ArrayBuffer?new Uint8Array(e):e:x(new TypeError(Kre)):x(new TypeError(Kre)),o&&(a=o.length,eO&&a>Yre?a>Hqe?x(new Error($qe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(eO,n).then(g)):m(f(o))),d;function g(b){m(p(o,b.instance.exports,r))}function m(b){var _=Boolean(b)?b:c;Boolean(b)&&(l=new Date().getTime()),typeof s=="function"?Boolean(_)&&(s(_,l-h),s=u=null):Boolean(b)&&(c=b)}function x(b){typeof u=="function"&&u(b)}}function Vqe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var g,m,x,b,_,A,w,T,k,j,C,D,O,M,G,z,J,Y,le,ue,ce,xe,Oe=new Date().getTime(),Be=0,X=1732584193,U=-271733879,K=-1732584194,Q=271733878,Pe=0,qe=h.length*8,Je;for(Je=ye(h,p),p[qe>>>5]|=128<<qe%32,p[(qe+64>>>9<<4)+14]=qe,Je=(qe+64>>>9<<4)+15,ce=p;Pe<Je;)Je>Pe+Yre?(n(X),a(U),s(K),c(Q),t(tO),Pe=Pe+tO*16,X=r(),U=i(),K=o(),Q=u(),Be++):(J=X,Y=U,le=K,ue=Q,g=ce[Pe+0]>>>0,m=ce[Pe+1]>>>0,x=ce[Pe+2]>>>0,b=ce[Pe+3]>>>0,_=ce[Pe+4]>>>0,A=ce[Pe+5]>>>0,w=ce[Pe+6]>>>0,T=ce[Pe+7]>>>0,k=ce[Pe+8]>>>0,j=ce[Pe+9]>>>0,C=ce[Pe+10]>>>0,D=ce[Pe+11]>>>0,O=ce[Pe+12]>>>0,M=ce[Pe+13]>>>0,G=ce[Pe+14]>>>0,z=ce[Pe+15]>>>0,X=ie(7,25,X+(U&K|~U&Q)+g-680876936)+U,Q=ie(12,20,Q+(X&U|~X&K)+m-389564586)+X,K=ie(17,15,K+(Q&X|~Q&U)+x+606105819)+Q,U=ie(22,10,U+(K&Q|~K&X)+b-1044525330)+K,X=ie(7,25,X+(U&K|~U&Q)+_-176418897)+U,Q=ie(12,20,Q+(X&U|~X&K)+A+1200080426)+X,K=ie(17,15,K+(Q&X|~Q&U)+w-1473231341)+Q,U=ie(22,10,U+(K&Q|~K&X)+T-45705983)+K,X=ie(7,25,X+(U&K|~U&Q)+k+1770035416)+U,Q=ie(12,20,Q+(X&U|~X&K)+j-1958414417)+X,K=ie(17,15,K+(Q&X|~Q&U)+C-42063)+Q,U=ie(22,10,U+(K&Q|~K&X)+D-1990404162)+K,X=ie(7,25,X+(U&K|~U&Q)+O+1804603682)+U,Q=ie(12,20,Q+(X&U|~X&K)+M-40341101)+X,K=ie(17,15,K+(Q&X|~Q&U)+G-1502002290)+Q,U=ie(22,10,U+(K&Q|~K&X)+z+1236535329)+K,X=ie(5,27,X+(U&Q|K&~Q)+m-165796510)+U,Q=ie(9,23,Q+(X&K|U&~K)+w-1069501632)+X,K=ie(14,18,K+(Q&U|X&~U)+D+643717713)+Q,U=ie(20,12,U+(K&X|Q&~X)+g-373897302)+K,X=ie(5,27,X+(U&Q|K&~Q)+A-701558691)+U,Q=ie(9,23,Q+(X&K|U&~K)+C+38016083)+X,K=ie(14,18,K+(Q&U|X&~U)+z-660478335)+Q,U=ie(20,12,U+(K&X|Q&~X)+_-405537848)+K,X=ie(5,27,X+(U&Q|K&~Q)+j+568446438)+U,Q=ie(9,23,Q+(X&K|U&~K)+G-1019803690)+X,K=ie(14,18,K+(Q&U|X&~U)+b-187363961)+Q,U=ie(20,12,U+(K&X|Q&~X)+k+1163531501)+K,X=ie(5,27,X+(U&Q|K&~Q)+M-1444681467)+U,Q=ie(9,23,Q+(X&K|U&~K)+x-51403784)+X,K=ie(14,18,K+(Q&U|X&~U)+T+1735328473)+Q,U=ie(20,12,U+(K&X|Q&~X)+O-1926607734)+K,X=ie(4,28,X+(U^K^Q)+A-378558)+U,Q=ie(11,21,Q+(X^U^K)+k-2022574463)+X,K=ie(16,16,K+(Q^X^U)+D+1839030562)+Q,U=ie(23,9,U+(K^Q^X)+G-35309556)+K,X=ie(4,28,X+(U^K^Q)+m-1530992060)+U,Q=ie(11,21,Q+(X^U^K)+_+1272893353)+X,K=ie(16,16,K+(Q^X^U)+T-155497632)+Q,U=ie(23,9,U+(K^Q^X)+C-1094730640)+K,X=ie(4,28,X+(U^K^Q)+M+681279174)+U,Q=ie(11,21,Q+(X^U^K)+g-358537222)+X,K=ie(16,16,K+(Q^X^U)+b-722521979)+Q,U=ie(23,9,U+(K^Q^X)+w+76029189)+K,X=ie(4,28,X+(U^K^Q)+j-640364487)+U,Q=ie(11,21,Q+(X^U^K)+O-421815835)+X,K=ie(16,16,K+(Q^X^U)+z+530742520)+Q,U=ie(23,9,U+(K^Q^X)+x-995338651)+K,X=ie(6,26,X+(K^(U|~Q))+g-198630844)+U,Q=ie(10,22,Q+(U^(X|~K))+T+1126891415)+X,K=ie(15,17,K+(X^(Q|~U))+G-1416354905)+Q,U=ie(21,11,U+(Q^(K|~X))+A-57434055)+K,X=ie(6,26,X+(K^(U|~Q))+O+1700485571)+U,Q=ie(10,22,Q+(U^(X|~K))+b-1894986606)+X,K=ie(15,17,K+(X^(Q|~U))+C-1051523)+Q,U=ie(21,11,U+(Q^(K|~X))+m-2054922799)+K,X=ie(6,26,X+(K^(U|~Q))+k+1873313359)+U,Q=ie(10,22,Q+(U^(X|~K))+z-30611744)+X,K=ie(15,17,K+(X^(Q|~U))+w-1560198380)+Q,U=ie(21,11,U+(Q^(K|~X))+M+1309151649)+K,X=ie(6,26,X+(K^(U|~Q))+_-145523070)+U,Q=ie(10,22,Q+(U^(X|~K))+D-1120210379)+X,K=ie(15,17,K+(X^(Q|~U))+x+718787259)+Q,U=ie(21,11,U+(Q^(K|~X))+j-343485551)+K,Pe=Pe+16,X=X+J>>>0,U=U+Y>>>0,K=K+le>>>0,Q=Q+ue>>>0);return Au.endian([X,U,K,Q]);function ie(ge,Qe,Se){return Se<<ge|Se>>>Qe}function ye(ge,Qe){for(var Se=-1,it=Math.floor((ge.length-1)/4),_t=0,Or,te,Ie,We;it-8>Se++;)_t=Se<<2,Qe[Se]=ge[_t+0]|ge[_t+1]<<8|ge[_t+2]<<16|ge[_t+3]<<24;for(Se--;it>Se++;)_t=Se<<2,Or=typeof ge[_t+0]>"u"?0:ge[_t+0],te=typeof ge[_t+1]>"u"?0:ge[_t+1],Ie=typeof ge[_t+2]>"u"?0:ge[_t+2],We=typeof ge[_t+3]>"u"?0:ge[_t+3],Qe[Se]=Or|te<<8|Ie<<16|We<<24;return it+1}};return function(h,g,m,x){var b;return t=g.loops,e=g.loop,r=g.getA,i=g.getB,o=g.getC,u=g.getD,l=g.getX,n=g.setA,a=g.setB,s=g.setC,c=g.setD,f=g.setX,p=m,b=Au.wordsToBytes(d(h)),x&&x.asBytes?b:Au.bytesconvertNumberToHex(b)}}function Wqe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j=new Date().getTime(),C=1732584193,D=-271733879,O=-1732584194,M=271733878,G=t.length*8;k=Au.bytesToWords(t);for(var z=0;z<k.length;z++)k[z]=(k[z]<<8|k[z]>>>24)&16711935|(k[z]<<24|k[z]>>>8)&4278255360;k[G>>>5]|=128<<G%32,k[(G+64>>>9<<4)+14]=G;for(var J=0;J<k.length;J+=16)_=C,A=D,w=O,T=M,n=k[J+0]>>>0,i=k[J+1]>>>0,a=k[J+2]>>>0,o=k[J+3]>>>0,s=k[J+4]>>>0,u=k[J+5]>>>0,c=k[J+6]>>>0,l=k[J+7]>>>0,f=k[J+8]>>>0,p=k[J+9]>>>0,d=k[J+10]>>>0,h=k[J+11]>>>0,g=k[J+12]>>>0,m=k[J+13]>>>0,x=k[J+14]>>>0,b=k[J+15]>>>0,C=Y(7,25,C+(D&O|~D&M)+n-680876936)+D,M=Y(12,20,M+(C&D|~C&O)+i-389564586)+C,O=Y(17,15,O+(M&C|~M&D)+a+606105819)+M,D=Y(22,10,D+(O&M|~O&C)+o-1044525330)+O,C=Y(7,25,C+(D&O|~D&M)+s-176418897)+D,M=Y(12,20,M+(C&D|~C&O)+u+1200080426)+C,O=Y(17,15,O+(M&C|~M&D)+c-1473231341)+M,D=Y(22,10,D+(O&M|~O&C)+l-45705983)+O,C=Y(7,25,C+(D&O|~D&M)+f+1770035416)+D,M=Y(12,20,M+(C&D|~C&O)+p-1958414417)+C,O=Y(17,15,O+(M&C|~M&D)+d-42063)+M,D=Y(22,10,D+(O&M|~O&C)+h-1990404162)+O,C=Y(7,25,C+(D&O|~D&M)+g+1804603682)+D,M=Y(12,20,M+(C&D|~C&O)+m-40341101)+C,O=Y(17,15,O+(M&C|~M&D)+x-1502002290)+M,D=Y(22,10,D+(O&M|~O&C)+b+1236535329)+O,C=Y(5,27,C+(D&M|O&~M)+i-165796510)+D,M=Y(9,23,M+(C&O|D&~O)+c-1069501632)+C,O=Y(14,18,O+(M&D|C&~D)+h+643717713)+M,D=Y(20,12,D+(O&C|M&~C)+n-373897302)+O,C=Y(5,27,C+(D&M|O&~M)+u-701558691)+D,M=Y(9,23,M+(C&O|D&~O)+d+38016083)+C,O=Y(14,18,O+(M&D|C&~D)+b-660478335)+M,D=Y(20,12,D+(O&C|M&~C)+s-405537848)+O,C=Y(5,27,C+(D&M|O&~M)+p+568446438)+D,M=Y(9,23,M+(C&O|D&~O)+x-1019803690)+C,O=Y(14,18,O+(M&D|C&~D)+o-187363961)+M,D=Y(20,12,D+(O&C|M&~C)+f+1163531501)+O,C=Y(5,27,C+(D&M|O&~M)+m-1444681467)+D,M=Y(9,23,M+(C&O|D&~O)+a-51403784)+C,O=Y(14,18,O+(M&D|C&~D)+l+1735328473)+M,D=Y(20,12,D+(O&C|M&~C)+g-1926607734)+O,C=Y(4,28,C+(D^O^M)+u-378558)+D,M=Y(11,21,M+(C^D^O)+f-2022574463)+C,O=Y(16,16,O+(M^C^D)+h+1839030562)+M,D=Y(23,9,D+(O^M^C)+x-35309556)+O,C=Y(4,28,C+(D^O^M)+i-1530992060)+D,M=Y(11,21,M+(C^D^O)+s+1272893353)+C,O=Y(16,16,O+(M^C^D)+l-155497632)+M,D=Y(23,9,D+(O^M^C)+d-1094730640)+O,C=Y(4,28,C+(D^O^M)+m+681279174)+D,M=Y(11,21,M+(C^D^O)+n-358537222)+C,O=Y(16,16,O+(M^C^D)+o-722521979)+M,D=Y(23,9,D+(O^M^C)+c+76029189)+O,C=Y(4,28,C+(D^O^M)+p-640364487)+D,M=Y(11,21,M+(C^D^O)+g-421815835)+C,O=Y(16,16,O+(M^C^D)+b+530742520)+M,D=Y(23,9,D+(O^M^C)+a-995338651)+O,C=Y(6,26,C+(O^(D|~M))+n-198630844)+D,M=Y(10,22,M+(D^(C|~O))+l+1126891415)+C,O=Y(15,17,O+(C^(M|~D))+x-1416354905)+M,D=Y(21,11,D+(M^(O|~C))+u-57434055)+O,C=Y(6,26,C+(O^(D|~M))+g+1700485571)+D,M=Y(10,22,M+(D^(C|~O))+o-1894986606)+C,O=Y(15,17,O+(C^(M|~D))+d-1051523)+M,D=Y(21,11,D+(M^(O|~C))+i-2054922799)+O,C=Y(6,26,C+(O^(D|~M))+f+1873313359)+D,M=Y(10,22,M+(D^(C|~O))+b-30611744)+C,O=Y(15,17,O+(C^(M|~D))+c-1560198380)+M,D=Y(21,11,D+(M^(O|~C))+m+1309151649)+O,C=Y(6,26,C+(O^(D|~M))+s-145523070)+D,M=Y(10,22,M+(D^(C|~O))+h-1120210379)+C,O=Y(15,17,O+(C^(M|~D))+a+718787259)+M,D=Y(21,11,D+(M^(O|~C))+p-343485551)+O,C=C+_>>>0,D=D+A>>>0,O=O+w>>>0,M=M+T>>>0;return Au.endian([C,D,O,M]);function Y(le,ue,ce){return ce<<le|ce>>>ue}};return function(t,r){var n=Au.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:Au.bytesconvertNumberToHex(n);return i}}function Kqe(e){var t,r,n,i=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>i++;)n[i]=e.charCodeAt(i);return n}function Jqe(e){return Buffer.from(e,"base64").toString("binary")}function Xre(e){return e}function Yqe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return Au.rotl(t,8)&16711935|Au.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=Au.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var Su=class extends Rc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>rO(t).then(a).catch(o));return Vre(i,r)}};var Fx=Ct(require("crypto"),1),vE=class extends Rc{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Fx.createHash)throw new Error("crypto.createHash not available");let u=(s=Fx.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Fx.createHash)throw new Error("crypto.createHash not available");let n=(u=Fx.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let p of t){let d=new Uint8Array(p);n.update(d),yield p}let i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var kie=require("process");var Qre=Ct(require("stream"),1),nO=class{},Xqe=Qre.Readable||nO;function aO(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new iO(r,t)}var iO=class extends Xqe{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};function Mx(){}function Bn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var xne=Mx;function tr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var SO=Promise,Qqe=Promise.resolve.bind(SO),Zqe=Promise.prototype.then,eNe=Promise.reject.bind(SO),tNe=Qqe;function Un(e){return new SO(e)}function rr(e){return Un(t=>t(e))}function at(e){return eNe(e)}function ku(e,t,r){return Zqe.call(e,t,r)}function Da(e,t,r){ku(ku(e,t,r),void 0,xne)}function oO(e,t){Da(e,t)}function mO(e,t){Da(e,void 0,t)}function zc(e,t,r){return ku(e,t,r)}function X0(e){ku(e,void 0,xne)}var md=e=>{if(typeof queueMicrotask=="function")md=queueMicrotask;else{let t=rr(void 0);md=r=>ku(t,r)}return md(e)};function gd(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function $c(e,t,r){try{return rr(gd(e,t,r))}catch(n){return at(n)}}var ka=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},yne=Symbol("[[AbortSteps]]"),bne=Symbol("[[ErrorSteps]]"),TO=Symbol("[[CancelSteps]]"),CO=Symbol("[[PullSteps]]"),DO=Symbol("[[ReleaseSteps]]");function _ne(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?gO(e):t._state==="closed"?function(r){gO(r),Ene(r)}(e):wne(e,t._storedError)}function kO(e,t){return _s(e._ownerReadableStream,t)}function Gc(e){let t=e._ownerReadableStream;t._state==="readable"?FO(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){wne(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[DO](),t._reader=void 0,e._ownerReadableStream=void 0}function OE(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function gO(e){e._closedPromise=Un((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function wne(e,t){gO(e),FO(e,t)}function FO(e,t){e._closedPromise_reject!==void 0&&(X0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Ene(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Zre=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},rNe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Fu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function Co(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Ane(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Hc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function vO(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function BO(e){return Number(e)}function ene(e){return e===0?0:e}function OO(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=ene(n),!Zre(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return ene(rNe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Zre(n)&&n!==0?n:0}function PO(e,t){if(!df(e))throw new TypeError(`${t} is not a ReadableStream.`)}function V0(e){return new Lc(e)}function Sne(e,t){e._reader._readRequests.push(t)}function IO(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function NE(e){return e._reader._readRequests.length}function Tne(e){let t=e._reader;return t!==void 0&&!!hf(t)}var Lc=class{constructor(t){if(Hc(t,1,"ReadableStreamDefaultReader"),PO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");_ne(this,t),this._readRequests=new ka}get closed(){return hf(this)?this._closedPromise:at(xE("closed"))}cancel(t=void 0){return hf(this)?this._ownerReadableStream===void 0?at(OE("cancel")):kO(this,t):at(xE("cancel"))}read(){if(!hf(this))return at(xE("read"));if(this._ownerReadableStream===void 0)return at(OE("read from"));let t,r,n=Un((i,a)=>{t=i,r=a});return Rx(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!hf(this))throw xE("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");Cne(t,r)}(this)}};function hf(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Lc}function Rx(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[CO](t)}function Cne(e,t){let r=e._readRequests;e._readRequests=new ka,r.forEach(n=>{n._errorSteps(t)})}function xE(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var sO,uO,cO;function Ox(e){return e.slice()}function Dne(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Lc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Lc.prototype.cancel,"cancel"),tr(Lc.prototype.read,"read"),tr(Lc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var vd=e=>(vd=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,vd(e)),xd=e=>(xd=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,xd(e));function kne(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Dne(i,0,e,t,n),i}function Px(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function tne(e){try{let t=e.done,r=e.value;return ku(tNe(r),n=>({done:t,value:n}))}catch(t){return at(t)}}var $x=(cO=(sO=Symbol.asyncIterator)!==null&&sO!==void 0?sO:(uO=Symbol.for)===null||uO===void 0?void 0:uO.call(Symbol,"Symbol.asyncIterator"))!==null&&cO!==void 0?cO:"@@asyncIterator";function Fne(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Px(e,$x))===void 0)return function(i){let a={next(){let o;try{o=Bne(i)}catch(s){return at(s)}return tne(o)},return(o){let s;try{let u=Px(i.iterator,"return");if(u===void 0)return rr({done:!0,value:o});s=gd(u,i.iterator,[o])}catch(u){return at(u)}return Bn(s)?tne(s):at(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Fne(e,"sync",Px(e,Symbol.iterator)))}else r=Px(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=gd(r,e,[]);if(!Bn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Bne(e){let t=gd(e.nextMethod,e.iterator,[]);if(!Bn(t))throw new TypeError("The iterator.next() method must return an object");return t}var PE=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?zc(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?zc(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Un((a,o)=>{r=a,n=o});return Rx(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,md(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=kO(r,t);return Gc(r),zc(n,()=>({value:t,done:!0}))}return Gc(r),rr({value:t,done:!0})}},One={next(){return rne(this)?this._asyncIteratorImpl.next():at(nne("next"))},return(e){return rne(this)?this._asyncIteratorImpl.return(e):at(nne("return"))},[$x](){return this}};function rne(e){if(!Bn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof PE}catch{return!1}}function nne(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(One,$x,{enumerable:!1});var Pne=Number.isNaN||function(e){return e!=e};function ine(e){let t=kne(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function xO(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function jO(e,t,r){if(typeof(n=r)!="number"||Pne(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function vf(e){e._queue=new ka,e._queueTotalSize=0}function Ine(e){return e===DataView}var mf=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lO(this))throw fO("view");return this._view}respond(t){if(!lO(this))throw fO("respond");if(Hc(t,1,"respond"),t=OO(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xd(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");DE(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!lO(this))throw fO("respondWithNewView");if(Hc(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xd(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");kE(this._associatedReadableByteStreamController,t)}};Object.defineProperties(mf.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),tr(mf.prototype.respond,"respond"),tr(mf.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mf.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var Cu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!dd(this))throw Bx("byobRequest");return _O(this)}get desiredSize(){if(!dd(this))throw Bx("desiredSize");return Hne(this)}close(){if(!dd(this))throw Bx("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);Ix(this)}enqueue(t){if(!dd(this))throw Bx("enqueue");if(Hc(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);CE(this,t)}error(t=void 0){if(!dd(this))throw Bx("error");To(this,t)}[TO](t){jne(this),vf(this);let r=this._cancelAlgorithm(t);return UE(this),r}[CO](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void zne(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}Sne(r,t),_d(this)}[DO](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new ka,this._pendingPullIntos.push(t)}}};function dd(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof Cu}function lO(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof mf}function _d(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(Tne(n)&&NE(n)>0||RO(n)&&Wne(n)>0||Hne(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Da(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,_d(e)),null),r=>(To(e,r),null))}}function jne(e){MO(e),e._pendingPullIntos=new ka}function yO(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Mne(t);t.readerType==="default"?IO(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Mne(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function TE(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Rne(e,t,r,n){let i;try{i=kne(t,r,r+n)}catch(a){throw To(e,a),a}TE(e,i,0,n)}function Lne(e,t){t.bytesFilled>0&&Rne(e,t.buffer,t.byteOffset,t.bytesFilled),W0(e)}function qne(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Dne(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,Nne(e,c,t),i-=c}return a}function Nne(e,t,r){r.bytesFilled+=t}function Une(e){e._queueTotalSize===0&&e._closeRequested?(UE(e),Vx(e._controlledReadableByteStream)):_d(e)}function MO(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function bO(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();qne(e,t)&&(W0(e),yO(e._controlledReadableByteStream,t))}}function nNe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Ine(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=vd(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void ane(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(qne(e,f)){let p=Mne(f);return Une(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return To(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),ane(i,n),_d(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function Gne(e,t){let r=e._pendingPullIntos.peek();MO(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&W0(n);let a=n._controlledReadableByteStream;if(RO(a))for(;Wne(a)>0;)yO(a,W0(n))}(e,r):function(n,i,a){if(Nne(0,i,a),a.readerType==="none")return Lne(n,a),void bO(n);if(a.bytesFilled<a.minimumFill)return;W0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Rne(n,a.buffer,s-o,o)}a.bytesFilled-=o,yO(n._controlledReadableByteStream,a),bO(n)}(e,t,r),_d(e)}function W0(e){return e._pendingPullIntos.shift()}function UE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Ix(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!=0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw To(e,n),n}}UE(e),Vx(t)}}function CE(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(xd(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=vd(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(xd(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");MO(e),s.buffer=vd(s.buffer),s.readerType==="none"&&Lne(e,s)}Tne(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;zne(s,u._readRequests.shift())}}(e),NE(r)===0?TE(e,o,i,a):(e._pendingPullIntos.length>0&&W0(e),IO(r,new Uint8Array(o,i,a),!1))):RO(r)?(TE(e,o,i,a),bO(e)):TE(e,o,i,a),_d(e)}function To(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(jne(e),vf(e),UE(e),die(r,t))}function zne(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Une(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function _O(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(mf.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Hne(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function DE(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=vd(r.buffer),Gne(e,t)}function kE(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=vd(t.buffer),Gne(e,n)}function $ne(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,vf(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new ka,e._readableStreamController=t,Da(rr(r()),()=>(t._started=!0,_d(t),null),s=>(To(t,s),null))}function fO(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Bx(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function iNe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Vne(e){return new qc(e)}function ane(e,t){e._reader._readIntoRequests.push(t)}function Wne(e){return e._reader._readIntoRequests.length}function RO(e){let t=e._reader;return t!==void 0&&!!hd(t)}Object.defineProperties(Cu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Cu.prototype.close,"close"),tr(Cu.prototype.enqueue,"enqueue"),tr(Cu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Cu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var qc=class{constructor(t){if(Hc(t,1,"ReadableStreamBYOBReader"),PO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!dd(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");_ne(this,t),this._readIntoRequests=new ka}get closed(){return hd(this)?this._closedPromise:at(yE("closed"))}cancel(t=void 0){return hd(this)?this._ownerReadableStream===void 0?at(OE("cancel")):kO(this,t):at(yE("cancel"))}read(t,r={}){if(!hd(this))return at(yE("read"));if(!ArrayBuffer.isView(t))return at(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return at(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return at(new TypeError("view's buffer must have non-zero byteLength"));if(xd(t.buffer))return at(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return Fu(u,c),{min:OO((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return at(u)}let i=n.min;if(i===0)return at(new TypeError("options.min must be greater than 0"));if(function(u){return Ine(u.constructor)}(t)){if(i>t.byteLength)return at(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return at(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return at(OE("read from"));let a,o,s=Un((u,c)=>{a=u,o=c});return Kne(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!hd(this))throw yE("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");Jne(t,r)}(this)}};function hd(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof qc}function Kne(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):nNe(i._readableStreamController,t,r,n)}function Jne(e,t){let r=e._readIntoRequests;e._readIntoRequests=new ka,r.forEach(n=>{n._errorSteps(t)})}function yE(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Lx(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Pne(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function IE(e){let{size:t}=e;return t||(()=>1)}function jE(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:BO(r),size:n===void 0?void 0:aNe(n,`${t} has member 'size' that`)}}function aNe(e,t){return Co(e,t),r=>BO(e(r))}function oNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function sNe(e,t,r){return Co(e,r),()=>$c(e,t,[])}function uNe(e,t,r){return Co(e,r),n=>gd(e,t,[n])}function cNe(e,t,r){return Co(e,r),(n,i)=>$c(e,t,[n,i])}function Yne(e,t){if(!$0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(qc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(qc.prototype.cancel,"cancel"),tr(qc.prototype.read,"read"),tr(qc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var lNe=typeof AbortController=="function",Nc=class{constructor(t={},r={}){t===void 0?t=null:Ane(t,"First parameter");let n=jE(r,"Second parameter"),i=function(o,s){Fu(o,s);let u=o==null?void 0:o.abort,c=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,p=o==null?void 0:o.write;return{abort:u===void 0?void 0:oNe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:sNe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:uNe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:cNe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(Qne(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=IE(n);(function(o,s,u,c){let l=Object.create(yd.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?g=>s.write(g,l):()=>rr(void 0),d=s.close!==void 0?()=>s.close():()=>rr(void 0),h=s.abort!==void 0?g=>s.abort(g):()=>rr(void 0),aie(o,l,f,p,d,h,u,c)})(this,i,Lx(n,1),a)}get locked(){if(!$0(this))throw _E("locked");return K0(this)}abort(t=void 0){return $0(this)?K0(this)?at(new TypeError("Cannot abort a stream that already has a writer")):ME(this,t):at(_E("abort"))}close(){return $0(this)?K0(this)?at(new TypeError("Cannot close a stream that already has a writer")):Bu(this)?at(new TypeError("Cannot close an already-closing stream")):Zne(this):at(_E("close"))}getWriter(){if(!$0(this))throw _E("getWriter");return Xne(this)}};function Xne(e){return new Tu(e)}function Qne(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new ka,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function $0(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Nc}function K0(e){return e._writer!==void 0}function ME(e,t){var r;if(e._state==="closed"||e._state==="errored")return rr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return rr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Un((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||LO(e,t),a}function Zne(e){let t=e._state;if(t==="closed"||t==="errored")return at(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Un((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&zO(n),jO(i=e._writableStreamController,iie,0),GE(i),r}function wO(e,t){e._state!=="writable"?qO(e):LO(e,t)}function LO(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&tie(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&qO(e)}function qO(e){e._state="errored",e._writableStreamController[bne]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new ka,e._pendingAbortRequest===void 0)return void bE(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void bE(e);Da(e._writableStreamController[yne](r._reason),()=>(r._resolve(),bE(e),null),n=>(r._reject(n),bE(e),null))}function Bu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function bE(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&GO(t,e._storedError)}function NO(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){zE(n)}(r):zO(r)),e._backpressure=t}Object.defineProperties(Nc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),tr(Nc.prototype.abort,"abort"),tr(Nc.prototype.close,"close"),tr(Nc.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nc.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var Tu=class{constructor(t){if(Hc(t,1,"WritableStreamDefaultWriter"),Yne(t,"First parameter"),K0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!Bu(t)&&t._backpressure?zE(this):one(this),FE(this);else if(r==="erroring")EO(this,t._storedError),FE(this);else if(r==="closed")one(this),FE(n=this),cie(n);else{let i=t._storedError;EO(this,i),uie(this,i)}var n}get closed(){return ld(this)?this._closedPromise:at(fd("closed"))}get desiredSize(){if(!ld(this))throw fd("desiredSize");if(this._ownerWritableStream===void 0)throw jx("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:oie(r._writableStreamController)}(this)}get ready(){return ld(this)?this._readyPromise:at(fd("ready"))}abort(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jx("abort")):function(r,n){return ME(r._ownerWritableStream,n)}(this,t):at(fd("abort"))}close(){if(!ld(this))return at(fd("close"));let t=this._ownerWritableStream;return t===void 0?at(jx("close")):Bu(t)?at(new TypeError("Cannot close an already-closing stream")):eie(this)}releaseLock(){if(!ld(this))throw fd("releaseLock");this._ownerWritableStream!==void 0&&rie(this)}write(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jx("write to")):nie(this,t):at(fd("write"))}};function ld(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof Tu}function eie(e){return Zne(e._ownerWritableStream)}function fNe(e,t){e._closedPromiseState==="pending"?GO(e,t):function(r,n){uie(r,n)}(e,t)}function tie(e,t){e._readyPromiseState==="pending"?lie(e,t):function(r,n){EO(r,n)}(e,t)}function rie(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");tie(e,r),fNe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function nie(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return qx(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return at(jx("write to"));let a=r._state;if(a==="errored")return at(r._storedError);if(Bu(r)||a==="closed")return at(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return at(r._storedError);let o=function(s){return Un((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{jO(s,u,c)}catch(f){return void qx(s,f)}let l=s._controlledWritableStream;!Bu(l)&&l._state==="writable"&&NO(l,UO(s)),GE(s)}(n,t,i),o}Object.defineProperties(Tu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),tr(Tu.prototype.abort,"abort"),tr(Tu.prototype.close,"close"),tr(Tu.prototype.releaseLock,"releaseLock"),tr(Tu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var iie={},yd=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pO(this))throw dO("abortReason");return this._abortReason}get signal(){if(!pO(this))throw dO("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!pO(this))throw dO("error");this._controlledWritableStream._state==="writable"&&sie(this,t)}[yne](t){let r=this._abortAlgorithm(t);return RE(this),r}[bne](){vf(this)}};function pO(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof yd}function aie(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,vf(t),t._abortReason=void 0,t._abortController=function(){if(lNe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=UO(t);NO(e,u),Da(rr(r()),()=>(t._started=!0,GE(t),null),c=>(t._started=!0,wO(e,c),null))}function RE(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function oie(e){return e._strategyHWM-e._queueTotalSize}function GE(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void qO(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===iie?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),xO(n);let a=n._closeAlgorithm();RE(n),Da(a,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&cie(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),wO(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);Da(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(xO(n),!Bu(a)&&s==="writable"){let u=UO(n);NO(a,u)}return GE(n),null},s=>(a._state==="writable"&&RE(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,wO(u,c)}(a,s),null))}(e,r)}function qx(e,t){e._controlledWritableStream._state==="writable"&&sie(e,t)}function UO(e){return oie(e)<=0}function sie(e,t){let r=e._controlledWritableStream;RE(e),LO(r,t)}function _E(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function dO(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function fd(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function jx(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function FE(e){e._closedPromise=Un((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function uie(e,t){FE(e),GO(e,t)}function GO(e,t){e._closedPromise_reject!==void 0&&(X0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function cie(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function zE(e){e._readyPromise=Un((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function EO(e,t){zE(e),lie(e,t)}function one(e){zE(e),zO(e)}function lie(e,t){e._readyPromise_reject!==void 0&&(X0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function zO(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(yd.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var sne=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,pNe=function(){let e=sne==null?void 0:sne.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return tr(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function une(e,t,r,n,i,a){let o=V0(e),s=Xne(t);e._disturbed=!0;let u=!1,c=rr(void 0);return Un((l,f)=>{let p;if(a!==void 0){if(p=()=>{let w=a.reason!==void 0?a.reason:new pNe("Aborted","AbortError"),T=[];n||T.push(()=>t._state==="writable"?ME(t,w):rr(void 0)),i||T.push(()=>e._state==="readable"?_s(e,w):rr(void 0)),b(()=>Promise.all(T.map(k=>k())),!0,w)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,g;if(x(e,o._closedPromise,w=>(n?_(!0,w):b(()=>ME(t,w),!0,w),null)),x(t,s._closedPromise,w=>(i?_(!0,w):b(()=>_s(e,w),!0,w),null)),d=e,h=o._closedPromise,g=()=>(r?_():b(()=>function(w){let T=w._ownerWritableStream,k=T._state;return Bu(T)||k==="closed"?rr(void 0):k==="errored"?at(T._storedError):eie(w)}(s)),null),d._state==="closed"?g():oO(h,g),Bu(t)||t._state==="closed"){let w=new TypeError("the destination writable stream closed before all data could be piped to it");i?_(!0,w):b(()=>_s(e,w),!0,w)}function m(){let w=c;return ku(c,()=>w!==c?m():void 0)}function x(w,T,k){w._state==="errored"?k(w._storedError):mO(T,k)}function b(w,T,k){function j(){return Da(w(),()=>A(T,k),C=>A(!0,C)),null}u||(u=!0,t._state!=="writable"||Bu(t)?j():oO(m(),j))}function _(w,T){u||(u=!0,t._state!=="writable"||Bu(t)?A(w,T):oO(m(),()=>A(w,T)))}function A(w,T){return rie(s),Gc(o),a!==void 0&&a.removeEventListener("abort",p),w?f(T):l(void 0),null}X0(Un((w,T)=>{(function k(j){j?w():ku(u?rr(!0):ku(s._readyPromise,()=>Un((C,D)=>{Rx(o,{_chunkSteps:O=>{c=ku(nie(s,O),void 0,Mx),C(!1)},_closeSteps:()=>C(!0),_errorSteps:D})})),k,T)})(!1)}))})}var Du=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!wE(this))throw EE("desiredSize");return HO(this)}close(){if(!wE(this))throw EE("close");if(!Y0(this))throw new TypeError("The stream is not in a state that permits close");bd(this)}enqueue(t=void 0){if(!wE(this))throw EE("enqueue");if(!Y0(this))throw new TypeError("The stream is not in a state that permits enqueue");return J0(this,t)}error(t=void 0){if(!wE(this))throw EE("error");ws(this,t)}[TO](t){vf(this);let r=this._cancelAlgorithm(t);return LE(this),r}[CO](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=xO(this);this._closeRequested&&this._queue.length===0?(LE(this),Vx(r)):Nx(this),t._chunkSteps(n)}else Sne(r,t),Nx(this)}[DO](){}};function wE(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof Du}function Nx(e){if(fie(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Da(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Nx(e)),null),t=>(ws(e,t),null))}}function fie(e){let t=e._controlledReadableStream;return!Y0(e)||!e._started?!1:gf(t)&&NE(t)>0?!0:HO(e)>0}function LE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function bd(e){if(!Y0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(LE(e),Vx(t))}function J0(e,t){if(!Y0(e))return;let r=e._controlledReadableStream;if(gf(r)&&NE(r)>0)IO(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw ws(e,i),i}try{jO(e,t,n)}catch(i){throw ws(e,i),i}}Nx(e)}function ws(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(vf(e),LE(e),die(r,t))}function HO(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Y0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function pie(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,vf(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,Da(rr(r()),()=>(t._started=!0,Nx(t),null),s=>(ws(t,s),null))}function EE(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function dNe(e,t){return dd(e._readableStreamController)?function(r){let n,i,a,o,s,u=V0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Un(k=>{s=k});function g(k){mO(k._closedPromise,j=>(k!==u||(To(a._readableStreamController,j),To(o._readableStreamController,j),p&&d||s(void 0)),null))}function m(){hd(u)&&(Gc(u),u=V0(r),g(u)),Rx(u,{_chunkSteps:k=>{md(()=>{l=!1,f=!1;let j=k,C=k;if(!p&&!d)try{C=ine(k)}catch(D){return To(a._readableStreamController,D),To(o._readableStreamController,D),void s(_s(r,D))}p||CE(a._readableStreamController,j),d||CE(o._readableStreamController,C),c=!1,l?b():f&&_()})},_closeSteps:()=>{c=!1,p||Ix(a._readableStreamController),d||Ix(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&DE(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&DE(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function x(k,j){hf(u)&&(Gc(u),u=Vne(r),g(u));let C=j?o:a,D=j?a:o;Kne(u,k,1,{_chunkSteps:O=>{md(()=>{l=!1,f=!1;let M=j?d:p;if(j?p:d)M||kE(C._readableStreamController,O);else{let G;try{G=ine(O)}catch(z){return To(C._readableStreamController,z),To(D._readableStreamController,z),void s(_s(r,z))}M||kE(C._readableStreamController,O),CE(D._readableStreamController,G)}c=!1,l?b():f&&_()})},_closeSteps:O=>{c=!1;let M=j?d:p,G=j?p:d;M||Ix(C._readableStreamController),G||Ix(D._readableStreamController),O!==void 0&&(M||kE(C._readableStreamController,O),!G&&D._readableStreamController._pendingPullIntos.length>0&&DE(D._readableStreamController,0)),M&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function b(){if(c)return l=!0,rr(void 0);c=!0;let k=_O(a._readableStreamController);return k===null?m():x(k._view,!1),rr(void 0)}function _(){if(c)return f=!0,rr(void 0);c=!0;let k=_O(o._readableStreamController);return k===null?m():x(k._view,!0),rr(void 0)}function A(k){if(p=!0,n=k,d){let j=Ox([n,i]),C=_s(r,j);s(C)}return h}function w(k){if(d=!0,i=k,p){let j=Ox([n,i]),C=_s(r,j);s(C)}return h}function T(){}return a=lne(T,b,A),o=lne(T,_,w),g(u),[a,o]}(e):function(r,n){let i=V0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Un(_=>{c=_});function g(){return l?(f=!0,rr(void 0)):(l=!0,Rx(i,{_chunkSteps:_=>{md(()=>{f=!1;let A=_,w=_;p||J0(s._readableStreamController,A),d||J0(u._readableStreamController,w),l=!1,f&&g()})},_closeSteps:()=>{l=!1,p||bd(s._readableStreamController),d||bd(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),rr(void 0))}function m(_){if(p=!0,a=_,d){let A=Ox([a,o]),w=_s(r,A);c(w)}return h}function x(_){if(d=!0,o=_,p){let A=Ox([a,o]),w=_s(r,A);c(w)}return h}function b(){}return s=Ux(b,g,m),u=Ux(b,g,x),mO(i._closedPromise,_=>(ws(s._readableStreamController,_),ws(u._readableStreamController,_),p&&d||c(void 0),null)),[s,u]}(e)}function hNe(e){return Bn(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return at(s)}return zc(o,s=>{if(!Bn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)bd(n._readableStreamController);else{let u=s.value;J0(n._readableStreamController,u)}})}function a(o){try{return rr(r.cancel(o))}catch(s){return at(s)}}return n=Ux(Mx,i,a,0),n}(e.getReader()):function(r){let n,i=Fne(r,"async");function a(){let s;try{s=Bne(i)}catch(u){return at(u)}return zc(rr(s),u=>{if(!Bn(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)bd(n._readableStreamController);else{let c=u.value;J0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Px(u,"return")}catch(l){return at(l)}return c===void 0?rr(void 0):zc($c(c,u,[s]),l=>{if(!Bn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=Ux(Mx,a,o,0),n}(e);var t}function mNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function gNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function vNe(e,t,r){return Co(e,r),n=>gd(e,t,[n])}function xNe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function cne(e,t){Fu(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(Du.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Du.prototype.close,"close"),tr(Du.prototype.enqueue,"enqueue"),tr(Du.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Du.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var ti=class{constructor(t={},r={}){t===void 0?t=null:Ane(t,"First parameter");let n=jE(r,"Second parameter"),i=function(a,o){Fu(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,p=s==null?void 0:s.type;return{autoAllocateChunkSize:u===void 0?void 0:OO(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:mNe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:gNe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:vNe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:xNe(p,`${o} has member 'type' that`)}}(t,"First parameter");if($O(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(Cu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>rr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>rr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");$ne(a,u,c,l,f,s,p)})(this,i,Lx(n,0))}else{let a=IE(n);(function(o,s,u,c){let l=Object.create(Du.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>rr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>rr(void 0),pie(o,l,f,p,d,u,c)})(this,i,Lx(n,1),a)}}get locked(){if(!df(this))throw pd("locked");return gf(this)}cancel(t=void 0){return df(this)?gf(this)?at(new TypeError("Cannot cancel a stream that already has a reader")):_s(this,t):at(pd("cancel"))}getReader(t=void 0){if(!df(this))throw pd("getReader");return function(r,n){Fu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:iNe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?V0(this):Vne(this)}pipeThrough(t,r={}){if(!df(this))throw pd("pipeThrough");Hc(t,1,"pipeThrough");let n=function(a,o){Fu(a,o);let s=a==null?void 0:a.readable;vO(s,"readable","ReadableWritablePair"),PO(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return vO(u,"writable","ReadableWritablePair"),Yne(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=cne(r,"Second parameter");if(gf(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(K0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return X0(une(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!df(this))return at(pd("pipeTo"));if(t===void 0)return at("Parameter 1 is required in 'pipeTo'.");if(!$0(t))return at(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=cne(r,"Second parameter")}catch(i){return at(i)}return gf(this)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):K0(t)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):une(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!df(this))throw pd("tee");return Ox(dNe(this))}values(t=void 0){if(!df(this))throw pd("values");return function(r,n){let i=V0(r),a=new PE(i,n),o=Object.create(One);return o._asyncIteratorImpl=a,o}(this,function(r,n){Fu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[$x](t){return this.values(t)}static from(t){return hNe(t)}};function Ux(e,t,r,n=1,i=()=>1){let a=Object.create(ti.prototype);return $O(a),pie(a,Object.create(Du.prototype),e,t,r,n,i),a}function lne(e,t,r){let n=Object.create(ti.prototype);return $O(n),$ne(n,Object.create(Cu.prototype),e,t,r,0,void 0),n}function $O(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function df(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof ti}function gf(e){return e._reader!==void 0}function _s(e,t){if(e._disturbed=!0,e._state==="closed")return rr(void 0);if(e._state==="errored")return at(e._storedError);Vx(e);let r=e._reader;if(r!==void 0&&hd(r)){let n=r._readIntoRequests;r._readIntoRequests=new ka,n.forEach(i=>{i._closeSteps(void 0)})}return zc(e._readableStreamController[TO](t),Mx)}function Vx(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Ene(t),hf(t))){let r=t._readRequests;t._readRequests=new ka,r.forEach(n=>{n._closeSteps()})}}function die(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(FO(r,t),hf(r)?Cne(r,t):Jne(r,t))}function pd(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function hie(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark;return vO(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:BO(r)}}Object.defineProperties(ti,{from:{enumerable:!0}}),Object.defineProperties(ti.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),tr(ti.from,"from"),tr(ti.prototype.cancel,"cancel"),tr(ti.prototype.getReader,"getReader"),tr(ti.prototype.pipeThrough,"pipeThrough"),tr(ti.prototype.pipeTo,"pipeTo"),tr(ti.prototype.tee,"tee"),tr(ti.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ti.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(ti.prototype,$x,{value:ti.prototype.values,writable:!0,configurable:!0});var mie=e=>e.byteLength;tr(mie,"size");var Gx=class{constructor(t){Hc(t,1,"ByteLengthQueuingStrategy"),t=hie(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!pne(this))throw fne("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!pne(this))throw fne("size");return mie}};function fne(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function pne(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof Gx}Object.defineProperties(Gx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Gx.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var gie=()=>1;tr(gie,"size");var zx=class{constructor(t){Hc(t,1,"CountQueuingStrategy"),t=hie(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!hne(this))throw dne("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!hne(this))throw dne("size");return gie}};function dne(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function hne(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof zx}function yNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}function bNe(e,t,r){return Co(e,r),n=>gd(e,t,[n])}function _Ne(e,t,r){return Co(e,r),(n,i)=>$c(e,t,[n,i])}function wNe(e,t,r){return Co(e,r),n=>$c(e,t,[n])}Object.defineProperties(zx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zx.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var Hx=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=jE(r,"Second parameter"),a=jE(n,"Third parameter"),o=function(p,d){Fu(p,d);let h=p==null?void 0:p.cancel,g=p==null?void 0:p.flush,m=p==null?void 0:p.readableType,x=p==null?void 0:p.start,b=p==null?void 0:p.transform,_=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:wNe(h,p,`${d} has member 'cancel' that`),flush:g===void 0?void 0:yNe(g,p,`${d} has member 'flush' that`),readableType:m,start:x===void 0?void 0:bNe(x,p,`${d} has member 'start' that`),transform:b===void 0?void 0:_Ne(b,p,`${d} has member 'transform' that`),writableType:_}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=Lx(a,0),u=IE(a),c=Lx(i,1),l=IE(i),f;(function(p,d,h,g,m,x){function b(){return d}function _(j){return function(C,D){let O=C._transformStreamController;return C._backpressure?zc(C._backpressureChangePromise,()=>{let M=C._writable;if(M._state==="erroring")throw M._storedError;return gne(O,D)}):gne(O,D)}(p,j)}function A(j){return function(C,D){let O=C._transformStreamController;if(O._finishPromise!==void 0)return O._finishPromise;let M=C._readable;O._finishPromise=Un((z,J)=>{O._finishPromise_resolve=z,O._finishPromise_reject=J});let G=O._cancelAlgorithm(D);return BE(O),Da(G,()=>(M._state==="errored"?H0(O,M._storedError):(ws(M._readableStreamController,D),hO(O)),null),z=>(ws(M._readableStreamController,z),H0(O,z),null)),O._finishPromise}(p,j)}function w(){return function(j){let C=j._transformStreamController;if(C._finishPromise!==void 0)return C._finishPromise;let D=j._readable;C._finishPromise=Un((M,G)=>{C._finishPromise_resolve=M,C._finishPromise_reject=G});let O=C._flushAlgorithm();return BE(C),Da(O,()=>(D._state==="errored"?H0(C,D._storedError):(bd(D._readableStreamController),hO(C)),null),M=>(ws(D._readableStreamController,M),H0(C,M),null)),C._finishPromise}(p)}function T(){return function(j){return qE(j,!1),j._backpressureChangePromise}(p)}function k(j){return function(C,D){let O=C._transformStreamController;if(O._finishPromise!==void 0)return O._finishPromise;let M=C._writable;O._finishPromise=Un((z,J)=>{O._finishPromise_resolve=z,O._finishPromise_reject=J});let G=O._cancelAlgorithm(D);return BE(O),Da(G,()=>(M._state==="errored"?H0(O,M._storedError):(qx(M._writableStreamController,D),AO(C),hO(O)),null),z=>(qx(M._writableStreamController,z),AO(C),H0(O,z),null)),O._finishPromise}(p,j)}p._writable=function(j,C,D,O,M=1,G=()=>1){let z=Object.create(Nc.prototype);return Qne(z),aie(z,Object.create(yd.prototype),j,C,D,O,M,G),z}(b,_,w,A,h,g),p._readable=Ux(b,T,k,m,x),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,qE(p,!0),p._transformStreamController=void 0})(this,Un(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(Uc.prototype),g,m,x;g=d.transform!==void 0?b=>d.transform(b,h):b=>{try{return xie(h,b),rr(void 0)}catch(_){return at(_)}},m=d.flush!==void 0?()=>d.flush(h):()=>rr(void 0),x=d.cancel!==void 0?b=>d.cancel(b):()=>rr(void 0),function(b,_,A,w,T){_._controlledTransformStream=b,b._transformStreamController=_,_._transformAlgorithm=A,_._flushAlgorithm=w,_._cancelAlgorithm=T,_._finishPromise=void 0,_._finishPromise_resolve=void 0,_._finishPromise_reject=void 0}(p,h,g,m,x)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!mne(this))throw vne("readable");return this._readable}get writable(){if(!mne(this))throw vne("writable");return this._writable}};function mne(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof Hx}function vie(e,t){ws(e._readable._readableStreamController,t),VO(e,t)}function VO(e,t){BE(e._transformStreamController),qx(e._writable._writableStreamController,t),AO(e)}function AO(e){e._backpressure&&qE(e,!1)}function qE(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Un(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(Hx.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hx.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Uc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!AE(this))throw SE("desiredSize");return HO(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!AE(this))throw SE("enqueue");xie(this,t)}error(t=void 0){if(!AE(this))throw SE("error");var r;r=t,vie(this._controlledTransformStream,r)}terminate(){if(!AE(this))throw SE("terminate");(function(t){let r=t._controlledTransformStream;bd(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");VO(r,n)})(this)}};function AE(e){return!!Bn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Uc}function BE(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function xie(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Y0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{J0(n,t)}catch(a){throw VO(r,a),r._readable._storedError}(function(a){return!fie(a)})(n)!==r._backpressure&&qE(r,!0)}function gne(e,t){return zc(e._transformAlgorithm(t),void 0,r=>{throw vie(e._controlledTransformStream,r),r})}function SE(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function hO(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function H0(e,t){e._finishPromise_reject!==void 0&&(X0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function vne(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Uc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Uc.prototype.enqueue,"enqueue"),tr(Uc.prototype.error,"error"),tr(Uc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Uc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var HE=class extends ti{};var $E=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(i){t.error(i);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var VE=class extends HE{_chunks;constructor(t){super(new $E(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var wd=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof wd)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=ENe(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new wd([],{type:n});if(u===0)return c;let l=0,f=[];for(let p of a){let{byteLength:d}=p;if(o>0&&d<=o)o-=d,s-=d;else{let h=p.subarray(o,Math.min(d,s));if(f.push(h),l+=h.byteLength,o=0,l>=u)break}}return c.parts=f,c.size=l,c}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new VE(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function ENe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function ANe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=wd),globalThis.Blob}var SNe=ANe();var WE=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${hv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var KE=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function yie(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=WE),typeof File>"u"&&!globalThis.File&&(globalThis.File=KE),global}var TNe=yie();var WO=Ct(require("module"),1),bie=Ct(require("path"),1),YE=Ct(require("fs"),1);async function _ie(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():YE.default.readFileSync(e).buffer}async function wie(e){return e.startsWith("http")?await(await fetch(e)).text():YE.default.readFileSync(e,"utf8")}async function Eie(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return JE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=YE.default.readFileSync(e,"utf8");return JE(t)}function JE(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=WO.default._nodeModulePaths(bie.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new WO.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var Es=class{map;constructor(t){this.map={},t instanceof Es?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=Wx(t),r=Aie(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[Wx(t)]}get(t){return t=Wx(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(Wx(t))}set(t,r){this.map[Wx(t)]=Aie(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),KO(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),KO(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),KO(t)}*[Symbol.iterator](){yield*this.entries()}};function Wx(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function Aie(e){return typeof e!="string"&&(e=String(e)),e}function KO(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function JO(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var XO=Ct(require("stream"),1),CNe=e=>typeof e=="boolean",Sie=e=>typeof e=="function",DNe=e=>e!==null&&typeof e=="object",YO=e=>DNe(e)&&Sie(e.read)&&Sie(e.pipe)&&CNe(e.readable),Vc=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new Es((r==null?void 0:r.headers)||{}),YO(t)?this._body=dE(t,n):typeof t=="string"?this._body=XO.Readable.from([new TextEncoder().encode(t)]):this._body=XO.Readable.from([t||new ArrayBuffer(0)])}get body(){return JO(!this.bodyUsed),JO(YO(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return YO(this._body)?await Gre(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var Cie=Ct(require("http"),1),Die=Ct(require("https"),1);var kNe=e=>e&&e instanceof ArrayBuffer,FNe=e=>e&&e instanceof Buffer;function Tie(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:BNe(r),mimeType:n}}function BNe(e){if(kNe(e))return e;if(FNe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(`toArrayBuffer(${JSON.stringify(e,null,2).slice(10)})`)}var QO=e=>e.startsWith("data:"),ONe=e=>e.startsWith("http:")||e.startsWith("https:");async function Kx(e,t){try{if(globalThis.fetch!==Kx&&(ONe(e)||QO(e)))return await fetch(e,t);if(QO(e)){let{arrayBuffer:c,mimeType:l}=Tie(e);return new Vc(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await PNe(n,t),a=RNe(e,i,r),{status:o,statusText:s}=MNe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=INe(e,a.get("location"));return await Kx(c,t)}return new Vc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Vc(null,{status:400,statusText:String(r),url:e})}}async function PNe(e,t){return await new Promise((r,n)=>{let i=jNe(e,t),a=e.startsWith("https:")?Die.default.request(i,o=>r(o)):Cie.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function INe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function jNe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function MNe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function RNe(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=LNe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new Es(n)}function LNe(e){return QO(e)?e.length-5:null}var qNe=parseInt(kie.versions.node.split(".")[0]);Tz&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=aO;globalThis.loaders.NodeFile=cd;globalThis.loaders.NodeFileSystem=gE;globalThis.loaders.fetchNode=hE;globalThis.loaders.NodeHash=vE;globalThis.TextEncoder||(globalThis.TextEncoder=dv);globalThis.TextDecoder||(globalThis.TextDecoder=Mp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&hv&&(globalThis.atob=hv);!("btoa"in globalThis)&&AD&&(globalThis.btoa=AD);globalThis.loaders.encodeImageNode=kV;globalThis.loaders.parseImageNode=kB;globalThis.loaders.imageFormatsNode=DB;globalThis._parseImageNode=kB;globalThis._imageFormatsNode=DB;globalThis.loaders.readFileAsArrayBuffer=_ie;globalThis.loaders.readFileAsText=wie;globalThis.loaders.requireFromFile=Eie;globalThis.loaders.requireFromString=JE;qNe<18&&(!("Headers"in globalThis)&&Es&&(globalThis.Headers=Es),!("Response"in globalThis)&&Vc&&(globalThis.Response=Vc),!("fetch"in globalThis)&&Kx&&(globalThis.fetch=Kx));var J8e=require("path"),vD=Ct(K1e(),1);var nn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var VT=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:nn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case nn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case nn.STRING_TYPE:this.setupStringAttribute(i);break;case nn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case nn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case nn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case nn.STRING_TYPE:return"esriFieldTypeString";case nn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case nn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var Kbt=e=>typeof e=="boolean",tb=e=>typeof e=="function",Jd=e=>e!==null&&typeof e=="object",ER=e=>Jd(e)&&e.constructor==={}.constructor;var J1e=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",Y1e=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Io=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var jo=e=>typeof Blob<"u"&&e instanceof Blob,X1e=e=>e&&typeof e=="object"&&e.isBuffer;var Jbt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||Jd(e)&&tb(e.tee)&&tb(e.cancel)&&tb(e.getReader);var Ybt=e=>Jd(e)&&tb(e.read)&&tb(e.pipe)&&Kbt(e.readable),WT=e=>Jbt(e)||Ybt(e);var KT=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Xbt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Qbt=/^([-\w.]+\/[-\w.+]+)/;function AR(e,t){return e.toLowerCase()===t.toLowerCase()}function Q1e(e){let t=Qbt.exec(e);return t?t[1]:e}function SR(e){let t=Xbt.exec(e);return t?t[1]:""}var Z1e=/\?.*/;function eve(e){let t=e.match(Z1e);return t&&t[0]}function Ag(e){return e.replace(Z1e,"")}function tve(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Yd(e){return Io(e)?e.url:jo(e)?e.name||"":typeof e=="string"?e:""}function rb(e){if(Io(e)){let t=e,r=t.headers.get("content-type")||"",n=Ag(t.url);return Q1e(r)||SR(n)}return jo(e)?e.type||"":typeof e=="string"?SR(e):""}function rve(e){return Io(e)?e.headers["content-length"]||-1:jo(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function JT(e){if(Io(e))return e;let t={},r=rve(e);r>=0&&(t["content-length"]=String(r));let n=Yd(e),i=rb(e);i&&(t["content-type"]=i);let a=await e2t(e);a&&(t["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function nve(e){if(!e.ok)throw await Zbt(e)}async function Zbt(e){let t=tve(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let i=e.headers.get("Content-Type");n.reason=i!=null&&i.includes("application/json")?await e.json():e.text()}catch{}return new KT(r,n)}async function e2t(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${t2t(r)}`}return null}function t2t(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function r2t(e){return!n2t(e)&&!i2t(e)}function n2t(e){return e.startsWith("http:")||e.startsWith("https:")}function i2t(e){return e.startsWith("data:")}async function pa(e,t){var r,n;if(typeof e=="string"){let i=Eu(e);return r2t(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await JT(e)}var TR=new yu({id:"loaders.gl"}),YT=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XT=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var CR={fetch:null,mimeType:void 0,nothrow:!1,log:new XT,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:Er,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},ive={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DR(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Sg(){let e=DR();return e.globalOptions=e.globalOptions||{...CR},e.globalOptions}function sve(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],a2t(e,r),s2t(t,e,n)}function a2t(e,t){ave(e,null,CR,ive,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};ave(n,r.id,i,a,t)}}function ave(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&Jd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)TR.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=o2t(s,i);TR.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function o2t(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function s2t(e,t,r){let i={...e.options||{}};return u2t(i,r),i.log===null&&(i.log=new YT),ove(i,Sg()),ove(i,t),i}function ove(e,t){for(let r in t)if(r in t){let n=t[r];ER(n)&&ER(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function u2t(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function nb(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function kR(e){Et(e,"null loader"),Et(nb(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var c2t=()=>{let e=DR();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function uve(){return c2t()}var cve=new yu({id:"loaders.gl"});var l2t=/\.([^.]+)$/;async function pve(e,t=[],r,n){if(!dve(e))return null;let i=lve(e,t,{...r,nothrow:!0},n);if(i)return i;if(jo(e)&&(e=await e.slice(0,10).arrayBuffer(),i=lve(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(hve(e));return i}function lve(e,t=[],r,n){if(!dve(e))return null;if(t&&!Array.isArray(t))return kR(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...uve()),p2t(i);let a=f2t(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(hve(e));return a}function f2t(e,t,r,n){let i=Yd(e),a=rb(e),o=Ag(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=FR(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||d2t(t,o),u=u||(s?`matched url ${o}`:""),s=s||FR(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||m2t(t,e),u=u||(s?`matched initial data ${mve(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||FR(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&cve.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function dve(e){return!(e instanceof Response&&e.status===204)}function hve(e){let t=Yd(e),r=rb(e),n="No valid loader found (";n+=t?`${Ca.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?mve(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function p2t(e){for(let t of e)kR(t)}function d2t(e,t){let r=t&&l2t.exec(t),n=r&&r[1];return n?h2t(e,n):null}function h2t(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function FR(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>AR(t,i))||AR(t,`application/x.${n.id}`))return n;return null}function m2t(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(g2t(t,r))return r}else if(ArrayBuffer.isView(t)){if(fve(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&fve(t,0,r))return r;return null}function g2t(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function fve(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>v2t(e,t,r,i))}function v2t(e,t,r,n){if(n instanceof ArrayBuffer)return wu(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=BR(e,t,n.length);return n===i;default:return!1}}function mve(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?BR(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?BR(e,0,t):""}function BR(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function*gve(e,t){let r=(t==null?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}function*vve(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*xve(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function OR(e,t){return Er?x2t(e,t):y2t(e,t)}async function*x2t(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Ic(o)}}catch{r.releaseLock()}}async function*y2t(e,t){for await(let r of e)yield Ic(r)}function yve(e,t){if(typeof e=="string")return gve(e,t);if(e instanceof ArrayBuffer)return vve(e,t);if(jo(e))return xve(e,t);if(WT(e))return OR(e,t);if(Io(e))return OR(e.body,t);throw new Error("makeIterator")}var bve="Cannot convert supplied data type";function b2t(e,t,r){if(t.text&&typeof e=="string")return e;if(X1e(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(bve)}async function _ve(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return b2t(e,t,r);if(jo(e)&&(e=await JT(e)),Io(e)){let i=e;return await nve(i),t.binary?await i.arrayBuffer():await i.text()}if(WT(e)&&(e=yve(e,r)),J1e(e)||Y1e(e))return ud(e);throw new Error(bve)}function QT(e,t){let r=Sg(),n=e||r;return typeof n.fetch=="function"?n.fetch:Jd(n.fetch)?i=>pa(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:pa}function wve(e,t,r){if(r)return r;let n={fetch:QT(t,e),...e};if(n.url){let i=Ag(n.url);n.baseUrl=i,n.queryString=eve(n.url),n.filename=Ca.filename(i),n.baseUrl=Ca.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function Eve(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function eo(e,t,r,n){t&&!Array.isArray(t)&&!nb(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Yd(e),o=Eve(t,n),s=await pve(e,o,r);return s?(r=sve(r,s,o,i),n=wve({url:i,_parse:eo,loaders:o},r,n||null),await _2t(s,e,r,n)):null}async function _2t(e,t,r,n){if(NB(e),r=PB(e.options,r),Io(t)){let a=t,{ok:o,redirected:s,status:u,statusText:c,type:l,url:f}=a,p=Object.fromEntries(a.headers.entries());n.response={headers:p,ok:o,redirected:s,status:u,statusText:c,type:l,url:f}}t=await _ve(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(GB(e,r))return await zB(e,t,r,n,eo);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw Ti(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Ave(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function PR(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],p=s[c+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,i=l>i?l:i,a=f>a?f:a,o=p>o?p:o}return[[t,r,n],[i,a,o]]}function IR(e,t,r){let n=Ave(t.value),i=r||Sve(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Sve(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}async function Yr(e,t,r,n){let i,a;!Array.isArray(t)&&!nb(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=QT(a),s=e;return typeof e=="string"&&(s=await o(e)),jo(e)&&(s=await o(e)),Array.isArray(i)?await eo(s,i,a):await eo(s,i,a)}async function Tg(e,t,r){return r={...Sg(),...r},t.encodeURLtoURL?w2t(t,e,r):HB(t,r)?await qB(t,e,r):await t.encode(e,r)}function ZT(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Cve(e,t,r,n){if(e=Eu(e),t=Eu(t),Er||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function w2t(e,t,r){if(Er)throw new Error(`Writer ${e.name} not supported in browser`);let n=Tve("input");await new jc(n,"w").write(t);let a=Tve("output"),o=await Cve(n,a,e,r);return(await pa(o)).arrayBuffer()}function Tve(e){return`/tmp/${e}`}var E2t=1/Math.PI*180,A2t=1/180*Math.PI,S2t={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...S2t}};var Lr=globalThis.mathgl.config;function jR(e,{precision:t=Lr.precision}={}){return e=T2t(e),"".concat(parseFloat(e.toPrecision(t)))}function Mo(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function MR(e){return Dve(e)}function RR(e){return sl(e)}function Dve(e,t){return qR(e,r=>r*A2t,t)}function sl(e,t){return qR(e,r=>r*E2t,t)}function LR(e,t,r){return qR(e,n=>Math.max(t,Math.min(r,n)))}function to(e,t,r){let n=Lr.EPSILON;r&&(Lr.EPSILON=r);try{if(e===t)return!0;if(Mo(e)&&Mo(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!to(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Lr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Lr.EPSILON=n}}function T2t(e){return Math.round(e/Lr.EPSILON)*Lr.EPSILON}function C2t(e){return e.clone?e.clone():new Array(e.length)}function qR(e,t,r){if(Mo(e)){let n=e;r=r||C2t(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}function D2t(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var Zf=class extends D2t(Array){clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Mo(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Lr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+jR(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!to(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Lr.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function k2t(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function zt(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function ep(e,t,r=""){if(Lr.debug&&!k2t(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function mi(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var tp=class extends Zf{get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return zt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return zt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return mi(t>=0&&t<this.ELEMENTS,"index is out of range"),zt(this[t])}setComponent(t,r){return mi(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var an=typeof Float32Array<"u"?Float32Array:Array,ib=Math.random;function Cg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var kir=Math.PI/180;function F2t(){let e=new an(2);return an!=Float32Array&&(e[0]=0,e[1]=0),e}function kve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function Fve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function e8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function t8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Fir=function(){let e=F2t();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function r8(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function n8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function Bve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function Ove(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function i8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Xd=class extends tp{constructor(t=0,r=0){super(2),Mo(t)&&arguments.length===1?this.copy(t):(Lr.debug&&(zt(t),zt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Lr.debug&&(zt(t.x),zt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return t8(this,this,t),this.check()}transformAsVector(t){return r8(this,this,t),this.check()}transformByMatrix3(t){return e8(this,this,t),this.check()}transformByMatrix2x3(t){return Fve(this,this,t),this.check()}transformByMatrix2(t){return kve(this,this,t),this.check()}};var kg={};Hn(kg,{add:()=>I2t,angle:()=>HR,bezier:()=>W2t,ceil:()=>j2t,clone:()=>B2t,copy:()=>O2t,create:()=>a8,cross:()=>Qd,dist:()=>r_t,distance:()=>Rve,div:()=>t_t,divide:()=>Mve,dot:()=>ab,equals:()=>Q2t,exactEquals:()=>X2t,floor:()=>M2t,forEach:()=>a_t,fromValues:()=>o8,hermite:()=>V2t,inverse:()=>z2t,len:()=>$R,length:()=>Pve,lerp:()=>H2t,max:()=>L2t,min:()=>R2t,mul:()=>e_t,multiply:()=>jve,negate:()=>G2t,normalize:()=>NR,random:()=>K2t,rotateX:()=>UR,rotateY:()=>GR,rotateZ:()=>zR,round:()=>q2t,scale:()=>N2t,scaleAndAdd:()=>U2t,set:()=>P2t,slerp:()=>$2t,sqrDist:()=>n_t,sqrLen:()=>i_t,squaredDistance:()=>Lve,squaredLength:()=>qve,str:()=>Y2t,sub:()=>Z2t,subtract:()=>Ive,transformMat3:()=>ob,transformMat4:()=>Zd,transformQuat:()=>sb,zero:()=>J2t});function a8(){let e=new an(3);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function B2t(e){let t=new an(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Pve(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function o8(e,t,r){let n=new an(3);return n[0]=e,n[1]=t,n[2]=r,n}function O2t(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function P2t(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function I2t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Ive(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function jve(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Mve(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function j2t(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function M2t(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function R2t(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function L2t(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function q2t(e,t){return e[0]=Cg(t[0]),e[1]=Cg(t[1]),e[2]=Cg(t[2]),e}function N2t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function U2t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function Rve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function Lve(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function qve(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function G2t(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function z2t(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function NR(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function ab(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Qd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function H2t(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function $2t(e,t,r,n){let i=Math.acos(Math.min(Math.max(ab(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function V2t(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function W2t(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function K2t(e,t){t=t===void 0?1:t;let r=ib()*2*Math.PI,n=ib()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Zd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function ob(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function sb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function UR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function GR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function zR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function HR(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&ab(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function J2t(e){return e[0]=0,e[1]=0,e[2]=0,e}function Y2t(e){return"vec3(".concat(e[0],", ").concat(e[1],", ").concat(e[2],")")}function X2t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function Q2t(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var Z2t=Ive,e_t=jve,t_t=Mve,r_t=Rve,n_t=Lve,$R=Pve,i_t=qve,a_t=function(){let e=a8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var VR=[0,0,0],s8,ne=class extends tp{static get ZERO(){return s8||(s8=new ne(0,0,0),Object.freeze(s8)),s8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Mo(t)?this.copy(t):(Lr.debug&&(zt(t),zt(r),zt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Lr.debug&&(zt(t.x),zt(t.y),zt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=zt(t)}angle(t){return HR(this,t)}cross(t){return Qd(this,this,t),this.check()}rotateX({radians:t,origin:r=VR}){return UR(this,this,r,t),this.check()}rotateY({radians:t,origin:r=VR}){return GR(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=VR}){return zR(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Zd(this,this,t),this.check()}transformAsVector(t){return n8(this,this,t),this.check()}transformByMatrix3(t){return ob(this,this,t),this.check()}transformByMatrix2(t){return Bve(this,this,t),this.check()}transformByQuaternion(t){return sb(this,this,t),this.check()}};var u8,Ro=class extends tp{static get ZERO(){return u8||(u8=new Ro(0,0,0,0),Object.freeze(u8)),u8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Mo(t)&&arguments.length===1?this.copy(t):(Lr.debug&&(zt(t),zt(r),zt(n),zt(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Lr.debug&&(zt(t.x),zt(t.y),zt(t.z),zt(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}transform(t){return Zd(this,this,t),this.check()}transformByMatrix3(t){return i8(this,this,t),this.check()}transformByMatrix2(t){return Ove(this,this,t),this.check()}transformByQuaternion(t){return sb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Fg=class extends Zf{toString(){let t="[";if(Lr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(this[r])}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=zt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function Nve(){let e=new an(9);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Uve(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Gve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function zve(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function WR(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],x=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+x*c,e[4]=g*i+m*s+x*l,e[5]=g*a+m*u+x*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function Hve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function $ve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function KR(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Vve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[3]=l-x,e[6]=p+m,e[1]=l+x,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var JR;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(JR||(JR={}));var s_t=Object.freeze([1,0,0,0,1,0,0,0,1]),pr=class extends Fg{static get IDENTITY(){return c_t()}static get ZERO(){return u_t()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return JR}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(s_t)}fromObject(t){return this.check()}fromQuaternion(t){return Vve(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return zve(this)}transpose(){return Uve(this,this),this.check()}invert(){return Gve(this,this),this.check()}multiplyLeft(t){return WR(this,t,this),this.check()}multiplyRight(t){return WR(this,this,t),this.check()}rotate(t){return $ve(this,this,t),this.check()}scale(t){return Array.isArray(t)?KR(this,this,t):KR(this,this,[t,t]),this.check()}translate(t){return Hve(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=e8(r||[-0,-0],t,this);break;case 3:n=ob(r||[-0,-0,-0],t,this);break;case 4:n=i8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},c8,l8=null;function u_t(){return c8||(c8=new pr([0,0,0,0,0,0,0,0,0]),Object.freeze(c8)),c8}function c_t(){return l8||(l8=new pr,Object.freeze(l8)),l8}var f8={};Hn(f8,{add:()=>I_t,adjoint:()=>m_t,clone:()=>f_t,copy:()=>p_t,create:()=>l_t,decompose:()=>S_t,determinant:()=>QR,equals:()=>L_t,exactEquals:()=>R_t,frob:()=>P_t,fromQuat:()=>aL,fromQuat2:()=>w_t,fromRotation:()=>x_t,fromRotationTranslation:()=>Kve,fromRotationTranslationScale:()=>T_t,fromRotationTranslationScaleOrigin:()=>C_t,fromScaling:()=>v_t,fromTranslation:()=>g_t,fromValues:()=>d_t,fromXRotation:()=>y_t,fromYRotation:()=>b_t,fromZRotation:()=>__t,frustum:()=>oL,getRotation:()=>A_t,getScaling:()=>Jve,getTranslation:()=>E_t,identity:()=>Wve,invert:()=>XR,lookAt:()=>cL,mul:()=>q_t,multiply:()=>ub,multiplyScalar:()=>j_t,multiplyScalarAndAdd:()=>M_t,ortho:()=>uL,orthoNO:()=>Xve,orthoZO:()=>F_t,perspective:()=>sL,perspectiveFromFieldOfView:()=>k_t,perspectiveNO:()=>Yve,perspectiveZO:()=>D_t,rotate:()=>tL,rotateX:()=>rL,rotateY:()=>nL,rotateZ:()=>iL,scale:()=>eL,set:()=>h_t,str:()=>O_t,sub:()=>N_t,subtract:()=>Qve,targetTo:()=>B_t,translate:()=>ZR,transpose:()=>YR});function l_t(){let e=new an(16);return an!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function f_t(e){let t=new an(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function p_t(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function d_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new an(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function h_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function Wve(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function YR(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function XR(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m,z=b*G-_*M+A*O+w*D-T*C+k*j;return z?(z=1/z,e[0]=(s*G-u*M+c*O)*z,e[1]=(i*M-n*G-a*O)*z,e[2]=(g*k-m*T+x*w)*z,e[3]=(p*T-f*k-d*w)*z,e[4]=(u*D-o*G-c*C)*z,e[5]=(r*G-i*D+a*C)*z,e[6]=(m*A-h*k-x*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*j)*z,e[9]=(n*D-r*M-a*j)*z,e[10]=(h*T-g*A+x*b)*z,e[11]=(f*A-l*T-d*b)*z,e[12]=(s*C-o*O-u*j)*z,e[13]=(r*O-n*C+i*j)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function m_t(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m;return e[0]=s*G-u*M+c*O,e[1]=i*M-n*G-a*O,e[2]=g*k-m*T+x*w,e[3]=p*T-f*k-d*w,e[4]=u*D-o*G-c*C,e[5]=r*G-i*D+a*C,e[6]=m*A-h*k-x*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*j,e[9]=n*D-r*M-a*j,e[10]=h*T-g*A+x*b,e[11]=f*A-l*T-d*b,e[12]=s*C-o*O-u*j,e[13]=r*O-n*C+i*j,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function QR(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],x=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,T=l*g-f*h,k=t*T-r*w+n*A,j=a*T-o*w+s*A,C=c*_-l*b+f*x,D=d*_-h*b+g*x;return u*k-i*j+m*C-p*D}function ub(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],x=t[14],b=t[15],_=r[0],A=r[1],w=r[2],T=r[3];return e[0]=_*n+A*s+w*f+T*g,e[1]=_*i+A*u+w*p+T*m,e[2]=_*a+A*c+w*d+T*x,e[3]=_*o+A*l+w*h+T*b,_=r[4],A=r[5],w=r[6],T=r[7],e[4]=_*n+A*s+w*f+T*g,e[5]=_*i+A*u+w*p+T*m,e[6]=_*a+A*c+w*d+T*x,e[7]=_*o+A*l+w*h+T*b,_=r[8],A=r[9],w=r[10],T=r[11],e[8]=_*n+A*s+w*f+T*g,e[9]=_*i+A*u+w*p+T*m,e[10]=_*a+A*c+w*d+T*x,e[11]=_*o+A*l+w*h+T*b,_=r[12],A=r[13],w=r[14],T=r[15],e[12]=_*n+A*s+w*f+T*g,e[13]=_*i+A*u+w*p+T*m,e[14]=_*a+A*c+w*d+T*x,e[15]=_*o+A*l+w*h+T*b,e}function ZR(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,x;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=x,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+x*a+t[15]),e}function eL(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function tL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j,C,D,O,M,G,z,J;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],x=t[6],b=t[7],_=t[8],A=t[9],w=t[10],T=t[11],k=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,D=i*a*l-o*c,O=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,J=o*o*l+u,e[0]=f*k+g*j+_*C,e[1]=p*k+m*j+A*C,e[2]=d*k+x*j+w*C,e[3]=h*k+b*j+T*C,e[4]=f*D+g*O+_*M,e[5]=p*D+m*O+A*M,e[6]=d*D+x*O+w*M,e[7]=h*D+b*O+T*M,e[8]=f*G+g*z+_*J,e[9]=p*G+m*z+A*J,e[10]=d*G+x*z+w*J,e[11]=h*G+b*z+T*J,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function rL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function nL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function iL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function g_t(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function v_t(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function x_t(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function y_t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function b_t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function __t(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Kve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,x=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-x,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+x,e[9]=h-m,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function w_t(e,t){let r=new an(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Kve(e,t,r),e}function E_t(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Jve(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function A_t(e,t){let r=new an(3);Jve(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function S_t(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,x=a*h,b=o*g,_=s*d,A=u*h,w=c*g,T=l*d,k=f*h,j=p*g,C=m+A+j,D=0;return C>0?(D=Math.sqrt(C+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(T-b)/D,e[2]=(x-_)/D):m>A&&m>j?(D=Math.sqrt(1+m-A-j)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(x+_)/D,e[2]=(T+b)/D):A>j?(D=Math.sqrt(1+A-m-j)*2,e[3]=(T-b)/D,e[0]=(x+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+j-m-A)*2,e[3]=(x-_)/D,e[0]=(T+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function T_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,x=s*u,b=s*c,_=s*l,A=n[0],w=n[1],T=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+x)*w,e[7]=0,e[8]=(d+b)*T,e[9]=(g-x)*T,e[10]=(1-(f+h))*T,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function C_t(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,x=s*f,b=u*c,_=u*l,A=u*f,w=n[0],T=n[1],k=n[2],j=i[0],C=i[1],D=i[2],O=(1-(g+x))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*T,J=(1-(p+x))*T,Y=(m+b)*T,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=O,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=J,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+j-(O*j+z*C+le*D),e[13]=r[1]+C-(M*j+J*C+ue*D),e[14]=r[2]+D-(G*j+Y*C+ce*D),e[15]=1,e}function aL(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[1]=l+x,e[2]=p-m,e[3]=0,e[4]=l-x,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function oL(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function Yve(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var sL=Yve;function D_t(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function k_t(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Xve(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var uL=Xve;function F_t(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function cL(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],x=n[0],b=n[1],_=n[2],A=r[0],w=r[1],T=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-T)<1e-6?Wve(e):(f=h-A,p=g-w,d=m-T,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-x*d,s=x*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function B_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let h=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function O_t(e){return"mat4(".concat(e[0],", ").concat(e[1],", ").concat(e[2],", ").concat(e[3],", ").concat(e[4],", ").concat(e[5],", ").concat(e[6],", ").concat(e[7],", ").concat(e[8],", ").concat(e[9],", ").concat(e[10],", ").concat(e[11],", ").concat(e[12],", ").concat(e[13],", ").concat(e[14],", ").concat(e[15],")")}function P_t(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function I_t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Qve(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function j_t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function M_t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function R_t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function L_t(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],x=e[15],b=t[0],_=t[1],A=t[2],w=t[3],T=t[4],k=t[5],j=t[6],C=t[7],D=t[8],O=t[9],M=t[10],G=t[11],z=t[12],J=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-T)<=1e-6*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-J)<=1e-6*Math.max(1,Math.abs(g),Math.abs(J))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(x-le)<=1e-6*Math.max(1,Math.abs(x),Math.abs(le))}var q_t=ub,N_t=Qve;function U_t(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Zve(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function exe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function txe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function rxe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function nxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function ixe(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function axe(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function oxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function sxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var uar=function(){let e=U_t();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var pL;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(pL||(pL={}));var z_t=45*Math.PI/180,H_t=1,lL=.1,fL=500,$_t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Fr=class extends Fg{static get IDENTITY(){return W_t()}static get ZERO(){return V_t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return pL}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy($_t)}fromObject(t){return this.check()}fromQuaternion(t){return aL(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return s===1/0?K_t(this,r,n,i,a,o):oL(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return cL(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return uL(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=z_t,aspect:n=H_t,focalDistance:i=1,near:a=lL,far:o=fL}=t;uxe(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return uxe(r),sL(this,r,n,i,a),this.check()}determinant(){return QR(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return YR(this,this),this.check()}invert(){return XR(this,this),this.check()}multiplyLeft(t){return ub(this,t,this),this.check()}multiplyRight(t){return ub(this,this,t),this.check()}rotateX(t){return rL(this,this,t),this.check()}rotateY(t){return nL(this,this,t),this.check()}rotateZ(t){return iL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return tL(this,this,t,r),this.check()}scale(t){return eL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return ZR(this,this,t),this.check()}transform(t,r){return t.length===4?(r=oxe(r||[-0,-0,-0,-0],t,this),ep(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=t8(r||[-0,-0],t,this);break;case 3:i=Zd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=r8(r||[-0,-0],t,this);break;case 3:n=n8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},p8,d8;function V_t(){return p8||(p8=new Fr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(p8)),p8}function W_t(){return d8||(d8=new Fr,Object.freeze(d8)),d8}function uxe(e){if(e>Math.PI*2)throw Error("expected radians")}function K_t(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function cxe(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function lxe(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function dL(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function hL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function fxe(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function pxe(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function dxe(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function hxe(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function cb(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function mxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function gxe(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function mL(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var vxe=Zve;var xxe=exe,yxe=ixe,bxe=axe,_xe=txe;var wxe=rxe;var Exe=nxe;var Axe=function(){let e=a8(),t=o8(1,0,0),r=o8(0,1,0);return function(n,i,a){let o=ab(i,a);return o<-.999999?(Qd(e,t,i),$R(e)<1e-6&&Qd(e,r,i),NR(e,e),dL(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Qd(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Exe(n,n))}}(),Ear=function(){let e=cxe(),t=cxe();return function(r,n,i,a,o,s){return cb(e,n,o,s),cb(t,i,a,s),cb(r,e,t,2*s*(1-s)),r}}(),Aar=function(){let e=Nve();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Exe(t,mL(t,e))}}();var J_t=[0,0,0,1],Vu=class extends Zf{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return mL(this,t),this.check()}fromAxisRotation(t,r){return dL(this,t,r),this.check()}identity(){return lxe(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}len(){return _xe(this)}lengthSquared(){return wxe(this)}dot(t){return yxe(this,t)}rotationTo(t,r){return Axe(this,t,r),this.check()}add(t){return vxe(this,this,t),this.check()}calculateW(){return hxe(this,this),this.check()}conjugate(){return gxe(this,this),this.check()}invert(){return mxe(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(bxe(this,t,r,n),this.check())}multiplyRight(t){return hL(this,this,t),this.check()}multiplyLeft(t){return hL(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return fxe(this,this,t),this.check()}rotateY(t){return pxe(this,this,t),this.check()}rotateZ(t){return dxe(this,this,t),this.check()}scale(t){return xxe(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=J_t,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return cb(this,i,a,o),this.check()}transformVector4(t,r=new Ro){return sxe(r,t,this),ep(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Os={};Hn(Os,{EPSILON1:()=>Y_t,EPSILON10:()=>awt,EPSILON11:()=>owt,EPSILON12:()=>swt,EPSILON13:()=>uwt,EPSILON14:()=>cwt,EPSILON15:()=>lwt,EPSILON16:()=>fwt,EPSILON17:()=>pwt,EPSILON18:()=>dwt,EPSILON19:()=>hwt,EPSILON2:()=>X_t,EPSILON20:()=>mwt,EPSILON3:()=>Q_t,EPSILON4:()=>Z_t,EPSILON5:()=>ewt,EPSILON6:()=>twt,EPSILON7:()=>rwt,EPSILON8:()=>nwt,EPSILON9:()=>iwt,PI_OVER_FOUR:()=>vwt,PI_OVER_SIX:()=>xwt,PI_OVER_TWO:()=>gwt,TWO_PI:()=>ywt});var Y_t=.1,X_t=.01,Q_t=.001,Z_t=1e-4,ewt=1e-5,twt=1e-6,rwt=1e-7,nwt=1e-8,iwt=1e-9,awt=1e-10,owt=1e-11,swt=1e-12,uwt=1e-13,cwt=1e-14,lwt=1e-15,fwt=1e-16,pwt=1e-17,dwt=1e-18,hwt=1e-19,mwt=1e-20,gwt=Math.PI/2,vwt=Math.PI/4,xwt=Math.PI/6,ywt=Math.PI*2;var ul=6356752314245179e-9,bwt={radii:[6378137,6378137,ul],radiiSquared:[6378137*6378137,6378137*6378137,ul*ul],oneOverRadii:[1/6378137,1/6378137,1/ul],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(ul*ul)],maximumRadius:Math.max(6378137,6378137,ul),centerToleranceSquared:.1};function h8(e){return e}var tor=new ne;function _wt(e,t=[],r=h8){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function Sxe(e,t=[]){return _wt(e,t,Lr._cartographicRadians?h8:MR)}function wwt(e,t,r=h8){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function Txe(e,t){return wwt(e,t,Lr._cartographicRadians?h8:RR)}var Cxe=1e-14,Ewt=new ne,Dxe={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},gL={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},lb={east:new ne,north:new ne,up:new ne,west:new ne,south:new ne,down:new ne},Awt=new ne,Swt=new ne,Twt=new ne;function vL(e,t,r,n,i,a){let o=Dxe[t]&&Dxe[t][r];mi(o&&(!n||n===o));let s,u,c,l=Ewt.copy(i);if(to(l.x,0,Cxe)&&to(l.y,0,Cxe)){let p=Math.sign(l.z);s=Awt.fromArray(gL[t]),t!=="east"&&t!=="west"&&s.scale(p),u=Swt.fromArray(gL[r]),r!=="east"&&r!=="west"&&u.scale(p),c=Twt.fromArray(gL[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=lb;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:x}=lb;g.copy(p).scale(-1),m.copy(d).scale(-1),x.copy(h).scale(-1),s=lb[t],u=lb[r],c=lb[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var Bg=new ne,Cwt=new ne,Dwt=new ne;function kxe(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;Bg.from(e);let o=Bg.x,s=Bg.y,u=Bg.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let x=Cwt;if(x.copy(e).scale(m),g<a)return x.to(r);let b=i.x,_=i.y,A=i.z,w=Dwt;w.set(x.x*b*2,x.y*_*2,x.z*A*2);let T=(1-m)*Bg.len()/(.5*w.len()),k=0,j,C,D,O;do{T-=k,j=1/(1+T*b),C=1/(1+T*_),D=1/(1+T*A);let M=j*j,G=C*C,z=D*D,J=M*j,Y=G*C,le=z*D;O=p*M+d*G+h*z-1;let ce=-2*(p*J*b+d*Y*_+h*le*A);k=O/ce}while(Math.abs(O)>Os.EPSILON12);return Bg.scale([j,C,D]).to(r)}var m8=new ne,Fxe=new ne,Bwt=new ne,Ps=new ne,Owt=new ne,g8=new ne,Nt=class{constructor(t=0,r=0,n=0){gt(this,"radii",void 0),gt(this,"radiiSquared",void 0),gt(this,"radiiToTheFourth",void 0),gt(this,"oneOverRadii",void 0),gt(this,"oneOverRadiiSquared",void 0),gt(this,"minimumRadius",void 0),gt(this,"maximumRadius",void 0),gt(this,"centerToleranceSquared",Os.EPSILON1),gt(this,"squaredXOverSquaredZ",void 0),mi(t>=0),mi(r>=0),mi(n>=0),this.radii=new ne(t,r,n),this.radiiSquared=new ne(t*t,r*r,n*n),this.radiiToTheFourth=new ne(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ne(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ne(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=Fxe,i=Bwt,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){g8.from(t);let n=this.scaleToGeodeticSurface(g8,Ps);if(!n)return;let i=this.geodeticSurfaceNormal(n,Fxe),a=Owt;a.copy(g8).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(kg.dot(a,g8))*kg.length(a);return Txe([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new Fr){return vL(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new Fr){return vL(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return m8.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Sxe(t),i=n[0],a=n[1],o=Math.cos(a);return m8.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),m8.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return m8.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return kxe(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Ps.from(t);let n=Ps.x,i=Ps.y,a=Ps.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Ps.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Ps.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Ps.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){mi(to(this.radii.x,this.radii.y,Os.EPSILON15)),mi(this.radii.z>0),Ps.from(t);let i=Ps.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Ps.set(0,0,i).to(n)}};gt(Nt,"WGS84",new Nt(6378137,6378137,ul));var gi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Eor=new ne,Aor=new ne;var fb=new ne,Bxe=new ne,da=class{constructor(t=[0,0,0],r=0){gt(this,"center",void 0),gt(this,"radius",void 0),this.radius=-0,this.center=new ne,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=fb.from(r),this.center=new ne().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new da(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=fb.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return Bxe.copy(o).scale((-n+u)/s).add(r),this.center.copy(Bxe),this.radius=u,this}expand(t){let n=fb.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=f8.getScaling(fb,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=fb.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?gi.OUTSIDE:a<n?gi.INTERSECTING:gi.INSIDE}};var Pwt=new ne,Iwt=new ne,v8=new ne,x8=new ne,y8=new ne,jwt=new ne,Mwt=new ne,cl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},vi=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){gt(this,"center",void 0),gt(this,"halfAxes",void 0),this.center=new ne().from(t),this.halfAxes=new pr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ne(t).len(),new ne(r).len(),new ne(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ne(t).normalize(),a=new ne(r).normalize(),o=new ne(n).normalize();return new Vu().fromMatrix3(new pr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Vu(n),a=new pr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ne().from(t),this.halfAxes=a,this}clone(){return new vi(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new da){let r=this.halfAxes,n=r.getColumn(0,v8),i=r.getColumn(1,x8),a=r.getColumn(2,y8),o=Pwt.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[cl.COLUMN0ROW0]+o*i[cl.COLUMN0ROW1]+s*i[cl.COLUMN0ROW2])+Math.abs(a*i[cl.COLUMN1ROW0]+o*i[cl.COLUMN1ROW1]+s*i[cl.COLUMN1ROW2])+Math.abs(a*i[cl.COLUMN2ROW0]+o*i[cl.COLUMN2ROW1]+s*i[cl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?gi.OUTSIDE:c>=u?gi.INSIDE:gi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=Iwt.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,v8),a=n.getColumn(1,x8),o=n.getColumn(2,y8),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,v8),c=s.getColumn(1,x8),l=s.getColumn(2,y8),f=jwt.copy(u).add(c).add(l).add(o),p=Mwt.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,v8);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,x8);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,y8);return i.transformAsPoint(t),this.halfAxes=new pr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Oxe=new ne,Pxe=new ne,ll=class{constructor(t=[0,0,1],r=0){gt(this,"normal",void 0),gt(this,"distance",void 0),this.normal=new ne,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return mi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Oxe.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),mi(to(this.normal.len(),1)),this.distance=i,this}clone(){return new ll(this.normal,this.distance)}equals(t){return to(this.distance,t.distance)&&to(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Pxe.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Oxe.from(t),i=this.getPointDistance(n),a=Pxe.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var Ixe=[new ne([1,0,0]),new ne([0,1,0]),new ne([0,0,1])],jxe=new ne,Rwt=new ne,Lo=class{constructor(t=[]){gt(this,"planes",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*Ixe.length;let r=t.center,n=t.radius,i=0;for(let a of Ixe){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new ll),s||(s=this.planes[i+1]=new ll);let u=jxe.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=jxe.copy(a).scale(n).add(r),l=Rwt.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=gi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case gi.OUTSIDE:return gi.OUTSIDE;case gi.INTERSECTING:r=gi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(mi(Number.isFinite(r),"parentPlaneMask is required."),r===Lo.MASK_OUTSIDE||r===Lo.MASK_INSIDE)return r;let n=Lo.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===gi.OUTSIDE)return Lo.MASK_OUTSIDE;u===gi.INTERSECTING&&(n|=o)}return n}};gt(Lo,"MASK_OUTSIDE",4294967295);gt(Lo,"MASK_INSIDE",0);gt(Lo,"MASK_INDETERMINATE",2147483647);var Wor=new ne,Kor=new ne,Jor=new ne,Yor=new ne,Xor=new ne;var qwt=new ne,Nwt=new ne,Uwt=new ne,Gwt=new ne,zwt=new ne,Hwt=new ne,$wt=new ne,Og=new ne,Vwt=new ne,Wwt=new ne,Kwt=new ne,Jwt=new ne;function xL(e,t=new da){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=$wt.copy(e[0]),n=qwt.copy(r),i=Nwt.copy(r),a=Uwt.copy(r),o=Gwt.copy(r),s=zwt.copy(r),u=Hwt.copy(r);for(let T of e){r.copy(T);let k=r.x,j=r.y,C=r.z;k<n.x&&n.copy(r),k>o.x&&o.copy(r),j<i.y&&i.copy(r),j>s.y&&s.copy(r),C<a.z&&a.copy(r),C>u.z&&u.copy(r)}let c=Og.copy(o).subtract(n).magnitudeSquared(),l=Og.copy(s).subtract(i).magnitudeSquared(),f=Og.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,h=c;l>h&&(h=l,p=i,d=s),f>h&&(h=f,p=a,d=u);let g=Vwt;g.x=(p.x+d.x)*.5,g.y=(p.y+d.y)*.5,g.z=(p.z+d.z)*.5;let m=Og.copy(d).subtract(g).magnitudeSquared(),x=Math.sqrt(m),b=Wwt;b.x=n.x,b.y=i.y,b.z=a.z;let _=Kwt;_.x=o.x,_.y=s.y,_.z=u.z;let A=Jwt.copy(b).add(_).multiplyByScalar(.5),w=0;for(let T of e){r.copy(T);let k=Og.copy(r).subtract(A).magnitude();k>w&&(w=k);let j=Og.copy(r).subtract(g).magnitudeSquared();if(j>m){let C=Math.sqrt(j);x=(x+C)*.5,m=x*x;let D=C-x;g.x=(x*g.x+D*r.x)/C,g.y=(x*g.y+D*r.y)/C,g.z=(x*g.z+D*r.z)/C}}return x<w?(g.to(t.center),t.radius=x):(A.to(t.center),t.radius=w),t}var Wu=new pr,Ywt=new pr,Xwt=new pr,b8=new pr,Mxe=new pr;function _L(e,t={}){let r=Os.EPSILON20,n=10,i=0,a=0,o=Ywt,s=Xwt;o.identity(),s.copy(e);let u=r*Qwt(s);for(;a<n&&Zwt(s)>u;)eEt(s,b8),Mxe.copy(b8).transpose(),s.multiplyRight(b8),s.multiplyLeft(Mxe),o.multiplyRight(b8),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function Qwt(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var yL=[1,0,0],bL=[2,2,1];function Zwt(e){let t=0;for(let r=0;r<3;++r){let n=e[Wu.getElementIndex(bL[r],yL[r])];t+=2*n*n}return Math.sqrt(t)}function eEt(e,t){let r=Os.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Wu.getElementIndex(bL[c],yL[c])]);l>n&&(i=c,n=l)}let a=yL[i],o=bL[i],s=1,u=0;if(Math.abs(e[Wu.getElementIndex(o,a)])>r){let c=e[Wu.getElementIndex(o,o)],l=e[Wu.getElementIndex(a,a)],f=e[Wu.getElementIndex(o,a)],p=(c-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),u=d*s}return pr.IDENTITY.to(t),t[Wu.getElementIndex(a,a)]=t[Wu.getElementIndex(o,o)]=s,t[Wu.getElementIndex(o,a)]=u,t[Wu.getElementIndex(a,o)]=-u,t}var rp=new ne,rEt=new ne,nEt=new ne,iEt=new ne,aEt=new ne,oEt=new pr,sEt={diagonal:new pr,unitary:new pr};function wL(e,t=new vi){if(!e||e.length===0)return t.halfAxes=new pr([0,0,0,0,0,0,0,0,0]),t.center=new ne,t;let r=e.length,n=new ne(0,0,0);for(let C of e)n.add(C);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let C of e){let D=rp.copy(C).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=oEt;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=_L(f,sEt),d=t.halfAxes.copy(p),h=d.getColumn(0,nEt),g=d.getColumn(1,iEt),m=d.getColumn(2,aEt),x=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,T=Number.MAX_VALUE;for(let C of e)rp.copy(C),x=Math.max(rp.dot(h),x),b=Math.max(rp.dot(g),b),_=Math.max(rp.dot(m),_),A=Math.min(rp.dot(h),A),w=Math.min(rp.dot(g),w),T=Math.min(rp.dot(m),T);h=h.multiplyByScalar(.5*(A+x)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(T+_)),t.center.copy(h).add(g).add(m);let k=rEt.set(x-A,b-w,_-T).multiplyByScalar(.5),j=new pr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(j),t}function Nxe(e){return e!=null}var Fsr=new ne,uEt=new ne,cEt=new ne,lEt=new ne,eh=new ne,Rxe=new ne,Lxe=new ne,qxe=new ne;function pb(e,t,r){if(Et(e,"3D Tile: boundingVolume must be defined"),e.box)return Uxe(e.box,t,r);if(e.region)return pEt(e.region);if(e.sphere)return fEt(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Uxe(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Vu;l.fromArray(e,6);let f=new ne([1,0,0]),p=new ne([0,1,0]),d=new ne([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),p.transformByQuaternion(l),p.scale(c[1]),d.transformByQuaternion(l),d.scale(c[2]),i=[...f.toArray(),...p.toArray(),...d.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new pr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Nxe(r)?(r.center=n,r.halfAxes=u,r):new vi(n,u)}function fEt(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(uEt),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Nxe(r)?(r.center=n,r.radius=o,r):new da(n,o)}function pEt(e){let[t,r,n,i,a,o]=e,s=Nt.WGS84.cartographicToCartesian([sl(t),sl(i),a],cEt),u=Nt.WGS84.cartographicToCartesian([sl(n),sl(r),o],lEt),c=new ne().addVectors(s,u).multiplyByScalar(.5);return Nt.WGS84.cartesianToCartographic(c,eh),Nt.WGS84.cartographicToCartesian([sl(n),eh[1],eh[2]],Rxe),Nt.WGS84.cartographicToCartesian([eh[0],sl(i),eh[2]],Lxe),Nt.WGS84.cartographicToCartesian([eh[0],eh[1],o],qxe),Uxe([...c,...Rxe.subtract(c),...Lxe.subtract(c),...qxe.subtract(c)],new Fr)}var Pg="4.2.4";var qo={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},jsr=Object.keys(qo),np={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function EL(e,t,r){Et(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Gxe(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var _8="4.2.4";var zxe={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:_8,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function $xe(e,t,r){let n=Vxe(t.metadata),i=[],a=dEt(t.attributes);for(let o in e){let s=e[o],u=Hxe(o,s,a[o]);i.push(u)}if(r){let o=Hxe("indices",r);i.push(o)}return{fields:i,metadata:n}}function dEt(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Hxe(e,t,r){let n=r?Vxe(r.metadata):void 0;return IR(e,t,n)}function Vxe(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Wxe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},hEt={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},mEt=4,db=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=PR(u.attributes),l=$xe(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*mEt,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),xEt(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=hEt[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=gEt(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in Wxe)if(this.draco[o]===i)return Wxe[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=vEt(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function gEt(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function vEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function xEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var yEt="1.5.6",bEt="1.4.1",AL=`https://www.gstatic.com/draco/versioned/decoders/${yEt}`,An={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ip={[An.DECODER]:`${AL}/${An.DECODER}`,[An.DECODER_WASM]:`${AL}/${An.DECODER_WASM}`,[An.FALLBACK_DECODER]:`${AL}/${An.FALLBACK_DECODER}`,[An.ENCODER]:`https://raw.githubusercontent.com/google/draco/${bEt}/javascript/${An.ENCODER}`},SL;async function Kxe(e){let t=e.modules||{};return t.draco3d?SL||(SL=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):SL||(SL=_Et(e)),await SL}async function _Et(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await _u(ip[An.FALLBACK_DECODER],"draco",e,An.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await _u(ip[An.DECODER],"draco",e,An.DECODER),await _u(ip[An.DECODER_WASM],"draco",e,An.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await wEt(t,r)}function wEt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var TL={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:_8,worker:!0,options:{draco:{},source:null}};var Ig={...zxe,parse:EEt};async function EEt(e,t){let{draco:r}=await Kxe(t),n=new db(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var AEt={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Pn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},vt={...AEt,...Pn};var CL={[Pn.DOUBLE]:Float64Array,[Pn.FLOAT]:Float32Array,[Pn.UNSIGNED_SHORT]:Uint16Array,[Pn.UNSIGNED_INT]:Uint32Array,[Pn.UNSIGNED_BYTE]:Uint8Array,[Pn.BYTE]:Int8Array,[Pn.SHORT]:Int16Array,[Pn.INT]:Int32Array},SEt={DOUBLE:Pn.DOUBLE,FLOAT:Pn.FLOAT,UNSIGNED_SHORT:Pn.UNSIGNED_SHORT,UNSIGNED_INT:Pn.UNSIGNED_INT,UNSIGNED_BYTE:Pn.UNSIGNED_BYTE,BYTE:Pn.BYTE,SHORT:Pn.SHORT,INT:Pn.INT},DL="Failed to convert GL type",Zi=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in CL)if(CL[r]===t)return r;throw new Error(DL)}static fromName(t){let r=SEt[t];if(!r)throw new Error(DL);return r}static getArrayType(t){switch(t){case Pn.UNSIGNED_SHORT_5_6_5:case Pn.UNSIGNED_SHORT_4_4_4_4:case Pn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=CL[t];if(!r)throw new Error(DL);return r}}static getByteSize(t){return Zi.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Zi.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Zi.getByteSize(t));let a=Zi.getArrayType(t);return new a(r,n,i)}};function Jxe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function kL(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var cur=1/256;var lur=new Xd,fur=new ne,pur=new Xd,dur=new Xd,hur=new Uint8Array(1);function Yxe(e,t=255){return LR(e,0,t)/t*2-1}function Xxe(e){return e<0?-1:1}function Qxe(e,t,r,n){if(Jxe(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Yxe(e,r),n.y=Yxe(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Xxe(i),n.y=(1-Math.abs(i))*Xxe(n.y)}return n.normalize()}function FL(e,t,r){return Qxe(e,t,255,r)}function w8(e){return(e%1+1)%1}var TEt=1/Math.PI*180,CEt=1/180*Math.PI,DEt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...DEt}};var on=globalThis.mathgl.config;function BL(e,{precision:t=on.precision}={}){return e=kEt(e),`${parseFloat(e.toPrecision(t))}`}function Ku(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function OL(e){return Zxe(e)}function PL(e){return eye(e)}function Zxe(e,t){return tye(e,r=>r*CEt,t)}function eye(e,t){return tye(e,r=>r*TEt,t)}function ro(e,t,r){let n=on.EPSILON;r&&(on.EPSILON=r);try{if(e===t)return!0;if(Ku(e)&&Ku(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!ro(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=on.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{on.EPSILON=n}}function kEt(e){return Math.round(e/on.EPSILON)*on.EPSILON}function FEt(e){return e.clone?e.clone():new Array(e.length)}function tye(e,t,r){if(Ku(e)){let n=e;r=r||FEt(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}var ap=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Ku(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(on)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+BL(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!ro(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(on.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function BEt(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function dr(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function op(e,t,r=""){if(on.debug&&!BEt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function xi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var jg=class extends ap{get x(){return this[0]}set x(t){this[0]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return dr(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return dr(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return xi(t>=0&&t<this.ELEMENTS,"index is out of range"),dr(this[t])}setComponent(t,r){return xi(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var sn=typeof Float32Array<"u"?Float32Array:Array,hb=Math.random;function Mg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var Vur=Math.PI/180;function OEt(){let e=new sn(2);return sn!=Float32Array&&(e[0]=0,e[1]=0),e}function rye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function nye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Wur=function(){let e=OEt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function iye(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function E8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function aye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function oye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function A8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Lg={};Hn(Lg,{add:()=>REt,angle:()=>LL,bezier:()=>YEt,ceil:()=>LEt,clone:()=>IEt,copy:()=>jEt,create:()=>S8,cross:()=>th,dist:()=>aAt,distance:()=>fye,div:()=>iAt,divide:()=>lye,dot:()=>mb,equals:()=>tAt,exactEquals:()=>eAt,floor:()=>qEt,forEach:()=>uAt,fromValues:()=>T8,hermite:()=>JEt,inverse:()=>VEt,len:()=>qL,length:()=>sye,lerp:()=>WEt,max:()=>UEt,min:()=>NEt,mul:()=>nAt,multiply:()=>cye,negate:()=>$Et,normalize:()=>IL,random:()=>XEt,rotateX:()=>jL,rotateY:()=>ML,rotateZ:()=>RL,round:()=>GEt,scale:()=>zEt,scaleAndAdd:()=>HEt,set:()=>MEt,slerp:()=>KEt,sqrDist:()=>oAt,sqrLen:()=>sAt,squaredDistance:()=>pye,squaredLength:()=>dye,str:()=>ZEt,sub:()=>rAt,subtract:()=>uye,transformMat3:()=>gb,transformMat4:()=>rh,transformQuat:()=>vb,zero:()=>QEt});function S8(){let e=new sn(3);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function IEt(e){let t=new sn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function sye(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function T8(e,t,r){let n=new sn(3);return n[0]=e,n[1]=t,n[2]=r,n}function jEt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function MEt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function REt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function uye(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function cye(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function lye(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function LEt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function qEt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function NEt(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function UEt(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function GEt(e,t){return e[0]=Mg(t[0]),e[1]=Mg(t[1]),e[2]=Mg(t[2]),e}function zEt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function HEt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function fye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function pye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function dye(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function $Et(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function VEt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function IL(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function mb(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function th(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function WEt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function KEt(e,t,r,n){let i=Math.acos(Math.min(Math.max(mb(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function JEt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function YEt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function XEt(e,t){t=t===void 0?1:t;let r=hb()*2*Math.PI,n=hb()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function rh(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function gb(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function vb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function jL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function ML(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function RL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function LL(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&mb(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function QEt(e){return e[0]=0,e[1]=0,e[2]=0,e}function ZEt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function eAt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function tAt(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var rAt=uye,nAt=cye,iAt=lye,aAt=fye,oAt=pye,qL=sye,sAt=dye,uAt=function(){let e=S8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var NL=[0,0,0],C8,me=class extends jg{static get ZERO(){return C8||(C8=new me(0,0,0),Object.freeze(C8)),C8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ku(t)?this.copy(t):(on.debug&&(dr(t),dr(r),dr(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return on.debug&&(dr(t.x),dr(t.y),dr(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=dr(t)}angle(t){return LL(this,t)}cross(t){return th(this,this,t),this.check()}rotateX({radians:t,origin:r=NL}){return jL(this,this,r,t),this.check()}rotateY({radians:t,origin:r=NL}){return ML(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=NL}){return RL(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return rh(this,this,t),this.check()}transformAsVector(t){return E8(this,this,t),this.check()}transformByMatrix3(t){return gb(this,this,t),this.check()}transformByMatrix2(t){return aye(this,this,t),this.check()}transformByQuaternion(t){return vb(this,this,t),this.check()}};var D8,qg=class extends jg{static get ZERO(){return D8||(D8=new qg(0,0,0,0),Object.freeze(D8)),D8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Ku(t)&&arguments.length===1?this.copy(t):(on.debug&&(dr(t),dr(r),dr(n),dr(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return on.debug&&(dr(t.x),dr(t.y),dr(t.z),dr(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}transform(t){return rh(this,this,t),this.check()}transformByMatrix3(t){return A8(this,this,t),this.check()}transformByMatrix2(t){return oye(this,this,t),this.check()}transformByQuaternion(t){return vb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Ng=class extends ap{toString(){let t="[";if(on.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=dr(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function hye(){let e=new sn(9);return sn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function mye(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function gye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function vye(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function UL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],x=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+x*c,e[4]=g*i+m*s+x*l,e[5]=g*a+m*u+x*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function xye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function yye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function zL(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function bye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[3]=l-x,e[6]=p+m,e[1]=l+x,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var HL;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(HL||(HL={}));var cAt=Object.freeze([1,0,0,0,1,0,0,0,1]),Xr=class extends Ng{static get IDENTITY(){return fAt()}static get ZERO(){return lAt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return HL}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(cAt)}fromObject(t){return this.check()}fromQuaternion(t){return bye(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return vye(this)}transpose(){return mye(this,this),this.check()}invert(){return gye(this,this),this.check()}multiplyLeft(t){return UL(this,t,this),this.check()}multiplyRight(t){return UL(this,this,t),this.check()}rotate(t){return yye(this,this,t),this.check()}scale(t){return Array.isArray(t)?zL(this,this,t):zL(this,this,[t,t]),this.check()}translate(t){return xye(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=rye(r||[-0,-0],t,this);break;case 3:n=gb(r||[-0,-0,-0],t,this);break;case 4:n=A8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},k8,F8=null;function lAt(){return k8||(k8=new Xr([0,0,0,0,0,0,0,0,0]),Object.freeze(k8)),k8}function fAt(){return F8||(F8=new Xr,Object.freeze(F8)),F8}var B8={};Hn(B8,{add:()=>MAt,adjoint:()=>vAt,clone:()=>dAt,copy:()=>hAt,create:()=>pAt,decompose:()=>CAt,determinant:()=>WL,equals:()=>NAt,exactEquals:()=>qAt,frob:()=>jAt,fromQuat:()=>e7,fromQuat2:()=>AAt,fromRotation:()=>bAt,fromRotationTranslation:()=>Eye,fromRotationTranslationScale:()=>DAt,fromRotationTranslationScaleOrigin:()=>kAt,fromScaling:()=>yAt,fromTranslation:()=>xAt,fromValues:()=>mAt,fromXRotation:()=>_At,fromYRotation:()=>wAt,fromZRotation:()=>EAt,frustum:()=>t7,getRotation:()=>TAt,getScaling:()=>Aye,getTranslation:()=>SAt,identity:()=>wye,invert:()=>VL,lookAt:()=>i7,mul:()=>UAt,multiply:()=>xb,multiplyScalar:()=>RAt,multiplyScalarAndAdd:()=>LAt,ortho:()=>n7,orthoNO:()=>Tye,orthoZO:()=>OAt,perspective:()=>r7,perspectiveFromFieldOfView:()=>BAt,perspectiveNO:()=>Sye,perspectiveZO:()=>FAt,rotate:()=>YL,rotateX:()=>XL,rotateY:()=>QL,rotateZ:()=>ZL,scale:()=>JL,set:()=>gAt,str:()=>IAt,sub:()=>GAt,subtract:()=>Cye,targetTo:()=>PAt,translate:()=>KL,transpose:()=>$L});function pAt(){let e=new sn(16);return sn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function dAt(e){let t=new sn(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function hAt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function mAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new sn(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function gAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function wye(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function $L(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function VL(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m,z=b*G-_*M+A*O+w*D-T*C+k*j;return z?(z=1/z,e[0]=(s*G-u*M+c*O)*z,e[1]=(i*M-n*G-a*O)*z,e[2]=(g*k-m*T+x*w)*z,e[3]=(p*T-f*k-d*w)*z,e[4]=(u*D-o*G-c*C)*z,e[5]=(r*G-i*D+a*C)*z,e[6]=(m*A-h*k-x*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*j)*z,e[9]=(n*D-r*M-a*j)*z,e[10]=(h*T-g*A+x*b)*z,e[11]=(f*A-l*T-d*b)*z,e[12]=(s*C-o*O-u*j)*z,e[13]=(r*O-n*C+i*j)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function vAt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],x=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,T=n*c-a*s,k=i*c-a*u,j=l*g-f*h,C=l*m-p*h,D=l*x-d*h,O=f*m-p*g,M=f*x-d*g,G=p*x-d*m;return e[0]=s*G-u*M+c*O,e[1]=i*M-n*G-a*O,e[2]=g*k-m*T+x*w,e[3]=p*T-f*k-d*w,e[4]=u*D-o*G-c*C,e[5]=r*G-i*D+a*C,e[6]=m*A-h*k-x*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*j,e[9]=n*D-r*M-a*j,e[10]=h*T-g*A+x*b,e[11]=f*A-l*T-d*b,e[12]=s*C-o*O-u*j,e[13]=r*O-n*C+i*j,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function WL(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],x=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,T=l*g-f*h,k=t*T-r*w+n*A,j=a*T-o*w+s*A,C=c*_-l*b+f*x,D=d*_-h*b+g*x;return u*k-i*j+m*C-p*D}function xb(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],x=t[14],b=t[15],_=r[0],A=r[1],w=r[2],T=r[3];return e[0]=_*n+A*s+w*f+T*g,e[1]=_*i+A*u+w*p+T*m,e[2]=_*a+A*c+w*d+T*x,e[3]=_*o+A*l+w*h+T*b,_=r[4],A=r[5],w=r[6],T=r[7],e[4]=_*n+A*s+w*f+T*g,e[5]=_*i+A*u+w*p+T*m,e[6]=_*a+A*c+w*d+T*x,e[7]=_*o+A*l+w*h+T*b,_=r[8],A=r[9],w=r[10],T=r[11],e[8]=_*n+A*s+w*f+T*g,e[9]=_*i+A*u+w*p+T*m,e[10]=_*a+A*c+w*d+T*x,e[11]=_*o+A*l+w*h+T*b,_=r[12],A=r[13],w=r[14],T=r[15],e[12]=_*n+A*s+w*f+T*g,e[13]=_*i+A*u+w*p+T*m,e[14]=_*a+A*c+w*d+T*x,e[15]=_*o+A*l+w*h+T*b,e}function KL(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,x;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=x,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+x*a+t[15]),e}function JL(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function YL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,x,b,_,A,w,T,k,j,C,D,O,M,G,z,J;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],x=t[6],b=t[7],_=t[8],A=t[9],w=t[10],T=t[11],k=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,D=i*a*l-o*c,O=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,J=o*o*l+u,e[0]=f*k+g*j+_*C,e[1]=p*k+m*j+A*C,e[2]=d*k+x*j+w*C,e[3]=h*k+b*j+T*C,e[4]=f*D+g*O+_*M,e[5]=p*D+m*O+A*M,e[6]=d*D+x*O+w*M,e[7]=h*D+b*O+T*M,e[8]=f*G+g*z+_*J,e[9]=p*G+m*z+A*J,e[10]=d*G+x*z+w*J,e[11]=h*G+b*z+T*J,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function XL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function QL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function ZL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function xAt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function yAt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function bAt(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function _At(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function wAt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function EAt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Eye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,x=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-x,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+x,e[9]=h-m,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function AAt(e,t){let r=new sn(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Eye(e,t,r),e}function SAt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Aye(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function TAt(e,t){let r=new sn(3);Aye(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function CAt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,x=a*h,b=o*g,_=s*d,A=u*h,w=c*g,T=l*d,k=f*h,j=p*g,C=m+A+j,D=0;return C>0?(D=Math.sqrt(C+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(T-b)/D,e[2]=(x-_)/D):m>A&&m>j?(D=Math.sqrt(1+m-A-j)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(x+_)/D,e[2]=(T+b)/D):A>j?(D=Math.sqrt(1+A-m-j)*2,e[3]=(T-b)/D,e[0]=(x+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+j-m-A)*2,e[3]=(x-_)/D,e[0]=(T+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function DAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,x=s*u,b=s*c,_=s*l,A=n[0],w=n[1],T=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+x)*w,e[7]=0,e[8]=(d+b)*T,e[9]=(g-x)*T,e[10]=(1-(f+h))*T,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function kAt(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,x=s*f,b=u*c,_=u*l,A=u*f,w=n[0],T=n[1],k=n[2],j=i[0],C=i[1],D=i[2],O=(1-(g+x))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*T,J=(1-(p+x))*T,Y=(m+b)*T,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=O,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=J,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+j-(O*j+z*C+le*D),e[13]=r[1]+C-(M*j+J*C+ue*D),e[14]=r[2]+D-(G*j+Y*C+ce*D),e[15]=1,e}function e7(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,x=a*u;return e[0]=1-f-h,e[1]=l+x,e[2]=p-m,e[3]=0,e[4]=l-x,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function t7(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function Sye(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var r7=Sye;function FAt(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function BAt(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Tye(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var n7=Tye;function OAt(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function i7(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],x=n[0],b=n[1],_=n[2],A=r[0],w=r[1],T=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-T)<1e-6?wye(e):(f=h-A,p=g-w,d=m-T,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-x*d,s=x*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function PAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let h=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function IAt(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function jAt(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function MAt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Cye(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function RAt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function LAt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function qAt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function NAt(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],x=e[15],b=t[0],_=t[1],A=t[2],w=t[3],T=t[4],k=t[5],j=t[6],C=t[7],D=t[8],O=t[9],M=t[10],G=t[11],z=t[12],J=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-T)<=1e-6*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-J)<=1e-6*Math.max(1,Math.abs(g),Math.abs(J))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(x-le)<=1e-6*Math.max(1,Math.abs(x),Math.abs(le))}var UAt=xb,GAt=Cye;function zAt(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Dye(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function kye(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Fye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Bye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Oye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function Pye(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Iye(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function jye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function Mye(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var xcr=function(){let e=zAt();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var s7;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(s7||(s7={}));var HAt=45*Math.PI/180,$At=1,a7=.1,o7=500,VAt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),No=class extends Ng{static get IDENTITY(){return KAt()}static get ZERO(){return WAt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return s7}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(VAt)}fromObject(t){return this.check()}fromQuaternion(t){return e7(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return s===1/0?JAt(this,r,n,i,a,o):t7(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return i7(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return n7(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=HAt,aspect:n=$At,focalDistance:i=1,near:a=a7,far:o=o7}=t;Lye(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Lye(r),r7(this,r,n,i,a),this.check()}determinant(){return WL(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return $L(this,this),this.check()}invert(){return VL(this,this),this.check()}multiplyLeft(t){return xb(this,t,this),this.check()}multiplyRight(t){return xb(this,this,t),this.check()}rotateX(t){return XL(this,this,t),this.check()}rotateY(t){return QL(this,this,t),this.check()}rotateZ(t){return ZL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return YL(this,this,t,r),this.check()}scale(t){return JL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return KL(this,this,t),this.check()}transform(t,r){return t.length===4?(r=jye(r||[-0,-0,-0,-0],t,this),op(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=nye(r||[-0,-0],t,this);break;case 3:i=rh(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=iye(r||[-0,-0],t,this);break;case 3:n=E8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},O8,P8;function WAt(){return O8||(O8=new No([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(O8)),O8}function KAt(){return P8||(P8=new No,Object.freeze(P8)),P8}function Lye(e){if(e>Math.PI*2)throw Error("expected radians")}function JAt(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function qye(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Nye(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function u7(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function c7(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function Uye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Gye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function zye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function Hye(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function yb(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function $ye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Vye(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function l7(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var Wye=Dye;var Kye=kye,Jye=Pye,Yye=Iye,Xye=Fye;var Qye=Bye;var Zye=Oye;var ebe=function(){let e=S8(),t=T8(1,0,0),r=T8(0,1,0);return function(n,i,a){let o=mb(i,a);return o<-.999999?(th(e,t,i),qL(e)<1e-6&&th(e,r,i),IL(e,e),u7(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(th(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Zye(n,n))}}(),Ocr=function(){let e=qye(),t=qye();return function(r,n,i,a,o,s){return yb(e,n,o,s),yb(t,i,a,s),yb(r,e,t,2*s*(1-s)),r}}(),Pcr=function(){let e=hye();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Zye(t,l7(t,e))}}();var XAt=[0,0,0,1],sp=class extends ap{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return l7(this,t),this.check()}fromAxisRotation(t,r){return u7(this,t,r),this.check()}identity(){return Nye(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(t)}get z(){return this[2]}set z(t){this[2]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}len(){return Xye(this)}lengthSquared(){return Qye(this)}dot(t){return Jye(this,t)}rotationTo(t,r){return ebe(this,t,r),this.check()}add(t){return Wye(this,this,t),this.check()}calculateW(){return Hye(this,this),this.check()}conjugate(){return Vye(this,this),this.check()}invert(){return $ye(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Yye(this,t,r,n),this.check())}multiplyRight(t){return c7(this,this,t),this.check()}multiplyLeft(t){return c7(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Uye(this,this,t),this.check()}rotateY(t){return Gye(this,this,t),this.check()}rotateZ(t){return zye(this,this,t),this.check()}scale(t){return Kye(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=XAt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return yb(this,i,a,o),this.check()}transformVector4(t,r=new qg){return Mye(r,t,this),op(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Ju={};Hn(Ju,{EPSILON1:()=>QAt,EPSILON10:()=>s3t,EPSILON11:()=>u3t,EPSILON12:()=>c3t,EPSILON13:()=>l3t,EPSILON14:()=>f3t,EPSILON15:()=>p3t,EPSILON16:()=>d3t,EPSILON17:()=>h3t,EPSILON18:()=>m3t,EPSILON19:()=>g3t,EPSILON2:()=>ZAt,EPSILON20:()=>v3t,EPSILON3:()=>e3t,EPSILON4:()=>t3t,EPSILON5:()=>r3t,EPSILON6:()=>n3t,EPSILON7:()=>i3t,EPSILON8:()=>a3t,EPSILON9:()=>o3t,PI_OVER_FOUR:()=>y3t,PI_OVER_SIX:()=>b3t,PI_OVER_TWO:()=>x3t,TWO_PI:()=>_3t});var QAt=.1,ZAt=.01,e3t=.001,t3t=1e-4,r3t=1e-5,n3t=1e-6,i3t=1e-7,a3t=1e-8,o3t=1e-9,s3t=1e-10,u3t=1e-11,c3t=1e-12,l3t=1e-13,f3t=1e-14,p3t=1e-15,d3t=1e-16,h3t=1e-17,m3t=1e-18,g3t=1e-19,v3t=1e-20,x3t=Math.PI/2,y3t=Math.PI/4,b3t=Math.PI/6,_3t=Math.PI*2;var fl=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=vt.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=Zi.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=Zi.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];return a||(a=Zi.createTypedArray(r,n),i[t]=a),a}};var w3t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},E3t={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},A3t={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function tbe(e,t,r,n){let{componentType:i}=e;Et(e.componentType);let a=typeof i=="string"?Zi.fromName(i):i,o=w3t[e.type],s=E3t[e.type],u=A3t[e.type];return r+=e.byteOffset,{values:Zi.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Yu=e=>e!==void 0;function rbe(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?S3t(n,r):null}function S3t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Yu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Yu(u))for(Yu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Yu(c)&&Yu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let m=o[r].length,x=o[r].instances,b=getBinaryProperties(m,x,t);o[r].instances=combine(b,x)}let d=new Array(p).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=d[n],++d[n];let g={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return D3t(g),g}function Ug(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?T3t(e,t,r):C3t(e,t,r)}function T3t(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Yu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let g=a[d+h];g!==t&&l.push(g)}}return null}function C3t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Yu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function D3t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)nbe(e,i,stack)}function nbe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Yu(i))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let u=Yu(n)?n[t]:1,c=Yu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&nbe(e,f,r)}r.pop(t)}function Ma(e){return e!=null}var I8=(e,t)=>e,k3t={HIERARCHY:!0,extensions:!0,extras:!0},nh=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;Et(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)k3t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=rbe(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),Et(typeof r=="string",r),this._hierarchy){let n=Ug(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ma(n)}return!1}isExactClass(t,r){return Et(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),Et(typeof r=="string",r),Ma(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ma(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),Et(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ma(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ma(n))return I8(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ma(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),Et(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let a=this._properties[r];Ma(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=I8(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;Et(this.binary,`Property ${t} requires a batch table binary.`),Et(n.type,`Property ${t} requires a type.`);let i=tbe(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Ug(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ma(s[r])});return Ma(n)}_getPropertyNamesInHierarchy(t,r){Ug(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return Ug(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ma(u)?Ma(u.typedArray)?this._getBinaryProperty(u,s):I8(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=Ug(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ma(f)?(Et(s===r,`Inherited property "${n}" is read-only.`),Ma(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=I8(i,!0),!0):!1});return Ma(a)}};var f7=4;function up(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=f7,e.version=n.getUint32(r,!0),r+=f7,e.byteLength=n.getUint32(r,!0),r+=f7,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Gg=4,ibe="b3dm tile in legacy format.";function zg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=Gg;let o=n.getUint32(r,!0);r+=Gg;let s=n.getUint32(r,!0);r+=Gg;let u=n.getUint32(r,!0);return r+=Gg,s>=570425344?(r-=Gg*2,i=a,s=o,u=0,a=0,o=0,console.warn(ibe)):u>=570425344&&(r-=Gg,i=s,s=a,u=o,a=0,o=0,console.warn(ibe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function Hg(e,t,r,n){return r=F3t(e,t,r,n),r=B3t(e,t,r,n),r}function F3t(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=EL(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function B3t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=EL(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function p7(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:vt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=kL(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:vt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:vt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:vt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var abe=new me;function obe(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)FL(t[n*2],t[n*2+1],abe),abe.toArray(r,n*3);return{type:vt.FLOAT,size:2,value:r}}return{type:vt.FLOAT,size:2,value:t}}function sbe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,O3t(e,t)):{type:vt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function O3t(e,t){let r=new me,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function ube(e,t,r,n,i){r=up(e,t,r),r=zg(e,t,r),r=Hg(e,t,r,n),P3t(e);let{featureTable:a,batchTable:o}=I3t(e);return await q3t(e,a,o,n,i),j3t(e,a,n),M3t(e,a,o),R3t(e,a),r}function P3t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function I3t(e){let t=new fl(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",vt.FLOAT,3);let n=L3t(e,t);return{featureTable:t,batchTable:n}}function j3t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",vt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",vt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",vt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",vt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=sbe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function M3t(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",vt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",vt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",vt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=p7(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",vt.UNSIGNED_BYTE,4))}function R3t(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",vt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",vt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=obe(e,r)}}function L3t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",vt.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:a}=e;r=new nh(i,a,n)}return r}async function q3t(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,p=c.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+p),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await N3t(e,l,n,i)}async function N3t(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await Ja(t.buffer,Ig,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let d=a.POSITION.data.quantization,h=d.range;e.quantizedVolumeScale=new me(h,h,h),e.quantizedVolumeOffset=new me(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))a.attributes[d]&&a.attributes[d].value&&(p[d.toLowerCase()]=a.attributes[d].value);e.attributes={positions:o,colors:p7(e,s,void 0),normals:u,batchIds:c,...p}}var _7={};Hn(_7,{decode:()=>SSt,name:()=>$8});var j8="4.2.4";var cbe,U3t=(cbe=globalThis.loaders)==null?void 0:cbe.parseImageNode,d7=typeof Image<"u",h7=typeof ImageBitmap<"u",G3t=Boolean(U3t),m7=Er?!0:G3t;function lbe(e){switch(e){case"auto":return h7||d7||m7;case"imagebitmap":return h7;case"image":return d7;case"data":return m7;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function fbe(){if(h7)return"imagebitmap";if(d7)return"image";if(m7)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function pbe(e){let t=z3t(e);if(!t)throw new Error("Not an image");return t}function g7(e){return $g(e)}function $g(e){switch(pbe(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function z3t(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var H3t=/^data:image\/svg\+xml/,$3t=/\.svg((\?|#).*)?$/;function M8(e){return e&&(H3t.test(e)||$3t.test(e))}function dbe(e,t){if(M8(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return v7(e,t)}function v7(e,t){if(M8(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function R8(e,t,r){let n=dbe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await V3t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function V3t(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var W3t={},hbe=!0;async function mbe(e,t,r){let n;M8(r)?n=await R8(e,t,r):n=v7(e,r);let i=t&&t.imagebitmap;return await K3t(n,i)}async function K3t(e,t=null){if((J3t(t)||!hbe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),hbe=!1}return await createImageBitmap(e)}function J3t(e){for(let t in e||W3t)return!1;return!0}function gbe(e){return!Z3t(e,"ftyp",4)||!(e[8]&96)?null:Y3t(e)}function Y3t(e){switch(X3t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function X3t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function Q3t(e){return[...e].map(t=>t.charCodeAt(0))}function Z3t(e,t,r=0){let n=Q3t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Xu=!1,bb=!0;function ih(e){let t=_b(e);return tSt(t)||iSt(t)||rSt(t)||nSt(t)||eSt(t)}function eSt(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=gbe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function tSt(e){let t=_b(e);return t.byteLength>=24&&t.getUint32(0,Xu)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Xu),height:t.getUint32(20,Xu)}:null}function rSt(e){let t=_b(e);return t.byteLength>=10&&t.getUint32(0,Xu)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,bb),height:t.getUint16(8,bb)}:null}function nSt(e){let t=_b(e);return t.byteLength>=14&&t.getUint16(0,Xu)===16973&&t.getUint32(2,bb)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,bb),height:t.getUint32(22,bb)}:null}function iSt(e){let t=_b(e);if(!(t.byteLength>=3&&t.getUint16(0,Xu)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=aSt(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Xu);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Xu),width:t.getUint16(a+7,Xu)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Xu)}return null}function aSt(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function _b(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function vbe(e,t){var i;let{mimeType:r}=ih(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Et(n),await n(e,r)}async function xbe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=oSt(i),s;switch(o){case"imagebitmap":s=await mbe(e,t,a);break;case"image":s=await R8(e,t,a);break;case"data":s=await vbe(e,t);break;default:Et(!1)}return i==="data"&&(s=$g(s)),s}function oSt(e){switch(e){case"auto":case"data":return fbe();default:return lbe(e),e}}var sSt=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],uSt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],cSt={image:{type:"auto",decode:!0}},Vg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:j8,mimeTypes:uSt,extensions:sSt,parse:xbe,tests:[e=>Boolean(ih(new DataView(e)))],options:cSt};var _be,ybe=(_be=globalThis.loaders)==null?void 0:_be.encodeImageNode;async function wbe(e,t){return t=t||{},t.image=t.image||{},ybe?ybe(e,{type:t.image.mimeType}):lSt(e,t)}var bbe=!0;async function lSt(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=g7(e),o=document.createElement("canvas");o.width=i,o.height=a,fSt(e,o);let s=await new Promise(u=>{if(n&&bbe)try{o.toBlob(u,r,n);return}catch{bbe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function fSt(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var x7={name:"Images",id:"image",module:"images",version:j8,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:wbe};var y7={};function b7(e){if(y7[e]===void 0){let t=Er?dSt(e):pSt(e);y7[e]=t}return y7[e]}function pSt(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function dSt(e){switch(e){case"image/avif":case"image/webp":return hSt(e);default:return!0}}function hSt(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ri(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var L8={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},q8={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var mSt=1.33,Ebe=["SCALAR","VEC2","VEC3","VEC4"],gSt=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],vSt=new Map(gSt),xSt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ySt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},bSt={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function N8(e){return Ebe[e-1]||Ebe[0]}function Wg(e){let t=vSt.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Kg(e,t){let r=bSt[e.componentType],n=xSt[e.type],i=ySt[e.componentType],a=e.count*n,o=e.count*n*i;ri(o>=0&&o<=t.byteLength);let s=q8[e.componentType],u=L8[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function wb(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*mSt)}function Abe(e,t,r){let n=e.bufferViews[r];ri(n);let i=n.buffer,a=t[i];ri(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Sbe(e,t,r){var g,m;let n=typeof r=="number"?(g=e.accessors)==null?void 0:g[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(m=e.bufferViews)==null?void 0:m[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=Kg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let h=new u(c);for(let x=0;x<n.count;x++){let b=new u(a,s+x*d,f);h.set(b,x*f)}return h}function _St(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var sr=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||_St(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0:t.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];ri(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Sbe(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return ri(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return ri(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=ih(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let i=t.byteLength;ri(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Xa(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:N8(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:Wg(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var a,o;this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=VB(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(t,r){let n=!0;for(;n;){let i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=o}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function Tbe(e){return(e%1+1)%1}var Cbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},wSt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Dbe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Eb(e,t){return Dbe[t]*Cbe[e]}function Jg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=Yg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function Yg(e,t,r,n=1){let i=Cbe[t],a=wSt[r],o=Dbe[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(c,l,s)}function Xg(e,t,r){var c,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let h=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,g=(d=e.gltf.images)==null?void 0:d[u];if(g&&typeof g.width<"u"){let m=[];for(let x=0;x<a.length;x+=2){let b=ESt(g,h,a,x,t.channels);m.push(b)}return m}}return[]}function U8(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:Wg(o),count:o.length});i.attributes[t]=c}function ESt(e,t,r,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=ASt(o,s,e,u),l=0;for(let f of i){let p=typeof f=="number"?Object.values(a)[f]:a[f],d=c+p.offset,h=$g(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let g=h.data[d];l|=g<<p.shift}return l}function ASt(e,t,r,n=1){let i=r.width,a=Tbe(e)*(i-1),o=Math.round(a),s=r.height,u=Tbe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function G8(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function z8(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function H8(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var kbe="EXT_mesh_features",$8=kbe;async function SSt(e,t){let r=new sr(e);TSt(r,t)}function TSt(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)CSt(e,i,t)}function CSt(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[kbe],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=Xg(e,u.texture,t):c=[];u.data=c}}var A7={};Hn(A7,{decode:()=>DSt,name:()=>pl});var w7="EXT_structural_metadata",pl=w7;async function DSt(e,t){let r=new sr(e);kSt(r,t)}function kSt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(w7);r&&((i=t.gltf)!=null&&i.loadImages&&FSt(e,r),BSt(e,r))}function FSt(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)PSt(e,r,a,t)}function BSt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=OSt(i,a);o&&jSt(e,r,o)}}function OSt(e,t){for(let r of e)if(r.class===t)return r;return null}function PSt(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[w7],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];ISt(e,u,r,n)}}function ISt(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=Xg(e,u,r);l!==null&&(U8(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function jSt(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=MSt(e,t,u,i,c);c.data=l}}}function MSt(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=RSt(e,r,i,n),c=LSt(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=qSt(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=H8(n,s,u,c);break}case"ENUM":{a=NSt(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function RSt(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Jg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function LSt(e,t,r){return typeof t.stringOffsets<"u"?Jg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function qSt(e,t,r,n){let i=e.array,a=e.count,o=Eb(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=Yg(r,e.type,e.componentType,s):u=r,i?n?G8(u,t,n,r.length,o):a?z8(u,t,a):[]:u}function NSt(e,t,r,n,i){var f;let a=t.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=Eb(t.type,s),c=n.byteLength/u,l=Yg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return USt({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?GSt(l,r,p,o):[]}return E7(l,0,r,o)}function USt(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,p=l/a,d=E7(t,f,p,o);s.push(d)}return s}function GSt(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=E7(e,o,r,n);i.push(s)}return i}function E7(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=zSt(n,o);s?i.push(s.name):i.push("")}return i}function zSt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var S7={};Hn(S7,{decode:()=>HSt,name:()=>Uo});var Fbe="EXT_feature_metadata",Uo=Fbe;async function HSt(e,t){let r=new sr(e);$St(r,t)}function $St(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Fbe);r&&((i=t.gltf)!=null&&i.loadImages&&VSt(e,r),WSt(e,r))}function VSt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=JSt(i,a);s&&XSt(e,s,o)}}function WSt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=KSt(i,a);o&&YSt(e,r,o)}}function KSt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function JSt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function YSt(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=QSt(e,t,u,i,c);c.data=l}}}function XSt(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=n6t(e,o,n);o.data=s}}}function QSt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=ZSt(e,r,i,n),c=e6t(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=H8(n,s,u,c):t6t(r)&&(a=r6t(r,n,s,u)),a}function ZSt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Jg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function e6t(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Jg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function t6t(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function r6t(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Eb(o,s),c=r.byteLength/u,l=Yg(r,o,s,c);return i?n?G8(l,t,n,r.length,u):a?z8(l,t,a):[]:l}function n6t(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)i6t(e,r,t,i,o);return i}function i6t(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=Xg(e,a,i);o&&U8(e,t,o,n,i)}var V8="4.2.4";var Qg="4.2.4";var Qu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Bbe;async function C7(e){xx(e.modules);let t=IB("basis");return t||(Bbe||(Bbe=a6t(e)),await Bbe)}async function a6t(e){let t=null,r=null;return[t,r]=await Promise.all([await _u(Qu.TRANSCODER,"textures",e),await _u(Qu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await o6t(t,r)}function o6t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var T7;async function D7(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(T7=T7||s6t(e),await T7)}async function s6t(e){let t=null,r=null;return[t,r]=await Promise.all([await _u(Qu.ENCODER,"textures",e),await _u(Qu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await u6t(t,r)}function u6t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var pe={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var c6t=["","WEBKIT_","MOZ_"],Obe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},W8=null;function Ab(e){if(!W8){e=e||l6t()||void 0,W8=new Set;for(let t of c6t)for(let r in Obe)if(e&&e.getExtension(`${t}${r}`)){let n=Obe[r];W8.add(n)}}return W8}function l6t(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Hbe=Ct(Gbe(),1);function Zg(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=d6t(t,n,i,e,o),u=p6t(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function p6t(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function d6t(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var h6t={131:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,132:pe.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:pe.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:pe.COMPRESSED_RED_RGTC1_EXT,140:pe.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:pe.COMPRESSED_RED_GREEN_RGTC2_EXT,142:pe.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:pe.COMPRESSED_RGB8_ETC2,148:pe.COMPRESSED_SRGB8_ETC2,149:pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:pe.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:pe.COMPRESSED_RGBA8_ETC2_EAC,152:pe.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:pe.COMPRESSED_R11_EAC,154:pe.COMPRESSED_SIGNED_R11_EAC,155:pe.COMPRESSED_RG11_EAC,156:pe.COMPRESSED_SIGNED_RG11_EAC,157:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,158:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,160:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,162:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,164:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,166:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,168:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,170:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,172:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,174:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,176:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,178:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,180:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,182:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:pe.COMPRESSED_RGBA_ASTC_12x12_KHR,184:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:pe.COMPRESSED_RGBA_ASTC_12x12_KHR};function zbe(e){return h6t[e]}var no=[171,75,84,88,32,50,48,187,13,10,26,10];function Q8(e){let t=new Uint8Array(e);return!(t.byteLength<no.length||t[0]!==no[0]||t[1]!==no[1]||t[2]!==no[2]||t[3]!==no[3]||t[4]!==no[4]||t[5]!==no[5]||t[6]!==no[6]||t[7]!==no[7]||t[8]!==no[8]||t[9]!==no[9]||t[10]!==no[10]||t[11]!==no[11])}function $be(e){let t=new Uint8Array(e),r=(0,Hbe.read)(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=zbe(r.vkFormat);return Zg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var m6t={etc1:{basisFormat:0,compressed:!0,format:pe.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:pe.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:pe.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Tb(e,t){if(t.basis.containerFormat==="auto"){if(Q8(e)){let n=await D7(t);return Vbe(n.KTX2File,e,t)}let{BasisFile:r}=await C7(t);return P7(r,e,t)}switch(t.basis.module){case"encoder":let r=await D7(t);switch(t.basis.containerFormat){case"ktx2":return Vbe(r.KTX2File,e,t);case"basis":default:return P7(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await C7(t);return P7(n,e,t)}}function P7(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(g6t(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function g6t(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Wbe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function Vbe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++){a.push(v6t(n,o,r));break}return[a]}finally{n.close(),n.delete()}}function v6t(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Wbe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function Wbe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=e1()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),m6t[r]}function e1(){let e=Ab();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Kbe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:Qg,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ah={...Kbe,parse:Tb};var io={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},x6t={DXT1:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":pe.COMPRESSED_RGB_ATC_WEBGL,ATCA:pe.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:pe.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},y6t=Xbe,b6t=Z8,_6t=Z8,w6t={DXT1:Xbe,DXT3:Z8,DXT5:Z8,"ATC ":y6t,ATCA:b6t,ATCI:_6t};function Jbe(e){return new Uint32Array(e,0,io.HEADER_LENGTH)[io.MAGIC_NUMBER_INDEX]===io.MAGIC_NUMBER}function Ybe(e){let t=new Int32Array(e,0,io.HEADER_LENGTH),r=t[io.HEADER_PF_FOURCC_INDEX];Et(Boolean(t[io.HEADER_PF_FLAGS_INDEX]&io.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=E6t(r),i=x6t[n],a=w6t[n];Et(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[io.HEADER_FLAGS_INDEX]&io.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[io.MIPMAPCOUNT_INDEX]));let s=t[io.HEADER_WIDTH_INDEX],u=t[io.HEADER_HEIGHT_INDEX],c=t[io.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return Zg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Xbe(e,t){return(e+3>>2)*(t+3>>2)*8}function Z8(e,t){return(e+3>>2)*(t+3>>2)*16}function E6t(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Go={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},A6t={0:[pe.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[pe.COMPRESSED_RGB_ETC1_WEBGL],7:[pe.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[pe.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[pe.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[pe.COMPRESSED_RGB8_ETC2],23:[pe.COMPRESSED_RGBA8_ETC2_EAC],24:[pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[pe.COMPRESSED_R11_EAC],26:[pe.COMPRESSED_RG11_EAC],27:[pe.COMPRESSED_RGBA_ASTC_4X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[pe.COMPRESSED_RGBA_ASTC_5X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[pe.COMPRESSED_RGBA_ASTC_5X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[pe.COMPRESSED_RGBA_ASTC_6X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[pe.COMPRESSED_RGBA_ASTC_6X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[pe.COMPRESSED_RGBA_ASTC_8X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[pe.COMPRESSED_RGBA_ASTC_8X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[pe.COMPRESSED_RGBA_ASTC_8X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[pe.COMPRESSED_RGBA_ASTC_10X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[pe.COMPRESSED_RGBA_ASTC_10X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[pe.COMPRESSED_RGBA_ASTC_10X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[pe.COMPRESSED_RGBA_ASTC_10X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[pe.COMPRESSED_RGBA_ASTC_12X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[pe.COMPRESSED_RGBA_ASTC_12X12_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},S6t={0:Qbe,1:Qbe,2:Zbe,3:Zbe,6:Cb,7:Cb,9:Db,11:Db,22:Cb,23:Db,24:Cb,25:Cb,26:Db,27:Db,28:T6t,29:C6t,30:D6t,31:k6t,32:F6t,33:B6t,34:O6t,35:P6t,36:I6t,37:j6t,38:M6t,39:R6t,40:L6t};function e2e(e){let r=new Uint32Array(e,0,Go.HEADER_LENGTH)[Go.MAGIC_NUMBER_INDEX];return r===Go.MAGIC_NUMBER||r===Go.MAGIC_NUMBER_EXTRA}function t2e(e){let t=new Uint32Array(e,0,Go.HEADER_LENGTH),r=t[Go.PIXEL_FORMAT_INDEX],n=t[Go.COLOUR_SPACE_INDEX],i=A6t[r]||[],a=i.length>1&&n?i[1]:i[0],o=S6t[r],s=t[Go.MIPMAPCOUNT_INDEX],u=t[Go.WIDTH_INDEX],c=t[Go.HEIGHT_INDEX],l=Go.HEADER_SIZE+t[Go.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return Zg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function Qbe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Zbe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Cb(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Db(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function T6t(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function C6t(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function D6t(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function k6t(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function F6t(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function B6t(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function O6t(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function P6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function I6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function j6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function M6t(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function R6t(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function L6t(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function r2e(e){if(Q8(e))return $be(e);if(Jbe(e))return Ybe(e);if(e2e(e))return t2e(e);throw new Error("Texture container format not recognized")}var n2e={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:Qg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},eC={...n2e,parse:async(e,t)=>{var r;return(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await Tb(e,t))[0]):r2e(e)}};var I7={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:Qg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var t1=!0,i2e=1735152710,R7=12,tC=8,q6t=1313821514,N6t=5130562,U6t=0,G6t=0,z6t=1;function H6t(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function a2e(e,t=0,r={}){let n=new DataView(e),{magic:i=i2e}=r,a=n.getUint32(t,!1);return a===i||a===i2e}function o2e(e,t,r=0,n={}){let i=new DataView(t),a=H6t(i,r+0),o=i.getUint32(r+4,t1),s=i.getUint32(r+8,t1);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=R7,e.version){case 1:return $6t(e,i,r);case 2:return V6t(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function $6t(e,t,r){Et(e.header.byteLength>R7+tC);let n=t.getUint32(r+0,t1),i=t.getUint32(r+4,t1);return r+=tC,Et(i===U6t),j7(e,t,r,n),r+=n,r+=M7(e,t,r,e.header.byteLength),r}function V6t(e,t,r,n){return Et(e.header.byteLength>R7+tC),W6t(e,t,r,n),r+e.header.byteLength}function W6t(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,t1),a=t.getUint32(r+4,t1);switch(r+=tC,a){case q6t:j7(e,t,r,i);break;case N6t:M7(e,t,r,i);break;case G6t:n.strict||j7(e,t,r,i);break;case z6t:n.strict||M7(e,t,r,i);break;default:break}r+=Xa(i,4)}return r}function j7(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Xa(n,4)}function M7(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Xa(n,4)}function L7(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var N7={};Hn(N7,{decode:()=>aTt,name:()=>iTt});var K6t="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",J6t="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",Y6t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),X6t=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Q6t={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Z6t={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function s2e(e,t,r,n,i,a="NONE"){let o=await eTt();nTt(o,o.exports[Z6t[i]],e,t,r,n,o.exports[Q6t[a||"NONE"]])}var q7;async function eTt(){return q7||(q7=tTt()),q7}async function tTt(){let e=K6t;WebAssembly.validate(Y6t)&&(e=J6t,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(rTt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function rTt(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?X6t[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function nTt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let p=t(c,n,i,l,a.length);if(p===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),p!==0)throw new Error(`Malformed buffer data: ${p}`)}var rC="EXT_meshopt_compression",iTt=rC;async function aTt(e,t){var i,a;let r=new sr(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(oTt(r,o));await Promise.all(n),r.removeExtension(rC)}async function oTt(e,t){let r=e.getObjectExtension(t,rC);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),p=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await s2e(p,o,a,f,s,u),e.removeObjectExtension(t,rC)}}var U7={};Hn(U7,{name:()=>sTt,preprocess:()=>uTt});var r1="EXT_texture_webp",sTt=r1;function uTt(e,t){let r=new sr(e);if(!b7("image/webp")){if(r.getRequiredExtensions().includes(r1))throw new Error(`gltf: Required extension ${r1} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,r1);a&&(i.source=a.source),r.removeObjectExtension(i,r1)}r.removeExtension(r1)}var G7={};Hn(G7,{name:()=>cTt,preprocess:()=>lTt});var nC="KHR_texture_basisu",cTt=nC;function lTt(e,t){let r=new sr(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,nC);a&&(i.source=a.source,r.removeObjectExtension(i,nC))}r.removeExtension(nC)}var H7={};Hn(H7,{decode:()=>mTt,encode:()=>gTt,name:()=>dTt,preprocess:()=>hTt});function u2e(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=z7(n);t[r]=i}}return t}function z7(e){let{buffer:t,size:r,count:n}=fTt(e);return{value:t,size:r,byteOffset:0,count:n,type:N8(r),componentType:Wg(t)}}function fTt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=pTt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function pTt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var cp="KHR_draco_mesh_compression",dTt=cp;function hTt(e,t,r){let n=new sr(e);for(let i of c2e(n))n.getObjectExtension(i,cp)}async function mTt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new sr(e),i=[];for(let o of c2e(n))n.getObjectExtension(o,cp)&&i.push(vTt(n,o,t,r));await Promise.all(i),n.removeExtension(cp)}function gTt(e,t={}){let r=new sr(e);for(let n of r.json.meshes||[])xTt(n,t),r.addRequiredExtension(cp)}async function vTt(e,t,r,n){let i=e.getObjectExtension(t,cp);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=sd(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Ja(o,Ig,s,n),c=u2e(u.attributes);for(let[l,f]of Object.entries(c))if(l in t.attributes){let p=t.attributes[l],d=e.getAccessor(p);d!=null&&d.min&&(d!=null&&d.max)&&(f.min=d.min,f.max=d.max)}t.attributes=c,u.indices&&(t.indices=z7(u.indices)),e.removeObjectExtension(t,cp),yTt(t)}function xTt(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[cp]:{bufferView:u,attributes:s}}}]}}function yTt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*c2e(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var $7={};Hn($7,{decode:()=>ETt,name:()=>bTt});var aC="KHR_texture_transform",bTt=aC,iC=new ne,_Tt=new pr,wTt=new pr;async function ETt(e,t){var a;if(!new sr(e).hasExtension(aC)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)ATt(o,e)}function ATt(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[aC])&&STt(t,e,c,i)}function STt(e,t,r,n){let i=TTt(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&CTt(e,s,i)}}function TTt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[aC],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=FTt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function CTt(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:g}=Kg(c,l),m=q8[c.componentType],x=L8[c.type],b=l.byteStride||m*x,_=new Float32Array(g);for(let A=0;A<c.count;A++){let w=new h(f,d+A*b,2);iC.set(w[0],w[1],1),iC.transformByMatrix3(a),_.set([iC[0],iC[1]],A*x)}n===i?DTt(c,l,e.buffers,_):kTt(i,c,t,e,_)}}}}function DTt(e,t,r,n){e.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),t.buffer=r.length-1,t.byteLength=n.buffer.byteLength,t.byteOffset=0,delete t.byteStride}function kTt(e,t,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function FTt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new pr().set(1,0,0,0,1,0,t[0],t[1],1),a=_Tt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=wTt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var V7={};Hn(V7,{decode:()=>OTt,encode:()=>PTt,name:()=>BTt});var oh="KHR_lights_punctual",BTt=oh;async function OTt(e){let t=new sr(e),{json:r}=t,n=t.getExtension(oh);n&&(t.json.lights=n.lights,t.removeExtension(oh));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,oh);a&&(i.light=a.light),t.removeObjectExtension(i,oh)}}async function PTt(e){let t=new sr(e),{json:r}=t;if(r.lights){let n=t.addExtension(oh);ri(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,oh,n)}delete t.json.lights}}var W7={};Hn(W7,{decode:()=>jTt,encode:()=>MTt,name:()=>ITt});var kb="KHR_materials_unlit",ITt=kb;async function jTt(e){let t=new sr(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,kb);t.removeExtension(kb)}function MTt(e){let t=new sr(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,kb,{}),t.addExtension(kb))}var K7={};Hn(K7,{decode:()=>LTt,encode:()=>qTt,name:()=>RTt});var Fb="KHR_techniques_webgl",RTt=Fb;async function LTt(e){let t=new sr(e),{json:r}=t,n=t.getExtension(Fb);if(n){let i=NTt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Fb);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=UTt(a.technique,t)),t.removeObjectExtension(a,Fb)}t.removeExtension(Fb)}}async function qTt(e,t){}function NTt(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=r[o.program]}),i}function UTt(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var l2e=[A7,_7,N7,U7,G7,H7,V7,W7,K7,$7,S7];function f2e(e,t={},r){var i;let n=l2e.filter(a=>d2e(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function p2e(e,t={},r){var i;let n=l2e.filter(a=>d2e(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function d2e(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var J7="KHR_binary_glTF";function h2e(e){let t=new sr(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,J7);i&&Object.assign(n,i),t.removeObjectExtension(n,J7)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(J7)}var m2e={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},zTt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Y7=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),h2e(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in m2e)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in m2e)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=zTt[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function g2e(e,t={}){return new Y7().normalize(e,t)}async function v2e(e,t,r=0,n,i){var a,o,s;return HTt(e,t,r,n),g2e(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),f2e(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await $Tt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await VTt(e,n,i),await p2e(e,n,i),e}function HTt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!a2e(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=$B(t);else if(t instanceof ArrayBuffer){let o={};r=o2e(o,t,r,n.glb),ri(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else ri(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function $Tt(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;ri(u);let c=L7(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function VTt(e,t,r){let n=WTt(e),i=e.json.images||[],a=[];for(let o of n)a.push(KTt(e,i[o],o,t,r));return await Promise.all(a)}function WTt(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function KTt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=L7(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Abe(e.json,e.buffers,t.bufferView);a=sd(s.buffer,s.byteOffset,s.byteLength)}ri(a,"glTF image has no data");let o=await Ja(a,[Vg,ah],{...n,mimeType:t.mimeType,basis:n.basis||{format:e1()}},i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[r]=o}var dl={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:V8,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:JTt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function JTt(e,t={},r){t={...dl.options,...t},t.gltf={...dl.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await v2e({},e,n,t,r)}var YTt=1179937895,XTt=1313821514,QTt=5130562,Zu=!0;function x2e(e,t,r=0,n={}){let{magic:i=YTt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Zu),t.setUint32(r+4,a,Zu),t.setUint32(r+8,0,Zu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Zu),t.setUint32(r+4,XTt,Zu)),r+=8;let f=JSON.stringify(o);if(r=N0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Zu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Zu),t.setUint32(r+4,QTt,Zu)),r+=8,r=fE(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Zu)}}if(t){let p=r-u;t.setUint32(c,p,Zu)}return r}function X7(e,t,r,n){return ZTt(e),x2e(e,t,r,n)}function ZTt(e,{firstBuffer:t=0}={}){if(e.buffers&&e.buffers.length>t)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var Q7={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:V8,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>y2e(e,t),encodeSync:y2e};function y2e(e,t={}){let{byteOffset:r=0}=t,n=X7(e,null,r,t),i=new ArrayBuffer(n),a=new DataView(i);return X7(e,a,r,t),i}var e8t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},t8t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},zo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},r8t={magFilter:zo.TEXTURE_MAG_FILTER,minFilter:zo.TEXTURE_MIN_FILTER,wrapS:zo.TEXTURE_WRAP_S,wrapT:zo.TEXTURE_WRAP_T},n8t={[zo.TEXTURE_MAG_FILTER]:zo.LINEAR,[zo.TEXTURE_MIN_FILTER]:zo.NEAREST_MIPMAP_LINEAR,[zo.TEXTURE_WRAP_S]:zo.REPEAT,[zo.TEXTURE_WRAP_T]:zo.REPEAT};function i8t(){return{id:"default-sampler",parameters:n8t}}function a8t(e){return t8t[e]}function o8t(e){return e8t[e]}var Z7=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return ri(n),this.baseUri=o,this.buffers=i,this.images=a,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:(t==null?void 0:t.id)||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=a8t(t.componentType),i=o8t(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:c}=Kg(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(l,l+c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):i8t(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return r8t[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Bb(e,t){return new Z7().postProcess(e,t)}var oC={URI:0,EMBEDDED:1};function sC(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=sd(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function uC(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(s8t(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Ja(e.gltfArrayBuffer,dl,r,n);e.gltf=Bb(a),e.gpuMemoryUsageInBytes=wb(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function s8t(e,t,r){switch(t){case oC.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case oC.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function b2e(e,t,r,n,i){var o;r=u8t(e,t,r,n,i),await uC(e,oC.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function u8t(e,t,r,n,i){r=up(e,t,r),r=zg(e,t,r),r=Hg(e,t,r,n),r=sC(e,t,r,n);let a=new fl(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",vt.FLOAT,3),r}var hl=6356752314245179e-9,c8t={radii:[6378137,6378137,hl],radiiSquared:[6378137*6378137,6378137*6378137,hl*hl],oneOverRadii:[1/6378137,1/6378137,1/hl],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(hl*hl)],maximumRadius:Math.max(6378137,6378137,hl),centerToleranceSquared:.1};function cC(e){return e}var ihr=new me;function l8t(e,t=[],r=cC){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function _2e(e,t=[]){return l8t(e,t,on._cartographicRadians?cC:OL)}function f8t(e,t,r=cC){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function w2e(e,t){return f8t(e,t,on._cartographicRadians?cC:PL)}var E2e=1e-14,p8t=new me,A2e={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},eq={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Ob={east:new me,north:new me,up:new me,west:new me,south:new me,down:new me},d8t=new me,h8t=new me,m8t=new me;function tq(e,t,r,n,i,a){let o=A2e[t]&&A2e[t][r];xi(o&&(!n||n===o));let s,u,c,l=p8t.copy(i);if(ro(l.x,0,E2e)&&ro(l.y,0,E2e)){let p=Math.sign(l.z);s=d8t.fromArray(eq[t]),t!=="east"&&t!=="west"&&s.scale(p),u=h8t.fromArray(eq[r]),r!=="east"&&r!=="west"&&u.scale(p),c=m8t.fromArray(eq[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Ob;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:x}=Ob;g.copy(p).scale(-1),m.copy(d).scale(-1),x.copy(h).scale(-1),s=Ob[t],u=Ob[r],c=Ob[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var n1=new me,g8t=new me,v8t=new me;function S2e(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;n1.from(e);let o=n1.x,s=n1.y,u=n1.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let x=g8t;if(x.copy(e).scale(m),g<a)return x.to(r);let b=i.x,_=i.y,A=i.z,w=v8t;w.set(x.x*b*2,x.y*_*2,x.z*A*2);let T=(1-m)*n1.len()/(.5*w.len()),k=0,j,C,D,O;do{T-=k,j=1/(1+T*b),C=1/(1+T*_),D=1/(1+T*A);let M=j*j,G=C*C,z=D*D,J=M*j,Y=G*C,le=z*D;O=p*M+d*G+h*z-1;let ce=-2*(p*J*b+d*Y*_+h*le*A);k=O/ce}while(Math.abs(O)>Ju.EPSILON12);return n1.scale([j,C,D]).to(r)}var lC=new me,T2e=new me,b8t=new me,Is=new me,_8t=new me,fC=new me,ml=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Ju.EPSILON1,xi(t>=0),xi(r>=0),xi(n>=0),this.radii=new me(t,r,n),this.radiiSquared=new me(t*t,r*r,n*n),this.radiiToTheFourth=new me(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new me(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new me(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=T2e,i=b8t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){fC.from(t);let n=this.scaleToGeodeticSurface(fC,Is);if(!n)return;let i=this.geodeticSurfaceNormal(n,T2e),a=_8t;a.copy(fC).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Lg.dot(a,fC))*Lg.length(a);return w2e([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new No){return tq(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new No){return tq(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return lC.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=_2e(t),i=n[0],a=n[1],o=Math.cos(a);return lC.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),lC.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return lC.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return S2e(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Is.from(t);let n=Is.x,i=Is.y,a=Is.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Is.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){xi(ro(this.radii.x,this.radii.y,Ju.EPSILON15)),xi(this.radii.z>0),Is.from(t);let i=Is.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Is.set(0,0,i).to(n)}};ml.WGS84=new ml(6378137,6378137,hl);async function C2e(e,t,r,n,i){return r=w8t(e,t,r,n,i),await uC(e,e.gltfFormat||0,n,i),r}function w8t(e,t,r,n,i){var c;if(r=up(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=zg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=Hg(e,t,r,n),r=sC(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new fl(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",vt.FLOAT,3);let u=new nh(e.batchTableJson,e.batchTableBinary,s);return E8t(e,o,u,s),r}function E8t(e,t,r,n){let i=new Array(n),a=new me,o=new me,s=new me,u=new me,c=new Xr,l=new sp,f=new me,p={},d=new No,h=[],g=[],m=[],x=[];for(let b=0;b<n;b++){let _;if(t.hasProperty("POSITION"))_=t.getProperty("POSITION",vt.FLOAT,3,b,a);else if(t.hasProperty("POSITION_QUANTIZED")){_=t.getProperty("POSITION_QUANTIZED",vt.UNSIGNED_SHORT,3,b,a);let D=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",vt.FLOAT,3);if(!D)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let O=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",vt.FLOAT,3);if(!O)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let M=65535;for(let G=0;G<3;G++)_[G]=_[G]/M*O[G]+D[G]}if(!_)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(_),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",vt.FLOAT,3,b,h),e.normalRight=t.getProperty("NORMAL_RIGHT",vt.FLOAT,3,b,g);let A=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",vt.UNSIGNED_SHORT,2,b,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",vt.UNSIGNED_SHORT,2,b,g),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(ml.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}A&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),p.rotation=l,f.set(1,1,1);let w=t.getProperty("SCALE",vt.FLOAT,1,b,m);Number.isFinite(w)&&f.multiplyByScalar(w);let T=t.getProperty("SCALE_NON_UNIFORM",vt.FLOAT,3,b,h);T&&f.scale(T),p.scale=f;let k=t.getProperty("BATCH_ID",vt.UNSIGNED_SHORT,1,b,x);k===void 0&&(k=b);let j=new No().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(j),d.scale(p.scale);let C=d.clone();i[b]={modelMatrix:C,batchId:k}}e.instances=i}async function D2e(e,t,r,n,i,a){r=up(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await a(t,r,n,i,s)}return r}async function k2e(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await Ja(t,dl,r,n);e.gltf=Bb(o),e.gpuMemoryUsageInBytes=wb(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function rq(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Gxe(e,t),i.type){case qo.COMPOSITE:return await D2e(i,e,t,r,n,rq);case qo.BATCHED_3D_MODEL:return await b2e(i,e,t,r,n);case qo.GLTF:return await k2e(i,e,r,n);case qo.INSTANCED_3D_MODEL:return await C2e(i,e,t,r,n);case qo.POINT_CLOUD:return await ube(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function nq(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let a=F2e(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=F2e(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await pC(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await pC(c,p,f,r);else await pC(c,c.contentAvailability,f,r);return await pC(c,c.childSubtreeAvailability,f,r),c}async function pC(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function F2e(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var dC={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Pg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:nq,options:{}};function iq(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function js(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||iq()}var A8t=globalThis.self||globalThis.window||globalThis.global,i1=globalThis.window||globalThis.self||globalThis.global,S8t=globalThis.document||{},sh=globalThis.process||{},T8t=globalThis.console,Yhr=globalThis.navigator||{};var hC="4.2.4",Zhr=js();function C8t(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var mC=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=C8t(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function B2e(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function O2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function gC(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var vC;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(vC||(vC={}));var D8t=10;function P2e(e){return typeof e!="string"?e:(e=e.toUpperCase(),vC[e]||vC.WHITE)}function I2e(e,t,r){if(!js&&typeof e=="string"){if(t){let n=P2e(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=P2e(r);e="\x1B[".concat(n+D8t,"m").concat(e,"\x1B[49m")}}return e}function j2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function a1(e,t){if(!e)throw new Error(t||"Assertion failed")}function uh(){let e;if(js()&&i1.performance){var t,r;e=i1===null||i1===void 0||(t=i1.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in sh){var n;let i=sh===null||sh===void 0||(n=sh.hrtime)===null||n===void 0?void 0:n.call(sh);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var o1={debug:js()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},k8t={enabled:!0,level:0};function Ho(){}var M2e={},R2e={once:!0},Pb=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=hC,this._startTs=uh(),this._deltaTs=uh(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new mC("__probe-".concat(this.id,"__"),k8t),this.timeStamp("".concat(this.id," started")),j2e(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((uh()-this._startTs).toPrecision(10))}getDelta(){return Number((uh()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){a1(t,r)}warn(t){return this._getLogFunction(0,t,o1.warn,arguments,R2e)}error(t){return this._getLogFunction(0,t,o1.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,o1.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,o1.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,o1.debug||o1.info,arguments,R2e)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Ho,n&&[n],{tag:P8t(r)}):Ho}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?js()?O8t({image:i,message:a,scale:o}):B8t({image:i,message:a,scale:o}):Ho}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||Ho)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=L2e({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Ho)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=q2e(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=L2e({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,a1(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=uh();let o=a.tag||a.message;if(a.once&&o)if(!M2e[o])M2e[o]=uh();else return Ho;return r=F8t(this.id,a.message,a),n.bind(console,r,...a.args)}return Ho}};Pb.VERSION=hC;function q2e(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return a1(Number.isFinite(t)&&t>=0),t}function L2e(e){let{logLevel:t,message:r}=e;e.logLevel=q2e(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return a1(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function F8t(e,t,r){if(typeof t=="string"){let n=r.time?O2e(B2e(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=I2e(t,r.color,r.background)}return t}function B8t(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Ho}function O8t(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=gC(a,r,n);console.log(...o)},a.src=t,Ho}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...gC(t,r,n)),Ho;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...gC(a,r,n)),a.src=t.toDataURL(),Ho}return Ho}function P8t(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var aq=new Pb({id:"@probe.gl/log"});var $o=null;try{$o=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Hr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Hr.prototype.__isLong__;Object.defineProperty(Hr.prototype,"__isLong__",{value:!0});function ea(e){return(e&&e.__isLong__)===!0}function N2e(e){var t=Math.clz32(e&-e);return e?31-t:t}Hr.isLong=ea;var U2e={},G2e={};function ch(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=G2e[e],n)?n:(r=hr(e,0,!0),i&&(G2e[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=U2e[e],n)?n:(r=hr(e,e<0?-1:0,!1),i&&(U2e[e]=r),r))}Hr.fromInt=ch;function Vo(e,t){if(isNaN(e))return t?gl:Ms;if(t){if(e<0)return gl;if(e>=V2e)return J2e}else{if(e<=-H2e)return Ra;if(e+1>=H2e)return K2e}return e<0?Vo(-e,t).neg():hr(e%u1|0,e/u1|0,t)}Hr.fromNumber=Vo;function hr(e,t,r){return new Hr(e,t,r)}Hr.fromBits=hr;var xC=Math.pow;function sq(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?gl:Ms;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return sq(e.substring(1),t,r).neg();for(var i=Vo(xC(r,8)),a=Ms,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=Vo(xC(r,s));a=a.mul(c).add(Vo(u))}else a=a.mul(i),a=a.add(Vo(u))}return a.unsigned=t,a}Hr.fromString=sq;function Rs(e,t){return typeof e=="number"?Vo(e,t):typeof e=="string"?sq(e,t):hr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Hr.fromValue=Rs;var z2e=1<<16,I8t=1<<24,u1=z2e*z2e,V2e=u1*u1,H2e=V2e/2,$2e=ch(I8t),Ms=ch(0);Hr.ZERO=Ms;var gl=ch(0,!0);Hr.UZERO=gl;var s1=ch(1);Hr.ONE=s1;var W2e=ch(1,!0);Hr.UONE=W2e;var oq=ch(-1);Hr.NEG_ONE=oq;var K2e=hr(-1,2147483647,!1);Hr.MAX_VALUE=K2e;var J2e=hr(-1,-1,!0);Hr.MAX_UNSIGNED_VALUE=J2e;var Ra=hr(0,-2147483648,!1);Hr.MIN_VALUE=Ra;var Ce=Hr.prototype;Ce.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ce.toNumber=function(){return this.unsigned?(this.high>>>0)*u1+(this.low>>>0):this.high*u1+(this.low>>>0)};Ce.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Ra)){var r=Vo(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=Vo(xC(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Ce.getHighBits=function(){return this.high};Ce.getHighBitsUnsigned=function(){return this.high>>>0};Ce.getLowBits=function(){return this.low};Ce.getLowBitsUnsigned=function(){return this.low>>>0};Ce.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ra)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};Ce.isZero=function(){return this.high===0&&this.low===0};Ce.eqz=Ce.isZero;Ce.isNegative=function(){return!this.unsigned&&this.high<0};Ce.isPositive=function(){return this.unsigned||this.high>=0};Ce.isOdd=function(){return(this.low&1)===1};Ce.isEven=function(){return(this.low&1)===0};Ce.equals=function(t){return ea(t)||(t=Rs(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Ce.eq=Ce.equals;Ce.notEquals=function(t){return!this.eq(t)};Ce.neq=Ce.notEquals;Ce.ne=Ce.notEquals;Ce.lessThan=function(t){return this.comp(t)<0};Ce.lt=Ce.lessThan;Ce.lessThanOrEqual=function(t){return this.comp(t)<=0};Ce.lte=Ce.lessThanOrEqual;Ce.le=Ce.lessThanOrEqual;Ce.greaterThan=function(t){return this.comp(t)>0};Ce.gt=Ce.greaterThan;Ce.greaterThanOrEqual=function(t){return this.comp(t)>=0};Ce.gte=Ce.greaterThanOrEqual;Ce.ge=Ce.greaterThanOrEqual;Ce.compare=function(t){if(ea(t)||(t=Rs(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};Ce.comp=Ce.compare;Ce.negate=function(){return!this.unsigned&&this.eq(Ra)?Ra:this.not().add(s1)};Ce.neg=Ce.negate;Ce.add=function(t){ea(t)||(t=Rs(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,p=0,d=0;return d+=a+c,p+=d>>>16,d&=65535,p+=i+u,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,hr(p<<16|d,l<<16|f,this.unsigned)};Ce.subtract=function(t){return ea(t)||(t=Rs(t)),this.add(t.neg())};Ce.sub=Ce.subtract;Ce.multiply=function(t){if(this.isZero())return this;if(ea(t)||(t=Rs(t)),$o){var r=$o.mul(this.low,this.high,t.low,t.high);return hr(r,$o.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?gl:Ms;if(this.eq(Ra))return t.isOdd()?Ra:Ms;if(t.eq(Ra))return this.isOdd()?Ra:Ms;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt($2e)&&t.lt($2e))return Vo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=t.low>>>16,l=t.low&65535,f=0,p=0,d=0,h=0;return h+=o*l,d+=h>>>16,h&=65535,d+=a*l,p+=d>>>16,d&=65535,d+=o*c,p+=d>>>16,d&=65535,p+=i*l,f+=p>>>16,p&=65535,p+=a*c,f+=p>>>16,p&=65535,p+=o*u,f+=p>>>16,p&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,hr(d<<16|h,f<<16|p,this.unsigned)};Ce.mul=Ce.multiply;Ce.divide=function(t){if(ea(t)||(t=Rs(t)),t.isZero())throw Error("division by zero");if($o){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?$o.div_u:$o.div_s)(this.low,this.high,t.low,t.high);return hr(r,$o.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?gl:Ms;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return gl;if(t.gt(this.shru(1)))return W2e;a=gl}else{if(this.eq(Ra)){if(t.eq(s1)||t.eq(oq))return Ra;if(t.eq(Ra))return s1;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Ms)?t.isNegative()?s1:oq:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Ra))return this.unsigned?gl:Ms;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();a=Ms}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:xC(2,s-48),c=Vo(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Vo(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=s1),a=a.add(c),i=i.sub(l)}return a};Ce.div=Ce.divide;Ce.modulo=function(t){if(ea(t)||(t=Rs(t)),$o){var r=(this.unsigned?$o.rem_u:$o.rem_s)(this.low,this.high,t.low,t.high);return hr(r,$o.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Ce.mod=Ce.modulo;Ce.rem=Ce.modulo;Ce.not=function(){return hr(~this.low,~this.high,this.unsigned)};Ce.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ce.clz=Ce.countLeadingZeros;Ce.countTrailingZeros=function(){return this.low?N2e(this.low):N2e(this.high)+32};Ce.ctz=Ce.countTrailingZeros;Ce.and=function(t){return ea(t)||(t=Rs(t)),hr(this.low&t.low,this.high&t.high,this.unsigned)};Ce.or=function(t){return ea(t)||(t=Rs(t)),hr(this.low|t.low,this.high|t.high,this.unsigned)};Ce.xor=function(t){return ea(t)||(t=Rs(t)),hr(this.low^t.low,this.high^t.high,this.unsigned)};Ce.shiftLeft=function(t){return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):hr(0,this.low<<t-32,this.unsigned)};Ce.shl=Ce.shiftLeft;Ce.shiftRight=function(t){return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):hr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Ce.shr=Ce.shiftRight;Ce.shiftRightUnsigned=function(t){return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?hr(this.high,0,this.unsigned):hr(this.high>>>t-32,0,this.unsigned)};Ce.shru=Ce.shiftRightUnsigned;Ce.shr_u=Ce.shiftRightUnsigned;Ce.rotateLeft=function(t){var r;return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,hr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Ce.rotl=Ce.rotateLeft;Ce.rotateRight=function(t){var r;return ea(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,hr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Ce.rotr=Ce.rotateRight;Ce.toSigned=function(){return this.unsigned?hr(this.low,this.high,!1):this};Ce.toUnsigned=function(){return this.unsigned?this:hr(this.low,this.high,!0)};Ce.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Ce.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};Ce.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Hr.fromBytes=function(t,r,n){return n?Hr.fromBytesLE(t,r):Hr.fromBytesBE(t,r)};Hr.fromBytesLE=function(t,r){return new Hr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Hr.fromBytesBE=function(t,r){return new Hr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var c1=Hr;var j8t=16;function Ib(e){e==="X"&&(e="");let t=e.padEnd(j8t,"0");return c1.fromString(t,!0,16)}function uq(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function cq(e,t){let r=M8t(e).shiftRightUnsigned(2);return e.add(c1.fromNumber(2*t+1-4).multiply(r))}function M8t(e){return e.and(e.not().add(1))}var R8t=3,L8t=30,q8t=2*L8t+1,Y2e=180/Math.PI;function Q2e(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);N8t(f,o,c,l),o[0]+=f*c,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:a}}function Z2e(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<R8t+q8t;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=c1.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=c1.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function lq(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function X2e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function fq(e){return[X2e(e[0]),X2e(e[1])]}function pq(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function dq([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Y2e,n*Y2e]}function N8t(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function e_e(e){let t=lq(e.ij,e.level,[.5,.5]),r=fq(t),n=pq(e.face,r);return dq(n)}var U8t=100;function hq(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(U8t*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],p=(f[0]-l[0])/a,d=(f[1]-l[1])/a;for(let h=0;h<a;h++){l[0]+=p,l[1]+=d;let g=lq(r,n,l),m=fq(g),x=pq(t,m),b=dq(x);Math.abs(b[1])>89.999&&(b[0]=u);let _=b[0]-u;b[0]+=_>180?-360:_<-180?360:0,o[s++]=b[0],o[s++]=b[1],u=b[0]}}return o[s++]=o[0],o[s++]=o[1],o}function l1(e){let t=G8t(e);return Q2e(t)}function G8t(e){if(e.indexOf("/")>0)return e;let t=Ib(e);return Z2e(t)}function mq(e){let t=l1(e);return e_e(t)}function r_e(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=l1(a),s=hq(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=t_e(r)}else{let r=hq(e);t=t_e(r)}return t}function t_e(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function gq(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=l1(e),a=r_e(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new me(o,c,r)),l.push(new me(u,c,r)),l.push(new me(u,s,r)),l.push(new me(o,s,r)),l.push(new me(o,c,n)),l.push(new me(u,c,n)),l.push(new me(u,s,n)),l.push(new me(o,s,n)),l}var yi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Z0r=new me,emr=new me;var jb=new me,n_e=new me,lp=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new me,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=jb.from(r),this.center=new me().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new lp(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=jb.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return n_e.copy(o).scale((-n+u)/s).add(r),this.center.copy(n_e),this.radius=u,this}expand(t){let n=jb.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=B8.getScaling(jb,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=jb.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?yi.OUTSIDE:a<n?yi.INTERSECTING:yi.INSIDE}};var z8t=new me,H8t=new me,yC=new me,bC=new me,_C=new me,$8t=new me,V8t=new me,vl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},lh=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new me().from(t),this.halfAxes=new Xr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new me(t).len(),new me(r).len(),new me(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new me(t).normalize(),a=new me(r).normalize(),o=new me(n).normalize();return new sp().fromMatrix3(new Xr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new sp(n),a=new Xr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new me().from(t),this.halfAxes=a,this}clone(){return new lh(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new lp){let r=this.halfAxes,n=r.getColumn(0,yC),i=r.getColumn(1,bC),a=r.getColumn(2,_C),o=z8t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[vl.COLUMN0ROW0]+o*i[vl.COLUMN0ROW1]+s*i[vl.COLUMN0ROW2])+Math.abs(a*i[vl.COLUMN1ROW0]+o*i[vl.COLUMN1ROW1]+s*i[vl.COLUMN1ROW2])+Math.abs(a*i[vl.COLUMN2ROW0]+o*i[vl.COLUMN2ROW1]+s*i[vl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?yi.OUTSIDE:c>=u?yi.INSIDE:yi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=H8t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,yC),a=n.getColumn(1,bC),o=n.getColumn(2,_C),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,yC),c=s.getColumn(1,bC),l=s.getColumn(2,_C),f=$8t.copy(u).add(c).add(l).add(o),p=V8t.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,yC);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,bC);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,_C);return i.transformAsPoint(t),this.halfAxes=new Xr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var i_e=new me,a_e=new me,xl=class{constructor(t=[0,0,1],r=0){this.normal=new me,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return xi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=i_e.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),xi(ro(this.normal.len(),1)),this.distance=i,this}clone(){return new xl(this.normal,this.distance)}equals(t){return ro(this.distance,t.distance)&&ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=a_e.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=i_e.from(t),i=this.getPointDistance(n),a=a_e.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var o_e=[new me([1,0,0]),new me([0,1,0]),new me([0,0,1])],s_e=new me,W8t=new me,Wo=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*o_e.length;let r=t.center,n=t.radius,i=0;for(let a of o_e){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new xl),s||(s=this.planes[i+1]=new xl);let u=s_e.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=s_e.copy(a).scale(n).add(r),l=W8t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=yi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case yi.OUTSIDE:return yi.OUTSIDE;case yi.INTERSECTING:r=yi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(xi(Number.isFinite(r),"parentPlaneMask is required."),r===Wo.MASK_OUTSIDE||r===Wo.MASK_INSIDE)return r;let n=Wo.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===yi.OUTSIDE)return Wo.MASK_OUTSIDE;u===yi.INTERSECTING&&(n|=o)}return n}};Wo.MASK_OUTSIDE=4294967295;Wo.MASK_INSIDE=0;Wo.MASK_INDETERMINATE=2147483647;var xmr=new me,ymr=new me,bmr=new me,_mr=new me,wmr=new me;var Dmr=new me,kmr=new me,Fmr=new me,Bmr=new me,Omr=new me,Pmr=new me,Imr=new me,jmr=new me,Mmr=new me,Rmr=new me,Lmr=new me,qmr=new me;var ec=new Xr,J8t=new Xr,Y8t=new Xr,wC=new Xr,u_e=new Xr;function yq(e,t={}){let r=Ju.EPSILON20,n=10,i=0,a=0,o=J8t,s=Y8t;o.identity(),s.copy(e);let u=r*X8t(s);for(;a<n&&Q8t(s)>u;)Z8t(s,wC),u_e.copy(wC).transpose(),s.multiplyRight(wC),s.multiplyLeft(u_e),o.multiplyRight(wC),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function X8t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var vq=[1,0,0],xq=[2,2,1];function Q8t(e){let t=0;for(let r=0;r<3;++r){let n=e[ec.getElementIndex(xq[r],vq[r])];t+=2*n*n}return Math.sqrt(t)}function Z8t(e,t){let r=Ju.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[ec.getElementIndex(xq[c],vq[c])]);l>n&&(i=c,n=l)}let a=vq[i],o=xq[i],s=1,u=0;if(Math.abs(e[ec.getElementIndex(o,a)])>r){let c=e[ec.getElementIndex(o,o)],l=e[ec.getElementIndex(a,a)],f=e[ec.getElementIndex(o,a)],p=(c-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),u=d*s}return Xr.IDENTITY.to(t),t[ec.getElementIndex(a,a)]=t[ec.getElementIndex(o,o)]=s,t[ec.getElementIndex(o,a)]=u,t[ec.getElementIndex(a,o)]=-u,t}var fp=new me,tCt=new me,rCt=new me,nCt=new me,iCt=new me,aCt=new Xr,oCt={diagonal:new Xr,unitary:new Xr};function bq(e,t=new lh){if(!e||e.length===0)return t.halfAxes=new Xr([0,0,0,0,0,0,0,0,0]),t.center=new me,t;let r=e.length,n=new me(0,0,0);for(let C of e)n.add(C);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let C of e){let D=fp.copy(C).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=aCt;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=yq(f,oCt),d=t.halfAxes.copy(p),h=d.getColumn(0,rCt),g=d.getColumn(1,nCt),m=d.getColumn(2,iCt),x=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,T=Number.MAX_VALUE;for(let C of e)fp.copy(C),x=Math.max(fp.dot(h),x),b=Math.max(fp.dot(g),b),_=Math.max(fp.dot(m),_),A=Math.min(fp.dot(h),A),w=Math.min(fp.dot(g),w),T=Math.min(fp.dot(m),T);h=h.multiplyByScalar(.5*(A+x)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(T+_)),t.center.copy(h).add(g).add(m);let k=tCt.set(x-A,b-w,_-T).multiplyByScalar(.5),j=new Xr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(j),t}function EC(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=gq(t,r),i=mq(t),a=i[0],o=i[1],s=ml.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new me(s[0],s[1],s[2]);n.push(u);let c=bq(n);return[...c.center,...c.halfAxes]}var sCt=4,uCt=8,cCt={QUADTREE:sCt,OCTREE:uCt};function lCt(e,t,r){if(e!=null&&e.box){let n=Ib(e.s2VolumeInfo.token),i=cq(n,t),a=uq(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,p=c.minimumHeight+l/2;c.minimumHeight=p-f,c.maximumHeight=p+f;break;default:break}return{box:EC(o),s2VolumeInfo:o}}}async function wq(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:a}=e,{subtree:o,level:s=0,globalData:u={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:p,subtreesUriTemplate:d,basePath:h}=t,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return aq.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${p} won't be loaded...`),g;let m=s+u.level;if(m>f)return g;let x=cCt[c],b=Math.log2(x),_=n&1,A=n>>1&1,w=n>>2&1,T=(x**s-1)/(x-1),k=fh(r.mortonIndex,n,b),j=T+k,C=fh(r.x,_,1),D=fh(r.y,A,1),O=fh(r.z,w,1),M=!1;s>=l&&(M=_q(o.childSubtreeAvailability,k));let G=fh(u.x,C,s),z=fh(u.y,D,s),J=fh(u.z,O,s);if(M){let xe=`${h}/${d}`,Oe=AC(xe,m,G,z,J);o=await Yr(Oe,dC,a),u={mortonIndex:k,x:C,y:D,z:O,level:s},k=0,j=0,C=0,D=0,O=0,s=0}if(!_q(o.tileAvailability,j))return g;_q(o.contentAvailability,j)&&(g.contentUrl=AC(p,m,G,z,J));let ue=s+1,ce={mortonIndex:k,x:C,y:D,z:O};for(let xe=0;xe<x;xe++){let Oe=lCt(i,xe,c),Be=await wq({subtree:o,implicitOptions:t,loaderOptions:a,parentData:ce,childIndex:xe,level:ue,globalData:{...u},s2VolumeBox:Oe});if(Be.contentUrl||Be.children.length){let X=m+1,K=fCt(Be,X,{childTileX:C,childTileY:D,childTileZ:O},t,i);g.children.push(K)}}return g}function _q(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&aq.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?hCt(t,r.explicitBitstream):!1}function fCt(e,t,r,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:c,rootLodMetricValue:l,rootBoundingVolume:f}=n,p=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),d=l/2**t,h=i!=null&&i.box?{box:i.box}:f,g=pCt(t,h,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:p},id:e.contentUrl,refine:s(o),type:c(e),lodMetricType:u,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:g}}function pCt(e,t,r){if(t.region){let{childTileX:n,childTileY:i,childTileZ:a}=r,[o,s,u,c,l,f]=t.region,p=2**e,d=(u-o)/p,h=(c-s)/p,g=(f-l)/p,[m,x]=[o+d*n,o+d*(n+1)],[b,_]=[s+h*i,s+h*(i+1)],[A,w]=[l+g*a,l+g*(a+1)];return{region:[m,b,x,_,A,w]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${JSON.stringify(t)}`)}function fh(e,t,r){return(e<<r)+t}function AC(e,t,r,n,i){let a=dCt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function dCt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function hCt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function Aq(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function Sq(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function Eq(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Ca.resolve(t,e)}function c_e(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=Eq(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:Aq(e,r),refine:Sq(e.refine)}}async function p_e(e,t,r){let n=null,i=f_e(e.root);i&&e.root?n=await l_e(e.root,e,t,i,r):n=c_e(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=f_e(c),f;l?f=await l_e(c,e,t,l,r):f=c_e(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function l_e(e,t,r,n,i){var A,w,T;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=AC(c,0,0,0,0),f=Eq(l,r),p=await Yr(f,dC,i),d=(A=e.content)==null?void 0:A.uri,h=d?Eq(d,r):"",g=(w=t==null?void 0:t.root)==null?void 0:w.refine,m=e.geometricError,x=(T=e.boundingVolume.extensions)==null?void 0:T["3DTILES_bounding_volume_S2"];if(x){let j={box:EC(x),s2VolumeInfo:x};e.boundingVolume=j}let b=e.boundingVolume,_={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:g,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:m,rootBoundingVolume:b,getTileType:Aq,getRefine:Sq};return await mCt(e,r,p,_,i)}async function mCt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await wq({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:Aq(e,s),refine:Sq(e.refine),content:u||e.content,children:a}}function f_e(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var tc={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Pg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:gCt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function gCt(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?vCt(e,t,r):xCt(e,t,r)}async function vCt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=yCt(i),o=await p_e(n,a,t||{});return{...n,shape:"tileset3d",loader:tc,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function xCt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await rq(e,0,t,r,n.content),n.content}function yCt(e){return Ca.dirname(e)}var d_e="https://api.cesium.com/v1/assets";async function h_e(e,t){if(!t){let a=await bCt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await _Ct(e,t),{type:n,url:i}=r;return Et(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function bCt(e){Et(e);let t=d_e,r={Authorization:`Bearer ${e}`},n=await pa(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function _Ct(e,t){Et(e,t);let r={Authorization:`Bearer ${e}`},n=`${d_e}/${t}`,i=await pa(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await pa(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function wCt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return h_e(r,n)}var SC={...tc,id:"cesium-ion",name:"Cesium Ion",preload:wCt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=SC,tc.parse(e,t,r)),options:{"cesium-ion":{...tc.options["3d-tiles"],accessToken:null}}};var E3e=Ct(w3e(),1),GFt="4.2.4",dU={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:GFt,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:zFt};async function zFt(e,t={}){let r=[],n={};try{let i=new E3e.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=HFt(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function HFt(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}var Th=async(e,t)=>{let r=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=0n;for(let i=e.length-4n;i>-1;i--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=await e.getUint8(i),r.every((a,o)=>a===t[o])){n=i;break}return n};var $Ft=new Uint8Array([1,0]);function g4(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of VFt){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));A3e[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return _n(...r)}function ji(e,t,r,n){A3e[t](e,Number(r),n)}var A3e={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},VFt=[{size:2,default:new DataView($Ft.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var S3e=new Uint8Array([80,75,5,6]),T3e=new Uint8Array([80,75,6,7]),C3e=new Uint8Array([80,75,6,6]),D3e=8n,WFt=10n,KFt=12n,k3e=16n,JFt=22n,F3e=8n,B3e=24n,YFt=32n,XFt=40n,O3e=48n,QFt=56n,v4=async e=>{let t=await Th(e,S3e),r=BigInt(await e.getUint16(t+D3e)),n=BigInt(await e.getUint32(t+k3e)),i=t-20n,a=0n,o=await e.slice(i,i+4n);if(wu(o,T3e)){a=await e.getBigUint64(i+F3e);let s=await e.slice(a,a+4n);if(!wu(s,C3e.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(a+B3e),n=await e.getBigUint64(a+O3e)}else i=0n;return{cdRecordsNumber:r,cdStartOffset:n,offsets:{zip64EoCDOffset:a,zip64EoCDLocatorOffset:i,zipEoCDOffset:t}}};function P3e(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(ji(a,2,o+D3e,i),ji(a,2,o+WFt,i)),n-r<=4294967295&&ji(a,4,o+KFt,n-r),r<4294967295&&ji(a,4,o+k3e,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;ji(a,8,s+F3e,n),ji(a,8,O3e,r),ji(a,8,B3e,i),ji(a,8,YFt,i),ji(a,8,XFt,n-r)}return new Uint8Array(a.buffer)}function I3e(e){let t=new DataView(new ArrayBuffer(Number(JFt)));for(let i of ZFt)ji(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=t5t(e),n=e5t(e);return _n(n,r,t.buffer)}var ZFt=[{offset:0,size:4,default:new DataView(S3e.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];function e5t(e){let t=new DataView(new ArrayBuffer(Number(QFt)));for(let r of n5t)ji(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function t5t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of r5t)ji(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var r5t=[{offset:0,size:4,default:new DataView(T3e.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],n5t=[{offset:0,size:4,default:new DataView(C3e.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var i5t=20n,a5t=24n,o5t=28n,s5t=30n,u5t=32n,c5t=42n,x4=46n,Dh=new Uint8Array([80,75,1,2]),Ch=async(e,t)=>{let r=await t.slice(e,e+4n);if(!wu(r,Dh.buffer))return null;let n=BigInt(await t.getUint32(e+i5t)),i=BigInt(await t.getUint32(e+a5t)),a=await t.getUint16(e+s5t),o=BigInt(await t.getUint16(e+u5t)),s=await t.getUint16(e+o5t),u=await t.slice(e+x4,e+x4+BigInt(s)),c=new TextDecoder().decode(u),l=e+x4+BigInt(s),f=await t.getUint32(e+c5t),p=BigInt(f),d=new DataView(await t.slice(l,l+BigInt(a))),h={uncompressedSize:i,compressedSize:n,localHeaderOffset:p,startDisk:o},g=l5t(h,d);return{...h,...g,extraFieldLength:a,fileNameLength:s,fileName:c,extraOffset:l}};async function*cc(e){let{cdStartOffset:t}=await v4(e),r=await Ch(t,e);for(;r;)yield r,r=await Ch(r.extraOffset+BigInt(r.extraFieldLength),e)}var j3e=(...e)=>e[0]+e[1]*16,l5t=(e,t)=>{let r=f5t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>j3e(c[u],c[u+1])===1&&j3e(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},f5t=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};function hU(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=g4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(x4)));for(let s of p5t)ji(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var p5t=[{offset:0,size:4,default:new DataView(Dh.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var d5t=8n,h5t=18n,m5t=22n,g5t=26n,v5t=28n,v2=30n,mU=new Uint8Array([80,75,3,4]),zs=async(e,t)=>{let r=await t.slice(e,e+4n);if(!wu(r,mU))return null;let n=await t.getUint16(e+g5t),i=new TextDecoder().decode(await t.slice(e+v2,e+v2+BigInt(n))).split("\\").join("/"),a=await t.getUint16(e+v5t),o=e+v2+BigInt(n+a),s=await t.getUint16(e+d5t),u=BigInt(await t.getUint32(e+h5t)),c=BigInt(await t.getUint32(e+m5t)),l=e+v2+BigInt(n),f=4n;return c===BigInt(4294967295)&&(c=await t.getBigUint64(l+f),f+=8n),u===BigInt(4294967295)&&(u=await t.getBigUint64(l+f),f+=8n),o===BigInt(4294967295)&&(o=await t.getBigUint64(l+f)),{fileNameLength:n,fileName:i,extraFieldLength:a,fileDataOffset:o,compressedSize:u,compressionMethod:s}};function gU(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=g4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(v2)));for(let s of x5t)ji(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var x5t=[{offset:0,size:4,default:new DataView(mU.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];async function y5t(e){let t=await v4(e),r=t.cdStartOffset,n=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await e.slice(r,e.length);await e.truncate(Number(r));let a=i.slice(0,n),o=i.slice(n,i.byteLength);return[a,o,t]}async function R3e(e,t,r){let n=parseInt(await new kx().hash(t,"hex"),16),i=gU({crc32:n,fileName:e,length:t.byteLength}),a=hU({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(_n(i,t)),new Uint8Array(a)]}async function vU(e,t,r){let n=new Qa(e,!0),[i,a,o]=await y5t(n),s=n.length,[u,c]=await R3e(r,t,s);await n.append(u);let l=_n(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(P3e(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function xU(e,t,r){let n=b5t(e),i=new jc(t,"w"),a=[],o=[];for await(let l of n)await M3e(l,i,o,a);if(r){let l=await r(a);await M3e(l,i,o)}let s=(await i.stat()).bigsize,u=_n(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(I3e({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function M3e(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await R3e(e.path,e.file,i);await t.append(a),r.push(o)}function b5t(e){async function*t(){let r=await L3e(e);for(let n of r){let i=await(await pa(Ca.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function L3e(e,t="",r){let n=r||new Dx({}),i=await n.readdir(y4(e,t)),a=[];for(let o of i){let s=y4(e,t,o);if((await n.stat(s)).isDirectory){let u=await L3e(e,y4(t,o));a.push(...u)}else a.push(y4(t,o))}return a}function y4(...e){let t=e.filter(r=>r.length);return Ca.join(...t)}var M1=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){xx(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return ud(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var x2=class extends M1{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var kh=Ct(eU(),1),kl=Ct(require("zlib"),1);var Fl=class extends M1{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await U0(kl.default.gzip)(t):await U0(kl.default.deflate)(t);return Ic(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await U0(kl.default.gunzip)(t):await U0(kl.default.inflate)(t);return Ic(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?kl.default.gzipSync(t):kl.default.deflateSync(t);return Ic(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.deflateRaw:kh.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?kl.default.gunzipSync(t):kl.default.inflateSync(t);return Ic(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.inflateRaw:kh.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var y2=class extends Fl{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var q3e={0:async e=>e,8:async e=>await new Fl({raw:!0}).decompress(e)},Bl=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!Er)this.fileProvider=new Qa(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof Ol?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):YB(t)&&(this.fileProvider=t)}async destroy(){this.fileProvider&&await this.fileProvider.destroy()}async readdir(){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let t=[],r=cc(this.fileProvider);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.fileProvider)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await zs(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=q3e[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await this.fileProvider.slice(a.fileDataOffset,a.fileDataOffset+a.compressedSize);r=await o(s)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let r=cc(this.fileProvider),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var Ol=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Bl(this.fileProvider).fetch(t)).arrayBuffer()}};function b2(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=_5t(e,n,16);r[a]=i}return r}function _5t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function yU(e){let t=cc(e);return w5t(t)}async function w5t(e){let t=new Su,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function _2(e){let t=new Su,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(_n(A5t(u),S5t(a.localHeaderOffset)))}let i=n.sort(E5t);return lE(i)}function E5t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function A5t(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function S5t(e){return new BigUint64Array([e]).buffer}var T5t={0:e=>new x2().decompress(e),8:e=>new Fl({raw:!0}).decompress(e)},w2=class extends Ol{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,i=await new Su().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await zs(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=T5t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Ep(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return Et(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function Ap(e,t,r){e&&e.setUint32(t+8,r,!0)}function N3e(e,t,r,n,i){e={magic:np.COMPOSITE,tiles:[],...e};let a=r;r+=Ep(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return Ap(t,a,r-a),r}function U3e(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Xa(s.length,8),l=u?Xa(u.length,8):0;e={magic:np.BATCHED_MODEL,...e};let f=r;r=Ep(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=N0(t,r,s,8),a&&(r=N0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Sx(t,r,p,p.byteLength)),Ap(t,f,r-f),r}function G3e(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:np.INSTANCED_MODEL,...e};let f=r;return r=Ep(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,a,!0)),r+=20,r+=q0(t,r,c,l),r+=q0(t,r,o,s),Ap(t,f,r-f),r}var C5t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function z3e(e,t,r,n){let{featureTableJson:i=C5t}=e,a=JSON.stringify(i);a=WB(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:np.POINT_CLOUD,...e};let c=r;return r+=Ep(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=q0(t,r,a,o),r+=Sx(t,r,s,u),Ap(t,c,r-c),r}function _U(e,t){let r=bU(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return bU(e,i,0,t),n}function bU(e,t,r,n){switch(Et(typeof e.type=="string"),e.type){case qo.COMPOSITE:return N3e(e,t,r,n,bU);case qo.POINT_CLOUD:return z3e(e,t,r,n);case qo.BATCHED_3D_MODEL:return U3e(e,t,r,n);case qo.INSTANCED_3D_MODEL:return G3e(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var wU={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Pg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>H3e(e,t),encodeSync:H3e};function H3e(e,t){return _U(e,t)}var Ui=require("path");var $3e=Ct(require("crypto")),_4=new Uint8Array(256),b4=_4.length;function EU(){return b4>_4.length-16&&($3e.default.randomFillSync(_4),b4=0),_4.slice(b4,b4+=16)}var Mi=[];for(let e=0;e<256;++e)Mi.push((e+256).toString(16).slice(1));function V3e(e,t=0){return(Mi[e[t+0]]+Mi[e[t+1]]+Mi[e[t+2]]+Mi[e[t+3]]+"-"+Mi[e[t+4]]+Mi[e[t+5]]+"-"+Mi[e[t+6]]+Mi[e[t+7]]+"-"+Mi[e[t+8]]+Mi[e[t+9]]+"-"+Mi[e[t+10]]+Mi[e[t+11]]+Mi[e[t+12]]+Mi[e[t+13]]+Mi[e[t+14]]+Mi[e[t+15]]).toLowerCase()}var W3e=Ct(require("crypto")),AU={randomUUID:W3e.default.randomUUID};function D5t(e,t,r){if(AU.randomUUID&&!t&&!e)return AU.randomUUID();e=e||{};let n=e.random||(e.rng||EU)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return V3e(n)}var lc=D5t;var Gh=Ct(require("process"),1),lD=Ct(Hs(),1),fD=Ct(CU(),1);var q1=require("path"),cSe=Ct(Hs(),1);var aSe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var Fh=require("fs"),R1=require("path");var oSe=require("zlib"),w4=require("fs");function E4(e){let t=`${e}.gz`,r=(0,oSe.createGzip)(),n=(0,w4.createReadStream)(e),i=(0,w4.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function Sn(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await Fh.promises.mkdir(e,{recursive:!0});let i=(0,R1.join)(e,r);try{await Fh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function fc(e,t,r="index.json",n=!0,i){let a=await Sn(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await E4(a);return await T2(a),o}return a}async function L1(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,R1.join)(e,t);Yr(o,KB).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function A2(e){try{return await Fh.promises.stat(e),!0}catch{return!1}}function S2(e){return Fh.promises.rm(e,{recursive:!0})}function T2(e){return Fh.promises.unlink(e)}function sSe(e){return(0,R1.isAbsolute)(e)?e:(0,R1.join)(process.cwd(),e)}async function uSe(e,t){try{await Fh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Ri=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r,n;return this.converter.options.slpk?(r=(0,q1.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`):(r=(0,q1.join)(this.converter.layers0Path,"nodepages",t.toString()),n="index.json"),{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,q1.join)(r,n);return await A2(i)?(console.log(`load ${i}.`),await L1(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Ri.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Ri.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,s)},!0)}async saveMetadata(){let t=(0,cSe.default)({nodeCount:this.nodesCounter},aSe()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}if(this.converter.options.slpk){for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,q1.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${t.toString()}.json`)})}await this.saveMetadata()}else for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,q1.join)(this.converter.layers0Path,"nodepages",t.toString());await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,n)})}}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Ri.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var C2=require("path"),A4=require("fs");function N1(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return lSe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return lSe(r,n)}function lSe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function S4(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=sSe(r);try{if(t){let s=(0,C2.join)(i,`${n}.slpk`);return(await A4.promises.stat(s)).size}let a=(0,C2.join)(i,n);return await fSe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function fSe(e){let t=0,r=await A4.promises.readdir(e);for(let n of r){let i=await A4.promises.stat((0,C2.join)(e,n));i.isDirectory()?t+=await fSe((0,C2.join)(e,n)):t+=i.size}return t}var kSe=Ct(CU(),1);var Bh=3,U1=9;function dSe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/U1;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=q5t(o),c=N5t({...u,...e}),l=U5t(c);return G5t(l,u.featureCount)}function q5t(e){let t=1,r=1,n=pSe(e.slice(0,Bh)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=Bh;c<e.length;c+=Bh){let l=pSe(e.slice(c,c+Bh));n!==l&&(i[t]=c/Bh-1,i[t+1]=c/Bh,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/Bh-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function pSe(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function N5t(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),p=new Float32Array(o),d=new Uint16Array(a),h=0,g=0,m=0,x=0,b=0;for(let _=0;_<t.length;_++){let A=s[_*2],w=s[_*2+1],T=D2("positions",A,w),k=D2("normals",A,w),j=D2("colors",A,w),C=D2("uvRegions",A,w),D=D2("texCoords",A,w);u.push({featureId:t[_],positions:c.subarray(h,h+T),normals:l.subarray(g,g+k),colors:f.subarray(m,m+j),uvRegions:d.subarray(x,x+C),texCoords:p.subarray(b,b+D)}),h+=T,g+=k,m+=j,x+=C,b+=D}return u}function D2(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*U1;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function U5t(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=hSe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function G5t(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/U1-1+o),i.push(f.positions.length/U1+o),o+=f.positions.length/U1,a+=1}let s=hSe(e);return i.push(s.positions.length/U1-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function hSe(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ya(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ya(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ya(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ya(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ya(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function T4(e,t){let r,n,i,a=Nt.WGS84.cartesianToCartographic(e.center,new ne);return a[2]=a[2]-t.getHeight(a[1],a[0]),e instanceof vi?(n=e.halfSize,r=new ne(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Vu().fromMatrix3(new pr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function mSe(e,t){let r=z5t(e),n=wL(r),i=xL(r),a=Nt.WGS84.cartesianToCartographic(i.center,new ne),o=Nt.WGS84.cartesianToCartographic(n.center,new ne);return a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0]),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function z5t(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new ne([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function gSe(e){let t;e instanceof da?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Nt.WGS84.cartesianToCartographic(new ne(r[0]+n,r[1]+n,r[2]+n),new ne),a=Nt.WGS84.cartesianToCartographic(new ne(r[0]-n,r[1]-n,r[2]-n),new ne);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function DU(e){let t=e[3],r=new ne(e[0],e[1],e[2]),n=new pr([t,0,0,0,t,0,0,0,t]);return new vi(r,n)}function vSe(e,t,r){var s,u,c,l,f,p,d,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],i=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(g=>{var b,_;if((b=g==null?void 0:g.image)!=null&&b.compressed)return null;let m=(_=g==null?void 0:g.image)==null?void 0:_.data,x=new Uint8Array(m.length);return x.set(m),{data:x,compressed:!1,height:g.image.height,width:g.image.width,components:g.image.components,mimeType:g.mimeType}}))||[];xSe(n);let{cartographicOrigin:a,modelMatrix:o}=$5t(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function H5t(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function $5t(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new Fr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new Fr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new Fr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new ne(a),u=Nt.WGS84.cartesianToCartographic(s,new ne);return{modelMatrix:o,cartographicOrigin:u}}function xSe(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:H5t(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&xSe(n.children)}}function ySe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Uo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function bSe(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case Uo:return W5t(e,o,r,n);case $8:return V5t(e,o);default:return[]}return[]}function V5t(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function W5t(e,t,r,n){var o,s,u,c,l,f,p;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return K5t(d,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,g=e[h].value;return J5t(a,g,r)}return n?e[n].value:[]}function K5t(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function J5t(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let p=0;p<t.length;p+=2){let d=t[p],h=t[p+1],g=Math.min(w8(d)*o.width|0,o.width-1),x=(Math.min(w8(h)*o.height|0,o.height-1)*o.width+g)*o.components+u,b=new Uint8Array(o.data)[x];s.push(b)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function _Se(e,t){let r={};for(let n in t){let i=t[n];r[n]=Y5t(i,e)}return r}function Y5t(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function wSe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function X5t(e){return typeof e=="string"||typeof e=="bigint"?nn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?nn.SHORT_INT_TYPE:nn.DOUBLE_TYPE:nn.STRING_TYPE}function ESe(e){let t={};for(let r in e){let n=e[r][0],i=X5t(n);t[r]=i}return t}var ASe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Uo])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let h=n.properties[d],g=Q5t(h);r[d]=g}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[pl])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let h=i.properties[d],g=Z5t(h);r[d]=g}return r}return null},Q5t=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t},Z5t=e=>{let t;if(e.array)t=nn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t};var C4=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var eBt=1,tBt=1,$s=3,k2=2,rBt=4,nBt="string",iBt="Int32",aBt="Float64",oBt="Oid32",SSe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Sp=new ne;async function kU({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:p}){var _;let d=u,h=await _Bt((_=e.gltf)==null?void 0:_.materials,c),g=vSe(e,t,r),m=ySe(e,p),x=await cBt(g,h,d,m);u&&sBt(x,l);let b=[];for(let A of h){let w=A.mergedMaterials[0].originalMaterialId;if(!x.has(w))continue;let T=x.get(w);if(!T)continue;let{material:k,texture:j}=A,C=await n();b.push(await uBt({convertedAttributes:T,material:k,texture:j,tileContent:e,nodeId:C,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return b.length?b:null}function sBt(e,t){for(let r of e.values()){let n=mSe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=$s){let o=r.positions.subarray(a,a+$s);Nt.WGS84.cartesianToCartographic(Array.from(o),Sp),Sp[2]=Sp[2]-t.getHeight(Sp[1],Sp[0]),Sp=Sp.subtract(i),r.positions.set(Sp,a)}}}async function uBt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var D;let l=e.boundingVolumes,f=e.positions.length/$s,{faceRange:p,featureIds:d,positions:h,normals:g,colors:m,uvRegions:x,texCoords:b,featureCount:_}=dSe(e),A={};o&&(A=OBt(d,e.featureIndices,a,o));let w=new Uint32Array(2),T=UBt(d);w.set([f,_],0);let k=new Uint8Array(_n(w.buffer,h.buffer,g.buffer,r?b.buffer:new ArrayBuffer(0),m.buffer,x,T.buffer,p.buffer)),j=u?GBt(f,e,{positions:h,normals:g,texCoords:r?b:new Float32Array(0),colors:m,uvRegions:x,featureIds:d,faceRange:p},c):null,C=[];return s&&o&&(C=MBt(d,A,o,s)),{nodeId:i,geometry:k,compressedGeometry:j,texture:r,hasUvRegions:Boolean(x.length),sharedResources:CBt(((D=n.gltf)==null?void 0:D.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:C,featureCount:_,boundingVolumes:l}}async function cBt(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}FSe({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture:n});for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return u}function FSe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new Fr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)fBt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function lBt(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function fBt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new Fr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=lBt(e,o),c=e.mesh;c&&pBt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),FSe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function pBt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture:s}){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var g;return h===((g=c.material)==null?void 0:g.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),Et(l!==null,"Primitive - material mapping failed"),Et(c.mode===void 0||c.mode===vt.TRIANGLES||c.mode===vt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=dBt(c);l.positions=Ya(l.positions,TSe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:hBt,useCartesianPositions:a})),l.normals=Ya(l.normals,TSe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:mBt,useCartesianPositions:!1})),l.texCoords=Ya(l.texCoords,gBt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Ya(l.colors,vBt(p.COLOR_0,d)),f&&(l.uvRegions=Ya(l.uvRegions,xBt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(yBt(bBt(p,c,t,s),d))}}function dBt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return C4(n.length/$s)}if(t&&e.mode===vt.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function TSe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*$s);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*$s,s=t.subarray(o,o+$s),u=new ne(Array.from(s));u=n(u,e),i[a*$s]=u.x,i[a*$s+1]=u.y,i[a*$s+2]=u.z}return i}function hBt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Nt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function mBt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function gBt(e,t){let r=new Float32Array(t.length*k2);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*k2,a=e.subarray(i,i+k2);r[n*k2]=a[0],r[n*k2+1]=a[1]}return r}function vBt(e,t){let r=(e==null?void 0:e.components)||rBt,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function xBt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function yBt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function bBt(e,t,r,n){let i=bSe(e,t,r,n);if(i.length)return i;for(let a=0;a<SSe.length;a++){let o=SSe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function _Bt(e=[],t){let r=[];for(let n of e)r.push(ABt(n));return t&&(r=await wBt(r)),r}async function wBt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await EBt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:TBt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function EBt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function ABt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:SBt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||eBt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||tBt}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:lc();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function SBt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function TBt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function CBt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=DBt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function DBt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=FBt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:kBt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function kBt(e,t=1){let r=.00015686274509803922,n=new Ro(0,0,0,1),i=new Ro(1,1,1,1),a=new Ro(r,r,r,0),o=new Ro(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function FBt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:BBt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function BBt(e,t){var g;let{width:r,height:n}=((g=e.source)==null?void 0:g.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,p=n-1<<0,d=c+l+f+p;return BigInt(`0b${d.toString(2)}${u}`).toString()}function OBt(e,t,r,n){let i=PBt(e,n,r);return CSe(t,i),CSe(e,i),i}function PBt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=jBt(i,t,r);n[a.toString()]=o}return n}function IBt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function jBt(e,t,r){let n=IBt(t,e),i=(0,kSe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function CSe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function MBt(e,t,r,n){let i=[],o=wSe(e,r)?_Se(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=LBt(u,n);if(c){let l=s[u],f=RBt(c,l);i.push(f)}}return i}function RBt(e,t){let r;switch(e){case oBt:case iBt:r=qBt(t);break;case aBt:r=NBt(t);break;case nBt:r=DSe(t);break;default:r=DSe(t)}return r}function LBt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function qBt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return _n(t.buffer,r.buffer)}function NBt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return _n(t.buffer,r.buffer,n.buffer)}function DSe(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return _n(t.buffer,a.buffer,n.buffer,...i)}function UBt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function GBt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let m=0;m<f.length;m++)f.set([m],m);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=zBt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let g={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,g["uv-region"]={"i3s-attribute-type":"uv-region"}),Tg({attributes:h,indices:f},TL,{...TL.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:g},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function zBt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*$s;r.fill(n,i,o),n++,i=o+1}return r}function BSe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=VBt(e);switch(i){case pl:return r=HBt(a,t),r;case Uo:return r=$Bt(a,t),r;default:return null}}function HBt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return D4(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return D4(r)}return null}function $Bt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return D4(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return D4(n)}return null}function D4(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function VBt(e){var a,o,s,u;let t=[Uo,pl];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var PSe=Ct(Hs(),1),ISe=require("path");var OSe=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function jSe(e,t,r){let n={serviceItemId:lc().replace(/-/gi,""),layerName:e,layers0:t},i=(0,PSe.default)(n,OSe()),a=(0,ISe.join)(r,"SceneServer");await Sn(a,JSON.stringify(i))}var FU=16;function MSe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*FU/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function BU(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=FU),e.mbs[3]*2*FU/r}var WBt=240,KBt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],JBt=372,YBt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],XBt=372,QBt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],ZBt=12,OU=(3+1)*(3+2)/2,eOt=2,G1=class{constructor(t){gt(this,"_v00",0),gt(this,"_v01",0),gt(this,"_v10",0),gt(this,"_v11",0),gt(this,"_t",[]),gt(this,"_ix",void 0),gt(this,"_iy",void 0),gt(this,"options",void 0),this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=tOt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,p=new Array(OU);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let h=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],g=YBt;s!==0&&(g=s===this.options._height-2?QBt:KBt);let m=JBt;s!==0&&(m=s===this.options._height-2?XBt:WBt);for(let x=0;x<OU;++x){p[x]=0;for(let b=0;b<ZBt;++b)p[x]+=h[b]*g[OU*b+x];p[x]/=m}}if(!this.options.cubic){let h=(1-i)*u+i*c,g=(1-i)*l+i*f,m=(1-a)*h+a*g,x=this.options._offset+this.options._scale*m;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,x}let d=p[0]+i*(p[1]+i*(p[3]+i*p[6]))+a*(p[2]+i*(p[4]+i*p[7])+a*(p[5]+i*p[8]+a*p[9]));return d=this.options._offset+this.options._scale*d,this._ix=o,this._iy=s,this._t=p,d}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+eOt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function tOt(e,t){t=Math.abs(t);let r=RSe(e,t);return 2*Math.abs(r)===t?r-=RSe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function RSe(e,t){return e-Math.floor(e/t)*t}var rOt=10,nOt=65535;function PU(e,t){let r=iOt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let x=n.value.line;if(x.length)if(x[0]==="#"){let b=x.split(" "),_=b[0],A=b[1];if(_!=="#"||!A)continue;let w=b.length>2?b.slice(2):[];if(A==="Description")u=w.join(" ");else if(A==="DateTime")c=w.join(" ");else if(A==="Offset"){if(!b[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(b[2],10)}else if(A==="Scale"){if(!b[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(b[2])}else A===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(b[2]))&&(o=parseFloat(b[2])):A===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(b[2]))&&(s=parseFloat(b[2]))}else{let b=x.split(" ");if(b=b.filter(_=>_!==""),l=parseInt(b[0],10),f=parseInt(b[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==nOt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let g=l/360,m=(f-1)/180;return new G1({cubic:t.cubic,_width:l,_height:f,_rlonres:g,_rlatres:m,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*iOt(e){let t=0;do{let r=e.indexOf(rOt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:LSe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:LSe(n)}}}while(t<e.length);return{offset:t,line:""}}function LSe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var aOt="4.2.4";var k4={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:aOt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>PU(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var z1=Ct(Hs(),1);var qSe={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var oOt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),sOt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),uOt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),cOt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),NSe=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,z1.default)(e,oOt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,z1.default)(e,qSe)},fullExtent:{path:"fullExtent",transform:e=>(0,z1.default)(e,cOt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,z1.default)(e,sOt())},nodePages:{path:"nodePages",transform:e=>(0,z1.default)(e,uOt())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var IU=Ct(Hs(),1),lOt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),fOt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),USe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,IU.default)(e,lOt())];return e.draco&&t.push((0,IU.default)({geometryConfig:e},fOt())),t}}});var F2=Ct(Hs(),1),pOt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),dOt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,F2.default)(r,pOt())}}),hOt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),mOt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,F2.default)(n,hOt()))}}),GSe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:gOt},textureDefinitions:{path:"textureDefinitionInfos",transform:vOt}});function gOt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,F2.default)(a,dOt());return n}function vOt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,F2.default)(a,mOt())}return n}var xOt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function HSe(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return yOt(t,e),bOt(t,e),t}function yOt(e,t){var o;let r=_Ot(t.parentNode.obb),n=wOt(t);if(EOt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function bOt(e,t){var a;let r=zSe(t.mbs),n=zSe(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function zSe(e){return new da([e[0],e[1],e[2]],e[3])}function _Ot(e){let{center:t,halfSize:r,quaternion:n}=e;return new vi().fromCenterHalfSizeQuaternion(t,r,n)}function wOt(e){let t=e.obb.halfSize,r=xOt,n=Nt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new ne(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function EOt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Nt.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var F4=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var $Se=Ct(require("process"),1),AOt=4*1024*1024*1024,H1=class extends F4{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),$Se.default.memoryUsage().rss>AOt&&await this.startWrite()}startListening(){this.intervalId=setInterval(()=>this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let p=f();t.push(p)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var $1="Tile converter does not work in browser, only in node js environment",Tp=".dump.json";var MU=require("path"),RU=Ct(Hs(),1);var VSe=Ct(Hs(),1),WSe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),SOt=()=>({href:{path:"href"}}),TOt=()=>({id:{path:"id"},...SOt(),...WSe()}),jU=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...WSe(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,VSe.default)(e,TOt()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Vs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,MU.join)(this.converter.layers0Path,"nodes",this.id);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>fc(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>Sn(r,JSON.stringify(t))},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,MU.join)(this.converter.layers0Path,"nodes",t),n="index.json";return this.converter.options.slpk&&(n="3dNodeIndexDocument.json"),await L1(r,n)}flush(){this.data=null}static async createRootNode(t,r){let n=Vs.createRootNodeIndexDocument(t);return await new Vs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Vs.createNodeIndexDocument(t,r,n,i,a);return await new Vs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${lc().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,RU.default)(r,jU())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,h;let o=i.index,s=await t.load(),u={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},c=(0,RU.default)(u,jU());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let g=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let m=g<t.converter.layers0.attributeStorageInfo.length?g:t.converter.layers0.attributeStorageInfo.length;for(let x=0;x<m;x++){let b=t.converter.layers0.attributeStorageInfo[x].key;c.attributeData.push({href:`./attributes/${b}/0`})}}return c}};var LU=async(e,t,r)=>{let n=B2(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await B4(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},qU=async(e,t,r)=>{let n=B2(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await B4(t.contentUrl,e.loader,i)};async function B4(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new Qa(a),s=await COt(o),u=new w2(o,s,a),c=new Bl(u),l=await Yr(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await Yr(e,t,r)}function B2(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function COt(e){let t,r=await Th(e,Dh),n=await Ch(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await zs(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=b2(o)}return t}var O4=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await O4({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var DOt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],KSe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await eo(e.gltfArrayBuffer,dl,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=kOt(n),a=FOt(n);return{meshTopologyTypes:i,metadataClasses:a}},kOt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(DOt[i])}return t},FOt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Uo])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[pl])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},JSe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var YSe=Ct(require("process"),1);var BOt=.2,V1=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||YSe.default.hrtime.bigint,this.threshold=t.threshold||BOt}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?N1(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var d8e=require("util");var Ip=require("path"),h8e=Ct(require("process"),1),m8e=Ct(f8e(),1);var p8e={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var Uh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:h=!1}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:h};let g=(0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`);if(await A2(g))try{let m=await L1((0,Ip.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Tp}`),{options:x,tilesConverted:b,textureSetDefinitions:_,attributeMetadataInfo:A,materialDefinitions:w}=m;if(new m8e.default().compile(p8e)(m)&&(0,d8e.isDeepStrictEqual)(x,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=b,this.textureSetDefinitions=_,this.attributeMetadataInfo=A,this.materialDefinitions=w,this.restored=!0;return}}catch(m){console.log("Can't open dump file",m)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=h8e.default.hrtime();await Sn((0,Ip.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${Tp}.${r[0]}.${r[1]}`),await uSe((0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}.${r[0]}.${r[1]}`),(0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await A2((0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`))&&await T2((0,Ip.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Tp}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var v8e,TMt=(v8e=Gh.default.env)==null?void 0:v8e.IonToken,g8e=64,CMt="3DTILES",DMt="3DObject",kMt=1800,FMt="https://",jp="phase1-count",av=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0,basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},fetch:{},modules:{}};geoidHeightModel=null;Loader=tc;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new H1(new Uh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new VT,this.nodePages=new Ri(Sn,g8e,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new Uh}async convert(t){if(Er)return console.log($1),$1;this.conversionStartTime=Gh.default.hrtime();let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,validate:o,outputPath:s,draco:u=!0,sevenZipExe:c,maxDepth:l,token:f,generateTextures:p,generateBoundingVolumes:d,instantNodeWriting:h=!1,mergeMaterials:g=!0,inquirer:m,metadataClass:x,analyze:b=!1}=t;this.options={outputPath:s,tilesetName:r,maxDepth:l,slpk:n,sevenZipExe:c,egmFilePath:i,draco:u,token:f,inputUrl:a,instantNodeWriting:h,mergeMaterials:g,inquirer:m,metadataClass:x},this.progresses[jp]=new V1,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(o),this.Loader=a.indexOf(FMt)!==-1?SC:tc,this.generateTextures=Boolean(p),this.generateBoundingVolumes=Boolean(d),this.writeQueue=new H1(this.conversionDump),this.writeQueue.startListening(),console.log("Loading egm file..."),this.geoidHeightModel=await Yr(i,k4),console.log("Loading egm file completed!"),n&&this.nodePages.useWriteFunction(fc);try{let _=await this._fetchPreloadOptions(),A=a;_.url&&(A=_.url),_.headers&&(this.loadOptions.fetch={headers:_.headers}),this.sourceTileset=await B4(A,this.Loader,this.loadOptions),(this.Loader===tc||b?await this.preprocessConversion():!0)&&!b&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(s,r),await this._finishConversion({slpk:Boolean(n),outputPath:s,tilesetName:r}))}catch(_){throw _}finally{await this.writeQueue.finalize(),Xi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await O4({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[jp].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(B2(t))return await LU(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[jp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await qU(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await KSe(i);return JSe(this.preprocessData,a),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var c,l,f;let n=(0,Ui.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Ui.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Ui.join)(this.layers0Path,"nodepages"):n;try{await S2(i)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let p=0;p<this.conversionDump.materialDefinitions.length;p++){let d=(0,fD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=pb(a.boundingVolume,new Fr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=T4(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[jp].startMonitoring();let u=await Vs.createRootNode(s,this);await O4({tile:a,traversalProps:{transform:new Fr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[jp].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=DMt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,lD.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),USe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),jSe(r,this.layers0,n);for(let p of this.compressList||[])await E4(p),await T2(p);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let i=gSe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${lc().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${lc().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:g8e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,lD.default)(o,NSe())}async _writeLayers0(){this.options.slpk?await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>fc(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")}):await this.writeQueue.enqueue({writePromise:()=>Sn(this.layers0Path,JSON.stringify(this.layers0))})}async _createSlpk(t){if(await this.conversionDump.deleteDumpFile(),this.options.slpk){let r=(0,Ui.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await xU(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await _2(i)}));try{await S2(t)}catch{}}}async convertTile(t,r){let n=B2(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await LU(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[jp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[jp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[jp].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=MSe(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Vs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Vs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=pb(r.boundingVolume,n,null),a=T4(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var d;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let i=null;try{i=await qU(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=pb(r.boundingVolume,n,null),o=T4(a,this.geoidHeightModel),s=BSe(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable:s}),c=[],l=[],f=[],p={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let h of u||[p]){let{node:g,nodeInPage:m,nodeData:x}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(g),m.mesh){if(r.id){let b={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:m.mesh.material.definition,texelCountHint:m.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,m.index,b)}await this._writeResources(h,g.id,r)}this.validate&&(this.boundingVolumeWarnings=HSe(x),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(m.index),f.push(m)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await kU({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass:this.options.metadataClass})}async _updateNodeInNodePages(t,r,n,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Ri.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Ri.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Ri.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Ri.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Ri.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Ri.updateVertexCountByNodeId(p,o)),Ri.updateNodeAttributeByNodeId(p),s&&Ri.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,Ui.join)(this.layers0Path,"nodes",r),l=(0,Ui.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(t){if(this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1),this.options.slpk){let s=(0,Ui.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>fc(s,t,"0.bin")})}else{let s=(0,Ui.join)(n,"geometries/0/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Sn(s,t,"index.bin")})}if(this.options.draco&&r)if(this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1),this.options.slpk){let s=(0,Ui.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>fc(s,r,"1.bin")})}else{let s=(0,Ui.join)(n,"geometries/1/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Sn(s,r,"index.bin")})}}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,lD.default)(t,GSe()),u=JSON.stringify(s);if(this.conversionDump.updateDoneStatus(a,o,"SHARED",!1),this.options.slpk){let c=(0,Ui.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>fc(c,u,"sharedResource.json")})}else{let c=(0,Ui.join)(r,"shared/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Sn(c,u)})}}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Tg({...t.image,data:l},I7,{...I7.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Tg(t.image.data[0],x7);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}default:}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile({textureData:t,name:r,format:n,childPath:i,slpkChildPath:a,sourceId:o,nodeId:s}){if(this.options.slpk){let u=(0,Ui.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>fc(u,t,`${r}.${n}`,c)})}else{let u=(0,Ui.join)(i,`textures/${r}/`);await this.writeQueue.enqueue({sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Sn(u,t,`index.${n}`)})}}async _writeAttributes(t=[],r,n,i,a){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);if(this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1),this.options.slpk){let l=(0,Ui.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>fc(l,c,"0.bin")})}else{let l=(0,Ui.join)(r,`attributes/${u}/0`);await this.writeQueue.enqueue({sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Sn(l,c,"index.bin")})}}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,fD.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},i=(0,fD.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=ASe(t.gltf,this.options.metadataClass)):r&&(n=ESe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await S4(t),o=Gh.default.hrtime(this.conversionStartTime),s=N1(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${CMt}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||TMt}},r=await this.Loader.preload(this.options.inputUrl,t);return this.refreshTokenTime=Gh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(Gh.default.hrtime(this.refreshTokenTime)[0]<kMt)return;this.refreshTokenTime=Gh.default.hrtime();let r=await this._fetchPreloadOptions();r.headers&&(this.loadOptions.fetch={...this.loadOptions.fetch,headers:r.headers},console.log("Authorization Bearer token has been updated"))}_checkAddRefinementTypeForTile(t){let r=1;t.refine===r&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var z8e=require("path"),wz=Ct(require("process"),1),H8e=Ct(Hs(),1);function vz(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var x8e={UInt8:vt.UNSIGNED_BYTE,UInt16:vt.UNSIGNED_SHORT,Float32:vt.FLOAT,UInt32:vt.UNSIGNED_INT,UInt64:vt.DOUBLE};function ov(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var y8e="String",b8e="Oid32",_8e="Float64",w8e="Int16";function pD(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function sv(e,t=null){return t?`${e}?token=${t}`:e}function E8e(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function A8e(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var dD=new ne([0,0,0]);function OMt(e){switch(e){case"ktx-etc2":case"dds":return eC;case"ktx2":return ah;case"jpg":case"png":default:return Vg}}var PMt="i3s-attribute-type";async function D8e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new Fr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=sv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=OMt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===Vg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Ja(f,[],p,i);a.texture=d}catch{let h=await eo(f,u,p,i);a.texture=h}}else if(u===eC||u===ah){let p=await Yr(f,u,t.textureLoaderOptions);u===ah&&(p=p[0]),a.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else a.texture=f}return a.material=GMt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await IMt(e,a,t,r,n)}async function IMt(e,t,r,n,i){var f,p;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let d=await eo(e,Ig,{draco:{attributeNameEntry:PMt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:g,COLOR_0:m,TEXCOORD_0:x,["feature-index"]:b,["uv-region"]:_}=d.attributes;o={position:h,normal:g,color:m,uv0:x,uvRegion:_,id:b},jMt(o,d);let A=VMt(b);A&&$Mt(o,A)}else{let{vertexAttributes:d,ordering:h,featureAttributes:g,featureAttributeOrder:m}=n.store.defaultGeometrySchema,x=RMt(e,n);u=x.byteOffset,s=x.vertexCount,c=x.featureCount;let{attributes:b,byteOffset:_}=T8e(e,u,d,s,h),{attributes:A}=T8e(e,_,g,c,m);HMt(A),o=MMt(b,A)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=qMt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=UMt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:S8e(o.color),texCoords:o.uv0,uvRegions:S8e(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let d in t.attributes)t.attributes[d]||delete t.attributes[d];return t.vertexCount=s,t.byteLength=a,t}function jMt(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function MMt(e,t){return{...e,...t}}function S8e(e){return e&&(e.normalized=!0,e)}function RMt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=vz(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=ov(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=ov(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function T8e(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*ov(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=LMt(c,n*u,ov(s));else{let f=vz(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:x8e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*ov(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function LMt(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function qMt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new Fr,o=new ne(r[0],r[1],r[2]),s=new ne;return Nt.WGS84.cartographicToCartesian(o,s),Nt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=NMt(n,i,o),a}function NMt(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Nt.WGS84.cartographicToCartesian(n.subarray(o,o+3),dD),n[o]=dD.x,n[o+1]=dD.y,n[o+2]=dD.z;return n}function UMt(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new Fr;return i[0]=r,i[5]=n,i}function GMt(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=C8e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=C8e(r.pbrMetallicRoughness.baseColorFactor)),t&&zMt(r,t),r}function C8e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function zMt(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function HMt(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],p=i[c-1],d=f-p+1,h=u+d*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function $Mt(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function VMt(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var WMt="4.2.4",k8e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:WMt,mimeTypes:["application/octet-stream"],parse:KMt,extensions:["bin"],options:{"i3s-content":{}}};async function KMt(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await D8e(e,s,u,t,r)}var JMt="4.2.4",F8e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:JMt,mimeTypes:["application/json"],parse:YMt,extensions:["json"],options:{i3s:{}}};async function YMt(e,t){return JSON.parse(new TextDecoder().decode(e))}var o_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=sv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:Yr(a,F8e,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],i=[];for(let d of r.children||[])i.push(this.getNodeById(d));let a=await Promise.all(i);for(let d of a)n.push({id:d.index.toString(),obb:d.obb});let o,s,u,c="jpg",l=[],f=!1;if(r&&r.mesh){let{url:d,isDracoGeometry:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=h;let{textureData:g,materialDefinition:m}=this.getInformationFromMaterial(r.mesh.material);u=m,c=g.format||c,g.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${g.name}`),this.tileset.attributeStorageInfo&&(l=A8e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return xz({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:a}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,i,a;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:e1(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=Ab();r.has("etc2")&&t.push("ktx-etc2"),r.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function B8e(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=E8e(r,e));let o=e.children||[];return xz({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function xz(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Nt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Nt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new vi().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function O8e(e,t,r){let n=pD(r.url||""),i,a;if(e.nodePages)i=new o_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=sv(`${n}/nodes/root`,o.token);a=await Yr(s,Rl,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:Rl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var XMt="4.2.4",QMt=/layers\/[0-9]+$/,ZMt=/\.slpk$/,eRt=/nodes\/([0-9-]+|root)$/,tRt="504b0304",rRt="PointCloud",Rl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:XMt,mimeTypes:["application/octet-stream"],parse:nRt,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function nRt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},sRt(e)===tRt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=pD(n),o;t.i3s.isTileset==="auto"?o=QMt.test(a)||ZMt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=eRt.test(a):s=t.i3s.isTileHeader,o?e=await aRt(e,t,r):s?e=await oRt(e,r):e=await iRt(e,t),e}async function iRt(e,t){return await eo(e,k8e,t)}async function aRt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===rRt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await O8e(n,t,r)}async function oRt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),B8e(e,t)}function sRt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var uRt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/^nodepages\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/^nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx",".ktx2"]},{test:/^nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/^nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/^statistics\/f_\d+\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],hD=class extends Ol{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new Su;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=uRt.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new y2().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await zs(a,this.fileProvider);if(!o)return;r=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function yz(e,t,r){let n=await Th(e,Dh),i=await Ch(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await yU(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await zs(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=b2(u)}return new hD(e,a,r)}function I8e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?cRt(n,e):null}:{}}function cRt(e,t){switch(e){case y8e:return pRt(t);case b8e:return P8e(t);case _8e:return fRt(t);case w8e:return lRt(t);default:return P8e(t)}}function P8e(e){return new Uint32Array(e,4)}function lRt(e){return new Int16Array(e,4)}function fRt(e){return new Float64Array(e,8)}function pRt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var dRt="4.2.4";var bz={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:dRt,mimeTypes:["application/binary"],parse:async(e,t)=>I8e(e,t),extensions:["bin"],options:{},binary:!0};function _z(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Nt.WGS84.cartographicToCartesian(r,new ne),i=new vi().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var mD=Ct(Hs(),1),hRt=()=>({version:{path:"version",default:"1.0"}}),j8e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,mD.default)(t,j8e()))}}),M8e=()=>({asset:{path:"asset",transform:e=>(0,mD.default)(e,hRt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,mD.default)(e,j8e())}});function R8e(e,t){let r=new Float32Array(e.length),n=gRt(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=mRt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function mRt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function gRt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var vRt=new Fr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),L8e=new ne,q8e="KHR_materials_unlit",xRt=1,yRt=1,s_=class{rtcCenter;i3sTile;async convert(t,r=null){let n=await this.buildGLTF(t,r);return ZT({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},wU)}async buildGLTF(t,r){let{tileContent:n,textureFormat:i,box:a}=t,{material:o,attributes:s,indices:u,modelMatrix:c}=n,l=new sr,f=await this._addI3sTextureToGLTF(n,i,l),p=o==null?void 0:o.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===xRt)&&(p.roughnessFactor===void 0||p.roughnessFactor===yRt)&&(l.addObjectExtension(o,q8e,{}),l.addExtension(q8e));let d=this._convertI3sMaterialToGLTFMaterial(o,f),h=l.addMaterial(d),g=s.positions,m=g.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=R8e(s.texCoords.value,s.uvRegions.value));let x=new ne(a),b=Nt.WGS84.cartesianToCartographic(x,new ne);s.positions.value=this._normalizePositions(m,x,b,c),this._createBatchIds(n,r),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let _=u||C4(m.length/g.size),A=l.addMesh({attributes:s,indices:_,material:h,mode:4}),w=this._generateTransformMatrix(x),T=l.addNode({meshIndex:A,matrix:w}),k=l.addScene({nodeIndices:[T]});return l.setDefaultScene(k),l.createBinaryChunk(),ZT(l.gltf,Q7)}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new ne(r),c=new ne(Array.from(s)).transform(i).add(n);Nt.WGS84.cartographicToCartesian(c,L8e),c=L8e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new Fr().translate(t).multiplyLeft(vRt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var N8e=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await u_(t.contentUrl,Rl,i,n)};async function U8e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Qa(r),i=await yz(n,void 0,r);return new Bl(i)}return null}async function u_(e,t,r,n){return n!==null?await Yr(e,t,{...r,fetch:n.fetch.bind(n)}):await Yr(e,t,r)}async function G8e(e){if(!(e!=null&&e.fileProvider))return 0;let t=0,r=cc(e.fileProvider);for await(let n of r)n.fileName.indexOf("3dNodeIndexDocument.json.gz")>=0&&t++;return t}var bRt="I3S",uv=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,worker:!1,i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new Uh,this.progress=new V1}async convert(t){var h;if(Er)return console.log($1),$1;let{inputUrl:r,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o,inquirer:s,analyze:u}=t;this.conversionStartTime=wz.default.hrtime(),this.options={maxDepth:a,inquirer:s},console.log("Loading egm file..."),this.geoidHeightModel=await Yr(o,k4),console.log("Loading egm file completed!"),this.slpkFilesystem=await U8e(r);let c=!0;if((u||this.slpkFilesystem)&&(c=await this.preprocessConversion(),!c||u)||(this.progress.startMonitoring(),this.sourceTileset=await u_(r,Rl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let l=(h=this.sourceTileset)==null?void 0:h.root;if(l.obb||(l.obb=DU(l.mbs)),this.tilesetPath=(0,z8e.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await S2(this.tilesetPath)}catch{}let f={boundingVolume:{box:_z(l.obb,this.geoidHeightModel)},geometricError:BU(l),children:[],refine:"REPLACE"};await this._addChildren(l,f,1);let p=(0,H8e.default)({root:f},M8e());await Sn(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),Xi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await G8e(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.b3dm`)&&(o.obb||o.mbs)){let{child:b}=this._createChildAndBoundingVolume(o);r.children.push(b),await this._addChildren(o,b,n+1);return}let f=await N8e(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let p=null;this.attributeStorageInfo&&(p=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:d,boundingVolume:h}=this._createChildAndBoundingVolume(o),g={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},x=await new s_().convert(g,p);await this.conversionDump.addNode(`${o.id}.b3dm`,o.id),await Sn(this.tilesetPath,new Uint8Array(x),`${o.id}.b3dm`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.b3dm`,o.id,!0),r.children.push(d),a=d}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await u_(a,Rl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=DU(t.mbs));let r={box:_z(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:BU(t),children:[],content:{uri:`${t.id}.b3dm`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(u_(s,bz,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await S4(t),n=wz.default.hrtime(this.conversionStartTime),i=N1(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${bRt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var cv=require("path");var _Rt="4.2.4",wRt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",gD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Yr(wRt,dU,{}),n=process.cwd();t&&(n=(0,cv.join)(n,t)),await Sn(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(ip[An.DECODER],"draco",An.DECODER),await this.installFromUrl(ip[An.DECODER_WASM],"draco",An.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(ip[An.ENCODER],"draco",An.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Qu.TRANSCODER,"libs"),await this.installFromNpm("textures",Qu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Qu.ENCODER,"libs"),await this.installFromNpm("textures",Qu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new L0,a=(0,cv.dirname)(process.execPath);await i.start({command:`"${a}/${process.platform==="win32"?"npm.cmd":"npm"}"`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await pa(`https://unpkg.com/@loaders.gl/${t}@${_Rt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,cv.join)(process.cwd(),"modules",t,"dist",n);await Sn(o,a,r)}async installFromUrl(t,r,n){let a=await(await pa(t)).arrayBuffer();if(!a)return;let o=(0,cv.join)(process.cwd(),"modules",r,"dist","libs");await Sn(o,a,n)}};function Qs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function $8e(e,t){let r=Qs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function V8e(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function W8e(e,t){let r=Qs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function rs(e,t){let r=Qs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var Y8e=require("fs/promises"),Ez={I3S:"I3S",_3DTILES:"3DTILES"};async function ERt(){let[,,...e]=process.argv;e.length===0&&Az();let t=V8e(e),r=SRt(t);if(r.installDependencies){new gD().install("deps");return}if(r.addHash){let i=K8e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await vD.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,Y8e.copyFile)(i.tileset,a);let o=await _2(cc(new Qa(a)));await vU(a,o,"@specialIndexFileHASH128@");return}let n=K8e(r);await ARt(n)}ERt().catch(e=>{console.log(e),process.exit(1)});function Az(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [Generate slpk (Scene Layer Packages) I3S output file]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log('--7zExe [location of 7z.exe archiver to create slpk on Windows, default: "C:\\Program Files\\7-Zip\\7z.exe"]'),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function ARt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case Ez.I3S:await new uv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:vD.default});break;case Ez._3DTILES:await new av().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,slpk:e.slpk,sevenZipExe:e.sevenZipExe,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:vD.default});break;default:Az()}}function K8e(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},sevenZipExe:{getMessage:()=>console.log("Missed: --7zExe [7z archiver executable path]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:i=>t||Boolean(i)&&Object.values(Ez).includes(i.toUpperCase())}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function SRt(e){let t={output:"data",instantNodeWriting:!1,mergeMaterials:!0,sevenZipExe:"C:\\Program Files\\7-Zip\\7z.exe",egm:(0,J8e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,slpk:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Qs(n,e);break;case"--tileset":t.tileset=$8e(n,e);break;case"--name":t.name=Qs(n,e);break;case"--output":t.output=Qs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=rs(n,e);break;case"--split-nodes":t.mergeMaterials=rs(n,e);break;case"--max-depth":t.maxDepth=W8e(n,e);break;case"--slpk":t.slpk=rs(n,e);break;case"--add-hash":t.addHash=rs(n,e);break;case"--7zExe":t.sevenZipExe=Qs(n,e);break;case"--egm":t.egm=Qs(n,e);break;case"--token":t.token=Qs(n,e);break;case"--no-draco":t.draco=rs(n,e);break;case"--validate":t.validate=rs(n,e);break;case"--install-dependencies":t.installDependencies=rs(n,e);break;case"--generate-textures":t.generateTextures=rs(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=rs(n,e);break;case"--analyze":t.analyze=rs(n,e);break;case"--quiet":t.quiet=rs(n,e);break;case"--metadata-class":t.metadataClass=Qs(n,e);break;case"--help":Az();break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
162
162
  /*! Bundled license information:
163
163
 
164
164
  is-buffer/index.js: