@loaders.gl/tile-converter 4.4.0-alpha.1 → 4.4.0-alpha.2

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.
@@ -151,13 +151,13 @@ Calls to async() callback can have unexpected results.`),l=!0,function(h,m){h?c(
151
151
  || ${o} === "boolean" || ${i} === null`).assign(s,(0,Ot._)`[${i}]`)}}}function o4t({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Ot._)`${t} !== undefined`,()=>e.assign((0,Ot._)`${t}[${r}]`,n))}function cN(e,t,r,n=lv.Correct){let i=n===lv.Correct?Ot.operators.EQ:Ot.operators.NEQ,a;switch(e){case"null":return(0,Ot._)`${t} ${i} null`;case"array":a=(0,Ot._)`Array.isArray(${t})`;break;case"object":a=(0,Ot._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=o((0,Ot._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=o();break;default:return(0,Ot._)`typeof ${t} ${i} ${e}`}return n===lv.Correct?a:(0,Ot.not)(a);function o(s=Ot.nil){return(0,Ot.and)((0,Ot._)`typeof ${t} == "number"`,s,r?(0,Ot._)`isFinite(${t})`:Ot.nil)}}$i.checkDataType=cN;function lN(e,t,r,n){if(e.length===1)return cN(e[0],t,r,n);let i,a=(0,KEe.toHash)(e);if(a.array&&a.object){let o=(0,Ot._)`typeof ${t} != "object"`;i=a.null?o:(0,Ot._)`!${t} || ${o}`,delete a.null,delete a.array,delete a.object}else i=Ot.nil;a.number&&delete a.integer;for(let o in a)i=(0,Ot.and)(i,cN(o,t,r,n));return i}$i.checkDataTypes=lN;var s4t={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Ot._)`{type: ${e}}`:(0,Ot._)`{type: ${t}}`};function fN(e){let t=u4t(e);(0,t4t.reportError)(t,s4t)}$i.reportTypeError=fN;function u4t(e){let{gen:t,data:r,schema:n}=e,i=(0,KEe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var QEe=v(CC=>{"use strict";Object.defineProperty(CC,"__esModule",{value:!0});CC.assignDefaults=void 0;var fv=Lt(),c4t=ur();function l4t(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)YEe(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,a)=>YEe(e,a,i.default))}CC.assignDefaults=l4t;function YEe(e,t,r){let{gen:n,compositeRule:i,data:a,opts:o}=e;if(r===void 0)return;let s=(0,fv._)`${a}${(0,fv.getProperty)(t)}`;if(i){(0,c4t.checkStrictMode)(e,`default is ignored for: ${s}`);return}let u=(0,fv._)`${s} === undefined`;o.useDefaults==="empty"&&(u=(0,fv._)`${u} || ${s} === null || ${s} === ""`),n.if(u,(0,fv._)`${s} = ${(0,fv.stringify)(r)}`)}});var qo=v(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.validateUnion=Cr.validateArray=Cr.usePattern=Cr.callValidateCode=Cr.schemaProperties=Cr.allSchemaProperties=Cr.noPropertyInData=Cr.propertyInData=Cr.isOwnProperty=Cr.hasPropFunc=Cr.reportMissingProp=Cr.checkMissingProp=Cr.checkReportMissingProp=void 0;var Kr=Lt(),pN=ur(),rp=pl(),f4t=ur();function p4t(e,t){let{gen:r,data:n,it:i}=e;r.if(hN(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Kr._)`${t}`},!0),e.error()})}Cr.checkReportMissingProp=p4t;function d4t({gen:e,data:t,it:{opts:r}},n,i){return(0,Kr.or)(...n.map(a=>(0,Kr.and)(hN(e,t,a,r.ownProperties),(0,Kr._)`${i} = ${a}`)))}Cr.checkMissingProp=d4t;function h4t(e,t){e.setParams({missingProperty:t},!0),e.error()}Cr.reportMissingProp=h4t;function ZEe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Kr._)`Object.prototype.hasOwnProperty`})}Cr.hasPropFunc=ZEe;function dN(e,t,r){return(0,Kr._)`${ZEe(e)}.call(${t}, ${r})`}Cr.isOwnProperty=dN;function m4t(e,t,r,n){let i=(0,Kr._)`${t}${(0,Kr.getProperty)(r)} !== undefined`;return n?(0,Kr._)`${i} && ${dN(e,t,r)}`:i}Cr.propertyInData=m4t;function hN(e,t,r,n){let i=(0,Kr._)`${t}${(0,Kr.getProperty)(r)} === undefined`;return n?(0,Kr.or)(i,(0,Kr.not)(dN(e,t,r))):i}Cr.noPropertyInData=hN;function eAe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}Cr.allSchemaProperties=eAe;function g4t(e,t){return eAe(t).filter(r=>!(0,pN.alwaysValidSchema)(e,t[r]))}Cr.schemaProperties=g4t;function v4t({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,u,c){let l=c?(0,Kr._)`${e}, ${t}, ${n}${i}`:t,f=[[rp.default.instancePath,(0,Kr.strConcat)(rp.default.instancePath,a)],[rp.default.parentData,o.parentData],[rp.default.parentDataProperty,o.parentDataProperty],[rp.default.rootData,rp.default.rootData]];o.opts.dynamicRef&&f.push([rp.default.dynamicAnchors,rp.default.dynamicAnchors]);let p=(0,Kr._)`${l}, ${r.object(...f)}`;return u!==Kr.nil?(0,Kr._)`${s}.call(${u}, ${p})`:(0,Kr._)`${s}(${p})`}Cr.callValidateCode=v4t;var x4t=(0,Kr._)`new RegExp`;function b4t({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,Kr._)`${i.code==="new RegExp"?x4t:(0,f4t.useFunc)(e,i)}(${r}, ${n})`})}Cr.usePattern=b4t;function y4t(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,Kr._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:pN.Type.Num},a),t.if((0,Kr.not)(a),s)})}}Cr.validateArray=y4t;function _4t(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,pN.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,Kr._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,Kr.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}Cr.validateUnion=_4t});var nAe=v($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.validateKeywordUsage=$u.validSchemaType=$u.funcKeywordCode=$u.macroKeywordCode=void 0;var sa=Lt(),oh=pl(),w4t=qo(),E4t=W1();function A4t(e,t){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=e,s=t.macro.call(o.self,i,a,o),u=rAe(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let c=r.name("valid");e.subschema({schema:s,schemaPath:sa.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}$u.macroKeywordCode=A4t;function T4t(e,t){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:u}=e;C4t(u,t);let c=!s&&t.compile?t.compile.call(u.self,a,o,u):t.validate,l=rAe(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)m(),t.modifying&&tAe(e),g(()=>e.error());else{let b=t.async?d():h();t.modifying&&tAe(e),g(()=>S4t(e,b))}}function d(){let b=n.let("ruleErrs",null);return n.try(()=>m((0,sa._)`await `),y=>n.assign(f,!1).if((0,sa._)`${y} instanceof ${u.ValidationError}`,()=>n.assign(b,(0,sa._)`${y}.errors`),()=>n.throw(y))),b}function h(){let b=(0,sa._)`${l}.errors`;return n.assign(b,null),m(sa.nil),b}function m(b=t.async?(0,sa._)`await `:sa.nil){let y=u.opts.passContext?oh.default.this:oh.default.self,w=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,sa._)`${b}${(0,w4t.callValidateCode)(e,l,y,w)}`,t.modifying)}function g(b){var y;n.if((0,sa.not)((y=t.valid)!==null&&y!==void 0?y:f),b)}}$u.funcKeywordCode=T4t;function tAe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,sa._)`${n.parentData}[${n.parentDataProperty}]`))}function S4t(e,t){let{gen:r}=e;r.if((0,sa._)`Array.isArray(${t})`,()=>{r.assign(oh.default.vErrors,(0,sa._)`${oh.default.vErrors} === null ? ${t} : ${oh.default.vErrors}.concat(${t})`).assign(oh.default.errors,(0,sa._)`${oh.default.vErrors}.length`),(0,E4t.extendErrors)(e)},()=>e.error())}function C4t({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function rAe(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,sa.stringify)(r)})}function D4t(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")}$u.validSchemaType=D4t;function F4t({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)}}$u.validateKeywordUsage=F4t});var aAe=v(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.extendSubschemaMode=np.extendSubschemaData=np.getSubschema=void 0;var Wu=Lt(),iAe=ur();function k4t(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,Wu._)`${e.schemaPath}${(0,Wu.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Wu._)`${e.schemaPath}${(0,Wu.getProperty)(t)}${(0,Wu.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,iAe.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')}np.getSubschema=k4t;function B4t(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,Wu._)`${t.data}${(0,Wu.getProperty)(r)}`,!0);u(p),e.errorPath=(0,Wu.str)`${c}${(0,iAe.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,Wu._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(i!==void 0){let c=i instanceof Wu.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]}}np.extendSubschemaData=B4t;function O4t(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}np.extendSubschemaMode=O4t});var sAe=v((whr,oAe)=>{"use strict";var ip=oAe.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(){};DC(t,n,i,e,"",e)};ip.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ip.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ip.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ip.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 DC(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 ip.arrayKeywords)for(var p=0;p<f.length;p++)DC(e,t,r,f[p],i+"/"+l+"/"+p,a,i,l,n,p)}else if(l in ip.propsKeywords){if(f&&typeof f=="object")for(var d in f)DC(e,t,r,f[d],i+"/"+l+"/"+I4t(d),a,i,l,n,d)}else(l in ip.keywords||e.allKeys&&!(l in ip.skipKeywords))&&DC(e,t,r,f,i+"/"+l,a,i,l,n)}r(n,i,a,o,s,u,c)}}function I4t(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var J1=v(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.getSchemaRefs=Ba.resolveUrl=Ba.normalizeId=Ba._getFullPath=Ba.getFullPath=Ba.inlineRef=void 0;var P4t=ur(),R4t=e0(),j4t=sAe(),M4t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function L4t(e,t=!0){return typeof e=="boolean"?!0:t===!0?!mN(e):t?uAe(e)<=t:!1}Ba.inlineRef=L4t;var q4t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function mN(e){for(let t in e){if(q4t.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(mN)||typeof r=="object"&&mN(r))return!0}return!1}function uAe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!M4t.has(r)&&(typeof e[r]=="object"&&(0,P4t.eachItem)(e[r],n=>t+=uAe(n)),t===1/0))return 1/0}return t}function cAe(e,t="",r){r!==!1&&(t=pv(t));let n=e.parse(t);return lAe(e,n)}Ba.getFullPath=cAe;function lAe(e,t){return e.serialize(t).split("#")[0]+"#"}Ba._getFullPath=lAe;var N4t=/#\/?$/;function pv(e){return e?e.replace(N4t,""):""}Ba.normalizeId=pv;function U4t(e,t,r){return r=pv(r),e.resolve(t,r)}Ba.resolveUrl=U4t;var G4t=/^[a-z_][-a-z0-9._]*$/i;function z4t(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=pv(e[r]||t),a={"":i},o=cAe(n,i,!1),s={},u=new Set;return j4t(e,{allKeys:!0},(f,p,d,h)=>{if(h===void 0)return;let m=o+p,g=a[h];typeof f[r]=="string"&&(g=b.call(this,f[r])),y.call(this,f.$anchor),y.call(this,f.$dynamicAnchor),a[p]=g;function b(w){let T=this.opts.uriResolver.resolve;if(w=pv(g?T(g,w):w),u.has(w))throw l(w);u.add(w);let E=this.refs[w];return typeof E=="string"&&(E=this.refs[E]),typeof E=="object"?c(f,E.schema,w):w!==pv(m)&&(w[0]==="#"?(c(f,s[w],w),s[w]=f):this.refs[w]=m),w}function y(w){if(typeof w=="string"){if(!G4t.test(w))throw new Error(`invalid anchor "${w}"`);b.call(this,`#${w}`)}}}),s;function c(f,p,d){if(p!==void 0&&!R4t(f,p))throw l(d)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}Ba.getSchemaRefs=z4t});var Q1=v(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});ap.getData=ap.KeywordCxt=ap.validateFunctionCode=void 0;var mAe=VEe(),fAe=K1(),vN=uN(),FC=K1(),H4t=QEe(),Y1=nAe(),gN=aAe(),at=Lt(),wt=pl(),V4t=J1(),dl=ur(),X1=W1();function $4t(e){if(xAe(e)&&(bAe(e),vAe(e))){J4t(e);return}gAe(e,()=>(0,mAe.topBoolOrEmptySchema)(e))}ap.validateFunctionCode=$4t;function gAe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},a){i.code.es5?e.func(t,(0,at._)`${wt.default.data}, ${wt.default.valCxt}`,n.$async,()=>{e.code((0,at._)`"use strict"; ${pAe(r,i)}`),K4t(e,i),e.code(a)}):e.func(t,(0,at._)`${wt.default.data}, ${W4t(i)}`,n.$async,()=>e.code(pAe(r,i)).code(a))}function W4t(e){return(0,at._)`{${wt.default.instancePath}="", ${wt.default.parentData}, ${wt.default.parentDataProperty}, ${wt.default.rootData}=${wt.default.data}${e.dynamicRef?(0,at._)`, ${wt.default.dynamicAnchors}={}`:at.nil}}={}`}function K4t(e,t){e.if(wt.default.valCxt,()=>{e.var(wt.default.instancePath,(0,at._)`${wt.default.valCxt}.${wt.default.instancePath}`),e.var(wt.default.parentData,(0,at._)`${wt.default.valCxt}.${wt.default.parentData}`),e.var(wt.default.parentDataProperty,(0,at._)`${wt.default.valCxt}.${wt.default.parentDataProperty}`),e.var(wt.default.rootData,(0,at._)`${wt.default.valCxt}.${wt.default.rootData}`),t.dynamicRef&&e.var(wt.default.dynamicAnchors,(0,at._)`${wt.default.valCxt}.${wt.default.dynamicAnchors}`)},()=>{e.var(wt.default.instancePath,(0,at._)`""`),e.var(wt.default.parentData,(0,at._)`undefined`),e.var(wt.default.parentDataProperty,(0,at._)`undefined`),e.var(wt.default.rootData,wt.default.data),t.dynamicRef&&e.var(wt.default.dynamicAnchors,(0,at._)`{}`)})}function J4t(e){let{schema:t,opts:r,gen:n}=e;gAe(e,()=>{r.$comment&&t.$comment&&_Ae(e),ekt(e),n.let(wt.default.vErrors,null),n.let(wt.default.errors,0),r.unevaluated&&X4t(e),yAe(e),nkt(e)})}function X4t(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,at._)`${r}.evaluated`),t.if((0,at._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,at._)`${e.evaluated}.props`,(0,at._)`undefined`)),t.if((0,at._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,at._)`${e.evaluated}.items`,(0,at._)`undefined`))}function pAe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function Y4t(e,t){if(xAe(e)&&(bAe(e),vAe(e))){Q4t(e,t);return}(0,mAe.boolOrEmptySchema)(e,t)}function vAe({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 xAe(e){return typeof e.schema!="boolean"}function Q4t(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&_Ae(e),tkt(e),rkt(e);let a=n.const("_errs",wt.default.errors);yAe(e,a),n.var(t,(0,at._)`${a} === ${wt.default.errors}`)}function bAe(e){(0,dl.checkUnknownRules)(e),Z4t(e)}function yAe(e,t){if(e.opts.jtd)return dAe(e,[],!1,t);let r=(0,fAe.getSchemaTypes)(e.schema),n=(0,fAe.coerceAndCheckDataType)(e,r);dAe(e,r,!n,t)}function Z4t(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,dl.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function ekt(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,dl.checkStrictMode)(e,"default is ignored in the schema root")}function tkt(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,V4t.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function rkt(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function _Ae({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)e.code((0,at._)`${wt.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,at.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,at._)`${wt.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function nkt(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=e;r.$async?t.if((0,at._)`${wt.default.errors} === 0`,()=>t.return(wt.default.data),()=>t.throw((0,at._)`new ${i}(${wt.default.vErrors})`)):(t.assign((0,at._)`${n}.errors`,wt.default.vErrors),a.unevaluated&&ikt(e),t.return((0,at._)`${wt.default.errors} === 0`))}function ikt({gen:e,evaluated:t,props:r,items:n}){r instanceof at.Name&&e.assign((0,at._)`${t}.props`,r),n instanceof at.Name&&e.assign((0,at._)`${t}.items`,n)}function dAe(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,dl.schemaHasRulesButRef)(a,l))){i.block(()=>EAe(e,"$ref",l.all.$ref.definition));return}u.jtd||akt(e,t),i.block(()=>{for(let p of l.rules)f(p);f(l.post)});function f(p){(0,vN.shouldUseGroup)(a,p)&&(p.type?(i.if((0,FC.checkDataType)(p.type,o,u.strictNumbers)),hAe(e,p),t.length===1&&t[0]===p.type&&r&&(i.else(),(0,FC.reportTypeError)(e)),i.endIf()):hAe(e,p),s||i.if((0,at._)`${wt.default.errors} === ${n||0}`))}}function hAe(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,H4t.assignDefaults)(e,t.type),r.block(()=>{for(let a of t.rules)(0,vN.shouldUseRule)(n,a)&&EAe(e,a.keyword,a.definition,t.type)})}function akt(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(okt(e,t),e.opts.allowUnionTypes||skt(e,t),ukt(e,e.dataTypes))}function okt(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{wAe(e.dataTypes,r)||xN(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),lkt(e,t)}}function skt(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&xN(e,"use allowUnionTypes to allow union type keyword")}function ukt(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,vN.shouldUseRule)(e.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>ckt(t,o))&&xN(e,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function ckt(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function wAe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function lkt(e,t){let r=[];for(let n of e.dataTypes)wAe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function xN(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,dl.checkStrictMode)(e,t,e.opts.strictTypes)}var kC=class{constructor(t,r,n){if((0,Y1.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,dl.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",AAe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Y1.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",wt.default.errors))}result(t,r,n){this.failResult((0,at.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,at.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,at._)`${r} !== undefined && (${(0,at.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?X1.reportExtraError:X1.reportError)(this,this.def.error,r)}$dataError(){(0,X1.reportError)(this,this.def.$dataError||X1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,X1.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=at.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,at.or)((0,at._)`${i} === undefined`,r)),t!==at.nil&&n.assign(t,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==at.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,at.or)(o(),s());function o(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return(0,at._)`${(0,FC.checkDataTypes)(u,r,a.opts.strictNumbers,FC.DataType.Wrong)}`}return at.nil}function s(){if(i.validateSchema){let u=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,at._)`!${u}(${r})`}return at.nil}}subschema(t,r){let n=(0,gN.getSubschema)(this.it,t);(0,gN.extendSubschemaData)(n,this.it,t),(0,gN.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return Y4t(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=dl.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=dl.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,at.Name)),!0}};ap.KeywordCxt=kC;function EAe(e,t,r,n){let i=new kC(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Y1.funcKeywordCode)(i,r):"macro"in r?(0,Y1.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Y1.funcKeywordCode)(i,r)}var fkt=/^\/(?:[^~]|~0|~1)*$/,pkt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function AAe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,a;if(e==="")return wt.default.rootData;if(e[0]==="/"){if(!fkt.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,a=wt.default.rootData}else{let c=pkt.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,at._)`${a}${(0,at.getProperty)((0,dl.unescapeJsonPointer)(c))}`,o=(0,at._)`${o} && ${a}`);return o;function u(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}ap.getData=AAe});var BC=v(yN=>{"use strict";Object.defineProperty(yN,"__esModule",{value:!0});var bN=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};yN.default=bN});var Z1=v(EN=>{"use strict";Object.defineProperty(EN,"__esModule",{value:!0});var _N=J1(),wN=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,_N.resolveUrl)(t,r,n),this.missingSchema=(0,_N.normalizeId)((0,_N.getFullPath)(t,this.missingRef))}};EN.default=wN});var IC=v(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.resolveSchema=No.getCompilingSchema=No.resolveRef=No.compileSchema=No.SchemaEnv=void 0;var Os=Lt(),dkt=BC(),sh=pl(),Is=J1(),TAe=ur(),hkt=Q1(),dv=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,Is.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={}}};No.SchemaEnv=dv;function TN(e){let t=SAe.call(this,e);if(t)return t;let r=(0,Is.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new Os.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;e.$async&&(s=o.scopeValue("Error",{ref:dkt.default,code:(0,Os._)`require("ajv/dist/runtime/validation_error").default`}));let u=o.scopeName("validate");e.validateName=u;let c={gen:o,allErrors:this.opts.allErrors,data:sh.default.data,parentData:sh.default.parentData,parentDataProperty:sh.default.parentDataProperty,dataNames:[sh.default.data],dataPathArr:[Os.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Os.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Os.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Os._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,hkt.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);let f=o.toString();l=`${o.scopeRefs(sh.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let d=new Function(`${sh.default.self}`,`${sh.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:m}=c;d.evaluated={props:h instanceof Os.Name?void 0:h,items:m instanceof Os.Name?void 0:m,dynamicProps:h instanceof Os.Name,dynamicItems:m instanceof Os.Name},d.source&&(d.source.evaluated=(0,Os.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)}}No.compileSchema=TN;function mkt(e,t,r){var n;r=(0,Is.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let a=xkt.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 dv({schema:o,schemaId:s,root:e,baseId:t}))}if(a!==void 0)return e.refs[r]=gkt.call(this,a)}No.resolveRef=mkt;function gkt(e){return(0,Is.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:TN.call(this,e)}function SAe(e){for(let t of this._compilations)if(vkt(t,e))return t}No.getCompilingSchema=SAe;function vkt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function xkt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||OC.call(this,e,t)}function OC(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Is._getFullPath)(this.opts.uriResolver,r),i=(0,Is.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return AN.call(this,r,e);let a=(0,Is.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=OC.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:AN.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||TN.call(this,o),a===(0,Is.normalizeId)(t)){let{schema:s}=o,{schemaId:u}=this.opts,c=s[u];return c&&(i=(0,Is.resolveUrl)(this.opts.uriResolver,i,c)),new dv({schema:s,schemaId:u,root:e,baseId:i})}return AN.call(this,r,o)}}No.resolveSchema=OC;var bkt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function AN(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,TAe.unescapeFragment)(s)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!bkt.has(s)&&c&&(t=(0,Is.resolveUrl)(this.opts.uriResolver,t,c))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,TAe.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Is.resolveUrl)(this.opts.uriResolver,t,r.$ref);a=OC.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new dv({schema:r,schemaId:o,root:n,baseId:t}),a.schema!==a.root.schema)return a}});var CAe=v((Dhr,ykt)=>{ykt.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 FAe=v((Fhr,DAe)=>{"use strict";var _kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};DAe.exports={HEX:_kt}});var MAe=v((khr,jAe)=>{"use strict";var{HEX:wkt}=FAe();function IAe(e){if(RAe(e,".")<3)return{host:e,isIPV4:!1};let t=e.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u)||[],[r]=t;return r?{host:Akt(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function SN(e,t=!1){let r="",n=!0;for(let i of e){if(wkt[i]===void 0)return;i!=="0"&&n===!0&&(n=!1),n||(r+=i)}return t&&r.length===0&&(r="0"),r}function Ekt(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=!1;function u(){if(i.length){if(a===!1){let c=SN(i);if(c!==void 0)n.push(c);else return r.error=!0,!1}i.length=0}return!0}for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(o===!0&&(s=!0),!u())break;if(t++,n.push(":"),t>7){r.error=!0;break}c-1>=0&&e[c-1]===":"&&(o=!0);continue}else if(l==="%"){if(!u())break;a=!0}else{i.push(l);continue}}return i.length&&(a?r.zone=i.join(""):s?n.push(i.join("")):n.push(SN(i))),r.address=n.join(""),r}function PAe(e,t={}){if(RAe(e,":")<2)return{host:e,isIPV6:!1};let r=Ekt(e);if(r.error)return{host:e,isIPV6:!1};{let n=r.address,i=r.address;return r.zone&&(n+="%"+r.zone,i+="%25"+r.zone),{host:n,escapedHost:i,isIPV6:!0}}}function Akt(e,t){let r="",n=!0,i=e.length;for(let a=0;a<i;a++){let o=e[a];o==="0"&&n?(a+1<=i&&e[a+1]===t||a+1===i)&&(r+=o,n=!1):(o===t?n=!0:n=!1,r+=o)}return r}function RAe(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}var kAe=/^\.\.?\//u,BAe=/^\/\.(?:\/|$)/u,OAe=/^\/\.\.(?:\/|$)/u,Tkt=/^\/?(?:.|\n)*?(?=\/|$)/u;function Skt(e){let t=[];for(;e.length;)if(e.match(kAe))e=e.replace(kAe,"");else if(e.match(BAe))e=e.replace(BAe,"/");else if(e.match(OAe))e=e.replace(OAe,"/"),t.pop();else if(e==="."||e==="..")e="";else{let r=e.match(Tkt);if(r){let n=r[0];e=e.slice(n.length),t.push(n)}else throw new Error("Unexpected dot segment condition")}return t.join("")}function Ckt(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function Dkt(e,t){let r=[];if(e.userinfo!==void 0&&(r.push(e.userinfo),r.push("@")),e.host!==void 0){let n=unescape(e.host),i=IAe(n);if(i.isIPV4)n=i.host;else{let a=PAe(i.host,{isIPV4:!1});a.isIPV6===!0?n=`[${a.escapedHost}]`:n=e.host}r.push(n)}return(typeof e.port=="number"||typeof e.port=="string")&&(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}jAe.exports={recomposeAuthority:Dkt,normalizeComponentEncoding:Ckt,removeDotSegments:Skt,normalizeIPv4:IAe,normalizeIPv6:PAe,stringArrayToHexStripped:SN}});var zAe=v((Bhr,GAe)=>{"use strict";var Fkt=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,kkt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function LAe(e){return typeof e.secure=="boolean"?e.secure:String(e.scheme).toLowerCase()==="wss"}function qAe(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function NAe(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Bkt(e){return e.secure=LAe(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Okt(e){if((e.port===(LAe(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Ikt(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(kkt);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,a=CN[i];e.path=void 0,a&&(e=a.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Pkt(e,t){let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,a=CN[i];a&&(e=a.serialize(e,t));let o=e,s=e.nss;return o.path=`${n||t.nid}:${s}`,t.skipEscape=!0,o}function Rkt(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Fkt.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function jkt(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var UAe={scheme:"http",domainHost:!0,parse:qAe,serialize:NAe},Mkt={scheme:"https",domainHost:UAe.domainHost,parse:qAe,serialize:NAe},PC={scheme:"ws",domainHost:!0,parse:Bkt,serialize:Okt},Lkt={scheme:"wss",domainHost:PC.domainHost,parse:PC.parse,serialize:PC.serialize},qkt={scheme:"urn",parse:Ikt,serialize:Pkt,skipNormalize:!0},Nkt={scheme:"urn:uuid",parse:Rkt,serialize:jkt,skipNormalize:!0},CN={http:UAe,https:Mkt,ws:PC,wss:Lkt,urn:qkt,"urn:uuid":Nkt};GAe.exports=CN});var VAe=v((Ohr,jC)=>{"use strict";var{normalizeIPv6:Ukt,normalizeIPv4:Gkt,removeDotSegments:e_,recomposeAuthority:zkt,normalizeComponentEncoding:RC}=MAe(),DN=zAe();function Hkt(e,t){return typeof e=="string"?e=Ku(hl(e,t),t):typeof e=="object"&&(e=hl(Ku(e,t),t)),e}function Vkt(e,t,r){let n=Object.assign({scheme:"null"},r),i=HAe(hl(e,n),hl(t,n),n,!0);return Ku(i,{...n,skipEscape:!0})}function HAe(e,t,r,n){let i={};return n||(e=hl(Ku(e,r),r),t=hl(Ku(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=e_(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=e_(t.path||""),i.query=t.query):(t.path?(t.path.charAt(0)==="/"?i.path=e_(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=e_(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function $kt(e,t,r){return typeof e=="string"?(e=unescape(e),e=Ku(RC(hl(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Ku(RC(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Ku(RC(hl(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Ku(RC(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Ku(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),i=[],a=DN[(n.scheme||r.scheme||"").toLowerCase()];a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(i.push(r.scheme),i.push(":"));let o=zkt(r,n);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path.charAt(0)!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=e_(s)),o===void 0&&(s=s.replace(/^\/\//u,"/%2F")),i.push(s)}return r.query!==void 0&&(i.push("?"),i.push(r.query)),r.fragment!==void 0&&(i.push("#"),i.push(r.fragment)),i.join("")}var Wkt=Array.from({length:127},(e,t)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function Kkt(e){let t=0;for(let r=0,n=e.length;r<n;++r)if(t=e.charCodeAt(r),t>126||Wkt[t])return!0;return!1}var Jkt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function hl(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=e.indexOf("%")!==-1,a=!1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);let o=e.match(Jkt);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host){let u=Gkt(n.host);if(u.isIPV4===!1){let c=Ukt(u.host,{isIPV4:!1});n.host=c.host.toLowerCase(),a=c.isIPV6}else n.host=u.host,a=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let s=DN[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!s||!s.unicodeSupport)&&n.host&&(r.domainHost||s&&s.domainHost)&&a===!1&&Kkt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(u){n.error=n.error||"Host's domain name can not be converted to ASCII: "+u}(!s||s&&!s.skipNormalize)&&(i&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),i&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),i&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),s&&s.parse&&s.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var FN={SCHEMES:DN,normalize:Hkt,resolve:Vkt,resolveComponents:HAe,equal:$kt,serialize:Ku,parse:hl};jC.exports=FN;jC.exports.default=FN;jC.exports.fastUri=FN});var WAe=v(kN=>{"use strict";Object.defineProperty(kN,"__esModule",{value:!0});var $Ae=VAe();$Ae.code='require("ajv/dist/runtime/uri").default';kN.default=$Ae});var tTe=v(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.CodeGen=Ci.Name=Ci.nil=Ci.stringify=Ci.str=Ci._=Ci.KeywordCxt=void 0;var Xkt=Q1();Object.defineProperty(Ci,"KeywordCxt",{enumerable:!0,get:function(){return Xkt.KeywordCxt}});var hv=Lt();Object.defineProperty(Ci,"_",{enumerable:!0,get:function(){return hv._}});Object.defineProperty(Ci,"str",{enumerable:!0,get:function(){return hv.str}});Object.defineProperty(Ci,"stringify",{enumerable:!0,get:function(){return hv.stringify}});Object.defineProperty(Ci,"nil",{enumerable:!0,get:function(){return hv.nil}});Object.defineProperty(Ci,"Name",{enumerable:!0,get:function(){return hv.Name}});Object.defineProperty(Ci,"CodeGen",{enumerable:!0,get:function(){return hv.CodeGen}});var Ykt=BC(),QAe=Z1(),Qkt=sN(),t_=IC(),Zkt=Lt(),r_=J1(),MC=K1(),ON=ur(),KAe=CAe(),e5t=WAe(),ZAe=(e,t)=>new RegExp(e,t);ZAe.code="new RegExp";var t5t=["removeAdditional","useDefaults","coerceTypes"],r5t=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),n5t={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."},i5t={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},JAe=200;function a5t(e){var t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g,b,y,w,T,E,k,B,j,C;let I=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,L=P===!0||P===void 0?1:P||0,G=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:ZAe,V=(i=e.uriResolver)!==null&&i!==void 0?i:e5t.default;return{strictSchema:(o=(a=e.strictSchema)!==null&&a!==void 0?a:I)!==null&&o!==void 0?o:!0,strictNumbers:(u=(s=e.strictNumbers)!==null&&s!==void 0?s:I)!==null&&u!==void 0?u:!0,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:I)!==null&&l!==void 0?l:"log",strictTuples:(p=(f=e.strictTuples)!==null&&f!==void 0?f:I)!==null&&p!==void 0?p:"log",strictRequired:(h=(d=e.strictRequired)!==null&&d!==void 0?d:I)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:L,regExp:G}:{optimize:L,regExp:G},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:JAe,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:JAe,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(T=e.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(E=e.addUsedSchema)!==null&&E!==void 0?E:!0,validateSchema:(k=e.validateSchema)!==null&&k!==void 0?k:!0,validateFormats:(B=e.validateFormats)!==null&&B!==void 0?B:!0,unicodeRegExp:(j=e.unicodeRegExp)!==null&&j!==void 0?j:!0,int32range:(C=e.int32range)!==null&&C!==void 0?C:!0,uriResolver:V}}var n_=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...a5t(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Zkt.ValueScope({scope:{},prefixes:r5t,es5:r,lines:n}),this.logger=f5t(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,Qkt.getRules)(),XAe.call(this,n5t,t,"NOT SUPPORTED"),XAe.call(this,i5t,t,"DEPRECATED","warn"),this._metaOpts=c5t.call(this),t.formats&&s5t.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&u5t.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),o5t.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=KAe;n==="id"&&(i={...KAe},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 QAe.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,r_.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=YAe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new t_.SchemaEnv({schema:{},schemaId:n});if(r=t_.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=YAe.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,r_.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(d5t.call(this,n,r),!r)return(0,ON.eachItem)(n,a=>BN.call(this,a)),this;m5t.call(this,r);let i={...r,type:(0,MC.getJSONTypes)(r.type),schemaType:(0,MC.getJSONTypes)(r.schemaType)};return(0,ON.eachItem)(n,i.type.length===0?a=>BN.call(this,a,i):a=>i.type.forEach(o=>BN.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]=eTe(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,r_.normalizeId)(o||n);let c=r_.getSchemaRefs.call(this,t,n);return u=new t_.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):t_.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{t_.compileSchema.call(this,t)}finally{this.opts=r}}};n_.ValidationError=Ykt.default;n_.MissingRefError=QAe.default;Ci.default=n_;function XAe(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 YAe(e){return e=(0,r_.normalizeId)(e),this.schemas[e]||this.refs[e]}function o5t(){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 s5t(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function u5t(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 c5t(){let e={...this.opts};for(let t of t5t)delete e[t];return e}var l5t={log(){},warn(){},error(){}};function f5t(e){if(e===!1)return l5t;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 p5t=/^[a-z_$][a-z0-9_$:-]*$/i;function d5t(e,t){let{RULES:r}=this;if((0,ON.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!p5t.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 BN(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,MC.getJSONTypes)(t.type),schemaType:(0,MC.getJSONTypes)(t.schemaType)}};t.before?h5t.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 h5t(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 m5t(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=eTe(t)),e.validateSchema=this.compile(t,!0))}var g5t={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function eTe(e){return{anyOf:[e,g5t]}}});var rTe=v(IN=>{"use strict";Object.defineProperty(IN,"__esModule",{value:!0});var v5t={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};IN.default=v5t});var oTe=v(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});uh.callRef=uh.getValidate=void 0;var x5t=Z1(),nTe=qo(),Oa=Lt(),mv=pl(),iTe=IC(),LC=ur(),b5t={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=iTe.resolveRef.call(u,c,i,r);if(l===void 0)throw new x5t.default(n.opts.uriResolver,i,r);if(l instanceof iTe.SchemaEnv)return p(l);return d(l);function f(){if(a===c)return qC(e,o,a,a.$async);let h=t.scopeValue("root",{ref:c});return qC(e,(0,Oa._)`${h}.validate`,c,c.$async)}function p(h){let m=aTe(e,h);qC(e,m,h,h.$async)}function d(h){let m=t.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Oa.stringify)(h)}:{ref:h}),g=t.name("valid"),b=e.subschema({schema:h,dataTypes:[],schemaPath:Oa.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(b),e.ok(g)}}};function aTe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Oa._)`${r.scopeValue("wrapper",{ref:t})}.validate`}uh.getValidate=aTe;function qC(e,t,r,n){let{gen:i,it:a}=e,{allErrors:o,schemaEnv:s,opts:u}=a,c=u.passContext?mv.default.this:Oa.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,Oa._)`await ${(0,nTe.callValidateCode)(e,t,c)}`),d(t),o||i.assign(h,!0)},m=>{i.if((0,Oa._)`!(${m} instanceof ${a.ValidationError})`,()=>i.throw(m)),p(m),o||i.assign(h,!1)}),e.ok(h)}function f(){e.result((0,nTe.callValidateCode)(e,t,c),()=>d(t),()=>p(t))}function p(h){let m=(0,Oa._)`${h}.errors`;i.assign(mv.default.vErrors,(0,Oa._)`${mv.default.vErrors} === null ? ${m} : ${mv.default.vErrors}.concat(${m})`),i.assign(mv.default.errors,(0,Oa._)`${mv.default.vErrors}.length`)}function d(h){var m;if(!a.opts.unevaluated)return;let g=(m=r==null?void 0:r.validate)===null||m===void 0?void 0:m.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=LC.mergeEvaluated.props(i,g.props,a.props));else{let b=i.var("props",(0,Oa._)`${h}.evaluated.props`);a.props=LC.mergeEvaluated.props(i,b,a.props,Oa.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=LC.mergeEvaluated.items(i,g.items,a.items));else{let b=i.var("items",(0,Oa._)`${h}.evaluated.items`);a.items=LC.mergeEvaluated.items(i,b,a.items,Oa.Name)}}}uh.callRef=qC;uh.default=b5t});var sTe=v(PN=>{"use strict";Object.defineProperty(PN,"__esModule",{value:!0});var y5t=rTe(),_5t=oTe(),w5t=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",y5t.default,_5t.default];PN.default=w5t});var uTe=v(RN=>{"use strict";Object.defineProperty(RN,"__esModule",{value:!0});var NC=Lt(),op=NC.operators,UC={maximum:{okStr:"<=",ok:op.LTE,fail:op.GT},minimum:{okStr:">=",ok:op.GTE,fail:op.LT},exclusiveMaximum:{okStr:"<",ok:op.LT,fail:op.GTE},exclusiveMinimum:{okStr:">",ok:op.GT,fail:op.LTE}},E5t={message:({keyword:e,schemaCode:t})=>(0,NC.str)`must be ${UC[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,NC._)`{comparison: ${UC[e].okStr}, limit: ${t}}`},A5t={keyword:Object.keys(UC),type:"number",schemaType:"number",$data:!0,error:E5t,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,NC._)`${r} ${UC[t].fail} ${n} || isNaN(${r})`)}};RN.default=A5t});var cTe=v(jN=>{"use strict";Object.defineProperty(jN,"__esModule",{value:!0});var i_=Lt(),T5t={message:({schemaCode:e})=>(0,i_.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,i_._)`{multipleOf: ${e}}`},S5t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:T5t,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,a=i.opts.multipleOfPrecision,o=t.let("res"),s=a?(0,i_._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,i_._)`${o} !== parseInt(${o})`;e.fail$data((0,i_._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};jN.default=S5t});var fTe=v(MN=>{"use strict";Object.defineProperty(MN,"__esModule",{value:!0});function lTe(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}MN.default=lTe;lTe.code='require("ajv/dist/runtime/ucs2length").default'});var pTe=v(LN=>{"use strict";Object.defineProperty(LN,"__esModule",{value:!0});var ch=Lt(),C5t=ur(),D5t=fTe(),F5t={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,ch.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,ch._)`{limit: ${e}}`},k5t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:F5t,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,a=t==="maxLength"?ch.operators.GT:ch.operators.LT,o=i.opts.unicode===!1?(0,ch._)`${r}.length`:(0,ch._)`${(0,C5t.useFunc)(e.gen,D5t.default)}(${r})`;e.fail$data((0,ch._)`${o} ${a} ${n}`)}};LN.default=k5t});var dTe=v(qN=>{"use strict";Object.defineProperty(qN,"__esModule",{value:!0});var B5t=qo(),GC=Lt(),O5t={message:({schemaCode:e})=>(0,GC.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,GC._)`{pattern: ${e}}`},I5t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:O5t,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"",s=r?(0,GC._)`(new RegExp(${i}, ${o}))`:(0,B5t.usePattern)(e,n);e.fail$data((0,GC._)`!${s}.test(${t})`)}};qN.default=I5t});var hTe=v(NN=>{"use strict";Object.defineProperty(NN,"__esModule",{value:!0});var a_=Lt(),P5t={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,a_.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,a_._)`{limit: ${e}}`},R5t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:P5t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?a_.operators.GT:a_.operators.LT;e.fail$data((0,a_._)`Object.keys(${r}).length ${i} ${n}`)}};NN.default=R5t});var mTe=v(UN=>{"use strict";Object.defineProperty(UN,"__esModule",{value:!0});var o_=qo(),s_=Lt(),j5t=ur(),M5t={message:({params:{missingProperty:e}})=>(0,s_.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,s_._)`{missingProperty: ${e}}`},L5t={keyword:"required",type:"object",schemaType:"array",$data:!0,error:M5t,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 m of r)if((d==null?void 0:d[m])===void 0&&!h.has(m)){let g=o.schemaEnv.baseId+o.errSchemaPath,b=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,j5t.checkStrictMode)(o,b,o.opts.strictRequired)}}function c(){if(u||a)e.block$data(s_.nil,f);else for(let d of r)(0,o_.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,o_.checkMissingProp)(e,r,d)),(0,o_.reportMissingProp)(e,d),t.else()}function f(){t.forOf("prop",n,d=>{e.setParams({missingProperty:d}),t.if((0,o_.noPropertyInData)(t,i,d,s.ownProperties),()=>e.error())})}function p(d,h){e.setParams({missingProperty:d}),t.forOf(d,n,()=>{t.assign(h,(0,o_.propertyInData)(t,i,d,s.ownProperties)),t.if((0,s_.not)(h),()=>{e.error(),t.break()})},s_.nil)}}};UN.default=L5t});var gTe=v(GN=>{"use strict";Object.defineProperty(GN,"__esModule",{value:!0});var u_=Lt(),q5t={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,u_.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,u_._)`{limit: ${e}}`},N5t={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:q5t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?u_.operators.GT:u_.operators.LT;e.fail$data((0,u_._)`${r}.length ${i} ${n}`)}};GN.default=N5t});var zC=v(zN=>{"use strict";Object.defineProperty(zN,"__esModule",{value:!0});var vTe=e0();vTe.code='require("ajv/dist/runtime/equal").default';zN.default=vTe});var xTe=v(VN=>{"use strict";Object.defineProperty(VN,"__esModule",{value:!0});var HN=K1(),Di=Lt(),U5t=ur(),G5t=zC(),z5t={message:({params:{i:e,j:t}})=>(0,Di.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Di._)`{i: ${e}, j: ${t}}`},H5t={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:z5t,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,HN.getSchemaTypes)(a.items):[];e.block$data(u,l,(0,Di._)`${o} === false`),e.ok(u);function l(){let h=t.let("i",(0,Di._)`${r}.length`),m=t.let("j");e.setParams({i:h,j:m}),t.assign(u,!0),t.if((0,Di._)`${h} > 1`,()=>(f()?p:d)(h,m))}function f(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function p(h,m){let g=t.name("item"),b=(0,HN.checkDataTypes)(c,g,s.opts.strictNumbers,HN.DataType.Wrong),y=t.const("indices",(0,Di._)`{}`);t.for((0,Di._)`;${h}--;`,()=>{t.let(g,(0,Di._)`${r}[${h}]`),t.if(b,(0,Di._)`continue`),c.length>1&&t.if((0,Di._)`typeof ${g} == "string"`,(0,Di._)`${g} += "_"`),t.if((0,Di._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,Di._)`${y}[${g}]`),e.error(),t.assign(u,!1).break()}).code((0,Di._)`${y}[${g}] = ${h}`)})}function d(h,m){let g=(0,U5t.useFunc)(t,G5t.default),b=t.name("outer");t.label(b).for((0,Di._)`;${h}--;`,()=>t.for((0,Di._)`${m} = ${h}; ${m}--;`,()=>t.if((0,Di._)`${g}(${r}[${h}], ${r}[${m}])`,()=>{e.error(),t.assign(u,!1).break(b)})))}}};VN.default=H5t});var bTe=v(WN=>{"use strict";Object.defineProperty(WN,"__esModule",{value:!0});var $N=Lt(),V5t=ur(),$5t=zC(),W5t={message:"must be equal to constant",params:({schemaCode:e})=>(0,$N._)`{allowedValue: ${e}}`},K5t={keyword:"const",$data:!0,error:W5t,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:a}=e;n||a&&typeof a=="object"?e.fail$data((0,$N._)`!${(0,V5t.useFunc)(t,$5t.default)}(${r}, ${i})`):e.fail((0,$N._)`${a} !== ${r}`)}};WN.default=K5t});var yTe=v(KN=>{"use strict";Object.defineProperty(KN,"__esModule",{value:!0});var c_=Lt(),J5t=ur(),X5t=zC(),Y5t={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,c_._)`{allowedValues: ${e}}`},Q5t={keyword:"enum",schemaType:"array",$data:!0,error:Y5t,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,J5t.useFunc)(t,X5t.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,c_.or)(...i.map((h,m)=>p(d,m)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",a,d=>t.if((0,c_._)`${c()}(${r}, ${d})`,()=>t.assign(l,!0).break()))}function p(d,h){let m=i[h];return typeof m=="object"&&m!==null?(0,c_._)`${c()}(${r}, ${d}[${h}])`:(0,c_._)`${r} === ${m}`}}};KN.default=Q5t});var _Te=v(JN=>{"use strict";Object.defineProperty(JN,"__esModule",{value:!0});var Z5t=uTe(),eBt=cTe(),tBt=pTe(),rBt=dTe(),nBt=hTe(),iBt=mTe(),aBt=gTe(),oBt=xTe(),sBt=bTe(),uBt=yTe(),cBt=[Z5t.default,eBt.default,tBt.default,rBt.default,nBt.default,iBt.default,aBt.default,oBt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},sBt.default,uBt.default];JN.default=cBt});var YN=v(l_=>{"use strict";Object.defineProperty(l_,"__esModule",{value:!0});l_.validateAdditionalItems=void 0;var lh=Lt(),XN=ur(),lBt={message:({params:{len:e}})=>(0,lh.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,lh._)`{limit: ${e}}`},fBt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:lBt,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,XN.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}wTe(e,n)}};function wTe(e,t){let{gen:r,schema:n,data:i,keyword:a,it:o}=e;o.items=!0;let s=r.const("len",(0,lh._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,lh._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,XN.alwaysValidSchema)(o,n)){let c=r.var("valid",(0,lh._)`${s} <= ${t.length}`);r.if((0,lh.not)(c),()=>u(c)),e.ok(c)}function u(c){r.forRange("i",t.length,s,l=>{e.subschema({keyword:a,dataProp:l,dataPropType:XN.Type.Num},c),o.allErrors||r.if((0,lh.not)(c),()=>r.break())})}}l_.validateAdditionalItems=wTe;l_.default=fBt});var QN=v(f_=>{"use strict";Object.defineProperty(f_,"__esModule",{value:!0});f_.validateTuple=void 0;var ETe=Lt(),HC=ur(),pBt=qo(),dBt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return ATe(e,"additionalItems",t);r.items=!0,!(0,HC.alwaysValidSchema)(r,t)&&e.ok((0,pBt.validateArray)(e))}};function ATe(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=HC.mergeEvaluated.items(n,r.length,s.items));let u=n.name("valid"),c=n.const("len",(0,ETe._)`${a}.length`);r.forEach((f,p)=>{(0,HC.alwaysValidSchema)(s,f)||(n.if((0,ETe._)`${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,m=h===f.minItems&&(h===f.maxItems||f[t]===!1);if(p.strictTuples&&!m){let g=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${d}"`;(0,HC.checkStrictMode)(s,g,p.strictTuples)}}}f_.validateTuple=ATe;f_.default=dBt});var TTe=v(ZN=>{"use strict";Object.defineProperty(ZN,"__esModule",{value:!0});var hBt=QN(),mBt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,hBt.validateTuple)(e,"items")};ZN.default=mBt});var CTe=v(eU=>{"use strict";Object.defineProperty(eU,"__esModule",{value:!0});var STe=Lt(),gBt=ur(),vBt=qo(),xBt=YN(),bBt={message:({params:{len:e}})=>(0,STe.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,STe._)`{limit: ${e}}`},yBt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bBt,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,gBt.alwaysValidSchema)(n,t)&&(i?(0,xBt.validateAdditionalItems)(e,i):e.ok((0,vBt.validateArray)(e)))}};eU.default=yBt});var DTe=v(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var Uo=Lt(),VC=ur(),_Bt={message:({params:{min:e,max:t}})=>t===void 0?(0,Uo.str)`must contain at least ${e} valid item(s)`:(0,Uo.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,Uo._)`{minContains: ${e}}`:(0,Uo._)`{minContains: ${e}, maxContains: ${t}}`},wBt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:_Bt,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,Uo._)`${i}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,VC.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,VC.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,VC.alwaysValidSchema)(a,r)){let m=(0,Uo._)`${l} >= ${o}`;s!==void 0&&(m=(0,Uo._)`${m} && ${l} <= ${s}`),e.pass(m);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,Uo._)`${i}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){let m=t.name("_valid"),g=t.let("count",0);d(m,()=>t.if(m,()=>h(g)))}function d(m,g){t.forRange("i",0,l,b=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:VC.Type.Num,compositeRule:!0},m),g()})}function h(m){t.code((0,Uo._)`${m}++`),s===void 0?t.if((0,Uo._)`${m} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,Uo._)`${m} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,Uo._)`${m} >= ${o}`,()=>t.assign(f,!0)))}}};tU.default=wBt});var BTe=v(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.validateSchemaDeps=Ju.validatePropertyDeps=Ju.error=void 0;var rU=Lt(),EBt=ur(),p_=qo();Ju.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,rU.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,rU._)`{property: ${e},
152
152
  missingProperty: ${n},
153
153
  depsCount: ${t},
154
- deps: ${r}}`};var ABt={keyword:"dependencies",type:"object",schemaType:"object",error:Ju.error,code(e){let[t,r]=TBt(e);FTe(e,t),kTe(e,r)}};function TBt({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 FTe(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,p_.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,p_.checkReportMissingProp)(e,c)}):(r.if((0,rU._)`${u} && (${(0,p_.checkMissingProp)(e,s,a)})`),(0,p_.reportMissingProp)(e,a),r.else())}}Ju.validatePropertyDeps=FTe;function kTe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,EBt.alwaysValidSchema)(a,t[s])||(r.if((0,p_.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))}Ju.validateSchemaDeps=kTe;Ju.default=ABt});var ITe=v(nU=>{"use strict";Object.defineProperty(nU,"__esModule",{value:!0});var OTe=Lt(),SBt=ur(),CBt={message:"property name must be valid",params:({params:e})=>(0,OTe._)`{propertyName: ${e.propertyName}}`},DBt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:CBt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,SBt.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,OTe.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};nU.default=DBt});var aU=v(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var $C=qo(),Ps=Lt(),FBt=pl(),WC=ur(),kBt={message:"must NOT have additional properties",params:({params:e})=>(0,Ps._)`{additionalProperty: ${e.additionalProperty}}`},BBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:kBt,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,WC.alwaysValidSchema)(o,r))return;let c=(0,$C.allSchemaProperties)(n.properties),l=(0,$C.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ps._)`${a} === ${FBt.default.errors}`);function f(){t.forIn("key",i,g=>{!c.length&&!l.length?h(g):t.if(p(g),()=>h(g))})}function p(g){let b;if(c.length>8){let y=(0,WC.schemaRefOrVal)(o,n.properties,"properties");b=(0,$C.isOwnProperty)(t,y,g)}else c.length?b=(0,Ps.or)(...c.map(y=>(0,Ps._)`${g} === ${y}`)):b=Ps.nil;return l.length&&(b=(0,Ps.or)(b,...l.map(y=>(0,Ps._)`${(0,$C.usePattern)(e,y)}.test(${g})`))),(0,Ps.not)(b)}function d(g){t.code((0,Ps._)`delete ${i}[${g}]`)}function h(g){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,WC.alwaysValidSchema)(o,r)){let b=t.name("valid");u.removeAdditional==="failing"?(m(g,b,!1),t.if((0,Ps.not)(b),()=>{e.reset(),d(g)})):(m(g,b),s||t.if((0,Ps.not)(b),()=>t.break()))}}function m(g,b,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:WC.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,b)}}};iU.default=BBt});var jTe=v(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var OBt=Q1(),PTe=qo(),oU=ur(),RTe=aU(),IBt={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&&RTe.default.code(new OBt.KeywordCxt(a,RTe.default,"additionalProperties"));let o=(0,PTe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=oU.mergeEvaluated.props(t,(0,oU.toHash)(o),a.props));let s=o.filter(f=>!(0,oU.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,PTe.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)}}};sU.default=IBt});var NTe=v(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var MTe=qo(),KC=Lt(),LTe=ur(),qTe=ur(),PBt={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,MTe.allSchemaProperties)(r),u=s.filter(m=>(0,LTe.alwaysValidSchema)(a,r[m]));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 KC.Name)&&(a.props=(0,qTe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let m of s)c&&d(m),a.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function d(m){for(let g in c)new RegExp(m).test(g)&&(0,LTe.checkStrictMode)(a,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,KC._)`${(0,MTe.usePattern)(e,m)}.test(${g})`,()=>{let b=u.includes(m);b||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:qTe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,KC._)`${f}[${g}]`,!0):!b&&!a.allErrors&&t.if((0,KC.not)(l),()=>t.break())})})}}};uU.default=PBt});var UTe=v(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var RBt=ur(),jBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,RBt.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"}};cU.default=jBt});var GTe=v(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var MBt=qo(),LBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:MBt.validateUnion,error:{message:"must match a schema in anyOf"}};lU.default=LBt});var zTe=v(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var JC=Lt(),qBt=ur(),NBt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,JC._)`{passingSchemas: ${e.passing}}`},UBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:NBt,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,qBt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,JC._)`${u} && ${o}`).assign(o,!1).assign(s,(0,JC._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,JC.Name)})})}}};fU.default=UBt});var HTe=v(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var GBt=ur(),zBt={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,GBt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};pU.default=zBt});var WTe=v(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var XC=Lt(),$Te=ur(),HBt={message:({params:e})=>(0,XC.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,XC._)`{failingKeyword: ${e.ifClause}}`},VBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:HBt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,$Te.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=VTe(n,"then"),a=VTe(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,XC.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,XC._)`${l}`):e.setParams({ifClause:l})}}}};function VTe(e,t){let r=e.schema[t];return r!==void 0&&!(0,$Te.alwaysValidSchema)(e,r)}dU.default=VBt});var KTe=v(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var $Bt=ur(),WBt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,$Bt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};hU.default=WBt});var JTe=v(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var KBt=YN(),JBt=TTe(),XBt=QN(),YBt=CTe(),QBt=DTe(),ZBt=BTe(),eOt=ITe(),tOt=aU(),rOt=jTe(),nOt=NTe(),iOt=UTe(),aOt=GTe(),oOt=zTe(),sOt=HTe(),uOt=WTe(),cOt=KTe();function lOt(e=!1){let t=[iOt.default,aOt.default,oOt.default,sOt.default,uOt.default,cOt.default,eOt.default,tOt.default,ZBt.default,rOt.default,nOt.default];return e?t.push(JBt.default,YBt.default):t.push(KBt.default,XBt.default),t.push(QBt.default),t}mU.default=lOt});var XTe=v(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var Cn=Lt(),fOt={message:({schemaCode:e})=>(0,Cn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Cn._)`{format: ${e}}`},pOt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fOt,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}),m=r.const("fDef",(0,Cn._)`${h}[${o}]`),g=r.let("fType"),b=r.let("format");r.if((0,Cn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Cn._)`${m}.type || "string"`).assign(b,(0,Cn._)`${m}.validate`),()=>r.assign(g,(0,Cn._)`"string"`).assign(b,m)),e.fail$data((0,Cn.or)(y(),w()));function y(){return u.strictSchema===!1?Cn.nil:(0,Cn._)`${o} && !${b}`}function w(){let T=l.$async?(0,Cn._)`(${m}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,Cn._)`${b}(${n})`,E=(0,Cn._)`(typeof ${b} == "function" ? ${T} : ${b}.test(${n}))`;return(0,Cn._)`${b} && ${b} !== true && ${g} === ${t} && !${E}`}}function d(){let h=f.formats[a];if(!h){y();return}if(h===!0)return;let[m,g,b]=w(h);m===t&&e.pass(T());function y(){if(u.strictSchema===!1){f.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function w(E){let k=E instanceof RegExp?(0,Cn.regexpCode)(E):u.code.formats?(0,Cn._)`${u.code.formats}${(0,Cn.getProperty)(a)}`:void 0,B=r.scopeValue("formats",{key:a,ref:E,code:k});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,Cn._)`${B}.validate`]:["string",E,B]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Cn._)`await ${b}(${n})`}return typeof g=="function"?(0,Cn._)`${b}(${n})`:(0,Cn._)`${b}.test(${n})`}}}};gU.default=pOt});var YTe=v(vU=>{"use strict";Object.defineProperty(vU,"__esModule",{value:!0});var dOt=XTe(),hOt=[dOt.default];vU.default=hOt});var QTe=v(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});gv.contentVocabulary=gv.metadataVocabulary=void 0;gv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var e6e=v(xU=>{"use strict";Object.defineProperty(xU,"__esModule",{value:!0});var mOt=sTe(),gOt=_Te(),vOt=JTe(),xOt=YTe(),ZTe=QTe(),bOt=[mOt.default,gOt.default,(0,vOt.default)(),xOt.default,ZTe.metadataVocabulary,ZTe.contentVocabulary];xU.default=bOt});var r6e=v(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.DiscrError=void 0;var t6e;(function(e){e.Tag="tag",e.Mapping="mapping"})(t6e||(YC.DiscrError=t6e={}))});var i6e=v(yU=>{"use strict";Object.defineProperty(yU,"__esModule",{value:!0});var vv=Lt(),bU=r6e(),n6e=IC(),yOt=Z1(),_Ot=ur(),wOt={message:({params:{discrError:e,tagName:t}})=>e===bU.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,vv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},EOt={keyword:"discriminator",type:"object",schemaType:"object",error:wOt,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,vv._)`${r}${(0,vv.getProperty)(s)}`);t.if((0,vv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:bU.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,vv._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:bU.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(m,vv.Name),h}function p(){var d;let h={},m=b(i),g=!0;for(let T=0;T<o.length;T++){let E=o[T];if(E!=null&&E.$ref&&!(0,_Ot.schemaHasRulesButRef)(E,a.self.RULES)){let B=E.$ref;if(E=n6e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,B),E instanceof n6e.SchemaEnv&&(E=E.schema),E===void 0)throw new yOt.default(a.opts.uriResolver,a.baseId,B)}let k=(d=E==null?void 0:E.properties)===null||d===void 0?void 0:d[s];if(typeof k!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||b(E)),y(k,T)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function b({required:T}){return Array.isArray(T)&&T.includes(s)}function y(T,E){if(T.const)w(T.const,E);else if(T.enum)for(let k of T.enum)w(k,E);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function w(T,E){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[T]=E}}}};yU.default=EOt});var a6e=v((y0r,AOt)=>{AOt.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 s6e=v((Jr,_U)=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.MissingRefError=Jr.ValidationError=Jr.CodeGen=Jr.Name=Jr.nil=Jr.stringify=Jr.str=Jr._=Jr.KeywordCxt=Jr.Ajv=void 0;var TOt=tTe(),SOt=e6e(),COt=i6e(),o6e=a6e(),DOt=["/properties"],QC="http://json-schema.org/draft-07/schema",xv=class extends TOt.default{_addVocabularies(){super._addVocabularies(),SOt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(COt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(o6e,DOt):o6e;this.addMetaSchema(t,QC,!1),this.refs["http://json-schema.org/schema"]=QC}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(QC)?QC:void 0)}};Jr.Ajv=xv;_U.exports=Jr=xv;_U.exports.Ajv=xv;Object.defineProperty(Jr,"__esModule",{value:!0});Jr.default=xv;var FOt=Q1();Object.defineProperty(Jr,"KeywordCxt",{enumerable:!0,get:function(){return FOt.KeywordCxt}});var bv=Lt();Object.defineProperty(Jr,"_",{enumerable:!0,get:function(){return bv._}});Object.defineProperty(Jr,"str",{enumerable:!0,get:function(){return bv.str}});Object.defineProperty(Jr,"stringify",{enumerable:!0,get:function(){return bv.stringify}});Object.defineProperty(Jr,"nil",{enumerable:!0,get:function(){return bv.nil}});Object.defineProperty(Jr,"Name",{enumerable:!0,get:function(){return bv.Name}});Object.defineProperty(Jr,"CodeGen",{enumerable:!0,get:function(){return bv.CodeGen}});var kOt=BC();Object.defineProperty(Jr,"ValidationError",{enumerable:!0,get:function(){return kOt.default}});var BOt=Z1();Object.defineProperty(Jr,"MissingRefError",{enumerable:!0,get:function(){return BOt.default}})});var BU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var OU={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"]=OU||{};function Tt(e,t,r){return t<=e&&e<=r}function Z6e(e,t){return e.indexOf(t)!==-1}var Qu=Math.floor;function x_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function eSe(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 tSe(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 no(e){return 0<=e&&e<=127}var ro=no,Wt=-1;function dD(e){this.tokens=[].slice.call(e),this.tokens.reverse()}dD.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Wt},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 kr=-1;function $t(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Vo(e){throw TypeError("The code point "+e+" could not be encoded.")}function rSe(){}rSe.prototype={handler:function(e,t){}};function nSe(){}nSe.prototype={handler:function(e,t){}};function fD(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(pD,e)?pD[e]:null}var IU=[{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"}],pD={};IU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){pD[r]=t})})});var ca={},la={};function dh(e,t){return t&&t[e]||null}function hh(e,t){var r=t.indexOf(e);return r===-1?null:r}function Ji(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 iSe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=Ji("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 aSe(e){if(e===59335)return 7457;var t=0,r=0,n=Ji("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 oSe(e){cD=cD||Ji("jis0208").map(function(r,n){return Tt(n,8272,8835)?null:r});var t=cD;return t.indexOf(e)}var cD;function sSe(e){lD=lD||Ji("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=lD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):hh(e,t)}var lD,PU="utf-8";function cp(e,t){if(!(this instanceof cp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):PU,t=x_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=fD(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!la[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(cp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(cp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(cp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));cp.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=x_(r),this._do_not_flush||(this._decoder=la[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new dD(n),a=[],o;;){var s=i.read();if(s===Wt||(o=this._decoder.handler(i,s),o===kr))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===kr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return Z6e(["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)),tSe(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=x_(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):PU;var n=fD(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ca[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=fD("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=x_(r),this._do_not_flush||(this._encoder=ca[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new dD(eSe(t)),i=[],a;;){var o=n.read();if(o===Wt||(a=this._encoder.handler(n,o),a===kr))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!==kr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function uSe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Wt&&i!==0)return i=0,$t(t);if(u===Wt)return kr;if(i===0){if(Tt(u,0,127))return u;if(Tt(u,194,223))i=1,r=u&31;else if(Tt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Tt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return $t(t);return null}if(!Tt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),$t(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 cSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i,a;Tt(n,128,2047)?(i=1,a=192):Tt(n,2048,65535)?(i=2,a=224):Tt(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}}ca["UTF-8"]=function(e){return new cSe(e)};la["UTF-8"]=function(e){return new uSe(e)};function lSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(no(i))return i;var a=e[i-128];return a===null?$t(r):a}}function fSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;var a=hh(i,e);return a===null&&Vo(i),a+128}}(function(){"encoding-indexes"in globalThis&&IU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=Ji(r.toLowerCase());la[r]=function(i){return new lSe(n,i)},ca[r]=function(i){return new fSe(n,i)}})})})();la.GBK=function(e){return new RU(e)};ca.GBK=function(e){return new jU(e,!0)};function RU(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Wt&&r===0&&n===0&&i===0)return kr;o===Wt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,$t(t));var s;if(i!==0){s=null,Tt(o,48,57)&&(s=iSe((((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),$t(t)):s}if(n!==0)return Tt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,$t(t));if(r!==0){if(Tt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Tt(o,64,126)||Tt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:dh(l,Ji("gb18030")),s===null&&no(o)&&a.prepend(o),s===null?$t(t):s}return no(o)?o:o===128?8364:Tt(o,129,254)?(r=o,null):$t(t)}}function jU(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;if(i===58853)return Vo(i);if(t&&i===8364)return 128;var a=hh(i,Ji("gb18030"));if(a!==null){var o=Qu(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return Vo(i);a=aSe(i);var c=Qu(a/10/126/10);a=a-c*10*126*10;var l=Qu(a/10/126);a=a-l*10*126;var f=Qu(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}ca.gb18030=function(e){return new jU(e)};la.gb18030=function(e){return new RU(e)};function pSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Tt(i,64,126)||Tt(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:dh(o,Ji("big5"));return u===null&&no(i)&&n.prepend(i),u===null?$t(t):u}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function dSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=sSe(n);if(i===null)return Vo(n);var a=Qu(i/157)+129;if(a<161)return Vo(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ca.Big5=function(e){return new dSe(e)};la.Big5=function(e){return new pSe(e)};function hSe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Wt&&n!==0)return n=0,$t(t);if(a===Wt&&n===0)return kr;if(n===142&&Tt(a,161,223))return n=0,65377-161+a;if(n===143&&Tt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Tt(o,161,254)&&Tt(a,161,254)&&(s=dh((o-161)*94+(a-161),Ji(r?"jis0212":"jis0208"))),r=!1,Tt(a,161,254)||i.prepend(a),s===null?$t(t):s}return no(a)?a:a===142||a===143||Tt(a,161,254)?(n=a,null):$t(t)}}function mSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=hh(n,Ji("jis0208"));if(i===null)return Vo(n);var a=Qu(i/94)+161,o=i%94+161;return[a,o]}}ca["EUC-JP"]=function(e){return new mSe(e)};la["EUC-JP"]=function(e){return new hSe(e)};function gSe(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):Tt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Tt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Tt(u,33,95)?(o=!1,65377-33+u):u===Wt?kr:(o=!1,$t(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Tt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Wt?kr:(o=!1,$t(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,$t(t);if(Tt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=dh(c,Ji("jis0208"));return l===null?$t(t):l}return u===Wt?(n=r.LeadByte,s.prepend(u),$t(t)):(n=r.LeadByte,$t(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,$t(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?$t(t):null}return s.prepend([f,u]),o=!1,n=i,$t(t)}}}function vSe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Wt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Wt&&n===r.ASCII)return kr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return Vo(65533);if(n===r.ASCII&&ro(a))return a;if(n===r.Roman&&(ro(a)&&a!==92&&a!==126||a==165||a==8254)){if(ro(a))return a;if(a===165)return 92;if(a===8254)return 126}if(ro(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,Ji("jis0208"));if(o===null)return Vo(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=Qu(o/94)+33,u=o%94+33;return[s,u]}}ca["ISO-2022-JP"]=function(e){return new vSe(e)};la["ISO-2022-JP"]=function(e){return new gSe(e)};function xSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Tt(i,64,126)||Tt(i,128,252))&&(o=(a-u)*188+i-s),Tt(o,8836,10715))return 57344-8836+o;var c=o===null?null:dh(o,Ji("jis0208"));return c===null&&no(i)&&n.prepend(i),c===null?$t(t):c}return no(i)||i===128?i:Tt(i,161,223)?65377-161+i:Tt(i,129,159)||Tt(i,224,252)?(r=i,null):$t(t)}}function bSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=oSe(n);if(i===null)return Vo(n);var a=Qu(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ca.Shift_JIS=function(e){return new bSe(e)};la.Shift_JIS=function(e){return new xSe(e)};function ySe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0,Tt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:dh(o,Ji("euc-kr"));return o===null&&no(i)&&n.prepend(i),s===null?$t(t):s}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function _Se(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=hh(n,Ji("euc-kr"));if(i===null)return Vo(n);var a=Qu(i/190)+129,o=i%190+65;return[a,o]}}ca["EUC-KR"]=function(e){return new _Se(e)};la["EUC-KR"]=function(e){return new ySe(e)};function v_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function MU(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Wt&&(n!==null||i!==null))return $t(r);if(o===Wt&&n===null&&i===null)return kr;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,Tt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(v_(s,e)),$t(r))}return Tt(s,55296,56319)?(i=s,null):Tt(s,56320,57343)?$t(r):s}}function LU(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(Tt(i,0,65535))return v_(i,e);var a=v_((i-65536>>10)+55296,e),o=v_((i-65536&1023)+56320,e);return a.concat(o)}}ca["UTF-16BE"]=function(e){return new LU(!0,e)};la["UTF-16BE"]=function(e){return new MU(!0,e)};ca["UTF-16LE"]=function(e){return new LU(!1,e)};la["UTF-16LE"]=function(e){return new MU(!1,e)};function wSe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:no(n)?n:63360+n-128}}function ESe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:ro(n)?n:Tt(n,63360,63487)?n-63360+128:Vo(n)}}ca["x-user-defined"]=function(e){return new ESe(e)};la["x-user-defined"]=function(e){return new wSe(e)};function Fv(e){return Buffer.from(e).toString("base64")}function hD(e){return Buffer.from(e,"base64").toString("ascii")}var PH=Dt(OH(),1),RH=Dt(jv(),1);function IH(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function GCe(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,RH.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,PH.default)(n,r,t)}function jH(e,t){let r=GCe(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(IH(a))})})}var hee=Dt(dee(),1),y5=["image/png","image/jpeg","image/gif"];async function _5(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 rMe(r,t)}function rMe(e,t){return new Promise(r=>(0,hee.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 Na(e,t,r,n){return n._parse(e,t,r,n)}function _t(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var ru={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},gee=ru.self||ru.window||ru.global||{},vee=ru.window||ru.self||ru.global||{},xee=ru.global||ru.self||ru.window||{},bee=ru.document||{};var wr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var mee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),nMe=mee&&parseFloat(mee[1])||0;var pw=globalThis,iMe=globalThis.document||{},dw=globalThis.process||{},aMe=globalThis.console,kLt=globalThis.navigator||{};function yee(e){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((i=process.versions)==null?void 0:i.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||yee()}var w5="4.0.7";function sMe(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var hw=class{constructor(t,r,n="sessionStorage"){this.storage=sMe(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 _ee(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function wee(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var mw;(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"})(mw||(mw={}));var uMe=10;function Eee(e){return typeof e!="string"?e:(e=e.toUpperCase(),mw[e]||mw.WHITE)}function Aee(e,t,r){return!Fp&&typeof e=="string"&&(t&&(e=`\x1B[${Eee(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Eee(r)+uMe}m${e}\x1B[49m`)),e}function Tee(e,t=["constructor"]){let 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 Ox(e,t){if(!e)throw new Error(t||"Assertion failed")}function kp(){var t,r,n,i,a;let e;if(Fp()&&pw.performance)e=(n=(r=(t=pw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in dw){let o=(a=(i=dw)==null?void 0:i.hrtime)==null?void 0:a.call(i);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var a0={debug:Fp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cMe={enabled:!0,level:0};function o0(){}var See={},Cee={once:!0},nu=class{constructor({id:t}={id:""}){this.VERSION=w5,this._startTs=kp(),this._deltaTs=kp(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new hw(`__probe-${this.id}__`,cMe),this.timeStamp(`${this.id} started`),Tee(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((kp()-this._startTs).toPrecision(10))}getDelta(){return Number((kp()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!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){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,a0.warn,arguments,Cee)}error(t){return this._getLogFunction(0,t,a0.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,a0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,a0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,a0.debug||a0.info,arguments,Cee)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||o0,n&&[n],{tag:fMe(r)}):o0}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||o0)}group(t,r,n={collapsed:!1}){let i=Dee({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,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||o0)}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()>=Fee(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=Dee({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Ox(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=kp();let o=a.tag||a.message;if(a.once&&o)if(!See[o])See[o]=kp();else return o0;return r=lMe(this.id,a.message,a),n.bind(console,r,...a.args)}return o0}};nu.VERSION=w5;function Fee(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 Ox(Number.isFinite(t)&&t>=0),t}function Dee(e){let{logLevel:t,message:r}=e;e.logLevel=Fee(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 Ox(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function lMe(e,t,r){if(typeof t=="string"){let n=r.time?wee(_ee(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=Aee(t,r.color,r.background)}return t}function fMe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var E5=new nu({id:"@probe.gl/log"});var A5="4.4.0-alpha.0",pMe=A5[0]>="0"&&A5[0]<="9"?`v${A5}`:"";function dMe(){let e=new nu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=pMe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var T5=dMe();function S5(e,t){return kee(e||{},t)}function kee(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]=kee(n[i]||{},t[i],r+1):n[i]=t[i];return n}function Ix(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function C5(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var Bee="beta";function hMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.0"),globalThis._loadersgl_.version}var Bp=hMe();function gi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var iu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},f7t=iu.self||iu.window||iu.global||{},p7t=iu.window||iu.self||iu.global||{},d7t=iu.global||iu.self||iu.window||{},h7t=iu.document||{};var ri=typeof process!="object"||String(process)!=="[object process]"||process.browser,Px=typeof importScripts=="function",Iee=typeof window<"u"&&typeof window.orientation<"u",Oee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),m7t=Oee&&parseFloat(Oee[1])||0;var Rx=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){gi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){gi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Op={};Fi(Op,{NodeWorker:()=>Mx,parentPort:()=>mMe});var jx=Dt(require("worker_threads"),1);Cv(Op,require("worker_threads"));var mMe=jx==null?void 0:jx.parentPort,Mx=jx.Worker;var D5=new Map;function Pee(e){gi(e.source&&!e.url||!e.source&&e.url);let t=D5.get(e.source||e.url);return t||(e.url&&(t=gMe(e.url),D5.set(e.url,t)),e.source&&(t=Ree(e.source),D5.set(e.source,t))),gi(t),t}function gMe(e){if(!e.startsWith("http"))return e;let t=vMe(e);return Ree(t)}function Ree(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function vMe(e){return`try {
154
+ deps: ${r}}`};var ABt={keyword:"dependencies",type:"object",schemaType:"object",error:Ju.error,code(e){let[t,r]=TBt(e);FTe(e,t),kTe(e,r)}};function TBt({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 FTe(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,p_.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,p_.checkReportMissingProp)(e,c)}):(r.if((0,rU._)`${u} && (${(0,p_.checkMissingProp)(e,s,a)})`),(0,p_.reportMissingProp)(e,a),r.else())}}Ju.validatePropertyDeps=FTe;function kTe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,EBt.alwaysValidSchema)(a,t[s])||(r.if((0,p_.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))}Ju.validateSchemaDeps=kTe;Ju.default=ABt});var ITe=v(nU=>{"use strict";Object.defineProperty(nU,"__esModule",{value:!0});var OTe=Lt(),SBt=ur(),CBt={message:"property name must be valid",params:({params:e})=>(0,OTe._)`{propertyName: ${e.propertyName}}`},DBt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:CBt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,SBt.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,OTe.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};nU.default=DBt});var aU=v(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var $C=qo(),Ps=Lt(),FBt=pl(),WC=ur(),kBt={message:"must NOT have additional properties",params:({params:e})=>(0,Ps._)`{additionalProperty: ${e.additionalProperty}}`},BBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:kBt,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,WC.alwaysValidSchema)(o,r))return;let c=(0,$C.allSchemaProperties)(n.properties),l=(0,$C.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ps._)`${a} === ${FBt.default.errors}`);function f(){t.forIn("key",i,g=>{!c.length&&!l.length?h(g):t.if(p(g),()=>h(g))})}function p(g){let b;if(c.length>8){let y=(0,WC.schemaRefOrVal)(o,n.properties,"properties");b=(0,$C.isOwnProperty)(t,y,g)}else c.length?b=(0,Ps.or)(...c.map(y=>(0,Ps._)`${g} === ${y}`)):b=Ps.nil;return l.length&&(b=(0,Ps.or)(b,...l.map(y=>(0,Ps._)`${(0,$C.usePattern)(e,y)}.test(${g})`))),(0,Ps.not)(b)}function d(g){t.code((0,Ps._)`delete ${i}[${g}]`)}function h(g){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,WC.alwaysValidSchema)(o,r)){let b=t.name("valid");u.removeAdditional==="failing"?(m(g,b,!1),t.if((0,Ps.not)(b),()=>{e.reset(),d(g)})):(m(g,b),s||t.if((0,Ps.not)(b),()=>t.break()))}}function m(g,b,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:WC.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,b)}}};iU.default=BBt});var jTe=v(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var OBt=Q1(),PTe=qo(),oU=ur(),RTe=aU(),IBt={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&&RTe.default.code(new OBt.KeywordCxt(a,RTe.default,"additionalProperties"));let o=(0,PTe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=oU.mergeEvaluated.props(t,(0,oU.toHash)(o),a.props));let s=o.filter(f=>!(0,oU.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,PTe.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)}}};sU.default=IBt});var NTe=v(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var MTe=qo(),KC=Lt(),LTe=ur(),qTe=ur(),PBt={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,MTe.allSchemaProperties)(r),u=s.filter(m=>(0,LTe.alwaysValidSchema)(a,r[m]));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 KC.Name)&&(a.props=(0,qTe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let m of s)c&&d(m),a.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function d(m){for(let g in c)new RegExp(m).test(g)&&(0,LTe.checkStrictMode)(a,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,KC._)`${(0,MTe.usePattern)(e,m)}.test(${g})`,()=>{let b=u.includes(m);b||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:qTe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,KC._)`${f}[${g}]`,!0):!b&&!a.allErrors&&t.if((0,KC.not)(l),()=>t.break())})})}}};uU.default=PBt});var UTe=v(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var RBt=ur(),jBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,RBt.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"}};cU.default=jBt});var GTe=v(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var MBt=qo(),LBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:MBt.validateUnion,error:{message:"must match a schema in anyOf"}};lU.default=LBt});var zTe=v(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var JC=Lt(),qBt=ur(),NBt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,JC._)`{passingSchemas: ${e.passing}}`},UBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:NBt,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,qBt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,JC._)`${u} && ${o}`).assign(o,!1).assign(s,(0,JC._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,JC.Name)})})}}};fU.default=UBt});var HTe=v(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var GBt=ur(),zBt={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,GBt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};pU.default=zBt});var WTe=v(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var XC=Lt(),$Te=ur(),HBt={message:({params:e})=>(0,XC.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,XC._)`{failingKeyword: ${e.ifClause}}`},VBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:HBt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,$Te.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=VTe(n,"then"),a=VTe(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,XC.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,XC._)`${l}`):e.setParams({ifClause:l})}}}};function VTe(e,t){let r=e.schema[t];return r!==void 0&&!(0,$Te.alwaysValidSchema)(e,r)}dU.default=VBt});var KTe=v(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var $Bt=ur(),WBt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,$Bt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};hU.default=WBt});var JTe=v(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var KBt=YN(),JBt=TTe(),XBt=QN(),YBt=CTe(),QBt=DTe(),ZBt=BTe(),eOt=ITe(),tOt=aU(),rOt=jTe(),nOt=NTe(),iOt=UTe(),aOt=GTe(),oOt=zTe(),sOt=HTe(),uOt=WTe(),cOt=KTe();function lOt(e=!1){let t=[iOt.default,aOt.default,oOt.default,sOt.default,uOt.default,cOt.default,eOt.default,tOt.default,ZBt.default,rOt.default,nOt.default];return e?t.push(JBt.default,YBt.default):t.push(KBt.default,XBt.default),t.push(QBt.default),t}mU.default=lOt});var XTe=v(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var Cn=Lt(),fOt={message:({schemaCode:e})=>(0,Cn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Cn._)`{format: ${e}}`},pOt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fOt,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}),m=r.const("fDef",(0,Cn._)`${h}[${o}]`),g=r.let("fType"),b=r.let("format");r.if((0,Cn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Cn._)`${m}.type || "string"`).assign(b,(0,Cn._)`${m}.validate`),()=>r.assign(g,(0,Cn._)`"string"`).assign(b,m)),e.fail$data((0,Cn.or)(y(),w()));function y(){return u.strictSchema===!1?Cn.nil:(0,Cn._)`${o} && !${b}`}function w(){let T=l.$async?(0,Cn._)`(${m}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,Cn._)`${b}(${n})`,E=(0,Cn._)`(typeof ${b} == "function" ? ${T} : ${b}.test(${n}))`;return(0,Cn._)`${b} && ${b} !== true && ${g} === ${t} && !${E}`}}function d(){let h=f.formats[a];if(!h){y();return}if(h===!0)return;let[m,g,b]=w(h);m===t&&e.pass(T());function y(){if(u.strictSchema===!1){f.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function w(E){let k=E instanceof RegExp?(0,Cn.regexpCode)(E):u.code.formats?(0,Cn._)`${u.code.formats}${(0,Cn.getProperty)(a)}`:void 0,B=r.scopeValue("formats",{key:a,ref:E,code:k});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,Cn._)`${B}.validate`]:["string",E,B]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Cn._)`await ${b}(${n})`}return typeof g=="function"?(0,Cn._)`${b}(${n})`:(0,Cn._)`${b}.test(${n})`}}}};gU.default=pOt});var YTe=v(vU=>{"use strict";Object.defineProperty(vU,"__esModule",{value:!0});var dOt=XTe(),hOt=[dOt.default];vU.default=hOt});var QTe=v(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});gv.contentVocabulary=gv.metadataVocabulary=void 0;gv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var e6e=v(xU=>{"use strict";Object.defineProperty(xU,"__esModule",{value:!0});var mOt=sTe(),gOt=_Te(),vOt=JTe(),xOt=YTe(),ZTe=QTe(),bOt=[mOt.default,gOt.default,(0,vOt.default)(),xOt.default,ZTe.metadataVocabulary,ZTe.contentVocabulary];xU.default=bOt});var r6e=v(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.DiscrError=void 0;var t6e;(function(e){e.Tag="tag",e.Mapping="mapping"})(t6e||(YC.DiscrError=t6e={}))});var i6e=v(yU=>{"use strict";Object.defineProperty(yU,"__esModule",{value:!0});var vv=Lt(),bU=r6e(),n6e=IC(),yOt=Z1(),_Ot=ur(),wOt={message:({params:{discrError:e,tagName:t}})=>e===bU.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,vv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},EOt={keyword:"discriminator",type:"object",schemaType:"object",error:wOt,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,vv._)`${r}${(0,vv.getProperty)(s)}`);t.if((0,vv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:bU.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,vv._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:bU.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(m,vv.Name),h}function p(){var d;let h={},m=b(i),g=!0;for(let T=0;T<o.length;T++){let E=o[T];if(E!=null&&E.$ref&&!(0,_Ot.schemaHasRulesButRef)(E,a.self.RULES)){let B=E.$ref;if(E=n6e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,B),E instanceof n6e.SchemaEnv&&(E=E.schema),E===void 0)throw new yOt.default(a.opts.uriResolver,a.baseId,B)}let k=(d=E==null?void 0:E.properties)===null||d===void 0?void 0:d[s];if(typeof k!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||b(E)),y(k,T)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function b({required:T}){return Array.isArray(T)&&T.includes(s)}function y(T,E){if(T.const)w(T.const,E);else if(T.enum)for(let k of T.enum)w(k,E);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function w(T,E){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[T]=E}}}};yU.default=EOt});var a6e=v((y0r,AOt)=>{AOt.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 s6e=v((Jr,_U)=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.MissingRefError=Jr.ValidationError=Jr.CodeGen=Jr.Name=Jr.nil=Jr.stringify=Jr.str=Jr._=Jr.KeywordCxt=Jr.Ajv=void 0;var TOt=tTe(),SOt=e6e(),COt=i6e(),o6e=a6e(),DOt=["/properties"],QC="http://json-schema.org/draft-07/schema",xv=class extends TOt.default{_addVocabularies(){super._addVocabularies(),SOt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(COt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(o6e,DOt):o6e;this.addMetaSchema(t,QC,!1),this.refs["http://json-schema.org/schema"]=QC}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(QC)?QC:void 0)}};Jr.Ajv=xv;_U.exports=Jr=xv;_U.exports.Ajv=xv;Object.defineProperty(Jr,"__esModule",{value:!0});Jr.default=xv;var FOt=Q1();Object.defineProperty(Jr,"KeywordCxt",{enumerable:!0,get:function(){return FOt.KeywordCxt}});var bv=Lt();Object.defineProperty(Jr,"_",{enumerable:!0,get:function(){return bv._}});Object.defineProperty(Jr,"str",{enumerable:!0,get:function(){return bv.str}});Object.defineProperty(Jr,"stringify",{enumerable:!0,get:function(){return bv.stringify}});Object.defineProperty(Jr,"nil",{enumerable:!0,get:function(){return bv.nil}});Object.defineProperty(Jr,"Name",{enumerable:!0,get:function(){return bv.Name}});Object.defineProperty(Jr,"CodeGen",{enumerable:!0,get:function(){return bv.CodeGen}});var kOt=BC();Object.defineProperty(Jr,"ValidationError",{enumerable:!0,get:function(){return kOt.default}});var BOt=Z1();Object.defineProperty(Jr,"MissingRefError",{enumerable:!0,get:function(){return BOt.default}})});var BU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var OU={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"]=OU||{};function Tt(e,t,r){return t<=e&&e<=r}function Z6e(e,t){return e.indexOf(t)!==-1}var Qu=Math.floor;function x_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function eSe(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 tSe(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 no(e){return 0<=e&&e<=127}var ro=no,Wt=-1;function dD(e){this.tokens=[].slice.call(e),this.tokens.reverse()}dD.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Wt},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 kr=-1;function $t(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Vo(e){throw TypeError("The code point "+e+" could not be encoded.")}function rSe(){}rSe.prototype={handler:function(e,t){}};function nSe(){}nSe.prototype={handler:function(e,t){}};function fD(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(pD,e)?pD[e]:null}var IU=[{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"}],pD={};IU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){pD[r]=t})})});var ca={},la={};function dh(e,t){return t&&t[e]||null}function hh(e,t){var r=t.indexOf(e);return r===-1?null:r}function Ji(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 iSe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=Ji("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 aSe(e){if(e===59335)return 7457;var t=0,r=0,n=Ji("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 oSe(e){cD=cD||Ji("jis0208").map(function(r,n){return Tt(n,8272,8835)?null:r});var t=cD;return t.indexOf(e)}var cD;function sSe(e){lD=lD||Ji("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=lD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):hh(e,t)}var lD,PU="utf-8";function cp(e,t){if(!(this instanceof cp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):PU,t=x_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=fD(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!la[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(cp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(cp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(cp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));cp.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=x_(r),this._do_not_flush||(this._decoder=la[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new dD(n),a=[],o;;){var s=i.read();if(s===Wt||(o=this._decoder.handler(i,s),o===kr))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===kr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return Z6e(["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)),tSe(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=x_(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):PU;var n=fD(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ca[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=fD("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=x_(r),this._do_not_flush||(this._encoder=ca[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new dD(eSe(t)),i=[],a;;){var o=n.read();if(o===Wt||(a=this._encoder.handler(n,o),a===kr))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!==kr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function uSe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Wt&&i!==0)return i=0,$t(t);if(u===Wt)return kr;if(i===0){if(Tt(u,0,127))return u;if(Tt(u,194,223))i=1,r=u&31;else if(Tt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Tt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return $t(t);return null}if(!Tt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),$t(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 cSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i,a;Tt(n,128,2047)?(i=1,a=192):Tt(n,2048,65535)?(i=2,a=224):Tt(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}}ca["UTF-8"]=function(e){return new cSe(e)};la["UTF-8"]=function(e){return new uSe(e)};function lSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(no(i))return i;var a=e[i-128];return a===null?$t(r):a}}function fSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;var a=hh(i,e);return a===null&&Vo(i),a+128}}(function(){"encoding-indexes"in globalThis&&IU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=Ji(r.toLowerCase());la[r]=function(i){return new lSe(n,i)},ca[r]=function(i){return new fSe(n,i)}})})})();la.GBK=function(e){return new RU(e)};ca.GBK=function(e){return new jU(e,!0)};function RU(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Wt&&r===0&&n===0&&i===0)return kr;o===Wt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,$t(t));var s;if(i!==0){s=null,Tt(o,48,57)&&(s=iSe((((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),$t(t)):s}if(n!==0)return Tt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,$t(t));if(r!==0){if(Tt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Tt(o,64,126)||Tt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:dh(l,Ji("gb18030")),s===null&&no(o)&&a.prepend(o),s===null?$t(t):s}return no(o)?o:o===128?8364:Tt(o,129,254)?(r=o,null):$t(t)}}function jU(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;if(i===58853)return Vo(i);if(t&&i===8364)return 128;var a=hh(i,Ji("gb18030"));if(a!==null){var o=Qu(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return Vo(i);a=aSe(i);var c=Qu(a/10/126/10);a=a-c*10*126*10;var l=Qu(a/10/126);a=a-l*10*126;var f=Qu(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}ca.gb18030=function(e){return new jU(e)};la.gb18030=function(e){return new RU(e)};function pSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Tt(i,64,126)||Tt(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:dh(o,Ji("big5"));return u===null&&no(i)&&n.prepend(i),u===null?$t(t):u}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function dSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=sSe(n);if(i===null)return Vo(n);var a=Qu(i/157)+129;if(a<161)return Vo(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ca.Big5=function(e){return new dSe(e)};la.Big5=function(e){return new pSe(e)};function hSe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Wt&&n!==0)return n=0,$t(t);if(a===Wt&&n===0)return kr;if(n===142&&Tt(a,161,223))return n=0,65377-161+a;if(n===143&&Tt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Tt(o,161,254)&&Tt(a,161,254)&&(s=dh((o-161)*94+(a-161),Ji(r?"jis0212":"jis0208"))),r=!1,Tt(a,161,254)||i.prepend(a),s===null?$t(t):s}return no(a)?a:a===142||a===143||Tt(a,161,254)?(n=a,null):$t(t)}}function mSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=hh(n,Ji("jis0208"));if(i===null)return Vo(n);var a=Qu(i/94)+161,o=i%94+161;return[a,o]}}ca["EUC-JP"]=function(e){return new mSe(e)};la["EUC-JP"]=function(e){return new hSe(e)};function gSe(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):Tt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Tt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Tt(u,33,95)?(o=!1,65377-33+u):u===Wt?kr:(o=!1,$t(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Tt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Wt?kr:(o=!1,$t(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,$t(t);if(Tt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=dh(c,Ji("jis0208"));return l===null?$t(t):l}return u===Wt?(n=r.LeadByte,s.prepend(u),$t(t)):(n=r.LeadByte,$t(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,$t(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?$t(t):null}return s.prepend([f,u]),o=!1,n=i,$t(t)}}}function vSe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Wt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Wt&&n===r.ASCII)return kr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return Vo(65533);if(n===r.ASCII&&ro(a))return a;if(n===r.Roman&&(ro(a)&&a!==92&&a!==126||a==165||a==8254)){if(ro(a))return a;if(a===165)return 92;if(a===8254)return 126}if(ro(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,Ji("jis0208"));if(o===null)return Vo(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=Qu(o/94)+33,u=o%94+33;return[s,u]}}ca["ISO-2022-JP"]=function(e){return new vSe(e)};la["ISO-2022-JP"]=function(e){return new gSe(e)};function xSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Tt(i,64,126)||Tt(i,128,252))&&(o=(a-u)*188+i-s),Tt(o,8836,10715))return 57344-8836+o;var c=o===null?null:dh(o,Ji("jis0208"));return c===null&&no(i)&&n.prepend(i),c===null?$t(t):c}return no(i)||i===128?i:Tt(i,161,223)?65377-161+i:Tt(i,129,159)||Tt(i,224,252)?(r=i,null):$t(t)}}function bSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=oSe(n);if(i===null)return Vo(n);var a=Qu(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ca.Shift_JIS=function(e){return new bSe(e)};la.Shift_JIS=function(e){return new xSe(e)};function ySe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0,Tt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:dh(o,Ji("euc-kr"));return o===null&&no(i)&&n.prepend(i),s===null?$t(t):s}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function _Se(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=hh(n,Ji("euc-kr"));if(i===null)return Vo(n);var a=Qu(i/190)+129,o=i%190+65;return[a,o]}}ca["EUC-KR"]=function(e){return new _Se(e)};la["EUC-KR"]=function(e){return new ySe(e)};function v_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function MU(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Wt&&(n!==null||i!==null))return $t(r);if(o===Wt&&n===null&&i===null)return kr;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,Tt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(v_(s,e)),$t(r))}return Tt(s,55296,56319)?(i=s,null):Tt(s,56320,57343)?$t(r):s}}function LU(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(Tt(i,0,65535))return v_(i,e);var a=v_((i-65536>>10)+55296,e),o=v_((i-65536&1023)+56320,e);return a.concat(o)}}ca["UTF-16BE"]=function(e){return new LU(!0,e)};la["UTF-16BE"]=function(e){return new MU(!0,e)};ca["UTF-16LE"]=function(e){return new LU(!1,e)};la["UTF-16LE"]=function(e){return new MU(!1,e)};function wSe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:no(n)?n:63360+n-128}}function ESe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:ro(n)?n:Tt(n,63360,63487)?n-63360+128:Vo(n)}}ca["x-user-defined"]=function(e){return new ESe(e)};la["x-user-defined"]=function(e){return new wSe(e)};function Fv(e){return Buffer.from(e).toString("base64")}function hD(e){return Buffer.from(e,"base64").toString("ascii")}var PH=Dt(OH(),1),RH=Dt(jv(),1);function IH(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function GCe(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,RH.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,PH.default)(n,r,t)}function jH(e,t){let r=GCe(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(IH(a))})})}var hee=Dt(dee(),1),y5=["image/png","image/jpeg","image/gif"];async function _5(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 rMe(r,t)}function rMe(e,t){return new Promise(r=>(0,hee.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 Na(e,t,r,n){return n._parse(e,t,r,n)}function _t(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var ru={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},gee=ru.self||ru.window||ru.global||{},vee=ru.window||ru.self||ru.global||{},xee=ru.global||ru.self||ru.window||{},bee=ru.document||{};var wr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var mee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),nMe=mee&&parseFloat(mee[1])||0;var pw=globalThis,iMe=globalThis.document||{},dw=globalThis.process||{},aMe=globalThis.console,kLt=globalThis.navigator||{};function yee(e){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((i=process.versions)==null?void 0:i.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||yee()}var w5="4.0.7";function sMe(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var hw=class{constructor(t,r,n="sessionStorage"){this.storage=sMe(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 _ee(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function wee(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var mw;(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"})(mw||(mw={}));var uMe=10;function Eee(e){return typeof e!="string"?e:(e=e.toUpperCase(),mw[e]||mw.WHITE)}function Aee(e,t,r){return!Fp&&typeof e=="string"&&(t&&(e=`\x1B[${Eee(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Eee(r)+uMe}m${e}\x1B[49m`)),e}function Tee(e,t=["constructor"]){let 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 Ox(e,t){if(!e)throw new Error(t||"Assertion failed")}function kp(){var t,r,n,i,a;let e;if(Fp()&&pw.performance)e=(n=(r=(t=pw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in dw){let o=(a=(i=dw)==null?void 0:i.hrtime)==null?void 0:a.call(i);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var a0={debug:Fp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cMe={enabled:!0,level:0};function o0(){}var See={},Cee={once:!0},nu=class{constructor({id:t}={id:""}){this.VERSION=w5,this._startTs=kp(),this._deltaTs=kp(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new hw(`__probe-${this.id}__`,cMe),this.timeStamp(`${this.id} started`),Tee(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((kp()-this._startTs).toPrecision(10))}getDelta(){return Number((kp()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!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){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,a0.warn,arguments,Cee)}error(t){return this._getLogFunction(0,t,a0.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,a0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,a0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,a0.debug||a0.info,arguments,Cee)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||o0,n&&[n],{tag:fMe(r)}):o0}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||o0)}group(t,r,n={collapsed:!1}){let i=Dee({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,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||o0)}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()>=Fee(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=Dee({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Ox(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=kp();let o=a.tag||a.message;if(a.once&&o)if(!See[o])See[o]=kp();else return o0;return r=lMe(this.id,a.message,a),n.bind(console,r,...a.args)}return o0}};nu.VERSION=w5;function Fee(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 Ox(Number.isFinite(t)&&t>=0),t}function Dee(e){let{logLevel:t,message:r}=e;e.logLevel=Fee(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 Ox(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function lMe(e,t,r){if(typeof t=="string"){let n=r.time?wee(_ee(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=Aee(t,r.color,r.background)}return t}function fMe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var E5=new nu({id:"@probe.gl/log"});var A5="4.4.0-alpha.1",pMe=A5[0]>="0"&&A5[0]<="9"?`v${A5}`:"";function dMe(){let e=new nu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=pMe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var T5=dMe();function S5(e,t){return kee(e||{},t)}function kee(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]=kee(n[i]||{},t[i],r+1):n[i]=t[i];return n}function Ix(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function C5(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var Bee="beta";function hMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.1"),globalThis._loadersgl_.version}var Bp=hMe();function gi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var iu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},f7t=iu.self||iu.window||iu.global||{},p7t=iu.window||iu.self||iu.global||{},d7t=iu.global||iu.self||iu.window||{},h7t=iu.document||{};var ri=typeof process!="object"||String(process)!=="[object process]"||process.browser,Px=typeof importScripts=="function",Iee=typeof window<"u"&&typeof window.orientation<"u",Oee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),m7t=Oee&&parseFloat(Oee[1])||0;var Rx=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){gi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){gi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Op={};Fi(Op,{NodeWorker:()=>Mx,parentPort:()=>mMe});var jx=Dt(require("worker_threads"),1);Cv(Op,require("worker_threads"));var mMe=jx==null?void 0:jx.parentPort,Mx=jx.Worker;var D5=new Map;function Pee(e){gi(e.source&&!e.url||!e.source&&e.url);let t=D5.get(e.source||e.url);return t||(e.url&&(t=gMe(e.url),D5.set(e.url,t)),e.source&&(t=Ree(e.source),D5.set(e.source,t))),gi(t),t}function gMe(e){if(!e.startsWith("http"))return e;let t=vMe(e);return Ree(t)}function Ree(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function vMe(e){return`try {
155
155
  importScripts('${e}');
156
156
  } catch (error) {
157
157
  console.error(error);
158
158
  throw error;
159
159
  }`}function F5(e,t=!0,r){let n=r||new Set;if(e){if(jee(e))n.add(e);else if(jee(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let i in e)F5(e[i],t,n)}}return r===void 0?Array.from(n):[]}function jee(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 k5(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]=k5(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var B5=()=>{},Gl=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&ri||typeof Mx<"u"&&!ri}constructor(t){let{name:r,source:n,url:i}=t;gi(n||i),this.name=r,this.source=n,this.url=i,this.onMessage=B5,this.onError=a=>console.log(a),this.worker=ri?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=B5,this.onError=B5,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||F5(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=Pee({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 Mx(n,{eval:!1})}else if(this.source)t=new Mx(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 Lx=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return Gl.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 Rx(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){!ri||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 Gl({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Iee?this.maxMobileConcurrency:this.maxConcurrency}};var xMe={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Ip=class{props;workerPools=new Map;static isSupported(){return Gl.isSupported()}static getWorkerFarm(t={}){return Ip._workerFarm=Ip._workerFarm||new Ip({}),Ip._workerFarm.setProps(t),Ip._workerFarm}constructor(t){this.props={...xMe},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 Lx({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}}},qi=Ip;kU(qi,"_workerFarm");function Mee(e){let t=e.version!==Bp?` (worker-utils@${Bp})`:"";return`${e.name}@${e.version}${t}`}function qx(e,t={}){let r=t[e.id]||{},n=ri?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=r.workerUrl;if(!i&&e.id==="compression"&&(i=t.workerUrl),t._workerType==="test"&&(ri?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=Bee);let o=a?`@${a}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${o}/dist/${n}`}return gi(i),i}async function O5(e,t,r={},n={}){let i=Mee(e),a=qi.getWorkerFarm(r),{source:o}=r,s={name:i,source:o};o||(s.url=qx(e,r));let u=a.getWorkerPool(s),c=r.jobName||e.name,l=await u.startJob(c,bMe.bind(null,n)),f=k5(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function bMe(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 I5(e,t=Bp){gi(e,"no worker provided");let r=e.version;return!(!t||!r)}var P5={};async function au(e,t=null,r={},n=null){return t&&(e=Lee(e,t,r,n)),P5[e]=P5[e]||yMe(e),await P5[e]}function Lee(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]:ri?r.CDN?(gi(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Bp}/dist/libs/${n}`):Px?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function yMe(e){if(e.endsWith("wasm"))return await wMe(e);if(!ri)try{let{requireFromFile:r}=globalThis.loaders||{};return await(r==null?void 0:r(e))}catch(r){return console.error(r),null}if(Px)return importScripts(e);let t=await EMe(e);return _Me(t,e)}function _Me(e,t){if(!ri){let{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(e,t)}if(Px)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 wMe(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return ri||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function EMe(e){let{readFileAsText:t}=globalThis.loaders||{};return ri||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var Gee=Dt(require("child_process"),1);var qee=Dt(require("child_process"),1);function Nee(e=3e3){return new Promise(t=>{qee.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
160
- `).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Uee={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},s0=class{id;props={...Uee};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Uee,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Nee(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=Gee.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 R5(e,t){return!qi.isSupported()||!ri&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function j5(e,t,r,n,i){let a=e.id,o=qx(e,r),u=qi.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",AMe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function AMe(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 M5(e,t){return!qi.isSupported()||!wr&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Hee(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?zee(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?zee(e,0,t):""}function zee(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 L5(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Hee(e)}"`)}}function ou(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 hn(...e){return gw(e)}function gw(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 Ua(...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 Pp(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 Ga(e,t){return _t(e>=0),_t(t>0),e+(t-1)&~(t-1)}function q5(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+Ga(n.byteLength,4)}function N5(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 u0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Nx(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function vw(e,t,r,n){let i=Ga(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 c0(e,t,r,n){let a=new TextEncoder().encode(r);return t=vw(e,t,a,n),t}async function Rp(e){let t=[];for await(let r of e)t.push(r);return hn(...t)}var TMe="",Vee={};function su(e){for(let t in Vee)if(e.startsWith(t)){let r=Vee[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${TMe}${e}`),e}var SMe="4.4.0-alpha.0",U5={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:SMe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:$ee,parse:async e=>$ee(new TextDecoder().decode(e)),options:{}};function $ee(e){return JSON.parse(e)}function Wee(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Kee(e){return e&&typeof e=="object"&&e.isBuffer}function mc(e){if(Kee(e))return Wee(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 l0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var ga={};Fi(ga,{dirname:()=>FMe,filename:()=>DMe,join:()=>kMe,resolve:()=>BMe});function Jee(){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 DMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function FMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function kMe(...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 BMe(...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=Jee()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Ux)}return r=OMe(r,!n),n?`/${r}`:r.length>0?r:"."}var Ux=47,G5=46;function OMe(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===Ux)break;a=Ux}if(a===Ux){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==G5||r.charCodeAt(r.length-2)!==G5){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Ux;--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===G5&&i!==-1?++i:i=-1}return r}var Gx=new Error("Not implemented"),gc=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 wr?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 Gx}async write(t,r,n){throw Gx}async stat(){throw Gx}async truncate(t){throw Gx}async append(t){throw Gx}async close(){}};var f0=new Error("Not implemented"),zx=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw wr?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 f0}async openWritableFile(t,r,n){throw f0}async readdir(t=".",r){throw f0}async stat(t,r){throw f0}async unlink(t){throw f0}async fetch(t,r){throw f0}};var z5=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var za=class{file;constructor(t,r=!1){this.file=new gc(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 p0=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},Hx=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(p0(t))}async getUint16(t){return this.file.getUint16(p0(t),!0)}async getUint32(t){return this.file.getUint32(p0(t),!0)}async getBigUint64(t){return this.file.getBigUint64(p0(t),!0)}async slice(t,r){return this.file.buffer.slice(p0(t),p0(r))}get length(){return BigInt(this.file.byteLength)}};var vc=Dt(require("fs"),1),jp=class{handle;size;bigsize;url;constructor(t,r,n){t=su(t),this.handle=vc.default.openSync(t,r,n);let i=vc.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)=>{vc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{vc.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)=>{vc.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)=>vc.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 PMe(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);vc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function PMe(e,t,r,n,i){return await new Promise((a,o)=>vc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var _w=Dt(require("fs/promises"),1);var V5=Dt(require("fs"),1),H5=require("stream");var xw=Dt(require("zlib"),1),RMe=e=>e&&e instanceof ArrayBuffer,jMe=e=>e&&e instanceof Buffer;function bw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(xw.default.createBrotliDecompress());case"gzip":return e.pipe(xw.default.createGunzip());case"deflate":return e.pipe(xw.default.createDeflate());default:return e}}async function Xee(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(LMe(i))}),e.on("end",()=>{let i=MMe(t);r(i)})})}function MMe(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 LMe(e){if(RMe(e))return e;if(jMe(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 qMe=e=>typeof e=="boolean",Yee=e=>typeof e=="function",NMe=e=>e!==null&&typeof e=="object",UMe=e=>NMe(e)&&Yee(e.read)&&Yee(e.pipe)&&qMe(e.readable);async function yw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=su(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=V5.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;UMe(a)?o=bw(a,i):typeof a=="string"?o=H5.Readable.from([new TextEncoder().encode(a)]):o=H5.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=GMe(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 GMe(e){let t={};if(!t["content-length"]){let r=V5.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 ww=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await _w.default.readdir(t,r)}async stat(t){let r=await _w.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await _w.default.unlink(t)}async fetch(t,r){return await yw(t,r)}async openReadableFile(t,r="r"){return new jp(t,r)}async openWritableFile(t,r="w",n){return new jp(t,r,n)}};var xc=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 Rp(t)}};var d0=class{crc;constructor(){this.crc=-1}update(t){let r=HMe(),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}},zMe=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 HMe(){return zMe}function Qee(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+=VMe(n[i])}return t}function VMe(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 $5(e,t){switch(t){case"hex":return Zee(e);case"base64":return tte(Zee(e));default:throw new Error(t)}}function ete(e,t){switch(t){case"hex":return e;case"base64":return tte(e);default:throw new Error(t)}}function tte(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Qee(r)||""}function Zee(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Vx=class extends xc{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 d0;n.update(t);let i=n.finalize();return $5(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new d0;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:$5(i,r)})}};var nte=typeof atob=="function"?atob:typeof Buffer=="function"?QMe:ate,$Me=nte("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="),W5=WebAssembly&&nte!==ate?YMe($Me).buffer:!1,uu=ZMe(),K5=240*16*16,ite=Math.floor(K5*16*1.066666667),WMe=268435456-65536,rte="Parameter must be Buffer, ArrayBuffer or Uint8Array",KMe="Parameter exceeds max size of 255.9 Mbytes";W5||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function J5(e){var t,r,n,i,a,o,s,u,c,l;let f=XMe(),p=JMe(),d={},h=new Date().getTime();return d.then=function(y){return s=y,g(),d},d.catch=function(y){return u=y,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:b(new TypeError(rte)):b(new TypeError(rte)),o&&(a=o.length,W5&&a>ite?a>WMe?b(new Error(KMe)):(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(W5,n).then(m)):g(f(o))),d;function m(y){g(p(o,y.instance.exports,r))}function g(y){var w=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(w)&&(s(w,l-h),s=u=null):Boolean(y)&&(c=y)}function b(y){typeof u=="function"&&u(y)}}function JMe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X,Y,he,le,me,pe,Ce=new Date().getTime(),Be=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Oe=0,Le=h.length*8,Je;for(Je=xe(h,p),p[Le>>>5]|=128<<Le%32,p[(Le+64>>>9<<4)+14]=Le,Je=(Le+64>>>9<<4)+15,me=p;Oe<Je;)Je>Oe+ite?(n(J),a(N),s(K),c(Q),t(K5),Oe=Oe+K5*16,J=r(),N=i(),K=o(),Q=u(),Be++):(X=J,Y=N,he=K,le=Q,m=me[Oe+0]>>>0,g=me[Oe+1]>>>0,b=me[Oe+2]>>>0,y=me[Oe+3]>>>0,w=me[Oe+4]>>>0,T=me[Oe+5]>>>0,E=me[Oe+6]>>>0,k=me[Oe+7]>>>0,B=me[Oe+8]>>>0,j=me[Oe+9]>>>0,C=me[Oe+10]>>>0,I=me[Oe+11]>>>0,P=me[Oe+12]>>>0,L=me[Oe+13]>>>0,G=me[Oe+14]>>>0,V=me[Oe+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+m-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+g-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+b+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+y-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+w-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+T+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+E-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+k-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+B+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+j-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+C-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+I-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+P+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+L-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+V+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+g-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+E-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+I+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+m-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+T-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+C+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+V-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+w-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+j+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+y-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+B+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+L-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+b-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+k+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+P-1926607734)+K,J=ie(4,28,J+(N^K^Q)+T-378558)+N,Q=ie(11,21,Q+(J^N^K)+B-2022574463)+J,K=ie(16,16,K+(Q^J^N)+I+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+g-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+w+1272893353)+J,K=ie(16,16,K+(Q^J^N)+k-155497632)+Q,N=ie(23,9,N+(K^Q^J)+C-1094730640)+K,J=ie(4,28,J+(N^K^Q)+L+681279174)+N,Q=ie(11,21,Q+(J^N^K)+m-358537222)+J,K=ie(16,16,K+(Q^J^N)+y-722521979)+Q,N=ie(23,9,N+(K^Q^J)+E+76029189)+K,J=ie(4,28,J+(N^K^Q)+j-640364487)+N,Q=ie(11,21,Q+(J^N^K)+P-421815835)+J,K=ie(16,16,K+(Q^J^N)+V+530742520)+Q,N=ie(23,9,N+(K^Q^J)+b-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+m-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+k+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+T-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+P+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+y-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+C-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+g-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+B+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+V-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+E-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+L+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+w-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+I-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+b+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+j-343485551)+K,Oe=Oe+16,J=J+X>>>0,N=N+Y>>>0,K=K+he>>>0,Q=Q+le>>>0);return uu.endian([J,N,K,Q]);function ie(ge,Ye,Ae){return Ae<<ge|Ae>>>Ye}function xe(ge,Ye){for(var Ae=-1,nt=Math.floor((ge.length-1)/4),bt=0,Dr,re,Ie,$e;nt-8>Ae++;)bt=Ae<<2,Ye[Ae]=ge[bt+0]|ge[bt+1]<<8|ge[bt+2]<<16|ge[bt+3]<<24;for(Ae--;nt>Ae++;)bt=Ae<<2,Dr=typeof ge[bt+0]>"u"?0:ge[bt+0],re=typeof ge[bt+1]>"u"?0:ge[bt+1],Ie=typeof ge[bt+2]>"u"?0:ge[bt+2],$e=typeof ge[bt+3]>"u"?0:ge[bt+3],Ye[Ae]=Dr|re<<8|Ie<<16|$e<<24;return nt+1}};return function(h,m,g,b){var y;return t=m.loops,e=m.loop,r=m.getA,i=m.getB,o=m.getC,u=m.getD,l=m.getX,n=m.setA,a=m.setB,s=m.setC,c=m.setD,f=m.setX,p=g,y=uu.wordsToBytes(d(h)),b&&b.asBytes?y:uu.bytesconvertNumberToHex(y)}}function XMe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,m,g,b,y,w,T,E,k,B,j=new Date().getTime(),C=1732584193,I=-271733879,P=-1732584194,L=271733878,G=t.length*8;B=uu.bytesToWords(t);for(var V=0;V<B.length;V++)B[V]=(B[V]<<8|B[V]>>>24)&16711935|(B[V]<<24|B[V]>>>8)&4278255360;B[G>>>5]|=128<<G%32,B[(G+64>>>9<<4)+14]=G;for(var X=0;X<B.length;X+=16)w=C,T=I,E=P,k=L,n=B[X+0]>>>0,i=B[X+1]>>>0,a=B[X+2]>>>0,o=B[X+3]>>>0,s=B[X+4]>>>0,u=B[X+5]>>>0,c=B[X+6]>>>0,l=B[X+7]>>>0,f=B[X+8]>>>0,p=B[X+9]>>>0,d=B[X+10]>>>0,h=B[X+11]>>>0,m=B[X+12]>>>0,g=B[X+13]>>>0,b=B[X+14]>>>0,y=B[X+15]>>>0,C=Y(7,25,C+(I&P|~I&L)+n-680876936)+I,L=Y(12,20,L+(C&I|~C&P)+i-389564586)+C,P=Y(17,15,P+(L&C|~L&I)+a+606105819)+L,I=Y(22,10,I+(P&L|~P&C)+o-1044525330)+P,C=Y(7,25,C+(I&P|~I&L)+s-176418897)+I,L=Y(12,20,L+(C&I|~C&P)+u+1200080426)+C,P=Y(17,15,P+(L&C|~L&I)+c-1473231341)+L,I=Y(22,10,I+(P&L|~P&C)+l-45705983)+P,C=Y(7,25,C+(I&P|~I&L)+f+1770035416)+I,L=Y(12,20,L+(C&I|~C&P)+p-1958414417)+C,P=Y(17,15,P+(L&C|~L&I)+d-42063)+L,I=Y(22,10,I+(P&L|~P&C)+h-1990404162)+P,C=Y(7,25,C+(I&P|~I&L)+m+1804603682)+I,L=Y(12,20,L+(C&I|~C&P)+g-40341101)+C,P=Y(17,15,P+(L&C|~L&I)+b-1502002290)+L,I=Y(22,10,I+(P&L|~P&C)+y+1236535329)+P,C=Y(5,27,C+(I&L|P&~L)+i-165796510)+I,L=Y(9,23,L+(C&P|I&~P)+c-1069501632)+C,P=Y(14,18,P+(L&I|C&~I)+h+643717713)+L,I=Y(20,12,I+(P&C|L&~C)+n-373897302)+P,C=Y(5,27,C+(I&L|P&~L)+u-701558691)+I,L=Y(9,23,L+(C&P|I&~P)+d+38016083)+C,P=Y(14,18,P+(L&I|C&~I)+y-660478335)+L,I=Y(20,12,I+(P&C|L&~C)+s-405537848)+P,C=Y(5,27,C+(I&L|P&~L)+p+568446438)+I,L=Y(9,23,L+(C&P|I&~P)+b-1019803690)+C,P=Y(14,18,P+(L&I|C&~I)+o-187363961)+L,I=Y(20,12,I+(P&C|L&~C)+f+1163531501)+P,C=Y(5,27,C+(I&L|P&~L)+g-1444681467)+I,L=Y(9,23,L+(C&P|I&~P)+a-51403784)+C,P=Y(14,18,P+(L&I|C&~I)+l+1735328473)+L,I=Y(20,12,I+(P&C|L&~C)+m-1926607734)+P,C=Y(4,28,C+(I^P^L)+u-378558)+I,L=Y(11,21,L+(C^I^P)+f-2022574463)+C,P=Y(16,16,P+(L^C^I)+h+1839030562)+L,I=Y(23,9,I+(P^L^C)+b-35309556)+P,C=Y(4,28,C+(I^P^L)+i-1530992060)+I,L=Y(11,21,L+(C^I^P)+s+1272893353)+C,P=Y(16,16,P+(L^C^I)+l-155497632)+L,I=Y(23,9,I+(P^L^C)+d-1094730640)+P,C=Y(4,28,C+(I^P^L)+g+681279174)+I,L=Y(11,21,L+(C^I^P)+n-358537222)+C,P=Y(16,16,P+(L^C^I)+o-722521979)+L,I=Y(23,9,I+(P^L^C)+c+76029189)+P,C=Y(4,28,C+(I^P^L)+p-640364487)+I,L=Y(11,21,L+(C^I^P)+m-421815835)+C,P=Y(16,16,P+(L^C^I)+y+530742520)+L,I=Y(23,9,I+(P^L^C)+a-995338651)+P,C=Y(6,26,C+(P^(I|~L))+n-198630844)+I,L=Y(10,22,L+(I^(C|~P))+l+1126891415)+C,P=Y(15,17,P+(C^(L|~I))+b-1416354905)+L,I=Y(21,11,I+(L^(P|~C))+u-57434055)+P,C=Y(6,26,C+(P^(I|~L))+m+1700485571)+I,L=Y(10,22,L+(I^(C|~P))+o-1894986606)+C,P=Y(15,17,P+(C^(L|~I))+d-1051523)+L,I=Y(21,11,I+(L^(P|~C))+i-2054922799)+P,C=Y(6,26,C+(P^(I|~L))+f+1873313359)+I,L=Y(10,22,L+(I^(C|~P))+y-30611744)+C,P=Y(15,17,P+(C^(L|~I))+c-1560198380)+L,I=Y(21,11,I+(L^(P|~C))+g+1309151649)+P,C=Y(6,26,C+(P^(I|~L))+s-145523070)+I,L=Y(10,22,L+(I^(C|~P))+h-1120210379)+C,P=Y(15,17,P+(C^(L|~I))+a+718787259)+L,I=Y(21,11,I+(L^(P|~C))+p-343485551)+P,C=C+w>>>0,I=I+T>>>0,P=P+E>>>0,L=L+k>>>0;return uu.endian([C,I,P,L]);function Y(he,le,me){return me<<he|me>>>le}};return function(t,r){var n=uu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:uu.bytesconvertNumberToHex(n);return i}}function YMe(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 QMe(e){return Buffer.from(e,"base64").toString("binary")}function ate(e){return e}function ZMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return uu.rotl(t,8)&16711935|uu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=uu.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 cu=class extends xc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>J5(t).then(a).catch(o));return ete(i,r)}};var $x=Dt(require("crypto"),1),Ew=class extends xc{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(!$x.createHash)throw new Error("crypto.createHash not available");let u=(s=$x.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(!$x.createHash)throw new Error("crypto.createHash not available");let n=(u=$x.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 Mre=require("process");var ote=Dt(require("stream"),1),X5=class{},eLe=ote.Readable||X5;function Q5(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new Y5(r,t)}var Y5=class extends eLe{_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 Qx(){}function En(e){return typeof e=="object"&&e!==null||typeof e=="function"}var Ste=Qx;function er(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var xB=Promise,tLe=Promise.resolve.bind(xB),rLe=Promise.prototype.then,nLe=Promise.reject.bind(xB),iLe=tLe;function Pn(e){return new xB(e)}function tr(e){return Pn(t=>t(e))}function it(e){return nLe(e)}function du(e,t,r){return rLe.call(e,t,r)}function va(e,t,r){du(du(e,t,r),void 0,Ste)}function Z5(e,t){va(e,t)}function uB(e,t){va(e,void 0,t)}function Ac(e,t,r){return du(e,t,r)}function _0(e){du(e,void 0,Ste)}var Gp=e=>{if(typeof queueMicrotask=="function")Gp=queueMicrotask;else{let t=tr(void 0);Gp=r=>du(t,r)}return Gp(e)};function zp(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Sc(e,t,r){try{return tr(zp(e,t,r))}catch(n){return it(n)}}var xa=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]}},Cte=Symbol("[[AbortSteps]]"),Dte=Symbol("[[ErrorSteps]]"),bB=Symbol("[[CancelSteps]]"),yB=Symbol("[[PullSteps]]"),_B=Symbol("[[ReleaseSteps]]");function Fte(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?cB(e):t._state==="closed"?function(r){cB(r),Bte(r)}(e):kte(e,t._storedError)}function wB(e,t){return os(e._ownerReadableStream,t)}function Ec(e){let t=e._ownerReadableStream;t._state==="readable"?EB(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){kte(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[_B](),t._reader=void 0,e._ownerReadableStream=void 0}function Lw(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function cB(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function kte(e,t){cB(e),EB(e,t)}function EB(e,t){e._closedPromise_reject!==void 0&&(_0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Bte(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var ste=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},aLe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function hu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function go(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Ote(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Tc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function lB(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function AB(e){return Number(e)}function ute(e){return e===0?0:e}function TB(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=ute(n),!ste(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return ute(aLe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return ste(n)&&n!==0?n:0}function SB(e,t){if(!zl(e))throw new TypeError(`${t} is not a ReadableStream.`)}function g0(e){return new bc(e)}function Ite(e,t){e._reader._readRequests.push(t)}function CB(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function $w(e){return e._reader._readRequests.length}function Pte(e){let t=e._reader;return t!==void 0&&!!Hl(t)}var bc=class{constructor(t){if(Tc(t,1,"ReadableStreamDefaultReader"),SB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Fte(this,t),this._readRequests=new xa}get closed(){return Hl(this)?this._closedPromise:it(Aw("closed"))}cancel(t=void 0){return Hl(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):wB(this,t):it(Aw("cancel"))}read(){if(!Hl(this))return it(Aw("read"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let t,r,n=Pn((i,a)=>{t=i,r=a});return Zx(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!Hl(this))throw Aw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");Rte(t,r)}(this)}};function Hl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof bc}function Zx(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[yB](t)}function Rte(e,t){let r=e._readRequests;e._readRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Aw(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var eB,tB,rB;function Kx(e){return e.slice()}function jte(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(bc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(bc.prototype.cancel,"cancel"),er(bc.prototype.read,"read"),er(bc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var Hp=e=>(Hp=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,Hp(e)),Vp=e=>(Vp=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Vp(e));function Mte(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return jte(i,0,e,t,n),i}function Jx(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 cte(e){try{let t=e.done,r=e.value;return du(iLe(r),n=>({done:t,value:n}))}catch(t){return it(t)}}var sb=(rB=(eB=Symbol.asyncIterator)!==null&&eB!==void 0?eB:(tB=Symbol.for)===null||tB===void 0?void 0:tB.call(Symbol,"Symbol.asyncIterator"))!==null&&rB!==void 0?rB:"@@asyncIterator";function Lte(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Jx(e,sb))===void 0)return function(i){let a={next(){let o;try{o=qte(i)}catch(s){return it(s)}return cte(o)},return(o){let s;try{let u=Jx(i.iterator,"return");if(u===void 0)return tr({done:!0,value:o});s=zp(u,i.iterator,[o])}catch(u){return it(u)}return En(s)?cte(s):it(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Lte(e,"sync",Jx(e,Symbol.iterator)))}else r=Jx(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=zp(r,e,[]);if(!En(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function qte(e){let t=zp(e.nextMethod,e.iterator,[]);if(!En(t))throw new TypeError("The iterator.next() method must return an object");return t}var qw=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?Ac(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Ac(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Pn((a,o)=>{r=a,n=o});return Zx(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,Gp(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(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=wB(r,t);return Ec(r),Ac(n,()=>({value:t,done:!0}))}return Ec(r),tr({value:t,done:!0})}},Nte={next(){return lte(this)?this._asyncIteratorImpl.next():it(fte("next"))},return(e){return lte(this)?this._asyncIteratorImpl.return(e):it(fte("return"))},[sb](){return this}};function lte(e){if(!En(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof qw}catch{return!1}}function fte(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(Nte,sb,{enumerable:!1});var Ute=Number.isNaN||function(e){return e!=e};function pte(e){let t=Mte(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function fB(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function DB(e,t,r){if(typeof(n=r)!="number"||Ute(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 Wl(e){e._queue=new xa,e._queueTotalSize=0}function Gte(e){return e===DataView}var Vl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!nB(this))throw iB("view");return this._view}respond(t){if(!nB(this))throw iB("respond");if(Tc(t,1,"respond"),t=TB(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Vp(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Pw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!nB(this))throw iB("respondWithNewView");if(Tc(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(Vp(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Vl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),er(Vl.prototype.respond,"respond"),er(Vl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Vl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var fu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Np(this))throw Wx("byobRequest");return hB(this)}get desiredSize(){if(!Np(this))throw Wx("desiredSize");return Qte(this)}close(){if(!Np(this))throw Wx("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`);Xx(this)}enqueue(t){if(!Np(this))throw Wx("enqueue");if(Tc(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`);Iw(this,t)}error(t=void 0){if(!Np(this))throw Wx("error");mo(this,t)}[bB](t){zte(this),Wl(this);let r=this._cancelAlgorithm(t);return Ww(this),r}[yB](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void Yte(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)}Ite(r,t),Kp(this)}[_B](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new xa,this._pendingPullIntos.push(t)}}};function Np(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof fu}function nB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Vl}function Kp(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(Pte(n)&&$w(n)>0||kB(n)&&tre(n)>0||Qte(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Kp(e)),null),r=>(mo(e,r),null))}}function zte(e){FB(e),e._pendingPullIntos=new xa}function pB(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Hte(t);t.readerType==="default"?CB(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 Hte(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Ow(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Vte(e,t,r,n){let i;try{i=Mte(t,r,r+n)}catch(a){throw mo(e,a),a}Ow(e,i,0,n)}function $te(e,t){t.bytesFilled>0&&Vte(e,t.buffer,t.byteOffset,t.bytesFilled),v0(e)}function Wte(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;jte(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,Kte(e,c,t),i-=c}return a}function Kte(e,t,r){r.bytesFilled+=t}function Jte(e){e._queueTotalSize===0&&e._closeRequested?(Ww(e),ub(e._controlledReadableByteStream)):Kp(e)}function FB(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function dB(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Wte(e,t)&&(v0(e),pB(e._controlledReadableByteStream,t))}}function oLe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Gte(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=Hp(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 dte(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(Wte(e,f)){let p=Hte(f);return Jte(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return mo(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),dte(i,n),Kp(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function Xte(e,t){let r=e._pendingPullIntos.peek();FB(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&v0(n);let a=n._controlledReadableByteStream;if(kB(a))for(;tre(a)>0;)pB(a,v0(n))}(e,r):function(n,i,a){if(Kte(0,i,a),a.readerType==="none")return $te(n,a),void dB(n);if(a.bytesFilled<a.minimumFill)return;v0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Vte(n,a.buffer,s-o,o)}a.bytesFilled-=o,pB(n._controlledReadableByteStream,a),dB(n)}(e,t,r),Kp(e)}function v0(e){return e._pendingPullIntos.shift()}function Ww(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Xx(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 mo(e,n),n}}Ww(e),ub(t)}}function Iw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(Vp(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=Hp(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Vp(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");FB(e),s.buffer=Hp(s.buffer),s.readerType==="none"&&$te(e,s)}Pte(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;Yte(s,u._readRequests.shift())}}(e),$w(r)===0?Ow(e,o,i,a):(e._pendingPullIntos.length>0&&v0(e),CB(r,new Uint8Array(o,i,a),!1))):kB(r)?(Ow(e,o,i,a),dB(e)):Ow(e,o,i,a),Kp(e)}function mo(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(zte(e),Wl(e),Ww(e),_re(r,t))}function Yte(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Jte(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function hB(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(Vl.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Qte(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Pw(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=Hp(r.buffer),Xte(e,t)}function Rw(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=Hp(t.buffer),Xte(e,n)}function Zte(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,Wl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new xa,e._readableStreamController=t,va(tr(r()),()=>(t._started=!0,Kp(t),null),s=>(mo(t,s),null))}function iB(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Wx(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function sLe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function ere(e){return new yc(e)}function dte(e,t){e._reader._readIntoRequests.push(t)}function tre(e){return e._reader._readIntoRequests.length}function kB(e){let t=e._reader;return t!==void 0&&!!Up(t)}Object.defineProperties(fu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),er(fu.prototype.close,"close"),er(fu.prototype.enqueue,"enqueue"),er(fu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var yc=class{constructor(t){if(Tc(t,1,"ReadableStreamBYOBReader"),SB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Np(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Fte(this,t),this._readIntoRequests=new xa}get closed(){return Up(this)?this._closedPromise:it(Tw("closed"))}cancel(t=void 0){return Up(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):wB(this,t):it(Tw("cancel"))}read(t,r={}){if(!Up(this))return it(Tw("read"));if(!ArrayBuffer.isView(t))return it(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return it(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return it(new TypeError("view's buffer must have non-zero byteLength"));if(Vp(t.buffer))return it(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return hu(u,c),{min:TB((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return it(u)}let i=n.min;if(i===0)return it(new TypeError("options.min must be greater than 0"));if(function(u){return Gte(u.constructor)}(t)){if(i>t.byteLength)return it(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return it(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let a,o,s=Pn((u,c)=>{a=u,o=c});return rre(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!Up(this))throw Tw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");nre(t,r)}(this)}};function Up(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof yc}function rre(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):oLe(i._readableStreamController,t,r,n)}function nre(e,t){let r=e._readIntoRequests;e._readIntoRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Tw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function eb(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Ute(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Nw(e){let{size:t}=e;return t||(()=>1)}function Uw(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:AB(r),size:n===void 0?void 0:uLe(n,`${t} has member 'size' that`)}}function uLe(e,t){return go(e,t),r=>AB(e(r))}function cLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function lLe(e,t,r){return go(e,r),()=>Sc(e,t,[])}function fLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function pLe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function ire(e,t){if(!m0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(yc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(yc.prototype.cancel,"cancel"),er(yc.prototype.read,"read"),er(yc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var dLe=typeof AbortController=="function",_c=class{constructor(t={},r={}){t===void 0?t=null:Ote(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(o,s){hu(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:cLe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:lLe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:fLe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:pLe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(ore(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=Nw(n);(function(o,s,u,c){let l=Object.create($p.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?m=>s.write(m,l):()=>tr(void 0),d=s.close!==void 0?()=>s.close():()=>tr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>tr(void 0),dre(o,l,f,p,d,h,u,c)})(this,i,eb(n,1),a)}get locked(){if(!m0(this))throw Cw("locked");return x0(this)}abort(t=void 0){return m0(this)?x0(this)?it(new TypeError("Cannot abort a stream that already has a writer")):Gw(this,t):it(Cw("abort"))}close(){return m0(this)?x0(this)?it(new TypeError("Cannot close a stream that already has a writer")):mu(this)?it(new TypeError("Cannot close an already-closing stream")):sre(this):it(Cw("close"))}getWriter(){if(!m0(this))throw Cw("getWriter");return are(this)}};function are(e){return new lu(e)}function ore(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new xa,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function m0(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof _c}function x0(e){return e._writer!==void 0}function Gw(e,t){var r;if(e._state==="closed"||e._state==="errored")return tr(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 tr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Pn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||BB(e,t),a}function sre(e){let t=e._state;if(t==="closed"||t==="errored")return it(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Pn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&jB(n),DB(i=e._writableStreamController,pre,0),Kw(i),r}function mB(e,t){e._state!=="writable"?OB(e):BB(e,t)}function BB(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&cre(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&OB(e)}function OB(e){e._state="errored",e._writableStreamController[Dte]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new xa,e._pendingAbortRequest===void 0)return void Sw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Sw(e);va(e._writableStreamController[Cte](r._reason),()=>(r._resolve(),Sw(e),null),n=>(r._reject(n),Sw(e),null))}function mu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function Sw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&RB(t,e._storedError)}function IB(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Jw(n)}(r):jB(r)),e._backpressure=t}Object.defineProperties(_c.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),er(_c.prototype.abort,"abort"),er(_c.prototype.close,"close"),er(_c.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(_c.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var lu=class{constructor(t){if(Tc(t,1,"WritableStreamDefaultWriter"),ire(t,"First parameter"),x0(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")!mu(t)&&t._backpressure?Jw(this):hte(this),jw(this);else if(r==="erroring")gB(this,t._storedError),jw(this);else if(r==="closed")hte(this),jw(n=this),vre(n);else{let i=t._storedError;gB(this,i),gre(this,i)}var n}get closed(){return Mp(this)?this._closedPromise:it(Lp("closed"))}get desiredSize(){if(!Mp(this))throw Lp("desiredSize");if(this._ownerWritableStream===void 0)throw Yx("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:hre(r._writableStreamController)}(this)}get ready(){return Mp(this)?this._readyPromise:it(Lp("ready"))}abort(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Yx("abort")):function(r,n){return Gw(r._ownerWritableStream,n)}(this,t):it(Lp("abort"))}close(){if(!Mp(this))return it(Lp("close"));let t=this._ownerWritableStream;return t===void 0?it(Yx("close")):mu(t)?it(new TypeError("Cannot close an already-closing stream")):ure(this)}releaseLock(){if(!Mp(this))throw Lp("releaseLock");this._ownerWritableStream!==void 0&&lre(this)}write(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Yx("write to")):fre(this,t):it(Lp("write"))}};function Mp(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof lu}function ure(e){return sre(e._ownerWritableStream)}function hLe(e,t){e._closedPromiseState==="pending"?RB(e,t):function(r,n){gre(r,n)}(e,t)}function cre(e,t){e._readyPromiseState==="pending"?xre(e,t):function(r,n){gB(r,n)}(e,t)}function lre(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");cre(e,r),hLe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function fre(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return tb(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return it(Yx("write to"));let a=r._state;if(a==="errored")return it(r._storedError);if(mu(r)||a==="closed")return it(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return it(r._storedError);let o=function(s){return Pn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{DB(s,u,c)}catch(f){return void tb(s,f)}let l=s._controlledWritableStream;!mu(l)&&l._state==="writable"&&IB(l,PB(s)),Kw(s)}(n,t,i),o}Object.defineProperties(lu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),er(lu.prototype.abort,"abort"),er(lu.prototype.close,"close"),er(lu.prototype.releaseLock,"releaseLock"),er(lu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(lu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var pre={},$p=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!aB(this))throw oB("abortReason");return this._abortReason}get signal(){if(!aB(this))throw oB("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!aB(this))throw oB("error");this._controlledWritableStream._state==="writable"&&mre(this,t)}[Cte](t){let r=this._abortAlgorithm(t);return zw(this),r}[Dte](){Wl(this)}};function aB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof $p}function dre(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Wl(t),t._abortReason=void 0,t._abortController=function(){if(dLe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=PB(t);IB(e,u),va(tr(r()),()=>(t._started=!0,Kw(t),null),c=>(t._started=!0,mB(e,c),null))}function zw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function hre(e){return e._strategyHWM-e._queueTotalSize}function Kw(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void OB(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===pre?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),fB(n);let a=n._closeAlgorithm();zw(n),va(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&&vre(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),mB(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);va(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(fB(n),!mu(a)&&s==="writable"){let u=PB(n);IB(a,u)}return Kw(n),null},s=>(a._state==="writable"&&zw(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,mB(u,c)}(a,s),null))}(e,r)}function tb(e,t){e._controlledWritableStream._state==="writable"&&mre(e,t)}function PB(e){return hre(e)<=0}function mre(e,t){let r=e._controlledWritableStream;zw(e),BB(r,t)}function Cw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function oB(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Lp(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Yx(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function jw(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function gre(e,t){jw(e),RB(e,t)}function RB(e,t){e._closedPromise_reject!==void 0&&(_0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function vre(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 Jw(e){e._readyPromise=Pn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function gB(e,t){Jw(e),xre(e,t)}function hte(e){Jw(e),jB(e)}function xre(e,t){e._readyPromise_reject!==void 0&&(_0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function jB(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($p.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($p.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var mte=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,mLe=function(){let e=mte==null?void 0:mte.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 er(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function gte(e,t,r,n,i,a){let o=g0(e),s=are(t);e._disturbed=!0;let u=!1,c=tr(void 0);return Pn((l,f)=>{let p;if(a!==void 0){if(p=()=>{let E=a.reason!==void 0?a.reason:new mLe("Aborted","AbortError"),k=[];n||k.push(()=>t._state==="writable"?Gw(t,E):tr(void 0)),i||k.push(()=>e._state==="readable"?os(e,E):tr(void 0)),y(()=>Promise.all(k.map(B=>B())),!0,E)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,m;if(b(e,o._closedPromise,E=>(n?w(!0,E):y(()=>Gw(t,E),!0,E),null)),b(t,s._closedPromise,E=>(i?w(!0,E):y(()=>os(e,E),!0,E),null)),d=e,h=o._closedPromise,m=()=>(r?w():y(()=>function(E){let k=E._ownerWritableStream,B=k._state;return mu(k)||B==="closed"?tr(void 0):B==="errored"?it(k._storedError):ure(E)}(s)),null),d._state==="closed"?m():Z5(h,m),mu(t)||t._state==="closed"){let E=new TypeError("the destination writable stream closed before all data could be piped to it");i?w(!0,E):y(()=>os(e,E),!0,E)}function g(){let E=c;return du(c,()=>E!==c?g():void 0)}function b(E,k,B){E._state==="errored"?B(E._storedError):uB(k,B)}function y(E,k,B){function j(){return va(E(),()=>T(k,B),C=>T(!0,C)),null}u||(u=!0,t._state!=="writable"||mu(t)?j():Z5(g(),j))}function w(E,k){u||(u=!0,t._state!=="writable"||mu(t)?T(E,k):Z5(g(),()=>T(E,k)))}function T(E,k){return lre(s),Ec(o),a!==void 0&&a.removeEventListener("abort",p),E?f(k):l(void 0),null}_0(Pn((E,k)=>{(function B(j){j?E():du(u?tr(!0):du(s._readyPromise,()=>Pn((C,I)=>{Zx(o,{_chunkSteps:P=>{c=du(fre(s,P),void 0,Qx),C(!1)},_closeSteps:()=>C(!0),_errorSteps:I})})),B,k)})(!1)}))})}var pu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Dw(this))throw Fw("desiredSize");return MB(this)}close(){if(!Dw(this))throw Fw("close");if(!y0(this))throw new TypeError("The stream is not in a state that permits close");Wp(this)}enqueue(t=void 0){if(!Dw(this))throw Fw("enqueue");if(!y0(this))throw new TypeError("The stream is not in a state that permits enqueue");return b0(this,t)}error(t=void 0){if(!Dw(this))throw Fw("error");ss(this,t)}[bB](t){Wl(this);let r=this._cancelAlgorithm(t);return Hw(this),r}[yB](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=fB(this);this._closeRequested&&this._queue.length===0?(Hw(this),ub(r)):rb(this),t._chunkSteps(n)}else Ite(r,t),rb(this)}[_B](){}};function Dw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof pu}function rb(e){if(bre(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,rb(e)),null),t=>(ss(e,t),null))}}function bre(e){let t=e._controlledReadableStream;return!y0(e)||!e._started?!1:$l(t)&&$w(t)>0?!0:MB(e)>0}function Hw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Wp(e){if(!y0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Hw(e),ub(t))}function b0(e,t){if(!y0(e))return;let r=e._controlledReadableStream;if($l(r)&&$w(r)>0)CB(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw ss(e,i),i}try{DB(e,t,n)}catch(i){throw ss(e,i),i}}rb(e)}function ss(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Wl(e),Hw(e),_re(r,t))}function MB(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 yre(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Wl(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,va(tr(r()),()=>(t._started=!0,rb(t),null),s=>(ss(t,s),null))}function Fw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function gLe(e,t){return Np(e._readableStreamController)?function(r){let n,i,a,o,s,u=g0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Pn(B=>{s=B});function m(B){uB(B._closedPromise,j=>(B!==u||(mo(a._readableStreamController,j),mo(o._readableStreamController,j),p&&d||s(void 0)),null))}function g(){Up(u)&&(Ec(u),u=g0(r),m(u)),Zx(u,{_chunkSteps:B=>{Gp(()=>{l=!1,f=!1;let j=B,C=B;if(!p&&!d)try{C=pte(B)}catch(I){return mo(a._readableStreamController,I),mo(o._readableStreamController,I),void s(os(r,I))}p||Iw(a._readableStreamController,j),d||Iw(o._readableStreamController,C),c=!1,l?y():f&&w()})},_closeSteps:()=>{c=!1,p||Xx(a._readableStreamController),d||Xx(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&Pw(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Pw(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function b(B,j){Hl(u)&&(Ec(u),u=ere(r),m(u));let C=j?o:a,I=j?a:o;rre(u,B,1,{_chunkSteps:P=>{Gp(()=>{l=!1,f=!1;let L=j?d:p;if(j?p:d)L||Rw(C._readableStreamController,P);else{let G;try{G=pte(P)}catch(V){return mo(C._readableStreamController,V),mo(I._readableStreamController,V),void s(os(r,V))}L||Rw(C._readableStreamController,P),Iw(I._readableStreamController,G)}c=!1,l?y():f&&w()})},_closeSteps:P=>{c=!1;let L=j?d:p,G=j?p:d;L||Xx(C._readableStreamController),G||Xx(I._readableStreamController),P!==void 0&&(L||Rw(C._readableStreamController,P),!G&&I._readableStreamController._pendingPullIntos.length>0&&Pw(I._readableStreamController,0)),L&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function y(){if(c)return l=!0,tr(void 0);c=!0;let B=hB(a._readableStreamController);return B===null?g():b(B._view,!1),tr(void 0)}function w(){if(c)return f=!0,tr(void 0);c=!0;let B=hB(o._readableStreamController);return B===null?g():b(B._view,!0),tr(void 0)}function T(B){if(p=!0,n=B,d){let j=Kx([n,i]),C=os(r,j);s(C)}return h}function E(B){if(d=!0,i=B,p){let j=Kx([n,i]),C=os(r,j);s(C)}return h}function k(){}return a=xte(k,y,T),o=xte(k,w,E),m(u),[a,o]}(e):function(r,n){let i=g0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Pn(w=>{c=w});function m(){return l?(f=!0,tr(void 0)):(l=!0,Zx(i,{_chunkSteps:w=>{Gp(()=>{f=!1;let T=w,E=w;p||b0(s._readableStreamController,T),d||b0(u._readableStreamController,E),l=!1,f&&m()})},_closeSteps:()=>{l=!1,p||Wp(s._readableStreamController),d||Wp(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),tr(void 0))}function g(w){if(p=!0,a=w,d){let T=Kx([a,o]),E=os(r,T);c(E)}return h}function b(w){if(d=!0,o=w,p){let T=Kx([a,o]),E=os(r,T);c(E)}return h}function y(){}return s=nb(y,m,g),u=nb(y,m,b),uB(i._closedPromise,w=>(ss(s._readableStreamController,w),ss(u._readableStreamController,w),p&&d||c(void 0),null)),[s,u]}(e)}function vLe(e){return En(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return it(s)}return Ac(o,s=>{if(!En(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Wp(n._readableStreamController);else{let u=s.value;b0(n._readableStreamController,u)}})}function a(o){try{return tr(r.cancel(o))}catch(s){return it(s)}}return n=nb(Qx,i,a,0),n}(e.getReader()):function(r){let n,i=Lte(r,"async");function a(){let s;try{s=qte(i)}catch(u){return it(u)}return Ac(tr(s),u=>{if(!En(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)Wp(n._readableStreamController);else{let c=u.value;b0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Jx(u,"return")}catch(l){return it(l)}return c===void 0?tr(void 0):Ac(Sc(c,u,[s]),l=>{if(!En(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=nb(Qx,a,o,0),n}(e);var t}function xLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function bLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function yLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function _Le(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function vte(e,t){hu(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(pu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),er(pu.prototype.close,"close"),er(pu.prototype.enqueue,"enqueue"),er(pu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var $n=class{constructor(t={},r={}){t===void 0?t=null:Ote(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(a,o){hu(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:TB(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:xLe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:bLe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:yLe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:_Le(p,`${o} has member 'type' that`)}}(t,"First parameter");if(LB(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(fu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>tr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>tr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Zte(a,u,c,l,f,s,p)})(this,i,eb(n,0))}else{let a=Nw(n);(function(o,s,u,c){let l=Object.create(pu.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>tr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>tr(void 0),yre(o,l,f,p,d,u,c)})(this,i,eb(n,1),a)}}get locked(){if(!zl(this))throw qp("locked");return $l(this)}cancel(t=void 0){return zl(this)?$l(this)?it(new TypeError("Cannot cancel a stream that already has a reader")):os(this,t):it(qp("cancel"))}getReader(t=void 0){if(!zl(this))throw qp("getReader");return function(r,n){hu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:sLe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?g0(this):ere(this)}pipeThrough(t,r={}){if(!zl(this))throw qp("pipeThrough");Tc(t,1,"pipeThrough");let n=function(a,o){hu(a,o);let s=a==null?void 0:a.readable;lB(s,"readable","ReadableWritablePair"),SB(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return lB(u,"writable","ReadableWritablePair"),ire(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=vte(r,"Second parameter");if($l(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(x0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return _0(gte(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!zl(this))return it(qp("pipeTo"));if(t===void 0)return it("Parameter 1 is required in 'pipeTo'.");if(!m0(t))return it(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=vte(r,"Second parameter")}catch(i){return it(i)}return $l(this)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):x0(t)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):gte(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!zl(this))throw qp("tee");return Kx(gLe(this))}values(t=void 0){if(!zl(this))throw qp("values");return function(r,n){let i=g0(r),a=new qw(i,n),o=Object.create(Nte);return o._asyncIteratorImpl=a,o}(this,function(r,n){hu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[sb](t){return this.values(t)}static from(t){return vLe(t)}};function nb(e,t,r,n=1,i=()=>1){let a=Object.create($n.prototype);return LB(a),yre(a,Object.create(pu.prototype),e,t,r,n,i),a}function xte(e,t,r){let n=Object.create($n.prototype);return LB(n),Zte(n,Object.create(fu.prototype),e,t,r,0,void 0),n}function LB(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function zl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof $n}function $l(e){return e._reader!==void 0}function os(e,t){if(e._disturbed=!0,e._state==="closed")return tr(void 0);if(e._state==="errored")return it(e._storedError);ub(e);let r=e._reader;if(r!==void 0&&Up(r)){let n=r._readIntoRequests;r._readIntoRequests=new xa,n.forEach(i=>{i._closeSteps(void 0)})}return Ac(e._readableStreamController[bB](t),Qx)}function ub(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Bte(t),Hl(t))){let r=t._readRequests;t._readRequests=new xa,r.forEach(n=>{n._closeSteps()})}}function _re(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(EB(r,t),Hl(r)?Rte(r,t):nre(r,t))}function qp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function wre(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark;return lB(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:AB(r)}}Object.defineProperties($n,{from:{enumerable:!0}}),Object.defineProperties($n.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),er($n.from,"from"),er($n.prototype.cancel,"cancel"),er($n.prototype.getReader,"getReader"),er($n.prototype.pipeThrough,"pipeThrough"),er($n.prototype.pipeTo,"pipeTo"),er($n.prototype.tee,"tee"),er($n.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($n.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty($n.prototype,sb,{value:$n.prototype.values,writable:!0,configurable:!0});var Ere=e=>e.byteLength;er(Ere,"size");var ib=class{constructor(t){Tc(t,1,"ByteLengthQueuingStrategy"),t=wre(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!yte(this))throw bte("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yte(this))throw bte("size");return Ere}};function bte(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function yte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ib}Object.defineProperties(ib.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ib.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var Are=()=>1;er(Are,"size");var ab=class{constructor(t){Tc(t,1,"CountQueuingStrategy"),t=wre(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!wte(this))throw _te("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!wte(this))throw _te("size");return Are}};function _te(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function wte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ab}function wLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function ELe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function ALe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function TLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}Object.defineProperties(ab.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ab.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var ob=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=Uw(r,"Second parameter"),a=Uw(n,"Third parameter"),o=function(p,d){hu(p,d);let h=p==null?void 0:p.cancel,m=p==null?void 0:p.flush,g=p==null?void 0:p.readableType,b=p==null?void 0:p.start,y=p==null?void 0:p.transform,w=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:TLe(h,p,`${d} has member 'cancel' that`),flush:m===void 0?void 0:wLe(m,p,`${d} has member 'flush' that`),readableType:g,start:b===void 0?void 0:ELe(b,p,`${d} has member 'start' that`),transform:y===void 0?void 0:ALe(y,p,`${d} has member 'transform' that`),writableType:w}}(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=eb(a,0),u=Nw(a),c=eb(i,1),l=Nw(i),f;(function(p,d,h,m,g,b){function y(){return d}function w(j){return function(C,I){let P=C._transformStreamController;return C._backpressure?Ac(C._backpressureChangePromise,()=>{let L=C._writable;if(L._state==="erroring")throw L._storedError;return Ate(P,I)}):Ate(P,I)}(p,j)}function T(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._readable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),va(G,()=>(L._state==="errored"?h0(P,L._storedError):(ss(L._readableStreamController,I),sB(P)),null),V=>(ss(L._readableStreamController,V),h0(P,V),null)),P._finishPromise}(p,j)}function E(){return function(j){let C=j._transformStreamController;if(C._finishPromise!==void 0)return C._finishPromise;let I=j._readable;C._finishPromise=Pn((L,G)=>{C._finishPromise_resolve=L,C._finishPromise_reject=G});let P=C._flushAlgorithm();return Mw(C),va(P,()=>(I._state==="errored"?h0(C,I._storedError):(Wp(I._readableStreamController),sB(C)),null),L=>(ss(I._readableStreamController,L),h0(C,L),null)),C._finishPromise}(p)}function k(){return function(j){return Vw(j,!1),j._backpressureChangePromise}(p)}function B(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._writable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),va(G,()=>(L._state==="errored"?h0(P,L._storedError):(tb(L._writableStreamController,I),vB(C),sB(P)),null),V=>(tb(L._writableStreamController,V),vB(C),h0(P,V),null)),P._finishPromise}(p,j)}p._writable=function(j,C,I,P,L=1,G=()=>1){let V=Object.create(_c.prototype);return ore(V),dre(V,Object.create($p.prototype),j,C,I,P,L,G),V}(y,w,E,T,h,m),p._readable=nb(y,k,B,g,b),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,Vw(p,!0),p._transformStreamController=void 0})(this,Pn(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(wc.prototype),m,g,b;m=d.transform!==void 0?y=>d.transform(y,h):y=>{try{return Sre(h,y),tr(void 0)}catch(w){return it(w)}},g=d.flush!==void 0?()=>d.flush(h):()=>tr(void 0),b=d.cancel!==void 0?y=>d.cancel(y):()=>tr(void 0),function(y,w,T,E,k){w._controlledTransformStream=y,y._transformStreamController=w,w._transformAlgorithm=T,w._flushAlgorithm=E,w._cancelAlgorithm=k,w._finishPromise=void 0,w._finishPromise_resolve=void 0,w._finishPromise_reject=void 0}(p,h,m,g,b)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!Ete(this))throw Tte("readable");return this._readable}get writable(){if(!Ete(this))throw Tte("writable");return this._writable}};function Ete(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof ob}function Tre(e,t){ss(e._readable._readableStreamController,t),qB(e,t)}function qB(e,t){Mw(e._transformStreamController),tb(e._writable._writableStreamController,t),vB(e)}function vB(e){e._backpressure&&Vw(e,!1)}function Vw(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Pn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(ob.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ob.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var wc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!kw(this))throw Bw("desiredSize");return MB(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!kw(this))throw Bw("enqueue");Sre(this,t)}error(t=void 0){if(!kw(this))throw Bw("error");var r;r=t,Tre(this._controlledTransformStream,r)}terminate(){if(!kw(this))throw Bw("terminate");(function(t){let r=t._controlledTransformStream;Wp(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");qB(r,n)})(this)}};function kw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof wc}function Mw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function Sre(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{b0(n,t)}catch(a){throw qB(r,a),r._readable._storedError}(function(a){return!bre(a)})(n)!==r._backpressure&&Vw(r,!0)}function Ate(e,t){return Ac(e._transformAlgorithm(t),void 0,r=>{throw Tre(e._controlledTransformStream,r),r})}function Bw(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function sB(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&&(_0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function Tte(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(wc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),er(wc.prototype.enqueue,"enqueue"),er(wc.prototype.error,"error"),er(wc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(wc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Xw=class extends $n{};var Yw=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 Qw=class extends Xw{_chunks;constructor(t){super(new Yw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Jp=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 Jp)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=SLe(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 Jp([],{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 Qw(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 SLe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function CLe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Jp),globalThis.Blob}var DLe=CLe();var Zw=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,${Fv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var eE=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 Cre(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=Zw),typeof File>"u"&&!globalThis.File&&(globalThis.File=eE),global}var FLe=Cre();var NB=Dt(require("module"),1),Dre=Dt(require("path"),1),rE=Dt(require("fs"),1);async function Fre(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():rE.default.readFileSync(e).buffer}async function kre(e){return e.startsWith("http")?await(await fetch(e)).text():rE.default.readFileSync(e,"utf8")}async function Bre(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return tE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=rE.default.readFileSync(e,"utf8");return tE(t)}function tE(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=NB.default._nodeModulePaths(Dre.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new NB.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 us=class{map;constructor(t){this.map={},t instanceof us?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=cb(t),r=Ore(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[cb(t)]}get(t){return t=cb(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(cb(t))}set(t,r){this.map[cb(t)]=Ore(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)}),UB(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),UB(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),UB(t)}*[Symbol.iterator](){yield*this.entries()}};function cb(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 Ore(e){return typeof e!="string"&&(e=String(e)),e}function UB(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function GB(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var HB=Dt(require("stream"),1),kLe=e=>typeof e=="boolean",Ire=e=>typeof e=="function",BLe=e=>e!==null&&typeof e=="object",zB=e=>BLe(e)&&Ire(e.read)&&Ire(e.pipe)&&kLe(e.readable),Cc=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 us((r==null?void 0:r.headers)||{}),zB(t)?this._body=bw(t,n):typeof t=="string"?this._body=HB.Readable.from([new TextEncoder().encode(t)]):this._body=HB.Readable.from([t||new ArrayBuffer(0)])}get body(){return GB(!this.bodyUsed),GB(zB(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return zB(this._body)?await Xee(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 Rre=Dt(require("http"),1),jre=Dt(require("https"),1);var OLe=e=>e&&e instanceof ArrayBuffer,ILe=e=>e&&e instanceof Buffer;function Pre(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:PLe(r),mimeType:n}}function PLe(e){if(OLe(e))return e;if(ILe(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 VB=e=>e.startsWith("data:"),RLe=e=>e.startsWith("http:")||e.startsWith("https:");async function lb(e,t){try{if(globalThis.fetch!==lb&&(RLe(e)||VB(e)))return await fetch(e,t);if(VB(e)){let{arrayBuffer:c,mimeType:l}=Pre(e);return new Cc(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 jLe(n,t),a=NLe(e,i,r),{status:o,statusText:s}=qLe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=MLe(e,a.get("location"));return await lb(c,t)}return new Cc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Cc(null,{status:400,statusText:String(r),url:e})}}async function jLe(e,t){return await new Promise((r,n)=>{let i=LLe(e,t),a=e.startsWith("https:")?jre.default.request(i,o=>r(o)):Rre.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function MLe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function LLe(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 qLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function NLe(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=ULe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new us(n)}function ULe(e){return VB(e)?e.length-5:null}var GLe=parseInt(Mre.versions.node.split(".")[0]);BU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=Q5;globalThis.loaders.NodeFile=jp;globalThis.loaders.NodeFileSystem=ww;globalThis.loaders.fetchNode=yw;globalThis.loaders.NodeHash=Ew;globalThis.TextEncoder||(globalThis.TextEncoder=Dv);globalThis.TextDecoder||(globalThis.TextDecoder=cp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Fv&&(globalThis.atob=Fv);!("btoa"in globalThis)&&hD&&(globalThis.btoa=hD);globalThis.loaders.encodeImageNode=jH;globalThis.loaders.parseImageNode=_5;globalThis.loaders.imageFormatsNode=y5;globalThis._parseImageNode=_5;globalThis._imageFormatsNode=y5;globalThis.loaders.readFileAsArrayBuffer=Fre;globalThis.loaders.readFileAsText=kre;globalThis.loaders.requireFromFile=Bre;globalThis.loaders.requireFromString=tE;GLe<18&&(!("Headers"in globalThis)&&us&&(globalThis.Headers=us),!("Response"in globalThis)&&Cc&&(globalThis.Response=Cc),!("fetch"in globalThis)&&lb&&(globalThis.fetch=lb));var V6e=require("path"),sD=Dt(rge(),1);var Zr={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var QS=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:Zr.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 Zr.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case Zr.STRING_TYPE:this.setupStringAttribute(i);break;case Zr.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case Zr.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case Zr.OBJECT_ID_TYPE:return"esriFieldTypeOID";case Zr.STRING_TYPE:return"esriFieldTypeString";case Zr.SHORT_INT_TYPE:return"esriFieldTypeInteger";case Zr.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 Yxt=e=>typeof e=="boolean",vy=e=>typeof e=="function",wd=e=>e!==null&&typeof e=="object",gj=e=>wd(e)&&e.constructor==={}.constructor;var nge=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",ige=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Eo=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Ao=e=>typeof Blob<"u"&&e instanceof Blob,age=e=>e&&typeof e=="object"&&e.isBuffer;var Qxt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||wd(e)&&vy(e.tee)&&vy(e.cancel)&&vy(e.getReader);var Zxt=e=>wd(e)&&vy(e.read)&&vy(e.pipe)&&Yxt(e.readable),ZS=e=>Qxt(e)||Zxt(e);var e3=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var ebt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,tbt=/^([-\w.]+\/[-\w.+]+)/;function vj(e,t){return e.toLowerCase()===t.toLowerCase()}function oge(e){let t=tbt.exec(e);return t?t[1]:e}function xj(e){let t=ebt.exec(e);return t?t[1]:""}var sge=/\?.*/;function uge(e){let t=e.match(sge);return t&&t[0]}function Km(e){return e.replace(sge,"")}function cge(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Ed(e){return Eo(e)?e.url:Ao(e)?e.name||"":typeof e=="string"?e:""}function xy(e){if(Eo(e)){let t=e,r=t.headers.get("content-type")||"",n=Km(t.url);return oge(r)||xj(n)}return Ao(e)?e.type||"":typeof e=="string"?xj(e):""}function lge(e){return Eo(e)?e.headers["content-length"]||-1:Ao(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function t3(e){if(Eo(e))return e;let t={},r=lge(e);r>=0&&(t["content-length"]=String(r));let n=Ed(e),i=xy(e);i&&(t["content-type"]=i);let a=await nbt(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 fge(e){if(!e.ok)throw await rbt(e)}async function rbt(e){let t=cge(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=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new e3(r,n)}async function nbt(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,${ibt(r)}`}return null}function ibt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function abt(e){return!obt(e)&&!sbt(e)}function obt(e){return e.startsWith("http:")||e.startsWith("https:")}function sbt(e){return e.startsWith("data:")}async function ta(e,t){var r,n;if(typeof e=="string"){let i=su(e);return abt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await t3(e)}var bj=new nu({id:"loaders.gl"}),r3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},n3=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 yj={fetch:null,mimeType:void 0,nothrow:!1,log:new n3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:wr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},pge={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 _j(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Jm(){let e=_j();return e.globalOptions=e.globalOptions||{...yj},e.globalOptions}function mge(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],ubt(e,r),lbt(t,e,n)}function ubt(e,t){dge(e,null,yj,pge,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]||{};dge(n,r.id,i,a,t)}}function dge(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&wd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)bj.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=cbt(s,i);bj.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function cbt(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 lbt(e,t,r){let i={...e.options||{}};return fbt(i,r),i.log===null&&(i.log=new r3),hge(i,Jm()),hge(i,t),i}function hge(e,t){for(let r in t)if(r in t){let n=t[r];gj(n)&&gj(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function fbt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function by(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function wj(e){_t(e,"null loader"),_t(by(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 pbt=()=>{let e=_j();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function gge(){return pbt()}var dbt=/\.([^.]+)$/;async function bge(e,t=[],r,n){if(!yge(e))return null;let i=vge(e,t,{...r,nothrow:!0},n);if(i)return i;if(Ao(e)&&(e=await e.slice(0,10).arrayBuffer(),i=vge(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(_ge(e));return i}function vge(e,t=[],r,n){if(!yge(e))return null;if(t&&!Array.isArray(t))return wj(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...gge()),mbt(i);let a=hbt(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(_ge(e));return a}function hbt(e,t,r,n){let i=Ed(e),a=xy(e),o=Km(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=Ej(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||gbt(t,o),u=u||(s?`matched url ${o}`:""),s=s||Ej(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||xbt(t,e),u=u||(s?`matched initial data ${wge(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||Ej(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&T5.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function yge(e){return!(e instanceof Response&&e.status===204)}function _ge(e){let t=Ed(e),r=xy(e),n="No valid loader found (";n+=t?`${ga.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?wge(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function mbt(e){for(let t of e)wj(t)}function gbt(e,t){let r=t&&dbt.exec(t),n=r&&r[1];return n?vbt(e,n):null}function vbt(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 Ej(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>vj(t,i))||vj(t,`application/x.${n.id}`))return n;return null}function xbt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(bbt(t,r))return r}else if(ArrayBuffer.isView(t)){if(xge(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&xge(t,0,r))return r;return null}function bbt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function xge(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>ybt(e,t,r,i))}function ybt(e,t,r,n){if(n instanceof ArrayBuffer)return ou(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=Aj(e,t,n.length);return n===i;default:return!1}}function wge(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Aj(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Aj(e,0,t):""}function Aj(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*Ege(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*Age(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*Tge(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 Tj(e,t){return wr?_bt(e,t):wbt(e,t)}async function*_bt(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 mc(o)}}catch{r.releaseLock()}}async function*wbt(e,t){for await(let r of e)yield mc(r)}function Sge(e,t){if(typeof e=="string")return Ege(e,t);if(e instanceof ArrayBuffer)return Age(e,t);if(Ao(e))return Tge(e,t);if(ZS(e))return Tj(e,t);if(Eo(e))return Tj(e.body,t);throw new Error("makeIterator")}var Cge="Cannot convert supplied data type";function Ebt(e,t,r){if(t.text&&typeof e=="string")return e;if(age(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(Cge)}async function Dge(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return Ebt(e,t,r);if(Ao(e)&&(e=await t3(e)),Eo(e)){let i=e;return await fge(i),t.binary?await i.arrayBuffer():await i.text()}if(ZS(e)&&(e=Sge(e,r)),nge(e)||ige(e))return Rp(e);throw new Error(Cge)}function i3(e,t){let r=Jm(),n=e||r;return typeof n.fetch=="function"?n.fetch:wd(n.fetch)?i=>ta(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:ta}function Fge(e,t,r){if(r)return r;let n={fetch:i3(t,e),...e};if(n.url){let i=Km(n.url);n.baseUrl=i,n.queryString=uge(n.url),n.filename=ga.filename(i),n.baseUrl=ga.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function kge(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 Va(e,t,r,n){t&&!Array.isArray(t)&&!by(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Ed(e),o=kge(t,n),s=await bge(e,o,r);return s?(r=mge(r,s,o,i),n=Fge({url:i,_parse:Va,loaders:o},r,n||null),await Abt(s,e,r,n)):null}async function Abt(e,t,r,n){if(I5(e),r=S5(e.options,r),Eo(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 Dge(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(R5(e,r))return await j5(e,t,r,n,Va);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw gi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Bge(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 Sj(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Cj(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 Dj(e,t,r){let n=Bge(t.value),i=r||Oge(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Oge(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 $r(e,t,r,n){let i,a;!Array.isArray(t)&&!by(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=i3(a),s=e;return typeof e=="string"&&(s=await o(e)),Ao(e)&&(s=await o(e)),Array.isArray(i)?await Va(s,i,a):await Va(s,i,a)}async function Xm(e,t,r){let i={...Jm(),...r};return t.encodeURLtoURL?Tbt(t,e,i):M5(t,i)?await O5(t,e,i):await t.encode(e,i)}function a3(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 Pge(e,t,r,n){if(e=su(e),t=su(t),wr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function Tbt(e,t,r){if(wr)throw new Error(`Writer ${e.name} not supported in browser`);let n=Ige("input");await new gc(n,"w").write(t);let a=Ige("output"),o=await Pge(n,a,e,r);return(await ta(o)).arrayBuffer()}function Ige(e){return`/tmp/${e}`}var Sbt=1/Math.PI*180,Cbt=1/180*Math.PI,Dbt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Dbt}};var Pr=globalThis.mathgl.config;function Fj(e,{precision:t=Pr.precision}={}){return e=Fbt(e),`${parseFloat(e.toPrecision(t))}`}function To(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kj(e){return Rge(e)}function Bj(e){return Gc(e)}function Rge(e,t){return Ij(e,r=>r*Cbt,t)}function Gc(e,t){return Ij(e,r=>r*Sbt,t)}function Oj(e,t,r){return Ij(e,n=>Math.max(t,Math.min(r,n)))}function $a(e,t,r){let n=Pr.EPSILON;r&&(Pr.EPSILON=r);try{if(e===t)return!0;if(To(e)&&To(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!$a(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)<=Pr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Pr.EPSILON=n}}function Fbt(e){return Math.round(e/Pr.EPSILON)*Pr.EPSILON}function kbt(e){return e.clone?e.clone():new Array(e.length)}function Ij(e,t,r){if(To(e)){let n=e;r=r||kbt(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 kf=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:To(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Pr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Fj(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(!$a(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(Pr.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 Bbt(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 Ut(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Bf(e,t,r=""){if(Pr.debug&&!Bbt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function oi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Of=class extends kf{get x(){return this[0]}set x(t){this[0]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(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 Ut(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Ut(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 oi(t>=0&&t<this.ELEMENTS,"index is out of range"),Ut(this[t])}setComponent(t,r){return oi(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 en=typeof Float32Array<"u"?Float32Array:Array,yy=Math.random;function Ym(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var CZt=Math.PI/180;function Obt(){let e=new en(2);return en!=Float32Array&&(e[0]=0,e[1]=0),e}function jge(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 Mge(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 o3(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 s3(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 DZt=function(){let e=Obt();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 u3(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 c3(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 Lge(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 qge(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 l3(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 Ad=class extends Of{constructor(t=0,r=0){super(2),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(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 Pr.debug&&(Ut(t.x),Ut(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 s3(this,this,t),this.check()}transformAsVector(t){return u3(this,this,t),this.check()}transformByMatrix3(t){return o3(this,this,t),this.check()}transformByMatrix2x3(t){return Mge(this,this,t),this.check()}transformByMatrix2(t){return jge(this,this,t),this.check()}};var Zm={};Fi(Zm,{add:()=>Mbt,angle:()=>Lj,bezier:()=>Xbt,ceil:()=>Lbt,clone:()=>Pbt,copy:()=>Rbt,create:()=>f3,cross:()=>Td,dist:()=>ayt,distance:()=>Hge,div:()=>iyt,divide:()=>zge,dot:()=>_y,equals:()=>tyt,exactEquals:()=>eyt,floor:()=>qbt,forEach:()=>uyt,fromValues:()=>p3,hermite:()=>Jbt,inverse:()=>$bt,len:()=>qj,length:()=>Nge,lerp:()=>Wbt,max:()=>Ubt,min:()=>Nbt,mul:()=>nyt,multiply:()=>Gge,negate:()=>Vbt,normalize:()=>Pj,random:()=>Ybt,rotateX:()=>Rj,rotateY:()=>jj,rotateZ:()=>Mj,round:()=>Gbt,scale:()=>zbt,scaleAndAdd:()=>Hbt,set:()=>jbt,slerp:()=>Kbt,sqrDist:()=>oyt,sqrLen:()=>syt,squaredDistance:()=>Vge,squaredLength:()=>$ge,str:()=>Zbt,sub:()=>ryt,subtract:()=>Uge,transformMat3:()=>wy,transformMat4:()=>Sd,transformQuat:()=>Ey,zero:()=>Qbt});function f3(){let e=new en(3);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Pbt(e){let t=new en(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Nge(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function p3(e,t,r){let n=new en(3);return n[0]=e,n[1]=t,n[2]=r,n}function Rbt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function jbt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Mbt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Uge(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Gge(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function zge(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Lbt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function qbt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Nbt(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 Ubt(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 Gbt(e,t){return e[0]=Ym(t[0]),e[1]=Ym(t[1]),e[2]=Ym(t[2]),e}function zbt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Hbt(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 Hge(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 Vge(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 $ge(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function Vbt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function $bt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function Pj(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 _y(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Td(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 Wbt(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 Kbt(e,t,r,n){let i=Math.acos(Math.min(Math.max(_y(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 Jbt(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 Xbt(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 Ybt(e,t){t=t===void 0?1:t;let r=yy()*2*Math.PI,n=yy()*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 Sd(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 wy(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 Ey(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,m=n*f-i*l,g=o*2;return l*=g,f*=g,p*=g,d*=2,h*=2,m*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+m,e}function Rj(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 jj(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 Mj(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 Lj(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&&_y(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function Qbt(e){return e[0]=0,e[1]=0,e[2]=0,e}function Zbt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function eyt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function tyt(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 ryt=Uge,nyt=Gge,iyt=zge,ayt=Hge,oyt=Vge,qj=Nge,syt=$ge,uyt=function(){let e=f3();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 Nj=[0,0,0],d3,Z=class extends Of{static get ZERO(){return d3||(d3=new Z(0,0,0),Object.freeze(d3)),d3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&To(t)?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(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]=Ut(t)}angle(t){return Lj(this,t)}cross(t){return Td(this,this,t),this.check()}rotateX({radians:t,origin:r=Nj}){return Rj(this,this,r,t),this.check()}rotateY({radians:t,origin:r=Nj}){return jj(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=Nj}){return Mj(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Sd(this,this,t),this.check()}transformAsVector(t){return c3(this,this,t),this.check()}transformByMatrix3(t){return wy(this,this,t),this.check()}transformByMatrix2(t){return Lge(this,this,t),this.check()}transformByQuaternion(t){return Ey(this,this,t),this.check()}};var h3,So=class extends Of{static get ZERO(){return h3||(h3=new So(0,0,0,0),Object.freeze(h3)),h3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(n),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(t.z),Ut(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]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}transform(t){return Sd(this,this,t),this.check()}transformByMatrix3(t){return l3(this,this,t),this.check()}transformByMatrix2(t){return qge(this,this,t),this.check()}transformByQuaternion(t){return Ey(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var eg=class extends kf{toString(){let t="[";if(Pr.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]=Ut(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 Wge(){let e=new en(9);return en!=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 Kge(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 Jge(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 Xge(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 Uj(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],m=r[3],g=r[4],b=r[5],y=r[6],w=r[7],T=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]=m*n+g*o+b*c,e[4]=m*i+g*s+b*l,e[5]=m*a+g*u+b*f,e[6]=y*n+w*o+T*c,e[7]=y*i+w*s+T*l,e[8]=y*a+w*u+T*f,e}function Yge(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 Qge(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 Gj(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 Zge(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,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[3]=l-b,e[6]=p+g,e[1]=l+b,e[4]=1-c-h,e[7]=d-m,e[2]=p-g,e[5]=d+m,e[8]=1-c-f,e}var zj;(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"})(zj||(zj={}));var cyt=Object.freeze([1,0,0,0,1,0,0,0,1]),rr=class extends eg{static get IDENTITY(){return fyt()}static get ZERO(){return lyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return zj}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(cyt)}fromObject(t){return this.check()}fromQuaternion(t){return Zge(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 Xge(this)}transpose(){return Kge(this,this),this.check()}invert(){return Jge(this,this),this.check()}multiplyLeft(t){return Uj(this,t,this),this.check()}multiplyRight(t){return Uj(this,this,t),this.check()}rotate(t){return Qge(this,this,t),this.check()}scale(t){return Array.isArray(t)?Gj(this,this,t):Gj(this,this,[t,t]),this.check()}translate(t){return Yge(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=o3(r||[-0,-0],t,this);break;case 3:n=wy(r||[-0,-0,-0],t,this);break;case 4:n=l3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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)}},m3,g3=null;function lyt(){return m3||(m3=new rr([0,0,0,0,0,0,0,0,0]),Object.freeze(m3)),m3}function fyt(){return g3||(g3=new rr,Object.freeze(g3)),g3}var v3={};Fi(v3,{add:()=>jyt,adjoint:()=>vyt,clone:()=>dyt,copy:()=>hyt,create:()=>pyt,decompose:()=>Cyt,determinant:()=>$j,equals:()=>Nyt,exactEquals:()=>qyt,frob:()=>Ryt,fromQuat:()=>Zj,fromQuat2:()=>Ayt,fromRotation:()=>yyt,fromRotationTranslation:()=>rve,fromRotationTranslationScale:()=>Dyt,fromRotationTranslationScaleOrigin:()=>Fyt,fromScaling:()=>byt,fromTranslation:()=>xyt,fromValues:()=>myt,fromXRotation:()=>_yt,fromYRotation:()=>wyt,fromZRotation:()=>Eyt,frustum:()=>eM,getRotation:()=>Syt,getScaling:()=>nve,getTranslation:()=>Tyt,identity:()=>tve,invert:()=>Vj,lookAt:()=>nM,mul:()=>Uyt,multiply:()=>Ay,multiplyScalar:()=>Myt,multiplyScalarAndAdd:()=>Lyt,ortho:()=>rM,orthoNO:()=>ave,orthoZO:()=>Oyt,perspective:()=>tM,perspectiveFromFieldOfView:()=>Byt,perspectiveNO:()=>ive,perspectiveZO:()=>kyt,rotate:()=>Jj,rotateX:()=>Xj,rotateY:()=>Yj,rotateZ:()=>Qj,scale:()=>Kj,set:()=>gyt,str:()=>Pyt,sub:()=>Gyt,subtract:()=>ove,targetTo:()=>Iyt,translate:()=>Wj,transpose:()=>Hj});function pyt(){let e=new en(16);return en!=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 dyt(e){let t=new en(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 hyt(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 myt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m){let g=new en(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=i,g[5]=a,g[6]=o,g[7]=s,g[8]=u,g[9]=c,g[10]=l,g[11]=f,g[12]=p,g[13]=d,g[14]=h,g[15]=m,g}function gyt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){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]=m,e[15]=g,e}function tve(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 Hj(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 Vj(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],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g,V=y*G-w*L+T*P+E*I-k*C+B*j;return V?(V=1/V,e[0]=(s*G-u*L+c*P)*V,e[1]=(i*L-n*G-a*P)*V,e[2]=(m*B-g*k+b*E)*V,e[3]=(p*k-f*B-d*E)*V,e[4]=(u*I-o*G-c*C)*V,e[5]=(r*G-i*I+a*C)*V,e[6]=(g*T-h*B-b*w)*V,e[7]=(l*B-p*T+d*w)*V,e[8]=(o*L-s*I+c*j)*V,e[9]=(n*I-r*L-a*j)*V,e[10]=(h*k-m*T+b*y)*V,e[11]=(f*T-l*k-d*y)*V,e[12]=(s*C-o*P-u*j)*V,e[13]=(r*P-n*C+i*j)*V,e[14]=(m*w-h*E-g*y)*V,e[15]=(l*E-f*w+p*y)*V,e):null}function vyt(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],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g;return e[0]=s*G-u*L+c*P,e[1]=i*L-n*G-a*P,e[2]=m*B-g*k+b*E,e[3]=p*k-f*B-d*E,e[4]=u*I-o*G-c*C,e[5]=r*G-i*I+a*C,e[6]=g*T-h*B-b*w,e[7]=l*B-p*T+d*w,e[8]=o*L-s*I+c*j,e[9]=n*I-r*L-a*j,e[10]=h*k-m*T+b*y,e[11]=f*T-l*k-d*y,e[12]=s*C-o*P-u*j,e[13]=r*P-n*C+i*j,e[14]=m*w-h*E-g*y,e[15]=l*E-f*w+p*y,e}function $j(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],m=e[14],g=e[15],b=t*o-r*a,y=t*s-n*a,w=r*s-n*o,T=c*h-l*d,E=c*m-f*d,k=l*m-f*h,B=t*k-r*E+n*T,j=a*k-o*E+s*T,C=c*w-l*y+f*b,I=d*w-h*y+m*b;return u*B-i*j+g*C-p*I}function Ay(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],m=t[12],g=t[13],b=t[14],y=t[15],w=r[0],T=r[1],E=r[2],k=r[3];return e[0]=w*n+T*s+E*f+k*m,e[1]=w*i+T*u+E*p+k*g,e[2]=w*a+T*c+E*d+k*b,e[3]=w*o+T*l+E*h+k*y,w=r[4],T=r[5],E=r[6],k=r[7],e[4]=w*n+T*s+E*f+k*m,e[5]=w*i+T*u+E*p+k*g,e[6]=w*a+T*c+E*d+k*b,e[7]=w*o+T*l+E*h+k*y,w=r[8],T=r[9],E=r[10],k=r[11],e[8]=w*n+T*s+E*f+k*m,e[9]=w*i+T*u+E*p+k*g,e[10]=w*a+T*c+E*d+k*b,e[11]=w*o+T*l+E*h+k*y,w=r[12],T=r[13],E=r[14],k=r[15],e[12]=w*n+T*s+E*f+k*m,e[13]=w*i+T*u+E*p+k*g,e[14]=w*a+T*c+E*d+k*b,e[15]=w*o+T*l+E*h+k*y,e}function Wj(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,m,g,b;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],m=t[9],g=t[10],b=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]=m,e[10]=g,e[11]=b,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=u*n+p*i+g*a+t[14],e[15]=c*n+d*i+b*a+t[15]),e}function Kj(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 Jj(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,m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X;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],m=t[4],g=t[5],b=t[6],y=t[7],w=t[8],T=t[9],E=t[10],k=t[11],B=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,I=i*a*l-o*c,P=a*a*l+u,L=o*a*l+i*c,G=i*o*l+a*c,V=a*o*l-i*c,X=o*o*l+u,e[0]=f*B+m*j+w*C,e[1]=p*B+g*j+T*C,e[2]=d*B+b*j+E*C,e[3]=h*B+y*j+k*C,e[4]=f*I+m*P+w*L,e[5]=p*I+g*P+T*L,e[6]=d*I+b*P+E*L,e[7]=h*I+y*P+k*L,e[8]=f*G+m*V+w*X,e[9]=p*G+g*V+T*X,e[10]=d*G+b*V+E*X,e[11]=h*G+y*V+k*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Xj(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 Yj(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 Qj(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 xyt(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 byt(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 yyt(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 _yt(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 wyt(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 Eyt(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 rve(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,m=a*c,g=o*s,b=o*u,y=o*c;return e[0]=1-(d+m),e[1]=f+y,e[2]=p-b,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=p+b,e[9]=h-g,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 Ayt(e,t){let r=new en(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),rve(e,t,r),e}function Tyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function nve(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 Syt(e,t){let r=new en(3);nve(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,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-d)/g,e[1]=(p-u)/g,e[2]=(s-c)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/g,e[0]=.25*g,e[1]=(s+c)/g,e[2]=(p+u)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/g,e[0]=(s+c)/g,e[1]=.25*g,e[2]=(f+d)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/g,e[0]=(p+u)/g,e[1]=(f+d)/g,e[2]=.25*g),e}function Cyt(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],m=1/r[2],g=i*d,b=a*h,y=o*m,w=s*d,T=u*h,E=c*m,k=l*d,B=f*h,j=p*m,C=g+T+j,I=0;return C>0?(I=Math.sqrt(C+1)*2,e[3]=.25*I,e[0]=(E-B)/I,e[1]=(k-y)/I,e[2]=(b-w)/I):g>T&&g>j?(I=Math.sqrt(1+g-T-j)*2,e[3]=(E-B)/I,e[0]=.25*I,e[1]=(b+w)/I,e[2]=(k+y)/I):T>j?(I=Math.sqrt(1+T-g-j)*2,e[3]=(k-y)/I,e[0]=(b+w)/I,e[1]=.25*I,e[2]=(E+B)/I):(I=Math.sqrt(1+j-g-T)*2,e[3]=(b-w)/I,e[0]=(k+y)/I,e[1]=(E+B)/I,e[2]=.25*I),e}function Dyt(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,m=a*l,g=o*l,b=s*u,y=s*c,w=s*l,T=n[0],E=n[1],k=n[2];return e[0]=(1-(h+g))*T,e[1]=(p+w)*T,e[2]=(d-y)*T,e[3]=0,e[4]=(p-w)*E,e[5]=(1-(f+g))*E,e[6]=(m+b)*E,e[7]=0,e[8]=(d+y)*k,e[9]=(m-b)*k,e[10]=(1-(f+h))*k,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Fyt(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,m=o*l,g=o*f,b=s*f,y=u*c,w=u*l,T=u*f,E=n[0],k=n[1],B=n[2],j=i[0],C=i[1],I=i[2],P=(1-(m+b))*E,L=(d+T)*E,G=(h-w)*E,V=(d-T)*k,X=(1-(p+b))*k,Y=(g+y)*k,he=(h+w)*B,le=(g-y)*B,me=(1-(p+m))*B;return e[0]=P,e[1]=L,e[2]=G,e[3]=0,e[4]=V,e[5]=X,e[6]=Y,e[7]=0,e[8]=he,e[9]=le,e[10]=me,e[11]=0,e[12]=r[0]+j-(P*j+V*C+he*I),e[13]=r[1]+C-(L*j+X*C+le*I),e[14]=r[2]+I-(G*j+Y*C+me*I),e[15]=1,e}function Zj(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,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[1]=l+b,e[2]=p-g,e[3]=0,e[4]=l-b,e[5]=1-c-h,e[6]=d+m,e[7]=0,e[8]=p+g,e[9]=d-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function eM(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 ive(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 tM=ive;function kyt(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 Byt(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 ave(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 rM=ave;function Oyt(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 nM(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],m=t[1],g=t[2],b=n[0],y=n[1],w=n[2],T=r[0],E=r[1],k=r[2];return Math.abs(h-T)<1e-6&&Math.abs(m-E)<1e-6&&Math.abs(g-k)<1e-6?tve(e):(f=h-T,p=m-E,d=g-k,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=y*d-w*p,o=w*f-b*d,s=b*p-y*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*m+s*g),e[13]=-(u*h+c*m+l*g),e[14]=-(f*h+p*m+d*g),e[15]=1,e)}function Iyt(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,m=c*l-s*p,g=s*f-u*l;return d=h*h+m*m+g*g,d>0&&(d=1/Math.sqrt(d),h*=d,m*=d,g*=d),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-p*m,e[5]=p*h-l*g,e[6]=l*m-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 Pyt(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 Ryt(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 jyt(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 ove(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 Myt(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 Lyt(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 qyt(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 Nyt(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],m=e[13],g=e[14],b=e[15],y=t[0],w=t[1],T=t[2],E=t[3],k=t[4],B=t[5],j=t[6],C=t[7],I=t[8],P=t[9],L=t[10],G=t[11],V=t[12],X=t[13],Y=t[14],he=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-w)<=1e-6*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-E)<=1e-6*Math.max(1,Math.abs(a),Math.abs(E))&&Math.abs(o-k)<=1e-6*Math.max(1,Math.abs(o),Math.abs(k))&&Math.abs(s-B)<=1e-6*Math.max(1,Math.abs(s),Math.abs(B))&&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-I)<=1e-6*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(p-L)<=1e-6*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-V)<=1e-6*Math.max(1,Math.abs(h),Math.abs(V))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-Y)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Y))&&Math.abs(b-he)<=1e-6*Math.max(1,Math.abs(b),Math.abs(he))}var Uyt=Ay,Gyt=ove;function zyt(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function sve(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 uve(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 cve(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 lve(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function fve(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 pve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function dve(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 hve(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 mve(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 aer=function(){let e=zyt();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 oM;(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"})(oM||(oM={}));var Hyt=45*Math.PI/180,Vyt=1,iM=.1,aM=500,$yt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),mr=class extends eg{static get IDENTITY(){return Kyt()}static get ZERO(){return Wyt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return oM}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,m,g){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]=m,this[15]=g,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){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]=m,this[12]=i,this[13]=u,this[14]=p,this[15]=g,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($yt)}fromObject(t){return this.check()}fromQuaternion(t){return Zj(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=iM,far:s=aM}=t;return s===1/0?Jyt(this,r,n,i,a,o):eM(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 nM(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=iM,far:s=aM}=t;return rM(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=Hyt,aspect:n=Vyt,focalDistance:i=1,near:a=iM,far:o=aM}=t;vve(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 vve(r),tM(this,r,n,i,a),this.check()}determinant(){return $j(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 Hj(this,this),this.check()}invert(){return Vj(this,this),this.check()}multiplyLeft(t){return Ay(this,t,this),this.check()}multiplyRight(t){return Ay(this,this,t),this.check()}rotateX(t){return Xj(this,this,t),this.check()}rotateY(t){return Yj(this,this,t),this.check()}rotateZ(t){return Qj(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Jj(this,this,t,r),this.check()}scale(t){return Kj(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Wj(this,this,t),this.check()}transform(t,r){return t.length===4?(r=hve(r||[-0,-0,-0,-0],t,this),Bf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=s3(r||[-0,-0],t,this);break;case 3:i=Sd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=u3(r||[-0,-0],t,this);break;case 3:n=c3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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])}},x3,b3;function Wyt(){return x3||(x3=new mr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(x3)),x3}function Kyt(){return b3||(b3=new mr,Object.freeze(b3)),b3}function vve(e){if(e>Math.PI*2)throw Error("expected radians")}function Jyt(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 xve(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function bve(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function sM(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 uM(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 yve(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 _ve(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 wve(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 Eve(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 Ty(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,m,g;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),g=Math.sin(d),h=Math.sin((1-n)*d)/g,m=Math.sin(n*d)/g):(h=1-n,m=n),e[0]=h*i+m*u,e[1]=h*a+m*c,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function Ave(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 Tve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function cM(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 Sve=sve;var Cve=uve,Dve=pve,Fve=dve,kve=cve;var Bve=lve;var Ove=fve;var Ive=function(){let e=f3(),t=p3(1,0,0),r=p3(0,1,0);return function(n,i,a){let o=_y(i,a);return o<-.999999?(Td(e,t,i),qj(e)<1e-6&&Td(e,r,i),Pj(e,e),sM(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Td(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Ove(n,n))}}(),ber=function(){let e=xve(),t=xve();return function(r,n,i,a,o,s){return Ty(e,n,o,s),Ty(t,i,a,s),Ty(r,e,t,2*s*(1-s)),r}}(),yer=function(){let e=Wge();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],Ove(t,cM(t,e))}}();var Yyt=[0,0,0,1],Co=class extends kf{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 cM(this,t),this.check()}fromAxisRotation(t,r){return sM(this,t,r),this.check()}identity(){return bve(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]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(t)}get z(){return this[2]}set z(t){this[2]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}len(){return kve(this)}lengthSquared(){return Bve(this)}dot(t){return Dve(this,t)}rotationTo(t,r){return Ive(this,t,r),this.check()}add(t){return Sve(this,this,t),this.check()}calculateW(){return Eve(this,this),this.check()}conjugate(){return Tve(this,this),this.check()}invert(){return Ave(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Fve(this,t,r,n),this.check())}multiplyRight(t){return uM(this,this,t),this.check()}multiplyLeft(t){return uM(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 yve(this,this,t),this.check()}rotateY(t){return _ve(this,this,t),this.check()}rotateZ(t){return wve(this,this,t),this.check()}scale(t){return Cve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=Yyt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return Ty(this,i,a,o),this.check()}transformVector4(t,r=new So){return mve(r,t,this),Bf(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 vs={};Fi(vs,{EPSILON1:()=>Qyt,EPSILON10:()=>s1t,EPSILON11:()=>u1t,EPSILON12:()=>c1t,EPSILON13:()=>l1t,EPSILON14:()=>f1t,EPSILON15:()=>p1t,EPSILON16:()=>d1t,EPSILON17:()=>h1t,EPSILON18:()=>m1t,EPSILON19:()=>g1t,EPSILON2:()=>Zyt,EPSILON20:()=>v1t,EPSILON3:()=>e1t,EPSILON4:()=>t1t,EPSILON5:()=>r1t,EPSILON6:()=>n1t,EPSILON7:()=>i1t,EPSILON8:()=>a1t,EPSILON9:()=>o1t,PI_OVER_FOUR:()=>b1t,PI_OVER_SIX:()=>y1t,PI_OVER_TWO:()=>x1t,TWO_PI:()=>_1t});var Qyt=.1,Zyt=.01,e1t=.001,t1t=1e-4,r1t=1e-5,n1t=1e-6,i1t=1e-7,a1t=1e-8,o1t=1e-9,s1t=1e-10,u1t=1e-11,c1t=1e-12,l1t=1e-13,f1t=1e-14,p1t=1e-15,d1t=1e-16,h1t=1e-17,m1t=1e-18,g1t=1e-19,v1t=1e-20,x1t=Math.PI/2,b1t=Math.PI/4,y1t=Math.PI/6,_1t=Math.PI*2;var zc=6356752314245179e-9,w1t={radii:[6378137,6378137,zc],radiiSquared:[6378137*6378137,6378137*6378137,zc*zc],oneOverRadii:[1/6378137,1/6378137,1/zc],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(zc*zc)],maximumRadius:Math.max(6378137,6378137,zc),centerToleranceSquared:.1};function y3(e){return e}var Xer=new Z;function E1t(e,t=[],r=y3){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 Pve(e,t=[]){return E1t(e,t,Pr._cartographicRadians?y3:kj)}function A1t(e,t,r=y3){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 Rve(e,t){return A1t(e,t,Pr._cartographicRadians?y3:Bj)}var jve=1e-14,T1t=new Z,Mve={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"}},lM={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Sy={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},S1t=new Z,C1t=new Z,D1t=new Z;function fM(e,t,r,n,i,a){let o=Mve[t]&&Mve[t][r];oi(o&&(!n||n===o));let s,u,c,l=T1t.copy(i);if($a(l.x,0,jve)&&$a(l.y,0,jve)){let p=Math.sign(l.z);s=S1t.fromArray(lM[t]),t!=="east"&&t!=="west"&&s.scale(p),u=C1t.fromArray(lM[r]),r!=="east"&&r!=="west"&&u.scale(p),c=D1t.fromArray(lM[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Sy;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:m,west:g,south:b}=Sy;m.copy(p).scale(-1),g.copy(d).scale(-1),b.copy(h).scale(-1),s=Sy[t],u=Sy[r],c=Sy[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 tg=new Z,F1t=new Z,k1t=new Z;function Lve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;tg.from(e);let o=tg.x,s=tg.y,u=tg.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,m=p+d+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let b=F1t;if(b.copy(e).scale(g),m<a)return b.to(r);let y=i.x,w=i.y,T=i.z,E=k1t;E.set(b.x*y*2,b.y*w*2,b.z*T*2);let k=(1-g)*tg.len()/(.5*E.len()),B=0,j,C,I,P;do{k-=B,j=1/(1+k*y),C=1/(1+k*w),I=1/(1+k*T);let L=j*j,G=C*C,V=I*I,X=L*j,Y=G*C,he=V*I;P=p*L+d*G+h*V-1;let me=-2*(p*X*y+d*Y*w+h*he*T);B=P/me}while(Math.abs(P)>vs.EPSILON12);return tg.scale([j,C,I]).to(r)}var _3=new Z,qve=new Z,I1t=new Z,xs=new Z,P1t=new Z,w3=new Z,Bt=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=vs.EPSILON1,oi(t>=0),oi(r>=0),oi(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(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=qve,i=I1t,[,,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]){w3.from(t);let n=this.scaleToGeodeticSurface(w3,xs);if(!n)return;let i=this.geodeticSurfaceNormal(n,qve),a=P1t;a.copy(w3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Zm.dot(a,w3))*Zm.length(a);return Rve([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new mr){return fM(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new mr){return fM(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return _3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Pve(t),i=n[0],a=n[1],o=Math.cos(a);return _3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),_3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return _3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Lve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){xs.from(t);let n=xs.x,i=xs.y,a=xs.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return xs.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){oi($a(this.radii.x,this.radii.y,vs.EPSILON15)),oi(this.radii.z>0),xs.from(t);let i=xs.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return xs.set(0,0,i).to(n)}};Bt.WGS84=new Bt(6378137,6378137,zc);var si={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var mtr=new Z,gtr=new Z;var Cy=new Z,Nve=new Z,ra=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Cy.from(r),this.center=new Z().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 ra(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=Cy.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 Nve.copy(o).scale((-n+u)/s).add(r),this.center.copy(Nve),this.radius=u,this}expand(t){let n=Cy.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=v3.getScaling(Cy,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=Cy.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?si.OUTSIDE:a<n?si.INTERSECTING:si.INSIDE}};var R1t=new Z,j1t=new Z,E3=new Z,A3=new Z,T3=new Z,M1t=new Z,L1t=new Z,Hc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},ui=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new rr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Z(t).normalize(),a=new Z(r).normalize(),o=new Z(n).normalize();return new Co().fromMatrix3(new rr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Co(n),a=new rr().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 Z().from(t),this.halfAxes=a,this}clone(){return new ui(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ra){let r=this.halfAxes,n=r.getColumn(0,E3),i=r.getColumn(1,A3),a=r.getColumn(2,T3),o=R1t.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[Hc.COLUMN0ROW0]+o*i[Hc.COLUMN0ROW1]+s*i[Hc.COLUMN0ROW2])+Math.abs(a*i[Hc.COLUMN1ROW0]+o*i[Hc.COLUMN1ROW1]+s*i[Hc.COLUMN1ROW2])+Math.abs(a*i[Hc.COLUMN2ROW0]+o*i[Hc.COLUMN2ROW1]+s*i[Hc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?si.OUTSIDE:c>=u?si.INSIDE:si.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=j1t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,E3),a=n.getColumn(1,A3),o=n.getColumn(2,T3),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,E3),c=s.getColumn(1,A3),l=s.getColumn(2,T3),f=M1t.copy(u).add(c).add(l).add(o),p=L1t.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,E3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,A3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,T3);return i.transformAsPoint(t),this.halfAxes=new rr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Uve=new Z,Gve=new Z,Vc=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return oi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Uve.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),oi($a(this.normal.len(),1)),this.distance=i,this}clone(){return new Vc(this.normal,this.distance)}equals(t){return $a(this.distance,t.distance)&&$a(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Gve.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=Uve.from(t),i=this.getPointDistance(n),a=Gve.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var zve=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],Hve=new Z,q1t=new Z,Do=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*zve.length;let r=t.center,n=t.radius,i=0;for(let a of zve){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Vc),s||(s=this.planes[i+1]=new Vc);let u=Hve.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=Hve.copy(a).scale(n).add(r),l=q1t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=si.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case si.OUTSIDE:return si.OUTSIDE;case si.INTERSECTING:r=si.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(oi(Number.isFinite(r),"parentPlaneMask is required."),r===Do.MASK_OUTSIDE||r===Do.MASK_INSIDE)return r;let n=Do.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===si.OUTSIDE)return Do.MASK_OUTSIDE;u===si.INTERSECTING&&(n|=o)}return n}};Do.MASK_OUTSIDE=4294967295;Do.MASK_INSIDE=0;Do.MASK_INDETERMINATE=2147483647;var Ptr=new Z,Rtr=new Z,jtr=new Z,Mtr=new Z,Ltr=new Z;var U1t=new Z,G1t=new Z,z1t=new Z,H1t=new Z,V1t=new Z,$1t=new Z,W1t=new Z,rg=new Z,K1t=new Z,J1t=new Z,X1t=new Z,Y1t=new Z;function pM(e,t=new ra){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=W1t.copy(e[0]),n=U1t.copy(r),i=G1t.copy(r),a=z1t.copy(r),o=H1t.copy(r),s=V1t.copy(r),u=$1t.copy(r);for(let k of e){r.copy(k);let B=r.x,j=r.y,C=r.z;B<n.x&&n.copy(r),B>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=rg.copy(o).subtract(n).magnitudeSquared(),l=rg.copy(s).subtract(i).magnitudeSquared(),f=rg.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 m=K1t;m.x=(p.x+d.x)*.5,m.y=(p.y+d.y)*.5,m.z=(p.z+d.z)*.5;let g=rg.copy(d).subtract(m).magnitudeSquared(),b=Math.sqrt(g),y=J1t;y.x=n.x,y.y=i.y,y.z=a.z;let w=X1t;w.x=o.x,w.y=s.y,w.z=u.z;let T=Y1t.copy(y).add(w).multiplyByScalar(.5),E=0;for(let k of e){r.copy(k);let B=rg.copy(r).subtract(T).magnitude();B>E&&(E=B);let j=rg.copy(r).subtract(m).magnitudeSquared();if(j>g){let C=Math.sqrt(j);b=(b+C)*.5,g=b*b;let I=C-b;m.x=(b*m.x+I*r.x)/C,m.y=(b*m.y+I*r.y)/C,m.z=(b*m.z+I*r.z)/C}}return b<E?(m.to(t.center),t.radius=b):(T.to(t.center),t.radius=E),t}var ku=new rr,Q1t=new rr,Z1t=new rr,S3=new rr,Vve=new rr;function mM(e,t={}){let r=vs.EPSILON20,n=10,i=0,a=0,o=Q1t,s=Z1t;o.identity(),s.copy(e);let u=r*e_t(s);for(;a<n&&t_t(s)>u;)r_t(s,S3),Vve.copy(S3).transpose(),s.multiplyRight(S3),s.multiplyLeft(Vve),o.multiplyRight(S3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function e_t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var dM=[1,0,0],hM=[2,2,1];function t_t(e){let t=0;for(let r=0;r<3;++r){let n=e[ku.getElementIndex(hM[r],dM[r])];t+=2*n*n}return Math.sqrt(t)}function r_t(e,t){let r=vs.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[ku.getElementIndex(hM[c],dM[c])]);l>n&&(i=c,n=l)}let a=dM[i],o=hM[i],s=1,u=0;if(Math.abs(e[ku.getElementIndex(o,a)])>r){let c=e[ku.getElementIndex(o,o)],l=e[ku.getElementIndex(a,a)],f=e[ku.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 rr.IDENTITY.to(t),t[ku.getElementIndex(a,a)]=t[ku.getElementIndex(o,o)]=s,t[ku.getElementIndex(o,a)]=u,t[ku.getElementIndex(a,o)]=-u,t}var If=new Z,i_t=new Z,a_t=new Z,o_t=new Z,s_t=new Z,u_t=new rr,c_t={diagonal:new rr,unitary:new rr};function Dy(e,t=new ui){if(!e||e.length===0)return t.halfAxes=new rr([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(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 I=If.copy(C).subtract(n);a+=I.x*I.x,o+=I.x*I.y,s+=I.x*I.z,u+=I.y*I.y,c+=I.y*I.z,l+=I.z*I.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=u_t;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}=mM(f,c_t),d=t.halfAxes.copy(p),h=d.getColumn(0,a_t),m=d.getColumn(1,o_t),g=d.getColumn(2,s_t),b=-Number.MAX_VALUE,y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,T=Number.MAX_VALUE,E=Number.MAX_VALUE,k=Number.MAX_VALUE;for(let C of e)If.copy(C),b=Math.max(If.dot(h),b),y=Math.max(If.dot(m),y),w=Math.max(If.dot(g),w),T=Math.min(If.dot(h),T),E=Math.min(If.dot(m),E),k=Math.min(If.dot(g),k);h=h.multiplyByScalar(.5*(T+b)),m=m.multiplyByScalar(.5*(E+y)),g=g.multiplyByScalar(.5*(k+w)),t.center.copy(h).add(m).add(g);let B=i_t.set(b-T,y-E,w-k).multiplyByScalar(.5),j=new rr([B[0],0,0,0,B[1],0,0,0,B[2]]);return t.halfAxes.multiplyRight(j),t}function Jve(e){return e!=null}var grr=new Z,l_t=new Z,f_t=new Z,p_t=new Z,Cd=new Z,$ve=new Z,Wve=new Z,Kve=new Z;function Fy(e,t,r){if(_t(e,"3D Tile: boundingVolume must be defined"),e.box)return Xve(e.box,t,r);if(e.region)return h_t(e.region);if(e.sphere)return d_t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Xve(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Co;l.fromArray(e,6);let f=new Z([1,0,0]),p=new Z([0,1,0]),d=new Z([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 rr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Jve(r)?(r.center=n,r.halfAxes=u,r):new ui(n,u)}function d_t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(l_t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Jve(r)?(r.center=n,r.radius=o,r):new ra(n,o)}function h_t(e){let[t,r,n,i,a,o]=e,s=Bt.WGS84.cartographicToCartesian([Gc(t),Gc(i),a],f_t),u=Bt.WGS84.cartographicToCartesian([Gc(n),Gc(r),o],p_t),c=new Z().addVectors(s,u).multiplyByScalar(.5);return Bt.WGS84.cartesianToCartographic(c,Cd),Bt.WGS84.cartographicToCartesian([Gc(n),Cd[1],Cd[2]],$ve),Bt.WGS84.cartographicToCartesian([Cd[0],Gc(i),Cd[2]],Wve),Bt.WGS84.cartographicToCartesian([Cd[0],Cd[1],o],Kve),Xve([...c,...$ve.subtract(c),...Wve.subtract(c),...Kve.subtract(c)],new mr)}var ng="4.4.0-alpha.0";var ci={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},_rr=Object.keys(ci),Pf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function gM(e,t,r){_t(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Yve(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 m_t="1.5.6",g_t="1.4.1",vM=`https://www.gstatic.com/draco/versioned/decoders/${m_t}`,vn={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rf={[vn.DECODER]:`${vM}/${vn.DECODER}`,[vn.DECODER_WASM]:`${vM}/${vn.DECODER_WASM}`,[vn.FALLBACK_DECODER]:`${vM}/${vn.FALLBACK_DECODER}`,[vn.ENCODER]:`https://raw.githubusercontent.com/google/draco/${g_t}/javascript/${vn.ENCODER}`},xM;async function Qve(e){let t=e.modules||{};return t.draco3d?xM||(xM=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):xM||(xM=v_t(e)),await xM}async function v_t(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await au(Rf[vn.FALLBACK_DECODER],"draco",e,vn.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await au(Rf[vn.DECODER],"draco",e,vn.DECODER),await au(Rf[vn.DECODER_WASM],"draco",e,vn.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await x_t(t,r)}function x_t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var C3="4.4.0-alpha.0";var D3={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:C3,worker:!0,options:{draco:{},source:null}};function exe(e,t,r){let n=txe(t.metadata),i=[],a=b_t(t.attributes);for(let o in e){let s=e[o],u=Zve(o,s,a[o]);i.push(u)}if(r){let o=Zve("indices",r);i.push(o)}return{fields:i,metadata:n}}function b_t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Zve(e,t,r){let n=r?txe(r.metadata):void 0;return Dj(e,t,n)}function txe(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var rxe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},y_t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},__t=4,ky=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=Cj(u.attributes),l=exe(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*__t,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),A_t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=y_t[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=w_t(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 rxe)if(this.draco[o]===i)return rxe[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=E_t(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 w_t(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 E_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function A_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var nxe={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:C3,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}}},Dd={...nxe,parse:T_t};async function T_t(e,t){let{draco:r}=await Qve(t),n=new ky(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var S_t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Tn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},mt={...S_t,...Tn};var bM={[Tn.DOUBLE]:Float64Array,[Tn.FLOAT]:Float32Array,[Tn.UNSIGNED_SHORT]:Uint16Array,[Tn.UNSIGNED_INT]:Uint32Array,[Tn.UNSIGNED_BYTE]:Uint8Array,[Tn.BYTE]:Int8Array,[Tn.SHORT]:Int16Array,[Tn.INT]:Int32Array},C_t={DOUBLE:Tn.DOUBLE,FLOAT:Tn.FLOAT,UNSIGNED_SHORT:Tn.UNSIGNED_SHORT,UNSIGNED_INT:Tn.UNSIGNED_INT,UNSIGNED_BYTE:Tn.UNSIGNED_BYTE,BYTE:Tn.BYTE,SHORT:Tn.SHORT,INT:Tn.INT},yM="Failed to convert GL type",Ui=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in bM)if(bM[r]===t)return r;throw new Error(yM)}static fromName(t){let r=C_t[t];if(!r)throw new Error(yM);return r}static getArrayType(t){switch(t){case Tn.UNSIGNED_SHORT_5_6_5:case Tn.UNSIGNED_SHORT_4_4_4_4:case Tn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=bM[t];if(!r)throw new Error(yM);return r}}static getByteSize(t){return Ui.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Ui.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Ui.getByteSize(t));let a=Ui.getArrayType(t);return new a(r,n,i)}};function ixe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function _M(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 Yrr=1/256;var Qrr=new Ad,Zrr=new Z,enr=new Ad,tnr=new Ad,rnr=new Uint8Array(1);function axe(e,t=255){return Oj(e,0,t)/t*2-1}function oxe(e){return e<0?-1:1}function sxe(e,t,r,n){if(ixe(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=axe(e,r),n.y=axe(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))*oxe(i),n.y=(1-Math.abs(i))*oxe(n.y)}return n.normalize()}function wM(e,t,r){return sxe(e,t,255,r)}function F3(e){return(e%1+1)%1}var $c=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=mt.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=Ui.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=Ui.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=Ui.createTypedArray(r,n),i[t]=a),a}};var D_t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},F_t={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]]},k_t={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 uxe(e,t,r,n){let{componentType:i}=e;_t(e.componentType);let a=typeof i=="string"?Ui.fromName(i):i,o=D_t[e.type],s=F_t[e.type],u=k_t[e.type];return r+=e.byteOffset,{values:Ui.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Bu=e=>e!==void 0;function cxe(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?B_t(n,r):null}function B_t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Bu(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(Bu(u))for(Bu(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];Bu(c)&&Bu(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 g=o[r].length,b=o[r].instances,y=getBinaryProperties(g,b,t);o[r].instances=combine(y,b)}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 m={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return P_t(m),m}function ig(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?O_t(e,t,r):I_t(e,t,r)}function O_t(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(Bu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let m=a[d+h];m!==t&&l.push(m)}}return null}function I_t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Bu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function P_t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)lxe(e,i,stack)}function lxe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Bu(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=Bu(n)?n[t]:1,c=Bu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&lxe(e,f,r)}r.pop(t)}function Ta(e){return e!=null}var k3=(e,t)=>e,R_t={HIERARCHY:!0,extensions:!0,extras:!0},Fd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;_t(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)R_t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=cxe(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),_t(typeof r=="string",r),this._hierarchy){let n=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ta(n)}return!1}isExactClass(t,r){return _t(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),_t(typeof r=="string",r),Ta(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ta(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),_t(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ta(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ta(n))return k3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ta(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),_t(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];Ta(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=k3(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;_t(this.binary,`Property ${t} requires a batch table binary.`),_t(n.type,`Property ${t} requires a type.`);let i=uxe(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=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ta(s[r])});return Ta(n)}_getPropertyNamesInHierarchy(t,r){ig(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 ig(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ta(u)?Ta(u.typedArray)?this._getBinaryProperty(u,s):k3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=ig(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ta(f)?(_t(s===r,`Inherited property "${n}" is read-only.`),Ta(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=k3(i,!0),!0):!1});return Ta(a)}};var EM=4;function jf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=EM,e.version=n.getUint32(r,!0),r+=EM,e.byteLength=n.getUint32(r,!0),r+=EM,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var ag=4,fxe="b3dm tile in legacy format.";function og(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=ag;let o=n.getUint32(r,!0);r+=ag;let s=n.getUint32(r,!0);r+=ag;let u=n.getUint32(r,!0);return r+=ag,s>=570425344?(r-=ag*2,i=a,s=o,u=0,a=0,o=0,console.warn(fxe)):u>=570425344&&(r-=ag,i=s,s=a,u=o,a=0,o=0,console.warn(fxe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function sg(e,t,r,n){return r=j_t(e,t,r,n),r=M_t(e,t,r,n),r}function j_t(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=gM(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function M_t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=gM(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 AM(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:mt.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=_M(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:mt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:mt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var pxe=new Z;function dxe(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++)wM(t[n*2],t[n*2+1],pxe),pxe.toArray(r,n*3);return{type:mt.FLOAT,size:2,value:r}}return{type:mt.FLOAT,size:2,value:t}}function hxe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,L_t(e,t)):{type:mt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function L_t(e,t){let r=new Z,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 mxe(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),q_t(e);let{featureTable:a,batchTable:o}=N_t(e);return await V_t(e,a,o,n,i),U_t(e,a,n),G_t(e,a,o),z_t(e,a),r}function q_t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function N_t(e){let t=new $c(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",mt.FLOAT,3);let n=H_t(e,t);return{featureTable:t,batchTable:n}}function U_t(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",mt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=hxe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function G_t(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",mt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",mt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",mt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=AM(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",mt.UNSIGNED_BYTE,4))}function z_t(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",mt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",mt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=dxe(e,r)}}function H_t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",mt.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 Fd(i,a,n)}return r}async function V_t(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 $_t(e,l,n,i)}async function $_t(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 Na(t.buffer,Dd,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 Z(h,h,h),e.quantizedVolumeOffset=new Z(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:AM(e,s,void 0),normals:u,batchIds:c,...p}}var z3={};Fi(z3,{createExtMeshFeatures:()=>G3,decode:()=>B2t,encode:()=>O2t,name:()=>U3});var B3="4.4.0-alpha.0";var gxe,W_t=(gxe=globalThis.loaders)==null?void 0:gxe.parseImageNode,TM=typeof Image<"u",SM=typeof ImageBitmap<"u",K_t=Boolean(W_t),CM=wr?!0:K_t;function vxe(e){switch(e){case"auto":return SM||TM||CM;case"imagebitmap":return SM;case"image":return TM;case"data":return CM;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function xxe(){if(SM)return"imagebitmap";if(TM)return"image";if(CM)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function bxe(e){let t=J_t(e);if(!t)throw new Error("Not an image");return t}function DM(e){return ug(e)}function ug(e){switch(bxe(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 J_t(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 X_t=/^data:image\/svg\+xml/,Y_t=/\.svg((\?|#).*)?$/;function O3(e){return e&&(X_t.test(e)||Y_t.test(e))}function yxe(e,t){if(O3(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 FM(e,t)}function FM(e,t){if(O3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function I3(e,t,r){let n=yxe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await Q_t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function Q_t(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 Z_t={},_xe=!0;async function wxe(e,t,r){let n;O3(r)?n=await I3(e,t,r):n=FM(e,r);let i=t&&t.imagebitmap;return await e2t(n,i)}async function e2t(e,t=null){if((t2t(t)||!_xe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),_xe=!1}return await createImageBitmap(e)}function t2t(e){for(let t in e||Z_t)return!1;return!0}function Exe(e){return!a2t(e,"ftyp",4)||!(e[8]&96)?null:r2t(e)}function r2t(e){switch(n2t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function n2t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function i2t(e){return[...e].map(t=>t.charCodeAt(0))}function a2t(e,t,r=0){let n=i2t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Ou=!1,By=!0;function kd(e){let t=Oy(e);return s2t(t)||l2t(t)||u2t(t)||c2t(t)||o2t(t)}function o2t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Exe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function s2t(e){let t=Oy(e);return t.byteLength>=24&&t.getUint32(0,Ou)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ou),height:t.getUint32(20,Ou)}:null}function u2t(e){let t=Oy(e);return t.byteLength>=10&&t.getUint32(0,Ou)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,By),height:t.getUint16(8,By)}:null}function c2t(e){let t=Oy(e);return t.byteLength>=14&&t.getUint16(0,Ou)===16973&&t.getUint32(2,By)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,By),height:t.getUint32(22,By)}:null}function l2t(e){let t=Oy(e);if(!(t.byteLength>=3&&t.getUint16(0,Ou)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=f2t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Ou);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Ou),width:t.getUint16(a+7,Ou)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Ou)}return null}function f2t(){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 Oy(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 Axe(e,t){var i;let{mimeType:r}=kd(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return _t(n),await n(e,r)}async function Txe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=p2t(i),s;switch(o){case"imagebitmap":s=await wxe(e,t,a);break;case"image":s=await I3(e,t,a);break;case"data":s=await Axe(e,t);break;default:_t(!1)}return i==="data"&&(s=ug(s)),s}function p2t(e){switch(e){case"auto":case"data":return xxe();default:return vxe(e),e}}var d2t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],h2t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],m2t={image:{type:"auto",decode:!0}},cg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:B3,mimeTypes:h2t,extensions:d2t,parse:Txe,tests:[e=>Boolean(kd(new DataView(e)))],options:m2t};var Dxe,Sxe=(Dxe=globalThis.loaders)==null?void 0:Dxe.encodeImageNode;async function Fxe(e,t){return t=t||{},t.image=t.image||{},Sxe?Sxe(e,{type:t.image.mimeType}):g2t(e,t)}var Cxe=!0;async function g2t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=DM(e),o=document.createElement("canvas");o.width=i,o.height=a,v2t(e,o);let s=await new Promise(u=>{if(n&&Cxe)try{o.toBlob(u,r,n);return}catch{Cxe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function v2t(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 kM={name:"Images",id:"image",module:"images",version:B3,extensions:["jpeg"],mimeTypes:[],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:Fxe};var BM={};function OM(e){if(BM[e]===void 0){let t=wr?b2t(e):x2t(e);BM[e]=t}return BM[e]}function x2t(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 b2t(e){switch(e){case"image/avif":case"image/webp":return y2t(e);default:return!0}}function y2t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function Wn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var P3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},R3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var _2t=1.33,kxe=["SCALAR","VEC2","VEC3","VEC4"],w2t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],E2t=new Map(w2t),A2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},T2t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},S2t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function j3(e){return kxe[e-1]||kxe[0]}function Mf(e){let t=E2t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function lg(e,t){let r=S2t[e.componentType],n=A2t[e.type],i=T2t[e.componentType],a=e.count*n,o=e.count*n*i;Wn(o>=0&&o<=t.byteLength);let s=R3[e.componentType],u=P3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Iy(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*_2t)}function Bxe(e,t,r){let n=e.bufferViews[r];Wn(n);let i=n.buffer,a=t[i];Wn(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Oxe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(g=e.bufferViews)==null?void 0:g[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}=lg(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 b=0;b<n.count;b++){let y=new u(a,s+b*d,f);h.set(y,b*f)}return h}function C2t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Xt=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||C2t(),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];Wn(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Oxe(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 Wn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return Wn(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=kd(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;Wn(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ga(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:j3(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:Mf(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;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=q5(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],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_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 Ixe(e){return(e%1+1)%1}var Pxe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},D2t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Rxe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Py(e,t){return Rxe[t]*Pxe[e]}function fg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=pg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function pg(e,t,r,n=1){let i=Pxe[t],a=D2t[r],o=Rxe[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 dg(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,m=(d=e.gltf.images)==null?void 0:d[u];if(m&&typeof m.width<"u"){let g=[];for(let b=0;b<a.length;b+=2){let y=F2t(m,h,a,b,t.channels);g.push(y)}return g}}return[]}function M3(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:Mf(o),count:o.length});i.attributes[t]=c}function F2t(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=k2t(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=ug(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let m=h.data[d];l|=m<<p.shift}return l}function k2t(e,t,r,n=1){let i=r.width,a=Ixe(e)*(i-1),o=Math.round(a),s=r.height,u=Ixe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function L3(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 q3(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 N3(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 hg="EXT_mesh_features",U3=hg;async function B2t(e,t){let r=new Xt(e);I2t(r,t)}function O2t(e,t){let r=new Xt(e);return R2t(r,t),r.createBinaryChunk(),r.gltf}function I2t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)P2t(e,i,t)}function P2t(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[hg],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=dg(e,u.texture,t):c=[];u.data=c}}function R2t(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let i of n.primitives)j2t(e,i)}function G3(e,t,r,n){t.extensions||(t.extensions={});let i=t.extensions[hg];i||(i={featureIds:[]},t.extensions[hg]=i);let{featureIds:a}=i,o={featureCount:r.length,propertyTable:n,data:r};a.push(o),e.addObjectExtension(t,hg,i)}function j2t(e,t){var i;let r=(i=t.extensions)==null?void 0:i[hg];if(!r)return;let n=r.featureIds;n.forEach((a,o)=>{if(a.data){let{accessorKey:s,index:u}=M2t(t.attributes),c=new Uint32Array(a.data);n[o]={featureCount:c.length,propertyTable:a.propertyTable,attribute:u},e.gltf.buffers.push({arrayBuffer:c.buffer,byteOffset:c.byteOffset,byteLength:c.byteLength});let l=e.addBufferView(c),f=e.addAccessor(l,{size:1,componentType:Mf(c),count:c.length});t.attributes[s]=f}})}function M2t(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(a=>a.indexOf(t)===0),n=-1;for(let a of r){let o=Number(a.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var V3={};Fi(V3,{createExtStructuralMetadata:()=>H3,decode:()=>L2t,encode:()=>q2t,name:()=>Wc});var mg="EXT_structural_metadata",Wc=mg;async function L2t(e,t){let r=new Xt(e);N2t(r,t)}function q2t(e,t){let r=new Xt(e);return rwt(r,t),r.createBinaryChunk(),r.gltf}function N2t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(mg);r&&((i=t.gltf)!=null&&i.loadImages&&U2t(e,r),G2t(e,r))}function U2t(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)H2t(e,r,a,t)}function G2t(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=z2t(i,a);o&&$2t(e,r,o)}}function z2t(e,t){for(let r of e)if(r.class===t)return r;return null}function H2t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[mg],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];V2t(e,u,r,n)}}function V2t(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=dg(e,u,r);l!==null&&(M3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function $2t(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=W2t(e,t,u,i,c);c.data=l}}}function W2t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=K2t(e,r,i,n),c=J2t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=X2t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=N3(n,s,u,c);break}case"ENUM":{a=Y2t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function K2t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?fg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function J2t(e,t,r){return typeof t.stringOffsets<"u"?fg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function X2t(e,t,r,n){let i=e.array,a=e.count,o=Py(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=pg(r,e.type,e.componentType,s):u=r,i?n?L3(u,t,n,r.length,o):a?q3(u,t,a):[]:u}function Y2t(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=Py(t.type,s),c=n.byteLength/u,l=pg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return Q2t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?Z2t(l,r,p,o):[]}return PM(l,0,r,o)}function Q2t(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=PM(t,f,p,o);s.push(d)}return s}function Z2t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=PM(e,o,r,n);i.push(s)}return i}function PM(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=ewt(n,o);s?i.push(s.name):i.push("")}return i}function ewt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var twt="schemaClassId";function rwt(e,t){var n,i;let r=e.getExtension(mg);if(r&&r.propertyTables)for(let a of r.propertyTables){let o=a.class,s=(i=(n=r.schema)==null?void 0:n.classes)==null?void 0:i[o];a.properties&&s&&nwt(a,s,e)}}function nwt(e,t,r){for(let n in e.properties){let i=e.properties[n].data;if(i){let a=t.properties[n];if(a){let o=owt(i,a,r);e.properties[n]=o}}}}function H3(e,t,r=twt){let n=e.getExtension(mg);n||(n=e.addExtension(mg)),n.schema=iwt(t,r,n.schema);let i=awt(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function iwt(e,t,r){let n=r??{id:"schema_id"},i={properties:{}};for(let a of e){let o={type:a.elementType,componentType:a.componentType};i.properties[a.name]=o}return n.classes={},n.classes[t]=i,n}function awt(e,t,r){var o;let n={class:t,count:0},i=0,a=(o=r.classes)==null?void 0:o[t];for(let s of e){if(i===0&&(i=s.values.length),i!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(a==null?void 0:a.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=i,n}function owt(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:i,stringOffsets:a}=cwt(e);n.stringOffsets=IM(a,r),n.values=IM(i,r)}else if(t.type==="SCALAR"&&t.componentType){let i=uwt(e,t.componentType);n.values=IM(i,r)}return n}var swt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function uwt(e,t){let r=[];for(let i of e)r.push(Number(i));let n=swt[t];if(!n)throw new Error("Illegal component type");return new n(r)}function cwt(e){let t=new TextEncoder,r=[],n=0;for(let u of e){let c=t.encode(u);n+=c.length,r.push(c)}let i=new Uint8Array(n),a=[],o=0;for(let u of r)i.set(u,o),a.push(o),o+=u.length;a.push(o);let s=new Uint32Array(a);return{stringData:i,stringOffsets:s}}function IM(e,t){return t.gltf.buffers.push({arrayBuffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var RM={};Fi(RM,{decode:()=>lwt,name:()=>Fo});var jxe="EXT_feature_metadata",Fo=jxe;async function lwt(e,t){let r=new Xt(e);fwt(r,t)}function fwt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(jxe);r&&((i=t.gltf)!=null&&i.loadImages&&pwt(e,r),dwt(e,r))}function pwt(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=mwt(i,a);s&&vwt(e,s,o)}}function dwt(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=hwt(i,a);o&&gwt(e,r,o)}}function hwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function mwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function gwt(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=xwt(e,t,u,i,c);c.data=l}}}function vwt(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=Ewt(e,o,n);o.data=s}}}function xwt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=bwt(e,r,i,n),c=ywt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=N3(n,s,u,c):_wt(r)&&(a=wwt(r,n,s,u)),a}function bwt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?fg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function ywt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?fg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function _wt(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 wwt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Py(o,s),c=r.byteLength/u,l=pg(r,o,s,c);return i?n?L3(l,t,n,r.length,u):a?q3(l,t,a):[]:l}function Ewt(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)Awt(e,r,t,i,o);return i}function Awt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=dg(e,a,i);o&&M3(e,t,o,n,i)}var $3="4.4.0-alpha.0";var gg="4.4.0-alpha.0";var Iu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Mxe;async function MM(e){Ix(e.modules);let t=C5("basis");return t||(Mxe||(Mxe=Twt(e)),await Mxe)}async function Twt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.TRANSCODER,"textures",e),await au(Iu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Swt(t,r)}function Swt(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 jM;async function LM(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(jM=jM||Cwt(e),await jM)}async function Cwt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.ENCODER,"textures",e),await au(Iu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Dwt(t,r)}function Dwt(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 ce={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 Fwt=["","WEBKIT_","MOZ_"],Lxe={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"},W3=null;function Ry(e){if(!W3){e=e||kwt()||void 0,W3=new Set;for(let t of Fwt)for(let r in Lxe)if(e&&e.getExtension(`${t}${r}`)){let n=Lxe[r];W3.add(n)}}return W3}function kwt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var qM=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},Bd=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var Tar=new Uint8Array([0]),na=[171,75,84,88,32,50,48,187,13,10,26,10];function qxe(e){return new TextDecoder().decode(e)}function Nxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,na.length);if(t[0]!==na[0]||t[1]!==na[1]||t[2]!==na[2]||t[3]!==na[3]||t[4]!==na[4]||t[5]!==na[5]||t[6]!==na[6]||t[7]!==na[7]||t[8]!==na[8]||t[9]!==na[9]||t[10]!==na[10]||t[11]!==na[11])throw new Error("Missing KTX 2.0 identifier.");let r=new qM,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new Bd(e,na.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),p=a*3*8,d=new Bd(e,na.length+n,p,!0);for(let pe=0;pe<a;pe++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new Bd(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,b=4,y=(m.descriptorBlockSize/4-g)/b;for(let pe=0;pe<y;pe++){let Ce={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};Ce.channelType&64?(Ce.sampleLower=h._nextInt32(),Ce.sampleUpper=h._nextInt32()):(Ce.sampleLower=h._nextUint32(),Ce.sampleUpper=h._nextUint32()),m.samples[pe]=Ce}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let w=new Bd(e,u,c,!0);for(;w._offset<c;){let pe=w._nextUint32(),Ce=w._scan(pe),Be=qxe(Ce);if(r.keyValue[Be]=w._nextUint8Array(pe-Ce.byteLength-1),Be.match(/^ktx/i)){let N=qxe(r.keyValue[Be]);r.keyValue[Be]=N.substring(0,N.lastIndexOf("\0"))}let J=pe%4?4-pe%4:0;w._skip(J)}if(f<=0)return r;let T=new Bd(e,l,f,!0),E=T._nextUint16(),k=T._nextUint16(),B=T._nextUint32(),j=T._nextUint32(),C=T._nextUint32(),I=T._nextUint32(),P=[];for(let pe=0;pe<a;pe++)P.push({imageFlags:T._nextUint32(),rgbSliceByteOffset:T._nextUint32(),rgbSliceByteLength:T._nextUint32(),alphaSliceByteOffset:T._nextUint32(),alphaSliceByteLength:T._nextUint32()});let L=l+T._offset,G=L+B,V=G+j,X=V+C,Y=new Uint8Array(e.buffer,e.byteOffset+L,B),he=new Uint8Array(e.buffer,e.byteOffset+G,j),le=new Uint8Array(e.buffer,e.byteOffset+V,C),me=new Uint8Array(e.buffer,e.byteOffset+X,I);return r.globalData={endpointCount:E,selectorCount:k,imageDescs:P,endpointsData:Y,selectorsData:he,tablesData:le,extendedData:me},r}function vg(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=Owt(t,n,i,e,o),u=Bwt(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 Bwt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function Owt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var Iwt={131:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,132:ce.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:ce.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:ce.COMPRESSED_RED_RGTC1_EXT,140:ce.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:ce.COMPRESSED_RED_GREEN_RGTC2_EXT,142:ce.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:ce.COMPRESSED_RGB8_ETC2,148:ce.COMPRESSED_SRGB8_ETC2,149:ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:ce.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:ce.COMPRESSED_RGBA8_ETC2_EAC,152:ce.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:ce.COMPRESSED_R11_EAC,154:ce.COMPRESSED_SIGNED_R11_EAC,155:ce.COMPRESSED_RG11_EAC,156:ce.COMPRESSED_SIGNED_RG11_EAC,157:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,158:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,160:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,162:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,164:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,166:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,168:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,170:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,172:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,174:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,176:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,178:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,180:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,182:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:ce.COMPRESSED_RGBA_ASTC_12x12_KHR,184:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:ce.COMPRESSED_RGBA_ASTC_12x12_KHR};function Uxe(e){return Iwt[e]}var Wa=[171,75,84,88,32,50,48,187,13,10,26,10];function K3(e){let t=new Uint8Array(e);return!(t.byteLength<Wa.length||t[0]!==Wa[0]||t[1]!==Wa[1]||t[2]!==Wa[2]||t[3]!==Wa[3]||t[4]!==Wa[4]||t[5]!==Wa[5]||t[6]!==Wa[6]||t[7]!==Wa[7]||t[8]!==Wa[8]||t[9]!==Wa[9]||t[10]!==Wa[10]||t[11]!==Wa[11])}function Gxe(e){let t=new Uint8Array(e),r=Nxe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=Uxe(r.vkFormat);return vg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var Pwt={etc1:{basisFormat:0,compressed:!0,format:ce.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ce.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ce.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:ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ce.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 J3(e,t){if(t.basis.containerFormat==="auto"){if(K3(e)){let n=await LM(t);return zxe(n.KTX2File,e,t)}let{BasisFile:r}=await MM(t);return NM(r,e,t)}switch(t.basis.module){case"encoder":let r=await LM(t);switch(t.basis.containerFormat){case"ktx2":return zxe(r.KTX2File,e,t);case"basis":default:return NM(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await MM(t);return NM(n,e,t)}}function NM(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(Rwt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function Rwt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Hxe(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 zxe(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(jwt(n,o,r));return[a]}finally{n.close(),n.delete()}}function jwt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Hxe(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 Hxe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=xg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Pwt[r]}function xg(){let e=Ry();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 Vxe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:gg,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"}}},Od={...Vxe,parse:J3};var Ka={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},Mwt={DXT1:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":ce.COMPRESSED_RGB_ATC_WEBGL,ATCA:ce.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:ce.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Lwt=Kxe,qwt=X3,Nwt=X3,Uwt={DXT1:Kxe,DXT3:X3,DXT5:X3,"ATC ":Lwt,ATCA:qwt,ATCI:Nwt};function $xe(e){return new Uint32Array(e,0,Ka.HEADER_LENGTH)[Ka.MAGIC_NUMBER_INDEX]===Ka.MAGIC_NUMBER}function Wxe(e){let t=new Int32Array(e,0,Ka.HEADER_LENGTH),r=t[Ka.HEADER_PF_FOURCC_INDEX];_t(Boolean(t[Ka.HEADER_PF_FLAGS_INDEX]&Ka.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Gwt(r),i=Mwt[n],a=Uwt[n];_t(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[Ka.HEADER_FLAGS_INDEX]&Ka.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[Ka.MIPMAPCOUNT_INDEX]));let s=t[Ka.HEADER_WIDTH_INDEX],u=t[Ka.HEADER_HEIGHT_INDEX],c=t[Ka.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return vg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Kxe(e,t){return(e+3>>2)*(t+3>>2)*8}function X3(e,t){return(e+3>>2)*(t+3>>2)*16}function Gwt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var ko={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},zwt={0:[ce.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[ce.COMPRESSED_RGB_ETC1_WEBGL],7:[ce.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[ce.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[ce.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[ce.COMPRESSED_RGB8_ETC2],23:[ce.COMPRESSED_RGBA8_ETC2_EAC],24:[ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[ce.COMPRESSED_R11_EAC],26:[ce.COMPRESSED_RG11_EAC],27:[ce.COMPRESSED_RGBA_ASTC_4X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[ce.COMPRESSED_RGBA_ASTC_5X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[ce.COMPRESSED_RGBA_ASTC_5X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[ce.COMPRESSED_RGBA_ASTC_6X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[ce.COMPRESSED_RGBA_ASTC_6X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[ce.COMPRESSED_RGBA_ASTC_8X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[ce.COMPRESSED_RGBA_ASTC_8X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[ce.COMPRESSED_RGBA_ASTC_8X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[ce.COMPRESSED_RGBA_ASTC_10X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[ce.COMPRESSED_RGBA_ASTC_10X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[ce.COMPRESSED_RGBA_ASTC_10X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[ce.COMPRESSED_RGBA_ASTC_10X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[ce.COMPRESSED_RGBA_ASTC_12X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[ce.COMPRESSED_RGBA_ASTC_12X12_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Hwt={0:Jxe,1:Jxe,2:Xxe,3:Xxe,6:jy,7:jy,9:My,11:My,22:jy,23:My,24:jy,25:jy,26:My,27:My,28:Vwt,29:$wt,30:Wwt,31:Kwt,32:Jwt,33:Xwt,34:Ywt,35:Qwt,36:Zwt,37:eEt,38:tEt,39:rEt,40:nEt};function Yxe(e){let r=new Uint32Array(e,0,ko.HEADER_LENGTH)[ko.MAGIC_NUMBER_INDEX];return r===ko.MAGIC_NUMBER||r===ko.MAGIC_NUMBER_EXTRA}function Qxe(e){let t=new Uint32Array(e,0,ko.HEADER_LENGTH),r=t[ko.PIXEL_FORMAT_INDEX],n=t[ko.COLOUR_SPACE_INDEX],i=zwt[r]||[],a=i.length>1&&n?i[1]:i[0],o=Hwt[r],s=t[ko.MIPMAPCOUNT_INDEX],u=t[ko.WIDTH_INDEX],c=t[ko.HEIGHT_INDEX],l=ko.HEADER_SIZE+t[ko.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return vg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function Jxe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Xxe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function jy(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function My(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Vwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function $wt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Wwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Kwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Jwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Xwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Ywt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Qwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Zwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function eEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function tEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function rEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function nEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Zxe(e){if(K3(e))return Gxe(e);if($xe(e))return Wxe(e);if(Yxe(e))return Qxe(e);throw new Error("Texture container format not recognized")}var ebe={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:gg,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}}},Y3={...ebe,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 J3(e,t))[0]):Zxe(e)}};var UM={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:gg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var bg=!0,tbe=1735152710,HM=12,Q3=8,iEt=1313821514,aEt=5130562,oEt=0,sEt=0,uEt=1;function cEt(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 rbe(e,t=0,r={}){let n=new DataView(e),{magic:i=tbe}=r,a=n.getUint32(t,!1);return a===i||a===tbe}function nbe(e,t,r=0,n={}){let i=new DataView(t),a=cEt(i,r+0),o=i.getUint32(r+4,bg),s=i.getUint32(r+8,bg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=HM,e.version){case 1:return lEt(e,i,r);case 2:return fEt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function lEt(e,t,r){_t(e.header.byteLength>HM+Q3);let n=t.getUint32(r+0,bg),i=t.getUint32(r+4,bg);return r+=Q3,_t(i===oEt),GM(e,t,r,n),r+=n,r+=zM(e,t,r,e.header.byteLength),r}function fEt(e,t,r,n){return _t(e.header.byteLength>HM+Q3),pEt(e,t,r,n),r+e.header.byteLength}function pEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,bg),a=t.getUint32(r+4,bg);switch(r+=Q3,a){case iEt:GM(e,t,r,i);break;case aEt:zM(e,t,r,i);break;case sEt:n.strict||GM(e,t,r,i);break;case uEt:n.strict||zM(e,t,r,i);break;default:break}r+=Ga(i,4)}return r}function GM(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ga(n,4)}function zM(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ga(n,4)}function VM(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 WM={};Fi(WM,{decode:()=>AEt,name:()=>EEt});var dEt="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",hEt="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",mEt=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]),gEt=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]),vEt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},xEt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function ibe(e,t,r,n,i,a="NONE"){let o=await bEt();wEt(o,o.exports[xEt[i]],e,t,r,n,o.exports[vEt[a||"NONE"]])}var $M;async function bEt(){return $M||($M=yEt()),$M}async function yEt(){let e=dEt;WebAssembly.validate(mEt)&&(e=hEt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(_Et(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function _Et(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?gEt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function wEt(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 Z3="EXT_meshopt_compression",EEt=Z3;async function AEt(e,t){var i,a;let r=new Xt(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(TEt(r,o));await Promise.all(n),r.removeExtension(Z3)}async function TEt(e,t){let r=e.getObjectExtension(t,Z3);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 ibe(p,o,a,f,s,u),e.removeObjectExtension(t,Z3)}}var KM={};Fi(KM,{name:()=>SEt,preprocess:()=>CEt});var yg="EXT_texture_webp",SEt=yg;function CEt(e,t){let r=new Xt(e);if(!OM("image/webp")){if(r.getRequiredExtensions().includes(yg))throw new Error(`gltf: Required extension ${yg} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,yg);a&&(i.source=a.source),r.removeObjectExtension(i,yg)}r.removeExtension(yg)}var JM={};Fi(JM,{name:()=>DEt,preprocess:()=>FEt});var e8="KHR_texture_basisu",DEt=e8;function FEt(e,t){let r=new Xt(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,e8);a&&(i.source=a.source,r.removeObjectExtension(i,e8))}r.removeExtension(e8)}var YM={};Fi(YM,{decode:()=>PEt,encode:()=>REt,name:()=>OEt,preprocess:()=>IEt});function abe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=XM(n);t[r]=i}}return t}function XM(e){let{buffer:t,size:r,count:n}=kEt(e);return{value:t,size:r,byteOffset:0,count:n,type:j3(r),componentType:Mf(t)}}function kEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=BEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function BEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Lf="KHR_draco_mesh_compression",OEt=Lf;function IEt(e,t,r){let n=new Xt(e);for(let i of obe(n))n.getObjectExtension(i,Lf)}async function PEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new Xt(e),i=[];for(let o of obe(n))n.getObjectExtension(o,Lf)&&i.push(jEt(n,o,t,r));await Promise.all(i),n.removeExtension(Lf)}function REt(e,t={}){let r=new Xt(e);for(let n of r.json.meshes||[])MEt(n,t),r.addRequiredExtension(Lf)}async function jEt(e,t,r,n){let i=e.getObjectExtension(t,Lf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=Pp(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Na(o,Dd,s,n),c=abe(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=XM(u.indices)),e.removeObjectExtension(t,Lf),LEt(t)}function MEt(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:{[Lf]:{bufferView:u,attributes:s}}}]}}function LEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*obe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var QM={};Fi(QM,{decode:()=>GEt,name:()=>qEt});var r8="KHR_texture_transform",qEt=r8,t8=new Z,NEt=new rr,UEt=new rr;async function GEt(e,t){var a;if(!new Xt(e).hasExtension(r8)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)zEt(o,e)}function zEt(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[r8])&&HEt(t,e,c,i)}function HEt(e,t,r,n){let i=VEt(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&&$Et(e,s,i)}}function VEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[r8],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=JEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function $Et(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:m}=lg(c,l),g=R3[c.componentType],b=P3[c.type],y=l.byteStride||g*b,w=new Float32Array(m);for(let T=0;T<c.count;T++){let E=new h(f,d+T*y,2);t8.set(E[0],E[1],1),t8.transformByMatrix3(a),w.set([t8[0],t8[1]],T*b)}n===i?WEt(c,l,e.buffers,w):KEt(i,c,t,e,w)}}}}function WEt(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 KEt(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 JEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new rr().set(1,0,0,0,1,0,t[0],t[1],1),a=NEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=UEt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var ZM={};Fi(ZM,{decode:()=>YEt,encode:()=>QEt,name:()=>XEt});var Id="KHR_lights_punctual",XEt=Id;async function YEt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(Id);n&&(t.json.lights=n.lights,t.removeExtension(Id));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,Id);a&&(i.light=a.light),t.removeObjectExtension(i,Id)}}async function QEt(e){let t=new Xt(e),{json:r}=t;if(r.lights){let n=t.addExtension(Id);Wn(!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,Id,n)}delete t.json.lights}}var eL={};Fi(eL,{decode:()=>eAt,encode:()=>tAt,name:()=>ZEt});var Ly="KHR_materials_unlit",ZEt=Ly;async function eAt(e){let t=new Xt(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Ly);t.removeExtension(Ly)}function tAt(e){let t=new Xt(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Ly,{}),t.addExtension(Ly))}var tL={};Fi(tL,{decode:()=>nAt,encode:()=>iAt,name:()=>rAt});var qy="KHR_techniques_webgl",rAt=qy;async function nAt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(qy);if(n){let i=aAt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,qy);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=oAt(a.technique,t)),t.removeObjectExtension(a,qy)}t.removeExtension(qy)}}async function iAt(e,t){}function aAt(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 oAt(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 sbe=[V3,z3,WM,KM,JM,YM,ZM,eL,tL,QM,RM],sAt=[V3,z3];function ube(e,t={},r){var i;let n=sbe.filter(a=>fbe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function cbe(e,t={},r){var i;let n=sbe.filter(a=>fbe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function lbe(e,t={}){var r;for(let n of sAt)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function fbe(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 rL="KHR_binary_glTF";function pbe(e){let t=new Xt(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,rL);i&&Object.assign(n,i),t.removeObjectExtension(n,rL)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(rL)}var dbe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},cAt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},nL=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),pbe(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 dbe)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 dbe)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=cAt[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 hbe(e,t={}){return new nL().normalize(e,t)}async function mbe(e,t,r=0,n,i){var a,o,s;return lAt(e,t,r,n),hbe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),ube(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await fAt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await pAt(e,n,i),await cbe(e,n,i),e}function lAt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!rbe(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=L5(t);else if(t instanceof ArrayBuffer){let o={};r=nbe(o,t,r,n.glb),Wn(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else Wn(!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 fAt(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;Wn(u);let c=VM(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 pAt(e,t,r){let n=dAt(e),i=e.json.images||[],a=[];for(let o of n)a.push(hAt(e,i[o],o,t,r));return await Promise.all(a)}function dAt(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 hAt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=VM(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Bxe(e.json,e.buffers,t.bufferView);a=Pp(s.buffer,s.byteOffset,s.byteLength)}Wn(a,"glTF image has no data");let o=await Na(a,[cg,Od],{...n,mimeType:t.mimeType,basis:n.basis||{format:xg()}},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 Kc={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:mAt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function mAt(e,t={},r){t={...Kc.options,...t},t.gltf={...Kc.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await mbe({},e,n,t,r)}var gAt=1179937895,vAt=1313821514,xAt=5130562,Pu=!0;function gbe(e,t,r=0,n={}){let{magic:i=gAt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Pu),t.setUint32(r+4,a,Pu),t.setUint32(r+8,0,Pu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,vAt,Pu)),r+=8;let f=JSON.stringify(o);if(r=c0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Pu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,xAt,Pu)),r+=8,r=vw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Pu)}}if(t){let p=r-u;t.setUint32(c,p,Pu)}return r}function iL(e,t,r,n){return bAt(e),gbe(e,t,r,n)}function bAt(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var aL={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>vbe(e,t),encodeSync:vbe};function vbe(e,t={}){let{byteOffset:r=0}=t,n=lbe(e),i=iL(n,null,r,t),a=new ArrayBuffer(i),o=new DataView(a);return iL(n,o,r,t),a}var yAt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},_At={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Bo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},wAt={magFilter:Bo.TEXTURE_MAG_FILTER,minFilter:Bo.TEXTURE_MIN_FILTER,wrapS:Bo.TEXTURE_WRAP_S,wrapT:Bo.TEXTURE_WRAP_T},EAt={[Bo.TEXTURE_MAG_FILTER]:Bo.LINEAR,[Bo.TEXTURE_MIN_FILTER]:Bo.NEAREST_MIPMAP_LINEAR,[Bo.TEXTURE_WRAP_S]:Bo.REPEAT,[Bo.TEXTURE_WRAP_T]:Bo.REPEAT};function AAt(){return{id:"default-sampler",parameters:EAt}}function TAt(e){return _At[e]}function SAt(e){return yAt[e]}var oL=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return Wn(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=TAt(t.componentType),i=SAt(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}=lg(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):AAt(),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 wAt[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 Ny(e,t){return new oL().postProcess(e,t)}var n8={URI:0,EMBEDDED:1};function i8(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=Pp(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 a8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(CAt(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 Na(e.gltfArrayBuffer,Kc,r,n);e.gltf=Ny(a),e.gpuMemoryUsageInBytes=Iy(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function CAt(e,t,r){switch(t){case n8.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 n8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function xbe(e,t,r,n,i){var o;r=DAt(e,t,r,n,i),await a8(e,n8.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 DAt(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),r=i8(e,t,r,n);let a=new $c(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",mt.FLOAT,3),r}async function bbe(e,t,r,n,i){return r=FAt(e,t,r,n,i),await a8(e,e.gltfFormat||0,n,i),r}function FAt(e,t,r,n,i){var c;if(r=jf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=og(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=sg(e,t,r,n),r=i8(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 $c(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",mt.FLOAT,3);let u=new Fd(e.batchTableJson,e.batchTableBinary,s);return kAt(e,o,u,s),r}function kAt(e,t,r,n){let i=new Array(n),a=new Z,o=new Z,s=new Z,u=new Z,c=new rr,l=new Co,f=new Z,p={},d=new mr,h=[],m=[],g=[],b=[];for(let y=0;y<n;y++){let w;if(t.hasProperty("POSITION"))w=t.getProperty("POSITION",mt.FLOAT,3,y,a);else if(t.hasProperty("POSITION_QUANTIZED")){w=t.getProperty("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3,y,a);let I=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let L=65535;for(let G=0;G<3;G++)w[G]=w[G]/L*P[G]+I[G]}if(!w)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(w),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",mt.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",mt.FLOAT,3,y,m);let T=!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",mt.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",mt.UNSIGNED_SHORT,2,y,m),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?(Bt.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}T&&(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 E=t.getProperty("SCALE",mt.FLOAT,1,y,g);Number.isFinite(E)&&f.multiplyByScalar(E);let k=t.getProperty("SCALE_NON_UNIFORM",mt.FLOAT,3,y,h);k&&f.scale(k),p.scale=f;let B=t.getProperty("BATCH_ID",mt.UNSIGNED_SHORT,1,y,b);B===void 0&&(B=y);let j=new mr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(j),d.scale(p.scale);let C=d.clone();i[y]={modelMatrix:C,batchId:B}}e.instances=i}async function ybe(e,t,r,n,i,a){r=jf(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 _be(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 Na(t,Kc,r,n);e.gltf=Ny(o),e.gpuMemoryUsageInBytes=Iy(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function sL(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Yve(e,t),i.type){case ci.COMPOSITE:return await ybe(i,e,t,r,n,sL);case ci.BATCHED_3D_MODEL:return await xbe(i,e,t,r,n);case ci.GLTF:return await _be(i,e,r,n);case ci.INSTANCED_3D_MODEL:return await bbe(i,e,t,r,n);case ci.POINT_CLOUD:return await mxe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function uL(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=wbe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=wbe(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await o8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await o8(c,p,f,r);else await o8(c,c.contentAvailability,f,r);return await o8(c,c.childSubtreeAvailability,f,r),c}async function o8(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 wbe(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var s8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:ng,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:uL,options:{}};var Oo=null;try{Oo=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 Nr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Nr.prototype.__isLong__;Object.defineProperty(Nr.prototype,"__isLong__",{value:!0});function Gi(e){return(e&&e.__isLong__)===!0}function Ebe(e){var t=Math.clz32(e&-e);return e?31-t:t}Nr.isLong=Gi;var Abe={},Tbe={};function Pd(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=Tbe[e],n)?n:(r=fr(e,0,!0),i&&(Tbe[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=Abe[e],n)?n:(r=fr(e,e<0?-1:0,!1),i&&(Abe[e]=r),r))}Nr.fromInt=Pd;function Io(e,t){if(isNaN(e))return t?Jc:bs;if(t){if(e<0)return Jc;if(e>=Fbe)return Obe}else{if(e<=-Cbe)return Sa;if(e+1>=Cbe)return Bbe}return e<0?Io(-e,t).neg():fr(e%wg|0,e/wg|0,t)}Nr.fromNumber=Io;function fr(e,t,r){return new Nr(e,t,r)}Nr.fromBits=fr;var u8=Math.pow;function lL(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?Jc:bs;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 lL(e.substring(1),t,r).neg();for(var i=Io(u8(r,8)),a=bs,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=Io(u8(r,s));a=a.mul(c).add(Io(u))}else a=a.mul(i),a=a.add(Io(u))}return a.unsigned=t,a}Nr.fromString=lL;function ys(e,t){return typeof e=="number"?Io(e,t):typeof e=="string"?lL(e,t):fr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Nr.fromValue=ys;var Sbe=1<<16,BAt=1<<24,wg=Sbe*Sbe,Fbe=wg*wg,Cbe=Fbe/2,Dbe=Pd(BAt),bs=Pd(0);Nr.ZERO=bs;var Jc=Pd(0,!0);Nr.UZERO=Jc;var _g=Pd(1);Nr.ONE=_g;var kbe=Pd(1,!0);Nr.UONE=kbe;var cL=Pd(-1);Nr.NEG_ONE=cL;var Bbe=fr(-1,2147483647,!1);Nr.MAX_VALUE=Bbe;var Obe=fr(-1,-1,!0);Nr.MAX_UNSIGNED_VALUE=Obe;var Sa=fr(0,-2147483648,!1);Nr.MIN_VALUE=Sa;var Se=Nr.prototype;Se.toInt=function(){return this.unsigned?this.low>>>0:this.low};Se.toNumber=function(){return this.unsigned?(this.high>>>0)*wg+(this.low>>>0):this.high*wg+(this.low>>>0)};Se.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(Sa)){var r=Io(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=Io(u8(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}};Se.getHighBits=function(){return this.high};Se.getHighBitsUnsigned=function(){return this.high>>>0};Se.getLowBits=function(){return this.low};Se.getLowBitsUnsigned=function(){return this.low>>>0};Se.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Sa)?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};Se.isZero=function(){return this.high===0&&this.low===0};Se.eqz=Se.isZero;Se.isNegative=function(){return!this.unsigned&&this.high<0};Se.isPositive=function(){return this.unsigned||this.high>=0};Se.isOdd=function(){return(this.low&1)===1};Se.isEven=function(){return(this.low&1)===0};Se.equals=function(t){return Gi(t)||(t=ys(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Se.eq=Se.equals;Se.notEquals=function(t){return!this.eq(t)};Se.neq=Se.notEquals;Se.ne=Se.notEquals;Se.lessThan=function(t){return this.comp(t)<0};Se.lt=Se.lessThan;Se.lessThanOrEqual=function(t){return this.comp(t)<=0};Se.lte=Se.lessThanOrEqual;Se.le=Se.lessThanOrEqual;Se.greaterThan=function(t){return this.comp(t)>0};Se.gt=Se.greaterThan;Se.greaterThanOrEqual=function(t){return this.comp(t)>=0};Se.gte=Se.greaterThanOrEqual;Se.ge=Se.greaterThanOrEqual;Se.compare=function(t){if(Gi(t)||(t=ys(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};Se.comp=Se.compare;Se.negate=function(){return!this.unsigned&&this.eq(Sa)?Sa:this.not().add(_g)};Se.neg=Se.negate;Se.add=function(t){Gi(t)||(t=ys(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,fr(p<<16|d,l<<16|f,this.unsigned)};Se.subtract=function(t){return Gi(t)||(t=ys(t)),this.add(t.neg())};Se.sub=Se.subtract;Se.multiply=function(t){if(this.isZero())return this;if(Gi(t)||(t=ys(t)),Oo){var r=Oo.mul(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Jc:bs;if(this.eq(Sa))return t.isOdd()?Sa:bs;if(t.eq(Sa))return this.isOdd()?Sa:bs;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(Dbe)&&t.lt(Dbe))return Io(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,fr(d<<16|h,f<<16|p,this.unsigned)};Se.mul=Se.multiply;Se.divide=function(t){if(Gi(t)||(t=ys(t)),t.isZero())throw Error("division by zero");if(Oo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Oo.div_u:Oo.div_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Jc:bs;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Jc;if(t.gt(this.shru(1)))return kbe;a=Jc}else{if(this.eq(Sa)){if(t.eq(_g)||t.eq(cL))return Sa;if(t.eq(Sa))return _g;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(bs)?t.isNegative()?_g:cL:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Sa))return this.unsigned?Jc:bs;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=bs}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:u8(2,s-48),c=Io(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Io(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=_g),a=a.add(c),i=i.sub(l)}return a};Se.div=Se.divide;Se.modulo=function(t){if(Gi(t)||(t=ys(t)),Oo){var r=(this.unsigned?Oo.rem_u:Oo.rem_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Se.mod=Se.modulo;Se.rem=Se.modulo;Se.not=function(){return fr(~this.low,~this.high,this.unsigned)};Se.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Se.clz=Se.countLeadingZeros;Se.countTrailingZeros=function(){return this.low?Ebe(this.low):Ebe(this.high)+32};Se.ctz=Se.countTrailingZeros;Se.and=function(t){return Gi(t)||(t=ys(t)),fr(this.low&t.low,this.high&t.high,this.unsigned)};Se.or=function(t){return Gi(t)||(t=ys(t)),fr(this.low|t.low,this.high|t.high,this.unsigned)};Se.xor=function(t){return Gi(t)||(t=ys(t)),fr(this.low^t.low,this.high^t.high,this.unsigned)};Se.shiftLeft=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):fr(0,this.low<<t-32,this.unsigned)};Se.shl=Se.shiftLeft;Se.shiftRight=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):fr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Se.shr=Se.shiftRight;Se.shiftRightUnsigned=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?fr(this.high,0,this.unsigned):fr(this.high>>>t-32,0,this.unsigned)};Se.shru=Se.shiftRightUnsigned;Se.shr_u=Se.shiftRightUnsigned;Se.rotateLeft=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,fr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Se.rotl=Se.rotateLeft;Se.rotateRight=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,fr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Se.rotr=Se.rotateRight;Se.toSigned=function(){return this.unsigned?fr(this.low,this.high,!1):this};Se.toUnsigned=function(){return this.unsigned?this:fr(this.low,this.high,!0)};Se.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Se.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]};Se.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]};Nr.fromBytes=function(t,r,n){return n?Nr.fromBytesLE(t,r):Nr.fromBytesBE(t,r)};Nr.fromBytesLE=function(t,r){return new Nr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Nr.fromBytesBE=function(t,r){return new Nr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Eg=Nr;var OAt=16;function Uy(e){e==="X"&&(e="");let t=e.padEnd(OAt,"0");return Eg.fromString(t,!0,16)}function fL(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 pL(e,t){let r=IAt(e).shiftRightUnsigned(2);return e.add(Eg.fromNumber(2*t+1-4).multiply(r))}function IAt(e){return e.and(e.not().add(1))}var PAt=3,RAt=30,jAt=2*RAt+1,Ibe=180/Math.PI;function Rbe(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);MAt(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 jbe(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<PAt+jAt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=Eg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=Eg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function dL(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Pbe(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function hL(e){return[Pbe(e[0]),Pbe(e[1])]}function mL(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 gL([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Ibe,n*Ibe]}function MAt(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 Mbe(e){let t=dL(e.ij,e.level,[.5,.5]),r=hL(t),n=mL(e.face,r);return gL(n)}var LAt=100;function vL(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(LAt*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 m=dL(r,n,l),g=hL(m),b=mL(t,g),y=gL(b);Math.abs(y[1])>89.999&&(y[0]=u);let w=y[0]-u;y[0]+=w>180?-360:w<-180?360:0,o[s++]=y[0],o[s++]=y[1],u=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Ag(e){let t=qAt(e);return Rbe(t)}function qAt(e){if(e.indexOf("/")>0)return e;let t=Uy(e);return jbe(t)}function xL(e){let t=Ag(e);return Mbe(t)}function qbe(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=Ag(a),s=vL(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=Lbe(r)}else{let r=vL(e);t=Lbe(r)}return t}function Lbe(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 bL(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=Ag(e),a=qbe(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new Z(o,c,r)),l.push(new Z(u,c,r)),l.push(new Z(u,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,c,n)),l.push(new Z(u,c,n)),l.push(new Z(u,s,n)),l.push(new Z(o,s,n)),l}function c8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=bL(t,r),i=xL(t),a=i[0],o=i[1],s=Bt.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new Z(s[0],s[1],s[2]);n.push(u);let c=Dy(n);return[...c.center,...c.halfAxes]}var NAt=4,UAt=8,GAt={QUADTREE:NAt,OCTREE:UAt};function zAt(e,t,r){if(e!=null&&e.box){let n=Uy(e.s2VolumeInfo.token),i=pL(n,t),a=fL(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:c8(o),s2VolumeInfo:o}}}async function _L(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:i=0,implicitOptions:a,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:u,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:p,basePath:d}=a,h={children:[],lodMetricValue:0,contentUrl:""};if(!l)return E5.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let b=GAt[u],y=Math.log2(b),w=i&1,T=i>>1&1,E=i>>2&1,k=Rd(n.localX,w,1),B=Rd(n.localY,T,1),j=Rd(n.localZ,E,1),C=Rd(r.x,k,m),I=Rd(r.y,B,m),P=Rd(r.z,j,m),L=Rd(n.mortonIndex,i,y),G=m===c&&yL(t.childSubtreeAvailability,L),V,X,Y,he;if(G){let pe=`${d}/${p}`,Ce=l8(pe,g,C,I,P);V=await $r(Ce,s8,o),he=0,X={level:g,x:C,y:I,z:P},Y={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else V=t,he=(b**m-1)/(b-1)+L,X=r,Y={mortonIndex:L,localLevel:m,localX:k,localY:B,localZ:j};if(!yL(V.tileAvailability,he))return h;yL(V.contentAvailability,he)&&(h.contentUrl=l8(f,g,C,I,P));for(let pe=0;pe<b;pe++){let Ce=zAt(s,pe,u),Be=await _L({subtree:V,subtreeData:X,parentData:Y,childIndex:pe,implicitOptions:a,loaderOptions:o,s2VolumeBox:Ce});(Be.contentUrl||Be.children.length)&&h.children.push(Be)}return h.contentUrl||h.children.length?HAt(h,{level:g,x:C,y:I,z:P},a,s):h}function yL(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&E5.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?WAt(t,r.explicitBitstream):!1}function HAt(e,t,r,n){let{basePath:i,refine:a,getRefine:o,lodMetricType:s,getTileType:u,rootLodMetricValue:c,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${i}/`,""),p=c/2**t.level,d=n!=null&&n.box?{box:n.box}:l,h=VAt(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(a),type:u(e),lodMetricType:s,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:h}}function VAt(e,t,r){if(e.region){let{level:n,x:i,y:a,z:o}=t,[s,u,c,l,f,p]=e.region,d=2**n,h=(c-s)/d,[m,g]=[s+h*i,s+h*(i+1)],b=(l-u)/d,[y,w]=[u+b*a,u+b*(a+1)],T,E;if(r==="OCTREE"){let k=(p-f)/d;[T,E]=[f+k*o,f+k*(o+1)]}else[T,E]=[f,p];return{region:[m,y,g,w,T,E]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Rd(e,t,r){return(e<<r)+t}function l8(e,t,r,n,i){let a=$At({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function $At(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function WAt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function EL(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 AL(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function wL(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 ga.resolve(t,e)}function Nbe(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=wL(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:EL(e,r),refine:AL(e.refine)}}async function zbe(e,t,r){let n=null,i=Gbe(e.root);i&&e.root?n=await Ube(e.root,e,t,i,r):n=Nbe(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=Gbe(c),f;l?f=await Ube(c,e,t,l,r):f=Nbe(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function Ube(e,t,r,n,i){var T,E,k;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=l8(c,0,0,0,0),f=wL(l,r),p=await $r(f,s8,i),d=(T=e.content)==null?void 0:T.uri,h=d?wL(d,r):"",m=(E=t==null?void 0:t.root)==null?void 0:E.refine,g=e.geometricError,b=(k=e.boundingVolume.extensions)==null?void 0:k["3DTILES_bounding_volume_S2"];if(b){let j={box:c8(b),s2VolumeInfo:b};e.boundingVolume=j}let y=e.boundingVolume,w={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:EL,getRefine:AL};return await KAt(e,r,p,w,i)}async function KAt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await _L({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:EL(e,s),refine:AL(e.refine),content:u||e.content,children:a}}function Gbe(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 Ru={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:JAt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function JAt(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?XAt(e,t,r):YAt(e,t,r)}async function XAt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=QAt(i),o=await zbe(n,a,t||{});return{...n,shape:"tileset3d",loader:Ru,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 YAt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await sL(e,0,t,r,n.content),n.content}function QAt(e){return ga.dirname(e)}var Hbe="https://api.cesium.com/v1/assets";async function Vbe(e,t){var a;if(!t){let o=await ZAt(e);for(let s of o.items)s.type==="3DTILES"&&(t=s.id)}let r=await eTt(e,t),n=r.type,i=((a=r.options)==null?void 0:a.url)||r.url;return _t(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function ZAt(e){_t(e);let t=Hbe,r={Authorization:`Bearer ${e}`},n=await ta(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function eTt(e,t){_t(e,t);let r={Authorization:`Bearer ${e}`},n=`${Hbe}/${t}`,i=await ta(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await ta(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function tTt(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 Vbe(r,n)}var f8={...Ru,id:"cesium-ion",name:"Cesium Ion",preload:tTt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=f8,Ru.parse(e,t,r)),options:{"cesium-ion":{...Ru.options["3d-tiles"],accessToken:null}}};var ewe=Dt(Z2e(),1),_8t="4.4.0-alpha.0",dq={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:_8t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:w8t};async function w8t(e,t={}){let r=[],n={};try{let i=new ewe.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=E8t(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 E8t(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 A8t=1024,Xd=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=-1,i=e.length-4n;do{let a=i;i-=BigInt(A8t),i=i>=0n?i:0n;let o=new Uint8Array(await e.slice(i,a));for(let s=o.length-1;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=o[s],r.every((u,c)=>u===t[c])){n=s;break}}while(n===-1&&i>0n);return i+BigInt(n)};var T8t=new Uint8Array([1,0]);function rC(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of S8t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));twe[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return hn(...r)}function Ai(e,t,r,n){twe[t](e,Number(r),n)}var twe={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)}},S8t=[{size:2,default:new DataView(T8t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var rwe=new Uint8Array([80,75,5,6]),nwe=new Uint8Array([80,75,6,7]),iwe=new Uint8Array([80,75,6,6]),awe=8n,C8t=10n,owe=12n,swe=16n,D8t=22n,uwe=8n,cwe=24n,F8t=32n,lwe=40n,fwe=48n,k8t=56n,nC=async e=>{let t=await Xd(e,rwe),r=BigInt(await e.getUint16(t+awe)),n=BigInt(await e.getUint32(t+owe)),i=BigInt(await e.getUint32(t+swe)),a=t-20n,o=0n,s=await e.slice(a,a+4n);if(ou(s,nwe)){o=await e.getBigUint64(a+uwe);let u=await e.slice(o,o+4n);if(!ou(u,iwe.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+cwe),n=await e.getBigUint64(o+lwe),i=await e.getBigUint64(o+fwe)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function pwe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(Ai(a,2,o+awe,i),Ai(a,2,o+C8t,i)),n-r<=4294967295&&Ai(a,4,o+owe,n-r),r<4294967295&&Ai(a,4,o+swe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;Ai(a,8,s+uwe,n),Ai(a,8,fwe,r),Ai(a,8,cwe,i),Ai(a,8,F8t,i),Ai(a,8,lwe,n-r)}return new Uint8Array(a.buffer)}function dwe(e){let t=new DataView(new ArrayBuffer(Number(D8t)));for(let i of B8t)Ai(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=I8t(e),n=O8t(e);return hn(n,r,t.buffer)}var B8t=[{offset:0,size:4,default:new DataView(rwe.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 O8t(e){let t=new DataView(new ArrayBuffer(Number(k8t)));for(let r of R8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function I8t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of P8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var P8t=[{offset:0,size:4,default:new DataView(nwe.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],R8t=[{offset:0,size:4,default:new DataView(iwe.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 j8t=20,M8t=24,L8t=28,q8t=30,N8t=32,U8t=42,E1=46n,Qd=new Uint8Array([80,75,1,2]),Yd=async(e,t)=>{if(e>=t.length)return null;let r=new DataView(await t.slice(e,e+E1)),n=r.buffer.slice(0,4);if(!ou(n,Qd.buffer))return null;let i=BigInt(r.getUint32(j8t,!0)),a=BigInt(r.getUint32(M8t,!0)),o=r.getUint16(q8t,!0),s=BigInt(r.getUint16(N8t,!0)),u=r.getUint16(L8t,!0),c=await t.slice(e+E1,e+E1+BigInt(u+o)),l=c.slice(0,u),f=new TextDecoder().decode(l),p=e+E1+BigInt(u),d=r.getUint32(U8t,!0),h=BigInt(d),m=new DataView(c.slice(u,c.byteLength)),g={uncompressedSize:a,compressedSize:i,localHeaderOffset:h,startDisk:s},b=G8t(g,m);return{...g,...b,extraFieldLength:o,fileNameLength:u,fileName:f,extraOffset:p}};async function*zu(e){let{cdStartOffset:t,cdByteSize:r}=await nC(e),n=new Hx(new DataView(await e.slice(t,t+r))),i=await Yd(0n,n);for(;i;)yield i,i=await Yd(i.extraOffset+BigInt(i.extraFieldLength),n)}var hwe=(...e)=>e[0]+e[1]*16,G8t=(e,t)=>{let r=z8t(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)=>hwe(c[u],c[u+1])===1&&hwe(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},z8t=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 hq(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=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(E1)));for(let s of H8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var H8t=[{offset:0,size:4,default:new DataView(Qd.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 V8t=8,$8t=18,W8t=22,K8t=26,J8t=28,A1=30n,mq=new Uint8Array([80,75,3,4]),Ss=async(e,t)=>{let r=new DataView(await t.slice(e,e+A1)),n=r.buffer.slice(0,4);if(!ou(n,mq))return null;let i=r.getUint16(K8t,!0),a=r.getUint16(J8t,!0),o=await t.slice(e+A1,e+A1+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+A1+BigInt(i+a),f=r.getUint16(V8t,!0),p=BigInt(r.getUint32($8t,!0)),d=BigInt(r.getUint32(W8t,!0)),h=4;return d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function gq(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=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(A1)));for(let s of X8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var X8t=[{offset:0,size:4,default:new DataView(mq.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 Y8t(e){let t=await nC(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 gwe(e,t,r){let n=parseInt(await new Vx().hash(t,"hex"),16),i=gq({crc32:n,fileName:e,length:t.byteLength}),a=hq({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(hn(i,t)),new Uint8Array(a)]}async function vq(e,t,r){let n=new za(e,!0),[i,a,o]=await Y8t(n),s=n.length,[u,c]=await gwe(r,t,s);await n.append(u);let l=hn(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(pwe(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function xq(e,t,r){let n=Q8t(e),i=new gc(t,"w"),a=[],o=[];for await(let l of n)await mwe(l,i,o,a);if(r){let l=await r(a);await mwe(l,i,o)}let s=(await i.stat()).bigsize,u=hn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(dwe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function mwe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await gwe(e.path,e.file,i);await t.append(a),r.push(o)}function Q8t(e){async function*t(){let r=await vwe(e);for(let n of r){let i=await(await ta(ga.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function vwe(e,t="",r){let n=r||new zx({}),i=await n.readdir(iC(e,t)),a=[];for(let o of i){let s=iC(e,t,o);if((await n.stat(s)).isDirectory){let u=await vwe(e,iC(t,o));a.push(...u)}else a.push(iC(t,o))}return a}function iC(...e){let t=e.filter(r=>r.length);return ga.join(...t)}var Xg=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){Ix(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 Rp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var T1=class extends Xg{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 Zd=Dt(eq(),1),ol=Dt(require("zlib"),1),sl=class extends Xg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await l0(ol.default.gzip)(t):await l0(ol.default.deflate)(t);return mc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await l0(ol.default.gunzip)(t):await l0(ol.default.inflate)(t);return mc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gzipSync(t):ol.default.deflateSync(t);return mc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Zd.default.deflateRaw:Zd.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gunzipSync(t):ol.default.inflateSync(t);return mc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Zd.default.inflateRaw:Zd.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Zd.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 Zd.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 S1=class extends sl{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 xwe={0:async e=>e,8:async e=>await new sl({raw:!0}).decompress(e)},ul=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!wr)this.fileProvider=new za(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof cl?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):z5(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=zu(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 Ss(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=xwe[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=zu(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 cl=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new ul(this.fileProvider).fetch(t)).arrayBuffer()}};function C1(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=Z8t(e,n,16);r[a]=i}return r}function Z8t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function bq(e){let t=zu(e);return eCt(t)}async function eCt(e){let t=new cu,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 D1(e){let t=new cu,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(hn(rCt(u),nCt(a.localHeaderOffset)))}let i=n.sort(tCt);return gw(i)}function tCt(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 rCt(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 nCt(e){return new BigUint64Array([e]).buffer}var iCt={0:e=>new T1().decompress(e),8:e=>new sl({raw:!0}).decompress(e)},F1=class extends cl{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 cu().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Ss(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=iCt[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Xf(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return _t(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 Yf(e,t,r){e&&e.setUint32(t+8,r,!0)}function bwe(e,t,r,n,i){e={magic:Pf.COMPOSITE,tiles:[],...e};let a=r;r+=Xf(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 Yf(t,a,r-a),r}function ywe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ga(s.length,8),l=u?Ga(u.length,8):0;e={magic:Pf.BATCHED_MODEL,...e};let f=r;r=Xf(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=c0(t,r,s,8),a&&(r=c0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Nx(t,r,p,p.byteLength)),Yf(t,f,r-f),r}function _we(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:Pf.INSTANCED_MODEL,...e};let f=r;return r=Xf(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+=u0(t,r,c,l),r+=u0(t,r,o,s),Yf(t,f,r-f),r}var aCt={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function wwe(e,t,r,n){let{featureTableJson:i=aCt}=e,a=JSON.stringify(i);a=N5(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Pf.POINT_CLOUD,...e};let c=r;return r+=Xf(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+=u0(t,r,a,o),r+=Nx(t,r,s,u),Yf(t,c,r-c),r}function _q(e,t){let r=yq(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return yq(e,i,0,t),n}function yq(e,t,r,n){switch(_t(typeof e.type=="string"),e.type){case ci.COMPOSITE:return bwe(e,t,r,n,yq);case ci.POINT_CLOUD:return wwe(e,t,r,n);case ci.BATCHED_3D_MODEL:return ywe(e,t,r,n);case ci.INSTANCED_3D_MODEL:return _we(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var wq={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>Ewe(e,t),encodeSync:Ewe};function Ewe(e,t){return _q(e,t)}var Go=require("path");var Awe=Dt(require("crypto")),oC=new Uint8Array(256),aC=oC.length;function Eq(){return aC>oC.length-16&&(Awe.default.randomFillSync(oC),aC=0),oC.slice(aC,aC+=16)}var Ti=[];for(let e=0;e<256;++e)Ti.push((e+256).toString(16).slice(1));function Twe(e,t=0){return Ti[e[t+0]]+Ti[e[t+1]]+Ti[e[t+2]]+Ti[e[t+3]]+"-"+Ti[e[t+4]]+Ti[e[t+5]]+"-"+Ti[e[t+6]]+Ti[e[t+7]]+"-"+Ti[e[t+8]]+Ti[e[t+9]]+"-"+Ti[e[t+10]]+Ti[e[t+11]]+Ti[e[t+12]]+Ti[e[t+13]]+Ti[e[t+14]]+Ti[e[t+15]]}var Swe=Dt(require("crypto")),Aq={randomUUID:Swe.default.randomUUID};function oCt(e,t,r){if(Aq.randomUUID&&!t&&!e)return Aq.randomUUID();e=e||{};let n=e.random||(e.rng||Eq)();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 Twe(n)}var Hu=oCt;var ph=Dt(require("process"),1),ZC=Dt(Cs(),1),eD=Dt(Cq(),1);var cC=require("path"),Gwe=Dt(Cs(),1);var Lwe=()=>({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 eh=require("fs"),Yg=require("path");var qwe=require("zlib"),sC=require("fs");function uC(e){let t=`${e}.gz`,r=(0,qwe.createGzip)(),n=(0,sC.createReadStream)(e),i=(0,sC.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 Da(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 eh.promises.mkdir(e,{recursive:!0});let i=(0,Yg.join)(e,r);try{await eh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Vu(e,t,r="index.json",n=!0,i){let a=await Da(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await uC(a);return await I1(a),o}return a}async function Qg(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,Yg.join)(e,t);$r(o,U5).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function B1(e){try{return await eh.promises.stat(e),!0}catch{return!1}}function O1(e){return eh.promises.rm(e,{recursive:!0})}function I1(e){return eh.promises.unlink(e)}function Nwe(e){return(0,Yg.isAbsolute)(e)?e:(0,Yg.join)(process.cwd(),e)}async function Uwe(e,t){try{await eh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Si=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=(0,cC.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,cC.join)(r,n);return await B1(i)?(console.log(`load ${i}.`),await Qg(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),Si.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?Si.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,Gwe.default)({nodeCount:this.nodesCounter},Lwe()),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}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,cC.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()}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}),Si.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 P1=require("path"),lC=require("fs");function Zg(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return zwe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return zwe(r,n)}function zwe(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 fC(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=Nwe(r);try{if(t){let s=(0,P1.join)(i,`${n}.slpk`);return(await lC.promises.stat(s)).size}let a=(0,P1.join)(i,n);return await Hwe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function Hwe(e){let t=0,r=await lC.promises.readdir(e);for(let n of r){let i=await lC.promises.stat((0,P1.join)(e,n));i.isDirectory()?t+=await Hwe((0,P1.join)(e,n)):t+=i.size}return t}var uEe=Dt(Cq(),1);var th=3,ev=9;function $we(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/ev;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=vCt(o),c=xCt({...u,...e}),l=bCt(c);return yCt(l,u.featureCount)}function vCt(e){let t=1,r=1,n=Vwe(e.slice(0,th)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=th;c<e.length;c+=th){let l=Vwe(e.slice(c,c+th));n!==l&&(i[t]=c/th-1,i[t+1]=c/th,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/th-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function Vwe(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 xCt(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,m=0,g=0,b=0,y=0;for(let w=0;w<t.length;w++){let T=s[w*2],E=s[w*2+1],k=R1("positions",T,E),B=R1("normals",T,E),j=R1("colors",T,E),C=R1("uvRegions",T,E),I=R1("texCoords",T,E);u.push({featureId:t[w],positions:c.subarray(h,h+k),normals:l.subarray(m,m+B),colors:f.subarray(g,g+j),uvRegions:d.subarray(b,b+C),texCoords:p.subarray(y,y+I)}),h+=k,m+=B,g+=j,b+=C,y+=I}return u}function R1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*ev;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function bCt(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=Wwe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function yCt(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/ev-1+o),i.push(f.positions.length/ev+o),o+=f.positions.length/ev,a+=1}let s=Wwe(e);return i.push(s.positions.length/ev-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function Wwe(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ua(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ua(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ua(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ua(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ua(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function pC(e,t){let r,n,i,a=Bt.WGS84.cartesianToCartographic(e.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof ui?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Co().fromMatrix3(new rr([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 Kwe(e,t){let r=_Ct(e),n=Dy(r),i=pM(r),a=Bt.WGS84.cartesianToCartographic(i.center,new Z),o=Bt.WGS84.cartesianToCartographic(n.center,new Z);return t&&(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 _Ct(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function Jwe(e){let t;e instanceof ra?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Bt.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),a=Bt.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);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 Dq(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new rr([t,0,0,0,t,0,0,0,t]);return new ui(r,n)}function Xwe(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(m=>{var y,w;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(w=m==null?void 0:m.image)==null?void 0:w.data,b=new Uint8Array(g.length);return b.set(g),{data:b,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];Ywe(n);let{cartographicOrigin:a,modelMatrix:o}=ECt(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function wCt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function ECt(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new mr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new mr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new mr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(a),u=Bt.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:u}}function Ywe(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:wCt(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&&Ywe(n.children)}}function Qwe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Fo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function Zwe(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 Fo:return TCt(e,o,r,n);case U3:return ACt(e,o);default:return[]}return[]}function ACt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function TCt(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 SCt(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}`,m=e[h].value;return CCt(a,m,r)}return n?e[n].value:[]}function SCt(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 CCt(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],m=Math.min(F3(d)*o.width|0,o.width-1),b=(Math.min(F3(h)*o.height|0,o.height-1)*o.width+m)*o.components+u,y=new Uint8Array(o.data)[b];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function eEe(e,t){let r={};for(let n in t){let i=t[n];r[n]=DCt(i,e)}return r}function DCt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function tEe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function FCt(e){return typeof e=="string"||typeof e=="bigint"?Zr.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?Zr.SHORT_INT_TYPE:Zr.DOUBLE_TYPE:Zr.STRING_TYPE}function rEe(e){let t={};for(let r in e){let n=e[r][0],i=FCt(n);t[r]=i}return t}var nEe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Fo])==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],m=kCt(h);r[d]=m}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[Wc])==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],m=BCt(h);r[d]=m}return r}return null},kCt=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=Zr.STRING_TYPE;break;default:t=Zr.STRING_TYPE;break}return t},BCt=e=>{let t;if(e.array)t=Zr.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=Zr.STRING_TYPE;break;default:t=Zr.STRING_TYPE;break}return t};var dC=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var OCt=1,ICt=1,Ds=3,j1=2,PCt=4,RCt="string",jCt="Int32",MCt="Float64",LCt="Oid32",iEe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Qf=new Z;async function Fq({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 w;let d=u,h=await ZCt((w=e.gltf)==null?void 0:w.materials,c),m=Xwe(e,t,r),g=Qwe(e,p),b=await UCt(m,h,d,g);u&&qCt(b,l);let y=[];for(let T of h){let E=T.mergedMaterials[0].originalMaterialId;if(!b.has(E))continue;let k=b.get(E);if(!k)continue;let{material:B,texture:j}=T,C=await n();y.push(await NCt({convertedAttributes:k,material:B,texture:j,tileContent:e,nodeId:C,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function qCt(e,t){for(let r of e.values()){let n=Kwe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Ds){let o=r.positions.subarray(a,a+Ds);Bt.WGS84.cartesianToCartographic(Array.from(o),Qf),t&&(Qf[2]=Qf[2]-t.getHeight(Qf[1],Qf[0])),Qf=Qf.subtract(i),r.positions.set(Qf,a)}}}async function NCt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var I;let l=e.boundingVolumes,f=e.positions.length/Ds,{faceRange:p,featureIds:d,positions:h,normals:m,colors:g,uvRegions:b,texCoords:y,featureCount:w}=$we(e),T={};o&&(T=lDt(d,e.featureIndices,a,o));let E=new Uint32Array(2),k=bDt(d);E.set([f,w],0);let B=new Uint8Array(hn(E.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,b,k.buffer,p.buffer)),j=u?yDt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:b,featureIds:d,faceRange:p},c):null,C=[];return s&&o&&(C=hDt(d,T,o,s)),{nodeId:i,geometry:B,compressedGeometry:j,texture:r,hasUvRegions:Boolean(b.length),sharedResources:aDt(((I=n.gltf)==null?void 0:I.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:C,featureCount:w,boundingVolumes:l}}async function UCt(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)}cEe({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 cEe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([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)zCt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function GCt(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 zCt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=GCt(e,o),c=e.mesh;c&&HCt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),cEe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function HCt({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 m;return h===((m=c.material)==null?void 0:m.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),_t(l!==null,"Primitive - material mapping failed"),_t(c.mode===void 0||c.mode===mt.TRIANGLES||c.mode===mt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=VCt(c);l.positions=Ua(l.positions,aEe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:$Ct,useCartesianPositions:a})),l.normals=Ua(l.normals,aEe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:WCt,useCartesianPositions:!1})),l.texCoords=Ua(l.texCoords,KCt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Ua(l.colors,JCt(p.COLOR_0,d)),f&&(l.uvRegions=Ua(l.uvRegions,XCt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(YCt(QCt(p,c,t,s),d))}}function VCt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return dC(n.length/Ds)}if(t&&e.mode===mt.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 aEe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Ds);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Ds,s=t.subarray(o,o+Ds),u=new Z(Array.from(s));u=n(u,e),i[a*Ds]=u.x,i[a*Ds+1]=u.y,i[a*Ds+2]=u.z}return i}function $Ct(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Bt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function WCt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function KCt(e,t){let r=new Float32Array(t.length*j1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*j1,a=e.subarray(i,i+j1);r[n*j1]=a[0],r[n*j1+1]=a[1]}return r}function JCt(e,t){let r=(e==null?void 0:e.components)||PCt,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 XCt(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 YCt(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 QCt(e,t,r,n){let i=Zwe(e,t,r,n);if(i.length)return i;for(let a=0;a<iEe.length;a++){let o=iEe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function ZCt(e=[],t){let r=[];for(let n of e)r.push(rDt(n));return t&&(r=await eDt(r)),r}async function eDt(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 tDt(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:iDt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function tDt(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 rDt(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:nDt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||OCt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||ICt}},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:Hu();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 nDt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function iDt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function aDt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=oDt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function oDt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=uDt(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:sDt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function sDt(e,t=1){let r=.00015686274509803922,n=new So(0,0,0,1),i=new So(1,1,1,1),a=new So(r,r,r,0),o=new So(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 uDt(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:cDt(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 cDt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.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 lDt(e,t,r,n){let i=fDt(e,n,r);return oEe(t,i),oEe(e,i),i}function fDt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=dDt(i,t,r);n[a.toString()]=o}return n}function pDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function dDt(e,t,r){let n=pDt(t,e),i=(0,uEe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function oEe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function hDt(e,t,r,n){let i=[],o=tEe(e,r)?eEe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=gDt(u,n);if(c){let l=s[u],f=mDt(c,l);i.push(f)}}return i}function mDt(e,t){let r;switch(e){case LCt:case jCt:r=vDt(t);break;case MCt:r=xDt(t);break;case RCt:r=sEe(t);break;default:r=sEe(t)}return r}function gDt(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 vDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return hn(t.buffer,r.buffer)}function xDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return hn(t.buffer,r.buffer,n.buffer)}function sEe(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 hn(t.buffer,a.buffer,n.buffer,...i)}function bDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function yDt(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 g=0;g<f.length;g++)f.set([g],g);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=_Dt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,m["uv-region"]={"i3s-attribute-type":"uv-region"}),Xm({attributes:h,indices:f},D3,{...D3.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function _Dt(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)*Ds;r.fill(n,i,o),n++,i=o+1}return r}function lEe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=ADt(e);switch(i){case Wc:return r=wDt(a,t),r;case Fo:return r=EDt(a,t),r;default:return null}}function wDt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return hC(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return hC(r)}return null}function EDt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return hC(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return hC(n)}return null}function hC(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function ADt(e){var a,o,s,u;let t=[Fo,Wc];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 pEe=Dt(Cs(),1),dEe=require("path");var fEe=()=>({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 hEe(e,t,r){let n={serviceItemId:Hu().replace(/-/gi,""),layerName:e,layers0:t},i=(0,pEe.default)(n,fEe()),a=(0,dEe.join)(r,"SceneServer");await Da(a,JSON.stringify(i))}var kq=16;function mEe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*kq/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 Bq(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=kq),e.mbs[3]*2*kq/r}var TDt=[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],SDt=372,CDt=[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],DDt=372,FDt=[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],kDt=12,Oq=(3+1)*(3+2)/2,BDt=2,tv=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],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=ODt(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(Oq);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)],m=CDt;s!==0&&(m=s===this.options._height-2?FDt:TDt);let g=SDt;s!==0&&(g=s===this.options._height-2?DDt:240);for(let b=0;b<Oq;++b){p[b]=0;for(let y=0;y<kDt;++y)p[b]+=h[y]*m[Oq*y+b];p[b]/=g}}if(!this.options.cubic){let h=(1-i)*u+i*c,m=(1-i)*l+i*f,g=(1-a)*h+a*m,b=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,b}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+BDt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function ODt(e,t){t=Math.abs(t);let r=gEe(e,t);return 2*Math.abs(r)===t?r-=gEe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function gEe(e,t){return e-Math.floor(e/t)*t}var IDt=10,PDt=65535;function Iq(e,t){let r=RDt(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 b=n.value.line;if(b.length)if(b[0]==="#"){let y=b.split(" "),w=y[0],T=y[1];if(w!=="#"||!T)continue;let E=y.length>2?y.slice(2):[];if(T==="Description")u=E.join(" ");else if(T==="DateTime")c=E.join(" ");else if(T==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(y[2],10)}else if(T==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(y[2])}else T===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):T===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=b.split(" ");if(y=y.filter(w=>w!==""),l=parseInt(y[0],10),f=parseInt(y[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!==PDt)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 m=l/360,g=(f-1)/180;return new tv({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*RDt(e){let t=0;do{let r=e.indexOf(IDt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:vEe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:vEe(n)}}}while(t<e.length);return{offset:t,line:""}}function vEe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var jDt="4.4.0-alpha.0";var mC={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:jDt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>Iq(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var rv=Dt(Cs(),1);var xEe={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 MDt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),LDt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),qDt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),NDt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),bEe=()=>({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,rv.default)(e,MDt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,rv.default)(e,xEe)},fullExtent:{path:"fullExtent",transform:e=>(0,rv.default)(e,NDt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,rv.default)(e,LDt())},nodePages:{path:"nodePages",transform:e=>(0,rv.default)(e,qDt())},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 Pq=Dt(Cs(),1),UDt=()=>({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}}}),GDt=()=>({"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}}}),yEe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,Pq.default)(e,UDt())];return e.draco&&t.push((0,Pq.default)({geometryConfig:e},GDt())),t}}});var M1=Dt(Cs(),1),zDt=()=>({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}}),HDt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,M1.default)(r,zDt())}}),VDt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),$Dt=()=>({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,M1.default)(n,VDt()))}}),_Ee=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:WDt},textureDefinitions:{path:"textureDefinitionInfos",transform:KDt}});function WDt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,M1.default)(a,HDt());return n}function KDt(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,M1.default)(a,$Dt())}return n}var JDt=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 EEe(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 XDt(t,e),YDt(t,e),t}function XDt(e,t){var o;let r=QDt(t.parentNode.obb),n=ZDt(t);if(eFt(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 YDt(e,t){var a;let r=wEe(t.mbs),n=wEe(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 wEe(e){return new ra([e[0],e[1],e[2]],e[3])}function QDt(e){let{center:t,halfSize:r,quaternion:n}=e;return new ui().fromCenterHalfSizeQuaternion(t,r,n)}function ZDt(e){let t=e.obb.halfSize,r=JDt,n=Bt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new Z(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 eFt(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=Bt.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var gC=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var AEe=Dt(require("process"),1),tFt=4*1024*1024*1024,nv=class extends gC{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),AEe.default.memoryUsage().rss>tFt&&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 iv="Tile converter does not work in browser, only in node js environment",Zf=".dump.json";var jq=require("path"),Mq=Dt(Cs(),1);var TEe=Dt(Cs(),1),SEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),rFt=()=>({href:{path:"href"}}),nFt=()=>({id:{path:"id"},...rFt(),...SEe()}),Rq=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...SEe(),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,TEe.default)(e,nFt()),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 Fs=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,jq.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Vu(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,jq.join)(this.converter.layers0Path,"nodes",t);return await Qg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Fs.createRootNodeIndexDocument(t);return await new Fs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Fs.createNodeIndexDocument(t,r,n,i,a);return await new Fs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Hu().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,Mq.default)(r,Rq())}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,Mq.default)(u,Rq());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 m=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let b=0;b<g;b++){let y=t.converter.layers0.attributeStorageInfo[b].key;c.attributeData.push({href:`./attributes/${y}/0`})}}return c}};var Lq=async(e,t,r)=>{let n=L1(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await vC(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},qq=async(e,t,r)=>{let n=L1(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 vC(t.contentUrl,e.loader,i)};async function vC(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 za(a),s=await iFt(o),u=new F1(o,s,a),c=new ul(u),l=await $r(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await $r(e,t,r)}function L1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function iFt(e){let t,r=await Xd(e,Qd),n=await Yd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Ss(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=C1(o)}return t}var xC=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 xC({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var aFt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],CEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Va(e.gltfArrayBuffer,Kc,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=oFt(n),a=sFt(n);return{meshTopologyTypes:i,metadataClasses:a}},oFt=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(aFt[i])}return t},sFt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Fo])==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[Wc])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},DEe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var FEe=Dt(require("process"),1);var uFt=.2,av=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||FEe.default.hrtime.bigint,this.threshold=t.threshold||uFt}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?Zg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var c6e=require("util");var sp=require("path"),l6e=Dt(require("process"),1),f6e=Dt(s6e(),1);var u6e={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 fh=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,outputVersion:m="1.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,outputVersion:m};let g=(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`);if(await B1(g))try{let b=await Qg((0,sp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Zf}`),{options:y,tilesConverted:w,textureSetDefinitions:T,attributeMetadataInfo:E,materialDefinitions:k}=b;if(new f6e.default().compile(u6e)(b)&&(0,c6e.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=T,this.attributeMetadataInfo=E,this.materialDefinitions=k,this.restored=!0;return}}catch(b){console.log("Can't open dump file",b)}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=l6e.default.hrtime();await Da((0,sp.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}${Zf}.${r[0]}.${r[1]}`),await Uwe((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await B1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))&&await I1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}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 d6e,OOt=(d6e=ph.default.env)==null?void 0:d6e.IonToken,p6e=64,IOt="3DTILES",POt="3DObject",ROt=1800,jOt="https://",up="phase1-count",yv=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=Ru;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new nv(new fh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new QS,this.nodePages=new Si(Da,p6e,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 fh}async convert(t){if(wr)return console.log(iv),iv;this.conversionStartTime=ph.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:m},this.progresses[up]=new av,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(jOt)!==-1?f8:Ru,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new nv(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await $r(n,mC),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Vu);try{let b=await this._fetchPreloadOptions(),y=i;b.url&&(y=b.url),b.headers&&(this.loadOptions.fetch={headers:b.headers}),this.sourceTileset=await vC(y,this.Loader,this.loadOptions),(this.Loader===Ru||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(b){throw b}finally{await this.writeQueue.finalize(),qi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await xC({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[up].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(L1(t))return await Lq(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[up].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await qq(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 CEe(i);return DEe(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,Go.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,Go.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Go.join)(this.layers0Path,"nodepages"):n;try{await O1(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,eD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=Fy(a.boundingVolume,new mr(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=pC(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[up].startMonitoring();let u=await Fs.createRootNode(s,this);await xC({tile:a,traversalProps:{transform:new mr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[up].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=POt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,ZC.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),yEe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),hEe(r,this.layers0,n);for(let p of this.compressList||[])await uC(p),await I1(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=Jwe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Hu().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Hu().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:p6e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,ZC.default)(o,bEe())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Vu(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Go.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await xq(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await D1(i)}));try{await O1(t)}catch{}}async convertTile(t,r){let n=L1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await Lq(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[up].stepsDone+=1;let f="Calculating time left...",p=this.progresses[up].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[up].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=mEe(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 Fs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Fs(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=Fy(r.boundingVolume,n,null),a=pC(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 qq(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=Fy(r.boundingVolume,n,null),o=pC(a,this.geoidHeightModel),s=lEe(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:m,nodeInPage:g,nodeData:b}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=EEe(b),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}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 Fq({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??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,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`),Si.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Si.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Si.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Si.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Si.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Si.updateVertexCountByNodeId(p,o)),Si.updateNodeAttributeByNodeId(p),s&&Si.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,Go.join)(this.layers0Path,"nodes",r),l=(0,Go.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)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,Go.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Vu(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,Go.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Vu(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,ZC.default)(t,_Ee()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,Go.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Vu(c,u,"sharedResource.json")})}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=Xm({...t.image,data:l},UM,{...UM.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=Xm(t.image.data[0],kM);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}){let u=(0,Go.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Vu(u,t,`${r}.${n}`,c)})}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]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,Go.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Vu(l,c,"0.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,eD.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,eD.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=nEe(t.gltf,this.options.metadataClass)):r&&(n=rEe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await fC({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=ph.default.hrtime(this.conversionStartTime),s=Zg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${IOt}`),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||OOt}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=ph.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(ph.default.hrtime(this.refreshTokenTime)[0]<ROt)return;this.refreshTokenTime=ph.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 q6e=require("path"),CU=Dt(require("process"),1),N6e=Dt(Cs(),1);function wU(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 h6e={UInt8:mt.UNSIGNED_BYTE,UInt16:mt.UNSIGNED_SHORT,Float32:mt.FLOAT,UInt32:mt.UNSIGNED_INT,UInt64:mt.DOUBLE};function _v(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 m6e="String",g6e="Oid32",v6e="Float64",x6e="Int16";function tD(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 wv(e,t=null){return t?`${e}?token=${t}`:e}function b6e(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 y6e(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 rD=new Z([0,0,0]);function LOt(e){switch(e){case"ktx-etc2":case"dds":return Y3;case"ktx2":return Od;case"jpg":case"png":default:return cg}}var qOt="i3s-attribute-type";async function A6e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new mr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=wv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=LOt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===cg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Na(f,[],p,i);a.texture=d}catch{let h=await Va(f,u,p,i);a.texture=h}}else if(u===Y3||u===Od){let p=await $r(f,u,t.textureLoaderOptions);u===Od&&(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=KOt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await NOt(e,a,t,r,n)}async function NOt(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 Va(e,Dd,{draco:{attributeNameEntry:qOt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:b,["feature-index"]:y,["uv-region"]:w}=d.attributes;o={position:h,normal:m,color:g,uv0:b,uvRegion:w,id:y},UOt(o,d);let T=QOt(y);T&&YOt(o,T)}else{let{vertexAttributes:d,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,b=zOt(e,n);u=b.byteOffset,s=b.vertexCount,c=b.featureCount;let{attributes:y,byteOffset:w}=w6e(e,u,d,s,h),{attributes:T}=w6e(e,w,m,c,g);XOt(T),o=GOt(y,T)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=VOt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=WOt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:_6e(o.color),texCoords:o.uv0,uvRegions:_6e(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 UOt(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 GOt(e,t){return{...e,...t}}function _6e(e){return e&&(e.normalized=!0,e)}function zOt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=wU(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=_v(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=_v(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function w6e(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*_v(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=HOt(c,n*u,_v(s));else{let f=wU(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:h6e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*_v(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function HOt(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 VOt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new mr,o=new Z(r[0],r[1],r[2]),s=new Z;return Bt.WGS84.cartographicToCartesian(o,s),Bt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=$Ot(n,i,o),a}function $Ot(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)Bt.WGS84.cartographicToCartesian(n.subarray(o,o+3),rD),n[o]=rD.x,n[o+1]=rD.y,n[o+2]=rD.z;return n}function WOt(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 mr;return i[0]=r,i[5]=n,i}function KOt(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=E6e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=E6e(r.pbrMetallicRoughness.baseColorFactor)),t&&JOt(r,t),r}function E6e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function JOt(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 XOt(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 YOt(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 QOt(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 ZOt="4.4.0-alpha.0",T6e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:ZOt,mimeTypes:["application/octet-stream"],parse:eIt,extensions:["bin"],options:{"i3s-content":{}}};async function eIt(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 A6e(e,s,u,t,r)}var tIt="4.4.0-alpha.0",S6e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:tIt,mimeTypes:["application/json"],parse:rIt,extensions:["json"],options:{i3s:{}}};async function rIt(e,t){return JSON.parse(new TextDecoder().decode(e))}var d_=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=wv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:$r(a,S6e,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:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);u=g,c=m.format||c,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=y6e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return EU({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:xg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=Ry();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 C6e(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=b6e(r,e));let o=e.children||[];return EU({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function EU(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Bt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Bt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new ui().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 D6e(e,t,r){let n=tD(r.url||""),i,a;if(e.nodePages)i=new d_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=wv(`${n}/nodes/root`,o.token);a=await $r(s,ml,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:ml,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var nIt="4.4.0-alpha.0",iIt=/layers\/[0-9]+$/,aIt=/\.slpk$/,oIt=/nodes\/([0-9-]+|root)$/,sIt="504b0304",uIt="PointCloud",ml={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:nIt,mimeTypes:["application/octet-stream"],parse:cIt,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 cIt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},dIt(e)===sIt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=tD(n),o;t.i3s.isTileset==="auto"?o=iIt.test(a)||aIt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=oIt.test(a):s=t.i3s.isTileHeader,o?e=await fIt(e,t,r):s?e=await pIt(e,r):e=await lIt(e,t),e}async function lIt(e,t){return await Va(e,T6e,t)}async function fIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===uIt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await D6e(n,t,r)}async function pIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),C6e(e,t)}function dIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var hIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.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+|summary)$/,extensions:[".json.gz"]},{test:/nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],nD=class extends cl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new cu;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=hIt.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 S1().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 Ss(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 AU(e,t,r){let n=await Xd(e,Qd),i=await Yd(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await bq(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Ss(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=C1(u)}return new nD(e,a,r)}function k6e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?mIt(n,e):null}:{}}function mIt(e,t){switch(e){case m6e:return xIt(t);case g6e:return F6e(t);case v6e:return vIt(t);case x6e:return gIt(t);default:return F6e(t)}}function F6e(e){return new Uint32Array(e,4)}function gIt(e){return new Int16Array(e,4)}function vIt(e){return new Float64Array(e,8)}function xIt(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 bIt="4.4.0-alpha.0";var TU={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:bIt,mimeTypes:["application/binary"],parse:async(e,t)=>k6e(e,t),extensions:["bin"],options:{},binary:!0};function SU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Bt.WGS84.cartographicToCartesian(r,new Z),i=new ui().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var iD=Dt(Cs(),1),yIt=()=>({version:{path:"version",default:"1.0"}}),B6e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,iD.default)(t,B6e()))}}),O6e=()=>({asset:{path:"asset",transform:e=>(0,iD.default)(e,yIt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,iD.default)(e,B6e())}});function I6e(e,t){let r=new Float32Array(e.length),n=wIt(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=_It([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 _It(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function wIt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var EIt=new mr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),P6e=new Z,R6e="KHR_materials_unlit",AIt=1,TIt=1,aD=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?ci.BATCHED_3D_MODEL:ci.GLTF}async convert(t,r=null,n){let i=await this.buildGLTF(t,r,n);return this.tileType===ci.BATCHED_3D_MODEL?a3({gltfEncoded:new Uint8Array(i),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},wq):i}async buildGLTF(t,r,n){let{tileContent:i,textureFormat:a,box:o}=t,{material:s,attributes:u,indices:c,modelMatrix:l}=i,f=new Xt,p=await this._addI3sTextureToGLTF(i,a,f),d=s==null?void 0:s.pbrMetallicRoughness;d&&(d.metallicFactor===void 0||d.metallicFactor===AIt)&&(d.roughnessFactor===void 0||d.roughnessFactor===TIt)&&(f.addObjectExtension(s,R6e,{}),f.addExtension(R6e));let h=this._convertI3sMaterialToGLTFMaterial(s,p),m=f.addMaterial(h),g=u.positions,b=g.value;u.uvRegions&&u.texCoords&&(u.texCoords.value=I6e(u.texCoords.value,u.uvRegions.value));let y=new Z(o),w=Bt.WGS84.cartesianToCartographic(y,new Z);u.positions.value=this._normalizePositions(b,y,w,l),this._createBatchIds(i,r),u.normals&&!this._checkNormals(u.normals.value)&&delete u.normals;let T=c||dC(b.length/g.size),E=f.addMesh({attributes:u,indices:T,material:m,mode:4});this.tileType===ci.GLTF&&this._createMetadataExtensions(f,E,r,n,i);let k=this._generateTransformMatrix(y),B=f.addNode({meshIndex:E,matrix:k}),j=f.addScene({nodeIndices:[B]});return f.setDefaultScene(j),f.createBinaryChunk(),a3(f.gltf,aL,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,i,a){var c;let o=this._createPropertyAttibutes(n,i),s=H3(t,o),u=t.getMesh(r);for(let l of u.primitives)(c=a.attributes._BATCHID)!=null&&c.value&&G3(t,l,a.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let i in t){let a=this._convertAttributeStorageInfoToPropertyAttribute(i,r,t);a&&n.push(a)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let i=n[t],a=r.find(l=>l.name===t);if(!a)return null;let o=a.attributeValues;if(!(o!=null&&o.valueType))return null;let s,u;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",u="UINT32";break;case"int32":s="SCALAR",u="INT32";break;case"uint32":s="SCALAR",u="UINT32";break;case"int16":s="SCALAR",u="INT16";break;case"uint16":s="SCALAR",u="UINT16";break;case"float64":s="SCALAR",u="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let c={name:t,elementType:s,componentType:u,values:[]};return Sj(i)?c.values=Array.from(i):i!==null&&(c.values=i),c}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 Z(r),c=new Z(Array.from(s)).transform(i).add(n);Bt.WGS84.cartographicToCartesian(c,P6e),c=P6e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new mr().translate(t).multiplyLeft(EIt)}_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 j6e=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 h_(t.contentUrl,ml,i,n)};async function M6e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new za(r),i=await AU(n,void 0,r);return new ul(i)}return null}async function h_(e,t,r,n){return n!==null?await $r(e,t,{...r,fetch:n.fetch.bind(n)}):await $r(e,t,r)}async function L6e(e){if(!(e!=null&&e.fileProvider))return 0;let t=new Set,r=zu(e.fileProvider);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var SIt="I3S",Ev=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;fileExt;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 fh,this.progress=new av,this.fileExt=""}async convert(t){var m;if(wr)return console.log(iv),iv;let{inputUrl:r,outputPath:n,outputVersion:i,tilesetName:a,maxDepth:o,egmFilePath:s,inquirer:u,analyze:c}=t;this.conversionStartTime=CU.default.hrtime(),this.options={maxDepth:o,inquirer:u,outputVersion:i},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await $r(s,mC),console.log("Loading egm file completed!"),this.slpkFilesystem=await M6e(r);let l=!0;if((c||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||c)||(this.progress.startMonitoring(),this.sourceTileset=await h_(r,ml,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=Dq(f.mbs)),this.tilesetPath=(0,q6e.join)(`${n}`,`${a}`),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 O1(this.tilesetPath)}catch{}let p={boundingVolume:{box:SU(f.obb,this.geoidHeightModel)},geometricError:Bq(f),children:[],refine:"REPLACE"};await this._addChildren(f,p,1);let d=(0,N6e.default)({asset:{version:i},root:p},O6e());await Da(this.tilesetPath,JSON.stringify(d),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:a}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),qi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await L6e(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}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await j6e(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),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},b=await new aD({outputVersion:this.options.outputVersion}).convert(m,p,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Da(this.tilesetPath,new Uint8Array(b),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,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 h_(a,ml,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=Dq(t.mbs));let r={box:SU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:Bq(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,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(h_(s,TU,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 fC(t),n=CU.default.hrtime(this.conversionStartTime),i=Zg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${SIt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Av=require("path");var CIt="4.4.0-alpha.0",DIt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",oD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await $r(DIt,dq,{}),n=process.cwd();t&&(n=(0,Av.join)(n,t)),await Da(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(Rf[vn.DECODER],"draco",vn.DECODER),await this.installFromUrl(Rf[vn.DECODER_WASM],"draco",vn.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rf[vn.ENCODER],"draco",vn.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Iu.TRANSCODER,"libs"),await this.installFromNpm("textures",Iu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Iu.ENCODER,"libs"),await this.installFromNpm("textures",Iu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new s0,a=(0,Av.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 ta(`https://unpkg.com/@loaders.gl/${t}@${CIt}/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,Av.join)(process.cwd(),"modules",t,"dist",n);await Da(o,a,r)}async installFromUrl(t,r,n){let a=await(await ta(t)).arrayBuffer();if(!a)return;let o=(0,Av.join)(process.cwd(),"modules",r,"dist","libs");await Da(o,a,n)}};function Rs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function U6e(e,t){let r=Rs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function G6e(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 z6e(e,t){let r=Rs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function js(e,t){let r=Rs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var $6e=require("fs/promises"),DU={I3S:"I3S",_3DTILES:"3DTILES"};async function FIt(){let[,,...e]=process.argv;e.length===0&&FU();let t=G6e(e),r=BIt(t);if(r.installDependencies){new oD().install("deps");return}if(r.addHash){let i=H6e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await sD.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,$6e.copyFile)(i.tileset,a);let o=await D1(zu(new za(a)));await vq(a,o,"@specialIndexFileHASH128@");return}let n=H6e(r);await kIt(n)}FIt().catch(e=>{console.log(e),process.exit(1)});function FU(){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 reduces memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent merging similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [(Deprecated since version 4.3.0) Whether the converter generates *.slpk (Scene Layer Package) I3S output files. Note: For versions 4.3.0 and up *.slpk is the default output without this option specified.]"),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("--output-version [3DTiles version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. 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 kIt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case DU.I3S:await new Ev().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:sD.default});break;case DU._3DTILES:await new yv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,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:sD.default});break;default:FU()}}function H6e(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]")},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(DU).includes(i.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:i=>t||Boolean(i)&&Object.values(["1.0","1.1"]).includes(i)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},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 BIt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,V6e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Rs(n,e);break;case"--tileset":t.tileset=U6e(n,e);break;case"--name":t.name=Rs(n,e);break;case"--output":t.output=Rs(n,e);break;case"--output-version":t.outputVersion=Rs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=js(n,e);break;case"--split-nodes":t.mergeMaterials=js(n,e);break;case"--max-depth":t.maxDepth=z6e(n,e);break;case"--add-hash":t.addHash=js(n,e);break;case"--egm":t.egm=Rs(n,e);break;case"--token":t.token=Rs(n,e);break;case"--no-draco":t.draco=js(n,e);break;case"--validate":t.validate=js(n,e);break;case"--install-dependencies":t.installDependencies=js(n,e);break;case"--generate-textures":t.generateTextures=js(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=js(n,e);break;case"--analyze":t.analyze=js(n,e);break;case"--quiet":t.quiet=js(n,e);break;case"--metadata-class":t.metadataClass=Rs(n,e);break;case"--help":FU();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
160
+ `).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Uee={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},s0=class{id;props={...Uee};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Uee,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Nee(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=Gee.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 R5(e,t){return!qi.isSupported()||!ri&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function j5(e,t,r,n,i){let a=e.id,o=qx(e,r),u=qi.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",AMe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function AMe(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 M5(e,t){return!qi.isSupported()||!wr&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Hee(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?zee(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?zee(e,0,t):""}function zee(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 L5(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Hee(e)}"`)}}function ou(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 hn(...e){return gw(e)}function gw(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 Ua(...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 Pp(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 Ga(e,t){return _t(e>=0),_t(t>0),e+(t-1)&~(t-1)}function q5(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+Ga(n.byteLength,4)}function N5(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 u0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Nx(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function vw(e,t,r,n){let i=Ga(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 c0(e,t,r,n){let a=new TextEncoder().encode(r);return t=vw(e,t,a,n),t}async function Rp(e){let t=[];for await(let r of e)t.push(r);return hn(...t)}var TMe="",Vee={};function su(e){for(let t in Vee)if(e.startsWith(t)){let r=Vee[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${TMe}${e}`),e}var SMe="4.4.0-alpha.1",U5={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:SMe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:$ee,parse:async e=>$ee(new TextDecoder().decode(e)),options:{}};function $ee(e){return JSON.parse(e)}function Wee(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Kee(e){return e&&typeof e=="object"&&e.isBuffer}function mc(e){if(Kee(e))return Wee(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 l0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var ga={};Fi(ga,{dirname:()=>FMe,filename:()=>DMe,join:()=>kMe,resolve:()=>BMe});function Jee(){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 DMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function FMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function kMe(...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 BMe(...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=Jee()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Ux)}return r=OMe(r,!n),n?`/${r}`:r.length>0?r:"."}var Ux=47,G5=46;function OMe(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===Ux)break;a=Ux}if(a===Ux){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==G5||r.charCodeAt(r.length-2)!==G5){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Ux;--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===G5&&i!==-1?++i:i=-1}return r}var Gx=new Error("Not implemented"),gc=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 wr?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 Gx}async write(t,r,n){throw Gx}async stat(){throw Gx}async truncate(t){throw Gx}async append(t){throw Gx}async close(){}};var f0=new Error("Not implemented"),zx=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw wr?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 f0}async openWritableFile(t,r,n){throw f0}async readdir(t=".",r){throw f0}async stat(t,r){throw f0}async unlink(t){throw f0}async fetch(t,r){throw f0}};var z5=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var za=class{file;constructor(t,r=!1){this.file=new gc(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 p0=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},Hx=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(p0(t))}async getUint16(t){return this.file.getUint16(p0(t),!0)}async getUint32(t){return this.file.getUint32(p0(t),!0)}async getBigUint64(t){return this.file.getBigUint64(p0(t),!0)}async slice(t,r){return this.file.buffer.slice(p0(t),p0(r))}get length(){return BigInt(this.file.byteLength)}};var vc=Dt(require("fs"),1),jp=class{handle;size;bigsize;url;constructor(t,r,n){t=su(t),this.handle=vc.default.openSync(t,r,n);let i=vc.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)=>{vc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{vc.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)=>{vc.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)=>vc.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 PMe(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);vc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function PMe(e,t,r,n,i){return await new Promise((a,o)=>vc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var _w=Dt(require("fs/promises"),1);var V5=Dt(require("fs"),1),H5=require("stream");var xw=Dt(require("zlib"),1),RMe=e=>e&&e instanceof ArrayBuffer,jMe=e=>e&&e instanceof Buffer;function bw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(xw.default.createBrotliDecompress());case"gzip":return e.pipe(xw.default.createGunzip());case"deflate":return e.pipe(xw.default.createDeflate());default:return e}}async function Xee(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(LMe(i))}),e.on("end",()=>{let i=MMe(t);r(i)})})}function MMe(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 LMe(e){if(RMe(e))return e;if(jMe(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 qMe=e=>typeof e=="boolean",Yee=e=>typeof e=="function",NMe=e=>e!==null&&typeof e=="object",UMe=e=>NMe(e)&&Yee(e.read)&&Yee(e.pipe)&&qMe(e.readable);async function yw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=su(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=V5.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;UMe(a)?o=bw(a,i):typeof a=="string"?o=H5.Readable.from([new TextEncoder().encode(a)]):o=H5.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=GMe(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 GMe(e){let t={};if(!t["content-length"]){let r=V5.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 ww=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await _w.default.readdir(t,r)}async stat(t){let r=await _w.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await _w.default.unlink(t)}async fetch(t,r){return await yw(t,r)}async openReadableFile(t,r="r"){return new jp(t,r)}async openWritableFile(t,r="w",n){return new jp(t,r,n)}};var xc=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 Rp(t)}};var d0=class{crc;constructor(){this.crc=-1}update(t){let r=HMe(),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}},zMe=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 HMe(){return zMe}function Qee(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+=VMe(n[i])}return t}function VMe(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 $5(e,t){switch(t){case"hex":return Zee(e);case"base64":return tte(Zee(e));default:throw new Error(t)}}function ete(e,t){switch(t){case"hex":return e;case"base64":return tte(e);default:throw new Error(t)}}function tte(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Qee(r)||""}function Zee(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Vx=class extends xc{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 d0;n.update(t);let i=n.finalize();return $5(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new d0;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:$5(i,r)})}};var nte=typeof atob=="function"?atob:typeof Buffer=="function"?QMe:ate,$Me=nte("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="),W5=WebAssembly&&nte!==ate?YMe($Me).buffer:!1,uu=ZMe(),K5=240*16*16,ite=Math.floor(K5*16*1.066666667),WMe=268435456-65536,rte="Parameter must be Buffer, ArrayBuffer or Uint8Array",KMe="Parameter exceeds max size of 255.9 Mbytes";W5||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function J5(e){var t,r,n,i,a,o,s,u,c,l;let f=XMe(),p=JMe(),d={},h=new Date().getTime();return d.then=function(y){return s=y,g(),d},d.catch=function(y){return u=y,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:b(new TypeError(rte)):b(new TypeError(rte)),o&&(a=o.length,W5&&a>ite?a>WMe?b(new Error(KMe)):(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(W5,n).then(m)):g(f(o))),d;function m(y){g(p(o,y.instance.exports,r))}function g(y){var w=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(w)&&(s(w,l-h),s=u=null):Boolean(y)&&(c=y)}function b(y){typeof u=="function"&&u(y)}}function JMe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X,Y,he,le,me,pe,Ce=new Date().getTime(),Be=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Oe=0,Le=h.length*8,Je;for(Je=xe(h,p),p[Le>>>5]|=128<<Le%32,p[(Le+64>>>9<<4)+14]=Le,Je=(Le+64>>>9<<4)+15,me=p;Oe<Je;)Je>Oe+ite?(n(J),a(N),s(K),c(Q),t(K5),Oe=Oe+K5*16,J=r(),N=i(),K=o(),Q=u(),Be++):(X=J,Y=N,he=K,le=Q,m=me[Oe+0]>>>0,g=me[Oe+1]>>>0,b=me[Oe+2]>>>0,y=me[Oe+3]>>>0,w=me[Oe+4]>>>0,T=me[Oe+5]>>>0,E=me[Oe+6]>>>0,k=me[Oe+7]>>>0,B=me[Oe+8]>>>0,j=me[Oe+9]>>>0,C=me[Oe+10]>>>0,I=me[Oe+11]>>>0,P=me[Oe+12]>>>0,L=me[Oe+13]>>>0,G=me[Oe+14]>>>0,V=me[Oe+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+m-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+g-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+b+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+y-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+w-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+T+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+E-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+k-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+B+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+j-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+C-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+I-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+P+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+L-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+V+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+g-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+E-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+I+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+m-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+T-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+C+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+V-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+w-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+j+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+y-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+B+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+L-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+b-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+k+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+P-1926607734)+K,J=ie(4,28,J+(N^K^Q)+T-378558)+N,Q=ie(11,21,Q+(J^N^K)+B-2022574463)+J,K=ie(16,16,K+(Q^J^N)+I+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+g-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+w+1272893353)+J,K=ie(16,16,K+(Q^J^N)+k-155497632)+Q,N=ie(23,9,N+(K^Q^J)+C-1094730640)+K,J=ie(4,28,J+(N^K^Q)+L+681279174)+N,Q=ie(11,21,Q+(J^N^K)+m-358537222)+J,K=ie(16,16,K+(Q^J^N)+y-722521979)+Q,N=ie(23,9,N+(K^Q^J)+E+76029189)+K,J=ie(4,28,J+(N^K^Q)+j-640364487)+N,Q=ie(11,21,Q+(J^N^K)+P-421815835)+J,K=ie(16,16,K+(Q^J^N)+V+530742520)+Q,N=ie(23,9,N+(K^Q^J)+b-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+m-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+k+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+T-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+P+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+y-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+C-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+g-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+B+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+V-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+E-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+L+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+w-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+I-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+b+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+j-343485551)+K,Oe=Oe+16,J=J+X>>>0,N=N+Y>>>0,K=K+he>>>0,Q=Q+le>>>0);return uu.endian([J,N,K,Q]);function ie(ge,Ye,Ae){return Ae<<ge|Ae>>>Ye}function xe(ge,Ye){for(var Ae=-1,nt=Math.floor((ge.length-1)/4),bt=0,Dr,re,Ie,$e;nt-8>Ae++;)bt=Ae<<2,Ye[Ae]=ge[bt+0]|ge[bt+1]<<8|ge[bt+2]<<16|ge[bt+3]<<24;for(Ae--;nt>Ae++;)bt=Ae<<2,Dr=typeof ge[bt+0]>"u"?0:ge[bt+0],re=typeof ge[bt+1]>"u"?0:ge[bt+1],Ie=typeof ge[bt+2]>"u"?0:ge[bt+2],$e=typeof ge[bt+3]>"u"?0:ge[bt+3],Ye[Ae]=Dr|re<<8|Ie<<16|$e<<24;return nt+1}};return function(h,m,g,b){var y;return t=m.loops,e=m.loop,r=m.getA,i=m.getB,o=m.getC,u=m.getD,l=m.getX,n=m.setA,a=m.setB,s=m.setC,c=m.setD,f=m.setX,p=g,y=uu.wordsToBytes(d(h)),b&&b.asBytes?y:uu.bytesconvertNumberToHex(y)}}function XMe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,m,g,b,y,w,T,E,k,B,j=new Date().getTime(),C=1732584193,I=-271733879,P=-1732584194,L=271733878,G=t.length*8;B=uu.bytesToWords(t);for(var V=0;V<B.length;V++)B[V]=(B[V]<<8|B[V]>>>24)&16711935|(B[V]<<24|B[V]>>>8)&4278255360;B[G>>>5]|=128<<G%32,B[(G+64>>>9<<4)+14]=G;for(var X=0;X<B.length;X+=16)w=C,T=I,E=P,k=L,n=B[X+0]>>>0,i=B[X+1]>>>0,a=B[X+2]>>>0,o=B[X+3]>>>0,s=B[X+4]>>>0,u=B[X+5]>>>0,c=B[X+6]>>>0,l=B[X+7]>>>0,f=B[X+8]>>>0,p=B[X+9]>>>0,d=B[X+10]>>>0,h=B[X+11]>>>0,m=B[X+12]>>>0,g=B[X+13]>>>0,b=B[X+14]>>>0,y=B[X+15]>>>0,C=Y(7,25,C+(I&P|~I&L)+n-680876936)+I,L=Y(12,20,L+(C&I|~C&P)+i-389564586)+C,P=Y(17,15,P+(L&C|~L&I)+a+606105819)+L,I=Y(22,10,I+(P&L|~P&C)+o-1044525330)+P,C=Y(7,25,C+(I&P|~I&L)+s-176418897)+I,L=Y(12,20,L+(C&I|~C&P)+u+1200080426)+C,P=Y(17,15,P+(L&C|~L&I)+c-1473231341)+L,I=Y(22,10,I+(P&L|~P&C)+l-45705983)+P,C=Y(7,25,C+(I&P|~I&L)+f+1770035416)+I,L=Y(12,20,L+(C&I|~C&P)+p-1958414417)+C,P=Y(17,15,P+(L&C|~L&I)+d-42063)+L,I=Y(22,10,I+(P&L|~P&C)+h-1990404162)+P,C=Y(7,25,C+(I&P|~I&L)+m+1804603682)+I,L=Y(12,20,L+(C&I|~C&P)+g-40341101)+C,P=Y(17,15,P+(L&C|~L&I)+b-1502002290)+L,I=Y(22,10,I+(P&L|~P&C)+y+1236535329)+P,C=Y(5,27,C+(I&L|P&~L)+i-165796510)+I,L=Y(9,23,L+(C&P|I&~P)+c-1069501632)+C,P=Y(14,18,P+(L&I|C&~I)+h+643717713)+L,I=Y(20,12,I+(P&C|L&~C)+n-373897302)+P,C=Y(5,27,C+(I&L|P&~L)+u-701558691)+I,L=Y(9,23,L+(C&P|I&~P)+d+38016083)+C,P=Y(14,18,P+(L&I|C&~I)+y-660478335)+L,I=Y(20,12,I+(P&C|L&~C)+s-405537848)+P,C=Y(5,27,C+(I&L|P&~L)+p+568446438)+I,L=Y(9,23,L+(C&P|I&~P)+b-1019803690)+C,P=Y(14,18,P+(L&I|C&~I)+o-187363961)+L,I=Y(20,12,I+(P&C|L&~C)+f+1163531501)+P,C=Y(5,27,C+(I&L|P&~L)+g-1444681467)+I,L=Y(9,23,L+(C&P|I&~P)+a-51403784)+C,P=Y(14,18,P+(L&I|C&~I)+l+1735328473)+L,I=Y(20,12,I+(P&C|L&~C)+m-1926607734)+P,C=Y(4,28,C+(I^P^L)+u-378558)+I,L=Y(11,21,L+(C^I^P)+f-2022574463)+C,P=Y(16,16,P+(L^C^I)+h+1839030562)+L,I=Y(23,9,I+(P^L^C)+b-35309556)+P,C=Y(4,28,C+(I^P^L)+i-1530992060)+I,L=Y(11,21,L+(C^I^P)+s+1272893353)+C,P=Y(16,16,P+(L^C^I)+l-155497632)+L,I=Y(23,9,I+(P^L^C)+d-1094730640)+P,C=Y(4,28,C+(I^P^L)+g+681279174)+I,L=Y(11,21,L+(C^I^P)+n-358537222)+C,P=Y(16,16,P+(L^C^I)+o-722521979)+L,I=Y(23,9,I+(P^L^C)+c+76029189)+P,C=Y(4,28,C+(I^P^L)+p-640364487)+I,L=Y(11,21,L+(C^I^P)+m-421815835)+C,P=Y(16,16,P+(L^C^I)+y+530742520)+L,I=Y(23,9,I+(P^L^C)+a-995338651)+P,C=Y(6,26,C+(P^(I|~L))+n-198630844)+I,L=Y(10,22,L+(I^(C|~P))+l+1126891415)+C,P=Y(15,17,P+(C^(L|~I))+b-1416354905)+L,I=Y(21,11,I+(L^(P|~C))+u-57434055)+P,C=Y(6,26,C+(P^(I|~L))+m+1700485571)+I,L=Y(10,22,L+(I^(C|~P))+o-1894986606)+C,P=Y(15,17,P+(C^(L|~I))+d-1051523)+L,I=Y(21,11,I+(L^(P|~C))+i-2054922799)+P,C=Y(6,26,C+(P^(I|~L))+f+1873313359)+I,L=Y(10,22,L+(I^(C|~P))+y-30611744)+C,P=Y(15,17,P+(C^(L|~I))+c-1560198380)+L,I=Y(21,11,I+(L^(P|~C))+g+1309151649)+P,C=Y(6,26,C+(P^(I|~L))+s-145523070)+I,L=Y(10,22,L+(I^(C|~P))+h-1120210379)+C,P=Y(15,17,P+(C^(L|~I))+a+718787259)+L,I=Y(21,11,I+(L^(P|~C))+p-343485551)+P,C=C+w>>>0,I=I+T>>>0,P=P+E>>>0,L=L+k>>>0;return uu.endian([C,I,P,L]);function Y(he,le,me){return me<<he|me>>>le}};return function(t,r){var n=uu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:uu.bytesconvertNumberToHex(n);return i}}function YMe(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 QMe(e){return Buffer.from(e,"base64").toString("binary")}function ate(e){return e}function ZMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return uu.rotl(t,8)&16711935|uu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=uu.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 cu=class extends xc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>J5(t).then(a).catch(o));return ete(i,r)}};var $x=Dt(require("crypto"),1),Ew=class extends xc{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(!$x.createHash)throw new Error("crypto.createHash not available");let u=(s=$x.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(!$x.createHash)throw new Error("crypto.createHash not available");let n=(u=$x.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 Mre=require("process");var ote=Dt(require("stream"),1),X5=class{},eLe=ote.Readable||X5;function Q5(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new Y5(r,t)}var Y5=class extends eLe{_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 Qx(){}function En(e){return typeof e=="object"&&e!==null||typeof e=="function"}var Ste=Qx;function er(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var xB=Promise,tLe=Promise.resolve.bind(xB),rLe=Promise.prototype.then,nLe=Promise.reject.bind(xB),iLe=tLe;function Pn(e){return new xB(e)}function tr(e){return Pn(t=>t(e))}function it(e){return nLe(e)}function du(e,t,r){return rLe.call(e,t,r)}function va(e,t,r){du(du(e,t,r),void 0,Ste)}function Z5(e,t){va(e,t)}function uB(e,t){va(e,void 0,t)}function Ac(e,t,r){return du(e,t,r)}function _0(e){du(e,void 0,Ste)}var Gp=e=>{if(typeof queueMicrotask=="function")Gp=queueMicrotask;else{let t=tr(void 0);Gp=r=>du(t,r)}return Gp(e)};function zp(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Sc(e,t,r){try{return tr(zp(e,t,r))}catch(n){return it(n)}}var xa=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]}},Cte=Symbol("[[AbortSteps]]"),Dte=Symbol("[[ErrorSteps]]"),bB=Symbol("[[CancelSteps]]"),yB=Symbol("[[PullSteps]]"),_B=Symbol("[[ReleaseSteps]]");function Fte(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?cB(e):t._state==="closed"?function(r){cB(r),Bte(r)}(e):kte(e,t._storedError)}function wB(e,t){return os(e._ownerReadableStream,t)}function Ec(e){let t=e._ownerReadableStream;t._state==="readable"?EB(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){kte(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[_B](),t._reader=void 0,e._ownerReadableStream=void 0}function Lw(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function cB(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function kte(e,t){cB(e),EB(e,t)}function EB(e,t){e._closedPromise_reject!==void 0&&(_0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Bte(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var ste=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},aLe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function hu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function go(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Ote(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Tc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function lB(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function AB(e){return Number(e)}function ute(e){return e===0?0:e}function TB(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=ute(n),!ste(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return ute(aLe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return ste(n)&&n!==0?n:0}function SB(e,t){if(!zl(e))throw new TypeError(`${t} is not a ReadableStream.`)}function g0(e){return new bc(e)}function Ite(e,t){e._reader._readRequests.push(t)}function CB(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function $w(e){return e._reader._readRequests.length}function Pte(e){let t=e._reader;return t!==void 0&&!!Hl(t)}var bc=class{constructor(t){if(Tc(t,1,"ReadableStreamDefaultReader"),SB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Fte(this,t),this._readRequests=new xa}get closed(){return Hl(this)?this._closedPromise:it(Aw("closed"))}cancel(t=void 0){return Hl(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):wB(this,t):it(Aw("cancel"))}read(){if(!Hl(this))return it(Aw("read"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let t,r,n=Pn((i,a)=>{t=i,r=a});return Zx(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!Hl(this))throw Aw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");Rte(t,r)}(this)}};function Hl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof bc}function Zx(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[yB](t)}function Rte(e,t){let r=e._readRequests;e._readRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Aw(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var eB,tB,rB;function Kx(e){return e.slice()}function jte(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(bc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(bc.prototype.cancel,"cancel"),er(bc.prototype.read,"read"),er(bc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var Hp=e=>(Hp=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,Hp(e)),Vp=e=>(Vp=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Vp(e));function Mte(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return jte(i,0,e,t,n),i}function Jx(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 cte(e){try{let t=e.done,r=e.value;return du(iLe(r),n=>({done:t,value:n}))}catch(t){return it(t)}}var sb=(rB=(eB=Symbol.asyncIterator)!==null&&eB!==void 0?eB:(tB=Symbol.for)===null||tB===void 0?void 0:tB.call(Symbol,"Symbol.asyncIterator"))!==null&&rB!==void 0?rB:"@@asyncIterator";function Lte(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Jx(e,sb))===void 0)return function(i){let a={next(){let o;try{o=qte(i)}catch(s){return it(s)}return cte(o)},return(o){let s;try{let u=Jx(i.iterator,"return");if(u===void 0)return tr({done:!0,value:o});s=zp(u,i.iterator,[o])}catch(u){return it(u)}return En(s)?cte(s):it(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Lte(e,"sync",Jx(e,Symbol.iterator)))}else r=Jx(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=zp(r,e,[]);if(!En(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function qte(e){let t=zp(e.nextMethod,e.iterator,[]);if(!En(t))throw new TypeError("The iterator.next() method must return an object");return t}var qw=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?Ac(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Ac(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Pn((a,o)=>{r=a,n=o});return Zx(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,Gp(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(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=wB(r,t);return Ec(r),Ac(n,()=>({value:t,done:!0}))}return Ec(r),tr({value:t,done:!0})}},Nte={next(){return lte(this)?this._asyncIteratorImpl.next():it(fte("next"))},return(e){return lte(this)?this._asyncIteratorImpl.return(e):it(fte("return"))},[sb](){return this}};function lte(e){if(!En(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof qw}catch{return!1}}function fte(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(Nte,sb,{enumerable:!1});var Ute=Number.isNaN||function(e){return e!=e};function pte(e){let t=Mte(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function fB(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function DB(e,t,r){if(typeof(n=r)!="number"||Ute(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 Wl(e){e._queue=new xa,e._queueTotalSize=0}function Gte(e){return e===DataView}var Vl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!nB(this))throw iB("view");return this._view}respond(t){if(!nB(this))throw iB("respond");if(Tc(t,1,"respond"),t=TB(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Vp(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Pw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!nB(this))throw iB("respondWithNewView");if(Tc(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(Vp(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Vl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),er(Vl.prototype.respond,"respond"),er(Vl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Vl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var fu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Np(this))throw Wx("byobRequest");return hB(this)}get desiredSize(){if(!Np(this))throw Wx("desiredSize");return Qte(this)}close(){if(!Np(this))throw Wx("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`);Xx(this)}enqueue(t){if(!Np(this))throw Wx("enqueue");if(Tc(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`);Iw(this,t)}error(t=void 0){if(!Np(this))throw Wx("error");mo(this,t)}[bB](t){zte(this),Wl(this);let r=this._cancelAlgorithm(t);return Ww(this),r}[yB](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void Yte(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)}Ite(r,t),Kp(this)}[_B](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new xa,this._pendingPullIntos.push(t)}}};function Np(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof fu}function nB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Vl}function Kp(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(Pte(n)&&$w(n)>0||kB(n)&&tre(n)>0||Qte(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Kp(e)),null),r=>(mo(e,r),null))}}function zte(e){FB(e),e._pendingPullIntos=new xa}function pB(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Hte(t);t.readerType==="default"?CB(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 Hte(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Ow(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Vte(e,t,r,n){let i;try{i=Mte(t,r,r+n)}catch(a){throw mo(e,a),a}Ow(e,i,0,n)}function $te(e,t){t.bytesFilled>0&&Vte(e,t.buffer,t.byteOffset,t.bytesFilled),v0(e)}function Wte(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;jte(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,Kte(e,c,t),i-=c}return a}function Kte(e,t,r){r.bytesFilled+=t}function Jte(e){e._queueTotalSize===0&&e._closeRequested?(Ww(e),ub(e._controlledReadableByteStream)):Kp(e)}function FB(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function dB(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Wte(e,t)&&(v0(e),pB(e._controlledReadableByteStream,t))}}function oLe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Gte(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=Hp(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 dte(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(Wte(e,f)){let p=Hte(f);return Jte(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return mo(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),dte(i,n),Kp(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function Xte(e,t){let r=e._pendingPullIntos.peek();FB(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&v0(n);let a=n._controlledReadableByteStream;if(kB(a))for(;tre(a)>0;)pB(a,v0(n))}(e,r):function(n,i,a){if(Kte(0,i,a),a.readerType==="none")return $te(n,a),void dB(n);if(a.bytesFilled<a.minimumFill)return;v0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Vte(n,a.buffer,s-o,o)}a.bytesFilled-=o,pB(n._controlledReadableByteStream,a),dB(n)}(e,t,r),Kp(e)}function v0(e){return e._pendingPullIntos.shift()}function Ww(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Xx(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 mo(e,n),n}}Ww(e),ub(t)}}function Iw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(Vp(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=Hp(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Vp(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");FB(e),s.buffer=Hp(s.buffer),s.readerType==="none"&&$te(e,s)}Pte(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;Yte(s,u._readRequests.shift())}}(e),$w(r)===0?Ow(e,o,i,a):(e._pendingPullIntos.length>0&&v0(e),CB(r,new Uint8Array(o,i,a),!1))):kB(r)?(Ow(e,o,i,a),dB(e)):Ow(e,o,i,a),Kp(e)}function mo(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(zte(e),Wl(e),Ww(e),_re(r,t))}function Yte(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Jte(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function hB(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(Vl.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Qte(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Pw(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=Hp(r.buffer),Xte(e,t)}function Rw(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=Hp(t.buffer),Xte(e,n)}function Zte(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,Wl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new xa,e._readableStreamController=t,va(tr(r()),()=>(t._started=!0,Kp(t),null),s=>(mo(t,s),null))}function iB(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Wx(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function sLe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function ere(e){return new yc(e)}function dte(e,t){e._reader._readIntoRequests.push(t)}function tre(e){return e._reader._readIntoRequests.length}function kB(e){let t=e._reader;return t!==void 0&&!!Up(t)}Object.defineProperties(fu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),er(fu.prototype.close,"close"),er(fu.prototype.enqueue,"enqueue"),er(fu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var yc=class{constructor(t){if(Tc(t,1,"ReadableStreamBYOBReader"),SB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Np(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Fte(this,t),this._readIntoRequests=new xa}get closed(){return Up(this)?this._closedPromise:it(Tw("closed"))}cancel(t=void 0){return Up(this)?this._ownerReadableStream===void 0?it(Lw("cancel")):wB(this,t):it(Tw("cancel"))}read(t,r={}){if(!Up(this))return it(Tw("read"));if(!ArrayBuffer.isView(t))return it(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return it(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return it(new TypeError("view's buffer must have non-zero byteLength"));if(Vp(t.buffer))return it(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return hu(u,c),{min:TB((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return it(u)}let i=n.min;if(i===0)return it(new TypeError("options.min must be greater than 0"));if(function(u){return Gte(u.constructor)}(t)){if(i>t.byteLength)return it(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return it(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return it(Lw("read from"));let a,o,s=Pn((u,c)=>{a=u,o=c});return rre(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!Up(this))throw Tw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");nre(t,r)}(this)}};function Up(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof yc}function rre(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):oLe(i._readableStreamController,t,r,n)}function nre(e,t){let r=e._readIntoRequests;e._readIntoRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Tw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function eb(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Ute(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Nw(e){let{size:t}=e;return t||(()=>1)}function Uw(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:AB(r),size:n===void 0?void 0:uLe(n,`${t} has member 'size' that`)}}function uLe(e,t){return go(e,t),r=>AB(e(r))}function cLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function lLe(e,t,r){return go(e,r),()=>Sc(e,t,[])}function fLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function pLe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function ire(e,t){if(!m0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(yc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(yc.prototype.cancel,"cancel"),er(yc.prototype.read,"read"),er(yc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var dLe=typeof AbortController=="function",_c=class{constructor(t={},r={}){t===void 0?t=null:Ote(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(o,s){hu(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:cLe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:lLe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:fLe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:pLe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(ore(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=Nw(n);(function(o,s,u,c){let l=Object.create($p.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?m=>s.write(m,l):()=>tr(void 0),d=s.close!==void 0?()=>s.close():()=>tr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>tr(void 0),dre(o,l,f,p,d,h,u,c)})(this,i,eb(n,1),a)}get locked(){if(!m0(this))throw Cw("locked");return x0(this)}abort(t=void 0){return m0(this)?x0(this)?it(new TypeError("Cannot abort a stream that already has a writer")):Gw(this,t):it(Cw("abort"))}close(){return m0(this)?x0(this)?it(new TypeError("Cannot close a stream that already has a writer")):mu(this)?it(new TypeError("Cannot close an already-closing stream")):sre(this):it(Cw("close"))}getWriter(){if(!m0(this))throw Cw("getWriter");return are(this)}};function are(e){return new lu(e)}function ore(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new xa,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function m0(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof _c}function x0(e){return e._writer!==void 0}function Gw(e,t){var r;if(e._state==="closed"||e._state==="errored")return tr(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 tr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Pn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||BB(e,t),a}function sre(e){let t=e._state;if(t==="closed"||t==="errored")return it(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Pn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&jB(n),DB(i=e._writableStreamController,pre,0),Kw(i),r}function mB(e,t){e._state!=="writable"?OB(e):BB(e,t)}function BB(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&cre(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&OB(e)}function OB(e){e._state="errored",e._writableStreamController[Dte]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new xa,e._pendingAbortRequest===void 0)return void Sw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Sw(e);va(e._writableStreamController[Cte](r._reason),()=>(r._resolve(),Sw(e),null),n=>(r._reject(n),Sw(e),null))}function mu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function Sw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&RB(t,e._storedError)}function IB(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Jw(n)}(r):jB(r)),e._backpressure=t}Object.defineProperties(_c.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),er(_c.prototype.abort,"abort"),er(_c.prototype.close,"close"),er(_c.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(_c.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var lu=class{constructor(t){if(Tc(t,1,"WritableStreamDefaultWriter"),ire(t,"First parameter"),x0(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")!mu(t)&&t._backpressure?Jw(this):hte(this),jw(this);else if(r==="erroring")gB(this,t._storedError),jw(this);else if(r==="closed")hte(this),jw(n=this),vre(n);else{let i=t._storedError;gB(this,i),gre(this,i)}var n}get closed(){return Mp(this)?this._closedPromise:it(Lp("closed"))}get desiredSize(){if(!Mp(this))throw Lp("desiredSize");if(this._ownerWritableStream===void 0)throw Yx("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:hre(r._writableStreamController)}(this)}get ready(){return Mp(this)?this._readyPromise:it(Lp("ready"))}abort(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Yx("abort")):function(r,n){return Gw(r._ownerWritableStream,n)}(this,t):it(Lp("abort"))}close(){if(!Mp(this))return it(Lp("close"));let t=this._ownerWritableStream;return t===void 0?it(Yx("close")):mu(t)?it(new TypeError("Cannot close an already-closing stream")):ure(this)}releaseLock(){if(!Mp(this))throw Lp("releaseLock");this._ownerWritableStream!==void 0&&lre(this)}write(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Yx("write to")):fre(this,t):it(Lp("write"))}};function Mp(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof lu}function ure(e){return sre(e._ownerWritableStream)}function hLe(e,t){e._closedPromiseState==="pending"?RB(e,t):function(r,n){gre(r,n)}(e,t)}function cre(e,t){e._readyPromiseState==="pending"?xre(e,t):function(r,n){gB(r,n)}(e,t)}function lre(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");cre(e,r),hLe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function fre(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return tb(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return it(Yx("write to"));let a=r._state;if(a==="errored")return it(r._storedError);if(mu(r)||a==="closed")return it(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return it(r._storedError);let o=function(s){return Pn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{DB(s,u,c)}catch(f){return void tb(s,f)}let l=s._controlledWritableStream;!mu(l)&&l._state==="writable"&&IB(l,PB(s)),Kw(s)}(n,t,i),o}Object.defineProperties(lu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),er(lu.prototype.abort,"abort"),er(lu.prototype.close,"close"),er(lu.prototype.releaseLock,"releaseLock"),er(lu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(lu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var pre={},$p=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!aB(this))throw oB("abortReason");return this._abortReason}get signal(){if(!aB(this))throw oB("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!aB(this))throw oB("error");this._controlledWritableStream._state==="writable"&&mre(this,t)}[Cte](t){let r=this._abortAlgorithm(t);return zw(this),r}[Dte](){Wl(this)}};function aB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof $p}function dre(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Wl(t),t._abortReason=void 0,t._abortController=function(){if(dLe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=PB(t);IB(e,u),va(tr(r()),()=>(t._started=!0,Kw(t),null),c=>(t._started=!0,mB(e,c),null))}function zw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function hre(e){return e._strategyHWM-e._queueTotalSize}function Kw(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void OB(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===pre?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),fB(n);let a=n._closeAlgorithm();zw(n),va(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&&vre(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),mB(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);va(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(fB(n),!mu(a)&&s==="writable"){let u=PB(n);IB(a,u)}return Kw(n),null},s=>(a._state==="writable"&&zw(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,mB(u,c)}(a,s),null))}(e,r)}function tb(e,t){e._controlledWritableStream._state==="writable"&&mre(e,t)}function PB(e){return hre(e)<=0}function mre(e,t){let r=e._controlledWritableStream;zw(e),BB(r,t)}function Cw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function oB(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Lp(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Yx(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function jw(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function gre(e,t){jw(e),RB(e,t)}function RB(e,t){e._closedPromise_reject!==void 0&&(_0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function vre(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 Jw(e){e._readyPromise=Pn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function gB(e,t){Jw(e),xre(e,t)}function hte(e){Jw(e),jB(e)}function xre(e,t){e._readyPromise_reject!==void 0&&(_0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function jB(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($p.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($p.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var mte=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,mLe=function(){let e=mte==null?void 0:mte.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 er(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function gte(e,t,r,n,i,a){let o=g0(e),s=are(t);e._disturbed=!0;let u=!1,c=tr(void 0);return Pn((l,f)=>{let p;if(a!==void 0){if(p=()=>{let E=a.reason!==void 0?a.reason:new mLe("Aborted","AbortError"),k=[];n||k.push(()=>t._state==="writable"?Gw(t,E):tr(void 0)),i||k.push(()=>e._state==="readable"?os(e,E):tr(void 0)),y(()=>Promise.all(k.map(B=>B())),!0,E)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,m;if(b(e,o._closedPromise,E=>(n?w(!0,E):y(()=>Gw(t,E),!0,E),null)),b(t,s._closedPromise,E=>(i?w(!0,E):y(()=>os(e,E),!0,E),null)),d=e,h=o._closedPromise,m=()=>(r?w():y(()=>function(E){let k=E._ownerWritableStream,B=k._state;return mu(k)||B==="closed"?tr(void 0):B==="errored"?it(k._storedError):ure(E)}(s)),null),d._state==="closed"?m():Z5(h,m),mu(t)||t._state==="closed"){let E=new TypeError("the destination writable stream closed before all data could be piped to it");i?w(!0,E):y(()=>os(e,E),!0,E)}function g(){let E=c;return du(c,()=>E!==c?g():void 0)}function b(E,k,B){E._state==="errored"?B(E._storedError):uB(k,B)}function y(E,k,B){function j(){return va(E(),()=>T(k,B),C=>T(!0,C)),null}u||(u=!0,t._state!=="writable"||mu(t)?j():Z5(g(),j))}function w(E,k){u||(u=!0,t._state!=="writable"||mu(t)?T(E,k):Z5(g(),()=>T(E,k)))}function T(E,k){return lre(s),Ec(o),a!==void 0&&a.removeEventListener("abort",p),E?f(k):l(void 0),null}_0(Pn((E,k)=>{(function B(j){j?E():du(u?tr(!0):du(s._readyPromise,()=>Pn((C,I)=>{Zx(o,{_chunkSteps:P=>{c=du(fre(s,P),void 0,Qx),C(!1)},_closeSteps:()=>C(!0),_errorSteps:I})})),B,k)})(!1)}))})}var pu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Dw(this))throw Fw("desiredSize");return MB(this)}close(){if(!Dw(this))throw Fw("close");if(!y0(this))throw new TypeError("The stream is not in a state that permits close");Wp(this)}enqueue(t=void 0){if(!Dw(this))throw Fw("enqueue");if(!y0(this))throw new TypeError("The stream is not in a state that permits enqueue");return b0(this,t)}error(t=void 0){if(!Dw(this))throw Fw("error");ss(this,t)}[bB](t){Wl(this);let r=this._cancelAlgorithm(t);return Hw(this),r}[yB](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=fB(this);this._closeRequested&&this._queue.length===0?(Hw(this),ub(r)):rb(this),t._chunkSteps(n)}else Ite(r,t),rb(this)}[_B](){}};function Dw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof pu}function rb(e){if(bre(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,rb(e)),null),t=>(ss(e,t),null))}}function bre(e){let t=e._controlledReadableStream;return!y0(e)||!e._started?!1:$l(t)&&$w(t)>0?!0:MB(e)>0}function Hw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Wp(e){if(!y0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Hw(e),ub(t))}function b0(e,t){if(!y0(e))return;let r=e._controlledReadableStream;if($l(r)&&$w(r)>0)CB(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw ss(e,i),i}try{DB(e,t,n)}catch(i){throw ss(e,i),i}}rb(e)}function ss(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Wl(e),Hw(e),_re(r,t))}function MB(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 yre(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Wl(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,va(tr(r()),()=>(t._started=!0,rb(t),null),s=>(ss(t,s),null))}function Fw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function gLe(e,t){return Np(e._readableStreamController)?function(r){let n,i,a,o,s,u=g0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Pn(B=>{s=B});function m(B){uB(B._closedPromise,j=>(B!==u||(mo(a._readableStreamController,j),mo(o._readableStreamController,j),p&&d||s(void 0)),null))}function g(){Up(u)&&(Ec(u),u=g0(r),m(u)),Zx(u,{_chunkSteps:B=>{Gp(()=>{l=!1,f=!1;let j=B,C=B;if(!p&&!d)try{C=pte(B)}catch(I){return mo(a._readableStreamController,I),mo(o._readableStreamController,I),void s(os(r,I))}p||Iw(a._readableStreamController,j),d||Iw(o._readableStreamController,C),c=!1,l?y():f&&w()})},_closeSteps:()=>{c=!1,p||Xx(a._readableStreamController),d||Xx(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&Pw(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Pw(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function b(B,j){Hl(u)&&(Ec(u),u=ere(r),m(u));let C=j?o:a,I=j?a:o;rre(u,B,1,{_chunkSteps:P=>{Gp(()=>{l=!1,f=!1;let L=j?d:p;if(j?p:d)L||Rw(C._readableStreamController,P);else{let G;try{G=pte(P)}catch(V){return mo(C._readableStreamController,V),mo(I._readableStreamController,V),void s(os(r,V))}L||Rw(C._readableStreamController,P),Iw(I._readableStreamController,G)}c=!1,l?y():f&&w()})},_closeSteps:P=>{c=!1;let L=j?d:p,G=j?p:d;L||Xx(C._readableStreamController),G||Xx(I._readableStreamController),P!==void 0&&(L||Rw(C._readableStreamController,P),!G&&I._readableStreamController._pendingPullIntos.length>0&&Pw(I._readableStreamController,0)),L&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function y(){if(c)return l=!0,tr(void 0);c=!0;let B=hB(a._readableStreamController);return B===null?g():b(B._view,!1),tr(void 0)}function w(){if(c)return f=!0,tr(void 0);c=!0;let B=hB(o._readableStreamController);return B===null?g():b(B._view,!0),tr(void 0)}function T(B){if(p=!0,n=B,d){let j=Kx([n,i]),C=os(r,j);s(C)}return h}function E(B){if(d=!0,i=B,p){let j=Kx([n,i]),C=os(r,j);s(C)}return h}function k(){}return a=xte(k,y,T),o=xte(k,w,E),m(u),[a,o]}(e):function(r,n){let i=g0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Pn(w=>{c=w});function m(){return l?(f=!0,tr(void 0)):(l=!0,Zx(i,{_chunkSteps:w=>{Gp(()=>{f=!1;let T=w,E=w;p||b0(s._readableStreamController,T),d||b0(u._readableStreamController,E),l=!1,f&&m()})},_closeSteps:()=>{l=!1,p||Wp(s._readableStreamController),d||Wp(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),tr(void 0))}function g(w){if(p=!0,a=w,d){let T=Kx([a,o]),E=os(r,T);c(E)}return h}function b(w){if(d=!0,o=w,p){let T=Kx([a,o]),E=os(r,T);c(E)}return h}function y(){}return s=nb(y,m,g),u=nb(y,m,b),uB(i._closedPromise,w=>(ss(s._readableStreamController,w),ss(u._readableStreamController,w),p&&d||c(void 0),null)),[s,u]}(e)}function vLe(e){return En(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return it(s)}return Ac(o,s=>{if(!En(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Wp(n._readableStreamController);else{let u=s.value;b0(n._readableStreamController,u)}})}function a(o){try{return tr(r.cancel(o))}catch(s){return it(s)}}return n=nb(Qx,i,a,0),n}(e.getReader()):function(r){let n,i=Lte(r,"async");function a(){let s;try{s=qte(i)}catch(u){return it(u)}return Ac(tr(s),u=>{if(!En(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)Wp(n._readableStreamController);else{let c=u.value;b0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Jx(u,"return")}catch(l){return it(l)}return c===void 0?tr(void 0):Ac(Sc(c,u,[s]),l=>{if(!En(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=nb(Qx,a,o,0),n}(e);var t}function xLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function bLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function yLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function _Le(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function vte(e,t){hu(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(pu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),er(pu.prototype.close,"close"),er(pu.prototype.enqueue,"enqueue"),er(pu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var $n=class{constructor(t={},r={}){t===void 0?t=null:Ote(t,"First parameter");let n=Uw(r,"Second parameter"),i=function(a,o){hu(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:TB(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:xLe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:bLe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:yLe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:_Le(p,`${o} has member 'type' that`)}}(t,"First parameter");if(LB(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(fu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>tr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>tr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Zte(a,u,c,l,f,s,p)})(this,i,eb(n,0))}else{let a=Nw(n);(function(o,s,u,c){let l=Object.create(pu.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>tr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>tr(void 0),yre(o,l,f,p,d,u,c)})(this,i,eb(n,1),a)}}get locked(){if(!zl(this))throw qp("locked");return $l(this)}cancel(t=void 0){return zl(this)?$l(this)?it(new TypeError("Cannot cancel a stream that already has a reader")):os(this,t):it(qp("cancel"))}getReader(t=void 0){if(!zl(this))throw qp("getReader");return function(r,n){hu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:sLe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?g0(this):ere(this)}pipeThrough(t,r={}){if(!zl(this))throw qp("pipeThrough");Tc(t,1,"pipeThrough");let n=function(a,o){hu(a,o);let s=a==null?void 0:a.readable;lB(s,"readable","ReadableWritablePair"),SB(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return lB(u,"writable","ReadableWritablePair"),ire(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=vte(r,"Second parameter");if($l(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(x0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return _0(gte(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!zl(this))return it(qp("pipeTo"));if(t===void 0)return it("Parameter 1 is required in 'pipeTo'.");if(!m0(t))return it(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=vte(r,"Second parameter")}catch(i){return it(i)}return $l(this)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):x0(t)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):gte(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!zl(this))throw qp("tee");return Kx(gLe(this))}values(t=void 0){if(!zl(this))throw qp("values");return function(r,n){let i=g0(r),a=new qw(i,n),o=Object.create(Nte);return o._asyncIteratorImpl=a,o}(this,function(r,n){hu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[sb](t){return this.values(t)}static from(t){return vLe(t)}};function nb(e,t,r,n=1,i=()=>1){let a=Object.create($n.prototype);return LB(a),yre(a,Object.create(pu.prototype),e,t,r,n,i),a}function xte(e,t,r){let n=Object.create($n.prototype);return LB(n),Zte(n,Object.create(fu.prototype),e,t,r,0,void 0),n}function LB(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function zl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof $n}function $l(e){return e._reader!==void 0}function os(e,t){if(e._disturbed=!0,e._state==="closed")return tr(void 0);if(e._state==="errored")return it(e._storedError);ub(e);let r=e._reader;if(r!==void 0&&Up(r)){let n=r._readIntoRequests;r._readIntoRequests=new xa,n.forEach(i=>{i._closeSteps(void 0)})}return Ac(e._readableStreamController[bB](t),Qx)}function ub(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Bte(t),Hl(t))){let r=t._readRequests;t._readRequests=new xa,r.forEach(n=>{n._closeSteps()})}}function _re(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(EB(r,t),Hl(r)?Rte(r,t):nre(r,t))}function qp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function wre(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark;return lB(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:AB(r)}}Object.defineProperties($n,{from:{enumerable:!0}}),Object.defineProperties($n.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),er($n.from,"from"),er($n.prototype.cancel,"cancel"),er($n.prototype.getReader,"getReader"),er($n.prototype.pipeThrough,"pipeThrough"),er($n.prototype.pipeTo,"pipeTo"),er($n.prototype.tee,"tee"),er($n.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($n.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty($n.prototype,sb,{value:$n.prototype.values,writable:!0,configurable:!0});var Ere=e=>e.byteLength;er(Ere,"size");var ib=class{constructor(t){Tc(t,1,"ByteLengthQueuingStrategy"),t=wre(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!yte(this))throw bte("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yte(this))throw bte("size");return Ere}};function bte(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function yte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ib}Object.defineProperties(ib.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ib.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var Are=()=>1;er(Are,"size");var ab=class{constructor(t){Tc(t,1,"CountQueuingStrategy"),t=wre(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!wte(this))throw _te("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!wte(this))throw _te("size");return Are}};function _te(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function wte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ab}function wLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function ELe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function ALe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function TLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}Object.defineProperties(ab.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ab.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var ob=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=Uw(r,"Second parameter"),a=Uw(n,"Third parameter"),o=function(p,d){hu(p,d);let h=p==null?void 0:p.cancel,m=p==null?void 0:p.flush,g=p==null?void 0:p.readableType,b=p==null?void 0:p.start,y=p==null?void 0:p.transform,w=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:TLe(h,p,`${d} has member 'cancel' that`),flush:m===void 0?void 0:wLe(m,p,`${d} has member 'flush' that`),readableType:g,start:b===void 0?void 0:ELe(b,p,`${d} has member 'start' that`),transform:y===void 0?void 0:ALe(y,p,`${d} has member 'transform' that`),writableType:w}}(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=eb(a,0),u=Nw(a),c=eb(i,1),l=Nw(i),f;(function(p,d,h,m,g,b){function y(){return d}function w(j){return function(C,I){let P=C._transformStreamController;return C._backpressure?Ac(C._backpressureChangePromise,()=>{let L=C._writable;if(L._state==="erroring")throw L._storedError;return Ate(P,I)}):Ate(P,I)}(p,j)}function T(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._readable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),va(G,()=>(L._state==="errored"?h0(P,L._storedError):(ss(L._readableStreamController,I),sB(P)),null),V=>(ss(L._readableStreamController,V),h0(P,V),null)),P._finishPromise}(p,j)}function E(){return function(j){let C=j._transformStreamController;if(C._finishPromise!==void 0)return C._finishPromise;let I=j._readable;C._finishPromise=Pn((L,G)=>{C._finishPromise_resolve=L,C._finishPromise_reject=G});let P=C._flushAlgorithm();return Mw(C),va(P,()=>(I._state==="errored"?h0(C,I._storedError):(Wp(I._readableStreamController),sB(C)),null),L=>(ss(I._readableStreamController,L),h0(C,L),null)),C._finishPromise}(p)}function k(){return function(j){return Vw(j,!1),j._backpressureChangePromise}(p)}function B(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._writable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Mw(P),va(G,()=>(L._state==="errored"?h0(P,L._storedError):(tb(L._writableStreamController,I),vB(C),sB(P)),null),V=>(tb(L._writableStreamController,V),vB(C),h0(P,V),null)),P._finishPromise}(p,j)}p._writable=function(j,C,I,P,L=1,G=()=>1){let V=Object.create(_c.prototype);return ore(V),dre(V,Object.create($p.prototype),j,C,I,P,L,G),V}(y,w,E,T,h,m),p._readable=nb(y,k,B,g,b),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,Vw(p,!0),p._transformStreamController=void 0})(this,Pn(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(wc.prototype),m,g,b;m=d.transform!==void 0?y=>d.transform(y,h):y=>{try{return Sre(h,y),tr(void 0)}catch(w){return it(w)}},g=d.flush!==void 0?()=>d.flush(h):()=>tr(void 0),b=d.cancel!==void 0?y=>d.cancel(y):()=>tr(void 0),function(y,w,T,E,k){w._controlledTransformStream=y,y._transformStreamController=w,w._transformAlgorithm=T,w._flushAlgorithm=E,w._cancelAlgorithm=k,w._finishPromise=void 0,w._finishPromise_resolve=void 0,w._finishPromise_reject=void 0}(p,h,m,g,b)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!Ete(this))throw Tte("readable");return this._readable}get writable(){if(!Ete(this))throw Tte("writable");return this._writable}};function Ete(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof ob}function Tre(e,t){ss(e._readable._readableStreamController,t),qB(e,t)}function qB(e,t){Mw(e._transformStreamController),tb(e._writable._writableStreamController,t),vB(e)}function vB(e){e._backpressure&&Vw(e,!1)}function Vw(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Pn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(ob.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ob.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var wc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!kw(this))throw Bw("desiredSize");return MB(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!kw(this))throw Bw("enqueue");Sre(this,t)}error(t=void 0){if(!kw(this))throw Bw("error");var r;r=t,Tre(this._controlledTransformStream,r)}terminate(){if(!kw(this))throw Bw("terminate");(function(t){let r=t._controlledTransformStream;Wp(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");qB(r,n)})(this)}};function kw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof wc}function Mw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function Sre(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{b0(n,t)}catch(a){throw qB(r,a),r._readable._storedError}(function(a){return!bre(a)})(n)!==r._backpressure&&Vw(r,!0)}function Ate(e,t){return Ac(e._transformAlgorithm(t),void 0,r=>{throw Tre(e._controlledTransformStream,r),r})}function Bw(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function sB(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&&(_0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function Tte(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(wc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),er(wc.prototype.enqueue,"enqueue"),er(wc.prototype.error,"error"),er(wc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(wc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Xw=class extends $n{};var Yw=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 Qw=class extends Xw{_chunks;constructor(t){super(new Yw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Jp=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 Jp)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=SLe(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 Jp([],{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 Qw(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 SLe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function CLe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Jp),globalThis.Blob}var DLe=CLe();var Zw=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,${Fv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var eE=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 Cre(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=Zw),typeof File>"u"&&!globalThis.File&&(globalThis.File=eE),global}var FLe=Cre();var NB=Dt(require("module"),1),Dre=Dt(require("path"),1),rE=Dt(require("fs"),1);async function Fre(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():rE.default.readFileSync(e).buffer}async function kre(e){return e.startsWith("http")?await(await fetch(e)).text():rE.default.readFileSync(e,"utf8")}async function Bre(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return tE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=rE.default.readFileSync(e,"utf8");return tE(t)}function tE(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=NB.default._nodeModulePaths(Dre.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new NB.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 us=class{map;constructor(t){this.map={},t instanceof us?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=cb(t),r=Ore(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[cb(t)]}get(t){return t=cb(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(cb(t))}set(t,r){this.map[cb(t)]=Ore(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)}),UB(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),UB(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),UB(t)}*[Symbol.iterator](){yield*this.entries()}};function cb(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 Ore(e){return typeof e!="string"&&(e=String(e)),e}function UB(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function GB(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var HB=Dt(require("stream"),1),kLe=e=>typeof e=="boolean",Ire=e=>typeof e=="function",BLe=e=>e!==null&&typeof e=="object",zB=e=>BLe(e)&&Ire(e.read)&&Ire(e.pipe)&&kLe(e.readable),Cc=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 us((r==null?void 0:r.headers)||{}),zB(t)?this._body=bw(t,n):typeof t=="string"?this._body=HB.Readable.from([new TextEncoder().encode(t)]):this._body=HB.Readable.from([t||new ArrayBuffer(0)])}get body(){return GB(!this.bodyUsed),GB(zB(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return zB(this._body)?await Xee(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 Rre=Dt(require("http"),1),jre=Dt(require("https"),1);var OLe=e=>e&&e instanceof ArrayBuffer,ILe=e=>e&&e instanceof Buffer;function Pre(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:PLe(r),mimeType:n}}function PLe(e){if(OLe(e))return e;if(ILe(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 VB=e=>e.startsWith("data:"),RLe=e=>e.startsWith("http:")||e.startsWith("https:");async function lb(e,t){try{if(globalThis.fetch!==lb&&(RLe(e)||VB(e)))return await fetch(e,t);if(VB(e)){let{arrayBuffer:c,mimeType:l}=Pre(e);return new Cc(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 jLe(n,t),a=NLe(e,i,r),{status:o,statusText:s}=qLe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=MLe(e,a.get("location"));return await lb(c,t)}return new Cc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Cc(null,{status:400,statusText:String(r),url:e})}}async function jLe(e,t){return await new Promise((r,n)=>{let i=LLe(e,t),a=e.startsWith("https:")?jre.default.request(i,o=>r(o)):Rre.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function MLe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function LLe(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 qLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function NLe(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=ULe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new us(n)}function ULe(e){return VB(e)?e.length-5:null}var GLe=parseInt(Mre.versions.node.split(".")[0]);BU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=Q5;globalThis.loaders.NodeFile=jp;globalThis.loaders.NodeFileSystem=ww;globalThis.loaders.fetchNode=yw;globalThis.loaders.NodeHash=Ew;globalThis.TextEncoder||(globalThis.TextEncoder=Dv);globalThis.TextDecoder||(globalThis.TextDecoder=cp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Fv&&(globalThis.atob=Fv);!("btoa"in globalThis)&&hD&&(globalThis.btoa=hD);globalThis.loaders.encodeImageNode=jH;globalThis.loaders.parseImageNode=_5;globalThis.loaders.imageFormatsNode=y5;globalThis._parseImageNode=_5;globalThis._imageFormatsNode=y5;globalThis.loaders.readFileAsArrayBuffer=Fre;globalThis.loaders.readFileAsText=kre;globalThis.loaders.requireFromFile=Bre;globalThis.loaders.requireFromString=tE;GLe<18&&(!("Headers"in globalThis)&&us&&(globalThis.Headers=us),!("Response"in globalThis)&&Cc&&(globalThis.Response=Cc),!("fetch"in globalThis)&&lb&&(globalThis.fetch=lb));var V6e=require("path"),sD=Dt(rge(),1);var Zr={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var QS=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:Zr.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 Zr.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case Zr.STRING_TYPE:this.setupStringAttribute(i);break;case Zr.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case Zr.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case Zr.OBJECT_ID_TYPE:return"esriFieldTypeOID";case Zr.STRING_TYPE:return"esriFieldTypeString";case Zr.SHORT_INT_TYPE:return"esriFieldTypeInteger";case Zr.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 Yxt=e=>typeof e=="boolean",vy=e=>typeof e=="function",wd=e=>e!==null&&typeof e=="object",gj=e=>wd(e)&&e.constructor==={}.constructor;var nge=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",ige=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Eo=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Ao=e=>typeof Blob<"u"&&e instanceof Blob,age=e=>e&&typeof e=="object"&&e.isBuffer;var Qxt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||wd(e)&&vy(e.tee)&&vy(e.cancel)&&vy(e.getReader);var Zxt=e=>wd(e)&&vy(e.read)&&vy(e.pipe)&&Yxt(e.readable),ZS=e=>Qxt(e)||Zxt(e);var e3=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var ebt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,tbt=/^([-\w.]+\/[-\w.+]+)/;function vj(e,t){return e.toLowerCase()===t.toLowerCase()}function oge(e){let t=tbt.exec(e);return t?t[1]:e}function xj(e){let t=ebt.exec(e);return t?t[1]:""}var sge=/\?.*/;function uge(e){let t=e.match(sge);return t&&t[0]}function Km(e){return e.replace(sge,"")}function cge(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Ed(e){return Eo(e)?e.url:Ao(e)?e.name||"":typeof e=="string"?e:""}function xy(e){if(Eo(e)){let t=e,r=t.headers.get("content-type")||"",n=Km(t.url);return oge(r)||xj(n)}return Ao(e)?e.type||"":typeof e=="string"?xj(e):""}function lge(e){return Eo(e)?e.headers["content-length"]||-1:Ao(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function t3(e){if(Eo(e))return e;let t={},r=lge(e);r>=0&&(t["content-length"]=String(r));let n=Ed(e),i=xy(e);i&&(t["content-type"]=i);let a=await nbt(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 fge(e){if(!e.ok)throw await rbt(e)}async function rbt(e){let t=cge(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=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new e3(r,n)}async function nbt(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,${ibt(r)}`}return null}function ibt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function abt(e){return!obt(e)&&!sbt(e)}function obt(e){return e.startsWith("http:")||e.startsWith("https:")}function sbt(e){return e.startsWith("data:")}async function ta(e,t){var r,n;if(typeof e=="string"){let i=su(e);return abt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await t3(e)}var bj=new nu({id:"loaders.gl"}),r3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},n3=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 yj={fetch:null,mimeType:void 0,nothrow:!1,log:new n3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:wr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},pge={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 _j(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Jm(){let e=_j();return e.globalOptions=e.globalOptions||{...yj},e.globalOptions}function mge(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],ubt(e,r),lbt(t,e,n)}function ubt(e,t){dge(e,null,yj,pge,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]||{};dge(n,r.id,i,a,t)}}function dge(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&wd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)bj.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=cbt(s,i);bj.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function cbt(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 lbt(e,t,r){let i={...e.options||{}};return fbt(i,r),i.log===null&&(i.log=new r3),hge(i,Jm()),hge(i,t),i}function hge(e,t){for(let r in t)if(r in t){let n=t[r];gj(n)&&gj(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function fbt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function by(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function wj(e){_t(e,"null loader"),_t(by(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 pbt=()=>{let e=_j();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function gge(){return pbt()}var dbt=/\.([^.]+)$/;async function bge(e,t=[],r,n){if(!yge(e))return null;let i=vge(e,t,{...r,nothrow:!0},n);if(i)return i;if(Ao(e)&&(e=await e.slice(0,10).arrayBuffer(),i=vge(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(_ge(e));return i}function vge(e,t=[],r,n){if(!yge(e))return null;if(t&&!Array.isArray(t))return wj(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...gge()),mbt(i);let a=hbt(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(_ge(e));return a}function hbt(e,t,r,n){let i=Ed(e),a=xy(e),o=Km(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=Ej(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||gbt(t,o),u=u||(s?`matched url ${o}`:""),s=s||Ej(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||xbt(t,e),u=u||(s?`matched initial data ${wge(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||Ej(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&T5.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function yge(e){return!(e instanceof Response&&e.status===204)}function _ge(e){let t=Ed(e),r=xy(e),n="No valid loader found (";n+=t?`${ga.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?wge(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function mbt(e){for(let t of e)wj(t)}function gbt(e,t){let r=t&&dbt.exec(t),n=r&&r[1];return n?vbt(e,n):null}function vbt(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 Ej(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>vj(t,i))||vj(t,`application/x.${n.id}`))return n;return null}function xbt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(bbt(t,r))return r}else if(ArrayBuffer.isView(t)){if(xge(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&xge(t,0,r))return r;return null}function bbt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function xge(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>ybt(e,t,r,i))}function ybt(e,t,r,n){if(n instanceof ArrayBuffer)return ou(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=Aj(e,t,n.length);return n===i;default:return!1}}function wge(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Aj(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Aj(e,0,t):""}function Aj(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*Ege(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*Age(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*Tge(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 Tj(e,t){return wr?_bt(e,t):wbt(e,t)}async function*_bt(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 mc(o)}}catch{r.releaseLock()}}async function*wbt(e,t){for await(let r of e)yield mc(r)}function Sge(e,t){if(typeof e=="string")return Ege(e,t);if(e instanceof ArrayBuffer)return Age(e,t);if(Ao(e))return Tge(e,t);if(ZS(e))return Tj(e,t);if(Eo(e))return Tj(e.body,t);throw new Error("makeIterator")}var Cge="Cannot convert supplied data type";function Ebt(e,t,r){if(t.text&&typeof e=="string")return e;if(age(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(Cge)}async function Dge(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return Ebt(e,t,r);if(Ao(e)&&(e=await t3(e)),Eo(e)){let i=e;return await fge(i),t.binary?await i.arrayBuffer():await i.text()}if(ZS(e)&&(e=Sge(e,r)),nge(e)||ige(e))return Rp(e);throw new Error(Cge)}function i3(e,t){let r=Jm(),n=e||r;return typeof n.fetch=="function"?n.fetch:wd(n.fetch)?i=>ta(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:ta}function Fge(e,t,r){if(r)return r;let n={fetch:i3(t,e),...e};if(n.url){let i=Km(n.url);n.baseUrl=i,n.queryString=uge(n.url),n.filename=ga.filename(i),n.baseUrl=ga.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function kge(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 Va(e,t,r,n){t&&!Array.isArray(t)&&!by(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Ed(e),o=kge(t,n),s=await bge(e,o,r);return s?(r=mge(r,s,o,i),n=Fge({url:i,_parse:Va,loaders:o},r,n||null),await Abt(s,e,r,n)):null}async function Abt(e,t,r,n){if(I5(e),r=S5(e.options,r),Eo(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 Dge(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(R5(e,r))return await j5(e,t,r,n,Va);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw gi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Bge(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 Sj(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Cj(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 Dj(e,t,r){let n=Bge(t.value),i=r||Oge(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Oge(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 $r(e,t,r,n){let i,a;!Array.isArray(t)&&!by(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=i3(a),s=e;return typeof e=="string"&&(s=await o(e)),Ao(e)&&(s=await o(e)),Array.isArray(i)?await Va(s,i,a):await Va(s,i,a)}async function Xm(e,t,r){let i={...Jm(),...r};return t.encodeURLtoURL?Tbt(t,e,i):M5(t,i)?await O5(t,e,i):await t.encode(e,i)}function a3(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 Pge(e,t,r,n){if(e=su(e),t=su(t),wr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function Tbt(e,t,r){if(wr)throw new Error(`Writer ${e.name} not supported in browser`);let n=Ige("input");await new gc(n,"w").write(t);let a=Ige("output"),o=await Pge(n,a,e,r);return(await ta(o)).arrayBuffer()}function Ige(e){return`/tmp/${e}`}var Sbt=1/Math.PI*180,Cbt=1/180*Math.PI,Dbt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Dbt}};var Pr=globalThis.mathgl.config;function Fj(e,{precision:t=Pr.precision}={}){return e=Fbt(e),`${parseFloat(e.toPrecision(t))}`}function To(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kj(e){return Rge(e)}function Bj(e){return Gc(e)}function Rge(e,t){return Ij(e,r=>r*Cbt,t)}function Gc(e,t){return Ij(e,r=>r*Sbt,t)}function Oj(e,t,r){return Ij(e,n=>Math.max(t,Math.min(r,n)))}function $a(e,t,r){let n=Pr.EPSILON;r&&(Pr.EPSILON=r);try{if(e===t)return!0;if(To(e)&&To(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!$a(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)<=Pr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Pr.EPSILON=n}}function Fbt(e){return Math.round(e/Pr.EPSILON)*Pr.EPSILON}function kbt(e){return e.clone?e.clone():new Array(e.length)}function Ij(e,t,r){if(To(e)){let n=e;r=r||kbt(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 kf=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:To(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Pr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Fj(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(!$a(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(Pr.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 Bbt(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 Ut(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Bf(e,t,r=""){if(Pr.debug&&!Bbt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function oi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Of=class extends kf{get x(){return this[0]}set x(t){this[0]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(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 Ut(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Ut(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 oi(t>=0&&t<this.ELEMENTS,"index is out of range"),Ut(this[t])}setComponent(t,r){return oi(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 en=typeof Float32Array<"u"?Float32Array:Array,yy=Math.random;function Ym(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var CZt=Math.PI/180;function Obt(){let e=new en(2);return en!=Float32Array&&(e[0]=0,e[1]=0),e}function jge(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 Mge(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 o3(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 s3(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 DZt=function(){let e=Obt();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 u3(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 c3(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 Lge(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 qge(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 l3(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 Ad=class extends Of{constructor(t=0,r=0){super(2),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(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 Pr.debug&&(Ut(t.x),Ut(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 s3(this,this,t),this.check()}transformAsVector(t){return u3(this,this,t),this.check()}transformByMatrix3(t){return o3(this,this,t),this.check()}transformByMatrix2x3(t){return Mge(this,this,t),this.check()}transformByMatrix2(t){return jge(this,this,t),this.check()}};var Zm={};Fi(Zm,{add:()=>Mbt,angle:()=>Lj,bezier:()=>Xbt,ceil:()=>Lbt,clone:()=>Pbt,copy:()=>Rbt,create:()=>f3,cross:()=>Td,dist:()=>ayt,distance:()=>Hge,div:()=>iyt,divide:()=>zge,dot:()=>_y,equals:()=>tyt,exactEquals:()=>eyt,floor:()=>qbt,forEach:()=>uyt,fromValues:()=>p3,hermite:()=>Jbt,inverse:()=>$bt,len:()=>qj,length:()=>Nge,lerp:()=>Wbt,max:()=>Ubt,min:()=>Nbt,mul:()=>nyt,multiply:()=>Gge,negate:()=>Vbt,normalize:()=>Pj,random:()=>Ybt,rotateX:()=>Rj,rotateY:()=>jj,rotateZ:()=>Mj,round:()=>Gbt,scale:()=>zbt,scaleAndAdd:()=>Hbt,set:()=>jbt,slerp:()=>Kbt,sqrDist:()=>oyt,sqrLen:()=>syt,squaredDistance:()=>Vge,squaredLength:()=>$ge,str:()=>Zbt,sub:()=>ryt,subtract:()=>Uge,transformMat3:()=>wy,transformMat4:()=>Sd,transformQuat:()=>Ey,zero:()=>Qbt});function f3(){let e=new en(3);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Pbt(e){let t=new en(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Nge(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function p3(e,t,r){let n=new en(3);return n[0]=e,n[1]=t,n[2]=r,n}function Rbt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function jbt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Mbt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Uge(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Gge(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function zge(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Lbt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function qbt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Nbt(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 Ubt(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 Gbt(e,t){return e[0]=Ym(t[0]),e[1]=Ym(t[1]),e[2]=Ym(t[2]),e}function zbt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Hbt(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 Hge(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 Vge(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 $ge(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function Vbt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function $bt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function Pj(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 _y(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Td(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 Wbt(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 Kbt(e,t,r,n){let i=Math.acos(Math.min(Math.max(_y(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 Jbt(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 Xbt(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 Ybt(e,t){t=t===void 0?1:t;let r=yy()*2*Math.PI,n=yy()*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 Sd(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 wy(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 Ey(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,m=n*f-i*l,g=o*2;return l*=g,f*=g,p*=g,d*=2,h*=2,m*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+m,e}function Rj(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 jj(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 Mj(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 Lj(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&&_y(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function Qbt(e){return e[0]=0,e[1]=0,e[2]=0,e}function Zbt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function eyt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function tyt(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 ryt=Uge,nyt=Gge,iyt=zge,ayt=Hge,oyt=Vge,qj=Nge,syt=$ge,uyt=function(){let e=f3();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 Nj=[0,0,0],d3,Z=class extends Of{static get ZERO(){return d3||(d3=new Z(0,0,0),Object.freeze(d3)),d3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&To(t)?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(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]=Ut(t)}angle(t){return Lj(this,t)}cross(t){return Td(this,this,t),this.check()}rotateX({radians:t,origin:r=Nj}){return Rj(this,this,r,t),this.check()}rotateY({radians:t,origin:r=Nj}){return jj(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=Nj}){return Mj(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Sd(this,this,t),this.check()}transformAsVector(t){return c3(this,this,t),this.check()}transformByMatrix3(t){return wy(this,this,t),this.check()}transformByMatrix2(t){return Lge(this,this,t),this.check()}transformByQuaternion(t){return Ey(this,this,t),this.check()}};var h3,So=class extends Of{static get ZERO(){return h3||(h3=new So(0,0,0,0),Object.freeze(h3)),h3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(n),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(t.z),Ut(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]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}transform(t){return Sd(this,this,t),this.check()}transformByMatrix3(t){return l3(this,this,t),this.check()}transformByMatrix2(t){return qge(this,this,t),this.check()}transformByQuaternion(t){return Ey(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var eg=class extends kf{toString(){let t="[";if(Pr.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]=Ut(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 Wge(){let e=new en(9);return en!=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 Kge(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 Jge(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 Xge(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 Uj(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],m=r[3],g=r[4],b=r[5],y=r[6],w=r[7],T=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]=m*n+g*o+b*c,e[4]=m*i+g*s+b*l,e[5]=m*a+g*u+b*f,e[6]=y*n+w*o+T*c,e[7]=y*i+w*s+T*l,e[8]=y*a+w*u+T*f,e}function Yge(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 Qge(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 Gj(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 Zge(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,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[3]=l-b,e[6]=p+g,e[1]=l+b,e[4]=1-c-h,e[7]=d-m,e[2]=p-g,e[5]=d+m,e[8]=1-c-f,e}var zj;(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"})(zj||(zj={}));var cyt=Object.freeze([1,0,0,0,1,0,0,0,1]),rr=class extends eg{static get IDENTITY(){return fyt()}static get ZERO(){return lyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return zj}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(cyt)}fromObject(t){return this.check()}fromQuaternion(t){return Zge(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 Xge(this)}transpose(){return Kge(this,this),this.check()}invert(){return Jge(this,this),this.check()}multiplyLeft(t){return Uj(this,t,this),this.check()}multiplyRight(t){return Uj(this,this,t),this.check()}rotate(t){return Qge(this,this,t),this.check()}scale(t){return Array.isArray(t)?Gj(this,this,t):Gj(this,this,[t,t]),this.check()}translate(t){return Yge(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=o3(r||[-0,-0],t,this);break;case 3:n=wy(r||[-0,-0,-0],t,this);break;case 4:n=l3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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)}},m3,g3=null;function lyt(){return m3||(m3=new rr([0,0,0,0,0,0,0,0,0]),Object.freeze(m3)),m3}function fyt(){return g3||(g3=new rr,Object.freeze(g3)),g3}var v3={};Fi(v3,{add:()=>jyt,adjoint:()=>vyt,clone:()=>dyt,copy:()=>hyt,create:()=>pyt,decompose:()=>Cyt,determinant:()=>$j,equals:()=>Nyt,exactEquals:()=>qyt,frob:()=>Ryt,fromQuat:()=>Zj,fromQuat2:()=>Ayt,fromRotation:()=>yyt,fromRotationTranslation:()=>rve,fromRotationTranslationScale:()=>Dyt,fromRotationTranslationScaleOrigin:()=>Fyt,fromScaling:()=>byt,fromTranslation:()=>xyt,fromValues:()=>myt,fromXRotation:()=>_yt,fromYRotation:()=>wyt,fromZRotation:()=>Eyt,frustum:()=>eM,getRotation:()=>Syt,getScaling:()=>nve,getTranslation:()=>Tyt,identity:()=>tve,invert:()=>Vj,lookAt:()=>nM,mul:()=>Uyt,multiply:()=>Ay,multiplyScalar:()=>Myt,multiplyScalarAndAdd:()=>Lyt,ortho:()=>rM,orthoNO:()=>ave,orthoZO:()=>Oyt,perspective:()=>tM,perspectiveFromFieldOfView:()=>Byt,perspectiveNO:()=>ive,perspectiveZO:()=>kyt,rotate:()=>Jj,rotateX:()=>Xj,rotateY:()=>Yj,rotateZ:()=>Qj,scale:()=>Kj,set:()=>gyt,str:()=>Pyt,sub:()=>Gyt,subtract:()=>ove,targetTo:()=>Iyt,translate:()=>Wj,transpose:()=>Hj});function pyt(){let e=new en(16);return en!=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 dyt(e){let t=new en(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 hyt(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 myt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m){let g=new en(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=i,g[5]=a,g[6]=o,g[7]=s,g[8]=u,g[9]=c,g[10]=l,g[11]=f,g[12]=p,g[13]=d,g[14]=h,g[15]=m,g}function gyt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){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]=m,e[15]=g,e}function tve(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 Hj(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 Vj(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],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g,V=y*G-w*L+T*P+E*I-k*C+B*j;return V?(V=1/V,e[0]=(s*G-u*L+c*P)*V,e[1]=(i*L-n*G-a*P)*V,e[2]=(m*B-g*k+b*E)*V,e[3]=(p*k-f*B-d*E)*V,e[4]=(u*I-o*G-c*C)*V,e[5]=(r*G-i*I+a*C)*V,e[6]=(g*T-h*B-b*w)*V,e[7]=(l*B-p*T+d*w)*V,e[8]=(o*L-s*I+c*j)*V,e[9]=(n*I-r*L-a*j)*V,e[10]=(h*k-m*T+b*y)*V,e[11]=(f*T-l*k-d*y)*V,e[12]=(s*C-o*P-u*j)*V,e[13]=(r*P-n*C+i*j)*V,e[14]=(m*w-h*E-g*y)*V,e[15]=(l*E-f*w+p*y)*V,e):null}function vyt(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],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g;return e[0]=s*G-u*L+c*P,e[1]=i*L-n*G-a*P,e[2]=m*B-g*k+b*E,e[3]=p*k-f*B-d*E,e[4]=u*I-o*G-c*C,e[5]=r*G-i*I+a*C,e[6]=g*T-h*B-b*w,e[7]=l*B-p*T+d*w,e[8]=o*L-s*I+c*j,e[9]=n*I-r*L-a*j,e[10]=h*k-m*T+b*y,e[11]=f*T-l*k-d*y,e[12]=s*C-o*P-u*j,e[13]=r*P-n*C+i*j,e[14]=m*w-h*E-g*y,e[15]=l*E-f*w+p*y,e}function $j(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],m=e[14],g=e[15],b=t*o-r*a,y=t*s-n*a,w=r*s-n*o,T=c*h-l*d,E=c*m-f*d,k=l*m-f*h,B=t*k-r*E+n*T,j=a*k-o*E+s*T,C=c*w-l*y+f*b,I=d*w-h*y+m*b;return u*B-i*j+g*C-p*I}function Ay(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],m=t[12],g=t[13],b=t[14],y=t[15],w=r[0],T=r[1],E=r[2],k=r[3];return e[0]=w*n+T*s+E*f+k*m,e[1]=w*i+T*u+E*p+k*g,e[2]=w*a+T*c+E*d+k*b,e[3]=w*o+T*l+E*h+k*y,w=r[4],T=r[5],E=r[6],k=r[7],e[4]=w*n+T*s+E*f+k*m,e[5]=w*i+T*u+E*p+k*g,e[6]=w*a+T*c+E*d+k*b,e[7]=w*o+T*l+E*h+k*y,w=r[8],T=r[9],E=r[10],k=r[11],e[8]=w*n+T*s+E*f+k*m,e[9]=w*i+T*u+E*p+k*g,e[10]=w*a+T*c+E*d+k*b,e[11]=w*o+T*l+E*h+k*y,w=r[12],T=r[13],E=r[14],k=r[15],e[12]=w*n+T*s+E*f+k*m,e[13]=w*i+T*u+E*p+k*g,e[14]=w*a+T*c+E*d+k*b,e[15]=w*o+T*l+E*h+k*y,e}function Wj(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,m,g,b;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],m=t[9],g=t[10],b=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]=m,e[10]=g,e[11]=b,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=u*n+p*i+g*a+t[14],e[15]=c*n+d*i+b*a+t[15]),e}function Kj(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 Jj(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,m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X;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],m=t[4],g=t[5],b=t[6],y=t[7],w=t[8],T=t[9],E=t[10],k=t[11],B=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,I=i*a*l-o*c,P=a*a*l+u,L=o*a*l+i*c,G=i*o*l+a*c,V=a*o*l-i*c,X=o*o*l+u,e[0]=f*B+m*j+w*C,e[1]=p*B+g*j+T*C,e[2]=d*B+b*j+E*C,e[3]=h*B+y*j+k*C,e[4]=f*I+m*P+w*L,e[5]=p*I+g*P+T*L,e[6]=d*I+b*P+E*L,e[7]=h*I+y*P+k*L,e[8]=f*G+m*V+w*X,e[9]=p*G+g*V+T*X,e[10]=d*G+b*V+E*X,e[11]=h*G+y*V+k*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Xj(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 Yj(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 Qj(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 xyt(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 byt(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 yyt(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 _yt(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 wyt(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 Eyt(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 rve(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,m=a*c,g=o*s,b=o*u,y=o*c;return e[0]=1-(d+m),e[1]=f+y,e[2]=p-b,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=p+b,e[9]=h-g,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 Ayt(e,t){let r=new en(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),rve(e,t,r),e}function Tyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function nve(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 Syt(e,t){let r=new en(3);nve(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,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-d)/g,e[1]=(p-u)/g,e[2]=(s-c)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/g,e[0]=.25*g,e[1]=(s+c)/g,e[2]=(p+u)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/g,e[0]=(s+c)/g,e[1]=.25*g,e[2]=(f+d)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/g,e[0]=(p+u)/g,e[1]=(f+d)/g,e[2]=.25*g),e}function Cyt(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],m=1/r[2],g=i*d,b=a*h,y=o*m,w=s*d,T=u*h,E=c*m,k=l*d,B=f*h,j=p*m,C=g+T+j,I=0;return C>0?(I=Math.sqrt(C+1)*2,e[3]=.25*I,e[0]=(E-B)/I,e[1]=(k-y)/I,e[2]=(b-w)/I):g>T&&g>j?(I=Math.sqrt(1+g-T-j)*2,e[3]=(E-B)/I,e[0]=.25*I,e[1]=(b+w)/I,e[2]=(k+y)/I):T>j?(I=Math.sqrt(1+T-g-j)*2,e[3]=(k-y)/I,e[0]=(b+w)/I,e[1]=.25*I,e[2]=(E+B)/I):(I=Math.sqrt(1+j-g-T)*2,e[3]=(b-w)/I,e[0]=(k+y)/I,e[1]=(E+B)/I,e[2]=.25*I),e}function Dyt(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,m=a*l,g=o*l,b=s*u,y=s*c,w=s*l,T=n[0],E=n[1],k=n[2];return e[0]=(1-(h+g))*T,e[1]=(p+w)*T,e[2]=(d-y)*T,e[3]=0,e[4]=(p-w)*E,e[5]=(1-(f+g))*E,e[6]=(m+b)*E,e[7]=0,e[8]=(d+y)*k,e[9]=(m-b)*k,e[10]=(1-(f+h))*k,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Fyt(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,m=o*l,g=o*f,b=s*f,y=u*c,w=u*l,T=u*f,E=n[0],k=n[1],B=n[2],j=i[0],C=i[1],I=i[2],P=(1-(m+b))*E,L=(d+T)*E,G=(h-w)*E,V=(d-T)*k,X=(1-(p+b))*k,Y=(g+y)*k,he=(h+w)*B,le=(g-y)*B,me=(1-(p+m))*B;return e[0]=P,e[1]=L,e[2]=G,e[3]=0,e[4]=V,e[5]=X,e[6]=Y,e[7]=0,e[8]=he,e[9]=le,e[10]=me,e[11]=0,e[12]=r[0]+j-(P*j+V*C+he*I),e[13]=r[1]+C-(L*j+X*C+le*I),e[14]=r[2]+I-(G*j+Y*C+me*I),e[15]=1,e}function Zj(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,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[1]=l+b,e[2]=p-g,e[3]=0,e[4]=l-b,e[5]=1-c-h,e[6]=d+m,e[7]=0,e[8]=p+g,e[9]=d-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function eM(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 ive(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 tM=ive;function kyt(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 Byt(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 ave(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 rM=ave;function Oyt(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 nM(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],m=t[1],g=t[2],b=n[0],y=n[1],w=n[2],T=r[0],E=r[1],k=r[2];return Math.abs(h-T)<1e-6&&Math.abs(m-E)<1e-6&&Math.abs(g-k)<1e-6?tve(e):(f=h-T,p=m-E,d=g-k,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=y*d-w*p,o=w*f-b*d,s=b*p-y*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*m+s*g),e[13]=-(u*h+c*m+l*g),e[14]=-(f*h+p*m+d*g),e[15]=1,e)}function Iyt(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,m=c*l-s*p,g=s*f-u*l;return d=h*h+m*m+g*g,d>0&&(d=1/Math.sqrt(d),h*=d,m*=d,g*=d),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-p*m,e[5]=p*h-l*g,e[6]=l*m-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 Pyt(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 Ryt(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 jyt(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 ove(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 Myt(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 Lyt(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 qyt(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 Nyt(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],m=e[13],g=e[14],b=e[15],y=t[0],w=t[1],T=t[2],E=t[3],k=t[4],B=t[5],j=t[6],C=t[7],I=t[8],P=t[9],L=t[10],G=t[11],V=t[12],X=t[13],Y=t[14],he=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-w)<=1e-6*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-E)<=1e-6*Math.max(1,Math.abs(a),Math.abs(E))&&Math.abs(o-k)<=1e-6*Math.max(1,Math.abs(o),Math.abs(k))&&Math.abs(s-B)<=1e-6*Math.max(1,Math.abs(s),Math.abs(B))&&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-I)<=1e-6*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(p-L)<=1e-6*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-V)<=1e-6*Math.max(1,Math.abs(h),Math.abs(V))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-Y)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Y))&&Math.abs(b-he)<=1e-6*Math.max(1,Math.abs(b),Math.abs(he))}var Uyt=Ay,Gyt=ove;function zyt(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function sve(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 uve(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 cve(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 lve(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function fve(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 pve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function dve(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 hve(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 mve(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 aer=function(){let e=zyt();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 oM;(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"})(oM||(oM={}));var Hyt=45*Math.PI/180,Vyt=1,iM=.1,aM=500,$yt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),mr=class extends eg{static get IDENTITY(){return Kyt()}static get ZERO(){return Wyt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return oM}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,m,g){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]=m,this[15]=g,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){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]=m,this[12]=i,this[13]=u,this[14]=p,this[15]=g,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($yt)}fromObject(t){return this.check()}fromQuaternion(t){return Zj(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=iM,far:s=aM}=t;return s===1/0?Jyt(this,r,n,i,a,o):eM(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 nM(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=iM,far:s=aM}=t;return rM(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=Hyt,aspect:n=Vyt,focalDistance:i=1,near:a=iM,far:o=aM}=t;vve(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 vve(r),tM(this,r,n,i,a),this.check()}determinant(){return $j(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 Hj(this,this),this.check()}invert(){return Vj(this,this),this.check()}multiplyLeft(t){return Ay(this,t,this),this.check()}multiplyRight(t){return Ay(this,this,t),this.check()}rotateX(t){return Xj(this,this,t),this.check()}rotateY(t){return Yj(this,this,t),this.check()}rotateZ(t){return Qj(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Jj(this,this,t,r),this.check()}scale(t){return Kj(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Wj(this,this,t),this.check()}transform(t,r){return t.length===4?(r=hve(r||[-0,-0,-0,-0],t,this),Bf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=s3(r||[-0,-0],t,this);break;case 3:i=Sd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=u3(r||[-0,-0],t,this);break;case 3:n=c3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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])}},x3,b3;function Wyt(){return x3||(x3=new mr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(x3)),x3}function Kyt(){return b3||(b3=new mr,Object.freeze(b3)),b3}function vve(e){if(e>Math.PI*2)throw Error("expected radians")}function Jyt(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 xve(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function bve(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function sM(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 uM(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 yve(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 _ve(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 wve(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 Eve(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 Ty(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,m,g;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),g=Math.sin(d),h=Math.sin((1-n)*d)/g,m=Math.sin(n*d)/g):(h=1-n,m=n),e[0]=h*i+m*u,e[1]=h*a+m*c,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function Ave(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 Tve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function cM(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 Sve=sve;var Cve=uve,Dve=pve,Fve=dve,kve=cve;var Bve=lve;var Ove=fve;var Ive=function(){let e=f3(),t=p3(1,0,0),r=p3(0,1,0);return function(n,i,a){let o=_y(i,a);return o<-.999999?(Td(e,t,i),qj(e)<1e-6&&Td(e,r,i),Pj(e,e),sM(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Td(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Ove(n,n))}}(),ber=function(){let e=xve(),t=xve();return function(r,n,i,a,o,s){return Ty(e,n,o,s),Ty(t,i,a,s),Ty(r,e,t,2*s*(1-s)),r}}(),yer=function(){let e=Wge();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],Ove(t,cM(t,e))}}();var Yyt=[0,0,0,1],Co=class extends kf{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 cM(this,t),this.check()}fromAxisRotation(t,r){return sM(this,t,r),this.check()}identity(){return bve(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]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(t)}get z(){return this[2]}set z(t){this[2]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}len(){return kve(this)}lengthSquared(){return Bve(this)}dot(t){return Dve(this,t)}rotationTo(t,r){return Ive(this,t,r),this.check()}add(t){return Sve(this,this,t),this.check()}calculateW(){return Eve(this,this),this.check()}conjugate(){return Tve(this,this),this.check()}invert(){return Ave(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Fve(this,t,r,n),this.check())}multiplyRight(t){return uM(this,this,t),this.check()}multiplyLeft(t){return uM(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 yve(this,this,t),this.check()}rotateY(t){return _ve(this,this,t),this.check()}rotateZ(t){return wve(this,this,t),this.check()}scale(t){return Cve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=Yyt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return Ty(this,i,a,o),this.check()}transformVector4(t,r=new So){return mve(r,t,this),Bf(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 vs={};Fi(vs,{EPSILON1:()=>Qyt,EPSILON10:()=>s1t,EPSILON11:()=>u1t,EPSILON12:()=>c1t,EPSILON13:()=>l1t,EPSILON14:()=>f1t,EPSILON15:()=>p1t,EPSILON16:()=>d1t,EPSILON17:()=>h1t,EPSILON18:()=>m1t,EPSILON19:()=>g1t,EPSILON2:()=>Zyt,EPSILON20:()=>v1t,EPSILON3:()=>e1t,EPSILON4:()=>t1t,EPSILON5:()=>r1t,EPSILON6:()=>n1t,EPSILON7:()=>i1t,EPSILON8:()=>a1t,EPSILON9:()=>o1t,PI_OVER_FOUR:()=>b1t,PI_OVER_SIX:()=>y1t,PI_OVER_TWO:()=>x1t,TWO_PI:()=>_1t});var Qyt=.1,Zyt=.01,e1t=.001,t1t=1e-4,r1t=1e-5,n1t=1e-6,i1t=1e-7,a1t=1e-8,o1t=1e-9,s1t=1e-10,u1t=1e-11,c1t=1e-12,l1t=1e-13,f1t=1e-14,p1t=1e-15,d1t=1e-16,h1t=1e-17,m1t=1e-18,g1t=1e-19,v1t=1e-20,x1t=Math.PI/2,b1t=Math.PI/4,y1t=Math.PI/6,_1t=Math.PI*2;var zc=6356752314245179e-9,w1t={radii:[6378137,6378137,zc],radiiSquared:[6378137*6378137,6378137*6378137,zc*zc],oneOverRadii:[1/6378137,1/6378137,1/zc],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(zc*zc)],maximumRadius:Math.max(6378137,6378137,zc),centerToleranceSquared:.1};function y3(e){return e}var Xer=new Z;function E1t(e,t=[],r=y3){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 Pve(e,t=[]){return E1t(e,t,Pr._cartographicRadians?y3:kj)}function A1t(e,t,r=y3){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 Rve(e,t){return A1t(e,t,Pr._cartographicRadians?y3:Bj)}var jve=1e-14,T1t=new Z,Mve={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"}},lM={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Sy={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},S1t=new Z,C1t=new Z,D1t=new Z;function fM(e,t,r,n,i,a){let o=Mve[t]&&Mve[t][r];oi(o&&(!n||n===o));let s,u,c,l=T1t.copy(i);if($a(l.x,0,jve)&&$a(l.y,0,jve)){let p=Math.sign(l.z);s=S1t.fromArray(lM[t]),t!=="east"&&t!=="west"&&s.scale(p),u=C1t.fromArray(lM[r]),r!=="east"&&r!=="west"&&u.scale(p),c=D1t.fromArray(lM[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Sy;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:m,west:g,south:b}=Sy;m.copy(p).scale(-1),g.copy(d).scale(-1),b.copy(h).scale(-1),s=Sy[t],u=Sy[r],c=Sy[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 tg=new Z,F1t=new Z,k1t=new Z;function Lve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;tg.from(e);let o=tg.x,s=tg.y,u=tg.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,m=p+d+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let b=F1t;if(b.copy(e).scale(g),m<a)return b.to(r);let y=i.x,w=i.y,T=i.z,E=k1t;E.set(b.x*y*2,b.y*w*2,b.z*T*2);let k=(1-g)*tg.len()/(.5*E.len()),B=0,j,C,I,P;do{k-=B,j=1/(1+k*y),C=1/(1+k*w),I=1/(1+k*T);let L=j*j,G=C*C,V=I*I,X=L*j,Y=G*C,he=V*I;P=p*L+d*G+h*V-1;let me=-2*(p*X*y+d*Y*w+h*he*T);B=P/me}while(Math.abs(P)>vs.EPSILON12);return tg.scale([j,C,I]).to(r)}var _3=new Z,qve=new Z,I1t=new Z,xs=new Z,P1t=new Z,w3=new Z,Bt=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=vs.EPSILON1,oi(t>=0),oi(r>=0),oi(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(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=qve,i=I1t,[,,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]){w3.from(t);let n=this.scaleToGeodeticSurface(w3,xs);if(!n)return;let i=this.geodeticSurfaceNormal(n,qve),a=P1t;a.copy(w3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Zm.dot(a,w3))*Zm.length(a);return Rve([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new mr){return fM(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new mr){return fM(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return _3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Pve(t),i=n[0],a=n[1],o=Math.cos(a);return _3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),_3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return _3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Lve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){xs.from(t);let n=xs.x,i=xs.y,a=xs.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return xs.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){oi($a(this.radii.x,this.radii.y,vs.EPSILON15)),oi(this.radii.z>0),xs.from(t);let i=xs.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return xs.set(0,0,i).to(n)}};Bt.WGS84=new Bt(6378137,6378137,zc);var si={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var mtr=new Z,gtr=new Z;var Cy=new Z,Nve=new Z,ra=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Cy.from(r),this.center=new Z().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 ra(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=Cy.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 Nve.copy(o).scale((-n+u)/s).add(r),this.center.copy(Nve),this.radius=u,this}expand(t){let n=Cy.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=v3.getScaling(Cy,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=Cy.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?si.OUTSIDE:a<n?si.INTERSECTING:si.INSIDE}};var R1t=new Z,j1t=new Z,E3=new Z,A3=new Z,T3=new Z,M1t=new Z,L1t=new Z,Hc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},ui=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new rr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Z(t).normalize(),a=new Z(r).normalize(),o=new Z(n).normalize();return new Co().fromMatrix3(new rr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Co(n),a=new rr().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 Z().from(t),this.halfAxes=a,this}clone(){return new ui(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ra){let r=this.halfAxes,n=r.getColumn(0,E3),i=r.getColumn(1,A3),a=r.getColumn(2,T3),o=R1t.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[Hc.COLUMN0ROW0]+o*i[Hc.COLUMN0ROW1]+s*i[Hc.COLUMN0ROW2])+Math.abs(a*i[Hc.COLUMN1ROW0]+o*i[Hc.COLUMN1ROW1]+s*i[Hc.COLUMN1ROW2])+Math.abs(a*i[Hc.COLUMN2ROW0]+o*i[Hc.COLUMN2ROW1]+s*i[Hc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?si.OUTSIDE:c>=u?si.INSIDE:si.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=j1t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,E3),a=n.getColumn(1,A3),o=n.getColumn(2,T3),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,E3),c=s.getColumn(1,A3),l=s.getColumn(2,T3),f=M1t.copy(u).add(c).add(l).add(o),p=L1t.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,E3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,A3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,T3);return i.transformAsPoint(t),this.halfAxes=new rr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Uve=new Z,Gve=new Z,Vc=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return oi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Uve.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),oi($a(this.normal.len(),1)),this.distance=i,this}clone(){return new Vc(this.normal,this.distance)}equals(t){return $a(this.distance,t.distance)&&$a(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Gve.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=Uve.from(t),i=this.getPointDistance(n),a=Gve.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var zve=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],Hve=new Z,q1t=new Z,Do=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*zve.length;let r=t.center,n=t.radius,i=0;for(let a of zve){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Vc),s||(s=this.planes[i+1]=new Vc);let u=Hve.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=Hve.copy(a).scale(n).add(r),l=q1t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=si.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case si.OUTSIDE:return si.OUTSIDE;case si.INTERSECTING:r=si.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(oi(Number.isFinite(r),"parentPlaneMask is required."),r===Do.MASK_OUTSIDE||r===Do.MASK_INSIDE)return r;let n=Do.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===si.OUTSIDE)return Do.MASK_OUTSIDE;u===si.INTERSECTING&&(n|=o)}return n}};Do.MASK_OUTSIDE=4294967295;Do.MASK_INSIDE=0;Do.MASK_INDETERMINATE=2147483647;var Ptr=new Z,Rtr=new Z,jtr=new Z,Mtr=new Z,Ltr=new Z;var U1t=new Z,G1t=new Z,z1t=new Z,H1t=new Z,V1t=new Z,$1t=new Z,W1t=new Z,rg=new Z,K1t=new Z,J1t=new Z,X1t=new Z,Y1t=new Z;function pM(e,t=new ra){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=W1t.copy(e[0]),n=U1t.copy(r),i=G1t.copy(r),a=z1t.copy(r),o=H1t.copy(r),s=V1t.copy(r),u=$1t.copy(r);for(let k of e){r.copy(k);let B=r.x,j=r.y,C=r.z;B<n.x&&n.copy(r),B>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=rg.copy(o).subtract(n).magnitudeSquared(),l=rg.copy(s).subtract(i).magnitudeSquared(),f=rg.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 m=K1t;m.x=(p.x+d.x)*.5,m.y=(p.y+d.y)*.5,m.z=(p.z+d.z)*.5;let g=rg.copy(d).subtract(m).magnitudeSquared(),b=Math.sqrt(g),y=J1t;y.x=n.x,y.y=i.y,y.z=a.z;let w=X1t;w.x=o.x,w.y=s.y,w.z=u.z;let T=Y1t.copy(y).add(w).multiplyByScalar(.5),E=0;for(let k of e){r.copy(k);let B=rg.copy(r).subtract(T).magnitude();B>E&&(E=B);let j=rg.copy(r).subtract(m).magnitudeSquared();if(j>g){let C=Math.sqrt(j);b=(b+C)*.5,g=b*b;let I=C-b;m.x=(b*m.x+I*r.x)/C,m.y=(b*m.y+I*r.y)/C,m.z=(b*m.z+I*r.z)/C}}return b<E?(m.to(t.center),t.radius=b):(T.to(t.center),t.radius=E),t}var ku=new rr,Q1t=new rr,Z1t=new rr,S3=new rr,Vve=new rr;function mM(e,t={}){let r=vs.EPSILON20,n=10,i=0,a=0,o=Q1t,s=Z1t;o.identity(),s.copy(e);let u=r*e_t(s);for(;a<n&&t_t(s)>u;)r_t(s,S3),Vve.copy(S3).transpose(),s.multiplyRight(S3),s.multiplyLeft(Vve),o.multiplyRight(S3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function e_t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var dM=[1,0,0],hM=[2,2,1];function t_t(e){let t=0;for(let r=0;r<3;++r){let n=e[ku.getElementIndex(hM[r],dM[r])];t+=2*n*n}return Math.sqrt(t)}function r_t(e,t){let r=vs.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[ku.getElementIndex(hM[c],dM[c])]);l>n&&(i=c,n=l)}let a=dM[i],o=hM[i],s=1,u=0;if(Math.abs(e[ku.getElementIndex(o,a)])>r){let c=e[ku.getElementIndex(o,o)],l=e[ku.getElementIndex(a,a)],f=e[ku.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 rr.IDENTITY.to(t),t[ku.getElementIndex(a,a)]=t[ku.getElementIndex(o,o)]=s,t[ku.getElementIndex(o,a)]=u,t[ku.getElementIndex(a,o)]=-u,t}var If=new Z,i_t=new Z,a_t=new Z,o_t=new Z,s_t=new Z,u_t=new rr,c_t={diagonal:new rr,unitary:new rr};function Dy(e,t=new ui){if(!e||e.length===0)return t.halfAxes=new rr([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(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 I=If.copy(C).subtract(n);a+=I.x*I.x,o+=I.x*I.y,s+=I.x*I.z,u+=I.y*I.y,c+=I.y*I.z,l+=I.z*I.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=u_t;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}=mM(f,c_t),d=t.halfAxes.copy(p),h=d.getColumn(0,a_t),m=d.getColumn(1,o_t),g=d.getColumn(2,s_t),b=-Number.MAX_VALUE,y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,T=Number.MAX_VALUE,E=Number.MAX_VALUE,k=Number.MAX_VALUE;for(let C of e)If.copy(C),b=Math.max(If.dot(h),b),y=Math.max(If.dot(m),y),w=Math.max(If.dot(g),w),T=Math.min(If.dot(h),T),E=Math.min(If.dot(m),E),k=Math.min(If.dot(g),k);h=h.multiplyByScalar(.5*(T+b)),m=m.multiplyByScalar(.5*(E+y)),g=g.multiplyByScalar(.5*(k+w)),t.center.copy(h).add(m).add(g);let B=i_t.set(b-T,y-E,w-k).multiplyByScalar(.5),j=new rr([B[0],0,0,0,B[1],0,0,0,B[2]]);return t.halfAxes.multiplyRight(j),t}function Jve(e){return e!=null}var grr=new Z,l_t=new Z,f_t=new Z,p_t=new Z,Cd=new Z,$ve=new Z,Wve=new Z,Kve=new Z;function Fy(e,t,r){if(_t(e,"3D Tile: boundingVolume must be defined"),e.box)return Xve(e.box,t,r);if(e.region)return h_t(e.region);if(e.sphere)return d_t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Xve(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Co;l.fromArray(e,6);let f=new Z([1,0,0]),p=new Z([0,1,0]),d=new Z([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 rr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Jve(r)?(r.center=n,r.halfAxes=u,r):new ui(n,u)}function d_t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(l_t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Jve(r)?(r.center=n,r.radius=o,r):new ra(n,o)}function h_t(e){let[t,r,n,i,a,o]=e,s=Bt.WGS84.cartographicToCartesian([Gc(t),Gc(i),a],f_t),u=Bt.WGS84.cartographicToCartesian([Gc(n),Gc(r),o],p_t),c=new Z().addVectors(s,u).multiplyByScalar(.5);return Bt.WGS84.cartesianToCartographic(c,Cd),Bt.WGS84.cartographicToCartesian([Gc(n),Cd[1],Cd[2]],$ve),Bt.WGS84.cartographicToCartesian([Cd[0],Gc(i),Cd[2]],Wve),Bt.WGS84.cartographicToCartesian([Cd[0],Cd[1],o],Kve),Xve([...c,...$ve.subtract(c),...Wve.subtract(c),...Kve.subtract(c)],new mr)}var ng="4.4.0-alpha.1";var ci={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},_rr=Object.keys(ci),Pf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function gM(e,t,r){_t(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Yve(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 m_t="1.5.6",g_t="1.4.1",vM=`https://www.gstatic.com/draco/versioned/decoders/${m_t}`,vn={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rf={[vn.DECODER]:`${vM}/${vn.DECODER}`,[vn.DECODER_WASM]:`${vM}/${vn.DECODER_WASM}`,[vn.FALLBACK_DECODER]:`${vM}/${vn.FALLBACK_DECODER}`,[vn.ENCODER]:`https://raw.githubusercontent.com/google/draco/${g_t}/javascript/${vn.ENCODER}`},xM;async function Qve(e){let t=e.modules||{};return t.draco3d?xM||(xM=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):xM||(xM=v_t(e)),await xM}async function v_t(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await au(Rf[vn.FALLBACK_DECODER],"draco",e,vn.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await au(Rf[vn.DECODER],"draco",e,vn.DECODER),await au(Rf[vn.DECODER_WASM],"draco",e,vn.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await x_t(t,r)}function x_t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var C3="4.4.0-alpha.1";var D3={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:C3,worker:!0,options:{draco:{},source:null}};function exe(e,t,r){let n=txe(t.metadata),i=[],a=b_t(t.attributes);for(let o in e){let s=e[o],u=Zve(o,s,a[o]);i.push(u)}if(r){let o=Zve("indices",r);i.push(o)}return{fields:i,metadata:n}}function b_t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Zve(e,t,r){let n=r?txe(r.metadata):void 0;return Dj(e,t,n)}function txe(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var rxe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},y_t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},__t=4,ky=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=Cj(u.attributes),l=exe(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*__t,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),A_t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=y_t[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=w_t(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 rxe)if(this.draco[o]===i)return rxe[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=E_t(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 w_t(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 E_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function A_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var nxe={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:C3,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}}},Dd={...nxe,parse:T_t};async function T_t(e,t){let{draco:r}=await Qve(t),n=new ky(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var S_t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Tn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},mt={...S_t,...Tn};var bM={[Tn.DOUBLE]:Float64Array,[Tn.FLOAT]:Float32Array,[Tn.UNSIGNED_SHORT]:Uint16Array,[Tn.UNSIGNED_INT]:Uint32Array,[Tn.UNSIGNED_BYTE]:Uint8Array,[Tn.BYTE]:Int8Array,[Tn.SHORT]:Int16Array,[Tn.INT]:Int32Array},C_t={DOUBLE:Tn.DOUBLE,FLOAT:Tn.FLOAT,UNSIGNED_SHORT:Tn.UNSIGNED_SHORT,UNSIGNED_INT:Tn.UNSIGNED_INT,UNSIGNED_BYTE:Tn.UNSIGNED_BYTE,BYTE:Tn.BYTE,SHORT:Tn.SHORT,INT:Tn.INT},yM="Failed to convert GL type",Ui=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in bM)if(bM[r]===t)return r;throw new Error(yM)}static fromName(t){let r=C_t[t];if(!r)throw new Error(yM);return r}static getArrayType(t){switch(t){case Tn.UNSIGNED_SHORT_5_6_5:case Tn.UNSIGNED_SHORT_4_4_4_4:case Tn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=bM[t];if(!r)throw new Error(yM);return r}}static getByteSize(t){return Ui.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Ui.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Ui.getByteSize(t));let a=Ui.getArrayType(t);return new a(r,n,i)}};function ixe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function _M(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 Yrr=1/256;var Qrr=new Ad,Zrr=new Z,enr=new Ad,tnr=new Ad,rnr=new Uint8Array(1);function axe(e,t=255){return Oj(e,0,t)/t*2-1}function oxe(e){return e<0?-1:1}function sxe(e,t,r,n){if(ixe(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=axe(e,r),n.y=axe(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))*oxe(i),n.y=(1-Math.abs(i))*oxe(n.y)}return n.normalize()}function wM(e,t,r){return sxe(e,t,255,r)}function F3(e){return(e%1+1)%1}var $c=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=mt.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=Ui.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=Ui.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=Ui.createTypedArray(r,n),i[t]=a),a}};var D_t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},F_t={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]]},k_t={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 uxe(e,t,r,n){let{componentType:i}=e;_t(e.componentType);let a=typeof i=="string"?Ui.fromName(i):i,o=D_t[e.type],s=F_t[e.type],u=k_t[e.type];return r+=e.byteOffset,{values:Ui.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Bu=e=>e!==void 0;function cxe(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?B_t(n,r):null}function B_t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Bu(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(Bu(u))for(Bu(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];Bu(c)&&Bu(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 g=o[r].length,b=o[r].instances,y=getBinaryProperties(g,b,t);o[r].instances=combine(y,b)}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 m={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return P_t(m),m}function ig(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?O_t(e,t,r):I_t(e,t,r)}function O_t(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(Bu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let m=a[d+h];m!==t&&l.push(m)}}return null}function I_t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Bu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function P_t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)lxe(e,i,stack)}function lxe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Bu(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=Bu(n)?n[t]:1,c=Bu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&lxe(e,f,r)}r.pop(t)}function Ta(e){return e!=null}var k3=(e,t)=>e,R_t={HIERARCHY:!0,extensions:!0,extras:!0},Fd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;_t(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)R_t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=cxe(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),_t(typeof r=="string",r),this._hierarchy){let n=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ta(n)}return!1}isExactClass(t,r){return _t(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),_t(typeof r=="string",r),Ta(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ta(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),_t(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ta(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ta(n))return k3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ta(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),_t(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];Ta(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=k3(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;_t(this.binary,`Property ${t} requires a batch table binary.`),_t(n.type,`Property ${t} requires a type.`);let i=uxe(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=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ta(s[r])});return Ta(n)}_getPropertyNamesInHierarchy(t,r){ig(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 ig(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ta(u)?Ta(u.typedArray)?this._getBinaryProperty(u,s):k3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=ig(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ta(f)?(_t(s===r,`Inherited property "${n}" is read-only.`),Ta(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=k3(i,!0),!0):!1});return Ta(a)}};var EM=4;function jf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=EM,e.version=n.getUint32(r,!0),r+=EM,e.byteLength=n.getUint32(r,!0),r+=EM,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var ag=4,fxe="b3dm tile in legacy format.";function og(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=ag;let o=n.getUint32(r,!0);r+=ag;let s=n.getUint32(r,!0);r+=ag;let u=n.getUint32(r,!0);return r+=ag,s>=570425344?(r-=ag*2,i=a,s=o,u=0,a=0,o=0,console.warn(fxe)):u>=570425344&&(r-=ag,i=s,s=a,u=o,a=0,o=0,console.warn(fxe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function sg(e,t,r,n){return r=j_t(e,t,r,n),r=M_t(e,t,r,n),r}function j_t(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=gM(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function M_t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=gM(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 AM(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:mt.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=_M(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:mt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:mt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var pxe=new Z;function dxe(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++)wM(t[n*2],t[n*2+1],pxe),pxe.toArray(r,n*3);return{type:mt.FLOAT,size:2,value:r}}return{type:mt.FLOAT,size:2,value:t}}function hxe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,L_t(e,t)):{type:mt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function L_t(e,t){let r=new Z,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 mxe(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),q_t(e);let{featureTable:a,batchTable:o}=N_t(e);return await V_t(e,a,o,n,i),U_t(e,a,n),G_t(e,a,o),z_t(e,a),r}function q_t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function N_t(e){let t=new $c(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",mt.FLOAT,3);let n=H_t(e,t);return{featureTable:t,batchTable:n}}function U_t(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",mt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=hxe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function G_t(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",mt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",mt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",mt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=AM(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",mt.UNSIGNED_BYTE,4))}function z_t(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",mt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",mt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=dxe(e,r)}}function H_t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",mt.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 Fd(i,a,n)}return r}async function V_t(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 $_t(e,l,n,i)}async function $_t(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 Na(t.buffer,Dd,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 Z(h,h,h),e.quantizedVolumeOffset=new Z(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:AM(e,s,void 0),normals:u,batchIds:c,...p}}var z3={};Fi(z3,{createExtMeshFeatures:()=>G3,decode:()=>B2t,encode:()=>O2t,name:()=>U3});var B3="4.4.0-alpha.1";var gxe,W_t=(gxe=globalThis.loaders)==null?void 0:gxe.parseImageNode,TM=typeof Image<"u",SM=typeof ImageBitmap<"u",K_t=Boolean(W_t),CM=wr?!0:K_t;function vxe(e){switch(e){case"auto":return SM||TM||CM;case"imagebitmap":return SM;case"image":return TM;case"data":return CM;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function xxe(){if(SM)return"imagebitmap";if(TM)return"image";if(CM)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function bxe(e){let t=J_t(e);if(!t)throw new Error("Not an image");return t}function DM(e){return ug(e)}function ug(e){switch(bxe(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 J_t(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 X_t=/^data:image\/svg\+xml/,Y_t=/\.svg((\?|#).*)?$/;function O3(e){return e&&(X_t.test(e)||Y_t.test(e))}function yxe(e,t){if(O3(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 FM(e,t)}function FM(e,t){if(O3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function I3(e,t,r){let n=yxe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await Q_t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function Q_t(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 Z_t={},_xe=!0;async function wxe(e,t,r){let n;O3(r)?n=await I3(e,t,r):n=FM(e,r);let i=t&&t.imagebitmap;return await e2t(n,i)}async function e2t(e,t=null){if((t2t(t)||!_xe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),_xe=!1}return await createImageBitmap(e)}function t2t(e){for(let t in e||Z_t)return!1;return!0}function Exe(e){return!a2t(e,"ftyp",4)||!(e[8]&96)?null:r2t(e)}function r2t(e){switch(n2t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function n2t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function i2t(e){return[...e].map(t=>t.charCodeAt(0))}function a2t(e,t,r=0){let n=i2t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Ou=!1,By=!0;function kd(e){let t=Oy(e);return s2t(t)||l2t(t)||u2t(t)||c2t(t)||o2t(t)}function o2t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Exe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function s2t(e){let t=Oy(e);return t.byteLength>=24&&t.getUint32(0,Ou)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ou),height:t.getUint32(20,Ou)}:null}function u2t(e){let t=Oy(e);return t.byteLength>=10&&t.getUint32(0,Ou)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,By),height:t.getUint16(8,By)}:null}function c2t(e){let t=Oy(e);return t.byteLength>=14&&t.getUint16(0,Ou)===16973&&t.getUint32(2,By)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,By),height:t.getUint32(22,By)}:null}function l2t(e){let t=Oy(e);if(!(t.byteLength>=3&&t.getUint16(0,Ou)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=f2t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Ou);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Ou),width:t.getUint16(a+7,Ou)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Ou)}return null}function f2t(){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 Oy(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 Axe(e,t){var i;let{mimeType:r}=kd(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return _t(n),await n(e,r)}async function Txe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=p2t(i),s;switch(o){case"imagebitmap":s=await wxe(e,t,a);break;case"image":s=await I3(e,t,a);break;case"data":s=await Axe(e,t);break;default:_t(!1)}return i==="data"&&(s=ug(s)),s}function p2t(e){switch(e){case"auto":case"data":return xxe();default:return vxe(e),e}}var d2t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],h2t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],m2t={image:{type:"auto",decode:!0}},cg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:B3,mimeTypes:h2t,extensions:d2t,parse:Txe,tests:[e=>Boolean(kd(new DataView(e)))],options:m2t};var Dxe,Sxe=(Dxe=globalThis.loaders)==null?void 0:Dxe.encodeImageNode;async function Fxe(e,t){return t=t||{},t.image=t.image||{},Sxe?Sxe(e,{type:t.image.mimeType}):g2t(e,t)}var Cxe=!0;async function g2t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=DM(e),o=document.createElement("canvas");o.width=i,o.height=a,v2t(e,o);let s=await new Promise(u=>{if(n&&Cxe)try{o.toBlob(u,r,n);return}catch{Cxe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function v2t(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 kM={name:"Images",id:"image",module:"images",version:B3,extensions:["jpeg"],mimeTypes:[],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:Fxe};var BM={};function OM(e){if(BM[e]===void 0){let t=wr?b2t(e):x2t(e);BM[e]=t}return BM[e]}function x2t(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 b2t(e){switch(e){case"image/avif":case"image/webp":return y2t(e);default:return!0}}function y2t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function Wn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var P3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},R3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var _2t=1.33,kxe=["SCALAR","VEC2","VEC3","VEC4"],w2t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],E2t=new Map(w2t),A2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},T2t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},S2t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function j3(e){return kxe[e-1]||kxe[0]}function Mf(e){let t=E2t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function lg(e,t){let r=S2t[e.componentType],n=A2t[e.type],i=T2t[e.componentType],a=e.count*n,o=e.count*n*i;Wn(o>=0&&o<=t.byteLength);let s=R3[e.componentType],u=P3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Iy(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*_2t)}function Bxe(e,t,r){let n=e.bufferViews[r];Wn(n);let i=n.buffer,a=t[i];Wn(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Oxe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(g=e.bufferViews)==null?void 0:g[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}=lg(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 b=0;b<n.count;b++){let y=new u(a,s+b*d,f);h.set(y,b*f)}return h}function C2t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Xt=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||C2t(),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];Wn(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Oxe(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 Wn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return Wn(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=kd(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;Wn(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ga(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:j3(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:Mf(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;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=q5(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],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_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 Ixe(e){return(e%1+1)%1}var Pxe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},D2t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Rxe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Py(e,t){return Rxe[t]*Pxe[e]}function fg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=pg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function pg(e,t,r,n=1){let i=Pxe[t],a=D2t[r],o=Rxe[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 dg(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,m=(d=e.gltf.images)==null?void 0:d[u];if(m&&typeof m.width<"u"){let g=[];for(let b=0;b<a.length;b+=2){let y=F2t(m,h,a,b,t.channels);g.push(y)}return g}}return[]}function M3(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:Mf(o),count:o.length});i.attributes[t]=c}function F2t(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=k2t(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=ug(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let m=h.data[d];l|=m<<p.shift}return l}function k2t(e,t,r,n=1){let i=r.width,a=Ixe(e)*(i-1),o=Math.round(a),s=r.height,u=Ixe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function L3(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 q3(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 N3(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 hg="EXT_mesh_features",U3=hg;async function B2t(e,t){let r=new Xt(e);I2t(r,t)}function O2t(e,t){let r=new Xt(e);return R2t(r,t),r.createBinaryChunk(),r.gltf}function I2t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)P2t(e,i,t)}function P2t(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[hg],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=dg(e,u.texture,t):c=[];u.data=c}}function R2t(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let i of n.primitives)j2t(e,i)}function G3(e,t,r,n){t.extensions||(t.extensions={});let i=t.extensions[hg];i||(i={featureIds:[]},t.extensions[hg]=i);let{featureIds:a}=i,o={featureCount:r.length,propertyTable:n,data:r};a.push(o),e.addObjectExtension(t,hg,i)}function j2t(e,t){var i;let r=(i=t.extensions)==null?void 0:i[hg];if(!r)return;let n=r.featureIds;n.forEach((a,o)=>{if(a.data){let{accessorKey:s,index:u}=M2t(t.attributes),c=new Uint32Array(a.data);n[o]={featureCount:c.length,propertyTable:a.propertyTable,attribute:u},e.gltf.buffers.push({arrayBuffer:c.buffer,byteOffset:c.byteOffset,byteLength:c.byteLength});let l=e.addBufferView(c),f=e.addAccessor(l,{size:1,componentType:Mf(c),count:c.length});t.attributes[s]=f}})}function M2t(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(a=>a.indexOf(t)===0),n=-1;for(let a of r){let o=Number(a.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var V3={};Fi(V3,{createExtStructuralMetadata:()=>H3,decode:()=>L2t,encode:()=>q2t,name:()=>Wc});var mg="EXT_structural_metadata",Wc=mg;async function L2t(e,t){let r=new Xt(e);N2t(r,t)}function q2t(e,t){let r=new Xt(e);return rwt(r,t),r.createBinaryChunk(),r.gltf}function N2t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(mg);r&&((i=t.gltf)!=null&&i.loadImages&&U2t(e,r),G2t(e,r))}function U2t(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)H2t(e,r,a,t)}function G2t(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=z2t(i,a);o&&$2t(e,r,o)}}function z2t(e,t){for(let r of e)if(r.class===t)return r;return null}function H2t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[mg],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];V2t(e,u,r,n)}}function V2t(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=dg(e,u,r);l!==null&&(M3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function $2t(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=W2t(e,t,u,i,c);c.data=l}}}function W2t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=K2t(e,r,i,n),c=J2t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=X2t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=N3(n,s,u,c);break}case"ENUM":{a=Y2t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function K2t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?fg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function J2t(e,t,r){return typeof t.stringOffsets<"u"?fg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function X2t(e,t,r,n){let i=e.array,a=e.count,o=Py(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=pg(r,e.type,e.componentType,s):u=r,i?n?L3(u,t,n,r.length,o):a?q3(u,t,a):[]:u}function Y2t(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=Py(t.type,s),c=n.byteLength/u,l=pg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return Q2t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?Z2t(l,r,p,o):[]}return PM(l,0,r,o)}function Q2t(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=PM(t,f,p,o);s.push(d)}return s}function Z2t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=PM(e,o,r,n);i.push(s)}return i}function PM(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=ewt(n,o);s?i.push(s.name):i.push("")}return i}function ewt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var twt="schemaClassId";function rwt(e,t){var n,i;let r=e.getExtension(mg);if(r&&r.propertyTables)for(let a of r.propertyTables){let o=a.class,s=(i=(n=r.schema)==null?void 0:n.classes)==null?void 0:i[o];a.properties&&s&&nwt(a,s,e)}}function nwt(e,t,r){for(let n in e.properties){let i=e.properties[n].data;if(i){let a=t.properties[n];if(a){let o=owt(i,a,r);e.properties[n]=o}}}}function H3(e,t,r=twt){let n=e.getExtension(mg);n||(n=e.addExtension(mg)),n.schema=iwt(t,r,n.schema);let i=awt(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function iwt(e,t,r){let n=r??{id:"schema_id"},i={properties:{}};for(let a of e){let o={type:a.elementType,componentType:a.componentType};i.properties[a.name]=o}return n.classes={},n.classes[t]=i,n}function awt(e,t,r){var o;let n={class:t,count:0},i=0,a=(o=r.classes)==null?void 0:o[t];for(let s of e){if(i===0&&(i=s.values.length),i!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(a==null?void 0:a.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=i,n}function owt(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:i,stringOffsets:a}=cwt(e);n.stringOffsets=IM(a,r),n.values=IM(i,r)}else if(t.type==="SCALAR"&&t.componentType){let i=uwt(e,t.componentType);n.values=IM(i,r)}return n}var swt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function uwt(e,t){let r=[];for(let i of e)r.push(Number(i));let n=swt[t];if(!n)throw new Error("Illegal component type");return new n(r)}function cwt(e){let t=new TextEncoder,r=[],n=0;for(let u of e){let c=t.encode(u);n+=c.length,r.push(c)}let i=new Uint8Array(n),a=[],o=0;for(let u of r)i.set(u,o),a.push(o),o+=u.length;a.push(o);let s=new Uint32Array(a);return{stringData:i,stringOffsets:s}}function IM(e,t){return t.gltf.buffers.push({arrayBuffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var RM={};Fi(RM,{decode:()=>lwt,name:()=>Fo});var jxe="EXT_feature_metadata",Fo=jxe;async function lwt(e,t){let r=new Xt(e);fwt(r,t)}function fwt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(jxe);r&&((i=t.gltf)!=null&&i.loadImages&&pwt(e,r),dwt(e,r))}function pwt(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=mwt(i,a);s&&vwt(e,s,o)}}function dwt(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=hwt(i,a);o&&gwt(e,r,o)}}function hwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function mwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function gwt(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=xwt(e,t,u,i,c);c.data=l}}}function vwt(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=Ewt(e,o,n);o.data=s}}}function xwt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=bwt(e,r,i,n),c=ywt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=N3(n,s,u,c):_wt(r)&&(a=wwt(r,n,s,u)),a}function bwt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?fg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function ywt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?fg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function _wt(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 wwt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Py(o,s),c=r.byteLength/u,l=pg(r,o,s,c);return i?n?L3(l,t,n,r.length,u):a?q3(l,t,a):[]:l}function Ewt(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)Awt(e,r,t,i,o);return i}function Awt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=dg(e,a,i);o&&M3(e,t,o,n,i)}var $3="4.4.0-alpha.1";var gg="4.4.0-alpha.1";var Iu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Mxe;async function MM(e){Ix(e.modules);let t=C5("basis");return t||(Mxe||(Mxe=Twt(e)),await Mxe)}async function Twt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.TRANSCODER,"textures",e),await au(Iu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Swt(t,r)}function Swt(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 jM;async function LM(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(jM=jM||Cwt(e),await jM)}async function Cwt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.ENCODER,"textures",e),await au(Iu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Dwt(t,r)}function Dwt(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 ce={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 Fwt=["","WEBKIT_","MOZ_"],Lxe={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"},W3=null;function Ry(e){if(!W3){e=e||kwt()||void 0,W3=new Set;for(let t of Fwt)for(let r in Lxe)if(e&&e.getExtension(`${t}${r}`)){let n=Lxe[r];W3.add(n)}}return W3}function kwt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var qM=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},Bd=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var Tar=new Uint8Array([0]),na=[171,75,84,88,32,50,48,187,13,10,26,10];function qxe(e){return new TextDecoder().decode(e)}function Nxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,na.length);if(t[0]!==na[0]||t[1]!==na[1]||t[2]!==na[2]||t[3]!==na[3]||t[4]!==na[4]||t[5]!==na[5]||t[6]!==na[6]||t[7]!==na[7]||t[8]!==na[8]||t[9]!==na[9]||t[10]!==na[10]||t[11]!==na[11])throw new Error("Missing KTX 2.0 identifier.");let r=new qM,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new Bd(e,na.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),p=a*3*8,d=new Bd(e,na.length+n,p,!0);for(let pe=0;pe<a;pe++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new Bd(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,b=4,y=(m.descriptorBlockSize/4-g)/b;for(let pe=0;pe<y;pe++){let Ce={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};Ce.channelType&64?(Ce.sampleLower=h._nextInt32(),Ce.sampleUpper=h._nextInt32()):(Ce.sampleLower=h._nextUint32(),Ce.sampleUpper=h._nextUint32()),m.samples[pe]=Ce}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let w=new Bd(e,u,c,!0);for(;w._offset<c;){let pe=w._nextUint32(),Ce=w._scan(pe),Be=qxe(Ce);if(r.keyValue[Be]=w._nextUint8Array(pe-Ce.byteLength-1),Be.match(/^ktx/i)){let N=qxe(r.keyValue[Be]);r.keyValue[Be]=N.substring(0,N.lastIndexOf("\0"))}let J=pe%4?4-pe%4:0;w._skip(J)}if(f<=0)return r;let T=new Bd(e,l,f,!0),E=T._nextUint16(),k=T._nextUint16(),B=T._nextUint32(),j=T._nextUint32(),C=T._nextUint32(),I=T._nextUint32(),P=[];for(let pe=0;pe<a;pe++)P.push({imageFlags:T._nextUint32(),rgbSliceByteOffset:T._nextUint32(),rgbSliceByteLength:T._nextUint32(),alphaSliceByteOffset:T._nextUint32(),alphaSliceByteLength:T._nextUint32()});let L=l+T._offset,G=L+B,V=G+j,X=V+C,Y=new Uint8Array(e.buffer,e.byteOffset+L,B),he=new Uint8Array(e.buffer,e.byteOffset+G,j),le=new Uint8Array(e.buffer,e.byteOffset+V,C),me=new Uint8Array(e.buffer,e.byteOffset+X,I);return r.globalData={endpointCount:E,selectorCount:k,imageDescs:P,endpointsData:Y,selectorsData:he,tablesData:le,extendedData:me},r}function vg(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=Owt(t,n,i,e,o),u=Bwt(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 Bwt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function Owt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var Iwt={131:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,132:ce.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:ce.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:ce.COMPRESSED_RED_RGTC1_EXT,140:ce.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:ce.COMPRESSED_RED_GREEN_RGTC2_EXT,142:ce.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:ce.COMPRESSED_RGB8_ETC2,148:ce.COMPRESSED_SRGB8_ETC2,149:ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:ce.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:ce.COMPRESSED_RGBA8_ETC2_EAC,152:ce.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:ce.COMPRESSED_R11_EAC,154:ce.COMPRESSED_SIGNED_R11_EAC,155:ce.COMPRESSED_RG11_EAC,156:ce.COMPRESSED_SIGNED_RG11_EAC,157:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,158:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,160:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,162:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,164:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,166:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,168:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,170:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,172:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,174:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,176:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,178:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,180:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,182:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:ce.COMPRESSED_RGBA_ASTC_12x12_KHR,184:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:ce.COMPRESSED_RGBA_ASTC_12x12_KHR};function Uxe(e){return Iwt[e]}var Wa=[171,75,84,88,32,50,48,187,13,10,26,10];function K3(e){let t=new Uint8Array(e);return!(t.byteLength<Wa.length||t[0]!==Wa[0]||t[1]!==Wa[1]||t[2]!==Wa[2]||t[3]!==Wa[3]||t[4]!==Wa[4]||t[5]!==Wa[5]||t[6]!==Wa[6]||t[7]!==Wa[7]||t[8]!==Wa[8]||t[9]!==Wa[9]||t[10]!==Wa[10]||t[11]!==Wa[11])}function Gxe(e){let t=new Uint8Array(e),r=Nxe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=Uxe(r.vkFormat);return vg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var Pwt={etc1:{basisFormat:0,compressed:!0,format:ce.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ce.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ce.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:ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ce.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 J3(e,t){if(t.basis.containerFormat==="auto"){if(K3(e)){let n=await LM(t);return zxe(n.KTX2File,e,t)}let{BasisFile:r}=await MM(t);return NM(r,e,t)}switch(t.basis.module){case"encoder":let r=await LM(t);switch(t.basis.containerFormat){case"ktx2":return zxe(r.KTX2File,e,t);case"basis":default:return NM(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await MM(t);return NM(n,e,t)}}function NM(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(Rwt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function Rwt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Hxe(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 zxe(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(jwt(n,o,r));return[a]}finally{n.close(),n.delete()}}function jwt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Hxe(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 Hxe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=xg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Pwt[r]}function xg(){let e=Ry();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 Vxe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:gg,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"}}},Od={...Vxe,parse:J3};var Ka={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},Mwt={DXT1:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":ce.COMPRESSED_RGB_ATC_WEBGL,ATCA:ce.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:ce.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Lwt=Kxe,qwt=X3,Nwt=X3,Uwt={DXT1:Kxe,DXT3:X3,DXT5:X3,"ATC ":Lwt,ATCA:qwt,ATCI:Nwt};function $xe(e){return new Uint32Array(e,0,Ka.HEADER_LENGTH)[Ka.MAGIC_NUMBER_INDEX]===Ka.MAGIC_NUMBER}function Wxe(e){let t=new Int32Array(e,0,Ka.HEADER_LENGTH),r=t[Ka.HEADER_PF_FOURCC_INDEX];_t(Boolean(t[Ka.HEADER_PF_FLAGS_INDEX]&Ka.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Gwt(r),i=Mwt[n],a=Uwt[n];_t(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[Ka.HEADER_FLAGS_INDEX]&Ka.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[Ka.MIPMAPCOUNT_INDEX]));let s=t[Ka.HEADER_WIDTH_INDEX],u=t[Ka.HEADER_HEIGHT_INDEX],c=t[Ka.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return vg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Kxe(e,t){return(e+3>>2)*(t+3>>2)*8}function X3(e,t){return(e+3>>2)*(t+3>>2)*16}function Gwt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var ko={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},zwt={0:[ce.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[ce.COMPRESSED_RGB_ETC1_WEBGL],7:[ce.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[ce.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[ce.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[ce.COMPRESSED_RGB8_ETC2],23:[ce.COMPRESSED_RGBA8_ETC2_EAC],24:[ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[ce.COMPRESSED_R11_EAC],26:[ce.COMPRESSED_RG11_EAC],27:[ce.COMPRESSED_RGBA_ASTC_4X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[ce.COMPRESSED_RGBA_ASTC_5X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[ce.COMPRESSED_RGBA_ASTC_5X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[ce.COMPRESSED_RGBA_ASTC_6X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[ce.COMPRESSED_RGBA_ASTC_6X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[ce.COMPRESSED_RGBA_ASTC_8X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[ce.COMPRESSED_RGBA_ASTC_8X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[ce.COMPRESSED_RGBA_ASTC_8X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[ce.COMPRESSED_RGBA_ASTC_10X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[ce.COMPRESSED_RGBA_ASTC_10X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[ce.COMPRESSED_RGBA_ASTC_10X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[ce.COMPRESSED_RGBA_ASTC_10X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[ce.COMPRESSED_RGBA_ASTC_12X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[ce.COMPRESSED_RGBA_ASTC_12X12_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Hwt={0:Jxe,1:Jxe,2:Xxe,3:Xxe,6:jy,7:jy,9:My,11:My,22:jy,23:My,24:jy,25:jy,26:My,27:My,28:Vwt,29:$wt,30:Wwt,31:Kwt,32:Jwt,33:Xwt,34:Ywt,35:Qwt,36:Zwt,37:eEt,38:tEt,39:rEt,40:nEt};function Yxe(e){let r=new Uint32Array(e,0,ko.HEADER_LENGTH)[ko.MAGIC_NUMBER_INDEX];return r===ko.MAGIC_NUMBER||r===ko.MAGIC_NUMBER_EXTRA}function Qxe(e){let t=new Uint32Array(e,0,ko.HEADER_LENGTH),r=t[ko.PIXEL_FORMAT_INDEX],n=t[ko.COLOUR_SPACE_INDEX],i=zwt[r]||[],a=i.length>1&&n?i[1]:i[0],o=Hwt[r],s=t[ko.MIPMAPCOUNT_INDEX],u=t[ko.WIDTH_INDEX],c=t[ko.HEIGHT_INDEX],l=ko.HEADER_SIZE+t[ko.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return vg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function Jxe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Xxe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function jy(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function My(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Vwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function $wt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Wwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Kwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Jwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Xwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Ywt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Qwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Zwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function eEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function tEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function rEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function nEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Zxe(e){if(K3(e))return Gxe(e);if($xe(e))return Wxe(e);if(Yxe(e))return Qxe(e);throw new Error("Texture container format not recognized")}var ebe={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:gg,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}}},Y3={...ebe,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 J3(e,t))[0]):Zxe(e)}};var UM={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:gg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var bg=!0,tbe=1735152710,HM=12,Q3=8,iEt=1313821514,aEt=5130562,oEt=0,sEt=0,uEt=1;function cEt(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 rbe(e,t=0,r={}){let n=new DataView(e),{magic:i=tbe}=r,a=n.getUint32(t,!1);return a===i||a===tbe}function nbe(e,t,r=0,n={}){let i=new DataView(t),a=cEt(i,r+0),o=i.getUint32(r+4,bg),s=i.getUint32(r+8,bg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=HM,e.version){case 1:return lEt(e,i,r);case 2:return fEt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function lEt(e,t,r){_t(e.header.byteLength>HM+Q3);let n=t.getUint32(r+0,bg),i=t.getUint32(r+4,bg);return r+=Q3,_t(i===oEt),GM(e,t,r,n),r+=n,r+=zM(e,t,r,e.header.byteLength),r}function fEt(e,t,r,n){return _t(e.header.byteLength>HM+Q3),pEt(e,t,r,n),r+e.header.byteLength}function pEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,bg),a=t.getUint32(r+4,bg);switch(r+=Q3,a){case iEt:GM(e,t,r,i);break;case aEt:zM(e,t,r,i);break;case sEt:n.strict||GM(e,t,r,i);break;case uEt:n.strict||zM(e,t,r,i);break;default:break}r+=Ga(i,4)}return r}function GM(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ga(n,4)}function zM(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ga(n,4)}function VM(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 WM={};Fi(WM,{decode:()=>AEt,name:()=>EEt});var dEt="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",hEt="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",mEt=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]),gEt=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]),vEt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},xEt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function ibe(e,t,r,n,i,a="NONE"){let o=await bEt();wEt(o,o.exports[xEt[i]],e,t,r,n,o.exports[vEt[a||"NONE"]])}var $M;async function bEt(){return $M||($M=yEt()),$M}async function yEt(){let e=dEt;WebAssembly.validate(mEt)&&(e=hEt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(_Et(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function _Et(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?gEt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function wEt(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 Z3="EXT_meshopt_compression",EEt=Z3;async function AEt(e,t){var i,a;let r=new Xt(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(TEt(r,o));await Promise.all(n),r.removeExtension(Z3)}async function TEt(e,t){let r=e.getObjectExtension(t,Z3);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 ibe(p,o,a,f,s,u),e.removeObjectExtension(t,Z3)}}var KM={};Fi(KM,{name:()=>SEt,preprocess:()=>CEt});var yg="EXT_texture_webp",SEt=yg;function CEt(e,t){let r=new Xt(e);if(!OM("image/webp")){if(r.getRequiredExtensions().includes(yg))throw new Error(`gltf: Required extension ${yg} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,yg);a&&(i.source=a.source),r.removeObjectExtension(i,yg)}r.removeExtension(yg)}var JM={};Fi(JM,{name:()=>DEt,preprocess:()=>FEt});var e8="KHR_texture_basisu",DEt=e8;function FEt(e,t){let r=new Xt(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,e8);a&&(i.source=a.source,r.removeObjectExtension(i,e8))}r.removeExtension(e8)}var YM={};Fi(YM,{decode:()=>PEt,encode:()=>REt,name:()=>OEt,preprocess:()=>IEt});function abe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=XM(n);t[r]=i}}return t}function XM(e){let{buffer:t,size:r,count:n}=kEt(e);return{value:t,size:r,byteOffset:0,count:n,type:j3(r),componentType:Mf(t)}}function kEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=BEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function BEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Lf="KHR_draco_mesh_compression",OEt=Lf;function IEt(e,t,r){let n=new Xt(e);for(let i of obe(n))n.getObjectExtension(i,Lf)}async function PEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new Xt(e),i=[];for(let o of obe(n))n.getObjectExtension(o,Lf)&&i.push(jEt(n,o,t,r));await Promise.all(i),n.removeExtension(Lf)}function REt(e,t={}){let r=new Xt(e);for(let n of r.json.meshes||[])MEt(n,t),r.addRequiredExtension(Lf)}async function jEt(e,t,r,n){let i=e.getObjectExtension(t,Lf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=Pp(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Na(o,Dd,s,n),c=abe(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=XM(u.indices)),e.removeObjectExtension(t,Lf),LEt(t)}function MEt(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:{[Lf]:{bufferView:u,attributes:s}}}]}}function LEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*obe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var QM={};Fi(QM,{decode:()=>GEt,name:()=>qEt});var r8="KHR_texture_transform",qEt=r8,t8=new Z,NEt=new rr,UEt=new rr;async function GEt(e,t){var a;if(!new Xt(e).hasExtension(r8)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)zEt(o,e)}function zEt(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[r8])&&HEt(t,e,c,i)}function HEt(e,t,r,n){let i=VEt(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&&$Et(e,s,i)}}function VEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[r8],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=JEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function $Et(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:m}=lg(c,l),g=R3[c.componentType],b=P3[c.type],y=l.byteStride||g*b,w=new Float32Array(m);for(let T=0;T<c.count;T++){let E=new h(f,d+T*y,2);t8.set(E[0],E[1],1),t8.transformByMatrix3(a),w.set([t8[0],t8[1]],T*b)}n===i?WEt(c,l,e.buffers,w):KEt(i,c,t,e,w)}}}}function WEt(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 KEt(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 JEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new rr().set(1,0,0,0,1,0,t[0],t[1],1),a=NEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=UEt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var ZM={};Fi(ZM,{decode:()=>YEt,encode:()=>QEt,name:()=>XEt});var Id="KHR_lights_punctual",XEt=Id;async function YEt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(Id);n&&(t.json.lights=n.lights,t.removeExtension(Id));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,Id);a&&(i.light=a.light),t.removeObjectExtension(i,Id)}}async function QEt(e){let t=new Xt(e),{json:r}=t;if(r.lights){let n=t.addExtension(Id);Wn(!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,Id,n)}delete t.json.lights}}var eL={};Fi(eL,{decode:()=>eAt,encode:()=>tAt,name:()=>ZEt});var Ly="KHR_materials_unlit",ZEt=Ly;async function eAt(e){let t=new Xt(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Ly);t.removeExtension(Ly)}function tAt(e){let t=new Xt(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Ly,{}),t.addExtension(Ly))}var tL={};Fi(tL,{decode:()=>nAt,encode:()=>iAt,name:()=>rAt});var qy="KHR_techniques_webgl",rAt=qy;async function nAt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(qy);if(n){let i=aAt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,qy);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=oAt(a.technique,t)),t.removeObjectExtension(a,qy)}t.removeExtension(qy)}}async function iAt(e,t){}function aAt(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 oAt(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 sbe=[V3,z3,WM,KM,JM,YM,ZM,eL,tL,QM,RM],sAt=[V3,z3];function ube(e,t={},r){var i;let n=sbe.filter(a=>fbe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function cbe(e,t={},r){var i;let n=sbe.filter(a=>fbe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function lbe(e,t={}){var r;for(let n of sAt)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function fbe(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 rL="KHR_binary_glTF";function pbe(e){let t=new Xt(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,rL);i&&Object.assign(n,i),t.removeObjectExtension(n,rL)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(rL)}var dbe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},cAt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},nL=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),pbe(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 dbe)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 dbe)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=cAt[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 hbe(e,t={}){return new nL().normalize(e,t)}async function mbe(e,t,r=0,n,i){var a,o,s;return lAt(e,t,r,n),hbe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),ube(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await fAt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await pAt(e,n,i),await cbe(e,n,i),e}function lAt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!rbe(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=L5(t);else if(t instanceof ArrayBuffer){let o={};r=nbe(o,t,r,n.glb),Wn(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else Wn(!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 fAt(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;Wn(u);let c=VM(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 pAt(e,t,r){let n=dAt(e),i=e.json.images||[],a=[];for(let o of n)a.push(hAt(e,i[o],o,t,r));return await Promise.all(a)}function dAt(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 hAt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=VM(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Bxe(e.json,e.buffers,t.bufferView);a=Pp(s.buffer,s.byteOffset,s.byteLength)}Wn(a,"glTF image has no data");let o=await Na(a,[cg,Od],{...n,mimeType:t.mimeType,basis:n.basis||{format:xg()}},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 Kc={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:mAt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function mAt(e,t={},r){t={...Kc.options,...t},t.gltf={...Kc.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await mbe({},e,n,t,r)}var gAt=1179937895,vAt=1313821514,xAt=5130562,Pu=!0;function gbe(e,t,r=0,n={}){let{magic:i=gAt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Pu),t.setUint32(r+4,a,Pu),t.setUint32(r+8,0,Pu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,vAt,Pu)),r+=8;let f=JSON.stringify(o);if(r=c0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Pu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,xAt,Pu)),r+=8,r=vw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Pu)}}if(t){let p=r-u;t.setUint32(c,p,Pu)}return r}function iL(e,t,r,n){return bAt(e),gbe(e,t,r,n)}function bAt(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var aL={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>vbe(e,t),encodeSync:vbe};function vbe(e,t={}){let{byteOffset:r=0}=t,n=lbe(e),i=iL(n,null,r,t),a=new ArrayBuffer(i),o=new DataView(a);return iL(n,o,r,t),a}var yAt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},_At={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Bo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},wAt={magFilter:Bo.TEXTURE_MAG_FILTER,minFilter:Bo.TEXTURE_MIN_FILTER,wrapS:Bo.TEXTURE_WRAP_S,wrapT:Bo.TEXTURE_WRAP_T},EAt={[Bo.TEXTURE_MAG_FILTER]:Bo.LINEAR,[Bo.TEXTURE_MIN_FILTER]:Bo.NEAREST_MIPMAP_LINEAR,[Bo.TEXTURE_WRAP_S]:Bo.REPEAT,[Bo.TEXTURE_WRAP_T]:Bo.REPEAT};function AAt(){return{id:"default-sampler",parameters:EAt}}function TAt(e){return _At[e]}function SAt(e){return yAt[e]}var oL=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return Wn(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=TAt(t.componentType),i=SAt(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}=lg(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):AAt(),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 wAt[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 Ny(e,t){return new oL().postProcess(e,t)}var n8={URI:0,EMBEDDED:1};function i8(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=Pp(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 a8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(CAt(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 Na(e.gltfArrayBuffer,Kc,r,n);e.gltf=Ny(a),e.gpuMemoryUsageInBytes=Iy(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function CAt(e,t,r){switch(t){case n8.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 n8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function xbe(e,t,r,n,i){var o;r=DAt(e,t,r,n,i),await a8(e,n8.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 DAt(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),r=i8(e,t,r,n);let a=new $c(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",mt.FLOAT,3),r}async function bbe(e,t,r,n,i){return r=FAt(e,t,r,n,i),await a8(e,e.gltfFormat||0,n,i),r}function FAt(e,t,r,n,i){var c;if(r=jf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=og(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=sg(e,t,r,n),r=i8(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 $c(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",mt.FLOAT,3);let u=new Fd(e.batchTableJson,e.batchTableBinary,s);return kAt(e,o,u,s),r}function kAt(e,t,r,n){let i=new Array(n),a=new Z,o=new Z,s=new Z,u=new Z,c=new rr,l=new Co,f=new Z,p={},d=new mr,h=[],m=[],g=[],b=[];for(let y=0;y<n;y++){let w;if(t.hasProperty("POSITION"))w=t.getProperty("POSITION",mt.FLOAT,3,y,a);else if(t.hasProperty("POSITION_QUANTIZED")){w=t.getProperty("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3,y,a);let I=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let L=65535;for(let G=0;G<3;G++)w[G]=w[G]/L*P[G]+I[G]}if(!w)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(w),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",mt.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",mt.FLOAT,3,y,m);let T=!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",mt.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",mt.UNSIGNED_SHORT,2,y,m),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?(Bt.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}T&&(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 E=t.getProperty("SCALE",mt.FLOAT,1,y,g);Number.isFinite(E)&&f.multiplyByScalar(E);let k=t.getProperty("SCALE_NON_UNIFORM",mt.FLOAT,3,y,h);k&&f.scale(k),p.scale=f;let B=t.getProperty("BATCH_ID",mt.UNSIGNED_SHORT,1,y,b);B===void 0&&(B=y);let j=new mr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(j),d.scale(p.scale);let C=d.clone();i[y]={modelMatrix:C,batchId:B}}e.instances=i}async function ybe(e,t,r,n,i,a){r=jf(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 _be(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 Na(t,Kc,r,n);e.gltf=Ny(o),e.gpuMemoryUsageInBytes=Iy(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function sL(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Yve(e,t),i.type){case ci.COMPOSITE:return await ybe(i,e,t,r,n,sL);case ci.BATCHED_3D_MODEL:return await xbe(i,e,t,r,n);case ci.GLTF:return await _be(i,e,r,n);case ci.INSTANCED_3D_MODEL:return await bbe(i,e,t,r,n);case ci.POINT_CLOUD:return await mxe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function uL(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=wbe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=wbe(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await o8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await o8(c,p,f,r);else await o8(c,c.contentAvailability,f,r);return await o8(c,c.childSubtreeAvailability,f,r),c}async function o8(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 wbe(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var s8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:ng,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:uL,options:{}};var Oo=null;try{Oo=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 Nr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Nr.prototype.__isLong__;Object.defineProperty(Nr.prototype,"__isLong__",{value:!0});function Gi(e){return(e&&e.__isLong__)===!0}function Ebe(e){var t=Math.clz32(e&-e);return e?31-t:t}Nr.isLong=Gi;var Abe={},Tbe={};function Pd(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=Tbe[e],n)?n:(r=fr(e,0,!0),i&&(Tbe[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=Abe[e],n)?n:(r=fr(e,e<0?-1:0,!1),i&&(Abe[e]=r),r))}Nr.fromInt=Pd;function Io(e,t){if(isNaN(e))return t?Jc:bs;if(t){if(e<0)return Jc;if(e>=Fbe)return Obe}else{if(e<=-Cbe)return Sa;if(e+1>=Cbe)return Bbe}return e<0?Io(-e,t).neg():fr(e%wg|0,e/wg|0,t)}Nr.fromNumber=Io;function fr(e,t,r){return new Nr(e,t,r)}Nr.fromBits=fr;var u8=Math.pow;function lL(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?Jc:bs;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 lL(e.substring(1),t,r).neg();for(var i=Io(u8(r,8)),a=bs,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=Io(u8(r,s));a=a.mul(c).add(Io(u))}else a=a.mul(i),a=a.add(Io(u))}return a.unsigned=t,a}Nr.fromString=lL;function ys(e,t){return typeof e=="number"?Io(e,t):typeof e=="string"?lL(e,t):fr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Nr.fromValue=ys;var Sbe=1<<16,BAt=1<<24,wg=Sbe*Sbe,Fbe=wg*wg,Cbe=Fbe/2,Dbe=Pd(BAt),bs=Pd(0);Nr.ZERO=bs;var Jc=Pd(0,!0);Nr.UZERO=Jc;var _g=Pd(1);Nr.ONE=_g;var kbe=Pd(1,!0);Nr.UONE=kbe;var cL=Pd(-1);Nr.NEG_ONE=cL;var Bbe=fr(-1,2147483647,!1);Nr.MAX_VALUE=Bbe;var Obe=fr(-1,-1,!0);Nr.MAX_UNSIGNED_VALUE=Obe;var Sa=fr(0,-2147483648,!1);Nr.MIN_VALUE=Sa;var Se=Nr.prototype;Se.toInt=function(){return this.unsigned?this.low>>>0:this.low};Se.toNumber=function(){return this.unsigned?(this.high>>>0)*wg+(this.low>>>0):this.high*wg+(this.low>>>0)};Se.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(Sa)){var r=Io(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=Io(u8(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}};Se.getHighBits=function(){return this.high};Se.getHighBitsUnsigned=function(){return this.high>>>0};Se.getLowBits=function(){return this.low};Se.getLowBitsUnsigned=function(){return this.low>>>0};Se.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Sa)?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};Se.isZero=function(){return this.high===0&&this.low===0};Se.eqz=Se.isZero;Se.isNegative=function(){return!this.unsigned&&this.high<0};Se.isPositive=function(){return this.unsigned||this.high>=0};Se.isOdd=function(){return(this.low&1)===1};Se.isEven=function(){return(this.low&1)===0};Se.equals=function(t){return Gi(t)||(t=ys(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Se.eq=Se.equals;Se.notEquals=function(t){return!this.eq(t)};Se.neq=Se.notEquals;Se.ne=Se.notEquals;Se.lessThan=function(t){return this.comp(t)<0};Se.lt=Se.lessThan;Se.lessThanOrEqual=function(t){return this.comp(t)<=0};Se.lte=Se.lessThanOrEqual;Se.le=Se.lessThanOrEqual;Se.greaterThan=function(t){return this.comp(t)>0};Se.gt=Se.greaterThan;Se.greaterThanOrEqual=function(t){return this.comp(t)>=0};Se.gte=Se.greaterThanOrEqual;Se.ge=Se.greaterThanOrEqual;Se.compare=function(t){if(Gi(t)||(t=ys(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};Se.comp=Se.compare;Se.negate=function(){return!this.unsigned&&this.eq(Sa)?Sa:this.not().add(_g)};Se.neg=Se.negate;Se.add=function(t){Gi(t)||(t=ys(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,fr(p<<16|d,l<<16|f,this.unsigned)};Se.subtract=function(t){return Gi(t)||(t=ys(t)),this.add(t.neg())};Se.sub=Se.subtract;Se.multiply=function(t){if(this.isZero())return this;if(Gi(t)||(t=ys(t)),Oo){var r=Oo.mul(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Jc:bs;if(this.eq(Sa))return t.isOdd()?Sa:bs;if(t.eq(Sa))return this.isOdd()?Sa:bs;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(Dbe)&&t.lt(Dbe))return Io(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,fr(d<<16|h,f<<16|p,this.unsigned)};Se.mul=Se.multiply;Se.divide=function(t){if(Gi(t)||(t=ys(t)),t.isZero())throw Error("division by zero");if(Oo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Oo.div_u:Oo.div_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Jc:bs;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Jc;if(t.gt(this.shru(1)))return kbe;a=Jc}else{if(this.eq(Sa)){if(t.eq(_g)||t.eq(cL))return Sa;if(t.eq(Sa))return _g;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(bs)?t.isNegative()?_g:cL:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Sa))return this.unsigned?Jc:bs;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=bs}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:u8(2,s-48),c=Io(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Io(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=_g),a=a.add(c),i=i.sub(l)}return a};Se.div=Se.divide;Se.modulo=function(t){if(Gi(t)||(t=ys(t)),Oo){var r=(this.unsigned?Oo.rem_u:Oo.rem_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Se.mod=Se.modulo;Se.rem=Se.modulo;Se.not=function(){return fr(~this.low,~this.high,this.unsigned)};Se.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Se.clz=Se.countLeadingZeros;Se.countTrailingZeros=function(){return this.low?Ebe(this.low):Ebe(this.high)+32};Se.ctz=Se.countTrailingZeros;Se.and=function(t){return Gi(t)||(t=ys(t)),fr(this.low&t.low,this.high&t.high,this.unsigned)};Se.or=function(t){return Gi(t)||(t=ys(t)),fr(this.low|t.low,this.high|t.high,this.unsigned)};Se.xor=function(t){return Gi(t)||(t=ys(t)),fr(this.low^t.low,this.high^t.high,this.unsigned)};Se.shiftLeft=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):fr(0,this.low<<t-32,this.unsigned)};Se.shl=Se.shiftLeft;Se.shiftRight=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):fr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Se.shr=Se.shiftRight;Se.shiftRightUnsigned=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?fr(this.high,0,this.unsigned):fr(this.high>>>t-32,0,this.unsigned)};Se.shru=Se.shiftRightUnsigned;Se.shr_u=Se.shiftRightUnsigned;Se.rotateLeft=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,fr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Se.rotl=Se.rotateLeft;Se.rotateRight=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,fr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Se.rotr=Se.rotateRight;Se.toSigned=function(){return this.unsigned?fr(this.low,this.high,!1):this};Se.toUnsigned=function(){return this.unsigned?this:fr(this.low,this.high,!0)};Se.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Se.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]};Se.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]};Nr.fromBytes=function(t,r,n){return n?Nr.fromBytesLE(t,r):Nr.fromBytesBE(t,r)};Nr.fromBytesLE=function(t,r){return new Nr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Nr.fromBytesBE=function(t,r){return new Nr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Eg=Nr;var OAt=16;function Uy(e){e==="X"&&(e="");let t=e.padEnd(OAt,"0");return Eg.fromString(t,!0,16)}function fL(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 pL(e,t){let r=IAt(e).shiftRightUnsigned(2);return e.add(Eg.fromNumber(2*t+1-4).multiply(r))}function IAt(e){return e.and(e.not().add(1))}var PAt=3,RAt=30,jAt=2*RAt+1,Ibe=180/Math.PI;function Rbe(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);MAt(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 jbe(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<PAt+jAt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=Eg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=Eg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function dL(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Pbe(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function hL(e){return[Pbe(e[0]),Pbe(e[1])]}function mL(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 gL([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Ibe,n*Ibe]}function MAt(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 Mbe(e){let t=dL(e.ij,e.level,[.5,.5]),r=hL(t),n=mL(e.face,r);return gL(n)}var LAt=100;function vL(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(LAt*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 m=dL(r,n,l),g=hL(m),b=mL(t,g),y=gL(b);Math.abs(y[1])>89.999&&(y[0]=u);let w=y[0]-u;y[0]+=w>180?-360:w<-180?360:0,o[s++]=y[0],o[s++]=y[1],u=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Ag(e){let t=qAt(e);return Rbe(t)}function qAt(e){if(e.indexOf("/")>0)return e;let t=Uy(e);return jbe(t)}function xL(e){let t=Ag(e);return Mbe(t)}function qbe(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=Ag(a),s=vL(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=Lbe(r)}else{let r=vL(e);t=Lbe(r)}return t}function Lbe(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 bL(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=Ag(e),a=qbe(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new Z(o,c,r)),l.push(new Z(u,c,r)),l.push(new Z(u,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,c,n)),l.push(new Z(u,c,n)),l.push(new Z(u,s,n)),l.push(new Z(o,s,n)),l}function c8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=bL(t,r),i=xL(t),a=i[0],o=i[1],s=Bt.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new Z(s[0],s[1],s[2]);n.push(u);let c=Dy(n);return[...c.center,...c.halfAxes]}var NAt=4,UAt=8,GAt={QUADTREE:NAt,OCTREE:UAt};function zAt(e,t,r){if(e!=null&&e.box){let n=Uy(e.s2VolumeInfo.token),i=pL(n,t),a=fL(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:c8(o),s2VolumeInfo:o}}}async function _L(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:i=0,implicitOptions:a,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:u,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:p,basePath:d}=a,h={children:[],lodMetricValue:0,contentUrl:""};if(!l)return E5.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let b=GAt[u],y=Math.log2(b),w=i&1,T=i>>1&1,E=i>>2&1,k=Rd(n.localX,w,1),B=Rd(n.localY,T,1),j=Rd(n.localZ,E,1),C=Rd(r.x,k,m),I=Rd(r.y,B,m),P=Rd(r.z,j,m),L=Rd(n.mortonIndex,i,y),G=m===c&&yL(t.childSubtreeAvailability,L),V,X,Y,he;if(G){let pe=`${d}/${p}`,Ce=l8(pe,g,C,I,P);V=await $r(Ce,s8,o),he=0,X={level:g,x:C,y:I,z:P},Y={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else V=t,he=(b**m-1)/(b-1)+L,X=r,Y={mortonIndex:L,localLevel:m,localX:k,localY:B,localZ:j};if(!yL(V.tileAvailability,he))return h;yL(V.contentAvailability,he)&&(h.contentUrl=l8(f,g,C,I,P));for(let pe=0;pe<b;pe++){let Ce=zAt(s,pe,u),Be=await _L({subtree:V,subtreeData:X,parentData:Y,childIndex:pe,implicitOptions:a,loaderOptions:o,s2VolumeBox:Ce});(Be.contentUrl||Be.children.length)&&h.children.push(Be)}return h.contentUrl||h.children.length?HAt(h,{level:g,x:C,y:I,z:P},a,s):h}function yL(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&E5.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?WAt(t,r.explicitBitstream):!1}function HAt(e,t,r,n){let{basePath:i,refine:a,getRefine:o,lodMetricType:s,getTileType:u,rootLodMetricValue:c,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${i}/`,""),p=c/2**t.level,d=n!=null&&n.box?{box:n.box}:l,h=VAt(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(a),type:u(e),lodMetricType:s,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:h}}function VAt(e,t,r){if(e.region){let{level:n,x:i,y:a,z:o}=t,[s,u,c,l,f,p]=e.region,d=2**n,h=(c-s)/d,[m,g]=[s+h*i,s+h*(i+1)],b=(l-u)/d,[y,w]=[u+b*a,u+b*(a+1)],T,E;if(r==="OCTREE"){let k=(p-f)/d;[T,E]=[f+k*o,f+k*(o+1)]}else[T,E]=[f,p];return{region:[m,y,g,w,T,E]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Rd(e,t,r){return(e<<r)+t}function l8(e,t,r,n,i){let a=$At({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function $At(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function WAt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function EL(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 AL(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function wL(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 ga.resolve(t,e)}function Nbe(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=wL(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:EL(e,r),refine:AL(e.refine)}}async function zbe(e,t,r){let n=null,i=Gbe(e.root);i&&e.root?n=await Ube(e.root,e,t,i,r):n=Nbe(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=Gbe(c),f;l?f=await Ube(c,e,t,l,r):f=Nbe(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function Ube(e,t,r,n,i){var T,E,k;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=l8(c,0,0,0,0),f=wL(l,r),p=await $r(f,s8,i),d=(T=e.content)==null?void 0:T.uri,h=d?wL(d,r):"",m=(E=t==null?void 0:t.root)==null?void 0:E.refine,g=e.geometricError,b=(k=e.boundingVolume.extensions)==null?void 0:k["3DTILES_bounding_volume_S2"];if(b){let j={box:c8(b),s2VolumeInfo:b};e.boundingVolume=j}let y=e.boundingVolume,w={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:EL,getRefine:AL};return await KAt(e,r,p,w,i)}async function KAt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await _L({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:EL(e,s),refine:AL(e.refine),content:u||e.content,children:a}}function Gbe(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 Ru={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:JAt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function JAt(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?XAt(e,t,r):YAt(e,t,r)}async function XAt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=QAt(i),o=await zbe(n,a,t||{});return{...n,shape:"tileset3d",loader:Ru,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 YAt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await sL(e,0,t,r,n.content),n.content}function QAt(e){return ga.dirname(e)}var Hbe="https://api.cesium.com/v1/assets";async function Vbe(e,t){var a;if(!t){let o=await ZAt(e);for(let s of o.items)s.type==="3DTILES"&&(t=s.id)}let r=await eTt(e,t),n=r.type,i=((a=r.options)==null?void 0:a.url)||r.url;return _t(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function ZAt(e){_t(e);let t=Hbe,r={Authorization:`Bearer ${e}`},n=await ta(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function eTt(e,t){_t(e,t);let r={Authorization:`Bearer ${e}`},n=`${Hbe}/${t}`,i=await ta(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await ta(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function tTt(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 Vbe(r,n)}var f8={...Ru,id:"cesium-ion",name:"Cesium Ion",preload:tTt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=f8,Ru.parse(e,t,r)),options:{"cesium-ion":{...Ru.options["3d-tiles"],accessToken:null}}};var ewe=Dt(Z2e(),1),_8t="4.4.0-alpha.1",dq={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:_8t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:w8t};async function w8t(e,t={}){let r=[],n={};try{let i=new ewe.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=E8t(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 E8t(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 A8t=1024,Xd=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=-1,i=e.length-4n;do{let a=i;i-=BigInt(A8t),i=i>=0n?i:0n;let o=new Uint8Array(await e.slice(i,a));for(let s=o.length-1;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=o[s],r.every((u,c)=>u===t[c])){n=s;break}}while(n===-1&&i>0n);return i+BigInt(n)};var T8t=new Uint8Array([1,0]);function rC(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of S8t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));twe[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return hn(...r)}function Ai(e,t,r,n){twe[t](e,Number(r),n)}var twe={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)}},S8t=[{size:2,default:new DataView(T8t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var rwe=new Uint8Array([80,75,5,6]),nwe=new Uint8Array([80,75,6,7]),iwe=new Uint8Array([80,75,6,6]),awe=8n,C8t=10n,owe=12n,swe=16n,D8t=22n,uwe=8n,cwe=24n,F8t=32n,lwe=40n,fwe=48n,k8t=56n,nC=async e=>{let t=await Xd(e,rwe),r=BigInt(await e.getUint16(t+awe)),n=BigInt(await e.getUint32(t+owe)),i=BigInt(await e.getUint32(t+swe)),a=t-20n,o=0n,s=await e.slice(a,a+4n);if(ou(s,nwe)){o=await e.getBigUint64(a+uwe);let u=await e.slice(o,o+4n);if(!ou(u,iwe.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+cwe),n=await e.getBigUint64(o+lwe),i=await e.getBigUint64(o+fwe)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function pwe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(Ai(a,2,o+awe,i),Ai(a,2,o+C8t,i)),n-r<=4294967295&&Ai(a,4,o+owe,n-r),r<4294967295&&Ai(a,4,o+swe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;Ai(a,8,s+uwe,n),Ai(a,8,fwe,r),Ai(a,8,cwe,i),Ai(a,8,F8t,i),Ai(a,8,lwe,n-r)}return new Uint8Array(a.buffer)}function dwe(e){let t=new DataView(new ArrayBuffer(Number(D8t)));for(let i of B8t)Ai(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=I8t(e),n=O8t(e);return hn(n,r,t.buffer)}var B8t=[{offset:0,size:4,default:new DataView(rwe.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 O8t(e){let t=new DataView(new ArrayBuffer(Number(k8t)));for(let r of R8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function I8t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of P8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var P8t=[{offset:0,size:4,default:new DataView(nwe.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],R8t=[{offset:0,size:4,default:new DataView(iwe.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 j8t=20,M8t=24,L8t=28,q8t=30,N8t=32,U8t=42,E1=46n,Qd=new Uint8Array([80,75,1,2]),Yd=async(e,t)=>{if(e>=t.length)return null;let r=new DataView(await t.slice(e,e+E1)),n=r.buffer.slice(0,4);if(!ou(n,Qd.buffer))return null;let i=BigInt(r.getUint32(j8t,!0)),a=BigInt(r.getUint32(M8t,!0)),o=r.getUint16(q8t,!0),s=BigInt(r.getUint16(N8t,!0)),u=r.getUint16(L8t,!0),c=await t.slice(e+E1,e+E1+BigInt(u+o)),l=c.slice(0,u),f=new TextDecoder().decode(l),p=e+E1+BigInt(u),d=r.getUint32(U8t,!0),h=BigInt(d),m=new DataView(c.slice(u,c.byteLength)),g={uncompressedSize:a,compressedSize:i,localHeaderOffset:h,startDisk:s},b=G8t(g,m);return{...g,...b,extraFieldLength:o,fileNameLength:u,fileName:f,extraOffset:p}};async function*zu(e){let{cdStartOffset:t,cdByteSize:r}=await nC(e),n=new Hx(new DataView(await e.slice(t,t+r))),i=await Yd(0n,n);for(;i;)yield i,i=await Yd(i.extraOffset+BigInt(i.extraFieldLength),n)}var hwe=(...e)=>e[0]+e[1]*16,G8t=(e,t)=>{let r=z8t(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)=>hwe(c[u],c[u+1])===1&&hwe(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},z8t=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 hq(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=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(E1)));for(let s of H8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var H8t=[{offset:0,size:4,default:new DataView(Qd.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 V8t=8,$8t=18,W8t=22,K8t=26,J8t=28,A1=30n,mq=new Uint8Array([80,75,3,4]),Ss=async(e,t)=>{let r=new DataView(await t.slice(e,e+A1)),n=r.buffer.slice(0,4);if(!ou(n,mq))return null;let i=r.getUint16(K8t,!0),a=r.getUint16(J8t,!0),o=await t.slice(e+A1,e+A1+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+A1+BigInt(i+a),f=r.getUint16(V8t,!0),p=BigInt(r.getUint32($8t,!0)),d=BigInt(r.getUint32(W8t,!0)),h=4;return d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function gq(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=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(A1)));for(let s of X8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var X8t=[{offset:0,size:4,default:new DataView(mq.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 Y8t(e){let t=await nC(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 gwe(e,t,r){let n=parseInt(await new Vx().hash(t,"hex"),16),i=gq({crc32:n,fileName:e,length:t.byteLength}),a=hq({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(hn(i,t)),new Uint8Array(a)]}async function vq(e,t,r){let n=new za(e,!0),[i,a,o]=await Y8t(n),s=n.length,[u,c]=await gwe(r,t,s);await n.append(u);let l=hn(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(pwe(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function xq(e,t,r){let n=Q8t(e),i=new gc(t,"w"),a=[],o=[];for await(let l of n)await mwe(l,i,o,a);if(r){let l=await r(a);await mwe(l,i,o)}let s=(await i.stat()).bigsize,u=hn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(dwe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function mwe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await gwe(e.path,e.file,i);await t.append(a),r.push(o)}function Q8t(e){async function*t(){let r=await vwe(e);for(let n of r){let i=await(await ta(ga.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function vwe(e,t="",r){let n=r||new zx({}),i=await n.readdir(iC(e,t)),a=[];for(let o of i){let s=iC(e,t,o);if((await n.stat(s)).isDirectory){let u=await vwe(e,iC(t,o));a.push(...u)}else a.push(iC(t,o))}return a}function iC(...e){let t=e.filter(r=>r.length);return ga.join(...t)}var Xg=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){Ix(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 Rp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var T1=class extends Xg{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 Zd=Dt(eq(),1),ol=Dt(require("zlib"),1),sl=class extends Xg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await l0(ol.default.gzip)(t):await l0(ol.default.deflate)(t);return mc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await l0(ol.default.gunzip)(t):await l0(ol.default.inflate)(t);return mc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gzipSync(t):ol.default.deflateSync(t);return mc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Zd.default.deflateRaw:Zd.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gunzipSync(t):ol.default.inflateSync(t);return mc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Zd.default.inflateRaw:Zd.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Zd.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 Zd.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 S1=class extends sl{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 xwe={0:async e=>e,8:async e=>await new sl({raw:!0}).decompress(e)},ul=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!wr)this.fileProvider=new za(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof cl?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):z5(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=zu(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 Ss(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=xwe[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=zu(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 cl=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new ul(this.fileProvider).fetch(t)).arrayBuffer()}};function C1(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=Z8t(e,n,16);r[a]=i}return r}function Z8t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function bq(e){let t=zu(e);return eCt(t)}async function eCt(e){let t=new cu,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 D1(e){let t=new cu,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(hn(rCt(u),nCt(a.localHeaderOffset)))}let i=n.sort(tCt);return gw(i)}function tCt(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 rCt(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 nCt(e){return new BigUint64Array([e]).buffer}var iCt={0:e=>new T1().decompress(e),8:e=>new sl({raw:!0}).decompress(e)},F1=class extends cl{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 cu().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Ss(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=iCt[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Xf(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return _t(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 Yf(e,t,r){e&&e.setUint32(t+8,r,!0)}function bwe(e,t,r,n,i){e={magic:Pf.COMPOSITE,tiles:[],...e};let a=r;r+=Xf(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 Yf(t,a,r-a),r}function ywe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ga(s.length,8),l=u?Ga(u.length,8):0;e={magic:Pf.BATCHED_MODEL,...e};let f=r;r=Xf(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=c0(t,r,s,8),a&&(r=c0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Nx(t,r,p,p.byteLength)),Yf(t,f,r-f),r}function _we(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:Pf.INSTANCED_MODEL,...e};let f=r;return r=Xf(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+=u0(t,r,c,l),r+=u0(t,r,o,s),Yf(t,f,r-f),r}var aCt={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function wwe(e,t,r,n){let{featureTableJson:i=aCt}=e,a=JSON.stringify(i);a=N5(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Pf.POINT_CLOUD,...e};let c=r;return r+=Xf(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+=u0(t,r,a,o),r+=Nx(t,r,s,u),Yf(t,c,r-c),r}function _q(e,t){let r=yq(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return yq(e,i,0,t),n}function yq(e,t,r,n){switch(_t(typeof e.type=="string"),e.type){case ci.COMPOSITE:return bwe(e,t,r,n,yq);case ci.POINT_CLOUD:return wwe(e,t,r,n);case ci.BATCHED_3D_MODEL:return ywe(e,t,r,n);case ci.INSTANCED_3D_MODEL:return _we(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var wq={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>Ewe(e,t),encodeSync:Ewe};function Ewe(e,t){return _q(e,t)}var Go=require("path");var Awe=Dt(require("crypto")),oC=new Uint8Array(256),aC=oC.length;function Eq(){return aC>oC.length-16&&(Awe.default.randomFillSync(oC),aC=0),oC.slice(aC,aC+=16)}var Ti=[];for(let e=0;e<256;++e)Ti.push((e+256).toString(16).slice(1));function Twe(e,t=0){return Ti[e[t+0]]+Ti[e[t+1]]+Ti[e[t+2]]+Ti[e[t+3]]+"-"+Ti[e[t+4]]+Ti[e[t+5]]+"-"+Ti[e[t+6]]+Ti[e[t+7]]+"-"+Ti[e[t+8]]+Ti[e[t+9]]+"-"+Ti[e[t+10]]+Ti[e[t+11]]+Ti[e[t+12]]+Ti[e[t+13]]+Ti[e[t+14]]+Ti[e[t+15]]}var Swe=Dt(require("crypto")),Aq={randomUUID:Swe.default.randomUUID};function oCt(e,t,r){if(Aq.randomUUID&&!t&&!e)return Aq.randomUUID();e=e||{};let n=e.random||(e.rng||Eq)();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 Twe(n)}var Hu=oCt;var ph=Dt(require("process"),1),ZC=Dt(Cs(),1),eD=Dt(Cq(),1);var cC=require("path"),Gwe=Dt(Cs(),1);var Lwe=()=>({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 eh=require("fs"),Yg=require("path");var qwe=require("zlib"),sC=require("fs");function uC(e){let t=`${e}.gz`,r=(0,qwe.createGzip)(),n=(0,sC.createReadStream)(e),i=(0,sC.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 Da(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 eh.promises.mkdir(e,{recursive:!0});let i=(0,Yg.join)(e,r);try{await eh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Vu(e,t,r="index.json",n=!0,i){let a=await Da(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await uC(a);return await I1(a),o}return a}async function Qg(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,Yg.join)(e,t);$r(o,U5).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function B1(e){try{return await eh.promises.stat(e),!0}catch{return!1}}function O1(e){return eh.promises.rm(e,{recursive:!0})}function I1(e){return eh.promises.unlink(e)}function Nwe(e){return(0,Yg.isAbsolute)(e)?e:(0,Yg.join)(process.cwd(),e)}async function Uwe(e,t){try{await eh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Si=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=(0,cC.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,cC.join)(r,n);return await B1(i)?(console.log(`load ${i}.`),await Qg(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),Si.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?Si.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,Gwe.default)({nodeCount:this.nodesCounter},Lwe()),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}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,cC.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()}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}),Si.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 P1=require("path"),lC=require("fs");function Zg(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return zwe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return zwe(r,n)}function zwe(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 fC(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=Nwe(r);try{if(t){let s=(0,P1.join)(i,`${n}.slpk`);return(await lC.promises.stat(s)).size}let a=(0,P1.join)(i,n);return await Hwe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function Hwe(e){let t=0,r=await lC.promises.readdir(e);for(let n of r){let i=await lC.promises.stat((0,P1.join)(e,n));i.isDirectory()?t+=await Hwe((0,P1.join)(e,n)):t+=i.size}return t}var uEe=Dt(Cq(),1);var th=3,ev=9;function $we(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/ev;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=vCt(o),c=xCt({...u,...e}),l=bCt(c);return yCt(l,u.featureCount)}function vCt(e){let t=1,r=1,n=Vwe(e.slice(0,th)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=th;c<e.length;c+=th){let l=Vwe(e.slice(c,c+th));n!==l&&(i[t]=c/th-1,i[t+1]=c/th,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/th-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function Vwe(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 xCt(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,m=0,g=0,b=0,y=0;for(let w=0;w<t.length;w++){let T=s[w*2],E=s[w*2+1],k=R1("positions",T,E),B=R1("normals",T,E),j=R1("colors",T,E),C=R1("uvRegions",T,E),I=R1("texCoords",T,E);u.push({featureId:t[w],positions:c.subarray(h,h+k),normals:l.subarray(m,m+B),colors:f.subarray(g,g+j),uvRegions:d.subarray(b,b+C),texCoords:p.subarray(y,y+I)}),h+=k,m+=B,g+=j,b+=C,y+=I}return u}function R1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*ev;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function bCt(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=Wwe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function yCt(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/ev-1+o),i.push(f.positions.length/ev+o),o+=f.positions.length/ev,a+=1}let s=Wwe(e);return i.push(s.positions.length/ev-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function Wwe(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ua(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ua(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ua(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ua(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ua(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function pC(e,t){let r,n,i,a=Bt.WGS84.cartesianToCartographic(e.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof ui?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Co().fromMatrix3(new rr([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 Kwe(e,t){let r=_Ct(e),n=Dy(r),i=pM(r),a=Bt.WGS84.cartesianToCartographic(i.center,new Z),o=Bt.WGS84.cartesianToCartographic(n.center,new Z);return t&&(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 _Ct(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function Jwe(e){let t;e instanceof ra?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Bt.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),a=Bt.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);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 Dq(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new rr([t,0,0,0,t,0,0,0,t]);return new ui(r,n)}function Xwe(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(m=>{var y,w;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(w=m==null?void 0:m.image)==null?void 0:w.data,b=new Uint8Array(g.length);return b.set(g),{data:b,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];Ywe(n);let{cartographicOrigin:a,modelMatrix:o}=ECt(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function wCt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function ECt(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new mr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new mr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new mr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(a),u=Bt.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:u}}function Ywe(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:wCt(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&&Ywe(n.children)}}function Qwe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Fo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function Zwe(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 Fo:return TCt(e,o,r,n);case U3:return ACt(e,o);default:return[]}return[]}function ACt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function TCt(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 SCt(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}`,m=e[h].value;return CCt(a,m,r)}return n?e[n].value:[]}function SCt(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 CCt(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],m=Math.min(F3(d)*o.width|0,o.width-1),b=(Math.min(F3(h)*o.height|0,o.height-1)*o.width+m)*o.components+u,y=new Uint8Array(o.data)[b];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function eEe(e,t){let r={};for(let n in t){let i=t[n];r[n]=DCt(i,e)}return r}function DCt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function tEe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function FCt(e){return typeof e=="string"||typeof e=="bigint"?Zr.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?Zr.SHORT_INT_TYPE:Zr.DOUBLE_TYPE:Zr.STRING_TYPE}function rEe(e){let t={};for(let r in e){let n=e[r][0],i=FCt(n);t[r]=i}return t}var nEe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Fo])==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],m=kCt(h);r[d]=m}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[Wc])==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],m=BCt(h);r[d]=m}return r}return null},kCt=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=Zr.STRING_TYPE;break;default:t=Zr.STRING_TYPE;break}return t},BCt=e=>{let t;if(e.array)t=Zr.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=Zr.STRING_TYPE;break;default:t=Zr.STRING_TYPE;break}return t};var dC=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var OCt=1,ICt=1,Ds=3,j1=2,PCt=4,RCt="string",jCt="Int32",MCt="Float64",LCt="Oid32",iEe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Qf=new Z;async function Fq({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 w;let d=u,h=await ZCt((w=e.gltf)==null?void 0:w.materials,c),m=Xwe(e,t,r),g=Qwe(e,p),b=await UCt(m,h,d,g);u&&qCt(b,l);let y=[];for(let T of h){let E=T.mergedMaterials[0].originalMaterialId;if(!b.has(E))continue;let k=b.get(E);if(!k)continue;let{material:B,texture:j}=T,C=await n();y.push(await NCt({convertedAttributes:k,material:B,texture:j,tileContent:e,nodeId:C,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function qCt(e,t){for(let r of e.values()){let n=Kwe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Ds){let o=r.positions.subarray(a,a+Ds);Bt.WGS84.cartesianToCartographic(Array.from(o),Qf),t&&(Qf[2]=Qf[2]-t.getHeight(Qf[1],Qf[0])),Qf=Qf.subtract(i),r.positions.set(Qf,a)}}}async function NCt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var I;let l=e.boundingVolumes,f=e.positions.length/Ds,{faceRange:p,featureIds:d,positions:h,normals:m,colors:g,uvRegions:b,texCoords:y,featureCount:w}=$we(e),T={};o&&(T=lDt(d,e.featureIndices,a,o));let E=new Uint32Array(2),k=bDt(d);E.set([f,w],0);let B=new Uint8Array(hn(E.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,b,k.buffer,p.buffer)),j=u?yDt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:b,featureIds:d,faceRange:p},c):null,C=[];return s&&o&&(C=hDt(d,T,o,s)),{nodeId:i,geometry:B,compressedGeometry:j,texture:r,hasUvRegions:Boolean(b.length),sharedResources:aDt(((I=n.gltf)==null?void 0:I.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:C,featureCount:w,boundingVolumes:l}}async function UCt(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)}cEe({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 cEe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([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)zCt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function GCt(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 zCt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=GCt(e,o),c=e.mesh;c&&HCt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),cEe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function HCt({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 m;return h===((m=c.material)==null?void 0:m.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),_t(l!==null,"Primitive - material mapping failed"),_t(c.mode===void 0||c.mode===mt.TRIANGLES||c.mode===mt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=VCt(c);l.positions=Ua(l.positions,aEe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:$Ct,useCartesianPositions:a})),l.normals=Ua(l.normals,aEe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:WCt,useCartesianPositions:!1})),l.texCoords=Ua(l.texCoords,KCt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Ua(l.colors,JCt(p.COLOR_0,d)),f&&(l.uvRegions=Ua(l.uvRegions,XCt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(YCt(QCt(p,c,t,s),d))}}function VCt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return dC(n.length/Ds)}if(t&&e.mode===mt.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 aEe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Ds);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Ds,s=t.subarray(o,o+Ds),u=new Z(Array.from(s));u=n(u,e),i[a*Ds]=u.x,i[a*Ds+1]=u.y,i[a*Ds+2]=u.z}return i}function $Ct(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Bt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function WCt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function KCt(e,t){let r=new Float32Array(t.length*j1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*j1,a=e.subarray(i,i+j1);r[n*j1]=a[0],r[n*j1+1]=a[1]}return r}function JCt(e,t){let r=(e==null?void 0:e.components)||PCt,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 XCt(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 YCt(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 QCt(e,t,r,n){let i=Zwe(e,t,r,n);if(i.length)return i;for(let a=0;a<iEe.length;a++){let o=iEe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function ZCt(e=[],t){let r=[];for(let n of e)r.push(rDt(n));return t&&(r=await eDt(r)),r}async function eDt(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 tDt(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:iDt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function tDt(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 rDt(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:nDt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||OCt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||ICt}},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:Hu();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 nDt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function iDt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function aDt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=oDt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function oDt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=uDt(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:sDt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function sDt(e,t=1){let r=.00015686274509803922,n=new So(0,0,0,1),i=new So(1,1,1,1),a=new So(r,r,r,0),o=new So(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 uDt(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:cDt(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 cDt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.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 lDt(e,t,r,n){let i=fDt(e,n,r);return oEe(t,i),oEe(e,i),i}function fDt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=dDt(i,t,r);n[a.toString()]=o}return n}function pDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function dDt(e,t,r){let n=pDt(t,e),i=(0,uEe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function oEe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function hDt(e,t,r,n){let i=[],o=tEe(e,r)?eEe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=gDt(u,n);if(c){let l=s[u],f=mDt(c,l);i.push(f)}}return i}function mDt(e,t){let r;switch(e){case LCt:case jCt:r=vDt(t);break;case MCt:r=xDt(t);break;case RCt:r=sEe(t);break;default:r=sEe(t)}return r}function gDt(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 vDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return hn(t.buffer,r.buffer)}function xDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return hn(t.buffer,r.buffer,n.buffer)}function sEe(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 hn(t.buffer,a.buffer,n.buffer,...i)}function bDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function yDt(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 g=0;g<f.length;g++)f.set([g],g);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=_Dt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,m["uv-region"]={"i3s-attribute-type":"uv-region"}),Xm({attributes:h,indices:f},D3,{...D3.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function _Dt(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)*Ds;r.fill(n,i,o),n++,i=o+1}return r}function lEe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=ADt(e);switch(i){case Wc:return r=wDt(a,t),r;case Fo:return r=EDt(a,t),r;default:return null}}function wDt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return hC(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return hC(r)}return null}function EDt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return hC(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return hC(n)}return null}function hC(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function ADt(e){var a,o,s,u;let t=[Fo,Wc];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 pEe=Dt(Cs(),1),dEe=require("path");var fEe=()=>({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 hEe(e,t,r){let n={serviceItemId:Hu().replace(/-/gi,""),layerName:e,layers0:t},i=(0,pEe.default)(n,fEe()),a=(0,dEe.join)(r,"SceneServer");await Da(a,JSON.stringify(i))}var kq=16;function mEe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*kq/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 Bq(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=kq),e.mbs[3]*2*kq/r}var TDt=[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],SDt=372,CDt=[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],DDt=372,FDt=[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],kDt=12,Oq=(3+1)*(3+2)/2,BDt=2,tv=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],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=ODt(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(Oq);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)],m=CDt;s!==0&&(m=s===this.options._height-2?FDt:TDt);let g=SDt;s!==0&&(g=s===this.options._height-2?DDt:240);for(let b=0;b<Oq;++b){p[b]=0;for(let y=0;y<kDt;++y)p[b]+=h[y]*m[Oq*y+b];p[b]/=g}}if(!this.options.cubic){let h=(1-i)*u+i*c,m=(1-i)*l+i*f,g=(1-a)*h+a*m,b=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,b}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+BDt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function ODt(e,t){t=Math.abs(t);let r=gEe(e,t);return 2*Math.abs(r)===t?r-=gEe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function gEe(e,t){return e-Math.floor(e/t)*t}var IDt=10,PDt=65535;function Iq(e,t){let r=RDt(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 b=n.value.line;if(b.length)if(b[0]==="#"){let y=b.split(" "),w=y[0],T=y[1];if(w!=="#"||!T)continue;let E=y.length>2?y.slice(2):[];if(T==="Description")u=E.join(" ");else if(T==="DateTime")c=E.join(" ");else if(T==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(y[2],10)}else if(T==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(y[2])}else T===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):T===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=b.split(" ");if(y=y.filter(w=>w!==""),l=parseInt(y[0],10),f=parseInt(y[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!==PDt)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 m=l/360,g=(f-1)/180;return new tv({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*RDt(e){let t=0;do{let r=e.indexOf(IDt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:vEe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:vEe(n)}}}while(t<e.length);return{offset:t,line:""}}function vEe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var jDt="4.4.0-alpha.1";var mC={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:jDt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>Iq(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var rv=Dt(Cs(),1);var xEe={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 MDt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),LDt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),qDt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),NDt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),bEe=()=>({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,rv.default)(e,MDt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,rv.default)(e,xEe)},fullExtent:{path:"fullExtent",transform:e=>(0,rv.default)(e,NDt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,rv.default)(e,LDt())},nodePages:{path:"nodePages",transform:e=>(0,rv.default)(e,qDt())},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 Pq=Dt(Cs(),1),UDt=()=>({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}}}),GDt=()=>({"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}}}),yEe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,Pq.default)(e,UDt())];return e.draco&&t.push((0,Pq.default)({geometryConfig:e},GDt())),t}}});var M1=Dt(Cs(),1),zDt=()=>({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}}),HDt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,M1.default)(r,zDt())}}),VDt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),$Dt=()=>({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,M1.default)(n,VDt()))}}),_Ee=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:WDt},textureDefinitions:{path:"textureDefinitionInfos",transform:KDt}});function WDt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,M1.default)(a,HDt());return n}function KDt(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,M1.default)(a,$Dt())}return n}var JDt=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 EEe(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 XDt(t,e),YDt(t,e),t}function XDt(e,t){var o;let r=QDt(t.parentNode.obb),n=ZDt(t);if(eFt(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 YDt(e,t){var a;let r=wEe(t.mbs),n=wEe(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 wEe(e){return new ra([e[0],e[1],e[2]],e[3])}function QDt(e){let{center:t,halfSize:r,quaternion:n}=e;return new ui().fromCenterHalfSizeQuaternion(t,r,n)}function ZDt(e){let t=e.obb.halfSize,r=JDt,n=Bt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new Z(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 eFt(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=Bt.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var gC=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var AEe=Dt(require("process"),1),tFt=4*1024*1024*1024,nv=class extends gC{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),AEe.default.memoryUsage().rss>tFt&&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 iv="Tile converter does not work in browser, only in node js environment",Zf=".dump.json";var jq=require("path"),Mq=Dt(Cs(),1);var TEe=Dt(Cs(),1),SEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),rFt=()=>({href:{path:"href"}}),nFt=()=>({id:{path:"id"},...rFt(),...SEe()}),Rq=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...SEe(),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,TEe.default)(e,nFt()),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 Fs=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,jq.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Vu(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,jq.join)(this.converter.layers0Path,"nodes",t);return await Qg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Fs.createRootNodeIndexDocument(t);return await new Fs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Fs.createNodeIndexDocument(t,r,n,i,a);return await new Fs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Hu().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,Mq.default)(r,Rq())}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,Mq.default)(u,Rq());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 m=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let b=0;b<g;b++){let y=t.converter.layers0.attributeStorageInfo[b].key;c.attributeData.push({href:`./attributes/${y}/0`})}}return c}};var Lq=async(e,t,r)=>{let n=L1(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await vC(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},qq=async(e,t,r)=>{let n=L1(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 vC(t.contentUrl,e.loader,i)};async function vC(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 za(a),s=await iFt(o),u=new F1(o,s,a),c=new ul(u),l=await $r(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await $r(e,t,r)}function L1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function iFt(e){let t,r=await Xd(e,Qd),n=await Yd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Ss(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=C1(o)}return t}var xC=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 xC({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var aFt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],CEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Va(e.gltfArrayBuffer,Kc,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=oFt(n),a=sFt(n);return{meshTopologyTypes:i,metadataClasses:a}},oFt=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(aFt[i])}return t},sFt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Fo])==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[Wc])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},DEe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var FEe=Dt(require("process"),1);var uFt=.2,av=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||FEe.default.hrtime.bigint,this.threshold=t.threshold||uFt}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?Zg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var c6e=require("util");var sp=require("path"),l6e=Dt(require("process"),1),f6e=Dt(s6e(),1);var u6e={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 fh=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,outputVersion:m="1.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,outputVersion:m};let g=(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`);if(await B1(g))try{let b=await Qg((0,sp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Zf}`),{options:y,tilesConverted:w,textureSetDefinitions:T,attributeMetadataInfo:E,materialDefinitions:k}=b;if(new f6e.default().compile(u6e)(b)&&(0,c6e.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=T,this.attributeMetadataInfo=E,this.materialDefinitions=k,this.restored=!0;return}}catch(b){console.log("Can't open dump file",b)}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=l6e.default.hrtime();await Da((0,sp.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}${Zf}.${r[0]}.${r[1]}`),await Uwe((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await B1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))&&await I1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}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 d6e,OOt=(d6e=ph.default.env)==null?void 0:d6e.IonToken,p6e=64,IOt="3DTILES",POt="3DObject",ROt=1800,jOt="https://",up="phase1-count",yv=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=Ru;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new nv(new fh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new QS,this.nodePages=new Si(Da,p6e,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 fh}async convert(t){if(wr)return console.log(iv),iv;this.conversionStartTime=ph.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:m},this.progresses[up]=new av,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(jOt)!==-1?f8:Ru,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new nv(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await $r(n,mC),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Vu);try{let b=await this._fetchPreloadOptions(),y=i;b.url&&(y=b.url),b.headers&&(this.loadOptions.fetch={headers:b.headers}),this.sourceTileset=await vC(y,this.Loader,this.loadOptions),(this.Loader===Ru||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(b){throw b}finally{await this.writeQueue.finalize(),qi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await xC({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[up].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(L1(t))return await Lq(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[up].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await qq(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 CEe(i);return DEe(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,Go.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,Go.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Go.join)(this.layers0Path,"nodepages"):n;try{await O1(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,eD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=Fy(a.boundingVolume,new mr(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=pC(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[up].startMonitoring();let u=await Fs.createRootNode(s,this);await xC({tile:a,traversalProps:{transform:new mr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[up].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=POt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,ZC.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),yEe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),hEe(r,this.layers0,n);for(let p of this.compressList||[])await uC(p),await I1(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=Jwe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Hu().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Hu().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:p6e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,ZC.default)(o,bEe())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Vu(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Go.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await xq(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await D1(i)}));try{await O1(t)}catch{}}async convertTile(t,r){let n=L1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await Lq(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[up].stepsDone+=1;let f="Calculating time left...",p=this.progresses[up].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[up].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=mEe(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 Fs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Fs(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=Fy(r.boundingVolume,n,null),a=pC(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 qq(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=Fy(r.boundingVolume,n,null),o=pC(a,this.geoidHeightModel),s=lEe(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:m,nodeInPage:g,nodeData:b}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=EEe(b),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}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 Fq({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??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,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`),Si.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Si.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Si.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Si.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Si.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Si.updateVertexCountByNodeId(p,o)),Si.updateNodeAttributeByNodeId(p),s&&Si.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,Go.join)(this.layers0Path,"nodes",r),l=(0,Go.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)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,Go.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Vu(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,Go.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Vu(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,ZC.default)(t,_Ee()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,Go.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Vu(c,u,"sharedResource.json")})}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=Xm({...t.image,data:l},UM,{...UM.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=Xm(t.image.data[0],kM);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}){let u=(0,Go.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Vu(u,t,`${r}.${n}`,c)})}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]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,Go.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Vu(l,c,"0.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,eD.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,eD.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=nEe(t.gltf,this.options.metadataClass)):r&&(n=rEe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await fC({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=ph.default.hrtime(this.conversionStartTime),s=Zg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${IOt}`),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||OOt}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=ph.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(ph.default.hrtime(this.refreshTokenTime)[0]<ROt)return;this.refreshTokenTime=ph.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 q6e=require("path"),CU=Dt(require("process"),1),N6e=Dt(Cs(),1);function wU(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 h6e={UInt8:mt.UNSIGNED_BYTE,UInt16:mt.UNSIGNED_SHORT,Float32:mt.FLOAT,UInt32:mt.UNSIGNED_INT,UInt64:mt.DOUBLE};function _v(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 m6e="String",g6e="Oid32",v6e="Float64",x6e="Int16";function tD(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 wv(e,t=null){return t?`${e}?token=${t}`:e}function b6e(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 y6e(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 rD=new Z([0,0,0]);function LOt(e){switch(e){case"ktx-etc2":case"dds":return Y3;case"ktx2":return Od;case"jpg":case"png":default:return cg}}var qOt="i3s-attribute-type";async function A6e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new mr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=wv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=LOt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===cg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Na(f,[],p,i);a.texture=d}catch{let h=await Va(f,u,p,i);a.texture=h}}else if(u===Y3||u===Od){let p=await $r(f,u,t.textureLoaderOptions);u===Od&&(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=KOt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await NOt(e,a,t,r,n)}async function NOt(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 Va(e,Dd,{draco:{attributeNameEntry:qOt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:b,["feature-index"]:y,["uv-region"]:w}=d.attributes;o={position:h,normal:m,color:g,uv0:b,uvRegion:w,id:y},UOt(o,d);let T=QOt(y);T&&YOt(o,T)}else{let{vertexAttributes:d,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,b=zOt(e,n);u=b.byteOffset,s=b.vertexCount,c=b.featureCount;let{attributes:y,byteOffset:w}=w6e(e,u,d,s,h),{attributes:T}=w6e(e,w,m,c,g);XOt(T),o=GOt(y,T)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=VOt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=WOt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:_6e(o.color),texCoords:o.uv0,uvRegions:_6e(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 UOt(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 GOt(e,t){return{...e,...t}}function _6e(e){return e&&(e.normalized=!0,e)}function zOt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=wU(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=_v(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=_v(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function w6e(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*_v(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=HOt(c,n*u,_v(s));else{let f=wU(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:h6e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*_v(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function HOt(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 VOt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new mr,o=new Z(r[0],r[1],r[2]),s=new Z;return Bt.WGS84.cartographicToCartesian(o,s),Bt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=$Ot(n,i,o),a}function $Ot(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)Bt.WGS84.cartographicToCartesian(n.subarray(o,o+3),rD),n[o]=rD.x,n[o+1]=rD.y,n[o+2]=rD.z;return n}function WOt(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 mr;return i[0]=r,i[5]=n,i}function KOt(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=E6e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=E6e(r.pbrMetallicRoughness.baseColorFactor)),t&&JOt(r,t),r}function E6e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function JOt(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 XOt(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 YOt(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 QOt(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 ZOt="4.4.0-alpha.1",T6e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:ZOt,mimeTypes:["application/octet-stream"],parse:eIt,extensions:["bin"],options:{"i3s-content":{}}};async function eIt(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 A6e(e,s,u,t,r)}var tIt="4.4.0-alpha.1",S6e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:tIt,mimeTypes:["application/json"],parse:rIt,extensions:["json"],options:{i3s:{}}};async function rIt(e,t){return JSON.parse(new TextDecoder().decode(e))}var d_=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=wv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:$r(a,S6e,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:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);u=g,c=m.format||c,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=y6e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return EU({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:xg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=Ry();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 C6e(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=b6e(r,e));let o=e.children||[];return EU({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function EU(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Bt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Bt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new ui().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 D6e(e,t,r){let n=tD(r.url||""),i,a;if(e.nodePages)i=new d_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=wv(`${n}/nodes/root`,o.token);a=await $r(s,ml,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:ml,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var nIt="4.4.0-alpha.1",iIt=/layers\/[0-9]+$/,aIt=/\.slpk$/,oIt=/nodes\/([0-9-]+|root)$/,sIt="504b0304",uIt="PointCloud",ml={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:nIt,mimeTypes:["application/octet-stream"],parse:cIt,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 cIt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},dIt(e)===sIt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=tD(n),o;t.i3s.isTileset==="auto"?o=iIt.test(a)||aIt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=oIt.test(a):s=t.i3s.isTileHeader,o?e=await fIt(e,t,r):s?e=await pIt(e,r):e=await lIt(e,t),e}async function lIt(e,t){return await Va(e,T6e,t)}async function fIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===uIt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await D6e(n,t,r)}async function pIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),C6e(e,t)}function dIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var hIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.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+|summary)$/,extensions:[".json.gz"]},{test:/nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],nD=class extends cl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new cu;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=hIt.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 S1().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 Ss(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 AU(e,t,r){let n=await Xd(e,Qd),i=await Yd(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await bq(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Ss(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=C1(u)}return new nD(e,a,r)}function k6e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?mIt(n,e):null}:{}}function mIt(e,t){switch(e){case m6e:return xIt(t);case g6e:return F6e(t);case v6e:return vIt(t);case x6e:return gIt(t);default:return F6e(t)}}function F6e(e){return new Uint32Array(e,4)}function gIt(e){return new Int16Array(e,4)}function vIt(e){return new Float64Array(e,8)}function xIt(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 bIt="4.4.0-alpha.1";var TU={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:bIt,mimeTypes:["application/binary"],parse:async(e,t)=>k6e(e,t),extensions:["bin"],options:{},binary:!0};function SU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Bt.WGS84.cartographicToCartesian(r,new Z),i=new ui().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var iD=Dt(Cs(),1),yIt=()=>({version:{path:"version",default:"1.0"}}),B6e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,iD.default)(t,B6e()))}}),O6e=()=>({asset:{path:"asset",transform:e=>(0,iD.default)(e,yIt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,iD.default)(e,B6e())}});function I6e(e,t){let r=new Float32Array(e.length),n=wIt(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=_It([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 _It(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function wIt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var EIt=new mr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),P6e=new Z,R6e="KHR_materials_unlit",AIt=1,TIt=1,aD=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?ci.BATCHED_3D_MODEL:ci.GLTF}async convert(t,r=null,n){let i=await this.buildGLTF(t,r,n);return this.tileType===ci.BATCHED_3D_MODEL?a3({gltfEncoded:new Uint8Array(i),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},wq):i}async buildGLTF(t,r,n){let{tileContent:i,textureFormat:a,box:o}=t,{material:s,attributes:u,indices:c,modelMatrix:l}=i,f=new Xt,p=await this._addI3sTextureToGLTF(i,a,f),d=s==null?void 0:s.pbrMetallicRoughness;d&&(d.metallicFactor===void 0||d.metallicFactor===AIt)&&(d.roughnessFactor===void 0||d.roughnessFactor===TIt)&&(f.addObjectExtension(s,R6e,{}),f.addExtension(R6e));let h=this._convertI3sMaterialToGLTFMaterial(s,p),m=f.addMaterial(h),g=u.positions,b=g.value;u.uvRegions&&u.texCoords&&(u.texCoords.value=I6e(u.texCoords.value,u.uvRegions.value));let y=new Z(o),w=Bt.WGS84.cartesianToCartographic(y,new Z);u.positions.value=this._normalizePositions(b,y,w,l),this._createBatchIds(i,r),u.normals&&!this._checkNormals(u.normals.value)&&delete u.normals;let T=c||dC(b.length/g.size),E=f.addMesh({attributes:u,indices:T,material:m,mode:4});this.tileType===ci.GLTF&&this._createMetadataExtensions(f,E,r,n,i);let k=this._generateTransformMatrix(y),B=f.addNode({meshIndex:E,matrix:k}),j=f.addScene({nodeIndices:[B]});return f.setDefaultScene(j),f.createBinaryChunk(),a3(f.gltf,aL,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,i,a){var c;let o=this._createPropertyAttibutes(n,i),s=H3(t,o),u=t.getMesh(r);for(let l of u.primitives)(c=a.attributes._BATCHID)!=null&&c.value&&G3(t,l,a.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let i in t){let a=this._convertAttributeStorageInfoToPropertyAttribute(i,r,t);a&&n.push(a)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let i=n[t],a=r.find(l=>l.name===t);if(!a)return null;let o=a.attributeValues;if(!(o!=null&&o.valueType))return null;let s,u;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",u="UINT32";break;case"int32":s="SCALAR",u="INT32";break;case"uint32":s="SCALAR",u="UINT32";break;case"int16":s="SCALAR",u="INT16";break;case"uint16":s="SCALAR",u="UINT16";break;case"float64":s="SCALAR",u="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let c={name:t,elementType:s,componentType:u,values:[]};return Sj(i)?c.values=Array.from(i):i!==null&&(c.values=i),c}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 Z(r),c=new Z(Array.from(s)).transform(i).add(n);Bt.WGS84.cartographicToCartesian(c,P6e),c=P6e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new mr().translate(t).multiplyLeft(EIt)}_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 j6e=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 h_(t.contentUrl,ml,i,n)};async function M6e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new za(r),i=await AU(n,void 0,r);return new ul(i)}return null}async function h_(e,t,r,n){return n!==null?await $r(e,t,{...r,fetch:n.fetch.bind(n)}):await $r(e,t,r)}async function L6e(e){if(!(e!=null&&e.fileProvider))return 0;let t=new Set,r=zu(e.fileProvider);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var SIt="I3S",Ev=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;fileExt;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 fh,this.progress=new av,this.fileExt=""}async convert(t){var m;if(wr)return console.log(iv),iv;let{inputUrl:r,outputPath:n,outputVersion:i,tilesetName:a,maxDepth:o,egmFilePath:s,inquirer:u,analyze:c}=t;this.conversionStartTime=CU.default.hrtime(),this.options={maxDepth:o,inquirer:u,outputVersion:i},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await $r(s,mC),console.log("Loading egm file completed!"),this.slpkFilesystem=await M6e(r);let l=!0;if((c||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||c)||(this.progress.startMonitoring(),this.sourceTileset=await h_(r,ml,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=Dq(f.mbs)),this.tilesetPath=(0,q6e.join)(`${n}`,`${a}`),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 O1(this.tilesetPath)}catch{}let p={boundingVolume:{box:SU(f.obb,this.geoidHeightModel)},geometricError:Bq(f),children:[],refine:"REPLACE"};await this._addChildren(f,p,1);let d=(0,N6e.default)({asset:{version:i},root:p},O6e());await Da(this.tilesetPath,JSON.stringify(d),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:a}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),qi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await L6e(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}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await j6e(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),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},b=await new aD({outputVersion:this.options.outputVersion}).convert(m,p,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Da(this.tilesetPath,new Uint8Array(b),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,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 h_(a,ml,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=Dq(t.mbs));let r={box:SU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:Bq(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,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(h_(s,TU,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 fC(t),n=CU.default.hrtime(this.conversionStartTime),i=Zg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${SIt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Av=require("path");var CIt="4.4.0-alpha.1",DIt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",oD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await $r(DIt,dq,{}),n=process.cwd();t&&(n=(0,Av.join)(n,t)),await Da(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(Rf[vn.DECODER],"draco",vn.DECODER),await this.installFromUrl(Rf[vn.DECODER_WASM],"draco",vn.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rf[vn.ENCODER],"draco",vn.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Iu.TRANSCODER,"libs"),await this.installFromNpm("textures",Iu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Iu.ENCODER,"libs"),await this.installFromNpm("textures",Iu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new s0,a=(0,Av.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 ta(`https://unpkg.com/@loaders.gl/${t}@${CIt}/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,Av.join)(process.cwd(),"modules",t,"dist",n);await Da(o,a,r)}async installFromUrl(t,r,n){let a=await(await ta(t)).arrayBuffer();if(!a)return;let o=(0,Av.join)(process.cwd(),"modules",r,"dist","libs");await Da(o,a,n)}};function Rs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function U6e(e,t){let r=Rs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function G6e(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 z6e(e,t){let r=Rs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function js(e,t){let r=Rs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var $6e=require("fs/promises"),DU={I3S:"I3S",_3DTILES:"3DTILES"};async function FIt(){let[,,...e]=process.argv;e.length===0&&FU();let t=G6e(e),r=BIt(t);if(r.installDependencies){new oD().install("deps");return}if(r.addHash){let i=H6e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await sD.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,$6e.copyFile)(i.tileset,a);let o=await D1(zu(new za(a)));await vq(a,o,"@specialIndexFileHASH128@");return}let n=H6e(r);await kIt(n)}FIt().catch(e=>{console.log(e),process.exit(1)});function FU(){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 reduces memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent merging similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [(Deprecated since version 4.3.0) Whether the converter generates *.slpk (Scene Layer Package) I3S output files. Note: For versions 4.3.0 and up *.slpk is the default output without this option specified.]"),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("--output-version [3DTiles version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. 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 kIt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case DU.I3S:await new Ev().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:sD.default});break;case DU._3DTILES:await new yv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,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:sD.default});break;default:FU()}}function H6e(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]")},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(DU).includes(i.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:i=>t||Boolean(i)&&Object.values(["1.0","1.1"]).includes(i)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},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 BIt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,V6e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Rs(n,e);break;case"--tileset":t.tileset=U6e(n,e);break;case"--name":t.name=Rs(n,e);break;case"--output":t.output=Rs(n,e);break;case"--output-version":t.outputVersion=Rs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=js(n,e);break;case"--split-nodes":t.mergeMaterials=js(n,e);break;case"--max-depth":t.maxDepth=z6e(n,e);break;case"--add-hash":t.addHash=js(n,e);break;case"--egm":t.egm=Rs(n,e);break;case"--token":t.token=Rs(n,e);break;case"--no-draco":t.draco=js(n,e);break;case"--validate":t.validate=js(n,e);break;case"--install-dependencies":t.installDependencies=js(n,e);break;case"--generate-textures":t.generateTextures=js(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=js(n,e);break;case"--analyze":t.analyze=js(n,e);break;case"--quiet":t.quiet=js(n,e);break;case"--metadata-class":t.metadataClass=Rs(n,e);break;case"--help":FU();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
161
161
  /*! Bundled license information:
162
162
 
163
163
  is-buffer/index.js: