@needle-tools/engine 3.2.10-alpha → 3.2.11-alpha

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.
@@ -3253,7 +3253,7 @@ in script ${e}.ts
3253
3253
  uv.y = 1.0 - uv.y;
3254
3254
  gl_FragColor = texture2D( map, uv);
3255
3255
  // gl_FragColor = vec4(uv.xy, 0, 1);
3256
- }`),a(It,"blipMaterial",new Pg({uniforms:{map:new yA(null)},vertexShader:$a.vertex,fragmentShader:$a.fragment})),a(It,"mesh",new wA($a.planeGeometry,$a.blipMaterial));function yJ(i){return It.copyTexture(i)}function n3(i,A=!1){return It.textureToCanvas(i,A)}function B3(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas||typeof ImageBitmap<"u"&&i instanceof ImageBitmap}const a3=Symbol("object"),EU=new RB(()=>new S,20);class SJ{constructor(A,g,e,I,t){a(this,"_point");a(this,"_normal");a(this,"distance");a(this,"impulse");a(this,"friction");this._point=A,this.distance=g,this._normal=e,this.impulse=I,this.friction=t}get point(){return EU.get().set(this._point.x,this._point.y,this._point.z)}get normal(){return EU.get().set(this._normal.x,this._normal.y,this._normal.z)}}class GJ{constructor(A,g,e){a(this,"contacts");a(this,"me");a(this,"_collider");a(this,"_gameObject");this.me=A,this._collider=g,this._gameObject=g.gameObject,this.contacts=e}get collider(){return this._collider}get gameObject(){return this._gameObject}get rigidBody(){var A;return(A=this.collider)==null?void 0:A.attachedRigidbody}}function tr(i,A){try{A?i(A):i()}catch(g){return console.error(g),!1}return!0}const Vo="needle_isActiveInHierarchy",eB="builtin_components",RE="needle_editor_guid",r3=EA("debugnewscripts"),Q3=EA("debughierarchy"),Le=[];function Ec(i){if(!(i.new_scripts.length<=0)){if(r3&&console.log("Register new components",i.new_scripts.length,[...i.new_scripts],i.alias?"element: "+i.alias:i.hash,i),i.new_scripts_pre_setup_callbacks.length>0){for(const A of i.new_scripts_pre_setup_callbacks)A&&A();i.new_scripts_pre_setup_callbacks.length=0}Le.length=0,i.new_scripts.length>0&&Le.push(...i.new_scripts),i.new_scripts.length=0;for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed)continue;if(!g.gameObject){console.error("MISSING GAMEOBJECT - will ignore",g),Le.splice(A,1),A--;continue}g.context=i,UE(g.gameObject),lG(g,i)}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed){vo(Le[A],i),Le.splice(A,1),A--;continue}if(g.registering)try{g.registering()}catch(e){console.error(e)}g.__internalAwake!==void 0&&(g.gameObject||console.error("MISSING GAMEOBJECT",g,g.gameObject),UE(g.gameObject),g.activeAndEnabled&&tr(g.__internalAwake.bind(g)))}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed||g.enabled===!1||(UE(g.gameObject),g.activeAndEnabled===!1))continue;g.__internalEnable!==void 0&&(g.enabled=!0,tr(g.__internalEnable.bind(g)))}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed||!g.gameObject)continue;i.new_script_start.push(g)}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}Le.length=0;for(const A of i.new_scripts_post_setup_callbacks)A&&A();i.new_scripts_post_setup_callbacks.length=0}}function E3(i){i&&(i.__internalDisable(),vo(i,i.context))}function kJ(i,A){for(let g=0;g<i.new_script_start.length;g++)try{const e=i.new_script_start[g];if(A!==void 0&&e.gameObject!==A||e.destroyed||e.activeAndEnabled===!1)continue;tr(e.__internalAwake.bind(e)),tr(e.__internalEnable.bind(e)),tr(e.__internalStart.bind(e)),i.new_script_start.splice(g,1),g--}catch(e){console.error(e),vo(i.new_script_start[g],i),i.new_script_start.splice(g,1),g--}}function lG(i,A){A.scripts.indexOf(i)===-1&&(A.scripts.push(i),i.earlyUpdate&&A.scripts_earlyUpdate.push(i),i.update&&A.scripts_update.push(i),i.lateUpdate&&A.scripts_lateUpdate.push(i),i.onBeforeRender&&A.scripts_onBeforeRender.push(i),i.onAfterRender&&A.scripts_onAfterRender.push(i),i.onPausedChanged&&A.scripts_pausedChanged.push(i))}function vo(i,A){Mo(i,A.new_scripts),Mo(i,A.new_script_start),Mo(i,A.scripts),Mo(i,A.scripts_earlyUpdate),Mo(i,A.scripts_update),Mo(i,A.scripts_lateUpdate),Mo(i,A.scripts_onBeforeRender),Mo(i,A.scripts_onAfterRender),Mo(i,A.scripts_pausedChanged),A.stopAllCoroutinesFrom(i)}function Mo(i,A){const g=A.indexOf(i);g>=0&&A.splice(g,1)}function xd(i){if(i||(i=uI.Current.scene),!i){console.trace("Invalid call - no current context.");return}const A=zr(i);MJ(i,A,!0)||(console.error('Failed to update active state in hierarchy of "'+i.name+'"',i),console.warn(" ↑ this error might be caused by circular references. Please make sure you don't have files with circular references (e.g. one GLB 1 is loading GLB 2 which is then loading GLB 1 again)."))}function MJ(i,A,g,e=0){if(e>1e3)return console.warn("Hierarchy is too deep (> 1000 level) - will abort updating active state"),!1;const I=zr(i);if(A&&(A=I,A&&i.parent)){const s=i.parent;A=s[Vo],A===void 0&&(s instanceof _t||(A=!0))}const C=i[Vo]!==A;i[Vo]=A,C&&(Q3&&console.warn("ACTIVE CHANGE",i.name,I,i.visible,A,"changed?"+C,i),g&&c3(i,s=>{A?s.enabled&&(tr(s.__internalAwake.bind(s)),s.enabled&&(s.__didEnable=!0,s.onEnable())):s.__didAwake&&(s.__didEnable=!1,s.onDisable())}));let o=!0;if(i.children){const s=e+1;for(const n of i.children)MJ(n,A,g,s)===!1&&(o=!1)}return o}function UE(i){let A=!0,g=i,e=!1;for(;g&&g;){if(g.type==="Scene"&&(e=!0),!zr(g)){A=!1;break}g=g.parent}if(!i){console.error("GO is null");return}i[Vo]=A&&e}function c3(i,A){var g;if((g=i.userData)!=null&&g.components)for(const e of i.userData.components)A(e)}const vd=new Map,RJ=Symbol("prewarmFlag"),oS=Symbol("waitingForPrewarm"),sS=EA("debugprewarm");function UJ(i,A){if(!i||i[RJ]===!0||i[oS]===!0)return;vd.has(A)||vd.set(A,[]),i[oS]=!0,vd.get(A).push(i),sS&&console.debug("register prewarm",i.name)}let cU=null,hU=null;function h3(i){if(!i)return;const A=vd.get(i);if(!(A!=null&&A.length))return;const g=i.mainCamera;if(g){sS&&console.log("prewarm",A.length,"objects",[...A]);const e=i.renderer;if(e.compile){const I=i.scene;e.compile(I,g),cU??(cU=new qu(64)),hU??(hU=new q0(.001,9999999,cU)),hU.update(e,I);for(const t of A)t[RJ]=!0,t[oS]=!1;A.length=0,sS&&console.log("prewarm done")}}}const l3=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function d3(i){return typeof i=="string"&&l3.test(i)}const YI=[];for(let i=0;i<256;++i)YI.push((i+256).toString(16).slice(1));function D3(i,A=0){return(YI[i[A+0]]+YI[i[A+1]]+YI[i[A+2]]+YI[i[A+3]]+"-"+YI[i[A+4]]+YI[i[A+5]]+"-"+YI[i[A+6]]+YI[i[A+7]]+"-"+YI[i[A+8]]+YI[i[A+9]]+"-"+YI[i[A+10]]+YI[i[A+11]]+YI[i[A+12]]+YI[i[A+13]]+YI[i[A+14]]+YI[i[A+15]]).toLowerCase()}function u3(i){if(!d3(i))throw TypeError("Invalid UUID");let A;const g=new Uint8Array(16);return g[0]=(A=parseInt(i.slice(0,8),16))>>>24,g[1]=A>>>16&255,g[2]=A>>>8&255,g[3]=A&255,g[4]=(A=parseInt(i.slice(9,13),16))>>>8,g[5]=A&255,g[6]=(A=parseInt(i.slice(14,18),16))>>>8,g[7]=A&255,g[8]=(A=parseInt(i.slice(19,23),16))>>>8,g[9]=A&255,g[10]=(A=parseInt(i.slice(24,36),16))/1099511627776&255,g[11]=A/4294967296&255,g[12]=A>>>24&255,g[13]=A>>>16&255,g[14]=A>>>8&255,g[15]=A&255,g}function p3(i){i=unescape(encodeURIComponent(i));const A=[];for(let g=0;g<i.length;++g)A.push(i.charCodeAt(g));return A}const f3="6ba7b810-9dad-11d1-80b4-00c04fd430c8",w3="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function y3(i,A,g){function e(I,t,C,o){var s;if(typeof I=="string"&&(I=p3(I)),typeof t=="string"&&(t=u3(t)),((s=t)===null||s===void 0?void 0:s.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let n=new Uint8Array(16+I.length);if(n.set(t),n.set(I,t.length),n=g(n),n[6]=n[6]&15|A,n[8]=n[8]&63|128,C){o=o||0;for(let B=0;B<16;++B)C[o+B]=n[B];return C}return D3(n)}try{e.name=i}catch{}return e.DNS=f3,e.URL=w3,e}function S3(i,A,g,e){switch(i){case 0:return A&g^~A&e;case 1:return A^g^e;case 2:return A&g^A&e^g&e;case 3:return A^g^e}}function lw(i,A){return i<<A|i>>>32-A}function G3(i){const A=[1518500249,1859775393,2400959708,3395469782],g=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const C=unescape(encodeURIComponent(i));i=[];for(let o=0;o<C.length;++o)i.push(C.charCodeAt(o))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const e=i.length/4+2,I=Math.ceil(e/16),t=new Array(I);for(let C=0;C<I;++C){const o=new Uint32Array(16);for(let s=0;s<16;++s)o[s]=i[C*64+s*4]<<24|i[C*64+s*4+1]<<16|i[C*64+s*4+2]<<8|i[C*64+s*4+3];t[C]=o}t[I-1][14]=(i.length-1)*8/Math.pow(2,32),t[I-1][14]=Math.floor(t[I-1][14]),t[I-1][15]=(i.length-1)*8&4294967295;for(let C=0;C<I;++C){const o=new Uint32Array(80);for(let E=0;E<16;++E)o[E]=t[C][E];for(let E=16;E<80;++E)o[E]=lw(o[E-3]^o[E-8]^o[E-14]^o[E-16],1);let s=g[0],n=g[1],B=g[2],r=g[3],Q=g[4];for(let E=0;E<80;++E){const c=Math.floor(E/20),h=lw(s,5)+S3(c,n,B,r)+Q+A[c]+o[E]>>>0;Q=r,r=B,B=lw(n,30)>>>0,n=s,s=h}g[0]=g[0]+s>>>0,g[1]=g[1]+n>>>0,g[2]=g[2]+B>>>0,g[3]=g[3]+r>>>0,g[4]=g[4]+Q>>>0}return[g[0]>>24&255,g[0]>>16&255,g[0]>>8&255,g[0]&255,g[1]>>24&255,g[1]>>16&255,g[1]>>8&255,g[1]&255,g[2]>>24&255,g[2]>>16&255,g[2]>>8&255,g[2]&255,g[3]>>24&255,g[3]>>16&255,g[3]>>8&255,g[3]&255,g[4]>>24&255,g[4]>>16&255,g[4]>>8&255,g[4]&255]}const k3=y3("v5",80,G3),lU=k3;var xi=(i=>(i[i.OnConnection=0]="OnConnection",i[i.OnRoomJoin=1]="OnRoomJoin",i[i.Queued=2]="Queued",i[i.Immediate=3]="Immediate",i))(xi||{});uI.registerCallback(xt.ContextCreated,i=>{const A=i.context;JJ(A),KJ(A)});const LD=EA("debugcomponents"),dU="eff8ba80-635d-11ec-90d6-0242ac120003";class Gi{constructor(A){a(this,"_originalSeed");a(this,"_seed");typeof A=="string"&&(A=Gi.hash(A)),this._originalSeed=A,this._seed=A}get seed(){return this._seed}set seed(A){this._seed=A}reset(){this._seed=this._originalSeed}generateUUID(A){if(typeof A=="string")return lU(A,dU);const g=this._seed;return this._seed-=1,lU(g.toString(),dU)}initialize(A){typeof A=="string"?this._seed=Gi.hash(A):this._seed=A}static createFromString(A){return new Gi(this.hash(A))}static hash(A){let g=0;for(let e=0;e<A.length;e++)g=A.charCodeAt(e)+((g<<5)-g);return g}}var mJ=(i=>(i.NewInstanceCreated="new-instance-created",i.InstanceDestroyed="instance-destroyed",i))(mJ||{});class FJ{constructor(A){a(this,"guid");this.guid=A}}function Ip(i,A,g=!0){if(!i)return;const e=i;if(Bn(i,g),!A){console.warn("Can not send destroy: No networking connection provided",i.guid);return}if(!A.isConnected){console.warn("Can not send destroy: not connected",i.guid);return}let I=i.guid;if(!I&&e.uuid&&(I=e.uuid),!I){console.warn("Can not send destroy: failed to find guid",i);return}const t=new FJ(I);A.send("instance-destroyed",t,xi.Queued)}function NJ(i,A){const g=new FJ(i);A.send("instance-destroyed",g,xi.Queued)}function KJ(i){i.connection.beginListen("instance-destroyed",A=>{LD&&console.log("[Remote] Destroyed",i.scene,A);const g=Eh(A.guid,i.scene);g&&Bn(g)})}class M3{constructor(A,g,e){a(this,"filename");a(this,"hash");a(this,"size");this.filename=A,this.hash=g,this.size=e}}class R3{constructor(A,g){a(this,"guid");a(this,"originalGuid");a(this,"seed");a(this,"visible");a(this,"hostData");a(this,"dontSave");a(this,"parent");a(this,"position");a(this,"rotation");a(this,"scale");this.originalGuid=A,this.guid=g}}function dG(i,A,g,e){var s;const I=i;if(!I.guid)return console.warn("Can not instantiate: No guid",I),null;if(A.context||(A.context=ug.Current),!A.context)return console.error("Missing network instantiate options / reference to network connection in sync instantiate"),null;const t=A?{...A}:null,{instance:C,seed:o}=U3(I,A);if(C){const n=C;if(n.guid){LD&&console.log("[Local] new instance","gameobject:",C==null?void 0:C.guid);const B=new R3(I.guid,n.guid);B.seed=o,t&&(t.position&&(B.position={x:t.position.x,y:t.position.y,z:t.position.z}),t.rotation&&(B.rotation={x:t.rotation.x,y:t.rotation.y,z:t.rotation.z,w:t.rotation.w}),t.scale&&(B.scale={x:t.scale.x,y:t.scale.y,z:t.scale.z})),B.position||(B.position={x:n.position.x,y:n.position.y,z:n.position.z}),B.rotation||(B.rotation={x:n.quaternion.x,y:n.quaternion.y,z:n.quaternion.z,w:n.quaternion.w}),B.scale||(B.scale={x:n.scale.x,y:n.scale.y,z:n.scale.z}),B.visible=I.visible,t!=null&&t.parent&&(typeof t.parent=="string"?B.parent=t.parent:B.parent=t.parent.guid),B.hostData=g,e===!1&&(B.dontSave=!0),(s=A==null?void 0:A.context)==null||s.connection.send("new-instance-created",B)}else console.warn("Missing guid, can not send new instance event",n)}return C}function ip(){return Math.random()*9999999}function JJ(i){i.connection.beginListen("new-instance-created",async A=>{const g=await m3(A.originalGuid,i.scene);if(!g){console.warn("could not find object that was instantiated: "+A.guid);return}const e=new Io;A.position&&(e.position=new S(A.position.x,A.position.y,A.position.z)),A.rotation&&(e.rotation=new kA(A.rotation.x,A.rotation.y,A.rotation.z,A.rotation.w)),A.scale&&(e.scale=new S(A.scale.x,A.scale.y,A.scale.z)),e.parent=A.parent,A.seed&&(e.idProvider=new Gi(A.seed)),e.visible=A.visible,e.context=i,LD&&i.alias&&console.log("[Remote] instantiate in: "+i.alias);const I=ch(g,e);I&&(A.parent==="scene"&&i.scene.add(I),LD&&console.log("[Remote] new instance","gameobject:",I==null?void 0:I.guid,g))})}function U3(i,A){const g=ip(),e=A??new Io;e.idProvider=new Gi(g);const I=ch(i,e);return{seed:g,instance:I}}const qJ={};function LJ(i,A){qJ[i]=A}async function m3(i,A){const g=qJ[i];if(g!=null){const e=await g(i);if(e)return e}return bJ(i,A)}function bJ(i,A){if(A===null||!i)return null;if(A.guid===i)return A;if(A.children)for(const g of A.children){const e=bJ(i,g);if(e)return e}return null}const xJ=new Map;function F3(i,A){if(!i)return;if(!A){console.warn("No prototype found",i,i.prototype,i.constructor);return}let g=xJ.get(A);g&&g.apply(i)}function N3(i){const A=K3(i.prototype);xJ.set(i,A)}function K3(i){return new J3(i)}class J3{constructor(A){a(this,"$symbol");a(this,"extensions");a(this,"descriptors");this.$symbol=Symbol("prototype-extension"),this.extensions=Object.keys(A),this.descriptors=new Array;for(let g=0;g<this.extensions.length;g++){const e=this.extensions[g],I=Object.getOwnPropertyDescriptor(A,e);I&&this.descriptors.push(I)}}apply(A){if(!A[this.$symbol]){A[this.$symbol]=!0;for(let g=0;g<this.extensions.length;g++){const e=this.extensions[g],I=this.descriptors[g];I&&Object.defineProperty(A,e,I)}}}}var Bh=(i=>(i.Added="component-added",i.Removing="removing-component",i))(Bh||{});const DU=EA("debugcomponentevents");class ah{static addComponentLifecylceEventListener(A,g){this.eventListeners.has(A)&&this.eventListeners.set(A,[]);let e=this.eventListeners.get(A);e||(e=[]),e.push(g),this.eventListeners.set(A,e),DU&&console.log("Added event listener for "+A,this.eventListeners)}static removeComponentLifecylceEventListener(A,g){const e=this.eventListeners.get(A);if(!e)return;const I=e.indexOf(g);I<0||e.splice(I,1)}static dispatchComponentLifecycleEvent(A,g){const e=this.eventListeners.get(A);if(DU&&console.log("Dispatching event "+A,e),!!e)for(const I of e)I(g)}}a(ah,"eventListeners",new Map);const dw=EA("debuggetcomponent");function q3(i){return i==null||i.isObject3D?i:i.object&&i.object.isObject3D?i.object:i}function DG(i,A){if(!i||!i.userData.components)return;const g=i.userData.components.indexOf(A);g<0||(ah.dispatchComponentLifecycleEvent(Bh.Removing,A),A.gameObject=null,i.userData.components.splice(g,1))}function uG(i,A){const g=Wr(i,A);if(g)return g;const e=new A;return Dn(i,e)}const L3=new Gi("addComponentIdProvider");function Dn(i,A,g=!0){i.userData||(i.userData={}),i.userData.components||(i.userData.components=[]),i.userData.components.push(A),A.gameObject=i,(A.guid===void 0||A.guid==="invalid")&&(A.guid=L3.generateUUID()),Cp(i),ek(A);try{g&&A.__internalAwake&&(UE(i),A.__internalAwake()),ah.dispatchComponentLifecycleEvent(Bh.Added,A)}catch(e){console.error(e)}return A}function vJ(i,A){if(A.gameObject!==i){if(A.gameObject&&A.gameObject.userData.components){const g=A.gameObject.userData.components.indexOf(A);A.gameObject.userData.components.splice(g,1)}if(!i.userData.components)i.userData.components=[];else if(i.userData.components.includes(A))return;i.userData.components.push(A),A.gameObject=i}}function YJ(i){if(i.gameObject&&i.gameObject.userData.components){const A=i.gameObject.userData.components.indexOf(i);i.gameObject.userData.components.splice(A,1)}i.__internalDisable&&i.__internalDisable(),i.onDestroy&&i.onDestroy(),vo(i,i.context??ug.Current),i.__internalDestroy(),i.gameObject=null}let uU=!1;function HJ(i,A,g){var e;if(i!=null){if(!i.isObject3D){console.error("Object is not object3D");return}if(!((e=i==null?void 0:i.userData)!=null&&e.components))return null;if(typeof A=="string"&&(uU||(uU=!0,console.warn(`Accessing components by name is not supported.
3256
+ }`),a(It,"blipMaterial",new Pg({uniforms:{map:new yA(null)},vertexShader:$a.vertex,fragmentShader:$a.fragment})),a(It,"mesh",new wA($a.planeGeometry,$a.blipMaterial));function yJ(i){return It.copyTexture(i)}function n3(i,A=!1){return It.textureToCanvas(i,A)}function B3(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas||typeof ImageBitmap<"u"&&i instanceof ImageBitmap}const a3=Symbol("object"),EU=new RB(()=>new S,20);class SJ{constructor(A,g,e,I,t){a(this,"_point");a(this,"_normal");a(this,"distance");a(this,"impulse");a(this,"friction");this._point=A,this.distance=g,this._normal=e,this.impulse=I,this.friction=t}get point(){return EU.get().set(this._point.x,this._point.y,this._point.z)}get normal(){return EU.get().set(this._normal.x,this._normal.y,this._normal.z)}}class GJ{constructor(A,g,e){a(this,"contacts");a(this,"me");a(this,"_collider");a(this,"_gameObject");this.me=A,this._collider=g,this._gameObject=g.gameObject,this.contacts=e}get collider(){return this._collider}get gameObject(){return this._gameObject}get rigidBody(){var A;return(A=this.collider)==null?void 0:A.attachedRigidbody}}function tr(i,A){try{A?i(A):i()}catch(g){return console.error(g),!1}return!0}const Vo="needle_isActiveInHierarchy",eB="builtin_components",RE="needle_editor_guid",r3=EA("debugnewscripts"),Q3=EA("debughierarchy"),Le=[];function Ec(i){if(!(i.new_scripts.length<=0)){if(r3&&console.log("Register new components",i.new_scripts.length,[...i.new_scripts],i.alias?"element: "+i.alias:i.hash,i),i.new_scripts_pre_setup_callbacks.length>0){for(const A of i.new_scripts_pre_setup_callbacks)A&&A();i.new_scripts_pre_setup_callbacks.length=0}Le.length=0,i.new_scripts.length>0&&Le.push(...i.new_scripts),i.new_scripts.length=0;for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed)continue;if(!g.gameObject){console.error("MISSING GAMEOBJECT - will ignore",g),Le.splice(A,1),A--;continue}g.context=i,UE(g.gameObject),lG(g,i)}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed){vo(Le[A],i),Le.splice(A,1),A--;continue}if(g.registering)try{g.registering()}catch(e){console.error(e)}g.__internalAwake!==void 0&&(g.gameObject||console.error("MISSING GAMEOBJECT",g,g.gameObject),UE(g.gameObject),g.activeAndEnabled&&tr(g.__internalAwake.bind(g)))}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed||g.enabled===!1||(UE(g.gameObject),g.activeAndEnabled===!1))continue;g.__internalEnable!==void 0&&(g.enabled=!0,tr(g.__internalEnable.bind(g)))}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}for(let A=0;A<Le.length;A++)try{const g=Le[A];if(g.destroyed||!g.gameObject)continue;i.new_script_start.push(g)}catch(g){console.error(g),vo(Le[A],i),Le.splice(A,1),A--}Le.length=0;for(const A of i.new_scripts_post_setup_callbacks)A&&A();i.new_scripts_post_setup_callbacks.length=0}}function E3(i){i&&(i.__internalDisable(),vo(i,i.context))}function kJ(i,A){for(let g=0;g<i.new_script_start.length;g++)try{const e=i.new_script_start[g];if(A!==void 0&&e.gameObject!==A||e.destroyed||e.activeAndEnabled===!1)continue;tr(e.__internalAwake.bind(e)),e.enabled&&(tr(e.__internalEnable.bind(e)),tr(e.__internalStart.bind(e)),i.new_script_start.splice(g,1),g--)}catch(e){console.error(e),vo(i.new_script_start[g],i),i.new_script_start.splice(g,1),g--}}function lG(i,A){A.scripts.indexOf(i)===-1&&(A.scripts.push(i),i.earlyUpdate&&A.scripts_earlyUpdate.push(i),i.update&&A.scripts_update.push(i),i.lateUpdate&&A.scripts_lateUpdate.push(i),i.onBeforeRender&&A.scripts_onBeforeRender.push(i),i.onAfterRender&&A.scripts_onAfterRender.push(i),i.onPausedChanged&&A.scripts_pausedChanged.push(i))}function vo(i,A){Mo(i,A.new_scripts),Mo(i,A.new_script_start),Mo(i,A.scripts),Mo(i,A.scripts_earlyUpdate),Mo(i,A.scripts_update),Mo(i,A.scripts_lateUpdate),Mo(i,A.scripts_onBeforeRender),Mo(i,A.scripts_onAfterRender),Mo(i,A.scripts_pausedChanged),A.stopAllCoroutinesFrom(i)}function Mo(i,A){const g=A.indexOf(i);g>=0&&A.splice(g,1)}function xd(i){if(i||(i=uI.Current.scene),!i){console.trace("Invalid call - no current context.");return}const A=zr(i);MJ(i,A,!0)||(console.error('Failed to update active state in hierarchy of "'+i.name+'"',i),console.warn(" ↑ this error might be caused by circular references. Please make sure you don't have files with circular references (e.g. one GLB 1 is loading GLB 2 which is then loading GLB 1 again)."))}function MJ(i,A,g,e=0){if(e>1e3)return console.warn("Hierarchy is too deep (> 1000 level) - will abort updating active state"),!1;const I=zr(i);if(A&&(A=I,A&&i.parent)){const s=i.parent;A=s[Vo],A===void 0&&(s instanceof _t||(A=!0))}const C=i[Vo]!==A;i[Vo]=A,C&&(Q3&&console.warn("ACTIVE CHANGE",i.name,I,i.visible,A,"changed?"+C,i),g&&c3(i,s=>{A?s.enabled&&(tr(s.__internalAwake.bind(s)),s.enabled&&(s.__didEnable=!0,s.onEnable())):s.__didAwake&&s.enabled&&(s.__didEnable=!1,s.onDisable())}));let o=!0;if(i.children){const s=e+1;for(const n of i.children)MJ(n,A,g,s)===!1&&(o=!1)}return o}function UE(i){let A=!0,g=i,e=!1;for(;g&&g;){if(g.type==="Scene"&&(e=!0),!zr(g)){A=!1;break}g=g.parent}if(!i){console.error("GO is null");return}i[Vo]=A&&e}function c3(i,A){var g;if((g=i.userData)!=null&&g.components)for(const e of i.userData.components)A(e)}const vd=new Map,RJ=Symbol("prewarmFlag"),oS=Symbol("waitingForPrewarm"),sS=EA("debugprewarm");function UJ(i,A){if(!i||i[RJ]===!0||i[oS]===!0)return;vd.has(A)||vd.set(A,[]),i[oS]=!0,vd.get(A).push(i),sS&&console.debug("register prewarm",i.name)}let cU=null,hU=null;function h3(i){if(!i)return;const A=vd.get(i);if(!(A!=null&&A.length))return;const g=i.mainCamera;if(g){sS&&console.log("prewarm",A.length,"objects",[...A]);const e=i.renderer;if(e.compile){const I=i.scene;e.compile(I,g),cU??(cU=new qu(64)),hU??(hU=new q0(.001,9999999,cU)),hU.update(e,I);for(const t of A)t[RJ]=!0,t[oS]=!1;A.length=0,sS&&console.log("prewarm done")}}}const l3=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function d3(i){return typeof i=="string"&&l3.test(i)}const YI=[];for(let i=0;i<256;++i)YI.push((i+256).toString(16).slice(1));function D3(i,A=0){return(YI[i[A+0]]+YI[i[A+1]]+YI[i[A+2]]+YI[i[A+3]]+"-"+YI[i[A+4]]+YI[i[A+5]]+"-"+YI[i[A+6]]+YI[i[A+7]]+"-"+YI[i[A+8]]+YI[i[A+9]]+"-"+YI[i[A+10]]+YI[i[A+11]]+YI[i[A+12]]+YI[i[A+13]]+YI[i[A+14]]+YI[i[A+15]]).toLowerCase()}function u3(i){if(!d3(i))throw TypeError("Invalid UUID");let A;const g=new Uint8Array(16);return g[0]=(A=parseInt(i.slice(0,8),16))>>>24,g[1]=A>>>16&255,g[2]=A>>>8&255,g[3]=A&255,g[4]=(A=parseInt(i.slice(9,13),16))>>>8,g[5]=A&255,g[6]=(A=parseInt(i.slice(14,18),16))>>>8,g[7]=A&255,g[8]=(A=parseInt(i.slice(19,23),16))>>>8,g[9]=A&255,g[10]=(A=parseInt(i.slice(24,36),16))/1099511627776&255,g[11]=A/4294967296&255,g[12]=A>>>24&255,g[13]=A>>>16&255,g[14]=A>>>8&255,g[15]=A&255,g}function p3(i){i=unescape(encodeURIComponent(i));const A=[];for(let g=0;g<i.length;++g)A.push(i.charCodeAt(g));return A}const f3="6ba7b810-9dad-11d1-80b4-00c04fd430c8",w3="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function y3(i,A,g){function e(I,t,C,o){var s;if(typeof I=="string"&&(I=p3(I)),typeof t=="string"&&(t=u3(t)),((s=t)===null||s===void 0?void 0:s.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let n=new Uint8Array(16+I.length);if(n.set(t),n.set(I,t.length),n=g(n),n[6]=n[6]&15|A,n[8]=n[8]&63|128,C){o=o||0;for(let B=0;B<16;++B)C[o+B]=n[B];return C}return D3(n)}try{e.name=i}catch{}return e.DNS=f3,e.URL=w3,e}function S3(i,A,g,e){switch(i){case 0:return A&g^~A&e;case 1:return A^g^e;case 2:return A&g^A&e^g&e;case 3:return A^g^e}}function lw(i,A){return i<<A|i>>>32-A}function G3(i){const A=[1518500249,1859775393,2400959708,3395469782],g=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const C=unescape(encodeURIComponent(i));i=[];for(let o=0;o<C.length;++o)i.push(C.charCodeAt(o))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const e=i.length/4+2,I=Math.ceil(e/16),t=new Array(I);for(let C=0;C<I;++C){const o=new Uint32Array(16);for(let s=0;s<16;++s)o[s]=i[C*64+s*4]<<24|i[C*64+s*4+1]<<16|i[C*64+s*4+2]<<8|i[C*64+s*4+3];t[C]=o}t[I-1][14]=(i.length-1)*8/Math.pow(2,32),t[I-1][14]=Math.floor(t[I-1][14]),t[I-1][15]=(i.length-1)*8&4294967295;for(let C=0;C<I;++C){const o=new Uint32Array(80);for(let E=0;E<16;++E)o[E]=t[C][E];for(let E=16;E<80;++E)o[E]=lw(o[E-3]^o[E-8]^o[E-14]^o[E-16],1);let s=g[0],n=g[1],B=g[2],r=g[3],Q=g[4];for(let E=0;E<80;++E){const c=Math.floor(E/20),h=lw(s,5)+S3(c,n,B,r)+Q+A[c]+o[E]>>>0;Q=r,r=B,B=lw(n,30)>>>0,n=s,s=h}g[0]=g[0]+s>>>0,g[1]=g[1]+n>>>0,g[2]=g[2]+B>>>0,g[3]=g[3]+r>>>0,g[4]=g[4]+Q>>>0}return[g[0]>>24&255,g[0]>>16&255,g[0]>>8&255,g[0]&255,g[1]>>24&255,g[1]>>16&255,g[1]>>8&255,g[1]&255,g[2]>>24&255,g[2]>>16&255,g[2]>>8&255,g[2]&255,g[3]>>24&255,g[3]>>16&255,g[3]>>8&255,g[3]&255,g[4]>>24&255,g[4]>>16&255,g[4]>>8&255,g[4]&255]}const k3=y3("v5",80,G3),lU=k3;var xi=(i=>(i[i.OnConnection=0]="OnConnection",i[i.OnRoomJoin=1]="OnRoomJoin",i[i.Queued=2]="Queued",i[i.Immediate=3]="Immediate",i))(xi||{});uI.registerCallback(xt.ContextCreated,i=>{const A=i.context;JJ(A),KJ(A)});const LD=EA("debugcomponents"),dU="eff8ba80-635d-11ec-90d6-0242ac120003";class Gi{constructor(A){a(this,"_originalSeed");a(this,"_seed");typeof A=="string"&&(A=Gi.hash(A)),this._originalSeed=A,this._seed=A}get seed(){return this._seed}set seed(A){this._seed=A}reset(){this._seed=this._originalSeed}generateUUID(A){if(typeof A=="string")return lU(A,dU);const g=this._seed;return this._seed-=1,lU(g.toString(),dU)}initialize(A){typeof A=="string"?this._seed=Gi.hash(A):this._seed=A}static createFromString(A){return new Gi(this.hash(A))}static hash(A){let g=0;for(let e=0;e<A.length;e++)g=A.charCodeAt(e)+((g<<5)-g);return g}}var mJ=(i=>(i.NewInstanceCreated="new-instance-created",i.InstanceDestroyed="instance-destroyed",i))(mJ||{});class FJ{constructor(A){a(this,"guid");this.guid=A}}function Ip(i,A,g=!0){if(!i)return;const e=i;if(Bn(i,g),!A){console.warn("Can not send destroy: No networking connection provided",i.guid);return}if(!A.isConnected){console.warn("Can not send destroy: not connected",i.guid);return}let I=i.guid;if(!I&&e.uuid&&(I=e.uuid),!I){console.warn("Can not send destroy: failed to find guid",i);return}const t=new FJ(I);A.send("instance-destroyed",t,xi.Queued)}function NJ(i,A){const g=new FJ(i);A.send("instance-destroyed",g,xi.Queued)}function KJ(i){i.connection.beginListen("instance-destroyed",A=>{LD&&console.log("[Remote] Destroyed",i.scene,A);const g=Eh(A.guid,i.scene);g&&Bn(g)})}class M3{constructor(A,g,e){a(this,"filename");a(this,"hash");a(this,"size");this.filename=A,this.hash=g,this.size=e}}class R3{constructor(A,g){a(this,"guid");a(this,"originalGuid");a(this,"seed");a(this,"visible");a(this,"hostData");a(this,"dontSave");a(this,"parent");a(this,"position");a(this,"rotation");a(this,"scale");this.originalGuid=A,this.guid=g}}function dG(i,A,g,e){var s;const I=i;if(!I.guid)return console.warn("Can not instantiate: No guid",I),null;if(A.context||(A.context=ug.Current),!A.context)return console.error("Missing network instantiate options / reference to network connection in sync instantiate"),null;const t=A?{...A}:null,{instance:C,seed:o}=U3(I,A);if(C){const n=C;if(n.guid){LD&&console.log("[Local] new instance","gameobject:",C==null?void 0:C.guid);const B=new R3(I.guid,n.guid);B.seed=o,t&&(t.position&&(B.position={x:t.position.x,y:t.position.y,z:t.position.z}),t.rotation&&(B.rotation={x:t.rotation.x,y:t.rotation.y,z:t.rotation.z,w:t.rotation.w}),t.scale&&(B.scale={x:t.scale.x,y:t.scale.y,z:t.scale.z})),B.position||(B.position={x:n.position.x,y:n.position.y,z:n.position.z}),B.rotation||(B.rotation={x:n.quaternion.x,y:n.quaternion.y,z:n.quaternion.z,w:n.quaternion.w}),B.scale||(B.scale={x:n.scale.x,y:n.scale.y,z:n.scale.z}),B.visible=I.visible,t!=null&&t.parent&&(typeof t.parent=="string"?B.parent=t.parent:B.parent=t.parent.guid),B.hostData=g,e===!1&&(B.dontSave=!0),(s=A==null?void 0:A.context)==null||s.connection.send("new-instance-created",B)}else console.warn("Missing guid, can not send new instance event",n)}return C}function ip(){return Math.random()*9999999}function JJ(i){i.connection.beginListen("new-instance-created",async A=>{const g=await m3(A.originalGuid,i.scene);if(!g){console.warn("could not find object that was instantiated: "+A.guid);return}const e=new Io;A.position&&(e.position=new S(A.position.x,A.position.y,A.position.z)),A.rotation&&(e.rotation=new kA(A.rotation.x,A.rotation.y,A.rotation.z,A.rotation.w)),A.scale&&(e.scale=new S(A.scale.x,A.scale.y,A.scale.z)),e.parent=A.parent,A.seed&&(e.idProvider=new Gi(A.seed)),e.visible=A.visible,e.context=i,LD&&i.alias&&console.log("[Remote] instantiate in: "+i.alias);const I=ch(g,e);I&&(A.parent==="scene"&&i.scene.add(I),LD&&console.log("[Remote] new instance","gameobject:",I==null?void 0:I.guid,g))})}function U3(i,A){const g=ip(),e=A??new Io;e.idProvider=new Gi(g);const I=ch(i,e);return{seed:g,instance:I}}const qJ={};function LJ(i,A){qJ[i]=A}async function m3(i,A){const g=qJ[i];if(g!=null){const e=await g(i);if(e)return e}return bJ(i,A)}function bJ(i,A){if(A===null||!i)return null;if(A.guid===i)return A;if(A.children)for(const g of A.children){const e=bJ(i,g);if(e)return e}return null}const xJ=new Map;function F3(i,A){if(!i)return;if(!A){console.warn("No prototype found",i,i.prototype,i.constructor);return}let g=xJ.get(A);g&&g.apply(i)}function N3(i){const A=K3(i.prototype);xJ.set(i,A)}function K3(i){return new J3(i)}class J3{constructor(A){a(this,"$symbol");a(this,"extensions");a(this,"descriptors");this.$symbol=Symbol("prototype-extension"),this.extensions=Object.keys(A),this.descriptors=new Array;for(let g=0;g<this.extensions.length;g++){const e=this.extensions[g],I=Object.getOwnPropertyDescriptor(A,e);I&&this.descriptors.push(I)}}apply(A){if(!A[this.$symbol]){A[this.$symbol]=!0;for(let g=0;g<this.extensions.length;g++){const e=this.extensions[g],I=this.descriptors[g];I&&Object.defineProperty(A,e,I)}}}}var Bh=(i=>(i.Added="component-added",i.Removing="removing-component",i))(Bh||{});const DU=EA("debugcomponentevents");class ah{static addComponentLifecylceEventListener(A,g){this.eventListeners.has(A)&&this.eventListeners.set(A,[]);let e=this.eventListeners.get(A);e||(e=[]),e.push(g),this.eventListeners.set(A,e),DU&&console.log("Added event listener for "+A,this.eventListeners)}static removeComponentLifecylceEventListener(A,g){const e=this.eventListeners.get(A);if(!e)return;const I=e.indexOf(g);I<0||e.splice(I,1)}static dispatchComponentLifecycleEvent(A,g){const e=this.eventListeners.get(A);if(DU&&console.log("Dispatching event "+A,e),!!e)for(const I of e)I(g)}}a(ah,"eventListeners",new Map);const dw=EA("debuggetcomponent");function q3(i){return i==null||i.isObject3D?i:i.object&&i.object.isObject3D?i.object:i}function DG(i,A){if(!i||!i.userData.components)return;const g=i.userData.components.indexOf(A);g<0||(ah.dispatchComponentLifecycleEvent(Bh.Removing,A),A.gameObject=null,i.userData.components.splice(g,1))}function uG(i,A){const g=Wr(i,A);if(g)return g;const e=new A;return Dn(i,e)}const L3=new Gi("addComponentIdProvider");function Dn(i,A,g=!0){i.userData||(i.userData={}),i.userData.components||(i.userData.components=[]),i.userData.components.push(A),A.gameObject=i,(A.guid===void 0||A.guid==="invalid")&&(A.guid=L3.generateUUID()),Cp(i),ek(A);try{g&&A.__internalAwake&&(UE(i),A.__internalAwake()),ah.dispatchComponentLifecycleEvent(Bh.Added,A)}catch(e){console.error(e)}return A}function vJ(i,A){if(A.gameObject!==i){if(A.gameObject&&A.gameObject.userData.components){const g=A.gameObject.userData.components.indexOf(A);A.gameObject.userData.components.splice(g,1)}if(!i.userData.components)i.userData.components=[];else if(i.userData.components.includes(A))return;i.userData.components.push(A),A.gameObject=i}}function YJ(i){if(i.gameObject&&i.gameObject.userData.components){const A=i.gameObject.userData.components.indexOf(i);i.gameObject.userData.components.splice(A,1)}i.__internalDisable&&i.__internalDisable(),i.onDestroy&&i.onDestroy(),vo(i,i.context??ug.Current),i.__internalDestroy(),i.gameObject=null}let uU=!1;function HJ(i,A,g){var e;if(i!=null){if(!i.isObject3D){console.error("Object is not object3D");return}if(!((e=i==null?void 0:i.userData)!=null&&e.components))return null;if(typeof A=="string"&&(uU||(uU=!0,console.warn(`Accessing components by name is not supported.
3257
3257
  Please use the component type instead. This may keep working in local development but it will fail when bundling your application.
3258
3258
 
3259
3259
  You can import other modules your main module to get access to types
@@ -3976,7 +3976,7 @@ fflate - fast JavaScript compression/decompression
3976
3976
  <https://101arrowz.github.io/fflate>
3977
3977
  Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE
3978
3978
  version 0.6.9
3979
- */var Km={},LS=function(i){return URL.createObjectURL(new Blob([i],{type:"text/javascript"}))},yb=function(i){return new Worker(i)};try{URL.revokeObjectURL(LS(""))}catch{LS=function(A){return"data:application/javascript;charset=UTF-8,"+encodeURI(A)},yb=function(A){return new Worker(A,{type:"module"})}}var Jz=function(i,A,g,e,I){var t=yb(Km[A]||(Km[A]=LS(i)));return t.onerror=function(C){return I(C.error,null)},t.onmessage=function(C){return I(null,C.data)},t.postMessage(g,e),t},jg=Uint8Array,JI=Uint16Array,is=Uint32Array,eQ=new jg([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),IQ=new jg([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Gc=new jg([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Sb=function(i,A){for(var g=new JI(31),e=0;e<31;++e)g[e]=A+=1<<i[e-1];for(var I=new is(g[30]),e=1;e<30;++e)for(var t=g[e];t<g[e+1];++t)I[t]=t-g[e]<<5|e;return[g,I]},Gb=Sb(eQ,2),Bk=Gb[0],iu=Gb[1];Bk[28]=258,iu[258]=28;var kb=Sb(IQ,0),Mb=kb[0],bS=kb[1],kc=new JI(32768);for(var Se=0;Se<32768;++Se){var Ks=(Se&43690)>>>1|(Se&21845)<<1;Ks=(Ks&52428)>>>2|(Ks&13107)<<2,Ks=(Ks&61680)>>>4|(Ks&3855)<<4,kc[Se]=((Ks&65280)>>>8|(Ks&255)<<8)>>>1}var Yt=function(i,A,g){for(var e=i.length,I=0,t=new JI(A);I<e;++I)++t[i[I]-1];var C=new JI(A);for(I=0;I<A;++I)C[I]=C[I-1]+t[I-1]<<1;var o;if(g){o=new JI(1<<A);var s=15-A;for(I=0;I<e;++I)if(i[I])for(var n=I<<4|i[I],B=A-i[I],r=C[i[I]-1]++<<B,Q=r|(1<<B)-1;r<=Q;++r)o[kc[r]>>>s]=n}else for(o=new JI(e),I=0;I<e;++I)i[I]&&(o[I]=kc[C[i[I]-1]++]>>>15-i[I]);return o},ts=new jg(288);for(var Se=0;Se<144;++Se)ts[Se]=8;for(var Se=144;Se<256;++Se)ts[Se]=9;for(var Se=256;Se<280;++Se)ts[Se]=7;for(var Se=280;Se<288;++Se)ts[Se]=8;var Rr=new jg(32);for(var Se=0;Se<32;++Se)Rr[Se]=5;var Rb=Yt(ts,9,0),Ub=Yt(ts,9,1),mb=Yt(Rr,5,0),Fb=Yt(Rr,5,1),gD=function(i){for(var A=i[0],g=1;g<i.length;++g)i[g]>A&&(A=i[g]);return A},Mt=function(i,A,g){var e=A/8|0;return(i[e]|i[e+1]<<8)>>(A&7)&g},eD=function(i,A){var g=A/8|0;return(i[g]|i[g+1]<<8|i[g+2]<<16)>>(A&7)},yh=function(i){return(i/8|0)+(i&7&&1)},Ht=function(i,A,g){(A==null||A<0)&&(A=0),(g==null||g>i.length)&&(g=i.length);var e=new(i instanceof JI?JI:i instanceof is?is:jg)(g-A);return e.set(i.subarray(A,g)),e},Sh=function(i,A,g){var e=i.length;if(!e||g&&!g.l&&e<5)return A||new jg(0);var I=!A||g,t=!g||g.i;g||(g={}),A||(A=new jg(e*3));var C=function(O){var bA=A.length;if(O>bA){var mA=new jg(Math.max(bA*2,O));mA.set(A),A=mA}},o=g.f||0,s=g.p||0,n=g.b||0,B=g.l,r=g.d,Q=g.m,E=g.n,c=e*8;do{if(!B){g.f=o=Mt(i,s,1);var h=Mt(i,s+1,3);if(s+=3,h)if(h==1)B=Ub,r=Fb,Q=9,E=5;else if(h==2){var D=Mt(i,s,31)+257,u=Mt(i,s+10,15)+4,w=D+Mt(i,s+5,31)+1;s+=14;for(var y=new jg(w),M=new jg(19),f=0;f<u;++f)M[Gc[f]]=Mt(i,s+f*3,7);s+=u*3;for(var R=gD(M),m=(1<<R)-1,L=Yt(M,R,1),f=0;f<w;){var Y=L[Mt(i,s,m)];s+=Y&15;var l=Y>>>4;if(l<16)y[f++]=l;else{var v=0,q=0;for(l==16?(q=3+Mt(i,s,3),s+=2,v=y[f-1]):l==17?(q=3+Mt(i,s,7),s+=3):l==18&&(q=11+Mt(i,s,127),s+=7);q--;)y[f++]=v}}var H=y.subarray(0,D),$=y.subarray(D);Q=gD(H),E=gD($),B=Yt(H,Q,1),r=Yt($,E,1)}else throw"invalid block type";else{var l=yh(s)+4,d=i[l-4]|i[l-3]<<8,p=l+d;if(p>e){if(t)throw"unexpected EOF";break}I&&C(n+d),A.set(i.subarray(l,p),n),g.b=n+=d,g.p=s=p*8;continue}if(s>c){if(t)throw"unexpected EOF";break}}I&&C(n+131072);for(var X=(1<<Q)-1,Z=(1<<E)-1,QA=s;;QA=s){var v=B[eD(i,s)&X],rA=v>>>4;if(s+=v&15,s>c){if(t)throw"unexpected EOF";break}if(!v)throw"invalid length/literal";if(rA<256)A[n++]=rA;else if(rA==256){QA=s,B=null;break}else{var UA=rA-254;if(rA>264){var f=rA-257,dA=eQ[f];UA=Mt(i,s,(1<<dA)-1)+Bk[f],s+=dA}var IA=r[eD(i,s)&Z],nA=IA>>>4;if(!IA)throw"invalid distance";s+=IA&15;var $=Mb[nA];if(nA>3){var dA=IQ[nA];$+=eD(i,s)&(1<<dA)-1,s+=dA}if(s>c){if(t)throw"unexpected EOF";break}I&&C(n+131072);for(var SA=n+UA;n<SA;n+=4)A[n]=A[n-$],A[n+1]=A[n+1-$],A[n+2]=A[n+2-$],A[n+3]=A[n+3-$];n=SA}}g.l=B,g.p=QA,g.b=n,B&&(o=1,g.m=Q,g.d=r,g.n=E)}while(!o);return n==A.length?A:Ht(A,0,n)},JC=function(i,A,g){g<<=A&7;var e=A/8|0;i[e]|=g,i[e+1]|=g>>>8},ba=function(i,A,g){g<<=A&7;var e=A/8|0;i[e]|=g,i[e+1]|=g>>>8,i[e+2]|=g>>>16},ID=function(i,A){for(var g=[],e=0;e<i.length;++e)i[e]&&g.push({s:e,f:i[e]});var I=g.length,t=g.slice();if(!I)return[jo,0];if(I==1){var C=new jg(g[0].s+1);return C[g[0].s]=1,[C,1]}g.sort(function(w,y){return w.f-y.f}),g.push({s:-1,f:25001});var o=g[0],s=g[1],n=0,B=1,r=2;for(g[0]={s:-1,f:o.f+s.f,l:o,r:s};B!=I-1;)o=g[g[n].f<g[r].f?n++:r++],s=g[n!=B&&g[n].f<g[r].f?n++:r++],g[B++]={s:-1,f:o.f+s.f,l:o,r:s};for(var Q=t[0].s,e=1;e<I;++e)t[e].s>Q&&(Q=t[e].s);var E=new JI(Q+1),c=tu(g[B-1],E,0);if(c>A){var e=0,h=0,l=c-A,d=1<<l;for(t.sort(function(y,M){return E[M.s]-E[y.s]||y.f-M.f});e<I;++e){var p=t[e].s;if(E[p]>A)h+=d-(1<<c-E[p]),E[p]=A;else break}for(h>>>=l;h>0;){var D=t[e].s;E[D]<A?h-=1<<A-E[D]++-1:++e}for(;e>=0&&h;--e){var u=t[e].s;E[u]==A&&(--E[u],++h)}c=A}return[new jg(E),c]},tu=function(i,A,g){return i.s==-1?Math.max(tu(i.l,A,g+1),tu(i.r,A,g+1)):A[i.s]=g},xS=function(i){for(var A=i.length;A&&!i[--A];);for(var g=new JI(++A),e=0,I=i[0],t=1,C=function(s){g[e++]=s},o=1;o<=A;++o)if(i[o]==I&&o!=A)++t;else{if(!I&&t>2){for(;t>138;t-=138)C(32754);t>2&&(C(t>10?t-11<<5|28690:t-3<<5|12305),t=0)}else if(t>3){for(C(I),--t;t>6;t-=6)C(8304);t>2&&(C(t-3<<5|8208),t=0)}for(;t--;)C(I);t=1,I=i[o]}return[g.subarray(0,e),A]},xa=function(i,A){for(var g=0,e=0;e<A.length;++e)g+=i[e]*A[e];return g},xE=function(i,A,g){var e=g.length,I=yh(A+2);i[I]=e&255,i[I+1]=e>>>8,i[I+2]=i[I]^255,i[I+3]=i[I+1]^255;for(var t=0;t<e;++t)i[I+t+4]=g[t];return(I+4+e)*8},vS=function(i,A,g,e,I,t,C,o,s,n,B){JC(A,B++,g),++I[256];for(var r=ID(I,15),Q=r[0],E=r[1],c=ID(t,15),h=c[0],l=c[1],d=xS(Q),p=d[0],D=d[1],u=xS(h),w=u[0],y=u[1],M=new JI(19),f=0;f<p.length;++f)M[p[f]&31]++;for(var f=0;f<w.length;++f)M[w[f]&31]++;for(var R=ID(M,7),m=R[0],L=R[1],Y=19;Y>4&&!m[Gc[Y-1]];--Y);var v=n+5<<3,q=xa(I,ts)+xa(t,Rr)+C,H=xa(I,Q)+xa(t,h)+C+14+3*Y+xa(M,m)+(2*M[16]+3*M[17]+7*M[18]);if(v<=q&&v<=H)return xE(A,B,i.subarray(s,s+n));var $,X,Z,QA;if(JC(A,B,1+(H<q)),B+=2,H<q){$=Yt(Q,E,0),X=Q,Z=Yt(h,l,0),QA=h;var rA=Yt(m,L,0);JC(A,B,D-257),JC(A,B+5,y-1),JC(A,B+10,Y-4),B+=14;for(var f=0;f<Y;++f)JC(A,B+3*f,m[Gc[f]]);B+=3*Y;for(var UA=[p,w],dA=0;dA<2;++dA)for(var IA=UA[dA],f=0;f<IA.length;++f){var nA=IA[f]&31;JC(A,B,rA[nA]),B+=m[nA],nA>15&&(JC(A,B,IA[f]>>>5&127),B+=IA[f]>>>12)}}else $=Rb,X=ts,Z=mb,QA=Rr;for(var f=0;f<o;++f)if(e[f]>255){var nA=e[f]>>>18&31;ba(A,B,$[nA+257]),B+=X[nA+257],nA>7&&(JC(A,B,e[f]>>>23&31),B+=eQ[nA]);var SA=e[f]&31;ba(A,B,Z[SA]),B+=QA[SA],SA>3&&(ba(A,B,e[f]>>>5&8191),B+=IQ[SA])}else ba(A,B,$[e[f]]),B+=X[e[f]];return ba(A,B,$[256]),B+X[256]},Nb=new is([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),jo=new jg(0),Kb=function(i,A,g,e,I,t){var C=i.length,o=new jg(e+C+5*(1+Math.ceil(C/7e3))+I),s=o.subarray(e,o.length-I),n=0;if(!A||C<8)for(var B=0;B<=C;B+=65535){var r=B+65535;r<C?n=xE(s,n,i.subarray(B,r)):(s[B]=t,n=xE(s,n,i.subarray(B,C)))}else{for(var Q=Nb[A-1],E=Q>>>13,c=Q&8191,h=(1<<g)-1,l=new JI(32768),d=new JI(h+1),p=Math.ceil(g/3),D=2*p,u=function(KA){return(i[KA]^i[KA+1]<<p^i[KA+2]<<D)&h},w=new is(25e3),y=new JI(288),M=new JI(32),f=0,R=0,B=0,m=0,L=0,Y=0;B<C;++B){var v=u(B),q=B&32767,H=d[v];if(l[q]=H,d[v]=q,L<=B){var $=C-B;if((f>7e3||m>24576)&&$>423){n=vS(i,s,0,w,y,M,R,m,Y,B-Y,n),m=f=R=0,Y=B;for(var X=0;X<286;++X)y[X]=0;for(var X=0;X<30;++X)M[X]=0}var Z=2,QA=0,rA=c,UA=q-H&32767;if($>2&&v==u(B-UA))for(var dA=Math.min(E,$)-1,IA=Math.min(32767,B),nA=Math.min(258,$);UA<=IA&&--rA&&q!=H;){if(i[B+Z]==i[B+Z-UA]){for(var SA=0;SA<nA&&i[B+SA]==i[B+SA-UA];++SA);if(SA>Z){if(Z=SA,QA=UA,SA>dA)break;for(var O=Math.min(UA,SA-2),bA=0,X=0;X<O;++X){var mA=B-UA+X+32768&32767,WA=l[mA],fA=mA-WA+32768&32767;fA>bA&&(bA=fA,H=mA)}}}q=H,H=l[q],UA+=q-H+32768&32767}if(QA){w[m++]=268435456|iu[Z]<<18|bS[QA];var og=iu[Z]&31,lA=bS[QA]&31;R+=eQ[og]+IQ[lA],++y[257+og],++M[lA],L=B+Z,++f}else w[m++]=i[B],++y[i[B]]}}n=vS(i,s,t,w,y,M,R,m,Y,B-Y,n),!t&&n&7&&(n=xE(s,n+1,jo))}return Ht(o,0,e+yh(n)+I)},Jb=function(){for(var i=new is(256),A=0;A<256;++A){for(var g=A,e=9;--e;)g=(g&1&&3988292384)^g>>>1;i[A]=g}return i}(),iQ=function(){var i=-1;return{p:function(A){for(var g=i,e=0;e<A.length;++e)g=Jb[g&255^A[e]]^g>>>8;i=g},d:function(){return~i}}},ak=function(){var i=1,A=0;return{p:function(g){for(var e=i,I=A,t=g.length,C=0;C!=t;){for(var o=Math.min(C+2655,t);C<o;++C)I+=e+=g[C];e=(e&65535)+15*(e>>16),I=(I&65535)+15*(I>>16)}i=e,A=I},d:function(){return i%=65521,A%=65521,(i&255)<<24|i>>>8<<16|(A&255)<<8|A>>>8}}},HB=function(i,A,g,e,I){return Kb(i,A.level==null?6:A.level,A.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(i.length)))*1.5):12+A.mem,g,e,!I)},Gh=function(i,A){var g={};for(var e in i)g[e]=i[e];for(var e in A)g[e]=A[e];return g},Jm=function(i,A,g){for(var e=i(),I=i.toString(),t=I.slice(I.indexOf("[")+1,I.lastIndexOf("]")).replace(/ /g,"").split(","),C=0;C<e.length;++C){var o=e[C],s=t[C];if(typeof o=="function"){A+=";"+s+"=";var n=o.toString();if(o.prototype)if(n.indexOf("[native code]")!=-1){var B=n.indexOf(" ",8)+1;A+=n.slice(B,n.indexOf("(",B))}else{A+=n;for(var r in o.prototype)A+=";"+s+".prototype."+r+"="+o.prototype[r].toString()}else A+=n}else g[s]=o}return[A,g]},Cd=[],qz=function(i){var A=[];for(var g in i)(i[g]instanceof jg||i[g]instanceof JI||i[g]instanceof is)&&A.push((i[g]=new i[g].constructor(i[g])).buffer);return A},qb=function(i,A,g,e){var I;if(!Cd[g]){for(var t="",C={},o=i.length-1,s=0;s<o;++s)I=Jm(i[s],t,C),t=I[0],C=I[1];Cd[g]=Jm(i[o],t,C)}var n=Gh({},Cd[g][1]);return Jz(Cd[g][0]+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+A.toString()+"}",g,n,qz(n),e)},tQ=function(){return[jg,JI,is,eQ,IQ,Gc,Bk,Mb,Ub,Fb,kc,Yt,gD,Mt,eD,yh,Ht,Sh,nQ,pn,rk]},CQ=function(){return[jg,JI,is,eQ,IQ,Gc,iu,bS,Rb,ts,mb,Rr,kc,Nb,jo,Yt,JC,ba,ID,tu,xS,xa,xE,vS,yh,Ht,Kb,HB,kh,pn]},Lb=function(){return[Qk,ck,Ce,iQ,Jb]},bb=function(){return[Ek,Yb]},xb=function(){return[hk,Ce,ak]},vb=function(){return[Hb]},pn=function(i){return postMessage(i,[i.buffer])},rk=function(i){return i&&i.size&&new jg(i.size)},oQ=function(i,A,g,e,I,t){var C=qb(g,e,I,function(o,s){C.terminate(),t(o,s)});return C.postMessage([i,A],A.consume?[i.buffer]:[]),function(){C.terminate()}},Pt=function(i){return i.ondata=function(A,g){return postMessage([A,g],[A.buffer])},function(A){return i.push(A.data[0],A.data[1])}},sQ=function(i,A,g,e,I){var t,C=qb(i,e,I,function(o,s){o?(C.terminate(),A.ondata.call(A,o)):(s[1]&&C.terminate(),A.ondata.call(A,o,s[0],s[1]))});C.postMessage(g),A.push=function(o,s){if(t)throw"stream finished";if(!A.ondata)throw"no stream handler";C.postMessage([o,t=s],[o.buffer])},A.terminate=function(){C.terminate()}},wi=function(i,A){return i[A]|i[A+1]<<8},$e=function(i,A){return(i[A]|i[A+1]<<8|i[A+2]<<16|i[A+3]<<24)>>>0},Yw=function(i,A){return $e(i,A)+$e(i,A+4)*4294967296},Ce=function(i,A,g){for(;g;++A)i[A]=g,g>>>=8},Qk=function(i,A){var g=A.filename;if(i[0]=31,i[1]=139,i[2]=8,i[8]=A.level<2?4:A.level==9?2:0,i[9]=3,A.mtime!=0&&Ce(i,4,Math.floor(new Date(A.mtime||Date.now())/1e3)),g){i[3]=8;for(var e=0;e<=g.length;++e)i[e+10]=g.charCodeAt(e)}},Ek=function(i){if(i[0]!=31||i[1]!=139||i[2]!=8)throw"invalid gzip data";var A=i[3],g=10;A&4&&(g+=i[10]|(i[11]<<8)+2);for(var e=(A>>3&1)+(A>>4&1);e>0;e-=!i[g++]);return g+(A&2)},Yb=function(i){var A=i.length;return(i[A-4]|i[A-3]<<8|i[A-2]<<16|i[A-1]<<24)>>>0},ck=function(i){return 10+(i.filename&&i.filename.length+1||0)},hk=function(i,A){var g=A.level,e=g==0?0:g<6?1:g==9?3:2;i[0]=120,i[1]=e<<6|(e?32-2*e:1)},Hb=function(i){if((i[0]&15)!=8||i[0]>>>4>7||(i[0]<<8|i[1])%31)throw"invalid zlib data";if(i[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function lk(i,A){return!A&&typeof i=="function"&&(A=i,i={}),this.ondata=A,i}var to=function(){function i(A,g){!g&&typeof A=="function"&&(g=A,A={}),this.ondata=g,this.o=A||{}}return i.prototype.p=function(A,g){this.ondata(HB(A,this.o,0,0,!g),g)},i.prototype.push=function(A,g){if(this.d)throw"stream finished";if(!this.ondata)throw"no stream handler";this.d=g,this.p(A,g||!1)},i}(),Tb=function(){function i(A,g){sQ([CQ,function(){return[Pt,to]}],this,lk.call(this,A,g),function(e){var I=new to(e.data);onmessage=Pt(I)},6)}return i}();function Ob(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[CQ],function(e){return pn(kh(e.data[0],e.data[1]))},0,g)}function kh(i,A){return HB(i,A||{},0,0)}var Oi=function(){function i(A){this.s={},this.p=new jg(0),this.ondata=A}return i.prototype.e=function(A){if(this.d)throw"stream finished";if(!this.ondata)throw"no stream handler";var g=this.p.length,e=new jg(g+A.length);e.set(this.p),e.set(A,g),this.p=e},i.prototype.c=function(A){this.d=this.s.i=A||!1;var g=this.s.b,e=Sh(this.p,this.o,this.s);this.ondata(Ht(e,g,this.s.b),this.d),this.o=Ht(e,this.s.b-32768),this.s.b=this.o.length,this.p=Ht(this.p,this.s.p/8|0),this.s.p&=7},i.prototype.push=function(A,g){this.e(A),this.c(g)},i}(),dk=function(){function i(A){this.ondata=A,sQ([tQ,function(){return[Pt,Oi]}],this,0,function(){var g=new Oi;onmessage=Pt(g)},7)}return i}();function Dk(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[tQ],function(e){return pn(nQ(e.data[0],rk(e.data[1])))},1,g)}function nQ(i,A){return Sh(i,A)}var Cu=function(){function i(A,g){this.c=iQ(),this.l=0,this.v=1,to.call(this,A,g)}return i.prototype.push=function(A,g){to.prototype.push.call(this,A,g)},i.prototype.p=function(A,g){this.c.p(A),this.l+=A.length;var e=HB(A,this.o,this.v&&ck(this.o),g&&8,!g);this.v&&(Qk(e,this.o),this.v=0),g&&(Ce(e,e.length-8,this.c.d()),Ce(e,e.length-4,this.l)),this.ondata(e,g)},i}(),qm=function(){function i(A,g){sQ([CQ,Lb,function(){return[Pt,to,Cu]}],this,lk.call(this,A,g),function(e){var I=new Cu(e.data);onmessage=Pt(I)},8)}return i}();function Lm(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[CQ,Lb,function(){return[ou]}],function(e){return pn(ou(e.data[0],e.data[1]))},2,g)}function ou(i,A){A||(A={});var g=iQ(),e=i.length;g.p(i);var I=HB(i,A,ck(A),8),t=I.length;return Qk(I,A),Ce(I,t-8,g.d()),Ce(I,t-4,e),I}var su=function(){function i(A){this.v=1,Oi.call(this,A)}return i.prototype.push=function(A,g){if(Oi.prototype.e.call(this,A),this.v){var e=this.p.length>3?Ek(this.p):4;if(e>=this.p.length&&!g)return;this.p=this.p.subarray(e),this.v=0}if(g){if(this.p.length<8)throw"invalid gzip stream";this.p=this.p.subarray(0,-8)}Oi.prototype.c.call(this,g)},i}(),_b=function(){function i(A){this.ondata=A,sQ([tQ,bb,function(){return[Pt,Oi,su]}],this,0,function(){var g=new su;onmessage=Pt(g)},9)}return i}();function Pb(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[tQ,bb,function(){return[nu]}],function(e){return pn(nu(e.data[0]))},3,g)}function nu(i,A){return Sh(i.subarray(Ek(i),-8),A||new jg(Yb(i)))}var YS=function(){function i(A,g){this.c=ak(),this.v=1,to.call(this,A,g)}return i.prototype.push=function(A,g){to.prototype.push.call(this,A,g)},i.prototype.p=function(A,g){this.c.p(A);var e=HB(A,this.o,this.v&&2,g&&4,!g);this.v&&(hk(e,this.o),this.v=0),g&&Ce(e,e.length-4,this.c.d()),this.ondata(e,g)},i}(),Lz=function(){function i(A,g){sQ([CQ,xb,function(){return[Pt,to,YS]}],this,lk.call(this,A,g),function(e){var I=new YS(e.data);onmessage=Pt(I)},10)}return i}();function bz(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[CQ,xb,function(){return[HS]}],function(e){return pn(HS(e.data[0],e.data[1]))},4,g)}function HS(i,A){A||(A={});var g=ak();g.p(i);var e=HB(i,A,2,4);return hk(e,A),Ce(e,e.length-4,g.d()),e}var Bu=function(){function i(A){this.v=1,Oi.call(this,A)}return i.prototype.push=function(A,g){if(Oi.prototype.e.call(this,A),this.v){if(this.p.length<2&&!g)return;this.p=this.p.subarray(2),this.v=0}if(g){if(this.p.length<4)throw"invalid zlib stream";this.p=this.p.subarray(0,-4)}Oi.prototype.c.call(this,g)},i}(),Wb=function(){function i(A){this.ondata=A,sQ([tQ,vb,function(){return[Pt,Oi,Bu]}],this,0,function(){var g=new Bu;onmessage=Pt(g)},11)}return i}();function jb(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[tQ,vb,function(){return[zs]}],function(e){return pn(zs(e.data[0],rk(e.data[1])))},5,g)}function zs(i,A){return Sh((Hb(i),i.subarray(2,-4)),A)}var zb=function(){function i(A){this.G=su,this.I=Oi,this.Z=Bu,this.ondata=A}return i.prototype.push=function(A,g){if(!this.ondata)throw"no stream handler";if(this.s)this.s.push(A,g);else{if(this.p&&this.p.length){var e=new jg(this.p.length+A.length);e.set(this.p),e.set(A,this.p.length)}else this.p=A;if(this.p.length>2){var I=this,t=function(){I.ondata.apply(I,arguments)};this.s=this.p[0]==31&&this.p[1]==139&&this.p[2]==8?new this.G(t):(this.p[0]&15)!=8||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(t):new this.Z(t),this.s.push(this.p,g),this.p=null}}},i}(),xz=function(){function i(A){this.G=_b,this.I=dk,this.Z=Wb,this.ondata=A}return i.prototype.push=function(A,g){zb.prototype.push.call(this,A,g)},i}();function vz(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return i[0]==31&&i[1]==139&&i[2]==8?Pb(i,A,g):(i[0]&15)!=8||i[0]>>4>7||(i[0]<<8|i[1])%31?Dk(i,A,g):jb(i,A,g)}function Yz(i,A){return i[0]==31&&i[1]==139&&i[2]==8?nu(i,A):(i[0]&15)!=8||i[0]>>4>7||(i[0]<<8|i[1])%31?nQ(i,A):zs(i,A)}var uk=function(i,A,g,e){for(var I in i){var t=i[I],C=A+I;t instanceof jg?g[C]=[t,e]:Array.isArray(t)?g[C]=[t[0],Gh(e,t[1])]:uk(t,C+"/",g,e)}},bm=typeof TextEncoder<"u"&&new TextEncoder,TS=typeof TextDecoder<"u"&&new TextDecoder,Zb=0;try{TS.decode(jo,{stream:!0}),Zb=1}catch{}var Vb=function(i){for(var A="",g=0;;){var e=i[g++],I=(e>127)+(e>223)+(e>239);if(g+I>i.length)return[A,Ht(i,g-1)];I?I==3?(e=((e&15)<<18|(i[g++]&63)<<12|(i[g++]&63)<<6|i[g++]&63)-65536,A+=String.fromCharCode(55296|e>>10,56320|e&1023)):I&1?A+=String.fromCharCode((e&31)<<6|i[g++]&63):A+=String.fromCharCode((e&15)<<12|(i[g++]&63)<<6|i[g++]&63):A+=String.fromCharCode(e)}},Hz=function(){function i(A){this.ondata=A,Zb?this.t=new TextDecoder:this.p=jo}return i.prototype.push=function(A,g){if(!this.ondata)throw"no callback";if(g=!!g,this.t){if(this.ondata(this.t.decode(A,{stream:!0}),g),g){if(this.t.decode().length)throw"invalid utf-8 data";this.t=null}return}if(!this.p)throw"stream finished";var e=new jg(this.p.length+A.length);e.set(this.p),e.set(A,this.p.length);var I=Vb(e),t=I[0],C=I[1];if(g){if(C.length)throw"invalid utf-8 data";this.p=null}else this.p=C;this.ondata(t,g)},i}(),Tz=function(){function i(A){this.ondata=A}return i.prototype.push=function(A,g){if(!this.ondata)throw"no callback";if(this.d)throw"stream finished";this.ondata(Co(A),this.d=g||!1)},i}();function Co(i,A){if(A){for(var g=new jg(i.length),e=0;e<i.length;++e)g[e]=i.charCodeAt(e);return g}if(bm)return bm.encode(i);for(var I=i.length,t=new jg(i.length+(i.length>>1)),C=0,o=function(B){t[C++]=B},e=0;e<I;++e){if(C+5>t.length){var s=new jg(C+8+(I-e<<1));s.set(t),t=s}var n=i.charCodeAt(e);n<128||A?o(n):n<2048?(o(192|n>>6),o(128|n&63)):n>55295&&n<57344?(n=65536+(n&1023<<10)|i.charCodeAt(++e)&1023,o(240|n>>18),o(128|n>>12&63),o(128|n>>6&63),o(128|n&63)):(o(224|n>>12),o(128|n>>6&63),o(128|n&63))}return Ht(t,0,C)}function pk(i,A){if(A){for(var g="",e=0;e<i.length;e+=16384)g+=String.fromCharCode.apply(null,i.subarray(e,e+16384));return g}else{if(TS)return TS.decode(i);var I=Vb(i),t=I[0],C=I[1];if(C.length)throw"invalid utf-8 data";return t}}var Xb=function(i){return i==1?3:i<6?2:i==9?1:0},$b=function(i,A){return A+30+wi(i,A+26)+wi(i,A+28)},Ax=function(i,A,g){var e=wi(i,A+28),I=pk(i.subarray(A+46,A+46+e),!(wi(i,A+8)&2048)),t=A+46+e,C=$e(i,A+20),o=g&&C==4294967295?gx(i,t):[C,$e(i,A+24),$e(i,A+42)],s=o[0],n=o[1],B=o[2];return[wi(i,A+10),s,n,I,t+wi(i,A+30)+wi(i,A+32),B]},gx=function(i,A){for(;wi(i,A)!=1;A+=4+wi(i,A+2));return[Yw(i,A+12),Yw(i,A+4),Yw(i,A+20)]},gn=function(i){var A=0;if(i)for(var g in i){var e=i[g].length;if(e>65535)throw"extra field too long";A+=e+4}return A},Ur=function(i,A,g,e,I,t,C,o){var s=e.length,n=g.extra,B=o&&o.length,r=gn(n);Ce(i,A,C!=null?33639248:67324752),A+=4,C!=null&&(i[A++]=20,i[A++]=g.os),i[A]=20,A+=2,i[A++]=g.flag<<1|(t==null&&8),i[A++]=I&&8,i[A++]=g.compression&255,i[A++]=g.compression>>8;var Q=new Date(g.mtime==null?Date.now():g.mtime),E=Q.getFullYear()-1980;if(E<0||E>119)throw"date not in range 1980-2099";if(Ce(i,A,E<<25|Q.getMonth()+1<<21|Q.getDate()<<16|Q.getHours()<<11|Q.getMinutes()<<5|Q.getSeconds()>>>1),A+=4,t!=null&&(Ce(i,A,g.crc),Ce(i,A+4,t),Ce(i,A+8,g.size)),Ce(i,A+12,s),Ce(i,A+14,r),A+=16,C!=null&&(Ce(i,A,B),Ce(i,A+6,g.attrs),Ce(i,A+10,C),A+=14),i.set(e,A),A+=s,r)for(var c in n){var h=n[c],l=h.length;Ce(i,A,+c),Ce(i,A+2,l),i.set(h,A+4),A+=4+l}return B&&(i.set(o,A),A+=B),A},fk=function(i,A,g,e,I){Ce(i,A,101010256),Ce(i,A+8,g),Ce(i,A+10,g),Ce(i,A+12,e),Ce(i,A+16,I)},Mc=function(){function i(A){this.filename=A,this.c=iQ(),this.size=0,this.compression=0}return i.prototype.process=function(A,g){this.ondata(null,A,g)},i.prototype.push=function(A,g){if(!this.ondata)throw"no callback - add to ZIP archive before pushing";this.c.p(A),this.size+=A.length,g&&(this.crc=this.c.d()),this.process(A,g||!1)},i}(),Oz=function(){function i(A,g){var e=this;g||(g={}),Mc.call(this,A),this.d=new to(g,function(I,t){e.ondata(null,I,t)}),this.compression=8,this.flag=Xb(g.level)}return i.prototype.process=function(A,g){try{this.d.push(A,g)}catch(e){this.ondata(e,null,g)}},i.prototype.push=function(A,g){Mc.prototype.push.call(this,A,g)},i}(),_z=function(){function i(A,g){var e=this;g||(g={}),Mc.call(this,A),this.d=new Tb(g,function(I,t,C){e.ondata(I,t,C)}),this.compression=8,this.flag=Xb(g.level),this.terminate=this.d.terminate}return i.prototype.process=function(A,g){this.d.push(A,g)},i.prototype.push=function(A,g){Mc.prototype.push.call(this,A,g)},i}(),Pz=function(){function i(A){this.ondata=A,this.u=[],this.d=1}return i.prototype.add=function(A){var g=this;if(this.d&2)throw"stream finished";var e=Co(A.filename),I=e.length,t=A.comment,C=t&&Co(t),o=I!=A.filename.length||C&&t.length!=C.length,s=I+gn(A.extra)+30;if(I>65535)throw"filename too long";var n=new jg(s);Ur(n,0,A,e,o);var B=[n],r=function(){for(var l=0,d=B;l<d.length;l++){var p=d[l];g.ondata(null,p,!1)}B=[]},Q=this.d;this.d=0;var E=this.u.length,c=Gh(A,{f:e,u:o,o:C,t:function(){A.terminate&&A.terminate()},r:function(){if(r(),Q){var l=g.u[E+1];l?l.r():g.d=1}Q=1}}),h=0;A.ondata=function(l,d,p){if(l)g.ondata(l,d,p),g.terminate();else if(h+=d.length,B.push(d),p){var D=new jg(16);Ce(D,0,134695760),Ce(D,4,A.crc),Ce(D,8,h),Ce(D,12,A.size),B.push(D),c.c=h,c.b=s+h+16,c.crc=A.crc,c.size=A.size,Q&&c.r(),Q=1}else Q&&r()},this.u.push(c)},i.prototype.end=function(){var A=this;if(this.d&2)throw this.d&1?"stream finishing":"stream finished";this.d?this.e():this.u.push({r:function(){A.d&1&&(A.u.splice(-1,1),A.e())},t:function(){}}),this.d=3},i.prototype.e=function(){for(var A=0,g=0,e=0,I=0,t=this.u;I<t.length;I++){var C=t[I];e+=46+C.f.length+gn(C.extra)+(C.o?C.o.length:0)}for(var o=new jg(e+22),s=0,n=this.u;s<n.length;s++){var C=n[s];Ur(o,A,C,C.f,C.u,C.c,g,C.o),A+=46+C.f.length+gn(C.extra)+(C.o?C.o.length:0),g+=C.b}fk(o,A,this.u.length,e,g),this.ondata(null,o,!0),this.d=2},i.prototype.terminate=function(){for(var A=0,g=this.u;A<g.length;A++){var e=g[A];e.t()}this.d=2},i}();function Wz(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";var e={};uk(i,"",e,A);var I=Object.keys(e),t=I.length,C=0,o=0,s=t,n=new Array(t),B=[],r=function(){for(var h=0;h<B.length;++h)B[h]()},Q=function(){var h=new jg(o+22),l=C,d=o-C;o=0;for(var p=0;p<s;++p){var D=n[p];try{var u=D.c.length;Ur(h,o,D,D.f,D.u,u);var w=30+D.f.length+gn(D.extra),y=o+w;h.set(D.c,y),Ur(h,C,D,D.f,D.u,u,o,D.m),C+=16+w+(D.m?D.m.length:0),o=y+u}catch(M){return g(M,null)}}fk(h,C,n.length,d,l),g(null,h)};t||Q();for(var E=function(h){var l=I[h],d=e[l],p=d[0],D=d[1],u=iQ(),w=p.length;u.p(p);var y=Co(l),M=y.length,f=D.comment,R=f&&Co(f),m=R&&R.length,L=gn(D.extra),Y=D.level==0?0:8,v=function(q,H){if(q)r(),g(q,null);else{var $=H.length;n[h]=Gh(D,{size:w,crc:u.d(),c:H,f:y,m:R,u:M!=l.length||R&&f.length!=m,compression:Y}),C+=30+M+L+$,o+=76+2*(M+L)+(m||0)+$,--t||Q()}};if(M>65535&&v("filename too long",null),!Y)v(null,p);else if(w<16e4)try{v(null,kh(p,D))}catch(q){v(q,null)}else B.push(Ob(p,D,v))},c=0;c<s;++c)E(c);return r}function ex(i,A){A||(A={});var g={},e=[];uk(i,"",g,A);var I=0,t=0;for(var C in g){var o=g[C],s=o[0],n=o[1],B=n.level==0?0:8,r=Co(C),Q=r.length,E=n.comment,c=E&&Co(E),h=c&&c.length,l=gn(n.extra);if(Q>65535)throw"filename too long";var d=B?kh(s,n):s,p=d.length,D=iQ();D.p(s),e.push(Gh(n,{size:s.length,crc:D.d(),c:d,f:r,m:c,u:Q!=C.length||c&&E.length!=h,o:I,compression:B})),I+=30+Q+l+p,t+=76+2*(Q+l)+(h||0)+p}for(var u=new jg(t+22),w=I,y=t-I,M=0;M<e.length;++M){var r=e[M];Ur(u,r.o,r,r.f,r.u,r.c.length);var f=30+r.f.length+gn(r.extra);u.set(r.c,r.o+f),Ur(u,I,r,r.f,r.u,r.c.length,r.o,r.m),I+=16+f+(r.m?r.m.length:0)}return fk(u,I,e.length,y,w),u}var Ix=function(){function i(){}return i.prototype.push=function(A,g){this.ondata(null,A,g)},i.compression=0,i}(),jz=function(){function i(){var A=this;this.i=new Oi(function(g,e){A.ondata(null,g,e)})}return i.prototype.push=function(A,g){try{this.i.push(A,g)}catch(e){this.ondata(e,A,g)}},i.compression=8,i}(),zz=function(){function i(A,g){var e=this;g<32e4?this.i=new Oi(function(I,t){e.ondata(null,I,t)}):(this.i=new dk(function(I,t,C){e.ondata(I,t,C)}),this.terminate=this.i.terminate)}return i.prototype.push=function(A,g){this.i.terminate&&(A=Ht(A,0)),this.i.push(A,g)},i.compression=8,i}(),Zz=function(){function i(A){this.onfile=A,this.k=[],this.o={0:Ix},this.p=jo}return i.prototype.push=function(A,g){var e=this;if(!this.onfile)throw"no callback";if(!this.p)throw"stream finished";if(this.c>0){var I=Math.min(this.c,A.length),t=A.subarray(0,I);if(this.c-=I,this.d?this.d.push(t,!this.c):this.k[0].push(t),A=A.subarray(I),A.length)return this.push(A,g)}else{var C=0,o=0,s=void 0,n=void 0;this.p.length?A.length?(n=new jg(this.p.length+A.length),n.set(this.p),n.set(A,this.p.length)):n=this.p:n=A;for(var B=n.length,r=this.c,Q=r&&this.d,E=function(){var d,p=$e(n,o);if(p==67324752){C=1,s=o,c.d=null,c.c=0;var D=wi(n,o+6),u=wi(n,o+8),w=D&2048,y=D&8,M=wi(n,o+26),f=wi(n,o+28);if(B>o+30+M+f){var R=[];c.k.unshift(R),C=2;var m=$e(n,o+18),L=$e(n,o+22),Y=pk(n.subarray(o+30,o+=30+M),!w);m==4294967295?(d=y?[-2]:gx(n,o),m=d[0],L=d[1]):y&&(m=-1),o+=f,c.c=m;var v,q={name:Y,compression:u,start:function(){if(!q.ondata)throw"no callback";if(!m)q.ondata(null,jo,!0);else{var H=e.o[u];if(!H)throw"unknown compression type "+u;v=m<0?new H(Y):new H(Y,m,L),v.ondata=function(QA,rA,UA){q.ondata(QA,rA,UA)};for(var $=0,X=R;$<X.length;$++){var Z=X[$];v.push(Z,!1)}e.k[0]==R&&e.c?e.d=v:v.push(jo,!0)}},terminate:function(){v&&v.terminate&&v.terminate()}};m>=0&&(q.size=m,q.originalSize=L),c.onfile(q)}return"break"}else if(r){if(p==134695760)return s=o+=12+(r==-2&&8),C=3,c.c=0,"break";if(p==33639248)return s=o-=4,C=3,c.c=0,"break"}},c=this;o<B-4;++o){var h=E();if(h==="break")break}if(this.p=jo,r<0){var l=C?n.subarray(0,s-12-(r==-2&&8)-($e(n,s-16)==134695760&&4)):n.subarray(0,o);Q?Q.push(l,!!C):this.k[+(C==2)].push(l)}if(C&2)return this.push(n.subarray(o),g);this.p=n.subarray(o)}if(g){if(this.c)throw"invalid zip file";this.p=null}},i.prototype.register=function(A){this.o[A.compression]=A},i}();function Vz(i,A){if(typeof A!="function")throw"no callback";for(var g=[],e=function(){for(var Q=0;Q<g.length;++Q)g[Q]()},I={},t=i.length-22;$e(i,t)!=101010256;--t)if(!t||i.length-t>65558){A("invalid zip file",null);return}var C=wi(i,t+8);C||A(null,{});var o=C,s=$e(i,t+16),n=s==4294967295;if(n){if(t=$e(i,t-12),$e(i,t)!=101075792){A("invalid zip file",null);return}o=C=$e(i,t+32),s=$e(i,t+48)}for(var B=function(Q){var E=Ax(i,s,n),c=E[0],h=E[1],l=E[2],d=E[3],p=E[4],D=E[5],u=$b(i,D);s=p;var w=function(M,f){M?(e(),A(M,null)):(I[d]=f,--C||A(null,I))};if(!c)w(null,Ht(i,u,u+h));else if(c==8){var y=i.subarray(u,u+h);if(h<32e4)try{w(null,nQ(y,new jg(l)))}catch(M){w(M,null)}else g.push(Dk(y,{size:l},w))}else w("unknown compression type "+c,null)},r=0;r<o;++r)B();return e}function Xz(i){for(var A={},g=i.length-22;$e(i,g)!=101010256;--g)if(!g||i.length-g>65558)throw"invalid zip file";var e=wi(i,g+8);if(!e)return{};var I=$e(i,g+16),t=I==4294967295;if(t){if(g=$e(i,g-12),$e(i,g)!=101075792)throw"invalid zip file";e=$e(i,g+32),I=$e(i,g+48)}for(var C=0;C<e;++C){var o=Ax(i,I,t),s=o[0],n=o[1],B=o[2],r=o[3],Q=o[4],E=o[5],c=$b(i,E);if(I=Q,!s)A[r]=Ht(i,c,c+n);else if(s==8)A[r]=nQ(i.subarray(c,c+n),new jg(B));else throw"unknown compression type "+s}return A}const xm=Object.freeze(Object.defineProperty({__proto__:null,AsyncCompress:qm,AsyncDecompress:xz,AsyncDeflate:Tb,AsyncGunzip:_b,AsyncGzip:qm,AsyncInflate:dk,AsyncUnzipInflate:zz,AsyncUnzlib:Wb,AsyncZipDeflate:_z,AsyncZlib:Lz,Compress:Cu,DecodeUTF8:Hz,Decompress:zb,Deflate:to,EncodeUTF8:Tz,Gunzip:su,Gzip:Cu,Inflate:Oi,Unzip:Zz,UnzipInflate:jz,UnzipPassThrough:Ix,Unzlib:Bu,Zip:Pz,ZipDeflate:Oz,ZipPassThrough:Mc,Zlib:YS,compress:Lm,compressSync:ou,decompress:vz,decompressSync:Yz,deflate:Ob,deflateSync:kh,gunzip:Pb,gunzipSync:nu,gzip:Lm,gzipSync:ou,inflate:Dk,inflateSync:nQ,strFromU8:pk,strToU8:Co,unzip:Vz,unzipSync:Xz,unzlib:jb,unzlibSync:zs,zip:Wz,zipSync:ex,zlib:bz,zlibSync:HS},Symbol.toStringTag,{value:"Module"}));class OS extends iG{constructor(A){super(A),this.type=pI}parse(A){const R=Math.pow(2.7182818,2.2);function m(k,F){let x=0;for(let oA=0;oA<65536;++oA)(oA==0||k[oA>>3]&1<<(oA&7))&&(F[x++]=oA);const P=x-1;for(;x<65536;)F[x++]=0;return P}function L(k){for(let F=0;F<16384;F++)k[F]={},k[F].len=0,k[F].lit=0,k[F].p=null}const Y={l:0,c:0,lc:0};function v(k,F,x,P,oA){for(;x<k;)F=F<<8|xA(P,oA),x+=8;x-=k,Y.l=F>>x&(1<<k)-1,Y.c=F,Y.lc=x}const q=new Array(59);function H(k){for(let x=0;x<=58;++x)q[x]=0;for(let x=0;x<65537;++x)q[k[x]]+=1;let F=0;for(let x=58;x>0;--x){const P=F+q[x]>>1;q[x]=F,F=P}for(let x=0;x<65537;++x){const P=k[x];P>0&&(k[x]=P|q[P]++<<6)}}function $(k,F,x,P,oA,AA){const cA=F;let RA=0,vA=0;for(;P<=oA;P++){if(cA.value-F.value>x)return!1;v(6,RA,vA,k,cA);const GA=Y.l;if(RA=Y.c,vA=Y.lc,AA[P]=GA,GA==63){if(cA.value-F.value>x)throw new Error("Something wrong with hufUnpackEncTable");v(8,RA,vA,k,cA);let HA=Y.l+6;if(RA=Y.c,vA=Y.lc,P+HA>oA+1)throw new Error("Something wrong with hufUnpackEncTable");for(;HA--;)AA[P++]=0;P--}else if(GA>=59){let HA=GA-59+2;if(P+HA>oA+1)throw new Error("Something wrong with hufUnpackEncTable");for(;HA--;)AA[P++]=0;P--}}H(AA)}function X(k){return k&63}function Z(k){return k>>6}function QA(k,F,x,P){for(;F<=x;F++){const oA=Z(k[F]),AA=X(k[F]);if(oA>>AA)throw new Error("Invalid table entry");if(AA>14){const cA=P[oA>>AA-14];if(cA.len)throw new Error("Invalid table entry");if(cA.lit++,cA.p){const RA=cA.p;cA.p=new Array(cA.lit);for(let vA=0;vA<cA.lit-1;++vA)cA.p[vA]=RA[vA]}else cA.p=new Array(1);cA.p[cA.lit-1]=F}else if(AA){let cA=0;for(let RA=1<<14-AA;RA>0;RA--){const vA=P[(oA<<14-AA)+cA];if(vA.len||vA.p)throw new Error("Invalid table entry");vA.len=AA,vA.lit=F,cA++}}}return!0}const rA={c:0,lc:0};function UA(k,F,x,P){k=k<<8|xA(x,P),F+=8,rA.c=k,rA.lc=F}const dA={c:0,lc:0};function IA(k,F,x,P,oA,AA,cA,RA,vA){if(k==F){P<8&&(UA(x,P,oA,AA),x=rA.c,P=rA.lc),P-=8;let GA=x>>P;if(GA=new Uint8Array([GA])[0],RA.value+GA>vA)return!1;const HA=cA[RA.value-1];for(;GA-- >0;)cA[RA.value++]=HA}else if(RA.value<vA)cA[RA.value++]=k;else return!1;dA.c=x,dA.lc=P}function nA(k){return k&65535}function SA(k){const F=nA(k);return F>32767?F-65536:F}const O={a:0,b:0};function bA(k,F){const x=SA(k),oA=SA(F),AA=x+(oA&1)+(oA>>1),cA=AA,RA=AA-oA;O.a=cA,O.b=RA}function mA(k,F){const x=nA(k),P=nA(F),oA=x-(P>>1)&65535,AA=P+oA-32768&65535;O.a=AA,O.b=oA}function WA(k,F,x,P,oA,AA,cA){const RA=cA<16384,vA=x>oA?oA:x;let GA=1,HA,jA;for(;GA<=vA;)GA<<=1;for(GA>>=1,HA=GA,GA>>=1;GA>=1;){jA=0;const JA=jA+AA*(oA-HA),Dg=AA*GA,rg=AA*HA,eg=P*GA,cg=P*HA;let Ug,de,Og,Oe;for(;jA<=JA;jA+=rg){let ne=jA;const wg=jA+P*(x-HA);for(;ne<=wg;ne+=cg){const Ue=ne+eg,Ki=ne+Dg,_e=Ki+eg;RA?(bA(k[ne+F],k[Ki+F]),Ug=O.a,Og=O.b,bA(k[Ue+F],k[_e+F]),de=O.a,Oe=O.b,bA(Ug,de),k[ne+F]=O.a,k[Ue+F]=O.b,bA(Og,Oe),k[Ki+F]=O.a,k[_e+F]=O.b):(mA(k[ne+F],k[Ki+F]),Ug=O.a,Og=O.b,mA(k[Ue+F],k[_e+F]),de=O.a,Oe=O.b,mA(Ug,de),k[ne+F]=O.a,k[Ue+F]=O.b,mA(Og,Oe),k[Ki+F]=O.a,k[_e+F]=O.b)}if(x&GA){const Ue=ne+Dg;RA?bA(k[ne+F],k[Ue+F]):mA(k[ne+F],k[Ue+F]),Ug=O.a,k[Ue+F]=O.b,k[ne+F]=Ug}}if(oA&GA){let ne=jA;const wg=jA+P*(x-HA);for(;ne<=wg;ne+=cg){const Ue=ne+eg;RA?bA(k[ne+F],k[Ue+F]):mA(k[ne+F],k[Ue+F]),Ug=O.a,k[Ue+F]=O.b,k[ne+F]=Ug}}HA=GA,GA>>=1}return jA}function fA(k,F,x,P,oA,AA,cA,RA,vA){let GA=0,HA=0;const jA=cA,JA=Math.trunc(P.value+(oA+7)/8);for(;P.value<JA;)for(UA(GA,HA,x,P),GA=rA.c,HA=rA.lc;HA>=14;){const rg=GA>>HA-14&16383,eg=F[rg];if(eg.len)HA-=eg.len,IA(eg.lit,AA,GA,HA,x,P,RA,vA,jA),GA=dA.c,HA=dA.lc;else{if(!eg.p)throw new Error("hufDecode issues");let cg;for(cg=0;cg<eg.lit;cg++){const Ug=X(k[eg.p[cg]]);for(;HA<Ug&&P.value<JA;)UA(GA,HA,x,P),GA=rA.c,HA=rA.lc;if(HA>=Ug&&Z(k[eg.p[cg]])==(GA>>HA-Ug&(1<<Ug)-1)){HA-=Ug,IA(eg.p[cg],AA,GA,HA,x,P,RA,vA,jA),GA=dA.c,HA=dA.lc;break}}if(cg==eg.lit)throw new Error("hufDecode issues")}}const Dg=8-oA&7;for(GA>>=Dg,HA-=Dg;HA>0;){const rg=F[GA<<14-HA&16383];if(rg.len)HA-=rg.len,IA(rg.lit,AA,GA,HA,x,P,RA,vA,jA),GA=dA.c,HA=dA.lc;else throw new Error("hufDecode issues")}return!0}function og(k,F,x,P,oA,AA){const cA={value:0},RA=x.value,vA=_A(F,x),GA=_A(F,x);x.value+=4;const HA=_A(F,x);if(x.value+=4,vA<0||vA>=65537||GA<0||GA>=65537)throw new Error("Something wrong with HUF_ENCSIZE");const jA=new Array(65537),JA=new Array(16384);L(JA);const Dg=P-(x.value-RA);if($(k,x,Dg,vA,GA,jA),HA>8*(P-(x.value-RA)))throw new Error("Something wrong with hufUncompress");QA(jA,vA,GA,JA),fA(jA,JA,k,x,HA,GA,AA,oA,cA)}function lA(k,F,x){for(let P=0;P<x;++P)F[P]=k[F[P]]}function hA(k){for(let F=1;F<k.length;F++){const x=k[F-1]+k[F]-128;k[F]=x}}function KA(k,F){let x=0,P=Math.floor((k.length+1)/2),oA=0;const AA=k.length-1;for(;!(oA>AA||(F[oA++]=k[x++],oA>AA));)F[oA++]=k[P++]}function Ag(k){let F=k.byteLength;const x=new Array;let P=0;const oA=new DataView(k);for(;F>0;){const AA=oA.getInt8(P++);if(AA<0){const cA=-AA;F-=cA+1;for(let RA=0;RA<cA;RA++)x.push(oA.getUint8(P++))}else{const cA=AA;F-=2;const RA=oA.getUint8(P++);for(let vA=0;vA<cA+1;vA++)x.push(RA)}}return x}function PA(k,F,x,P,oA,AA){let cA=new DataView(AA.buffer);const RA=x[k.idx[0]].width,vA=x[k.idx[0]].height,GA=3,HA=Math.floor(RA/8),jA=Math.ceil(RA/8),JA=Math.ceil(vA/8),Dg=RA-(jA-1)*8,rg=vA-(JA-1)*8,eg={value:0},cg=new Array(GA),Ug=new Array(GA),de=new Array(GA),Og=new Array(GA),Oe=new Array(GA);for(let wg=0;wg<GA;++wg)Oe[wg]=F[k.idx[wg]],cg[wg]=wg<1?0:cg[wg-1]+jA*JA,Ug[wg]=new Float32Array(64),de[wg]=new Uint16Array(64),Og[wg]=new Uint16Array(jA*64);for(let wg=0;wg<JA;++wg){let Ue=8;wg==JA-1&&(Ue=rg);let Ki=8;for(let Be=0;Be<jA;++Be){Be==jA-1&&(Ki=Dg);for(let De=0;De<GA;++De)de[De].fill(0),de[De][0]=oA[cg[De]++],Qg(eg,P,de[De]),Bg(de[De],Ug[De]),tg(Ug[De]);bg(Ug);for(let De=0;De<GA;++De)mg(Ug[De],Og[De],Be*64)}let _e=0;for(let Be=0;Be<GA;++Be){const De=x[k.idx[Be]].type;for(let po=8*wg;po<8*wg+Ue;++po){_e=Oe[Be][po];for(let RQ=0;RQ<HA;++RQ){const MC=RQ*64+(po&7)*8;cA.setUint16(_e+0*2*De,Og[Be][MC+0],!0),cA.setUint16(_e+1*2*De,Og[Be][MC+1],!0),cA.setUint16(_e+2*2*De,Og[Be][MC+2],!0),cA.setUint16(_e+3*2*De,Og[Be][MC+3],!0),cA.setUint16(_e+4*2*De,Og[Be][MC+4],!0),cA.setUint16(_e+5*2*De,Og[Be][MC+5],!0),cA.setUint16(_e+6*2*De,Og[Be][MC+6],!0),cA.setUint16(_e+7*2*De,Og[Be][MC+7],!0),_e+=8*2*De}}if(HA!=jA)for(let po=8*wg;po<8*wg+Ue;++po){const RQ=Oe[Be][po]+8*HA*2*De,MC=HA*64+(po&7)*8;for(let tl=0;tl<Ki;++tl)cA.setUint16(RQ+tl*2*De,Og[Be][MC+tl],!0)}}}const ne=new Uint16Array(RA);cA=new DataView(AA.buffer);for(let wg=0;wg<GA;++wg){x[k.idx[wg]].decoded=!0;const Ue=x[k.idx[wg]].type;if(x[wg].type==2)for(let Ki=0;Ki<vA;++Ki){const _e=Oe[wg][Ki];for(let Be=0;Be<RA;++Be)ne[Be]=cA.getUint16(_e+Be*2*Ue,!0);for(let Be=0;Be<RA;++Be)cA.setFloat32(_e+Be*2*Ue,j(ne[Be]),!0)}}}function Qg(k,F,x){let P,oA=1;for(;oA<64;)P=F[k.value],P==65280?oA=64:P>>8==255?oA+=P&255:(x[oA]=P,oA++),k.value++}function Bg(k,F){F[0]=j(k[0]),F[1]=j(k[1]),F[2]=j(k[5]),F[3]=j(k[6]),F[4]=j(k[14]),F[5]=j(k[15]),F[6]=j(k[27]),F[7]=j(k[28]),F[8]=j(k[2]),F[9]=j(k[4]),F[10]=j(k[7]),F[11]=j(k[13]),F[12]=j(k[16]),F[13]=j(k[26]),F[14]=j(k[29]),F[15]=j(k[42]),F[16]=j(k[3]),F[17]=j(k[8]),F[18]=j(k[12]),F[19]=j(k[17]),F[20]=j(k[25]),F[21]=j(k[30]),F[22]=j(k[41]),F[23]=j(k[43]),F[24]=j(k[9]),F[25]=j(k[11]),F[26]=j(k[18]),F[27]=j(k[24]),F[28]=j(k[31]),F[29]=j(k[40]),F[30]=j(k[44]),F[31]=j(k[53]),F[32]=j(k[10]),F[33]=j(k[19]),F[34]=j(k[23]),F[35]=j(k[32]),F[36]=j(k[39]),F[37]=j(k[45]),F[38]=j(k[52]),F[39]=j(k[54]),F[40]=j(k[20]),F[41]=j(k[22]),F[42]=j(k[33]),F[43]=j(k[38]),F[44]=j(k[46]),F[45]=j(k[51]),F[46]=j(k[55]),F[47]=j(k[60]),F[48]=j(k[21]),F[49]=j(k[34]),F[50]=j(k[37]),F[51]=j(k[47]),F[52]=j(k[50]),F[53]=j(k[56]),F[54]=j(k[59]),F[55]=j(k[61]),F[56]=j(k[35]),F[57]=j(k[36]),F[58]=j(k[48]),F[59]=j(k[49]),F[60]=j(k[57]),F[61]=j(k[58]),F[62]=j(k[62]),F[63]=j(k[63])}function tg(k){const F=.5*Math.cos(.7853975),x=.5*Math.cos(3.14159/16),P=.5*Math.cos(3.14159/8),oA=.5*Math.cos(3*3.14159/16),AA=.5*Math.cos(5*3.14159/16),cA=.5*Math.cos(3*3.14159/8),RA=.5*Math.cos(7*3.14159/16),vA=new Array(4),GA=new Array(4),HA=new Array(4),jA=new Array(4);for(let JA=0;JA<8;++JA){const Dg=JA*8;vA[0]=P*k[Dg+2],vA[1]=cA*k[Dg+2],vA[2]=P*k[Dg+6],vA[3]=cA*k[Dg+6],GA[0]=x*k[Dg+1]+oA*k[Dg+3]+AA*k[Dg+5]+RA*k[Dg+7],GA[1]=oA*k[Dg+1]-RA*k[Dg+3]-x*k[Dg+5]-AA*k[Dg+7],GA[2]=AA*k[Dg+1]-x*k[Dg+3]+RA*k[Dg+5]+oA*k[Dg+7],GA[3]=RA*k[Dg+1]-AA*k[Dg+3]+oA*k[Dg+5]-x*k[Dg+7],HA[0]=F*(k[Dg+0]+k[Dg+4]),HA[3]=F*(k[Dg+0]-k[Dg+4]),HA[1]=vA[0]+vA[3],HA[2]=vA[1]-vA[2],jA[0]=HA[0]+HA[1],jA[1]=HA[3]+HA[2],jA[2]=HA[3]-HA[2],jA[3]=HA[0]-HA[1],k[Dg+0]=jA[0]+GA[0],k[Dg+1]=jA[1]+GA[1],k[Dg+2]=jA[2]+GA[2],k[Dg+3]=jA[3]+GA[3],k[Dg+4]=jA[3]-GA[3],k[Dg+5]=jA[2]-GA[2],k[Dg+6]=jA[1]-GA[1],k[Dg+7]=jA[0]-GA[0]}for(let JA=0;JA<8;++JA)vA[0]=P*k[16+JA],vA[1]=cA*k[16+JA],vA[2]=P*k[48+JA],vA[3]=cA*k[48+JA],GA[0]=x*k[8+JA]+oA*k[24+JA]+AA*k[40+JA]+RA*k[56+JA],GA[1]=oA*k[8+JA]-RA*k[24+JA]-x*k[40+JA]-AA*k[56+JA],GA[2]=AA*k[8+JA]-x*k[24+JA]+RA*k[40+JA]+oA*k[56+JA],GA[3]=RA*k[8+JA]-AA*k[24+JA]+oA*k[40+JA]-x*k[56+JA],HA[0]=F*(k[JA]+k[32+JA]),HA[3]=F*(k[JA]-k[32+JA]),HA[1]=vA[0]+vA[3],HA[2]=vA[1]-vA[2],jA[0]=HA[0]+HA[1],jA[1]=HA[3]+HA[2],jA[2]=HA[3]-HA[2],jA[3]=HA[0]-HA[1],k[0+JA]=jA[0]+GA[0],k[8+JA]=jA[1]+GA[1],k[16+JA]=jA[2]+GA[2],k[24+JA]=jA[3]+GA[3],k[32+JA]=jA[3]-GA[3],k[40+JA]=jA[2]-GA[2],k[48+JA]=jA[1]-GA[1],k[56+JA]=jA[0]-GA[0]}function bg(k){for(let F=0;F<64;++F){const x=k[0][F],P=k[1][F],oA=k[2][F];k[0][F]=x+1.5747*oA,k[1][F]=x-.1873*P-.4682*oA,k[2][F]=x+1.8556*P}}function mg(k,F,x){for(let P=0;P<64;++P)F[x+P]=rB.toHalfFloat(b(k[P]))}function b(k){return k<=1?Math.sign(k)*Math.pow(Math.abs(k),2.2):Math.sign(k)*Math.pow(R,Math.abs(k)-1)}function N(k){return new DataView(k.array.buffer,k.offset.value,k.size)}function BA(k){const F=k.viewer.buffer.slice(k.offset.value,k.offset.value+k.size),x=new Uint8Array(Ag(F)),P=new Uint8Array(x.length);return hA(x),KA(x,P),new DataView(P.buffer)}function MA(k){const F=k.array.slice(k.offset.value,k.offset.value+k.size);typeof xm>"u"&&console.error("THREE.EXRLoader: External library fflate.min.js required.");const x=zs(F),P=new Uint8Array(x.length);return hA(x),KA(x,P),new DataView(P.buffer)}function FA(k){const F=k.viewer,x={value:k.offset.value},P=new Uint16Array(k.width*k.scanlineBlockSize*(k.channels*k.type)),oA=new Uint8Array(8192);let AA=0;const cA=new Array(k.channels);for(let rg=0;rg<k.channels;rg++)cA[rg]={},cA[rg].start=AA,cA[rg].end=cA[rg].start,cA[rg].nx=k.width,cA[rg].ny=k.lines,cA[rg].size=k.type,AA+=cA[rg].nx*cA[rg].ny*cA[rg].size;const RA=qA(F,x),vA=qA(F,x);if(vA>=8192)throw new Error("Something is wrong with PIZ_COMPRESSION BITMAP_SIZE");if(RA<=vA)for(let rg=0;rg<vA-RA+1;rg++)oA[rg+RA]=Rg(F,x);const GA=new Uint16Array(65536),HA=m(oA,GA),jA=_A(F,x);og(k.array,F,x,jA,P,AA);for(let rg=0;rg<k.channels;++rg){const eg=cA[rg];for(let cg=0;cg<cA[rg].size;++cg)WA(P,eg.start+cg,eg.nx,eg.size,eg.ny,eg.nx*eg.size,HA)}lA(GA,P,AA);let JA=0;const Dg=new Uint8Array(P.buffer.byteLength);for(let rg=0;rg<k.lines;rg++)for(let eg=0;eg<k.channels;eg++){const cg=cA[eg],Ug=cg.nx*cg.size,de=new Uint8Array(P.buffer,cg.end*2,Ug*2);Dg.set(de,JA),JA+=Ug*2,cg.end+=Ug}return new DataView(Dg.buffer)}function OA(k){const F=k.array.slice(k.offset.value,k.offset.value+k.size);typeof xm>"u"&&console.error("THREE.EXRLoader: External library fflate.min.js required.");const x=zs(F),P=k.lines*k.channels*k.width,oA=k.type==1?new Uint16Array(P):new Uint32Array(P);let AA=0,cA=0;const RA=new Array(4);for(let vA=0;vA<k.lines;vA++)for(let GA=0;GA<k.channels;GA++){let HA=0;switch(k.type){case 1:RA[0]=AA,RA[1]=RA[0]+k.width,AA=RA[1]+k.width;for(let jA=0;jA<k.width;++jA){const JA=x[RA[0]++]<<8|x[RA[1]++];HA+=JA,oA[cA]=HA,cA++}break;case 2:RA[0]=AA,RA[1]=RA[0]+k.width,RA[2]=RA[1]+k.width,AA=RA[2]+k.width;for(let jA=0;jA<k.width;++jA){const JA=x[RA[0]++]<<24|x[RA[1]++]<<16|x[RA[2]++]<<8;HA+=JA,oA[cA]=HA,cA++}break}}return new DataView(oA.buffer)}function sg(k){const F=k.viewer,x={value:k.offset.value},P=new Uint8Array(k.width*k.lines*(k.channels*k.type*2)),oA={version:Fg(F,x),unknownUncompressedSize:Fg(F,x),unknownCompressedSize:Fg(F,x),acCompressedSize:Fg(F,x),dcCompressedSize:Fg(F,x),rleCompressedSize:Fg(F,x),rleUncompressedSize:Fg(F,x),rleRawSize:Fg(F,x),totalAcUncompressedCount:Fg(F,x),totalDcUncompressedCount:Fg(F,x),acCompression:Fg(F,x)};if(oA.version<2)throw new Error("EXRLoader.parse: "+tA.compression+" version "+oA.version+" is unsupported");const AA=new Array;let cA=qA(F,x)-2;for(;cA>0;){const eg=TA(F.buffer,x),cg=Rg(F,x),Ug=cg>>2&3,de=(cg>>4)-1,Og=new Int8Array([de])[0],Oe=Rg(F,x);AA.push({name:eg,index:Og,type:Oe,compression:Ug}),cA-=eg.length+3}const RA=tA.channels,vA=new Array(k.channels);for(let eg=0;eg<k.channels;++eg){const cg=vA[eg]={},Ug=RA[eg];cg.name=Ug.name,cg.compression=0,cg.decoded=!1,cg.type=Ug.pixelType,cg.pLinear=Ug.pLinear,cg.width=k.width,cg.height=k.lines}const GA={idx:new Array(3)};for(let eg=0;eg<k.channels;++eg){const cg=vA[eg];for(let Ug=0;Ug<AA.length;++Ug){const de=AA[Ug];cg.name==de.name&&(cg.compression=de.compression,de.index>=0&&(GA.idx[de.index]=eg),cg.offset=eg)}}let HA,jA,JA;if(oA.acCompressedSize>0)switch(oA.acCompression){case 0:HA=new Uint16Array(oA.totalAcUncompressedCount),og(k.array,F,x,oA.acCompressedSize,HA,oA.totalAcUncompressedCount);break;case 1:const eg=k.array.slice(x.value,x.value+oA.totalAcUncompressedCount),cg=zs(eg);HA=new Uint16Array(cg.buffer),x.value+=oA.totalAcUncompressedCount;break}if(oA.dcCompressedSize>0){const eg={array:k.array,offset:x,size:oA.dcCompressedSize};jA=new Uint16Array(MA(eg).buffer),x.value+=oA.dcCompressedSize}if(oA.rleRawSize>0){const eg=k.array.slice(x.value,x.value+oA.rleCompressedSize),cg=zs(eg);JA=Ag(cg.buffer),x.value+=oA.rleCompressedSize}let Dg=0;const rg=new Array(vA.length);for(let eg=0;eg<rg.length;++eg)rg[eg]=new Array;for(let eg=0;eg<k.lines;++eg)for(let cg=0;cg<vA.length;++cg)rg[cg].push(Dg),Dg+=vA[cg].width*k.type*2;PA(GA,rg,vA,HA,jA,P);for(let eg=0;eg<vA.length;++eg){const cg=vA[eg];if(!cg.decoded)switch(cg.compression){case 2:let Ug=0,de=0;for(let Og=0;Og<k.lines;++Og){let Oe=rg[eg][Ug];for(let ne=0;ne<cg.width;++ne){for(let wg=0;wg<2*cg.type;++wg)P[Oe++]=JA[de+wg*cg.width*cg.height];de++}Ug++}break;case 1:default:throw new Error("EXRLoader.parse: unsupported channel compression")}}return new DataView(P.buffer)}function TA(k,F){const x=new Uint8Array(k);let P=0;for(;x[F.value+P]!=0;)P+=1;const oA=new TextDecoder().decode(x.slice(F.value,F.value+P));return F.value=F.value+P+1,oA}function K(k,F,x){const P=new TextDecoder().decode(new Uint8Array(k).slice(F.value,F.value+x));return F.value=F.value+x,P}function uA(k,F){const x=YA(k,F),P=_A(k,F);return[x,P]}function VA(k,F){const x=_A(k,F),P=_A(k,F);return[x,P]}function YA(k,F){const x=k.getInt32(F.value,!0);return F.value=F.value+4,x}function _A(k,F){const x=k.getUint32(F.value,!0);return F.value=F.value+4,x}function xA(k,F){const x=k[F.value];return F.value=F.value+1,x}function Rg(k,F){const x=k.getUint8(F.value);return F.value=F.value+1,x}const Fg=function(k,F){const x=Number(k.getBigInt64(F.value,!0));return F.value+=8,x};function Gg(k,F){const x=k.getFloat32(F.value,!0);return F.value+=4,x}function _(k,F){return rB.toHalfFloat(Gg(k,F))}function j(k){const F=(k&31744)>>10,x=k&1023;return(k>>15?-1:1)*(F?F===31?x?NaN:1/0:Math.pow(2,F-15)*(1+x/1024):6103515625e-14*(x/1024))}function qA(k,F){const x=k.getUint16(F.value,!0);return F.value+=2,x}function gg(k,F){return j(qA(k,F))}function Eg(k,F,x,P){const oA=x.value,AA=[];for(;x.value<oA+P-1;){const cA=TA(F,x),RA=YA(k,x),vA=Rg(k,x);x.value+=3;const GA=YA(k,x),HA=YA(k,x);AA.push({name:cA,pixelType:RA,pLinear:vA,xSampling:GA,ySampling:HA})}return x.value+=1,AA}function Ae(k,F){const x=Gg(k,F),P=Gg(k,F),oA=Gg(k,F),AA=Gg(k,F),cA=Gg(k,F),RA=Gg(k,F),vA=Gg(k,F),GA=Gg(k,F);return{redX:x,redY:P,greenX:oA,greenY:AA,blueX:cA,blueY:RA,whiteX:vA,whiteY:GA}}function II(k,F){const x=["NO_COMPRESSION","RLE_COMPRESSION","ZIPS_COMPRESSION","ZIP_COMPRESSION","PIZ_COMPRESSION","PXR24_COMPRESSION","B44_COMPRESSION","B44A_COMPRESSION","DWAA_COMPRESSION","DWAB_COMPRESSION"],P=Rg(k,F);return x[P]}function SI(k,F){const x=_A(k,F),P=_A(k,F),oA=_A(k,F),AA=_A(k,F);return{xMin:x,yMin:P,xMax:oA,yMax:AA}}function uo(k,F){const x=["INCREASING_Y"],P=Rg(k,F);return x[P]}function le(k,F){const x=Gg(k,F),P=Gg(k,F);return[x,P]}function Xt(k,F){const x=Gg(k,F),P=Gg(k,F),oA=Gg(k,F);return[x,P,oA]}function Ni(k,F,x,P,oA){if(P==="string"||P==="stringvector"||P==="iccProfile")return K(F,x,oA);if(P==="chlist")return Eg(k,F,x,oA);if(P==="chromaticities")return Ae(k,x);if(P==="compression")return II(k,x);if(P==="box2i")return SI(k,x);if(P==="lineOrder")return uo(k,x);if(P==="float")return Gg(k,x);if(P==="v2f")return le(k,x);if(P==="v3f")return Xt(k,x);if(P==="int")return YA(k,x);if(P==="rational")return uA(k,x);if(P==="timecode")return VA(k,x);if(P==="preview")return x.value+=oA,"skipped";x.value+=oA}function il(k,F,x){const P={};if(k.getUint32(0,!0)!=20000630)throw new Error("THREE.EXRLoader: provided file doesn't appear to be in OpenEXR format.");P.version=k.getUint8(4);const oA=k.getUint8(5);P.spec={singleTile:!!(oA&2),longName:!!(oA&4),deepFormat:!!(oA&8),multiPart:!!(oA&16)},x.value=8;let AA=!0;for(;AA;){const cA=TA(F,x);if(cA==0)AA=!1;else{const RA=TA(F,x),vA=_A(k,x),GA=Ni(k,F,x,RA,vA);GA===void 0?console.warn(`EXRLoader.parse: skipped unknown header attribute type '${RA}'.`):P[cA]=GA}}if(oA&-5)throw console.error("EXRHeader:",P),new Error("THREE.EXRLoader: provided file is currently unsupported.");return P}function Gf(k,F,x,P,oA){const AA={size:0,viewer:F,array:x,offset:P,width:k.dataWindow.xMax-k.dataWindow.xMin+1,height:k.dataWindow.yMax-k.dataWindow.yMin+1,channels:k.channels.length,bytesPerLine:null,lines:null,inputSize:null,type:k.channels[0].pixelType,uncompress:null,getter:null,format:null,encoding:null};switch(k.compression){case"NO_COMPRESSION":AA.lines=1,AA.uncompress=N;break;case"RLE_COMPRESSION":AA.lines=1,AA.uncompress=BA;break;case"ZIPS_COMPRESSION":AA.lines=1,AA.uncompress=MA;break;case"ZIP_COMPRESSION":AA.lines=16,AA.uncompress=MA;break;case"PIZ_COMPRESSION":AA.lines=32,AA.uncompress=FA;break;case"PXR24_COMPRESSION":AA.lines=16,AA.uncompress=OA;break;case"DWAA_COMPRESSION":AA.lines=32,AA.uncompress=sg;break;case"DWAB_COMPRESSION":AA.lines=256,AA.uncompress=sg;break;default:throw new Error("EXRLoader.parse: "+k.compression+" is unsupported")}if(AA.scanlineBlockSize=AA.lines,AA.type==1)switch(oA){case BI:AA.getter=gg,AA.inputSize=2;break;case pI:AA.getter=qA,AA.inputSize=2;break}else if(AA.type==2)switch(oA){case BI:AA.getter=Gg,AA.inputSize=4;break;case pI:AA.getter=_,AA.inputSize=4}else throw new Error("EXRLoader.parse: unsupported pixelType "+AA.type+" for "+k.compression+".");AA.blockCount=(k.dataWindow.yMax+1)/AA.scanlineBlockSize;for(let RA=0;RA<AA.blockCount;RA++)Fg(F,P);AA.outputChannels=AA.channels==3?4:AA.channels;const cA=AA.width*AA.height*AA.outputChannels;switch(oA){case BI:AA.byteArray=new Float32Array(cA),AA.channels<AA.outputChannels&&AA.byteArray.fill(1,0,cA);break;case pI:AA.byteArray=new Uint16Array(cA),AA.channels<AA.outputChannels&&AA.byteArray.fill(15360,0,cA);break;default:console.error("THREE.EXRLoader: unsupported type: ",oA);break}return AA.bytesPerLine=AA.width*AA.inputSize*AA.channels,AA.outputChannels==4?(AA.format=ye,AA.encoding=AI):(AA.format=_s,AA.encoding=AI),AA}const oa=new DataView(A),kf=new Uint8Array(A),J={value:0},tA=il(oa,A,J),iA=Gf(tA,oa,kf,J,this.type),gA={value:0},DA={R:0,G:1,B:2,A:3,Y:0};for(let k=0;k<iA.height/iA.scanlineBlockSize;k++){const F=_A(oa,J);iA.size=_A(oa,J),iA.lines=F+iA.scanlineBlockSize>iA.height?iA.height-F:iA.scanlineBlockSize;const P=iA.size<iA.lines*iA.bytesPerLine?iA.uncompress(iA):N(iA);J.value+=iA.size;for(let oA=0;oA<iA.scanlineBlockSize;oA++){const AA=oA+k*iA.scanlineBlockSize;if(AA>=iA.height)break;for(let cA=0;cA<iA.channels;cA++){const RA=DA[tA.channels[cA].name];for(let vA=0;vA<iA.width;vA++){gA.value=(oA*(iA.channels*iA.width)+cA*iA.width+vA)*iA.inputSize;const GA=(iA.height-1-AA)*(iA.width*iA.outputChannels)+vA*iA.outputChannels+RA;iA.byteArray[GA]=iA.getter(P,gA)}}}}return{header:tA,width:iA.width,height:iA.height,data:iA.byteArray,format:iA.format,encoding:iA.encoding,type:this.type}}setDataType(A){return this.type=A,this}load(A,g,e,I){function t(C,o){C.encoding=o.encoding,C.minFilter=vg,C.magFilter=vg,C.generateMipmaps=!1,C.flipY=!1,g&&g(C,o)}return super.load(A,t,e,I)}}const Hw=EA("debugexr");class $z{constructor(A){a(this,"parser");a(this,"name");this.parser=A,this.name="EXT_texture_exr",Hw&&console.log(A)}loadTexture(A){const g=this.name,e=this.parser,t=e.json.textures[A];if(Hw&&console.log("EXT_texture_exr.loadTexture",A,t),!t.extensions||!t.extensions[g])return null;const C=t.extensions[g],o=new OS(e.options.manager);return Hw&&console.log("EXT_texture_exr.loadTexture",C,o),e.loadTextureImage(A,C.source,o)}}window.addEventListener("unhandledrejection",i=>{});const vm="NEEDLE_gameobject_data";class AZ{constructor(A){a(this,"parser");this.parser=A}get name(){return vm}afterRoot(A){const g=[];for(let e=0;e<this.parser.json.nodes.length;e++){const I=this.parser.json.nodes[e];if(I&&I.extensions){const t=I.extensions[vm];if(t){const C=this.findAndApplyExtensionData(e,t);g.push(C)}}}return Promise.all(g).then(()=>{})}async findAndApplyExtensionData(A,g){const e=await this.parser.getDependency("node",A);e&&this.applyExtensionData(e,g)}applyExtensionData(A,g){g.layers===void 0&&(g.layers=0),A.userData.layer=g.layers,A.layers.disableAll(),A.layers.set(g.layers),A.userData.tag=g.tag??"none",A.userData.hideFlags=g.hideFlags??0,A.userData.static=g.static??!1,A.visible=g.activeSelf??!0,A.guid=g.guid}}const Ym="NEEDLE_lighting_settings",Xn=EA("debugenvlight");class gZ{constructor(A,g,e){a(this,"parser");a(this,"sourceId");a(this,"context");this.parser=A,this.sourceId=g,this.context=e}get name(){return Ym}afterRoot(A){const g=this.parser.json.extensions;if(g){const e=g[Ym];if(e){Xn&&console.log('Loaded "'+this.name+'", src: "'+this.sourceId+'"',e);let I;if(A.scene.children.length===1)I=eA.addNewComponent(A.scene.children[0],au,!1);else{const t=new NA;t.name="LightSettings "+this.sourceId,A.scene.add(t),I=eA.addNewComponent(t,au,!1)}I.sourceId=this.sourceId,I.ambientIntensity=e.ambientIntensity,I.ambientLight=new pA().fromArray(e.ambientLight),Array.isArray(e.ambientTrilight)&&(I.ambientTrilight=e.ambientTrilight.map(t=>new pA().fromArray(t))),I.ambientMode=e.ambientMode,I.environmentReflectionSource=e.environmentReflectionSource}}return null}}uI.registerCallback(xt.ContextCreated,i=>{const A=i.context,g=eA.findObjectOfType(au,A);g!=null&&g.sourceId&&A.sceneLighting.enable(g.sourceId)});class au extends LA{constructor(){super(...arguments);a(this,"ambientMode",or.Skybox);a(this,"ambientLight");a(this,"ambientTrilight");a(this,"ambientIntensity",1);a(this,"environmentReflectionSource",eu.Skybox);a(this,"_hasReflection",!1);a(this,"_ambientLightObj");a(this,"_hemisphereLightObj");a(this,"_lightProbeObj")}awake(){if(this.sourceId){const g=this.environmentReflectionSource===eu.Skybox?js.Skybox:js.Reflection,e=this.context.lightmaps.tryGet(this.sourceId,g,0);this._hasReflection=e!=null,e&&this.context.sceneLighting.internalRegisterReflection(this.sourceId,e)}this.enabled=!1,this.context.sceneLighting.internalRegisterSceneLightSettings(this),Xn&&window.addEventListener("keydown",g=>{if(!this.destroyed)switch(g.key){case"l":this.enabled=!this.enabled;break}})}onDestroy(){this.context.sceneLighting.internalUnregisterSceneLightSettings(this)}calculateIntensityFactor(g){const e=Math.max(g.r,g.g,g.b);return 2.2*$A.lerp(0,1.33,e)}onEnable(){if(Xn&&console.warn("💡🟡 >>> Enable lighting",this.sourceId,this),this.ambientMode==or.Flat){if(this.ambientLight&&!this._ambientLightObj){const g=this.calculateIntensityFactor(this.ambientLight);this._ambientLightObj=new oG(this.ambientLight,this.ambientIntensity*g),Xn&&console.log("Created ambient light",this.sourceId,this._ambientLightObj,this.ambientIntensity,g)}this._ambientLightObj&&this.gameObject.add(this._ambientLightObj),this._lightProbeObj&&this._lightProbeObj.removeFromParent()}else if(this.ambientMode===or.Trilight){if(this.ambientTrilight){const g=this.ambientTrilight[0],e=this.ambientTrilight[this.ambientTrilight.length-1],I=this.calculateIntensityFactor(e);this._hemisphereLightObj=new tG(e,g,this.ambientIntensity*I),this.gameObject.add(this._hemisphereLightObj),Xn&&console.log("Created hemisphere ambient light",this.sourceId,this._hemisphereLightObj,this.ambientIntensity,I)}}else this._ambientLightObj&&this._ambientLightObj.removeFromParent(),this._hemisphereLightObj&&this._hemisphereLightObj.removeFromParent(),this._lightProbeObj?this.enabled&&this.destroyed&&this._lightProbeObj&&this.gameObject.add(this._lightProbeObj):this.sourceId&&this.context.sceneLighting.internalGetSceneLightingData(this.sourceId).then(g=>{g&&(this._lightProbeObj=g.lightProbe,this.enabled&&!this.destroyed&&this._lightProbeObj&&(Xn&&console.log("Add",this.sourceId,g),this.gameObject.add(this._lightProbeObj)))});this.sourceId&&this.context.sceneLighting.internalEnableReflection(this.sourceId)}onDisable(){Xn&&console.warn("💡⚫ <<< Disable lighting:",this.sourceId,this),this._lightProbeObj&&this._lightProbeObj.removeFromParent(),this._ambientLightObj&&this._ambientLightObj.removeFromParent(),this._hemisphereLightObj&&this._hemisphereLightObj.removeFromParent(),this.sourceId&&this.context.sceneLighting.internalDisableReflection(this.sourceId)}}const Tw=EA("debugstencil");function eZ(i,A){return(i&1<<A.layer)!=0}const IZ=Symbol("stencils"),oB=class{constructor(A,g){a(this,"parser");a(this,"source");this.parser=A,this.source=g}static applyStencil(A){if(!A)return;const g=A.sourceId;if(Tw&&console.log(g,oB.stencils),!g)return;const e=oB.stencils[g];if(e)for(let I=e.length-1;I>=0;I--){const t=e[I];if(eZ(t.layer,A)){Tw&&console.log(t),setTimeout(()=>{Mi()&&op(A.gameObject)&&(wC("Stencil not supported on instanced objects"),console.warn("Stencil not supported on instanced objects",A))},500);for(let C=0;C<A.sharedMaterials.length;C++){let o=A.sharedMaterials[C];o&&(o=o.clone(),o[IZ]=!0,o.stencilWrite=!0,o.stencilWriteMask=255,o.stencilFuncMask=255,o.stencilRef=t.value,o.stencilFunc=t.compareFunc,o.stencilZPass=t.passOp,o.stencilFail=t.failOp,o.stencilZFail=t.zFailOp,A.sharedMaterials[C]=o)}A.gameObject.renderOrder=t.event*1e3+t.index*50;break}}}afterRoot(A){const g=this.parser.json.extensions;if(g){const e=g[tZ];if(e){Tw&&console.log(e);const I=e.stencil;if(I&&Array.isArray(I))for(const t of I){const C={...t};C.compareFunc=iZ(C.compareFunc),C.passOp=Ow(C.passOp),C.failOp=Ow(C.failOp),C.zFailOp=Ow(C.zFailOp),oB.stencils[this.source]||(oB.stencils[this.source]=[]),oB.stencils[this.source].push(C)}}}return null}};let vE=oB;a(vE,"stencils",{});function Ow(i){switch(i){case 0:return SE;case 1:return eK;case 2:return IK;case 3:return iK;case 4:return tK;case 6:return CK;case 7:return oK;case 5:return sK}return 0}function iZ(i){switch(i){case 1:return nK;case 2:return BK;case 3:return aK;case 4:return rK;case 5:return QK;case 6:return EK;case 7:return cK;case 8:return U0}return 0}const tZ="NEEDLE_render_objects",iD="NEEDLE_progressive",MI=EA("debugprogressive"),_w=Symbol("needle-progressive-texture"),_S=new Map;let Pw=!1;MI&&window.addEventListener("keyup",i=>{i.key==="p"&&(_S.forEach((A,g)=>{Object.entries(A).forEach(([e,I])=>{Pw?g[e]=I.lod0:g[e]=I.original,g.needsUpdate=!0})}),Pw=!Pw)});const XE=class{constructor(A,g,e){a(this,"parser");a(this,"sourceId");a(this,"context");this.parser=A,this.sourceId=g,this.context=e}static assignTextureLOD(A,g,e,I=0){if(e)for(let t of Object.keys(e)){const C=e[t];(C==null?void 0:C.isTexture)===!0&&(MI&&console.log(`-----------
3979
+ */var Km={},LS=function(i){return URL.createObjectURL(new Blob([i],{type:"text/javascript"}))},yb=function(i){return new Worker(i)};try{URL.revokeObjectURL(LS(""))}catch{LS=function(A){return"data:application/javascript;charset=UTF-8,"+encodeURI(A)},yb=function(A){return new Worker(A,{type:"module"})}}var Jz=function(i,A,g,e,I){var t=yb(Km[A]||(Km[A]=LS(i)));return t.onerror=function(C){return I(C.error,null)},t.onmessage=function(C){return I(null,C.data)},t.postMessage(g,e),t},jg=Uint8Array,JI=Uint16Array,is=Uint32Array,eQ=new jg([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),IQ=new jg([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Gc=new jg([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Sb=function(i,A){for(var g=new JI(31),e=0;e<31;++e)g[e]=A+=1<<i[e-1];for(var I=new is(g[30]),e=1;e<30;++e)for(var t=g[e];t<g[e+1];++t)I[t]=t-g[e]<<5|e;return[g,I]},Gb=Sb(eQ,2),Bk=Gb[0],iu=Gb[1];Bk[28]=258,iu[258]=28;var kb=Sb(IQ,0),Mb=kb[0],bS=kb[1],kc=new JI(32768);for(var Se=0;Se<32768;++Se){var Ks=(Se&43690)>>>1|(Se&21845)<<1;Ks=(Ks&52428)>>>2|(Ks&13107)<<2,Ks=(Ks&61680)>>>4|(Ks&3855)<<4,kc[Se]=((Ks&65280)>>>8|(Ks&255)<<8)>>>1}var Yt=function(i,A,g){for(var e=i.length,I=0,t=new JI(A);I<e;++I)++t[i[I]-1];var C=new JI(A);for(I=0;I<A;++I)C[I]=C[I-1]+t[I-1]<<1;var o;if(g){o=new JI(1<<A);var s=15-A;for(I=0;I<e;++I)if(i[I])for(var n=I<<4|i[I],B=A-i[I],r=C[i[I]-1]++<<B,Q=r|(1<<B)-1;r<=Q;++r)o[kc[r]>>>s]=n}else for(o=new JI(e),I=0;I<e;++I)i[I]&&(o[I]=kc[C[i[I]-1]++]>>>15-i[I]);return o},ts=new jg(288);for(var Se=0;Se<144;++Se)ts[Se]=8;for(var Se=144;Se<256;++Se)ts[Se]=9;for(var Se=256;Se<280;++Se)ts[Se]=7;for(var Se=280;Se<288;++Se)ts[Se]=8;var Rr=new jg(32);for(var Se=0;Se<32;++Se)Rr[Se]=5;var Rb=Yt(ts,9,0),Ub=Yt(ts,9,1),mb=Yt(Rr,5,0),Fb=Yt(Rr,5,1),gD=function(i){for(var A=i[0],g=1;g<i.length;++g)i[g]>A&&(A=i[g]);return A},Mt=function(i,A,g){var e=A/8|0;return(i[e]|i[e+1]<<8)>>(A&7)&g},eD=function(i,A){var g=A/8|0;return(i[g]|i[g+1]<<8|i[g+2]<<16)>>(A&7)},yh=function(i){return(i/8|0)+(i&7&&1)},Ht=function(i,A,g){(A==null||A<0)&&(A=0),(g==null||g>i.length)&&(g=i.length);var e=new(i instanceof JI?JI:i instanceof is?is:jg)(g-A);return e.set(i.subarray(A,g)),e},Sh=function(i,A,g){var e=i.length;if(!e||g&&!g.l&&e<5)return A||new jg(0);var I=!A||g,t=!g||g.i;g||(g={}),A||(A=new jg(e*3));var C=function(O){var bA=A.length;if(O>bA){var mA=new jg(Math.max(bA*2,O));mA.set(A),A=mA}},o=g.f||0,s=g.p||0,n=g.b||0,B=g.l,r=g.d,Q=g.m,E=g.n,c=e*8;do{if(!B){g.f=o=Mt(i,s,1);var h=Mt(i,s+1,3);if(s+=3,h)if(h==1)B=Ub,r=Fb,Q=9,E=5;else if(h==2){var D=Mt(i,s,31)+257,u=Mt(i,s+10,15)+4,w=D+Mt(i,s+5,31)+1;s+=14;for(var y=new jg(w),M=new jg(19),f=0;f<u;++f)M[Gc[f]]=Mt(i,s+f*3,7);s+=u*3;for(var R=gD(M),m=(1<<R)-1,L=Yt(M,R,1),f=0;f<w;){var Y=L[Mt(i,s,m)];s+=Y&15;var l=Y>>>4;if(l<16)y[f++]=l;else{var v=0,q=0;for(l==16?(q=3+Mt(i,s,3),s+=2,v=y[f-1]):l==17?(q=3+Mt(i,s,7),s+=3):l==18&&(q=11+Mt(i,s,127),s+=7);q--;)y[f++]=v}}var H=y.subarray(0,D),$=y.subarray(D);Q=gD(H),E=gD($),B=Yt(H,Q,1),r=Yt($,E,1)}else throw"invalid block type";else{var l=yh(s)+4,d=i[l-4]|i[l-3]<<8,p=l+d;if(p>e){if(t)throw"unexpected EOF";break}I&&C(n+d),A.set(i.subarray(l,p),n),g.b=n+=d,g.p=s=p*8;continue}if(s>c){if(t)throw"unexpected EOF";break}}I&&C(n+131072);for(var X=(1<<Q)-1,Z=(1<<E)-1,QA=s;;QA=s){var v=B[eD(i,s)&X],rA=v>>>4;if(s+=v&15,s>c){if(t)throw"unexpected EOF";break}if(!v)throw"invalid length/literal";if(rA<256)A[n++]=rA;else if(rA==256){QA=s,B=null;break}else{var UA=rA-254;if(rA>264){var f=rA-257,dA=eQ[f];UA=Mt(i,s,(1<<dA)-1)+Bk[f],s+=dA}var IA=r[eD(i,s)&Z],nA=IA>>>4;if(!IA)throw"invalid distance";s+=IA&15;var $=Mb[nA];if(nA>3){var dA=IQ[nA];$+=eD(i,s)&(1<<dA)-1,s+=dA}if(s>c){if(t)throw"unexpected EOF";break}I&&C(n+131072);for(var SA=n+UA;n<SA;n+=4)A[n]=A[n-$],A[n+1]=A[n+1-$],A[n+2]=A[n+2-$],A[n+3]=A[n+3-$];n=SA}}g.l=B,g.p=QA,g.b=n,B&&(o=1,g.m=Q,g.d=r,g.n=E)}while(!o);return n==A.length?A:Ht(A,0,n)},JC=function(i,A,g){g<<=A&7;var e=A/8|0;i[e]|=g,i[e+1]|=g>>>8},ba=function(i,A,g){g<<=A&7;var e=A/8|0;i[e]|=g,i[e+1]|=g>>>8,i[e+2]|=g>>>16},ID=function(i,A){for(var g=[],e=0;e<i.length;++e)i[e]&&g.push({s:e,f:i[e]});var I=g.length,t=g.slice();if(!I)return[jo,0];if(I==1){var C=new jg(g[0].s+1);return C[g[0].s]=1,[C,1]}g.sort(function(w,y){return w.f-y.f}),g.push({s:-1,f:25001});var o=g[0],s=g[1],n=0,B=1,r=2;for(g[0]={s:-1,f:o.f+s.f,l:o,r:s};B!=I-1;)o=g[g[n].f<g[r].f?n++:r++],s=g[n!=B&&g[n].f<g[r].f?n++:r++],g[B++]={s:-1,f:o.f+s.f,l:o,r:s};for(var Q=t[0].s,e=1;e<I;++e)t[e].s>Q&&(Q=t[e].s);var E=new JI(Q+1),c=tu(g[B-1],E,0);if(c>A){var e=0,h=0,l=c-A,d=1<<l;for(t.sort(function(y,M){return E[M.s]-E[y.s]||y.f-M.f});e<I;++e){var p=t[e].s;if(E[p]>A)h+=d-(1<<c-E[p]),E[p]=A;else break}for(h>>>=l;h>0;){var D=t[e].s;E[D]<A?h-=1<<A-E[D]++-1:++e}for(;e>=0&&h;--e){var u=t[e].s;E[u]==A&&(--E[u],++h)}c=A}return[new jg(E),c]},tu=function(i,A,g){return i.s==-1?Math.max(tu(i.l,A,g+1),tu(i.r,A,g+1)):A[i.s]=g},xS=function(i){for(var A=i.length;A&&!i[--A];);for(var g=new JI(++A),e=0,I=i[0],t=1,C=function(s){g[e++]=s},o=1;o<=A;++o)if(i[o]==I&&o!=A)++t;else{if(!I&&t>2){for(;t>138;t-=138)C(32754);t>2&&(C(t>10?t-11<<5|28690:t-3<<5|12305),t=0)}else if(t>3){for(C(I),--t;t>6;t-=6)C(8304);t>2&&(C(t-3<<5|8208),t=0)}for(;t--;)C(I);t=1,I=i[o]}return[g.subarray(0,e),A]},xa=function(i,A){for(var g=0,e=0;e<A.length;++e)g+=i[e]*A[e];return g},xE=function(i,A,g){var e=g.length,I=yh(A+2);i[I]=e&255,i[I+1]=e>>>8,i[I+2]=i[I]^255,i[I+3]=i[I+1]^255;for(var t=0;t<e;++t)i[I+t+4]=g[t];return(I+4+e)*8},vS=function(i,A,g,e,I,t,C,o,s,n,B){JC(A,B++,g),++I[256];for(var r=ID(I,15),Q=r[0],E=r[1],c=ID(t,15),h=c[0],l=c[1],d=xS(Q),p=d[0],D=d[1],u=xS(h),w=u[0],y=u[1],M=new JI(19),f=0;f<p.length;++f)M[p[f]&31]++;for(var f=0;f<w.length;++f)M[w[f]&31]++;for(var R=ID(M,7),m=R[0],L=R[1],Y=19;Y>4&&!m[Gc[Y-1]];--Y);var v=n+5<<3,q=xa(I,ts)+xa(t,Rr)+C,H=xa(I,Q)+xa(t,h)+C+14+3*Y+xa(M,m)+(2*M[16]+3*M[17]+7*M[18]);if(v<=q&&v<=H)return xE(A,B,i.subarray(s,s+n));var $,X,Z,QA;if(JC(A,B,1+(H<q)),B+=2,H<q){$=Yt(Q,E,0),X=Q,Z=Yt(h,l,0),QA=h;var rA=Yt(m,L,0);JC(A,B,D-257),JC(A,B+5,y-1),JC(A,B+10,Y-4),B+=14;for(var f=0;f<Y;++f)JC(A,B+3*f,m[Gc[f]]);B+=3*Y;for(var UA=[p,w],dA=0;dA<2;++dA)for(var IA=UA[dA],f=0;f<IA.length;++f){var nA=IA[f]&31;JC(A,B,rA[nA]),B+=m[nA],nA>15&&(JC(A,B,IA[f]>>>5&127),B+=IA[f]>>>12)}}else $=Rb,X=ts,Z=mb,QA=Rr;for(var f=0;f<o;++f)if(e[f]>255){var nA=e[f]>>>18&31;ba(A,B,$[nA+257]),B+=X[nA+257],nA>7&&(JC(A,B,e[f]>>>23&31),B+=eQ[nA]);var SA=e[f]&31;ba(A,B,Z[SA]),B+=QA[SA],SA>3&&(ba(A,B,e[f]>>>5&8191),B+=IQ[SA])}else ba(A,B,$[e[f]]),B+=X[e[f]];return ba(A,B,$[256]),B+X[256]},Nb=new is([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),jo=new jg(0),Kb=function(i,A,g,e,I,t){var C=i.length,o=new jg(e+C+5*(1+Math.ceil(C/7e3))+I),s=o.subarray(e,o.length-I),n=0;if(!A||C<8)for(var B=0;B<=C;B+=65535){var r=B+65535;r<C?n=xE(s,n,i.subarray(B,r)):(s[B]=t,n=xE(s,n,i.subarray(B,C)))}else{for(var Q=Nb[A-1],E=Q>>>13,c=Q&8191,h=(1<<g)-1,l=new JI(32768),d=new JI(h+1),p=Math.ceil(g/3),D=2*p,u=function(KA){return(i[KA]^i[KA+1]<<p^i[KA+2]<<D)&h},w=new is(25e3),y=new JI(288),M=new JI(32),f=0,R=0,B=0,m=0,L=0,Y=0;B<C;++B){var v=u(B),q=B&32767,H=d[v];if(l[q]=H,d[v]=q,L<=B){var $=C-B;if((f>7e3||m>24576)&&$>423){n=vS(i,s,0,w,y,M,R,m,Y,B-Y,n),m=f=R=0,Y=B;for(var X=0;X<286;++X)y[X]=0;for(var X=0;X<30;++X)M[X]=0}var Z=2,QA=0,rA=c,UA=q-H&32767;if($>2&&v==u(B-UA))for(var dA=Math.min(E,$)-1,IA=Math.min(32767,B),nA=Math.min(258,$);UA<=IA&&--rA&&q!=H;){if(i[B+Z]==i[B+Z-UA]){for(var SA=0;SA<nA&&i[B+SA]==i[B+SA-UA];++SA);if(SA>Z){if(Z=SA,QA=UA,SA>dA)break;for(var O=Math.min(UA,SA-2),bA=0,X=0;X<O;++X){var mA=B-UA+X+32768&32767,WA=l[mA],fA=mA-WA+32768&32767;fA>bA&&(bA=fA,H=mA)}}}q=H,H=l[q],UA+=q-H+32768&32767}if(QA){w[m++]=268435456|iu[Z]<<18|bS[QA];var og=iu[Z]&31,lA=bS[QA]&31;R+=eQ[og]+IQ[lA],++y[257+og],++M[lA],L=B+Z,++f}else w[m++]=i[B],++y[i[B]]}}n=vS(i,s,t,w,y,M,R,m,Y,B-Y,n),!t&&n&7&&(n=xE(s,n+1,jo))}return Ht(o,0,e+yh(n)+I)},Jb=function(){for(var i=new is(256),A=0;A<256;++A){for(var g=A,e=9;--e;)g=(g&1&&3988292384)^g>>>1;i[A]=g}return i}(),iQ=function(){var i=-1;return{p:function(A){for(var g=i,e=0;e<A.length;++e)g=Jb[g&255^A[e]]^g>>>8;i=g},d:function(){return~i}}},ak=function(){var i=1,A=0;return{p:function(g){for(var e=i,I=A,t=g.length,C=0;C!=t;){for(var o=Math.min(C+2655,t);C<o;++C)I+=e+=g[C];e=(e&65535)+15*(e>>16),I=(I&65535)+15*(I>>16)}i=e,A=I},d:function(){return i%=65521,A%=65521,(i&255)<<24|i>>>8<<16|(A&255)<<8|A>>>8}}},HB=function(i,A,g,e,I){return Kb(i,A.level==null?6:A.level,A.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(i.length)))*1.5):12+A.mem,g,e,!I)},Gh=function(i,A){var g={};for(var e in i)g[e]=i[e];for(var e in A)g[e]=A[e];return g},Jm=function(i,A,g){for(var e=i(),I=i.toString(),t=I.slice(I.indexOf("[")+1,I.lastIndexOf("]")).replace(/ /g,"").split(","),C=0;C<e.length;++C){var o=e[C],s=t[C];if(typeof o=="function"){A+=";"+s+"=";var n=o.toString();if(o.prototype)if(n.indexOf("[native code]")!=-1){var B=n.indexOf(" ",8)+1;A+=n.slice(B,n.indexOf("(",B))}else{A+=n;for(var r in o.prototype)A+=";"+s+".prototype."+r+"="+o.prototype[r].toString()}else A+=n}else g[s]=o}return[A,g]},Cd=[],qz=function(i){var A=[];for(var g in i)(i[g]instanceof jg||i[g]instanceof JI||i[g]instanceof is)&&A.push((i[g]=new i[g].constructor(i[g])).buffer);return A},qb=function(i,A,g,e){var I;if(!Cd[g]){for(var t="",C={},o=i.length-1,s=0;s<o;++s)I=Jm(i[s],t,C),t=I[0],C=I[1];Cd[g]=Jm(i[o],t,C)}var n=Gh({},Cd[g][1]);return Jz(Cd[g][0]+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+A.toString()+"}",g,n,qz(n),e)},tQ=function(){return[jg,JI,is,eQ,IQ,Gc,Bk,Mb,Ub,Fb,kc,Yt,gD,Mt,eD,yh,Ht,Sh,nQ,pn,rk]},CQ=function(){return[jg,JI,is,eQ,IQ,Gc,iu,bS,Rb,ts,mb,Rr,kc,Nb,jo,Yt,JC,ba,ID,tu,xS,xa,xE,vS,yh,Ht,Kb,HB,kh,pn]},Lb=function(){return[Qk,ck,Ce,iQ,Jb]},bb=function(){return[Ek,Yb]},xb=function(){return[hk,Ce,ak]},vb=function(){return[Hb]},pn=function(i){return postMessage(i,[i.buffer])},rk=function(i){return i&&i.size&&new jg(i.size)},oQ=function(i,A,g,e,I,t){var C=qb(g,e,I,function(o,s){C.terminate(),t(o,s)});return C.postMessage([i,A],A.consume?[i.buffer]:[]),function(){C.terminate()}},Pt=function(i){return i.ondata=function(A,g){return postMessage([A,g],[A.buffer])},function(A){return i.push(A.data[0],A.data[1])}},sQ=function(i,A,g,e,I){var t,C=qb(i,e,I,function(o,s){o?(C.terminate(),A.ondata.call(A,o)):(s[1]&&C.terminate(),A.ondata.call(A,o,s[0],s[1]))});C.postMessage(g),A.push=function(o,s){if(t)throw"stream finished";if(!A.ondata)throw"no stream handler";C.postMessage([o,t=s],[o.buffer])},A.terminate=function(){C.terminate()}},wi=function(i,A){return i[A]|i[A+1]<<8},$e=function(i,A){return(i[A]|i[A+1]<<8|i[A+2]<<16|i[A+3]<<24)>>>0},Yw=function(i,A){return $e(i,A)+$e(i,A+4)*4294967296},Ce=function(i,A,g){for(;g;++A)i[A]=g,g>>>=8},Qk=function(i,A){var g=A.filename;if(i[0]=31,i[1]=139,i[2]=8,i[8]=A.level<2?4:A.level==9?2:0,i[9]=3,A.mtime!=0&&Ce(i,4,Math.floor(new Date(A.mtime||Date.now())/1e3)),g){i[3]=8;for(var e=0;e<=g.length;++e)i[e+10]=g.charCodeAt(e)}},Ek=function(i){if(i[0]!=31||i[1]!=139||i[2]!=8)throw"invalid gzip data";var A=i[3],g=10;A&4&&(g+=i[10]|(i[11]<<8)+2);for(var e=(A>>3&1)+(A>>4&1);e>0;e-=!i[g++]);return g+(A&2)},Yb=function(i){var A=i.length;return(i[A-4]|i[A-3]<<8|i[A-2]<<16|i[A-1]<<24)>>>0},ck=function(i){return 10+(i.filename&&i.filename.length+1||0)},hk=function(i,A){var g=A.level,e=g==0?0:g<6?1:g==9?3:2;i[0]=120,i[1]=e<<6|(e?32-2*e:1)},Hb=function(i){if((i[0]&15)!=8||i[0]>>>4>7||(i[0]<<8|i[1])%31)throw"invalid zlib data";if(i[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function lk(i,A){return!A&&typeof i=="function"&&(A=i,i={}),this.ondata=A,i}var to=function(){function i(A,g){!g&&typeof A=="function"&&(g=A,A={}),this.ondata=g,this.o=A||{}}return i.prototype.p=function(A,g){this.ondata(HB(A,this.o,0,0,!g),g)},i.prototype.push=function(A,g){if(this.d)throw"stream finished";if(!this.ondata)throw"no stream handler";this.d=g,this.p(A,g||!1)},i}(),Tb=function(){function i(A,g){sQ([CQ,function(){return[Pt,to]}],this,lk.call(this,A,g),function(e){var I=new to(e.data);onmessage=Pt(I)},6)}return i}();function Ob(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[CQ],function(e){return pn(kh(e.data[0],e.data[1]))},0,g)}function kh(i,A){return HB(i,A||{},0,0)}var Oi=function(){function i(A){this.s={},this.p=new jg(0),this.ondata=A}return i.prototype.e=function(A){if(this.d)throw"stream finished";if(!this.ondata)throw"no stream handler";var g=this.p.length,e=new jg(g+A.length);e.set(this.p),e.set(A,g),this.p=e},i.prototype.c=function(A){this.d=this.s.i=A||!1;var g=this.s.b,e=Sh(this.p,this.o,this.s);this.ondata(Ht(e,g,this.s.b),this.d),this.o=Ht(e,this.s.b-32768),this.s.b=this.o.length,this.p=Ht(this.p,this.s.p/8|0),this.s.p&=7},i.prototype.push=function(A,g){this.e(A),this.c(g)},i}(),dk=function(){function i(A){this.ondata=A,sQ([tQ,function(){return[Pt,Oi]}],this,0,function(){var g=new Oi;onmessage=Pt(g)},7)}return i}();function Dk(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[tQ],function(e){return pn(nQ(e.data[0],rk(e.data[1])))},1,g)}function nQ(i,A){return Sh(i,A)}var Cu=function(){function i(A,g){this.c=iQ(),this.l=0,this.v=1,to.call(this,A,g)}return i.prototype.push=function(A,g){to.prototype.push.call(this,A,g)},i.prototype.p=function(A,g){this.c.p(A),this.l+=A.length;var e=HB(A,this.o,this.v&&ck(this.o),g&&8,!g);this.v&&(Qk(e,this.o),this.v=0),g&&(Ce(e,e.length-8,this.c.d()),Ce(e,e.length-4,this.l)),this.ondata(e,g)},i}(),qm=function(){function i(A,g){sQ([CQ,Lb,function(){return[Pt,to,Cu]}],this,lk.call(this,A,g),function(e){var I=new Cu(e.data);onmessage=Pt(I)},8)}return i}();function Lm(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[CQ,Lb,function(){return[ou]}],function(e){return pn(ou(e.data[0],e.data[1]))},2,g)}function ou(i,A){A||(A={});var g=iQ(),e=i.length;g.p(i);var I=HB(i,A,ck(A),8),t=I.length;return Qk(I,A),Ce(I,t-8,g.d()),Ce(I,t-4,e),I}var su=function(){function i(A){this.v=1,Oi.call(this,A)}return i.prototype.push=function(A,g){if(Oi.prototype.e.call(this,A),this.v){var e=this.p.length>3?Ek(this.p):4;if(e>=this.p.length&&!g)return;this.p=this.p.subarray(e),this.v=0}if(g){if(this.p.length<8)throw"invalid gzip stream";this.p=this.p.subarray(0,-8)}Oi.prototype.c.call(this,g)},i}(),_b=function(){function i(A){this.ondata=A,sQ([tQ,bb,function(){return[Pt,Oi,su]}],this,0,function(){var g=new su;onmessage=Pt(g)},9)}return i}();function Pb(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[tQ,bb,function(){return[nu]}],function(e){return pn(nu(e.data[0]))},3,g)}function nu(i,A){return Sh(i.subarray(Ek(i),-8),A||new jg(Yb(i)))}var YS=function(){function i(A,g){this.c=ak(),this.v=1,to.call(this,A,g)}return i.prototype.push=function(A,g){to.prototype.push.call(this,A,g)},i.prototype.p=function(A,g){this.c.p(A);var e=HB(A,this.o,this.v&&2,g&&4,!g);this.v&&(hk(e,this.o),this.v=0),g&&Ce(e,e.length-4,this.c.d()),this.ondata(e,g)},i}(),Lz=function(){function i(A,g){sQ([CQ,xb,function(){return[Pt,to,YS]}],this,lk.call(this,A,g),function(e){var I=new YS(e.data);onmessage=Pt(I)},10)}return i}();function bz(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[CQ,xb,function(){return[HS]}],function(e){return pn(HS(e.data[0],e.data[1]))},4,g)}function HS(i,A){A||(A={});var g=ak();g.p(i);var e=HB(i,A,2,4);return hk(e,A),Ce(e,e.length-4,g.d()),e}var Bu=function(){function i(A){this.v=1,Oi.call(this,A)}return i.prototype.push=function(A,g){if(Oi.prototype.e.call(this,A),this.v){if(this.p.length<2&&!g)return;this.p=this.p.subarray(2),this.v=0}if(g){if(this.p.length<4)throw"invalid zlib stream";this.p=this.p.subarray(0,-4)}Oi.prototype.c.call(this,g)},i}(),Wb=function(){function i(A){this.ondata=A,sQ([tQ,vb,function(){return[Pt,Oi,Bu]}],this,0,function(){var g=new Bu;onmessage=Pt(g)},11)}return i}();function jb(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return oQ(i,A,[tQ,vb,function(){return[zs]}],function(e){return pn(zs(e.data[0],rk(e.data[1])))},5,g)}function zs(i,A){return Sh((Hb(i),i.subarray(2,-4)),A)}var zb=function(){function i(A){this.G=su,this.I=Oi,this.Z=Bu,this.ondata=A}return i.prototype.push=function(A,g){if(!this.ondata)throw"no stream handler";if(this.s)this.s.push(A,g);else{if(this.p&&this.p.length){var e=new jg(this.p.length+A.length);e.set(this.p),e.set(A,this.p.length)}else this.p=A;if(this.p.length>2){var I=this,t=function(){I.ondata.apply(I,arguments)};this.s=this.p[0]==31&&this.p[1]==139&&this.p[2]==8?new this.G(t):(this.p[0]&15)!=8||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(t):new this.Z(t),this.s.push(this.p,g),this.p=null}}},i}(),xz=function(){function i(A){this.G=_b,this.I=dk,this.Z=Wb,this.ondata=A}return i.prototype.push=function(A,g){zb.prototype.push.call(this,A,g)},i}();function vz(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";return i[0]==31&&i[1]==139&&i[2]==8?Pb(i,A,g):(i[0]&15)!=8||i[0]>>4>7||(i[0]<<8|i[1])%31?Dk(i,A,g):jb(i,A,g)}function Yz(i,A){return i[0]==31&&i[1]==139&&i[2]==8?nu(i,A):(i[0]&15)!=8||i[0]>>4>7||(i[0]<<8|i[1])%31?nQ(i,A):zs(i,A)}var uk=function(i,A,g,e){for(var I in i){var t=i[I],C=A+I;t instanceof jg?g[C]=[t,e]:Array.isArray(t)?g[C]=[t[0],Gh(e,t[1])]:uk(t,C+"/",g,e)}},bm=typeof TextEncoder<"u"&&new TextEncoder,TS=typeof TextDecoder<"u"&&new TextDecoder,Zb=0;try{TS.decode(jo,{stream:!0}),Zb=1}catch{}var Vb=function(i){for(var A="",g=0;;){var e=i[g++],I=(e>127)+(e>223)+(e>239);if(g+I>i.length)return[A,Ht(i,g-1)];I?I==3?(e=((e&15)<<18|(i[g++]&63)<<12|(i[g++]&63)<<6|i[g++]&63)-65536,A+=String.fromCharCode(55296|e>>10,56320|e&1023)):I&1?A+=String.fromCharCode((e&31)<<6|i[g++]&63):A+=String.fromCharCode((e&15)<<12|(i[g++]&63)<<6|i[g++]&63):A+=String.fromCharCode(e)}},Hz=function(){function i(A){this.ondata=A,Zb?this.t=new TextDecoder:this.p=jo}return i.prototype.push=function(A,g){if(!this.ondata)throw"no callback";if(g=!!g,this.t){if(this.ondata(this.t.decode(A,{stream:!0}),g),g){if(this.t.decode().length)throw"invalid utf-8 data";this.t=null}return}if(!this.p)throw"stream finished";var e=new jg(this.p.length+A.length);e.set(this.p),e.set(A,this.p.length);var I=Vb(e),t=I[0],C=I[1];if(g){if(C.length)throw"invalid utf-8 data";this.p=null}else this.p=C;this.ondata(t,g)},i}(),Tz=function(){function i(A){this.ondata=A}return i.prototype.push=function(A,g){if(!this.ondata)throw"no callback";if(this.d)throw"stream finished";this.ondata(Co(A),this.d=g||!1)},i}();function Co(i,A){if(A){for(var g=new jg(i.length),e=0;e<i.length;++e)g[e]=i.charCodeAt(e);return g}if(bm)return bm.encode(i);for(var I=i.length,t=new jg(i.length+(i.length>>1)),C=0,o=function(B){t[C++]=B},e=0;e<I;++e){if(C+5>t.length){var s=new jg(C+8+(I-e<<1));s.set(t),t=s}var n=i.charCodeAt(e);n<128||A?o(n):n<2048?(o(192|n>>6),o(128|n&63)):n>55295&&n<57344?(n=65536+(n&1023<<10)|i.charCodeAt(++e)&1023,o(240|n>>18),o(128|n>>12&63),o(128|n>>6&63),o(128|n&63)):(o(224|n>>12),o(128|n>>6&63),o(128|n&63))}return Ht(t,0,C)}function pk(i,A){if(A){for(var g="",e=0;e<i.length;e+=16384)g+=String.fromCharCode.apply(null,i.subarray(e,e+16384));return g}else{if(TS)return TS.decode(i);var I=Vb(i),t=I[0],C=I[1];if(C.length)throw"invalid utf-8 data";return t}}var Xb=function(i){return i==1?3:i<6?2:i==9?1:0},$b=function(i,A){return A+30+wi(i,A+26)+wi(i,A+28)},Ax=function(i,A,g){var e=wi(i,A+28),I=pk(i.subarray(A+46,A+46+e),!(wi(i,A+8)&2048)),t=A+46+e,C=$e(i,A+20),o=g&&C==4294967295?gx(i,t):[C,$e(i,A+24),$e(i,A+42)],s=o[0],n=o[1],B=o[2];return[wi(i,A+10),s,n,I,t+wi(i,A+30)+wi(i,A+32),B]},gx=function(i,A){for(;wi(i,A)!=1;A+=4+wi(i,A+2));return[Yw(i,A+12),Yw(i,A+4),Yw(i,A+20)]},gn=function(i){var A=0;if(i)for(var g in i){var e=i[g].length;if(e>65535)throw"extra field too long";A+=e+4}return A},Ur=function(i,A,g,e,I,t,C,o){var s=e.length,n=g.extra,B=o&&o.length,r=gn(n);Ce(i,A,C!=null?33639248:67324752),A+=4,C!=null&&(i[A++]=20,i[A++]=g.os),i[A]=20,A+=2,i[A++]=g.flag<<1|(t==null&&8),i[A++]=I&&8,i[A++]=g.compression&255,i[A++]=g.compression>>8;var Q=new Date(g.mtime==null?Date.now():g.mtime),E=Q.getFullYear()-1980;if(E<0||E>119)throw"date not in range 1980-2099";if(Ce(i,A,E<<25|Q.getMonth()+1<<21|Q.getDate()<<16|Q.getHours()<<11|Q.getMinutes()<<5|Q.getSeconds()>>>1),A+=4,t!=null&&(Ce(i,A,g.crc),Ce(i,A+4,t),Ce(i,A+8,g.size)),Ce(i,A+12,s),Ce(i,A+14,r),A+=16,C!=null&&(Ce(i,A,B),Ce(i,A+6,g.attrs),Ce(i,A+10,C),A+=14),i.set(e,A),A+=s,r)for(var c in n){var h=n[c],l=h.length;Ce(i,A,+c),Ce(i,A+2,l),i.set(h,A+4),A+=4+l}return B&&(i.set(o,A),A+=B),A},fk=function(i,A,g,e,I){Ce(i,A,101010256),Ce(i,A+8,g),Ce(i,A+10,g),Ce(i,A+12,e),Ce(i,A+16,I)},Mc=function(){function i(A){this.filename=A,this.c=iQ(),this.size=0,this.compression=0}return i.prototype.process=function(A,g){this.ondata(null,A,g)},i.prototype.push=function(A,g){if(!this.ondata)throw"no callback - add to ZIP archive before pushing";this.c.p(A),this.size+=A.length,g&&(this.crc=this.c.d()),this.process(A,g||!1)},i}(),Oz=function(){function i(A,g){var e=this;g||(g={}),Mc.call(this,A),this.d=new to(g,function(I,t){e.ondata(null,I,t)}),this.compression=8,this.flag=Xb(g.level)}return i.prototype.process=function(A,g){try{this.d.push(A,g)}catch(e){this.ondata(e,null,g)}},i.prototype.push=function(A,g){Mc.prototype.push.call(this,A,g)},i}(),_z=function(){function i(A,g){var e=this;g||(g={}),Mc.call(this,A),this.d=new Tb(g,function(I,t,C){e.ondata(I,t,C)}),this.compression=8,this.flag=Xb(g.level),this.terminate=this.d.terminate}return i.prototype.process=function(A,g){this.d.push(A,g)},i.prototype.push=function(A,g){Mc.prototype.push.call(this,A,g)},i}(),Pz=function(){function i(A){this.ondata=A,this.u=[],this.d=1}return i.prototype.add=function(A){var g=this;if(this.d&2)throw"stream finished";var e=Co(A.filename),I=e.length,t=A.comment,C=t&&Co(t),o=I!=A.filename.length||C&&t.length!=C.length,s=I+gn(A.extra)+30;if(I>65535)throw"filename too long";var n=new jg(s);Ur(n,0,A,e,o);var B=[n],r=function(){for(var l=0,d=B;l<d.length;l++){var p=d[l];g.ondata(null,p,!1)}B=[]},Q=this.d;this.d=0;var E=this.u.length,c=Gh(A,{f:e,u:o,o:C,t:function(){A.terminate&&A.terminate()},r:function(){if(r(),Q){var l=g.u[E+1];l?l.r():g.d=1}Q=1}}),h=0;A.ondata=function(l,d,p){if(l)g.ondata(l,d,p),g.terminate();else if(h+=d.length,B.push(d),p){var D=new jg(16);Ce(D,0,134695760),Ce(D,4,A.crc),Ce(D,8,h),Ce(D,12,A.size),B.push(D),c.c=h,c.b=s+h+16,c.crc=A.crc,c.size=A.size,Q&&c.r(),Q=1}else Q&&r()},this.u.push(c)},i.prototype.end=function(){var A=this;if(this.d&2)throw this.d&1?"stream finishing":"stream finished";this.d?this.e():this.u.push({r:function(){A.d&1&&(A.u.splice(-1,1),A.e())},t:function(){}}),this.d=3},i.prototype.e=function(){for(var A=0,g=0,e=0,I=0,t=this.u;I<t.length;I++){var C=t[I];e+=46+C.f.length+gn(C.extra)+(C.o?C.o.length:0)}for(var o=new jg(e+22),s=0,n=this.u;s<n.length;s++){var C=n[s];Ur(o,A,C,C.f,C.u,C.c,g,C.o),A+=46+C.f.length+gn(C.extra)+(C.o?C.o.length:0),g+=C.b}fk(o,A,this.u.length,e,g),this.ondata(null,o,!0),this.d=2},i.prototype.terminate=function(){for(var A=0,g=this.u;A<g.length;A++){var e=g[A];e.t()}this.d=2},i}();function Wz(i,A,g){if(g||(g=A,A={}),typeof g!="function")throw"no callback";var e={};uk(i,"",e,A);var I=Object.keys(e),t=I.length,C=0,o=0,s=t,n=new Array(t),B=[],r=function(){for(var h=0;h<B.length;++h)B[h]()},Q=function(){var h=new jg(o+22),l=C,d=o-C;o=0;for(var p=0;p<s;++p){var D=n[p];try{var u=D.c.length;Ur(h,o,D,D.f,D.u,u);var w=30+D.f.length+gn(D.extra),y=o+w;h.set(D.c,y),Ur(h,C,D,D.f,D.u,u,o,D.m),C+=16+w+(D.m?D.m.length:0),o=y+u}catch(M){return g(M,null)}}fk(h,C,n.length,d,l),g(null,h)};t||Q();for(var E=function(h){var l=I[h],d=e[l],p=d[0],D=d[1],u=iQ(),w=p.length;u.p(p);var y=Co(l),M=y.length,f=D.comment,R=f&&Co(f),m=R&&R.length,L=gn(D.extra),Y=D.level==0?0:8,v=function(q,H){if(q)r(),g(q,null);else{var $=H.length;n[h]=Gh(D,{size:w,crc:u.d(),c:H,f:y,m:R,u:M!=l.length||R&&f.length!=m,compression:Y}),C+=30+M+L+$,o+=76+2*(M+L)+(m||0)+$,--t||Q()}};if(M>65535&&v("filename too long",null),!Y)v(null,p);else if(w<16e4)try{v(null,kh(p,D))}catch(q){v(q,null)}else B.push(Ob(p,D,v))},c=0;c<s;++c)E(c);return r}function ex(i,A){A||(A={});var g={},e=[];uk(i,"",g,A);var I=0,t=0;for(var C in g){var o=g[C],s=o[0],n=o[1],B=n.level==0?0:8,r=Co(C),Q=r.length,E=n.comment,c=E&&Co(E),h=c&&c.length,l=gn(n.extra);if(Q>65535)throw"filename too long";var d=B?kh(s,n):s,p=d.length,D=iQ();D.p(s),e.push(Gh(n,{size:s.length,crc:D.d(),c:d,f:r,m:c,u:Q!=C.length||c&&E.length!=h,o:I,compression:B})),I+=30+Q+l+p,t+=76+2*(Q+l)+(h||0)+p}for(var u=new jg(t+22),w=I,y=t-I,M=0;M<e.length;++M){var r=e[M];Ur(u,r.o,r,r.f,r.u,r.c.length);var f=30+r.f.length+gn(r.extra);u.set(r.c,r.o+f),Ur(u,I,r,r.f,r.u,r.c.length,r.o,r.m),I+=16+f+(r.m?r.m.length:0)}return fk(u,I,e.length,y,w),u}var Ix=function(){function i(){}return i.prototype.push=function(A,g){this.ondata(null,A,g)},i.compression=0,i}(),jz=function(){function i(){var A=this;this.i=new Oi(function(g,e){A.ondata(null,g,e)})}return i.prototype.push=function(A,g){try{this.i.push(A,g)}catch(e){this.ondata(e,A,g)}},i.compression=8,i}(),zz=function(){function i(A,g){var e=this;g<32e4?this.i=new Oi(function(I,t){e.ondata(null,I,t)}):(this.i=new dk(function(I,t,C){e.ondata(I,t,C)}),this.terminate=this.i.terminate)}return i.prototype.push=function(A,g){this.i.terminate&&(A=Ht(A,0)),this.i.push(A,g)},i.compression=8,i}(),Zz=function(){function i(A){this.onfile=A,this.k=[],this.o={0:Ix},this.p=jo}return i.prototype.push=function(A,g){var e=this;if(!this.onfile)throw"no callback";if(!this.p)throw"stream finished";if(this.c>0){var I=Math.min(this.c,A.length),t=A.subarray(0,I);if(this.c-=I,this.d?this.d.push(t,!this.c):this.k[0].push(t),A=A.subarray(I),A.length)return this.push(A,g)}else{var C=0,o=0,s=void 0,n=void 0;this.p.length?A.length?(n=new jg(this.p.length+A.length),n.set(this.p),n.set(A,this.p.length)):n=this.p:n=A;for(var B=n.length,r=this.c,Q=r&&this.d,E=function(){var d,p=$e(n,o);if(p==67324752){C=1,s=o,c.d=null,c.c=0;var D=wi(n,o+6),u=wi(n,o+8),w=D&2048,y=D&8,M=wi(n,o+26),f=wi(n,o+28);if(B>o+30+M+f){var R=[];c.k.unshift(R),C=2;var m=$e(n,o+18),L=$e(n,o+22),Y=pk(n.subarray(o+30,o+=30+M),!w);m==4294967295?(d=y?[-2]:gx(n,o),m=d[0],L=d[1]):y&&(m=-1),o+=f,c.c=m;var v,q={name:Y,compression:u,start:function(){if(!q.ondata)throw"no callback";if(!m)q.ondata(null,jo,!0);else{var H=e.o[u];if(!H)throw"unknown compression type "+u;v=m<0?new H(Y):new H(Y,m,L),v.ondata=function(QA,rA,UA){q.ondata(QA,rA,UA)};for(var $=0,X=R;$<X.length;$++){var Z=X[$];v.push(Z,!1)}e.k[0]==R&&e.c?e.d=v:v.push(jo,!0)}},terminate:function(){v&&v.terminate&&v.terminate()}};m>=0&&(q.size=m,q.originalSize=L),c.onfile(q)}return"break"}else if(r){if(p==134695760)return s=o+=12+(r==-2&&8),C=3,c.c=0,"break";if(p==33639248)return s=o-=4,C=3,c.c=0,"break"}},c=this;o<B-4;++o){var h=E();if(h==="break")break}if(this.p=jo,r<0){var l=C?n.subarray(0,s-12-(r==-2&&8)-($e(n,s-16)==134695760&&4)):n.subarray(0,o);Q?Q.push(l,!!C):this.k[+(C==2)].push(l)}if(C&2)return this.push(n.subarray(o),g);this.p=n.subarray(o)}if(g){if(this.c)throw"invalid zip file";this.p=null}},i.prototype.register=function(A){this.o[A.compression]=A},i}();function Vz(i,A){if(typeof A!="function")throw"no callback";for(var g=[],e=function(){for(var Q=0;Q<g.length;++Q)g[Q]()},I={},t=i.length-22;$e(i,t)!=101010256;--t)if(!t||i.length-t>65558){A("invalid zip file",null);return}var C=wi(i,t+8);C||A(null,{});var o=C,s=$e(i,t+16),n=s==4294967295;if(n){if(t=$e(i,t-12),$e(i,t)!=101075792){A("invalid zip file",null);return}o=C=$e(i,t+32),s=$e(i,t+48)}for(var B=function(Q){var E=Ax(i,s,n),c=E[0],h=E[1],l=E[2],d=E[3],p=E[4],D=E[5],u=$b(i,D);s=p;var w=function(M,f){M?(e(),A(M,null)):(I[d]=f,--C||A(null,I))};if(!c)w(null,Ht(i,u,u+h));else if(c==8){var y=i.subarray(u,u+h);if(h<32e4)try{w(null,nQ(y,new jg(l)))}catch(M){w(M,null)}else g.push(Dk(y,{size:l},w))}else w("unknown compression type "+c,null)},r=0;r<o;++r)B();return e}function Xz(i){for(var A={},g=i.length-22;$e(i,g)!=101010256;--g)if(!g||i.length-g>65558)throw"invalid zip file";var e=wi(i,g+8);if(!e)return{};var I=$e(i,g+16),t=I==4294967295;if(t){if(g=$e(i,g-12),$e(i,g)!=101075792)throw"invalid zip file";e=$e(i,g+32),I=$e(i,g+48)}for(var C=0;C<e;++C){var o=Ax(i,I,t),s=o[0],n=o[1],B=o[2],r=o[3],Q=o[4],E=o[5],c=$b(i,E);if(I=Q,!s)A[r]=Ht(i,c,c+n);else if(s==8)A[r]=nQ(i.subarray(c,c+n),new jg(B));else throw"unknown compression type "+s}return A}const xm=Object.freeze(Object.defineProperty({__proto__:null,AsyncCompress:qm,AsyncDecompress:xz,AsyncDeflate:Tb,AsyncGunzip:_b,AsyncGzip:qm,AsyncInflate:dk,AsyncUnzipInflate:zz,AsyncUnzlib:Wb,AsyncZipDeflate:_z,AsyncZlib:Lz,Compress:Cu,DecodeUTF8:Hz,Decompress:zb,Deflate:to,EncodeUTF8:Tz,Gunzip:su,Gzip:Cu,Inflate:Oi,Unzip:Zz,UnzipInflate:jz,UnzipPassThrough:Ix,Unzlib:Bu,Zip:Pz,ZipDeflate:Oz,ZipPassThrough:Mc,Zlib:YS,compress:Lm,compressSync:ou,decompress:vz,decompressSync:Yz,deflate:Ob,deflateSync:kh,gunzip:Pb,gunzipSync:nu,gzip:Lm,gzipSync:ou,inflate:Dk,inflateSync:nQ,strFromU8:pk,strToU8:Co,unzip:Vz,unzipSync:Xz,unzlib:jb,unzlibSync:zs,zip:Wz,zipSync:ex,zlib:bz,zlibSync:HS},Symbol.toStringTag,{value:"Module"}));class OS extends iG{constructor(A){super(A),this.type=pI}parse(A){const R=Math.pow(2.7182818,2.2);function m(k,F){let x=0;for(let oA=0;oA<65536;++oA)(oA==0||k[oA>>3]&1<<(oA&7))&&(F[x++]=oA);const P=x-1;for(;x<65536;)F[x++]=0;return P}function L(k){for(let F=0;F<16384;F++)k[F]={},k[F].len=0,k[F].lit=0,k[F].p=null}const Y={l:0,c:0,lc:0};function v(k,F,x,P,oA){for(;x<k;)F=F<<8|xA(P,oA),x+=8;x-=k,Y.l=F>>x&(1<<k)-1,Y.c=F,Y.lc=x}const q=new Array(59);function H(k){for(let x=0;x<=58;++x)q[x]=0;for(let x=0;x<65537;++x)q[k[x]]+=1;let F=0;for(let x=58;x>0;--x){const P=F+q[x]>>1;q[x]=F,F=P}for(let x=0;x<65537;++x){const P=k[x];P>0&&(k[x]=P|q[P]++<<6)}}function $(k,F,x,P,oA,AA){const cA=F;let RA=0,vA=0;for(;P<=oA;P++){if(cA.value-F.value>x)return!1;v(6,RA,vA,k,cA);const GA=Y.l;if(RA=Y.c,vA=Y.lc,AA[P]=GA,GA==63){if(cA.value-F.value>x)throw new Error("Something wrong with hufUnpackEncTable");v(8,RA,vA,k,cA);let HA=Y.l+6;if(RA=Y.c,vA=Y.lc,P+HA>oA+1)throw new Error("Something wrong with hufUnpackEncTable");for(;HA--;)AA[P++]=0;P--}else if(GA>=59){let HA=GA-59+2;if(P+HA>oA+1)throw new Error("Something wrong with hufUnpackEncTable");for(;HA--;)AA[P++]=0;P--}}H(AA)}function X(k){return k&63}function Z(k){return k>>6}function QA(k,F,x,P){for(;F<=x;F++){const oA=Z(k[F]),AA=X(k[F]);if(oA>>AA)throw new Error("Invalid table entry");if(AA>14){const cA=P[oA>>AA-14];if(cA.len)throw new Error("Invalid table entry");if(cA.lit++,cA.p){const RA=cA.p;cA.p=new Array(cA.lit);for(let vA=0;vA<cA.lit-1;++vA)cA.p[vA]=RA[vA]}else cA.p=new Array(1);cA.p[cA.lit-1]=F}else if(AA){let cA=0;for(let RA=1<<14-AA;RA>0;RA--){const vA=P[(oA<<14-AA)+cA];if(vA.len||vA.p)throw new Error("Invalid table entry");vA.len=AA,vA.lit=F,cA++}}}return!0}const rA={c:0,lc:0};function UA(k,F,x,P){k=k<<8|xA(x,P),F+=8,rA.c=k,rA.lc=F}const dA={c:0,lc:0};function IA(k,F,x,P,oA,AA,cA,RA,vA){if(k==F){P<8&&(UA(x,P,oA,AA),x=rA.c,P=rA.lc),P-=8;let GA=x>>P;if(GA=new Uint8Array([GA])[0],RA.value+GA>vA)return!1;const HA=cA[RA.value-1];for(;GA-- >0;)cA[RA.value++]=HA}else if(RA.value<vA)cA[RA.value++]=k;else return!1;dA.c=x,dA.lc=P}function nA(k){return k&65535}function SA(k){const F=nA(k);return F>32767?F-65536:F}const O={a:0,b:0};function bA(k,F){const x=SA(k),oA=SA(F),AA=x+(oA&1)+(oA>>1),cA=AA,RA=AA-oA;O.a=cA,O.b=RA}function mA(k,F){const x=nA(k),P=nA(F),oA=x-(P>>1)&65535,AA=P+oA-32768&65535;O.a=AA,O.b=oA}function WA(k,F,x,P,oA,AA,cA){const RA=cA<16384,vA=x>oA?oA:x;let GA=1,HA,jA;for(;GA<=vA;)GA<<=1;for(GA>>=1,HA=GA,GA>>=1;GA>=1;){jA=0;const JA=jA+AA*(oA-HA),Dg=AA*GA,rg=AA*HA,eg=P*GA,cg=P*HA;let Ug,de,Og,Oe;for(;jA<=JA;jA+=rg){let ne=jA;const wg=jA+P*(x-HA);for(;ne<=wg;ne+=cg){const Ue=ne+eg,Ki=ne+Dg,_e=Ki+eg;RA?(bA(k[ne+F],k[Ki+F]),Ug=O.a,Og=O.b,bA(k[Ue+F],k[_e+F]),de=O.a,Oe=O.b,bA(Ug,de),k[ne+F]=O.a,k[Ue+F]=O.b,bA(Og,Oe),k[Ki+F]=O.a,k[_e+F]=O.b):(mA(k[ne+F],k[Ki+F]),Ug=O.a,Og=O.b,mA(k[Ue+F],k[_e+F]),de=O.a,Oe=O.b,mA(Ug,de),k[ne+F]=O.a,k[Ue+F]=O.b,mA(Og,Oe),k[Ki+F]=O.a,k[_e+F]=O.b)}if(x&GA){const Ue=ne+Dg;RA?bA(k[ne+F],k[Ue+F]):mA(k[ne+F],k[Ue+F]),Ug=O.a,k[Ue+F]=O.b,k[ne+F]=Ug}}if(oA&GA){let ne=jA;const wg=jA+P*(x-HA);for(;ne<=wg;ne+=cg){const Ue=ne+eg;RA?bA(k[ne+F],k[Ue+F]):mA(k[ne+F],k[Ue+F]),Ug=O.a,k[Ue+F]=O.b,k[ne+F]=Ug}}HA=GA,GA>>=1}return jA}function fA(k,F,x,P,oA,AA,cA,RA,vA){let GA=0,HA=0;const jA=cA,JA=Math.trunc(P.value+(oA+7)/8);for(;P.value<JA;)for(UA(GA,HA,x,P),GA=rA.c,HA=rA.lc;HA>=14;){const rg=GA>>HA-14&16383,eg=F[rg];if(eg.len)HA-=eg.len,IA(eg.lit,AA,GA,HA,x,P,RA,vA,jA),GA=dA.c,HA=dA.lc;else{if(!eg.p)throw new Error("hufDecode issues");let cg;for(cg=0;cg<eg.lit;cg++){const Ug=X(k[eg.p[cg]]);for(;HA<Ug&&P.value<JA;)UA(GA,HA,x,P),GA=rA.c,HA=rA.lc;if(HA>=Ug&&Z(k[eg.p[cg]])==(GA>>HA-Ug&(1<<Ug)-1)){HA-=Ug,IA(eg.p[cg],AA,GA,HA,x,P,RA,vA,jA),GA=dA.c,HA=dA.lc;break}}if(cg==eg.lit)throw new Error("hufDecode issues")}}const Dg=8-oA&7;for(GA>>=Dg,HA-=Dg;HA>0;){const rg=F[GA<<14-HA&16383];if(rg.len)HA-=rg.len,IA(rg.lit,AA,GA,HA,x,P,RA,vA,jA),GA=dA.c,HA=dA.lc;else throw new Error("hufDecode issues")}return!0}function og(k,F,x,P,oA,AA){const cA={value:0},RA=x.value,vA=_A(F,x),GA=_A(F,x);x.value+=4;const HA=_A(F,x);if(x.value+=4,vA<0||vA>=65537||GA<0||GA>=65537)throw new Error("Something wrong with HUF_ENCSIZE");const jA=new Array(65537),JA=new Array(16384);L(JA);const Dg=P-(x.value-RA);if($(k,x,Dg,vA,GA,jA),HA>8*(P-(x.value-RA)))throw new Error("Something wrong with hufUncompress");QA(jA,vA,GA,JA),fA(jA,JA,k,x,HA,GA,AA,oA,cA)}function lA(k,F,x){for(let P=0;P<x;++P)F[P]=k[F[P]]}function hA(k){for(let F=1;F<k.length;F++){const x=k[F-1]+k[F]-128;k[F]=x}}function KA(k,F){let x=0,P=Math.floor((k.length+1)/2),oA=0;const AA=k.length-1;for(;!(oA>AA||(F[oA++]=k[x++],oA>AA));)F[oA++]=k[P++]}function Ag(k){let F=k.byteLength;const x=new Array;let P=0;const oA=new DataView(k);for(;F>0;){const AA=oA.getInt8(P++);if(AA<0){const cA=-AA;F-=cA+1;for(let RA=0;RA<cA;RA++)x.push(oA.getUint8(P++))}else{const cA=AA;F-=2;const RA=oA.getUint8(P++);for(let vA=0;vA<cA+1;vA++)x.push(RA)}}return x}function PA(k,F,x,P,oA,AA){let cA=new DataView(AA.buffer);const RA=x[k.idx[0]].width,vA=x[k.idx[0]].height,GA=3,HA=Math.floor(RA/8),jA=Math.ceil(RA/8),JA=Math.ceil(vA/8),Dg=RA-(jA-1)*8,rg=vA-(JA-1)*8,eg={value:0},cg=new Array(GA),Ug=new Array(GA),de=new Array(GA),Og=new Array(GA),Oe=new Array(GA);for(let wg=0;wg<GA;++wg)Oe[wg]=F[k.idx[wg]],cg[wg]=wg<1?0:cg[wg-1]+jA*JA,Ug[wg]=new Float32Array(64),de[wg]=new Uint16Array(64),Og[wg]=new Uint16Array(jA*64);for(let wg=0;wg<JA;++wg){let Ue=8;wg==JA-1&&(Ue=rg);let Ki=8;for(let Be=0;Be<jA;++Be){Be==jA-1&&(Ki=Dg);for(let De=0;De<GA;++De)de[De].fill(0),de[De][0]=oA[cg[De]++],Qg(eg,P,de[De]),Bg(de[De],Ug[De]),tg(Ug[De]);bg(Ug);for(let De=0;De<GA;++De)mg(Ug[De],Og[De],Be*64)}let _e=0;for(let Be=0;Be<GA;++Be){const De=x[k.idx[Be]].type;for(let po=8*wg;po<8*wg+Ue;++po){_e=Oe[Be][po];for(let RQ=0;RQ<HA;++RQ){const MC=RQ*64+(po&7)*8;cA.setUint16(_e+0*2*De,Og[Be][MC+0],!0),cA.setUint16(_e+1*2*De,Og[Be][MC+1],!0),cA.setUint16(_e+2*2*De,Og[Be][MC+2],!0),cA.setUint16(_e+3*2*De,Og[Be][MC+3],!0),cA.setUint16(_e+4*2*De,Og[Be][MC+4],!0),cA.setUint16(_e+5*2*De,Og[Be][MC+5],!0),cA.setUint16(_e+6*2*De,Og[Be][MC+6],!0),cA.setUint16(_e+7*2*De,Og[Be][MC+7],!0),_e+=8*2*De}}if(HA!=jA)for(let po=8*wg;po<8*wg+Ue;++po){const RQ=Oe[Be][po]+8*HA*2*De,MC=HA*64+(po&7)*8;for(let tl=0;tl<Ki;++tl)cA.setUint16(RQ+tl*2*De,Og[Be][MC+tl],!0)}}}const ne=new Uint16Array(RA);cA=new DataView(AA.buffer);for(let wg=0;wg<GA;++wg){x[k.idx[wg]].decoded=!0;const Ue=x[k.idx[wg]].type;if(x[wg].type==2)for(let Ki=0;Ki<vA;++Ki){const _e=Oe[wg][Ki];for(let Be=0;Be<RA;++Be)ne[Be]=cA.getUint16(_e+Be*2*Ue,!0);for(let Be=0;Be<RA;++Be)cA.setFloat32(_e+Be*2*Ue,j(ne[Be]),!0)}}}function Qg(k,F,x){let P,oA=1;for(;oA<64;)P=F[k.value],P==65280?oA=64:P>>8==255?oA+=P&255:(x[oA]=P,oA++),k.value++}function Bg(k,F){F[0]=j(k[0]),F[1]=j(k[1]),F[2]=j(k[5]),F[3]=j(k[6]),F[4]=j(k[14]),F[5]=j(k[15]),F[6]=j(k[27]),F[7]=j(k[28]),F[8]=j(k[2]),F[9]=j(k[4]),F[10]=j(k[7]),F[11]=j(k[13]),F[12]=j(k[16]),F[13]=j(k[26]),F[14]=j(k[29]),F[15]=j(k[42]),F[16]=j(k[3]),F[17]=j(k[8]),F[18]=j(k[12]),F[19]=j(k[17]),F[20]=j(k[25]),F[21]=j(k[30]),F[22]=j(k[41]),F[23]=j(k[43]),F[24]=j(k[9]),F[25]=j(k[11]),F[26]=j(k[18]),F[27]=j(k[24]),F[28]=j(k[31]),F[29]=j(k[40]),F[30]=j(k[44]),F[31]=j(k[53]),F[32]=j(k[10]),F[33]=j(k[19]),F[34]=j(k[23]),F[35]=j(k[32]),F[36]=j(k[39]),F[37]=j(k[45]),F[38]=j(k[52]),F[39]=j(k[54]),F[40]=j(k[20]),F[41]=j(k[22]),F[42]=j(k[33]),F[43]=j(k[38]),F[44]=j(k[46]),F[45]=j(k[51]),F[46]=j(k[55]),F[47]=j(k[60]),F[48]=j(k[21]),F[49]=j(k[34]),F[50]=j(k[37]),F[51]=j(k[47]),F[52]=j(k[50]),F[53]=j(k[56]),F[54]=j(k[59]),F[55]=j(k[61]),F[56]=j(k[35]),F[57]=j(k[36]),F[58]=j(k[48]),F[59]=j(k[49]),F[60]=j(k[57]),F[61]=j(k[58]),F[62]=j(k[62]),F[63]=j(k[63])}function tg(k){const F=.5*Math.cos(.7853975),x=.5*Math.cos(3.14159/16),P=.5*Math.cos(3.14159/8),oA=.5*Math.cos(3*3.14159/16),AA=.5*Math.cos(5*3.14159/16),cA=.5*Math.cos(3*3.14159/8),RA=.5*Math.cos(7*3.14159/16),vA=new Array(4),GA=new Array(4),HA=new Array(4),jA=new Array(4);for(let JA=0;JA<8;++JA){const Dg=JA*8;vA[0]=P*k[Dg+2],vA[1]=cA*k[Dg+2],vA[2]=P*k[Dg+6],vA[3]=cA*k[Dg+6],GA[0]=x*k[Dg+1]+oA*k[Dg+3]+AA*k[Dg+5]+RA*k[Dg+7],GA[1]=oA*k[Dg+1]-RA*k[Dg+3]-x*k[Dg+5]-AA*k[Dg+7],GA[2]=AA*k[Dg+1]-x*k[Dg+3]+RA*k[Dg+5]+oA*k[Dg+7],GA[3]=RA*k[Dg+1]-AA*k[Dg+3]+oA*k[Dg+5]-x*k[Dg+7],HA[0]=F*(k[Dg+0]+k[Dg+4]),HA[3]=F*(k[Dg+0]-k[Dg+4]),HA[1]=vA[0]+vA[3],HA[2]=vA[1]-vA[2],jA[0]=HA[0]+HA[1],jA[1]=HA[3]+HA[2],jA[2]=HA[3]-HA[2],jA[3]=HA[0]-HA[1],k[Dg+0]=jA[0]+GA[0],k[Dg+1]=jA[1]+GA[1],k[Dg+2]=jA[2]+GA[2],k[Dg+3]=jA[3]+GA[3],k[Dg+4]=jA[3]-GA[3],k[Dg+5]=jA[2]-GA[2],k[Dg+6]=jA[1]-GA[1],k[Dg+7]=jA[0]-GA[0]}for(let JA=0;JA<8;++JA)vA[0]=P*k[16+JA],vA[1]=cA*k[16+JA],vA[2]=P*k[48+JA],vA[3]=cA*k[48+JA],GA[0]=x*k[8+JA]+oA*k[24+JA]+AA*k[40+JA]+RA*k[56+JA],GA[1]=oA*k[8+JA]-RA*k[24+JA]-x*k[40+JA]-AA*k[56+JA],GA[2]=AA*k[8+JA]-x*k[24+JA]+RA*k[40+JA]+oA*k[56+JA],GA[3]=RA*k[8+JA]-AA*k[24+JA]+oA*k[40+JA]-x*k[56+JA],HA[0]=F*(k[JA]+k[32+JA]),HA[3]=F*(k[JA]-k[32+JA]),HA[1]=vA[0]+vA[3],HA[2]=vA[1]-vA[2],jA[0]=HA[0]+HA[1],jA[1]=HA[3]+HA[2],jA[2]=HA[3]-HA[2],jA[3]=HA[0]-HA[1],k[0+JA]=jA[0]+GA[0],k[8+JA]=jA[1]+GA[1],k[16+JA]=jA[2]+GA[2],k[24+JA]=jA[3]+GA[3],k[32+JA]=jA[3]-GA[3],k[40+JA]=jA[2]-GA[2],k[48+JA]=jA[1]-GA[1],k[56+JA]=jA[0]-GA[0]}function bg(k){for(let F=0;F<64;++F){const x=k[0][F],P=k[1][F],oA=k[2][F];k[0][F]=x+1.5747*oA,k[1][F]=x-.1873*P-.4682*oA,k[2][F]=x+1.8556*P}}function mg(k,F,x){for(let P=0;P<64;++P)F[x+P]=rB.toHalfFloat(b(k[P]))}function b(k){return k<=1?Math.sign(k)*Math.pow(Math.abs(k),2.2):Math.sign(k)*Math.pow(R,Math.abs(k)-1)}function N(k){return new DataView(k.array.buffer,k.offset.value,k.size)}function BA(k){const F=k.viewer.buffer.slice(k.offset.value,k.offset.value+k.size),x=new Uint8Array(Ag(F)),P=new Uint8Array(x.length);return hA(x),KA(x,P),new DataView(P.buffer)}function MA(k){const F=k.array.slice(k.offset.value,k.offset.value+k.size);typeof xm>"u"&&console.error("THREE.EXRLoader: External library fflate.min.js required.");const x=zs(F),P=new Uint8Array(x.length);return hA(x),KA(x,P),new DataView(P.buffer)}function FA(k){const F=k.viewer,x={value:k.offset.value},P=new Uint16Array(k.width*k.scanlineBlockSize*(k.channels*k.type)),oA=new Uint8Array(8192);let AA=0;const cA=new Array(k.channels);for(let rg=0;rg<k.channels;rg++)cA[rg]={},cA[rg].start=AA,cA[rg].end=cA[rg].start,cA[rg].nx=k.width,cA[rg].ny=k.lines,cA[rg].size=k.type,AA+=cA[rg].nx*cA[rg].ny*cA[rg].size;const RA=qA(F,x),vA=qA(F,x);if(vA>=8192)throw new Error("Something is wrong with PIZ_COMPRESSION BITMAP_SIZE");if(RA<=vA)for(let rg=0;rg<vA-RA+1;rg++)oA[rg+RA]=Rg(F,x);const GA=new Uint16Array(65536),HA=m(oA,GA),jA=_A(F,x);og(k.array,F,x,jA,P,AA);for(let rg=0;rg<k.channels;++rg){const eg=cA[rg];for(let cg=0;cg<cA[rg].size;++cg)WA(P,eg.start+cg,eg.nx,eg.size,eg.ny,eg.nx*eg.size,HA)}lA(GA,P,AA);let JA=0;const Dg=new Uint8Array(P.buffer.byteLength);for(let rg=0;rg<k.lines;rg++)for(let eg=0;eg<k.channels;eg++){const cg=cA[eg],Ug=cg.nx*cg.size,de=new Uint8Array(P.buffer,cg.end*2,Ug*2);Dg.set(de,JA),JA+=Ug*2,cg.end+=Ug}return new DataView(Dg.buffer)}function OA(k){const F=k.array.slice(k.offset.value,k.offset.value+k.size);typeof xm>"u"&&console.error("THREE.EXRLoader: External library fflate.min.js required.");const x=zs(F),P=k.lines*k.channels*k.width,oA=k.type==1?new Uint16Array(P):new Uint32Array(P);let AA=0,cA=0;const RA=new Array(4);for(let vA=0;vA<k.lines;vA++)for(let GA=0;GA<k.channels;GA++){let HA=0;switch(k.type){case 1:RA[0]=AA,RA[1]=RA[0]+k.width,AA=RA[1]+k.width;for(let jA=0;jA<k.width;++jA){const JA=x[RA[0]++]<<8|x[RA[1]++];HA+=JA,oA[cA]=HA,cA++}break;case 2:RA[0]=AA,RA[1]=RA[0]+k.width,RA[2]=RA[1]+k.width,AA=RA[2]+k.width;for(let jA=0;jA<k.width;++jA){const JA=x[RA[0]++]<<24|x[RA[1]++]<<16|x[RA[2]++]<<8;HA+=JA,oA[cA]=HA,cA++}break}}return new DataView(oA.buffer)}function sg(k){const F=k.viewer,x={value:k.offset.value},P=new Uint8Array(k.width*k.lines*(k.channels*k.type*2)),oA={version:Fg(F,x),unknownUncompressedSize:Fg(F,x),unknownCompressedSize:Fg(F,x),acCompressedSize:Fg(F,x),dcCompressedSize:Fg(F,x),rleCompressedSize:Fg(F,x),rleUncompressedSize:Fg(F,x),rleRawSize:Fg(F,x),totalAcUncompressedCount:Fg(F,x),totalDcUncompressedCount:Fg(F,x),acCompression:Fg(F,x)};if(oA.version<2)throw new Error("EXRLoader.parse: "+tA.compression+" version "+oA.version+" is unsupported");const AA=new Array;let cA=qA(F,x)-2;for(;cA>0;){const eg=TA(F.buffer,x),cg=Rg(F,x),Ug=cg>>2&3,de=(cg>>4)-1,Og=new Int8Array([de])[0],Oe=Rg(F,x);AA.push({name:eg,index:Og,type:Oe,compression:Ug}),cA-=eg.length+3}const RA=tA.channels,vA=new Array(k.channels);for(let eg=0;eg<k.channels;++eg){const cg=vA[eg]={},Ug=RA[eg];cg.name=Ug.name,cg.compression=0,cg.decoded=!1,cg.type=Ug.pixelType,cg.pLinear=Ug.pLinear,cg.width=k.width,cg.height=k.lines}const GA={idx:new Array(3)};for(let eg=0;eg<k.channels;++eg){const cg=vA[eg];for(let Ug=0;Ug<AA.length;++Ug){const de=AA[Ug];cg.name==de.name&&(cg.compression=de.compression,de.index>=0&&(GA.idx[de.index]=eg),cg.offset=eg)}}let HA,jA,JA;if(oA.acCompressedSize>0)switch(oA.acCompression){case 0:HA=new Uint16Array(oA.totalAcUncompressedCount),og(k.array,F,x,oA.acCompressedSize,HA,oA.totalAcUncompressedCount);break;case 1:const eg=k.array.slice(x.value,x.value+oA.totalAcUncompressedCount),cg=zs(eg);HA=new Uint16Array(cg.buffer),x.value+=oA.totalAcUncompressedCount;break}if(oA.dcCompressedSize>0){const eg={array:k.array,offset:x,size:oA.dcCompressedSize};jA=new Uint16Array(MA(eg).buffer),x.value+=oA.dcCompressedSize}if(oA.rleRawSize>0){const eg=k.array.slice(x.value,x.value+oA.rleCompressedSize),cg=zs(eg);JA=Ag(cg.buffer),x.value+=oA.rleCompressedSize}let Dg=0;const rg=new Array(vA.length);for(let eg=0;eg<rg.length;++eg)rg[eg]=new Array;for(let eg=0;eg<k.lines;++eg)for(let cg=0;cg<vA.length;++cg)rg[cg].push(Dg),Dg+=vA[cg].width*k.type*2;PA(GA,rg,vA,HA,jA,P);for(let eg=0;eg<vA.length;++eg){const cg=vA[eg];if(!cg.decoded)switch(cg.compression){case 2:let Ug=0,de=0;for(let Og=0;Og<k.lines;++Og){let Oe=rg[eg][Ug];for(let ne=0;ne<cg.width;++ne){for(let wg=0;wg<2*cg.type;++wg)P[Oe++]=JA[de+wg*cg.width*cg.height];de++}Ug++}break;case 1:default:throw new Error("EXRLoader.parse: unsupported channel compression")}}return new DataView(P.buffer)}function TA(k,F){const x=new Uint8Array(k);let P=0;for(;x[F.value+P]!=0;)P+=1;const oA=new TextDecoder().decode(x.slice(F.value,F.value+P));return F.value=F.value+P+1,oA}function K(k,F,x){const P=new TextDecoder().decode(new Uint8Array(k).slice(F.value,F.value+x));return F.value=F.value+x,P}function uA(k,F){const x=YA(k,F),P=_A(k,F);return[x,P]}function VA(k,F){const x=_A(k,F),P=_A(k,F);return[x,P]}function YA(k,F){const x=k.getInt32(F.value,!0);return F.value=F.value+4,x}function _A(k,F){const x=k.getUint32(F.value,!0);return F.value=F.value+4,x}function xA(k,F){const x=k[F.value];return F.value=F.value+1,x}function Rg(k,F){const x=k.getUint8(F.value);return F.value=F.value+1,x}const Fg=function(k,F){const x=Number(k.getBigInt64(F.value,!0));return F.value+=8,x};function Gg(k,F){const x=k.getFloat32(F.value,!0);return F.value+=4,x}function _(k,F){return rB.toHalfFloat(Gg(k,F))}function j(k){const F=(k&31744)>>10,x=k&1023;return(k>>15?-1:1)*(F?F===31?x?NaN:1/0:Math.pow(2,F-15)*(1+x/1024):6103515625e-14*(x/1024))}function qA(k,F){const x=k.getUint16(F.value,!0);return F.value+=2,x}function gg(k,F){return j(qA(k,F))}function Eg(k,F,x,P){const oA=x.value,AA=[];for(;x.value<oA+P-1;){const cA=TA(F,x),RA=YA(k,x),vA=Rg(k,x);x.value+=3;const GA=YA(k,x),HA=YA(k,x);AA.push({name:cA,pixelType:RA,pLinear:vA,xSampling:GA,ySampling:HA})}return x.value+=1,AA}function Ae(k,F){const x=Gg(k,F),P=Gg(k,F),oA=Gg(k,F),AA=Gg(k,F),cA=Gg(k,F),RA=Gg(k,F),vA=Gg(k,F),GA=Gg(k,F);return{redX:x,redY:P,greenX:oA,greenY:AA,blueX:cA,blueY:RA,whiteX:vA,whiteY:GA}}function II(k,F){const x=["NO_COMPRESSION","RLE_COMPRESSION","ZIPS_COMPRESSION","ZIP_COMPRESSION","PIZ_COMPRESSION","PXR24_COMPRESSION","B44_COMPRESSION","B44A_COMPRESSION","DWAA_COMPRESSION","DWAB_COMPRESSION"],P=Rg(k,F);return x[P]}function SI(k,F){const x=_A(k,F),P=_A(k,F),oA=_A(k,F),AA=_A(k,F);return{xMin:x,yMin:P,xMax:oA,yMax:AA}}function uo(k,F){const x=["INCREASING_Y"],P=Rg(k,F);return x[P]}function le(k,F){const x=Gg(k,F),P=Gg(k,F);return[x,P]}function Xt(k,F){const x=Gg(k,F),P=Gg(k,F),oA=Gg(k,F);return[x,P,oA]}function Ni(k,F,x,P,oA){if(P==="string"||P==="stringvector"||P==="iccProfile")return K(F,x,oA);if(P==="chlist")return Eg(k,F,x,oA);if(P==="chromaticities")return Ae(k,x);if(P==="compression")return II(k,x);if(P==="box2i")return SI(k,x);if(P==="lineOrder")return uo(k,x);if(P==="float")return Gg(k,x);if(P==="v2f")return le(k,x);if(P==="v3f")return Xt(k,x);if(P==="int")return YA(k,x);if(P==="rational")return uA(k,x);if(P==="timecode")return VA(k,x);if(P==="preview")return x.value+=oA,"skipped";x.value+=oA}function il(k,F,x){const P={};if(k.getUint32(0,!0)!=20000630)throw new Error("THREE.EXRLoader: provided file doesn't appear to be in OpenEXR format.");P.version=k.getUint8(4);const oA=k.getUint8(5);P.spec={singleTile:!!(oA&2),longName:!!(oA&4),deepFormat:!!(oA&8),multiPart:!!(oA&16)},x.value=8;let AA=!0;for(;AA;){const cA=TA(F,x);if(cA==0)AA=!1;else{const RA=TA(F,x),vA=_A(k,x),GA=Ni(k,F,x,RA,vA);GA===void 0?console.warn(`EXRLoader.parse: skipped unknown header attribute type '${RA}'.`):P[cA]=GA}}if(oA&-5)throw console.error("EXRHeader:",P),new Error("THREE.EXRLoader: provided file is currently unsupported.");return P}function Gf(k,F,x,P,oA){const AA={size:0,viewer:F,array:x,offset:P,width:k.dataWindow.xMax-k.dataWindow.xMin+1,height:k.dataWindow.yMax-k.dataWindow.yMin+1,channels:k.channels.length,bytesPerLine:null,lines:null,inputSize:null,type:k.channels[0].pixelType,uncompress:null,getter:null,format:null,encoding:null};switch(k.compression){case"NO_COMPRESSION":AA.lines=1,AA.uncompress=N;break;case"RLE_COMPRESSION":AA.lines=1,AA.uncompress=BA;break;case"ZIPS_COMPRESSION":AA.lines=1,AA.uncompress=MA;break;case"ZIP_COMPRESSION":AA.lines=16,AA.uncompress=MA;break;case"PIZ_COMPRESSION":AA.lines=32,AA.uncompress=FA;break;case"PXR24_COMPRESSION":AA.lines=16,AA.uncompress=OA;break;case"DWAA_COMPRESSION":AA.lines=32,AA.uncompress=sg;break;case"DWAB_COMPRESSION":AA.lines=256,AA.uncompress=sg;break;default:throw new Error("EXRLoader.parse: "+k.compression+" is unsupported")}if(AA.scanlineBlockSize=AA.lines,AA.type==1)switch(oA){case BI:AA.getter=gg,AA.inputSize=2;break;case pI:AA.getter=qA,AA.inputSize=2;break}else if(AA.type==2)switch(oA){case BI:AA.getter=Gg,AA.inputSize=4;break;case pI:AA.getter=_,AA.inputSize=4}else throw new Error("EXRLoader.parse: unsupported pixelType "+AA.type+" for "+k.compression+".");AA.blockCount=(k.dataWindow.yMax+1)/AA.scanlineBlockSize;for(let RA=0;RA<AA.blockCount;RA++)Fg(F,P);AA.outputChannels=AA.channels==3?4:AA.channels;const cA=AA.width*AA.height*AA.outputChannels;switch(oA){case BI:AA.byteArray=new Float32Array(cA),AA.channels<AA.outputChannels&&AA.byteArray.fill(1,0,cA);break;case pI:AA.byteArray=new Uint16Array(cA),AA.channels<AA.outputChannels&&AA.byteArray.fill(15360,0,cA);break;default:console.error("THREE.EXRLoader: unsupported type: ",oA);break}return AA.bytesPerLine=AA.width*AA.inputSize*AA.channels,AA.outputChannels==4?(AA.format=ye,AA.encoding=AI):(AA.format=_s,AA.encoding=AI),AA}const oa=new DataView(A),kf=new Uint8Array(A),J={value:0},tA=il(oa,A,J),iA=Gf(tA,oa,kf,J,this.type),gA={value:0},DA={R:0,G:1,B:2,A:3,Y:0};for(let k=0;k<iA.height/iA.scanlineBlockSize;k++){const F=_A(oa,J);iA.size=_A(oa,J),iA.lines=F+iA.scanlineBlockSize>iA.height?iA.height-F:iA.scanlineBlockSize;const P=iA.size<iA.lines*iA.bytesPerLine?iA.uncompress(iA):N(iA);J.value+=iA.size;for(let oA=0;oA<iA.scanlineBlockSize;oA++){const AA=oA+k*iA.scanlineBlockSize;if(AA>=iA.height)break;for(let cA=0;cA<iA.channels;cA++){const RA=DA[tA.channels[cA].name];for(let vA=0;vA<iA.width;vA++){gA.value=(oA*(iA.channels*iA.width)+cA*iA.width+vA)*iA.inputSize;const GA=(iA.height-1-AA)*(iA.width*iA.outputChannels)+vA*iA.outputChannels+RA;iA.byteArray[GA]=iA.getter(P,gA)}}}}return{header:tA,width:iA.width,height:iA.height,data:iA.byteArray,format:iA.format,encoding:iA.encoding,type:this.type}}setDataType(A){return this.type=A,this}load(A,g,e,I){function t(C,o){C.encoding=o.encoding,C.minFilter=vg,C.magFilter=vg,C.generateMipmaps=!1,C.flipY=!1,g&&g(C,o)}return super.load(A,t,e,I)}}const Hw=EA("debugexr");class $z{constructor(A){a(this,"parser");a(this,"name");this.parser=A,this.name="EXT_texture_exr",Hw&&console.log(A)}loadTexture(A){const g=this.name,e=this.parser,t=e.json.textures[A];if(Hw&&console.log("EXT_texture_exr.loadTexture",A,t),!t.extensions||!t.extensions[g])return null;const C=t.extensions[g],o=new OS(e.options.manager);return Hw&&console.log("EXT_texture_exr.loadTexture",C,o),e.loadTextureImage(A,C.source,o)}}window.addEventListener("unhandledrejection",i=>{});const vm="NEEDLE_gameobject_data";class AZ{constructor(A){a(this,"parser");this.parser=A}get name(){return vm}afterRoot(A){const g=[];for(let e=0;e<this.parser.json.nodes.length;e++){const I=this.parser.json.nodes[e];if(I&&I.extensions){const t=I.extensions[vm];if(t){const C=this.findAndApplyExtensionData(e,t);g.push(C)}}}return Promise.all(g).then(()=>{})}async findAndApplyExtensionData(A,g){const e=await this.parser.getDependency("node",A);e&&this.applyExtensionData(e,g)}applyExtensionData(A,g){g.layers===void 0&&(g.layers=0),A.userData.layer=g.layers,A.layers.disableAll(),A.layers.set(g.layers),A.userData.tag=g.tag??"none",A.userData.hideFlags=g.hideFlags??0,A.userData.static=g.static??!1,A.visible=g.activeSelf??!0,A.guid=g.guid}}const Ym="NEEDLE_lighting_settings",Xn=EA("debugenvlight");class gZ{constructor(A,g,e){a(this,"parser");a(this,"sourceId");a(this,"context");this.parser=A,this.sourceId=g,this.context=e}get name(){return Ym}afterRoot(A){const g=this.parser.json.extensions;if(g){const e=g[Ym];if(e){Xn&&console.log('Loaded "'+this.name+'", src: "'+this.sourceId+'"',e);let I;if(A.scene.children.length===1)I=eA.addNewComponent(A.scene.children[0],au,!1);else{const t=new NA;t.name="LightSettings "+this.sourceId,A.scene.add(t),I=eA.addNewComponent(t,au,!1)}I.sourceId=this.sourceId,I.ambientIntensity=e.ambientIntensity,I.ambientLight=new pA().fromArray(e.ambientLight),Array.isArray(e.ambientTrilight)&&(I.ambientTrilight=e.ambientTrilight.map(t=>new pA().fromArray(t))),I.ambientMode=e.ambientMode,I.environmentReflectionSource=e.environmentReflectionSource}}return null}}uI.registerCallback(xt.ContextCreated,i=>{const A=i.context,g=eA.findObjectOfType(au,A);g!=null&&g.sourceId&&(g.enabled=!0)});class au extends LA{constructor(){super(...arguments);a(this,"ambientMode",or.Skybox);a(this,"ambientLight");a(this,"ambientTrilight");a(this,"ambientIntensity",1);a(this,"environmentReflectionSource",eu.Skybox);a(this,"_hasReflection",!1);a(this,"_ambientLightObj");a(this,"_hemisphereLightObj");a(this,"_lightProbeObj")}awake(){if(this.sourceId){const g=this.environmentReflectionSource===eu.Skybox?js.Skybox:js.Reflection,e=this.context.lightmaps.tryGet(this.sourceId,g,0);this._hasReflection=e!=null,e&&this.context.sceneLighting.internalRegisterReflection(this.sourceId,e)}this.enabled=!1,this.context.sceneLighting.internalRegisterSceneLightSettings(this),Xn&&window.addEventListener("keydown",g=>{if(!this.destroyed)switch(g.key){case"l":this.enabled=!this.enabled;break}})}onDestroy(){this.context.sceneLighting.internalUnregisterSceneLightSettings(this)}calculateIntensityFactor(g){const e=Math.max(g.r,g.g,g.b);return 2.2*$A.lerp(0,1.33,e)}onEnable(){if(Xn&&console.warn("💡🟡 >>> Enable lighting",this.sourceId,this.enabled,this),this.ambientMode==or.Flat){if(this.ambientLight&&!this._ambientLightObj){const g=this.calculateIntensityFactor(this.ambientLight);this._ambientLightObj=new oG(this.ambientLight,this.ambientIntensity*g),Xn&&console.log("Created ambient light",this.sourceId,this._ambientLightObj,this.ambientIntensity,g)}this._ambientLightObj&&this.gameObject.add(this._ambientLightObj),this._lightProbeObj&&this._lightProbeObj.removeFromParent()}else if(this.ambientMode===or.Trilight){if(this.ambientTrilight){const g=this.ambientTrilight[0],e=this.ambientTrilight[this.ambientTrilight.length-1],I=this.calculateIntensityFactor(e);this._hemisphereLightObj=new tG(e,g,this.ambientIntensity*I),this.gameObject.add(this._hemisphereLightObj),Xn&&console.log("Created hemisphere ambient light",this.sourceId,this._hemisphereLightObj,this.ambientIntensity,I)}}else this._ambientLightObj&&this._ambientLightObj.removeFromParent(),this._hemisphereLightObj&&this._hemisphereLightObj.removeFromParent(),this._lightProbeObj?this.enabled&&this.destroyed&&this._lightProbeObj&&this.gameObject.add(this._lightProbeObj):this.sourceId&&this.context.sceneLighting.internalGetSceneLightingData(this.sourceId).then(g=>{g&&(this._lightProbeObj=g.lightProbe,this.enabled&&!this.destroyed&&this._lightProbeObj&&(Xn&&console.log("Add",this.sourceId,g),this.gameObject.add(this._lightProbeObj)))});this.sourceId&&this.context.sceneLighting.internalEnableReflection(this.sourceId)}onDisable(){Xn&&console.warn("💡⚫ <<< Disable lighting:",this.sourceId,this),this._lightProbeObj&&this._lightProbeObj.removeFromParent(),this._ambientLightObj&&this._ambientLightObj.removeFromParent(),this._hemisphereLightObj&&this._hemisphereLightObj.removeFromParent(),this.sourceId&&this.context.sceneLighting.internalDisableReflection(this.sourceId)}}const Tw=EA("debugstencil");function eZ(i,A){return(i&1<<A.layer)!=0}const IZ=Symbol("stencils"),oB=class{constructor(A,g){a(this,"parser");a(this,"source");this.parser=A,this.source=g}static applyStencil(A){if(!A)return;const g=A.sourceId;if(Tw&&console.log(g,oB.stencils),!g)return;const e=oB.stencils[g];if(e)for(let I=e.length-1;I>=0;I--){const t=e[I];if(eZ(t.layer,A)){Tw&&console.log(t),setTimeout(()=>{Mi()&&op(A.gameObject)&&(wC("Stencil not supported on instanced objects"),console.warn("Stencil not supported on instanced objects",A))},500);for(let C=0;C<A.sharedMaterials.length;C++){let o=A.sharedMaterials[C];o&&(o=o.clone(),o[IZ]=!0,o.stencilWrite=!0,o.stencilWriteMask=255,o.stencilFuncMask=255,o.stencilRef=t.value,o.stencilFunc=t.compareFunc,o.stencilZPass=t.passOp,o.stencilFail=t.failOp,o.stencilZFail=t.zFailOp,A.sharedMaterials[C]=o)}A.gameObject.renderOrder=t.event*1e3+t.index*50;break}}}afterRoot(A){const g=this.parser.json.extensions;if(g){const e=g[tZ];if(e){Tw&&console.log(e);const I=e.stencil;if(I&&Array.isArray(I))for(const t of I){const C={...t};C.compareFunc=iZ(C.compareFunc),C.passOp=Ow(C.passOp),C.failOp=Ow(C.failOp),C.zFailOp=Ow(C.zFailOp),oB.stencils[this.source]||(oB.stencils[this.source]=[]),oB.stencils[this.source].push(C)}}}return null}};let vE=oB;a(vE,"stencils",{});function Ow(i){switch(i){case 0:return SE;case 1:return eK;case 2:return IK;case 3:return iK;case 4:return tK;case 6:return CK;case 7:return oK;case 5:return sK}return 0}function iZ(i){switch(i){case 1:return nK;case 2:return BK;case 3:return aK;case 4:return rK;case 5:return QK;case 6:return EK;case 7:return cK;case 8:return U0}return 0}const tZ="NEEDLE_render_objects",iD="NEEDLE_progressive",MI=EA("debugprogressive"),_w=Symbol("needle-progressive-texture"),_S=new Map;let Pw=!1;MI&&window.addEventListener("keyup",i=>{i.key==="p"&&(_S.forEach((A,g)=>{Object.entries(A).forEach(([e,I])=>{Pw?g[e]=I.lod0:g[e]=I.original,g.needsUpdate=!0})}),Pw=!Pw)});const XE=class{constructor(A,g,e){a(this,"parser");a(this,"sourceId");a(this,"context");this.parser=A,this.sourceId=g,this.context=e}static assignTextureLOD(A,g,e,I=0){if(e)for(let t of Object.keys(e)){const C=e[t];(C==null?void 0:C.isTexture)===!0&&(MI&&console.log(`-----------
3980
3980
  `,"FIND",e.name,t,C==null?void 0:C.name,C==null?void 0:C.userData,C,e),XE.getOrLoadTexture(A,g,e,t,C,I).then(o=>{if((o==null?void 0:o.isTexture)===!0&&(MI&&console.log("Assign LOD",e.name,t,o.name,o.guid,e,"Prev:",C,"Now:",o,`
3981
3981
  --------------`),e[t]=o,o.needsUpdate=!0,e.needsUpdate=!0,MI)){let s=_S.get(e);s||(s={},_S.set(e,s));let n=s[t];n||(n=s[t]={original:C,lod0:o}),n.lod0=o}}))}}get name(){return iD}afterRoot(A){var g;return MI&&console.log("AFTER",this.sourceId,A),(g=this.parser.json.textures)==null||g.forEach((e,I)=>{if(e!=null&&e.extensions){const t=e==null?void 0:e.extensions[iD];t&&this.parser.getDependency("texture",I).then(o=>{MI&&console.log("> Progressive: register",o.name,o.uuid,t),o.source&&(o.source[_w]=t),XE.cache.set(o.uuid,t)})}}),null}static async getOrLoadTexture(A,g,e,I,t,C){const o=t.uuid;let s;if(t.source&&t.source[_w]&&(s=t.source[_w]),s||(s=XE.cache.get(o)),s){MI&&console.log(o,s.uri,s.guid);const n=vi(g,s.uri);if(n.endsWith(".glb")||n.endsWith(".gltf")){if(!s.guid)return console.warn("missing pointer for glb/gltf texture",s),null;const B=n+"_"+s.guid;if(this.resolved[B]){let Q=this.resolved[B];if(Q.image&&Q.image.data)return MI&&console.log("Texture has already been loaded: "+B,e.name,I,t.name,Q),Q=this.copySettings(t,Q),Q;Q&&MI&&console.log("Texture has been disposed, will load again: "+B,e.name,I,t.name,Q)}const r=this.onProgressiveLoadStart(A,g,n,e,I);try{if(this.currentlyLoading[B]!==void 0){MI&&console.log("Already loading:",e.name+"."+I,B);let h=await this.currentlyLoading[B];return h&&(h=this.copySettings(t,h)),h}const Q=s,E=new Promise(async(h,l)=>{const d=new gQ;fh(d,A),MI&&console.log("Load "+n,e.name,I,Q.guid),MI&&await ku(Math.random()*1e3);const p=await d.loadAsync(n),D=p.parser;MI&&console.log("Loading finished "+n,e.name,I,Q.guid);let u=-1,w=!1;for(const M of p.parser.json.textures)if(u++,M!=null&&M.extensions){const f=M==null?void 0:M.extensions[iD];if(f!=null&&f.guid&&f.guid===Q.guid){w=!0;break}}if(!w)return h(null);let y=await D.getDependency("texture",u);y=this.copySettings(t,y),y&&(y.guid=Q.guid),this.resolved[B]=y,MI&&console.log(e.name,I,'change "'+t.name+'" → "'+y.name+'"',n,u,y,e,B),h(y)});return this.currentlyLoading[B]=E,await E}finally{delete this.currentlyLoading[B],this.onProgressiveLoadEnd(r)}}else{const B=this.onProgressiveLoadStart(A,g,n,e,I);try{MI&&console.log("Load texture from uri: "+n);const Q=await new An().loadAsync(n);return Q?(Q.guid=s.guid,Q.flipY=!1,Q.needsUpdate=!0,Q.encoding=t.encoding,MI&&console.log(s,Q)):MI&&console.warn("failed loading",n),Q}finally{this.onProgressiveLoadEnd(B)}}}else MI&&console.warn("unknown texture",t.name,t.uuid,t);return null}static copySettings(A,g){const e=A.clone(),I=g.source,t=g.mipmaps;return e.copy(A),e.source=I,e.mipmaps=t,e}static beginListenStart(A,g){this._progressiveEventListeners.has(A)||this._progressiveEventListeners.set(A,new Hm),this._progressiveEventListeners.get(A).start.push(g)}static stopListenStart(A,g){if(!this._progressiveEventListeners.has(A))return;const e=this._progressiveEventListeners.get(A).start,I=e.indexOf(g);I>=0&&e.splice(I,1)}static beginListenEnd(A,g){this._progressiveEventListeners.has(A)||this._progressiveEventListeners.set(A,new Hm),this._progressiveEventListeners.get(A).end.push(g)}static stopListenEnd(A,g){if(!this._progressiveEventListeners.has(A))return;const e=this._progressiveEventListeners.get(A).end,I=e.indexOf(g);I>=0&&e.splice(I,1)}static onProgressiveLoadStart(A,g,e,I,t){this._currentProgressiveLoadingInfo.has(A)||this._currentProgressiveLoadingInfo.set(A,[]);const C=new ix(A,g,e,I,t),o=this._currentProgressiveLoadingInfo.get(A),s=this._progressiveEventListeners.get(A);return s&&s.onStart(C),o.push(C),C}static onProgressiveLoadEnd(A){if(!A)return;const g=A.context;if(!this._currentProgressiveLoadingInfo.has(g))return;const e=this._currentProgressiveLoadingInfo.get(g),I=e.indexOf(A);if(I<0)return;e.splice(I,1);const t=this._progressiveEventListeners.get(g);t&&t.onEnd(A)}};let nC=XE;a(nC,"cache",new Map),a(nC,"resolved",{}),a(nC,"currentlyLoading",{}),a(nC,"_progressiveEventListeners",new Map),a(nC,"_currentProgressiveLoadingInfo",new Map);class ix{constructor(A,g,e,I,t){a(this,"context");a(this,"source");a(this,"uri");a(this,"material");a(this,"slot");this.context=A,this.source=g,this.uri=e,this.material=I,this.slot=t}}class Hm{constructor(){a(this,"start",[]);a(this,"end",[])}onStart(A){for(const g of this.start)g(A)}onEnd(A){for(const g of this.end)g(A)}}const Rc=new Array;function CZ(i){Rc.includes(i)||Rc.push(i)}function oZ(i){const A=Rc.indexOf(i);A>=0&&Rc.splice(A,1)}function wk(i){const A=new wb;return i.register(g=>(A.parser=g,A)),A}class sZ{resolvePath(A){return A.includes("/extensions/builtin_components/")?A.replace("/extensions/builtin_components/","/userData/components/"):A.includes("extensions/builtin_components/")?A.replace("extensions/builtin_components/","/userData/components/"):A}}function tx(i,A,g){const e=g.lastIndexOf("?");e>=0&&(g=g.substring(0,e)),i.register(t=>new AZ(t)),i.register(t=>new P1(t)),i.register(t=>new Ej(t,A.lightmaps,g)),i.register(t=>new gZ(t,g,A)),i.register(t=>new mz(t,g)),i.register(t=>new vE(t,g)),i.register(t=>new nC(t,g,A)),i.register(t=>new $z(t)),jJ()&&i.register(t=>new Yd(t));for(const t of Rc)i.register(C=>new t(C));const I=i.setAnimationPointerResolver;typeof I=="function"&&I.bind(i)(new sZ)}var nZ=Object.defineProperty,BZ=Object.getOwnPropertyDescriptor,Cx=(i,A,g,e)=>{for(var I=e>1?void 0:e?BZ(A,g):A,t=i.length-1,C;t>=0;t--)(C=i[t])&&(I=(e?C(A,g,I):C(I))||I);return e&&I&&nZ(A,g,I),I};class Mh extends LA{constructor(){super(...arguments);a(this,"from");a(this,"to");a(this,"width",0);a(this,"centered",!0);a(this,"_centerPos")}awake(){this._centerPos=new S}update(){if(!this.from||!this.to)return;const g=Sg(this.from).clone(),e=Sg(this.to).clone(),I=g.distanceTo(e);this._centerPos.copy(g),this._centerPos.add(e),this._centerPos.multiplyScalar(.5),qI(this.gameObject,this.centered?this._centerPos:g),this.gameObject.lookAt(Sg(this.to).clone()),this.gameObject.scale.set(this.width,this.width,I)}}Cx([G(eA)],Mh.prototype,"from",2);Cx([G(eA)],Mh.prototype,"to",2);var aZ=Object.defineProperty,rZ=Object.getOwnPropertyDescriptor,fn=(i,A,g,e)=>{for(var I=e>1?void 0:e?rZ(A,g):A,t=i.length-1,C;t>=0;t--)(C=i[t])&&(I=(e?C(A,g,I):C(I))||I);return e&&I&&aZ(A,g,I),I};class wn{constructor(){a(this,"time");a(this,"value");a(this,"inTangent");a(this,"inWeight");a(this,"outTangent");a(this,"outWeight");a(this,"weightedMode")}}fn([G()],wn.prototype,"time",2);fn([G()],wn.prototype,"value",2);fn([G()],wn.prototype,"inTangent",2);fn([G()],wn.prototype,"inWeight",2);fn([G()],wn.prototype,"outTangent",2);fn([G()],wn.prototype,"outWeight",2);fn([G()],wn.prototype,"weightedMode",2);class TB{constructor(){a(this,"keys")}get duration(){return!this.keys||this.keys.length==0?0:this.keys[this.keys.length-1].time}evaluate(A){if(!this.keys||this.keys.length==0)return 0;if(this.keys[0].time>=A)return this.keys[0].value;for(let g=0;g<this.keys.length;g++){const e=this.keys[g];if(e.time<=A)if(g+1<this.keys.length){const t=this.keys[g+1];if(t.time<A)continue;const C=$A.remap(A,e.time,t.time,0,1);return $A.lerp(e.value,t.value,C)}else return e.value}return this.keys[this.keys.length-1].value}}fn([G(wn)],TB.prototype,"keys",2);function ox(i){return i.replace(/[^a-zA-Z0-9_]/g,"")}class QZ{get isDocumentRoot(){return!0}get isDynamic(){return!1}constructor(){this.name="StageRoot",this.children=[],this.stageLength=100}add(A){A.parent=this,this.children.push(A)}remove(A){const g=this.children.indexOf(A);g>=0&&(A.parent===this&&(A.parent=null),this.children.splice(g,1))}traverse(A,g=null){if(g!==null?A(g):g=this,g.children)for(const e of g.children)this.traverse(A,e)}findById(A){let g=!1;function e(I){if(!g){if(I.uuid===A)return g=!0,I;if(I.children)for(const t of I.children){const C=e(t);if(C)return C}}}return e(this)}buildHeader(){return`#usda 1.0
3982
3982
  (
@@ -166,11 +166,13 @@ export function processStart(context, object) {
166
166
  // keep them in queue until script has started
167
167
  // call awake if the script was inactive before
168
168
  utils.safeInvoke(script.__internalAwake.bind(script));
169
- utils.safeInvoke(script.__internalEnable.bind(script));
170
- // now call start
171
- utils.safeInvoke(script.__internalStart.bind(script));
172
- context.new_script_start.splice(i, 1);
173
- i--;
169
+ if (script.enabled) {
170
+ utils.safeInvoke(script.__internalEnable.bind(script));
171
+ // now call start
172
+ utils.safeInvoke(script.__internalStart.bind(script));
173
+ context.new_script_start.splice(i, 1);
174
+ i--;
175
+ }
174
176
  }
175
177
  catch (err) {
176
178
  console.error(err);
@@ -271,7 +273,7 @@ function updateIsActiveInHierarchyRecursiveRuntime(go, activeInHierarchy, allowE
271
273
  }
272
274
  }
273
275
  else {
274
- if (comp["__didAwake"]) {
276
+ if (comp["__didAwake"] && comp.enabled) {
275
277
  comp["__didEnable"] = false;
276
278
  comp.onDisable();
277
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_mainloop_utils.js","sourceRoot":"","sources":["../../src/engine/engine_mainloop_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_mainloop_utils.js","sourceRoot":"","sources":["../../src/engine/engine_mainloop_utils.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreated, e => {
55
55
  const ctx = e.context;
56
56
  const lightingSettings = GameObject.findObjectOfType(SceneLightSettings, ctx);
57
57
  if (lightingSettings?.sourceId)
58
- ctx.sceneLighting.enable(lightingSettings.sourceId);
58
+ lightingSettings.enabled = true;
59
59
  });
60
60
  // exists once per gltf scene root (if it contains reflection)
61
61
  // when enabled it does currently automatically set the reflection
@@ -103,7 +103,7 @@ export class SceneLightSettings extends Behaviour {
103
103
  }
104
104
  onEnable() {
105
105
  if (debug)
106
- console.warn("💡🟡 >>> Enable lighting", this.sourceId, this);
106
+ console.warn("💡🟡 >>> Enable lighting", this.sourceId, this.enabled, this);
107
107
  if (this.ambientMode == AmbientMode.Flat) {
108
108
  if (this.ambientLight && !this._ambientLightObj) {
109
109
  // TODO: currently ambient intensity is always exported as 1? The exported values are not correct in threejs
@@ -1 +1 @@
1
- {"version":3,"file":"NEEDLE_lighting_settings.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_lighting_settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NEEDLE_lighting_settings.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_lighting_settings.ts"],"names":[],"mappings":"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"}