t2-mapper/docs/_next/static/chunks/749-d375ce6a5d05b15b.js
Brian Beck b2404a90af build
2025-11-23 21:53:28 -08:00

38 lines
170 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[749],{61:(e,t,r)=>{"use strict";r.d(t,{Y:()=>a,z:()=>l});var n=r(2115),s=r(490);let i=e=>{let t=(0,s.y)(e),r=e=>(function(e,t=e=>e){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},o=n.createContext(null);function a({map:e,children:t,onChange:r,domElement:s}){let a=e.map(e=>e.name+e.keys).join("-"),l=n.useMemo(()=>{let t,r;return t=()=>e.reduce((e,t)=>({...e,[t.name]:!1}),{}),(r=(e,r,n)=>{let s=n.subscribe;return n.subscribe=(e,t,r)=>{let i=e;if(t){let s=(null==r?void 0:r.equalityFn)||Object.is,o=e(n.getState());i=r=>{let n=e(r);if(!s(o,n)){let e=o;t(o=n,e)}},(null==r?void 0:r.fireImmediately)&&t(o,o)}return s(i)},t(e,r,n)})?i(r):i},[a]),u=n.useMemo(()=>[l.subscribe,l.getState,l],[a]),c=l.setState;return n.useEffect(()=>{let t=e.map(({name:e,keys:t,up:n})=>({keys:t,up:n,fn:t=>{c({[e]:t}),r&&r(e,t,u[1]())}})).reduce((e,{keys:t,fn:r,up:n=!0})=>(t.forEach(t=>e[t]={fn:r,pressed:!1,up:n}),e),{}),n=({key:e,code:r})=>{let n=t[e]||t[r];if(!n)return;let{fn:s,pressed:i,up:o}=n;n.pressed=!0,(o||!i)&&s(!0)},i=({key:e,code:r})=>{let n=t[e]||t[r];if(!n)return;let{fn:s,up:i}=n;n.pressed=!1,i&&s(!1)},o=s||window;return o.addEventListener("keydown",n,{passive:!0}),o.addEventListener("keyup",i,{passive:!0}),()=>{o.removeEventListener("keydown",n),o.removeEventListener("keyup",i)}},[s,a]),n.createElement(o.Provider,{value:u,children:t})}function l(e){let[t,r,s]=n.useContext(o);return e?s(e):[t,r]}},63:(e,t,r)=>{"use strict";var n=r(7260);r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},99:(e,t,r)=>{"use strict";let n,s,i,o,a;r.d(t,{B:()=>H,C:()=>ee,D:()=>et,E:()=>w,G:()=>es,a:()=>D,b:()=>G,c:()=>eM,d:()=>eR,e:()=>eu,f:()=>ek,i:()=>R,j:()=>eH,k:()=>ew,s:()=>X,u:()=>T});var l=r(2115),u=r.t(l,2),c=r(8870),h=r(5339),d=r(7548),A=r(8828),f=r(490);let{useSyncExternalStoreWithSelector:p}=A,B=(e,t)=>{let r=(0,f.y)(e),n=(e,n=t)=>(function(e,t=e=>e,r){let n=p(e.subscribe,e.getState,e.getInitialState,t,r);return l.useDebugValue(n),n})(r,e,n);return Object.assign(n,r),n},m=[];function C(e,t,r=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;let n=e.length;if(t.length!==n)return!1;for(let s=0;s<n;s++)if(!r(e[s],t[s]))return!1;return!0}function y(e,t=null,r=!1,n={}){for(let s of(null===t&&(t=[e]),m))if(C(t,s.keys,s.equal)){if(r)return;if(Object.prototype.hasOwnProperty.call(s,"error"))throw s.error;if(Object.prototype.hasOwnProperty.call(s,"response"))return n.lifespan&&n.lifespan>0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,n.lifespan)),s.response;if(!r)throw s.promise}let s={keys:t,equal:n.equal,remove:()=>{let e=m.indexOf(s);-1!==e&&m.splice(e,1)},promise:("object"==typeof e&&"function"==typeof e.then?e:e(...t)).then(e=>{s.response=e,n.lifespan&&n.lifespan>0&&(s.timeout=setTimeout(s.remove,n.lifespan))}).catch(e=>s.error=e)};if(m.push(s),!r)throw s.promise}var b=r(8807),g=r.n(b),v=r(4943),E=r(5155),M=r(4735);function F(e){let t=e.root;for(;t.getState().previousRoot;)t=t.getState().previousRoot;return t}r(5704),u.act;let R=e=>e&&e.hasOwnProperty("current"),I=e=>null!=e&&("string"==typeof e||"number"==typeof e||e.isColor),G=((e,t)=>"undefined"!=typeof window&&((null==(e=window.document)?void 0:e.createElement)||(null==(t=window.navigator)?void 0:t.product)==="ReactNative"))()?l.useLayoutEffect:l.useEffect;function D(e){let t=l.useRef(e);return G(()=>void(t.current=e),[e]),t}function T(){let e=(0,M.u5)(),t=(0,M.y3)();return l.useMemo(()=>({children:r})=>{let n=(0,M.Nz)(e,!0,e=>e.type===l.StrictMode)?l.StrictMode:l.Fragment;return(0,E.jsx)(n,{children:(0,E.jsx)(t,{children:r})})},[e,t])}function H({set:e}){return G(()=>(e(new Promise(()=>null)),()=>e(!1)),[e]),null}let w=(e=>((e=class extends l.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}).getDerivedStateFromError=()=>({error:!0}),e))();function x(e){var t;let r="undefined"!=typeof window?null!=(t=window.devicePixelRatio)?t:2:1;return Array.isArray(e)?Math.min(Math.max(e[0],r),e[1]):e}function P(e){var t;return null==(t=e.__r3f)?void 0:t.root.getState()}let S={obj:e=>e===Object(e)&&!S.arr(e)&&"function"!=typeof e,fun:e=>"function"==typeof e,str:e=>"string"==typeof e,num:e=>"number"==typeof e,boo:e=>"boolean"==typeof e,und:e=>void 0===e,nul:e=>null===e,arr:e=>Array.isArray(e),equ(e,t,{arrays:r="shallow",objects:n="reference",strict:s=!0}={}){let i;if(typeof e!=typeof t||!!e!=!!t)return!1;if(S.str(e)||S.num(e)||S.boo(e))return e===t;let o=S.obj(e);if(o&&"reference"===n)return e===t;let a=S.arr(e);if(a&&"reference"===r)return e===t;if((a||o)&&e===t)return!0;for(i in e)if(!(i in t))return!1;if(o&&"shallow"===r&&"shallow"===n){for(i in s?t:e)if(!S.equ(e[i],t[i],{strict:s,objects:"reference"}))return!1}else for(i in s?t:e)if(e[i]!==t[i])return!1;if(S.und(i)){if(a&&0===e.length&&0===t.length||o&&0===Object.keys(e).length&&0===Object.keys(t).length)return!0;if(e!==t)return!1}return!0}},O=["children","key","ref"];function J(e,t,r,n){let s=null==e?void 0:e.__r3f;return!s&&(s={root:t,type:r,parent:null,children:[],props:function(e){let t={};for(let r in e)O.includes(r)||(t[r]=e[r]);return t}(n),object:e,eventCount:0,handlers:{},isHidden:!1},e&&(e.__r3f=s)),s}function L(e,t){let r=e[t];if(!t.includes("-"))return{root:e,key:t,target:r};for(let s of(r=e,t.split("-"))){var n;t=s,e=r,r=null==(n=r)?void 0:n[t]}return{root:e,key:t,target:r}}let U=/-\d+$/;function j(e,t){if(S.str(t.props.attach)){if(U.test(t.props.attach)){let r=t.props.attach.replace(U,""),{root:n,key:s}=L(e.object,r);Array.isArray(n[s])||(n[s]=[])}let{root:r,key:n}=L(e.object,t.props.attach);t.previousAttach=r[n],r[n]=t.object}else S.fun(t.props.attach)&&(t.previousAttach=t.props.attach(e.object,t.object))}function Q(e,t){if(S.str(t.props.attach)){let{root:r,key:n}=L(e.object,t.props.attach),s=t.previousAttach;void 0===s?delete r[n]:r[n]=s}else null==t.previousAttach||t.previousAttach(e.object,t.object);delete t.previousAttach}let k=[...O,"args","dispose","attach","object","onUpdate","dispose"],K=new Map,_=["map","emissiveMap","sheenColorMap","specularColorMap","envMap"],N=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;function X(e,t){var r,n;let s=e.__r3f,i=s&&F(s).getState(),o=null==s?void 0:s.eventCount;for(let r in t){let o=t[r];if(k.includes(r))continue;if(s&&N.test(r)){"function"==typeof o?s.handlers[r]=o:delete s.handlers[r],s.eventCount=Object.keys(s.handlers).length;continue}if(void 0===o)continue;let{root:a,key:l,target:u}=L(e,r);u instanceof h.zgK&&o instanceof h.zgK?u.mask=o.mask:u instanceof h.Q1f&&I(o)?u.set(o):null!==u&&"object"==typeof u&&"function"==typeof u.set&&"function"==typeof u.copy&&null!=o&&o.constructor&&u.constructor===o.constructor?u.copy(o):null!==u&&"object"==typeof u&&"function"==typeof u.set&&Array.isArray(o)?"function"==typeof u.fromArray?u.fromArray(o):u.set(...o):null!==u&&"object"==typeof u&&"function"==typeof u.set&&"number"==typeof o?"function"==typeof u.setScalar?u.setScalar(o):u.set(o):(a[l]=o,i&&!i.linear&&_.includes(l)&&null!=(n=a[l])&&n.isTexture&&a[l].format===h.GWd&&a[l].type===h.OUM&&(a[l].colorSpace=h.er$))}if(null!=s&&s.parent&&null!=i&&i.internal&&null!=(r=s.object)&&r.isObject3D&&o!==s.eventCount){let e=s.object,t=i.internal.interaction.indexOf(e);t>-1&&i.internal.interaction.splice(t,1),s.eventCount&&null!==e.raycast&&i.internal.interaction.push(e)}return s&&void 0===s.props.attach&&(s.object.isBufferGeometry?s.props.attach="geometry":s.object.isMaterial&&(s.props.attach="material")),s&&Y(s),e}function Y(e){var t;if(!e.parent)return;null==e.props.onUpdate||e.props.onUpdate(e.object);let r=null==(t=e.root)||null==t.getState?void 0:t.getState();r&&0===r.internal.frames&&r.invalidate()}let q=e=>null==e?void 0:e.isObject3D;function Z(e){return(e.eventObject||e.object).uuid+"/"+e.index+e.instanceId}function W(e,t,r,n){let s=r.get(t);s&&(r.delete(t),0===r.size&&(e.delete(n),s.target.releasePointerCapture(n)))}let V=e=>!!(null!=e&&e.render),z=l.createContext(null);function $(){let e=l.useContext(z);if(!e)throw Error("R3F: Hooks can only be used within the Canvas component!");return e}function ee(e=e=>e,t){return $()(e,t)}function et(e,t=0){let r=$(),n=r.getState().internal.subscribe,s=D(e);return G(()=>n(s,t,r),[t,n,r]),null}let er=new WeakMap;function en(e,t){return function(r,...n){var s;let i;return"function"==typeof r&&(null==r||null==(s=r.prototype)?void 0:s.constructor)===r?(i=er.get(r))||(i=new r,er.set(r,i)):i=r,e&&e(i),Promise.all(n.map(e=>new Promise((r,n)=>i.load(e,e=>{q(null==e?void 0:e.scene)&&Object.assign(e,function(e){let t={nodes:{},materials:{},meshes:{}};return e&&e.traverse(e=>{e.name&&(t.nodes[e.name]=e),e.material&&!t.materials[e.material.name]&&(t.materials[e.material.name]=e.material),e.isMesh&&!t.meshes[e.name]&&(t.meshes[e.name]=e)}),t}(e.scene)),r(e)},t,t=>n(Error(`Could not load ${e}: ${null==t?void 0:t.message}`))))))}}function es(e,t,r,n){let s=Array.isArray(t)?t:[t],i=y(en(r,n),[e,...s],!1,{equal:S.equ});return Array.isArray(t)?i:i[0]}es.preload=function(e,t,r){let n,s=Array.isArray(t)?t:[t];y(en(r),[e,...s],!0,n)},es.clear=function(e,t){var r=[e,...Array.isArray(t)?t:[t]];if(void 0===r||0===r.length)m.splice(0,m.length);else{let e=m.find(e=>C(r,e.keys,e.equal));e&&e.remove()}};let ei={},eo=/^three(?=[A-Z])/,ea=e=>`${e[0].toUpperCase()}${e.slice(1)}`,el=0;function eu(e){if("function"==typeof e){let t=`${el++}`;return ei[t]=e,t}Object.assign(ei,e)}function ec(e,t){let r=ea(e),n=ei[r];if("primitive"!==e&&!n)throw Error(`R3F: ${r} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if("primitive"===e&&!t.object)throw Error("R3F: Primitives without 'object' are invalid!");if(void 0!==t.args&&!Array.isArray(t.args))throw Error("R3F: The args prop must be an array!")}function eh(e){if(e.isHidden){var t;e.props.attach&&null!=(t=e.parent)&&t.object?j(e.parent,e):q(e.object)&&!1!==e.props.visible&&(e.object.visible=!0),e.isHidden=!1,Y(e)}}function ed(e,t,r){let n=t.root.getState();if(e.parent||e.object===n.scene){if(!t.object){var s,i;let e=ei[ea(t.type)];t.object=null!=(s=t.props.object)?s:new e(...null!=(i=t.props.args)?i:[]),t.object.__r3f=t}if(X(t.object,t.props),t.props.attach)j(e,t);else if(q(t.object)&&q(e.object)){let n=e.object.children.indexOf(null==r?void 0:r.object);if(r&&-1!==n){let r=e.object.children.indexOf(t.object);-1!==r?(e.object.children.splice(r,1),e.object.children.splice(r<n?n-1:n,0,t.object)):(t.object.parent=e.object,e.object.children.splice(n,0,t.object),t.object.dispatchEvent({type:"added"}),e.object.dispatchEvent({type:"childadded",child:t.object}))}else e.object.add(t.object)}for(let e of t.children)ed(t,e);Y(t)}}function eA(e,t){t&&(t.parent=e,e.children.push(t),ed(e,t))}function ef(e,t,r){if(!t||!r)return;t.parent=e;let n=e.children.indexOf(r);-1!==n?e.children.splice(n,0,t):e.children.push(t),ed(e,t,r)}function ep(e){if("function"==typeof e.dispose){let t=()=>{try{e.dispose()}catch{}};"undefined"!=typeof IS_REACT_ACT_ENVIRONMENT?t():(0,v.unstable_scheduleCallback)(v.unstable_IdlePriority,t)}}function eB(e,t,r){if(!t)return;t.parent=null;let n=e.children.indexOf(t);-1!==n&&e.children.splice(n,1),t.props.attach?Q(e,t):q(t.object)&&q(e.object)&&(e.object.remove(t.object),function(e,t){let{internal:r}=e.getState();r.interaction=r.interaction.filter(e=>e!==t),r.initialHits=r.initialHits.filter(e=>e!==t),r.hovered.forEach((e,n)=>{(e.eventObject===t||e.object===t)&&r.hovered.delete(n)}),r.capturedMap.forEach((e,n)=>{W(r.capturedMap,t,e,n)})}(F(t),t.object));let s=null!==t.props.dispose&&!1!==r;for(let e=t.children.length-1;e>=0;e--){let r=t.children[e];eB(t,r,s)}t.children.length=0,delete t.object.__r3f,s&&"primitive"!==t.type&&"Scene"!==t.object.type&&ep(t.object),void 0===r&&Y(t)}let em=[],eC=()=>{},ey={},eb=0,eg=function(e){let t=g()(e);return t.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:l.version}),t}({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:function(e,t,r){var n;return ec(e=ea(e)in ei?e:e.replace(eo,""),t),"primitive"===e&&null!=(n=t.object)&&n.__r3f&&delete t.object.__r3f,J(t.object,r,e,t)},removeChild:eB,appendChild:eA,appendInitialChild:eA,insertBefore:ef,appendChildToContainer(e,t){let r=e.getState().scene.__r3f;t&&r&&eA(r,t)},removeChildFromContainer(e,t){let r=e.getState().scene.__r3f;t&&r&&eB(r,t)},insertInContainerBefore(e,t,r){let n=e.getState().scene.__r3f;t&&r&&n&&ef(n,t,r)},getRootHostContext:()=>ey,getChildHostContext:()=>ey,commitUpdate(e,t,r,n,s){var i,o,a;ec(t,n);let l=!1;if("primitive"===e.type&&r.object!==n.object||(null==(i=n.args)?void 0:i.length)!==(null==(o=r.args)?void 0:o.length)?l=!0:null!=(a=n.args)&&a.some((e,t)=>{var n;return e!==(null==(n=r.args)?void 0:n[t])})&&(l=!0),l)em.push([e,{...n},s]);else{let t=function(e,t){let r={};for(let n in t)if(!k.includes(n)&&!S.equ(t[n],e.props[n]))for(let e in r[n]=t[n],t)e.startsWith(`${n}-`)&&(r[e]=t[e]);for(let n in e.props){if(k.includes(n)||t.hasOwnProperty(n))continue;let{root:s,key:i}=L(e.object,n);if(s.constructor&&0===s.constructor.length){let e=function(e){let t=K.get(e.constructor);try{t||(t=new e.constructor,K.set(e.constructor,t))}catch(e){}return t}(s);S.und(e)||(r[i]=e[i])}else r[i]=0}return r}(e,n);Object.keys(t).length&&(Object.assign(e.props,t),X(e.object,t))}(null===s.sibling||(4&s.flags)==0)&&function(){for(let[e]of em){let t=e.parent;if(t)for(let r of(e.props.attach?Q(t,e):q(e.object)&&q(t.object)&&t.object.remove(e.object),e.children))r.props.attach?Q(e,r):q(r.object)&&q(e.object)&&e.object.remove(r.object);e.isHidden&&eh(e),e.object.__r3f&&delete e.object.__r3f,"primitive"!==e.type&&ep(e.object)}for(let[n,s,i]of em){n.props=s;let o=n.parent;if(o){let s=ei[ea(n.type)];n.object=null!=(e=n.props.object)?e:new s(...null!=(t=n.props.args)?t:[]),n.object.__r3f=n;var e,t,r=n.object;for(let e of[i,i.alternate])if(null!==e)if("function"==typeof e.ref){null==e.refCleanup||e.refCleanup();let t=e.ref(r);"function"==typeof t&&(e.refCleanup=t)}else e.ref&&(e.ref.current=r);for(let e of(X(n.object,n.props),n.props.attach?j(o,n):q(n.object)&&q(o.object)&&o.object.add(n.object),n.children))e.props.attach?j(n,e):q(e.object)&&q(n.object)&&n.object.add(e.object);Y(n)}}em.length=0}()},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:e=>null==e?void 0:e.object,prepareForCommit:()=>null,preparePortalMount:e=>J(e.getState().scene,e,"",{}),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance:function(e){if(!e.isHidden){var t;e.props.attach&&null!=(t=e.parent)&&t.object?Q(e.parent,e):q(e.object)&&(e.object.visible=!1),e.isHidden=!0,Y(e)}},unhideInstance:eh,createTextInstance:eC,hideTextInstance:eC,unhideTextInstance:eC,scheduleTimeout:"function"==typeof setTimeout?setTimeout:void 0,cancelTimeout:"function"==typeof clearTimeout?clearTimeout:void 0,noTimeout:-1,getInstanceFromNode:()=>null,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},prepareScopeUpdate(){},getInstanceFromScope:()=>null,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,requestPostPaintCallback(){},maySuspendCommit:()=>!1,preloadInstance:()=>!0,startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:l.createContext(null),setCurrentUpdatePriority(e){eb=e},getCurrentUpdatePriority:()=>eb,resolveUpdatePriority(){var e;if(0!==eb)return eb;switch("undefined"!=typeof window&&(null==(e=window.event)?void 0:e.type)){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return c.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return c.ContinuousEventPriority;default:return c.DefaultEventPriority}},resetFormInstance(){}}),ev=new Map,eE={objects:"shallow",strict:!1};function eM(e){let t,r,n=ev.get(e),s=null==n?void 0:n.fiber,i=null==n?void 0:n.store;n&&console.warn("R3F.createRoot should only be called once!");let o="function"==typeof reportError?reportError:console.error,a=i||((e,t)=>{let r,n,s=(r=(r,n)=>{let s,i=new h.Pq0,o=new h.Pq0,a=new h.Pq0;function u(e=n().camera,t=o,r=n().size){let{width:s,height:l,top:c,left:h}=r,d=s/l;t.isVector3?a.copy(t):a.set(...t);let A=e.getWorldPosition(i).distanceTo(a);if(e&&e.isOrthographicCamera)return{width:s/e.zoom,height:l/e.zoom,top:c,left:h,factor:1,distance:A,aspect:d};{let t=2*Math.tan(e.fov*Math.PI/180/2)*A,r=s/l*t;return{width:r,height:t,top:c,left:h,factor:s/r,distance:A,aspect:d}}}let c=e=>r(t=>({performance:{...t.performance,current:e}})),d=new h.I9Y;return{set:r,get:n,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(t=1)=>e(n(),t),advance:(e,r)=>t(e,r,n()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new h.zD7,pointer:d,mouse:d,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{let e=n();s&&clearTimeout(s),e.performance.current!==e.performance.min&&c(e.performance.min),s=setTimeout(()=>c(n().performance.max),e.performance.debounce)}},size:{width:0,height:0,top:0,left:0},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:u},setEvents:e=>r(t=>({...t,events:{...t.events,...e}})),setSize:(e,t,s=0,i=0)=>{let a=n().camera,l={width:e,height:t,top:s,left:i};r(e=>({size:l,viewport:{...e.viewport,...u(a,o,l)}}))},setDpr:e=>r(t=>{let r=x(e);return{viewport:{...t.viewport,dpr:r,initialDpr:t.viewport.initialDpr||r}}}),setFrameloop:(e="always")=>{let t=n().clock;t.stop(),t.elapsedTime=0,"never"!==e&&(t.start(),t.elapsedTime=0),r(()=>({frameloop:e}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:l.createRef(),active:!1,frames:0,priority:0,subscribe:(e,t,r)=>{let s=n().internal;return s.priority=s.priority+ +(t>0),s.subscribers.push({ref:e,priority:t,store:r}),s.subscribers=s.subscribers.sort((e,t)=>e.priority-t.priority),()=>{let r=n().internal;null!=r&&r.subscribers&&(r.priority=r.priority-(t>0),r.subscribers=r.subscribers.filter(t=>t.ref!==e))}}}}})?B(r,n):B,i=s.getState(),o=i.size,a=i.viewport.dpr,u=i.camera;return s.subscribe(()=>{let{camera:e,size:t,viewport:r,gl:n,set:i}=s.getState();if(t.width!==o.width||t.height!==o.height||r.dpr!==a){o=t,a=r.dpr,function(e,t){!e.manual&&(e&&e.isOrthographicCamera?(e.left=-(t.width/2),e.right=t.width/2,e.top=t.height/2,e.bottom=-(t.height/2)):e.aspect=t.width/t.height,e.updateProjectionMatrix())}(e,t),r.dpr>0&&n.setPixelRatio(r.dpr);let s="undefined"!=typeof HTMLCanvasElement&&n.domElement instanceof HTMLCanvasElement;n.setSize(t.width,t.height,s)}e!==u&&(u=e,i(t=>({viewport:{...t.viewport,...t.viewport.getCurrentViewport(e)}})))}),s.subscribe(t=>e(t)),s})(eU,ej),u=s||eg.createContainer(a,c.ConcurrentRoot,null,!1,null,"",o,o,o,null);n||ev.set(e,{fiber:u,store:a});let A=!1,f=null;return{async configure(n={}){var s,i;let o;f=new Promise(e=>o=e);let{gl:l,size:u,scene:c,events:p,onCreated:B,shadows:m=!1,linear:C=!1,flat:y=!1,legacy:b=!1,orthographic:g=!1,frameloop:v="always",dpr:E=[1,2],performance:M,raycaster:F,camera:R,onPointerMissed:I}=n,G=a.getState(),D=G.gl;if(!G.gl){let t={canvas:e,powerPreference:"high-performance",antialias:!0,alpha:!0},r="function"==typeof l?await l(t):l;D=V(r)?r:new d.WebGLRenderer({...t,...l}),G.set({gl:D})}let T=G.raycaster;T||G.set({raycaster:T=new h.tBo});let{params:H,...w}=F||{};if(S.equ(w,T,eE)||X(T,{...w}),S.equ(H,T.params,eE)||X(T,{params:{...T.params,...H}}),!G.camera||G.camera===r&&!S.equ(r,R,eE)){r=R;let e=null==R?void 0:R.isCamera,t=e?R:g?new h.qUd(0,0,0,0,.1,1e3):new h.ubm(75,0,.1,1e3);!e&&(t.position.z=5,R&&(X(t,R),!t.manual&&("aspect"in R||"left"in R||"right"in R||"bottom"in R||"top"in R)&&(t.manual=!0,t.updateProjectionMatrix())),G.camera||null!=R&&R.rotation||t.lookAt(0,0,0)),G.set({camera:t}),T.camera=t}if(!G.scene){let e;null!=c&&c.isScene?J(e=c,a,"",{}):(J(e=new h.Z58,a,"",{}),c&&X(e,c)),G.set({scene:e})}p&&!G.events.handlers&&G.set({events:p(a)});let P=function(e,t){if(!t&&"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&e.parentElement){let{width:t,height:r,top:n,left:s}=e.parentElement.getBoundingClientRect();return{width:t,height:r,top:n,left:s}}return!t&&"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?{width:e.width,height:e.height,top:0,left:0}:{width:0,height:0,top:0,left:0,...t}}(e,u);if(S.equ(P,G.size,eE)||G.setSize(P.width,P.height,P.top,P.left),E&&G.viewport.dpr!==x(E)&&G.setDpr(E),G.frameloop!==v&&G.setFrameloop(v),G.onPointerMissed||G.set({onPointerMissed:I}),M&&!S.equ(M,G.performance,eE)&&G.set(e=>({performance:{...e.performance,...M}})),!G.xr){let e=(e,t)=>{let r=a.getState();"never"!==r.frameloop&&ej(e,!0,r,t)},t=()=>{let t=a.getState();t.gl.xr.enabled=t.gl.xr.isPresenting,t.gl.xr.setAnimationLoop(t.gl.xr.isPresenting?e:null),t.gl.xr.isPresenting||eU(t)},r={connect(){let e=a.getState().gl;e.xr.addEventListener("sessionstart",t),e.xr.addEventListener("sessionend",t)},disconnect(){let e=a.getState().gl;e.xr.removeEventListener("sessionstart",t),e.xr.removeEventListener("sessionend",t)}};"function"==typeof(null==(s=D.xr)?void 0:s.addEventListener)&&r.connect(),G.set({xr:r})}if(D.shadowMap){let e=D.shadowMap.enabled,t=D.shadowMap.type;if(D.shadowMap.enabled=!!m,S.boo(m))D.shadowMap.type=h.Wk7;else if(S.str(m)){let e={basic:h.bTm,percentage:h.QP0,soft:h.Wk7,variance:h.RyA};D.shadowMap.type=null!=(i=e[m])?i:h.Wk7}else S.obj(m)&&Object.assign(D.shadowMap,m);(e!==D.shadowMap.enabled||t!==D.shadowMap.type)&&(D.shadowMap.needsUpdate=!0)}return h.ppV.enabled=!b,A||(D.outputColorSpace=C?h.Zr2:h.er$,D.toneMapping=y?h.y_p:h.FV),G.legacy!==b&&G.set(()=>({legacy:b})),G.linear!==C&&G.set(()=>({linear:C})),G.flat!==y&&G.set(()=>({flat:y})),!l||S.fun(l)||V(l)||S.equ(l,D,eE)||X(D,l),t=B,A=!0,o(),this},render(r){return A||f||this.configure(),f.then(()=>{eg.updateContainer((0,E.jsx)(eF,{store:a,children:r,onCreated:t,rootElement:e}),u,null,()=>void 0)}),a},unmount(){eR(e)}}}function eF({store:e,children:t,onCreated:r,rootElement:n}){return G(()=>{let t=e.getState();t.set(e=>({internal:{...e.internal,active:!0}})),r&&r(t),e.getState().events.connected||null==t.events.connect||t.events.connect(n)},[]),(0,E.jsx)(z.Provider,{value:e,children:t})}function eR(e,t){let r=ev.get(e),n=null==r?void 0:r.fiber;if(n){let s=null==r?void 0:r.store.getState();s&&(s.internal.active=!1),eg.updateContainer(null,n,null,()=>{s&&setTimeout(()=>{try{null==s.events.disconnect||s.events.disconnect(),null==(r=s.gl)||null==(n=r.renderLists)||null==n.dispose||n.dispose(),null==(i=s.gl)||null==i.forceContextLoss||i.forceContextLoss(),null!=(o=s.gl)&&o.xr&&s.xr.disconnect();var r,n,i,o,a=s.scene;for(let e in"Scene"!==a.type&&(null==a.dispose||a.dispose()),a){let t=a[e];(null==t?void 0:t.type)!=="Scene"&&(null==t||null==t.dispose||t.dispose())}ev.delete(e),t&&t(e)}catch(e){}},500)})}}function eI(e,t){let r={callback:e};return t.add(r),()=>void t.delete(r)}let eG=new Set,eD=new Set,eT=new Set,eH=e=>eI(e,eG),ew=e=>eI(e,eD);function ex(e,t){if(e.size)for(let{callback:r}of e.values())r(t)}function eP(e,t){switch(e){case"before":return ex(eG,t);case"after":return ex(eD,t);case"tail":return ex(eT,t)}}function eS(e,t,r){let i=t.clock.getDelta();"never"===t.frameloop&&"number"==typeof e&&(i=e-t.clock.elapsedTime,t.clock.oldTime=t.clock.elapsedTime,t.clock.elapsedTime=e),n=t.internal.subscribers;for(let e=0;e<n.length;e++)(s=n[e]).ref.current(s.store.getState(),i,r);return!t.internal.priority&&t.gl.render&&t.gl.render(t.scene,t.camera),t.internal.frames=Math.max(0,t.internal.frames-1),"always"===t.frameloop?1:t.internal.frames}let eO=!1,eJ=!1;function eL(e){for(let r of(o=requestAnimationFrame(eL),eO=!0,i=0,eP("before",e),eJ=!0,ev.values())){var t;(a=r.store.getState()).internal.active&&("always"===a.frameloop||a.internal.frames>0)&&!(null!=(t=a.gl.xr)&&t.isPresenting)&&(i+=eS(e,a))}if(eJ=!1,eP("after",e),0===i)return eP("tail",e),eO=!1,cancelAnimationFrame(o)}function eU(e,t=1){var r;if(!e)return ev.forEach(e=>eU(e.store.getState(),t));(null==(r=e.gl.xr)||!r.isPresenting)&&e.internal.active&&"never"!==e.frameloop&&(t>1?e.internal.frames=Math.min(60,e.internal.frames+t):eJ?e.internal.frames=2:e.internal.frames=1,eO||(eO=!0,requestAnimationFrame(eL)))}function ej(e,t=!0,r,n){if(t&&eP("before",e),r)eS(e,r,n);else for(let t of ev.values())eS(e,t.store.getState());t&&eP("after",e)}let eQ={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function ek(e){let{handlePointer:t}=function(e){function t(e){return e.filter(e=>["Move","Over","Enter","Out","Leave"].some(t=>{var r;return null==(r=e.__r3f)?void 0:r.handlers["onPointer"+t]}))}function r(t){let{internal:r}=e.getState();for(let e of r.hovered.values())if(!t.length||!t.find(t=>t.object===e.object&&t.index===e.index&&t.instanceId===e.instanceId)){let n=e.eventObject.__r3f;if(r.hovered.delete(Z(e)),null!=n&&n.eventCount){let r=n.handlers,s={...e,intersections:t};null==r.onPointerOut||r.onPointerOut(s),null==r.onPointerLeave||r.onPointerLeave(s)}}}function n(e,t){for(let r=0;r<t.length;r++){let n=t[r].__r3f;null==n||null==n.handlers.onPointerMissed||n.handlers.onPointerMissed(e)}}return{handlePointer:function(s){switch(s){case"onPointerLeave":case"onPointerCancel":return()=>r([]);case"onLostPointerCapture":return t=>{let{internal:n}=e.getState();"pointerId"in t&&n.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{n.capturedMap.has(t.pointerId)&&(n.capturedMap.delete(t.pointerId),r([]))})}}return function(i){let{onPointerMissed:o,internal:a}=e.getState();a.lastEvent.current=i;let l="onPointerMove"===s,u="onClick"===s||"onContextMenu"===s||"onDoubleClick"===s,c=function(t,r){let n=e.getState(),s=new Set,i=[],o=r?r(n.internal.interaction):n.internal.interaction;for(let e=0;e<o.length;e++){let t=P(o[e]);t&&(t.raycaster.camera=void 0)}n.previousRoot||null==n.events.compute||n.events.compute(t,n);let a=o.flatMap(function(e){let r=P(e);if(!r||!r.events.enabled||null===r.raycaster.camera)return[];if(void 0===r.raycaster.camera){var n;null==r.events.compute||r.events.compute(t,r,null==(n=r.previousRoot)?void 0:n.getState()),void 0===r.raycaster.camera&&(r.raycaster.camera=null)}return r.raycaster.camera?r.raycaster.intersectObject(e,!0):[]}).sort((e,t)=>{let r=P(e.object),n=P(t.object);return r&&n&&n.events.priority-r.events.priority||e.distance-t.distance}).filter(e=>{let t=Z(e);return!s.has(t)&&(s.add(t),!0)});for(let e of(n.events.filter&&(a=n.events.filter(a,n)),a)){let t=e.object;for(;t;){var l;null!=(l=t.__r3f)&&l.eventCount&&i.push({...e,eventObject:t}),t=t.parent}}if("pointerId"in t&&n.internal.capturedMap.has(t.pointerId))for(let e of n.internal.capturedMap.get(t.pointerId).values())s.has(Z(e.intersection))||i.push(e.intersection);return i}(i,l?t:void 0),d=u?function(t){let{internal:r}=e.getState(),n=t.offsetX-r.initialClick[0],s=t.offsetY-r.initialClick[1];return Math.round(Math.sqrt(n*n+s*s))}(i):0;"onPointerDown"===s&&(a.initialClick=[i.offsetX,i.offsetY],a.initialHits=c.map(e=>e.eventObject)),u&&!c.length&&d<=2&&(n(i,a.interaction),o&&o(i)),l&&r(c),!function(e,t,n,s){if(e.length){let i={stopped:!1};for(let o of e){let a=P(o.object);if(a||o.object.traverseAncestors(e=>{let t=P(e);if(t)return a=t,!1}),a){let{raycaster:l,pointer:u,camera:c,internal:d}=a,A=new h.Pq0(u.x,u.y,0).unproject(c),f=e=>{var t,r;return null!=(t=null==(r=d.capturedMap.get(e))?void 0:r.has(o.eventObject))&&t},p=e=>{let r={intersection:o,target:t.target};d.capturedMap.has(e)?d.capturedMap.get(e).set(o.eventObject,r):d.capturedMap.set(e,new Map([[o.eventObject,r]])),t.target.setPointerCapture(e)},B=e=>{let t=d.capturedMap.get(e);t&&W(d.capturedMap,o.eventObject,t,e)},m={};for(let e in t){let r=t[e];"function"!=typeof r&&(m[e]=r)}let C={...o,...m,pointer:u,intersections:e,stopped:i.stopped,delta:n,unprojectedPoint:A,ray:l.ray,camera:c,stopPropagation(){let n="pointerId"in t&&d.capturedMap.get(t.pointerId);(!n||n.has(o.eventObject))&&(C.stopped=i.stopped=!0,d.hovered.size&&Array.from(d.hovered.values()).find(e=>e.eventObject===o.eventObject)&&r([...e.slice(0,e.indexOf(o)),o]))},target:{hasPointerCapture:f,setPointerCapture:p,releasePointerCapture:B},currentTarget:{hasPointerCapture:f,setPointerCapture:p,releasePointerCapture:B},nativeEvent:t};if(s(C),!0===i.stopped)break}}}}(c,i,d,function(e){let t=e.eventObject,r=t.__r3f;if(!(null!=r&&r.eventCount))return;let o=r.handlers;if(l){if(o.onPointerOver||o.onPointerEnter||o.onPointerOut||o.onPointerLeave){let t=Z(e),r=a.hovered.get(t);r?r.stopped&&e.stopPropagation():(a.hovered.set(t,e),null==o.onPointerOver||o.onPointerOver(e),null==o.onPointerEnter||o.onPointerEnter(e))}null==o.onPointerMove||o.onPointerMove(e)}else{let r=o[s];r?(!u||a.initialHits.includes(t))&&(n(i,a.interaction.filter(e=>!a.initialHits.includes(e))),r(e)):u&&a.initialHits.includes(t)&&n(i,a.interaction.filter(e=>!a.initialHits.includes(e)))}})}}}}(e);return{priority:1,enabled:!0,compute(e,t,r){t.pointer.set(e.offsetX/t.size.width*2-1,-(2*(e.offsetY/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)},connected:void 0,handlers:Object.keys(eQ).reduce((e,r)=>({...e,[r]:t(r)}),{}),update:()=>{var t;let{events:r,internal:n}=e.getState();null!=(t=n.lastEvent)&&t.current&&r.handlers&&r.handlers.onPointerMove(n.lastEvent.current)},connect:t=>{let{set:r,events:n}=e.getState();if(null==n.disconnect||n.disconnect(),r(e=>({events:{...e.events,connected:t}})),n.handlers)for(let e in n.handlers){let r=n.handlers[e],[s,i]=eQ[e];t.addEventListener(s,r,{passive:i})}},disconnect:()=>{let{set:t,events:r}=e.getState();if(r.connected){if(r.handlers)for(let e in r.handlers){let t=r.handlers[e],[n]=eQ[e];r.connected.removeEventListener(n,t)}t(e=>({events:{...e.events,connected:void 0}}))}}}}},125:(e,t,r)=>{"use strict";var n=r(2115),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=n.useState,o=n.useEffect,a=n.useLayoutEffect,l=n.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!s(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=i({inst:{value:r,getSnapshot:t}}),s=n[0].inst,c=n[1];return a(function(){s.value=r,s.getSnapshot=t,u(s)&&c({inst:s})},[e,r,t]),o(function(){return u(s)&&c({inst:s}),e(function(){u(s)&&c({inst:s})})},[e]),l(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},139:(e,t,r)=>{"use strict";r.d(t,{Z:()=>f});var n=r(5339),s=Object.defineProperty;class i{constructor(){((e,t,r)=>((e,t,r)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r))(this,"_listeners")}addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let r=this._listeners;void 0===r[e]&&(r[e]=[]),-1===r[e].indexOf(t)&&r[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let r=this._listeners;return void 0!==r[e]&&-1!==r[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let r=this._listeners[e];if(void 0!==r){let e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let r=t.slice(0);for(let t=0,n=r.length;t<n;t++)r[t].call(this,e);e.target=null}}}var o=Object.defineProperty,a=(e,t,r)=>(((e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r),r);let l=new n.O9p(0,0,0,"YXZ"),u=new n.Pq0,c={type:"change"},h={type:"lock"},d={type:"unlock"},A=Math.PI/2;class f extends i{constructor(e,t){super(),a(this,"camera"),a(this,"domElement"),a(this,"isLocked"),a(this,"minPolarAngle"),a(this,"maxPolarAngle"),a(this,"pointerSpeed"),a(this,"onMouseMove",e=>{this.domElement&&!1!==this.isLocked&&(l.setFromQuaternion(this.camera.quaternion),l.y-=.002*e.movementX*this.pointerSpeed,l.x-=.002*e.movementY*this.pointerSpeed,l.x=Math.max(A-this.maxPolarAngle,Math.min(A-this.minPolarAngle,l.x)),this.camera.quaternion.setFromEuler(l),this.dispatchEvent(c))}),a(this,"onPointerlockChange",()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(h),this.isLocked=!0):(this.dispatchEvent(d),this.isLocked=!1))}),a(this,"onPointerlockError",()=>{console.error("THREE.PointerLockControls: Unable to use Pointer Lock API")}),a(this,"connect",e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError))}),a(this,"disconnect",()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError))}),a(this,"dispose",()=>{this.disconnect()}),a(this,"getObject",()=>this.camera),a(this,"direction",new n.Pq0(0,0,-1)),a(this,"getDirection",e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),a(this,"moveForward",e=>{u.setFromMatrixColumn(this.camera.matrix,0),u.crossVectors(this.camera.up,u),this.camera.position.addScaledVector(u,e)}),a(this,"moveRight",e=>{u.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(u,e)}),a(this,"lock",()=>{this.domElement&&this.domElement.requestPointerLock()}),a(this,"unlock",()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=e,this.domElement=t,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,t&&this.connect(t)}}},258:(e,t,r)=>{"use strict";r.d(t,{Hl:()=>h});var n=r(99),s=r(2115),i=r(7548);function o(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}let a=["x","y","top","bottom","left","right","width","height"];var l=r(4735),u=r(5155);function c({ref:e,children:t,fallback:r,resize:l,style:c,gl:h,events:d=n.f,eventSource:A,eventPrefix:f,shadows:p,linear:B,flat:m,legacy:C,orthographic:y,frameloop:b,dpr:g,performance:v,raycaster:E,camera:M,scene:F,onPointerMissed:R,onCreated:I,...G}){s.useMemo(()=>(0,n.e)(i),[]);let D=(0,n.u)(),[T,H]=function({debounce:e,scroll:t,polyfill:r,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){var i,l,u;let c=r||("undefined"==typeof window?class{}:window.ResizeObserver);if(!c)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[h,d]=(0,s.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),A=(0,s.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:h,orientationHandler:null}),f=e?"number"==typeof e?e:e.scroll:null,p=e?"number"==typeof e?e:e.resize:null,B=(0,s.useRef)(!1);(0,s.useEffect)(()=>(B.current=!0,()=>void(B.current=!1)));let[m,C,y]=(0,s.useMemo)(()=>{let e=()=>{let e,t;if(!A.current.element)return;let{left:r,top:s,width:i,height:o,bottom:l,right:u,x:c,y:h}=A.current.element.getBoundingClientRect(),f={left:r,top:s,width:i,height:o,bottom:l,right:u,x:c,y:h};A.current.element instanceof HTMLElement&&n&&(f.height=A.current.element.offsetHeight,f.width=A.current.element.offsetWidth),Object.freeze(f),B.current&&(e=A.current.lastBounds,t=f,!a.every(r=>e[r]===t[r]))&&d(A.current.lastBounds=f)};return[e,p?o(e,p):e,f?o(e,f):e]},[d,n,f,p]);function b(){A.current.scrollContainers&&(A.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",y,!0)),A.current.scrollContainers=null),A.current.resizeObserver&&(A.current.resizeObserver.disconnect(),A.current.resizeObserver=null),A.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",A.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",A.current.orientationHandler))}function g(){A.current.element&&(A.current.resizeObserver=new c(y),A.current.resizeObserver.observe(A.current.element),t&&A.current.scrollContainers&&A.current.scrollContainers.forEach(e=>e.addEventListener("scroll",y,{capture:!0,passive:!0})),A.current.orientationHandler=()=>{y()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",A.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",A.current.orientationHandler))}return i=y,l=!!t,(0,s.useEffect)(()=>{if(l)return window.addEventListener("scroll",i,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",i,!0)},[i,l]),u=C,(0,s.useEffect)(()=>(window.addEventListener("resize",u),()=>void window.removeEventListener("resize",u)),[u]),(0,s.useEffect)(()=>{b(),g()},[t,y,C]),(0,s.useEffect)(()=>b,[]),[e=>{e&&e!==A.current.element&&(b(),A.current.element=e,A.current.scrollContainers=function e(t){let r=[];if(!t||t===document.body)return r;let{overflow:n,overflowX:s,overflowY:i}=window.getComputedStyle(t);return[n,s,i].some(e=>"auto"===e||"scroll"===e)&&r.push(t),[...r,...e(t.parentElement)]}(e),g())},h,m]}({scroll:!0,debounce:{scroll:50,resize:0},...l}),w=s.useRef(null),x=s.useRef(null);s.useImperativeHandle(e,()=>w.current);let P=(0,n.a)(R),[S,O]=s.useState(!1),[J,L]=s.useState(!1);if(S)throw S;if(J)throw J;let U=s.useRef(null);(0,n.b)(()=>{let e=w.current;H.width>0&&H.height>0&&e&&(U.current||(U.current=(0,n.c)(e)),async function(){await U.current.configure({gl:h,scene:F,events:d,shadows:p,linear:B,flat:m,legacy:C,orthographic:y,frameloop:b,dpr:g,performance:v,raycaster:E,camera:M,size:H,onPointerMissed:(...e)=>null==P.current?void 0:P.current(...e),onCreated:e=>{null==e.events.connect||e.events.connect(A?(0,n.i)(A)?A.current:A:x.current),f&&e.setEvents({compute:(e,t)=>{let r=e[f+"X"],n=e[f+"Y"];t.pointer.set(r/t.size.width*2-1,-(2*(n/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==I||I(e)}}),U.current.render((0,u.jsx)(D,{children:(0,u.jsx)(n.E,{set:L,children:(0,u.jsx)(s.Suspense,{fallback:(0,u.jsx)(n.B,{set:O}),children:null!=t?t:null})})}))}())}),s.useEffect(()=>{let e=w.current;if(e)return()=>(0,n.d)(e)},[]);let j=A?"none":"auto";return(0,u.jsx)("div",{ref:x,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:j,...c},...G,children:(0,u.jsx)("div",{ref:T,style:{width:"100%",height:"100%"},children:(0,u.jsx)("canvas",{ref:w,style:{display:"block"},children:r})})})}function h(e){return(0,u.jsx)(l.Af,{children:(0,u.jsx)(c,{...e})})}r(8870),r(8807),r(4943)},490:(e,t,r)=>{"use strict";r.d(t,{y:()=>s});let n=e=>{let t,r=new Set,n=(e,n)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=n?n:"object"!=typeof s||null===s)?s:Object.assign({},t,s),r.forEach(r=>r(t,e))}},s=()=>t,i={setState:n,getState:s,getInitialState:()=>o,subscribe:e=>(r.add(e),()=>r.delete(e))},o=t=e(n,s,i);return i},s=e=>e?n(e):n},979:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0<r;){var n=r-1>>>1,s=e[n];if(0<i(s,t))e[n]=t,e[r]=s,r=n;else break}}function n(e){return 0===e.length?null:e[0]}function s(e){if(0===e.length)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;for(var n=0,s=e.length,o=s>>>1;n<o;){var a=2*(n+1)-1,l=e[a],u=a+1,c=e[u];if(0>i(l,r))u<s&&0>i(c,l)?(e[n]=c,e[u]=r,n=u):(e[n]=l,e[a]=r,n=a);else if(u<s&&0>i(c,r))e[n]=c,e[u]=r,n=u;else break}}return t}function i(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,a=performance;t.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();t.unstable_now=function(){return l.now()-u}}var c=[],h=[],d=1,A=null,f=3,p=!1,B=!1,m=!1,C="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function g(e){for(var t=n(h);null!==t;){if(null===t.callback)s(h);else if(t.startTime<=e)s(h),t.sortIndex=t.expirationTime,r(c,t);else break;t=n(h)}}function v(e){if(m=!1,g(e),!B)if(null!==n(c))B=!0,H();else{var t=n(h);null!==t&&w(v,t.startTime-e)}}var E=!1,M=-1,F=5,R=-1;function I(){return!(t.unstable_now()-R<F)}function G(){if(E){var e=t.unstable_now();R=e;var r=!0;try{e:{B=!1,m&&(m=!1,y(M),M=-1),p=!0;var i=f;try{t:{for(g(e),A=n(c);null!==A&&!(A.expirationTime>e&&I());){var a=A.callback;if("function"==typeof a){A.callback=null,f=A.priorityLevel;var l=a(A.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof l){A.callback=l,g(e),r=!0;break t}A===n(c)&&s(c),g(e)}else s(c);A=n(c)}if(null!==A)r=!0;else{var u=n(h);null!==u&&w(v,u.startTime-e),r=!1}}break e}finally{A=null,f=i,p=!1}}}finally{r?o():E=!1}}}if("function"==typeof b)o=function(){b(G)};else if("undefined"!=typeof MessageChannel){var D=new MessageChannel,T=D.port2;D.port1.onmessage=G,o=function(){T.postMessage(null)}}else o=function(){C(G,0)};function H(){E||(E=!0,o())}function w(e,r){M=C(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){B||p||(B=!0,H())},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return n(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var r=f;f=t;try{return e()}finally{f=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=f;f=e;try{return t()}finally{f=r}},t.unstable_scheduleCallback=function(e,s,i){var o=t.unstable_now();switch(i="object"==typeof i&&null!==i&&"number"==typeof(i=i.delay)&&0<i?o+i:o,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=0x3fffffff;break;case 4:a=1e4;break;default:a=5e3}return a=i+a,e={id:d++,callback:s,priorityLevel:e,startTime:i,expirationTime:a,sortIndex:-1},i>o?(e.sortIndex=i,r(h,e),null===n(c)&&e===n(h)&&(m?(y(M),M=-1):m=!0,w(v,i-o))):(e.sortIndex=a,r(c,e),B||p||(B=!0,H())),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=f;return function(){var r=f;f=t;try{return e.apply(this,arguments)}finally{f=r}}}},1668:(e,t,r)=>{"use strict";r.d(t,{X:()=>a,k:()=>l});var n=r(4049),s=r(4268),i=r(3049),o=r(2162),a=class extends o.k{#e;#t;#r;#n;#s;#i;#o;constructor(e){super(),this.#o=!1,this.#i=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.client,this.#r=this.#n.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=c(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#s?.promise}setOptions(e){if(this.options={...this.#i,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=c(this.options);void 0!==e.data&&(this.setState(u(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#r.remove(this)}setData(e,t){let r=(0,n.pl)(this.state.data,e,this.options);return this.#a({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#a({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#s?.promise;return this.#s?.cancel(e),t?t.then(n.lQ).catch(n.lQ):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>!1!==(0,n.Eh)(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===n.hT||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===(0,n.d2)(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!(0,n.j3)(this.state.dataUpdatedAt,e))}onFocus(){let e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#s?.continue()}onOnline(){let e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#s?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#s&&(this.#o?this.#s.cancel({revert:!0}):this.#s.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#a({type:"invalidate"})}async fetch(e,t){if("idle"!==this.state.fetchStatus&&this.#s?.status()!=="rejected"){if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#s)return this.#s.continueRetry(),this.#s.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let r=new AbortController,s=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},o=()=>{let e=(0,n.ZM)(this.options,t),r=(()=>{let e={client:this.#n,queryKey:this.queryKey,meta:this.meta};return s(e),e})();return(this.#o=!1,this.options.persister)?this.options.persister(e,r,this):e(r)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:o};return s(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#a({type:"fetch",meta:a.fetchOptions?.meta}),this.#s=(0,i.II)({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof i.cc&&e.revert&&this.setState({...this.#t,fetchStatus:"idle"}),r.abort()},onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:()=>{this.#a({type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#s.start();if(void 0===e)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof i.cc){if(e.silent)return this.#s.promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#a({type:"error",error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#a(e){let t=t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...l(t.data,this.options),fetchMeta:e.meta??null};case"success":let r={...t,...u(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?r:void 0,r;case"error":let n=e.error;return{...t,error:n,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),s.jG.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function l(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,i.v_)(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function u(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function c(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}},1808:(e,t,r)=>{"use strict";let n;r.d(t,{p:()=>eu}),r(2115);var s=r(5339);let i=new WeakMap;class o extends s.aHM{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,r,n){let i=new s.Y9S(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(e,e=>{let r={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,r).then(t).catch(n)},r,n)}decodeDracoFile(e,t,r,n){let s={attributeIDs:r||this.defaultAttributeIDs,attributeTypes:n||this.defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(e,s).then(t)}decodeGeometry(e,t){let r;for(let e in t.attributeTypes){let r=t.attributeTypes[e];void 0!==r.BYTES_PER_ELEMENT&&(t.attributeTypes[e]=r.name)}let n=JSON.stringify(t);if(i.has(e)){let t=i.get(e);if(t.key===n)return t.promise;if(0===e.byteLength)throw Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let s=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(s,o).then(n=>(r=n,new Promise((n,i)=>{r._callbacks[s]={resolve:n,reject:i},r.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return a.catch(()=>!0).then(()=>{r&&s&&this._releaseTask(r,s)}),i.set(e,{key:n,promise:a}),a}_createGeometry(e){let t=new s.LoY;e.index&&t.setIndex(new s.THS(e.index.array,1));for(let r=0;r<e.attributes.length;r++){let n=e.attributes[r],i=n.name,o=n.array,a=n.itemSize;t.setAttribute(i,new s.THS(o,a))}return t}_loadLibrary(e,t){let r=new s.Y9S(this.manager);return r.setPath(this.decoderPath),r.setResponseType(t),r.setWithCredentials(this.withCredentials),new Promise((t,n)=>{r.load(e,t,void 0,n)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(t=>{let r=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let n=a.toString(),s=["/* draco decoder */",r,"\n/* worker */",n.substring(n.indexOf("{")+1,n.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([s]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){let e=new Worker(this.workerSourceURL);e._callbacks={},e._taskCosts={},e._taskLoad=0,e.postMessage({type:"init",decoderConfig:this.decoderConfig}),e.onmessage=function(t){let r=t.data;switch(r.type){case"decode":e._callbacks[r.id].resolve(r);break;case"error":e._callbacks[r.id].reject(r);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+r.type+'"')}},this.workerPool.push(e)}else this.workerPool.sort(function(e,t){return e._taskLoad>t._taskLoad?-1:1});let r=this.workerPool[this.workerPool.length-1];return r._taskCosts[e]=t,r._taskLoad+=t,r})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}function a(){let e,t;onmessage=function(r){let n=r.data;switch(n.type){case"init":e=n.decoderConfig,t=new Promise(function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)});break;case"decode":let s=n.buffer,i=n.taskConfig;t.then(e=>{let t=e.draco,r=new t.Decoder,o=new t.DecoderBuffer;o.Init(new Int8Array(s),s.byteLength);try{let e=function(e,t,r,n){let s,i,o=n.attributeIDs,a=n.attributeTypes,l=t.GetEncodedGeometryType(r);if(l===e.TRIANGULAR_MESH)s=new e.Mesh,i=t.DecodeBufferToMesh(r,s);else if(l===e.POINT_CLOUD)s=new e.PointCloud,i=t.DecodeBufferToPointCloud(r,s);else throw Error("THREE.DRACOLoader: Unexpected geometry type.");if(!i.ok()||0===s.ptr)throw Error("THREE.DRACOLoader: Decoding failed: "+i.error_msg());let u={index:null,attributes:[]};for(let r in o){let i,l,c=self[a[r]];if(n.useUniqueIDs)l=o[r],i=t.GetAttributeByUniqueId(s,l);else{if(-1===(l=t.GetAttributeId(s,e[o[r]])))continue;i=t.GetAttribute(s,l)}u.attributes.push(function(e,t,r,n,s,i){let o=i.num_components(),a=r.num_points()*o,l=a*s.BYTES_PER_ELEMENT,u=function(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}(e,s),c=e._malloc(l);t.GetAttributeDataArrayForAllPoints(r,i,u,l,c);let h=new s(e.HEAPF32.buffer,c,a).slice();return e._free(c),{name:n,array:h,itemSize:o}}(e,t,s,r,c,i))}return l===e.TRIANGULAR_MESH&&(u.index=function(e,t,r){let n=3*r.num_faces(),s=4*n,i=e._malloc(s);t.GetTrianglesUInt32Array(r,s,i);let o=new Uint32Array(e.HEAPF32.buffer,i,n).slice();return e._free(i),{array:o,itemSize:1}}(e,t,s)),e.destroy(s),u}(t,r,o,i),s=e.attributes.map(e=>e.array.buffer);e.index&&s.push(e.index.array.buffer),self.postMessage({type:"decode",id:n.id,geometry:e},s)}catch(e){console.error(e),self.postMessage({type:"error",id:n.id,error:e.message})}finally{t.destroy(o),t.destroy(r)}})}}}function l(e,t){if(t===s.RJ4)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t!==s.rYR&&t!==s.O49)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",t),e;{let r=e.getIndex();if(null===r){let t=[],n=e.getAttribute("position");if(void 0===n)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(let e=0;e<n.count;e++)t.push(e);e.setIndex(t),r=e.getIndex()}let n=r.count-2,i=[];if(r)if(t===s.rYR)for(let e=1;e<=n;e++)i.push(r.getX(0)),i.push(r.getX(e)),i.push(r.getX(e+1));else for(let e=0;e<n;e++)e%2==0?(i.push(r.getX(e)),i.push(r.getX(e+1)),i.push(r.getX(e+2))):(i.push(r.getX(e+2)),i.push(r.getX(e+1)),i.push(r.getX(e)));i.length/3!==n&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");let o=e.clone();return o.setIndex(i),o.clearGroups(),o}}let u=parseInt(s.sPf.replace(/\D+/g,""));function c(e){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(e);let t="";for(let r=0,n=e.length;r<n;r++)t+=String.fromCharCode(e[r]);try{return decodeURIComponent(escape(t))}catch(e){return t}}let h="srgb",d="srgb-linear";class A extends s.aHM{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(e){return new y(e)}),this.register(function(e){return new b(e)}),this.register(function(e){return new D(e)}),this.register(function(e){return new T(e)}),this.register(function(e){return new H(e)}),this.register(function(e){return new v(e)}),this.register(function(e){return new E(e)}),this.register(function(e){return new M(e)}),this.register(function(e){return new F(e)}),this.register(function(e){return new C(e)}),this.register(function(e){return new R(e)}),this.register(function(e){return new g(e)}),this.register(function(e){return new G(e)}),this.register(function(e){return new I(e)}),this.register(function(e){return new B(e)}),this.register(function(e){return new w(e)}),this.register(function(e){return new x(e)})}load(e,t,r,n){let i,o=this;if(""!==this.resourcePath)i=this.resourcePath;else if(""!==this.path){let t=s.r6x.extractUrlBase(e);i=s.r6x.resolveURL(t,this.path)}else i=s.r6x.extractUrlBase(e);this.manager.itemStart(e);let a=function(t){n?n(t):console.error(t),o.manager.itemError(e),o.manager.itemEnd(e)},l=new s.Y9S(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(r){try{o.parse(r,i,function(r){t(r),o.manager.itemEnd(e)},a)}catch(e){a(e)}},r,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return -1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}unregister(e){return -1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,r,n){let s,i={},o={};if("string"==typeof e)s=JSON.parse(e);else if(e instanceof ArrayBuffer)if(c(new Uint8Array(e.slice(0,4)))===P){try{i[p.KHR_BINARY_GLTF]=new O(e)}catch(e){n&&n(e);return}s=JSON.parse(i[p.KHR_BINARY_GLTF].content)}else s=JSON.parse(c(new Uint8Array(e)));else s=e;if(void 0===s.asset||s.asset.version[0]<2){n&&n(Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}let a=new en(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});a.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e<this.pluginCallbacks.length;e++){let t=this.pluginCallbacks[e](a);t.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),o[t.name]=t,i[t.name]=!0}if(s.extensionsUsed)for(let e=0;e<s.extensionsUsed.length;++e){let t=s.extensionsUsed[e],r=s.extensionsRequired||[];switch(t){case p.KHR_MATERIALS_UNLIT:i[t]=new m;break;case p.KHR_DRACO_MESH_COMPRESSION:i[t]=new J(s,this.dracoLoader);break;case p.KHR_TEXTURE_TRANSFORM:i[t]=new L;break;case p.KHR_MESH_QUANTIZATION:i[t]=new U;break;default:r.indexOf(t)>=0&&void 0===o[t]&&console.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}a.setExtensions(i),a.setPlugins(o),a.parse(r,n)}parseAsync(e,t){let r=this;return new Promise(function(n,s){r.parse(e,t,n,s)})}}function f(){let e={};return{get:function(t){return e[t]},add:function(t,r){e[t]=r},remove:function(t){delete e[t]},removeAll:function(){e={}}}}let p={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class B{constructor(e){this.parser=e,this.name=p.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let r=0,n=t.length;r<n;r++){let n=t[r];n.extensions&&n.extensions[this.name]&&void 0!==n.extensions[this.name].light&&e._addNodeRef(this.cache,n.extensions[this.name].light)}}_loadLight(e){let t,r=this.parser,n="light:"+e,i=r.cache.get(n);if(i)return i;let o=r.json,a=((o.extensions&&o.extensions[this.name]||{}).lights||[])[e],l=new s.Q1f(0xffffff);void 0!==a.color&&l.setRGB(a.color[0],a.color[1],a.color[2],d);let u=void 0!==a.range?a.range:0;switch(a.type){case"directional":(t=new s.ZyN(l)).target.position.set(0,0,-1),t.add(t.target);break;case"point":(t=new s.HiM(l)).distance=u;break;case"spot":(t=new s.nCl(l)).distance=u,a.spot=a.spot||{},a.spot.innerConeAngle=void 0!==a.spot.innerConeAngle?a.spot.innerConeAngle:0,a.spot.outerConeAngle=void 0!==a.spot.outerConeAngle?a.spot.outerConeAngle:Math.PI/4,t.angle=a.spot.outerConeAngle,t.penumbra=1-a.spot.innerConeAngle/a.spot.outerConeAngle,t.target.position.set(0,0,-1),t.add(t.target);break;default:throw Error("THREE.GLTFLoader: Unexpected light type: "+a.type)}return t.position.set(0,0,0),t.decay=2,$(t,a),void 0!==a.intensity&&(t.intensity=a.intensity),t.name=r.createUniqueName(a.name||"light_"+e),i=Promise.resolve(t),r.cache.add(n,i),i}getDependency(e,t){if("light"===e)return this._loadLight(t)}createNodeAttachment(e){let t=this,r=this.parser,n=r.json.nodes[e],s=(n.extensions&&n.extensions[this.name]||{}).light;return void 0===s?null:this._loadLight(s).then(function(e){return r._getNodeRef(t.cache,s,e)})}}class m{constructor(){this.name=p.KHR_MATERIALS_UNLIT}getMaterialType(){return s.V9B}extendParams(e,t,r){let n=[];e.color=new s.Q1f(1,1,1),e.opacity=1;let i=t.pbrMetallicRoughness;if(i){if(Array.isArray(i.baseColorFactor)){let t=i.baseColorFactor;e.color.setRGB(t[0],t[1],t[2],d),e.opacity=t[3]}void 0!==i.baseColorTexture&&n.push(r.assignTexture(e,"map",i.baseColorTexture,h))}return Promise.all(n)}}class C{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){let r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let n=r.extensions[this.name].emissiveStrength;return void 0!==n&&(t.emissiveIntensity=n),Promise.resolve()}}class y{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],o=n.extensions[this.name];if(void 0!==o.clearcoatFactor&&(t.clearcoat=o.clearcoatFactor),void 0!==o.clearcoatTexture&&i.push(r.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),void 0!==o.clearcoatRoughnessFactor&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),void 0!==o.clearcoatRoughnessTexture&&i.push(r.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),void 0!==o.clearcoatNormalTexture&&(i.push(r.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),void 0!==o.clearcoatNormalTexture.scale)){let e=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new s.I9Y(e,e)}return Promise.all(i)}}class b{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_DISPERSION}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let n=r.extensions[this.name];return t.dispersion=void 0!==n.dispersion?n.dispersion:0,Promise.resolve()}}class g{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],i=n.extensions[this.name];return void 0!==i.iridescenceFactor&&(t.iridescence=i.iridescenceFactor),void 0!==i.iridescenceTexture&&s.push(r.assignTexture(t,"iridescenceMap",i.iridescenceTexture)),void 0!==i.iridescenceIor&&(t.iridescenceIOR=i.iridescenceIor),void 0===t.iridescenceThicknessRange&&(t.iridescenceThicknessRange=[100,400]),void 0!==i.iridescenceThicknessMinimum&&(t.iridescenceThicknessRange[0]=i.iridescenceThicknessMinimum),void 0!==i.iridescenceThicknessMaximum&&(t.iridescenceThicknessRange[1]=i.iridescenceThicknessMaximum),void 0!==i.iridescenceThicknessTexture&&s.push(r.assignTexture(t,"iridescenceThicknessMap",i.iridescenceThicknessTexture)),Promise.all(s)}}class v{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_SHEEN}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[];t.sheenColor=new s.Q1f(0,0,0),t.sheenRoughness=0,t.sheen=1;let o=n.extensions[this.name];if(void 0!==o.sheenColorFactor){let e=o.sheenColorFactor;t.sheenColor.setRGB(e[0],e[1],e[2],d)}return void 0!==o.sheenRoughnessFactor&&(t.sheenRoughness=o.sheenRoughnessFactor),void 0!==o.sheenColorTexture&&i.push(r.assignTexture(t,"sheenColorMap",o.sheenColorTexture,h)),void 0!==o.sheenRoughnessTexture&&i.push(r.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(i)}}class E{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],i=n.extensions[this.name];return void 0!==i.transmissionFactor&&(t.transmission=i.transmissionFactor),void 0!==i.transmissionTexture&&s.push(r.assignTexture(t,"transmissionMap",i.transmissionTexture)),Promise.all(s)}}class M{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_VOLUME}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],o=n.extensions[this.name];t.thickness=void 0!==o.thicknessFactor?o.thicknessFactor:0,void 0!==o.thicknessTexture&&i.push(r.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;let a=o.attenuationColor||[1,1,1];return t.attenuationColor=new s.Q1f().setRGB(a[0],a[1],a[2],d),Promise.all(i)}}class F{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_IOR}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let n=r.extensions[this.name];return t.ior=void 0!==n.ior?n.ior:1.5,Promise.resolve()}}class R{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_SPECULAR}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],o=n.extensions[this.name];t.specularIntensity=void 0!==o.specularFactor?o.specularFactor:1,void 0!==o.specularTexture&&i.push(r.assignTexture(t,"specularIntensityMap",o.specularTexture));let a=o.specularColorFactor||[1,1,1];return t.specularColor=new s.Q1f().setRGB(a[0],a[1],a[2],d),void 0!==o.specularColorTexture&&i.push(r.assignTexture(t,"specularColorMap",o.specularColorTexture,h)),Promise.all(i)}}class I{constructor(e){this.parser=e,this.name=p.EXT_MATERIALS_BUMP}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],i=n.extensions[this.name];return t.bumpScale=void 0!==i.bumpFactor?i.bumpFactor:1,void 0!==i.bumpTexture&&s.push(r.assignTexture(t,"bumpMap",i.bumpTexture)),Promise.all(s)}}class G{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?s.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],i=n.extensions[this.name];return void 0!==i.anisotropyStrength&&(t.anisotropy=i.anisotropyStrength),void 0!==i.anisotropyRotation&&(t.anisotropyRotation=i.anisotropyRotation),void 0!==i.anisotropyTexture&&s.push(r.assignTexture(t,"anisotropyMap",i.anisotropyTexture)),Promise.all(s)}}class D{constructor(e){this.parser=e,this.name=p.KHR_TEXTURE_BASISU}loadTexture(e){let t=this.parser,r=t.json,n=r.textures[e];if(!n.extensions||!n.extensions[this.name])return null;let s=n.extensions[this.name],i=t.options.ktx2Loader;if(!i)if(!(r.extensionsRequired&&r.extensionsRequired.indexOf(this.name)>=0))return null;else throw Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return t.loadTextureImage(e,s.source,i)}}class T{constructor(e){this.parser=e,this.name=p.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,r=this.parser,n=r.json,s=n.textures[e];if(!s.extensions||!s.extensions[t])return null;let i=s.extensions[t],o=n.images[i.source],a=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(a=e)}return this.detectSupport().then(function(s){if(s)return r.loadTextureImage(e,i.source,a);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}}class H{constructor(e){this.parser=e,this.name=p.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,r=this.parser,n=r.json,s=n.textures[e];if(!s.extensions||!s.extensions[t])return null;let i=s.extensions[t],o=n.images[i.source],a=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(a=e)}return this.detectSupport().then(function(s){if(s)return r.loadTextureImage(e,i.source,a);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}}class w{constructor(e){this.name=p.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,r=t.bufferViews[e];if(!r.extensions||!r.extensions[this.name])return null;{let e=r.extensions[this.name],n=this.parser.getDependency("buffer",e.buffer),s=this.parser.options.meshoptDecoder;if(!s||!s.supported)if(!(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0))return null;else throw Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return n.then(function(t){let r=e.byteOffset||0,n=e.byteLength||0,i=e.count,o=e.byteStride,a=new Uint8Array(t,r,n);return s.decodeGltfBufferAsync?s.decodeGltfBufferAsync(i,o,a,e.mode,e.filter).then(function(e){return e.buffer}):s.ready.then(function(){let t=new ArrayBuffer(i*o);return s.decodeGltfBuffer(new Uint8Array(t),i,o,a,e.mode,e.filter),t})})}}}class x{constructor(e){this.name=p.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,r=t.nodes[e];if(!r.extensions||!r.extensions[this.name]||void 0===r.mesh)return null;for(let e of t.meshes[r.mesh].primitives)if(e.mode!==K.TRIANGLES&&e.mode!==K.TRIANGLE_STRIP&&e.mode!==K.TRIANGLE_FAN&&void 0!==e.mode)return null;let n=r.extensions[this.name].attributes,i=[],o={};for(let e in n)i.push(this.parser.getDependency("accessor",n[e]).then(t=>(o[e]=t,o[e])));return i.length<1?null:(i.push(this.parser.createNodeMesh(e)),Promise.all(i).then(e=>{let t=e.pop(),r=t.isGroup?t.children:[t],n=e[0].count,i=[];for(let e of r){let t=new s.kn4,r=new s.Pq0,a=new s.PTz,l=new s.Pq0(1,1,1),u=new s.ZLX(e.geometry,e.material,n);for(let e=0;e<n;e++)o.TRANSLATION&&r.fromBufferAttribute(o.TRANSLATION,e),o.ROTATION&&a.fromBufferAttribute(o.ROTATION,e),o.SCALE&&l.fromBufferAttribute(o.SCALE,e),u.setMatrixAt(e,t.compose(r,a,l));for(let t in o)if("_COLOR_0"===t){let e=o[t];u.instanceColor=new s.uWO(e.array,e.itemSize,e.normalized)}else"TRANSLATION"!==t&&"ROTATION"!==t&&"SCALE"!==t&&e.geometry.setAttribute(t,o[t]);s.B69.prototype.copy.call(u,e),this.parser.assignFinalMaterial(u),i.push(u)}return t.isGroup?(t.clear(),t.add(...i),t):i[0]}))}}let P="glTF",S={JSON:0x4e4f534a,BIN:5130562};class O{constructor(e){this.name=p.KHR_BINARY_GLTF,this.content=null,this.body=null;let t=new DataView(e,0,12);if(this.header={magic:c(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==P)throw Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw Error("THREE.GLTFLoader: Legacy binary file detected.");let r=this.header.length-12,n=new DataView(e,12),s=0;for(;s<r;){let t=n.getUint32(s,!0);s+=4;let r=n.getUint32(s,!0);if(s+=4,r===S.JSON){let r=new Uint8Array(e,12+s,t);this.content=c(r)}else if(r===S.BIN){let r=12+s;this.body=e.slice(r,r+t)}s+=t}if(null===this.content)throw Error("THREE.GLTFLoader: JSON content not found.")}}class J{constructor(e,t){if(!t)throw Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=p.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){let r=this.json,n=this.dracoLoader,s=e.extensions[this.name].bufferView,i=e.extensions[this.name].attributes,o={},a={},l={};for(let e in i)o[q[e]||e.toLowerCase()]=i[e];for(let t in e.attributes){let n=q[t]||t.toLowerCase();if(void 0!==i[t]){let s=r.accessors[e.attributes[t]],i=_[s.componentType];l[n]=i.name,a[n]=!0===s.normalized}}return t.getDependency("bufferView",s).then(function(e){return new Promise(function(t,r){n.decodeDracoFile(e,function(e){for(let t in e.attributes){let r=e.attributes[t],n=a[t];void 0!==n&&(r.normalized=n)}t(e)},o,l,d,r)})})}}class L{constructor(){this.name=p.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(void 0===t.texCoord||t.texCoord===e.channel)&&void 0===t.offset&&void 0===t.rotation&&void 0===t.scale||(e=e.clone(),void 0!==t.texCoord&&(e.channel=t.texCoord),void 0!==t.offset&&e.offset.fromArray(t.offset),void 0!==t.rotation&&(e.rotation=t.rotation),void 0!==t.scale&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class U{constructor(){this.name=p.KHR_MESH_QUANTIZATION}}class j extends s.lGw{constructor(e,t,r,n){super(e,t,r,n)}copySampleValue_(e){let t=this.resultBuffer,r=this.sampleValues,n=this.valueSize,s=e*n*3+n;for(let e=0;e!==n;e++)t[e]=r[s+e];return t}interpolate_(e,t,r,n){let s=this.resultBuffer,i=this.sampleValues,o=this.valueSize,a=2*o,l=3*o,u=n-t,c=(r-t)/u,h=c*c,d=h*c,A=e*l,f=A-l,p=-2*d+3*h,B=d-h,m=1-p,C=B-h+c;for(let e=0;e!==o;e++){let t=i[f+e+o],r=i[f+e+a]*u,n=i[A+e+o],l=i[A+e]*u;s[e]=m*t+C*r+p*n+B*l}return s}}let Q=new s.PTz;class k extends j{interpolate_(e,t,r,n){let s=super.interpolate_(e,t,r,n);return Q.fromArray(s).normalize().toArray(s),s}}let K={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},_={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},N={9728:s.hxR,9729:s.k6q,9984:s.pHI,9985:s.kRr,9986:s.Cfg,9987:s.$_I},X={33071:s.ghU,33648:s.kTW,10497:s.GJx},Y={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},q={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",...u>=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Z={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},W={CUBICSPLINE:void 0,LINEAR:s.PJ3,STEP:s.ljd},V={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function z(e,t,r){for(let n in r.extensions)void 0===e[n]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[n]=r.extensions[n])}function $(e,t){void 0!==t.extras&&("object"==typeof t.extras?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function ee(e){let t="",r=Object.keys(e).sort();for(let n=0,s=r.length;n<s;n++)t+=r[n]+":"+e[r[n]]+";";return t}function et(e){switch(e){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}let er=new s.kn4;class en{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new f,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,n=!1,i=-1;"undefined"!=typeof navigator&&void 0!==navigator.userAgent&&(r=!0===/^((?!chrome|android).)*safari/i.test(navigator.userAgent),i=(n=navigator.userAgent.indexOf("Firefox")>-1)?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||r||n&&i<98?this.textureLoader=new s.Tap(this.options.manager):this.textureLoader=new s.Kzg(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new s.Y9S(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let r=this,n=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(t){let i={scene:t[0][n.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:n.asset,parser:r,userData:{}};return z(s,i,n),$(i,n),Promise.all(r._invokeAll(function(e){return e.afterRoot&&e.afterRoot(i)})).then(function(){for(let e of i.scenes)e.updateMatrixWorld();e(i)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],r=this.json.meshes||[];for(let r=0,n=t.length;r<n;r++){let n=t[r].joints;for(let t=0,r=n.length;t<r;t++)e[n[t]].isBone=!0}for(let t=0,n=e.length;t<n;t++){let n=e[t];void 0!==n.mesh&&(this._addNodeRef(this.meshCache,n.mesh),void 0!==n.skin&&(r[n.mesh].isSkinnedMesh=!0)),void 0!==n.camera&&this._addNodeRef(this.cameraCache,n.camera)}}_addNodeRef(e,t){void 0!==t&&(void 0===e.refs[t]&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,r){if(e.refs[t]<=1)return r;let n=r.clone(),s=(e,t)=>{let r=this.associations.get(e);for(let[n,i]of(null!=r&&this.associations.set(t,r),e.children.entries()))s(i,t.children[n])};return s(r,n),n.name+="_instance_"+e.uses[t]++,n}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let r=0;r<t.length;r++){let n=e(t[r]);if(n)return n}return null}_invokeAll(e){let t=Object.values(this.plugins);t.unshift(this);let r=[];for(let n=0;n<t.length;n++){let s=e(t[n]);s&&r.push(s)}return r}getDependency(e,t){let r=e+":"+t,n=this.cache.get(r);if(!n){switch(e){case"scene":n=this.loadScene(t);break;case"node":n=this._invokeOne(function(e){return e.loadNode&&e.loadNode(t)});break;case"mesh":n=this._invokeOne(function(e){return e.loadMesh&&e.loadMesh(t)});break;case"accessor":n=this.loadAccessor(t);break;case"bufferView":n=this._invokeOne(function(e){return e.loadBufferView&&e.loadBufferView(t)});break;case"buffer":n=this.loadBuffer(t);break;case"material":n=this._invokeOne(function(e){return e.loadMaterial&&e.loadMaterial(t)});break;case"texture":n=this._invokeOne(function(e){return e.loadTexture&&e.loadTexture(t)});break;case"skin":n=this.loadSkin(t);break;case"animation":n=this._invokeOne(function(e){return e.loadAnimation&&e.loadAnimation(t)});break;case"camera":n=this.loadCamera(t);break;default:if(!(n=this._invokeOne(function(r){return r!=this&&r.getDependency&&r.getDependency(e,t)})))throw Error("Unknown type: "+e)}this.cache.add(r,n)}return n}getDependencies(e){let t=this.cache.get(e);if(!t){let r=this;t=Promise.all((this.json[e+("mesh"===e?"es":"s")]||[]).map(function(t,n){return r.getDependency(e,n)})),this.cache.add(e,t)}return t}loadBuffer(e){let t=this.json.buffers[e],r=this.fileLoader;if(t.type&&"arraybuffer"!==t.type)throw Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(void 0===t.uri&&0===e)return Promise.resolve(this.extensions[p.KHR_BINARY_GLTF].body);let n=this.options;return new Promise(function(e,i){r.load(s.r6x.resolveURL(t.uri,n.path),e,void 0,function(){i(Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){let t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(e){let r=t.byteLength||0,n=t.byteOffset||0;return e.slice(n,n+r)})}loadAccessor(e){let t=this,r=this.json,n=this.json.accessors[e];if(void 0===n.bufferView&&void 0===n.sparse){let e=Y[n.type],t=_[n.componentType],r=!0===n.normalized,i=new t(n.count*e);return Promise.resolve(new s.THS(i,e,r))}let i=[];return void 0!==n.bufferView?i.push(this.getDependency("bufferView",n.bufferView)):i.push(null),void 0!==n.sparse&&(i.push(this.getDependency("bufferView",n.sparse.indices.bufferView)),i.push(this.getDependency("bufferView",n.sparse.values.bufferView))),Promise.all(i).then(function(e){let i,o,a=e[0],l=Y[n.type],u=_[n.componentType],c=u.BYTES_PER_ELEMENT,h=c*l,d=n.byteOffset||0,A=void 0!==n.bufferView?r.bufferViews[n.bufferView].byteStride:void 0,f=!0===n.normalized;if(A&&A!==h){let e=Math.floor(d/A),r="InterleavedBuffer:"+n.bufferView+":"+n.componentType+":"+e+":"+n.count,h=t.cache.get(r);h||(i=new u(a,e*A,n.count*A/c),h=new s.eB$(i,A/c),t.cache.add(r,h)),o=new s.eHs(h,l,d%A/c,f)}else i=null===a?new u(n.count*l):new u(a,d,n.count*l),o=new s.THS(i,l,f);if(void 0!==n.sparse){let t=Y.SCALAR,r=_[n.sparse.indices.componentType],i=n.sparse.indices.byteOffset||0,c=n.sparse.values.byteOffset||0,h=new r(e[1],i,n.sparse.count*t),d=new u(e[2],c,n.sparse.count*l);null!==a&&(o=new s.THS(o.array.slice(),o.itemSize,o.normalized));for(let e=0,t=h.length;e<t;e++){let t=h[e];if(o.setX(t,d[e*l]),l>=2&&o.setY(t,d[e*l+1]),l>=3&&o.setZ(t,d[e*l+2]),l>=4&&o.setW(t,d[e*l+3]),l>=5)throw Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return o})}loadTexture(e){let t=this.json,r=this.options,n=t.textures[e].source,s=t.images[n],i=this.textureLoader;if(s.uri){let e=r.manager.getHandler(s.uri);null!==e&&(i=e)}return this.loadTextureImage(e,n,i)}loadTextureImage(e,t,r){let n=this,i=this.json,o=i.textures[e],a=i.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];let u=this.loadImageSource(t,r).then(function(t){t.flipY=!1,t.name=o.name||a.name||"",""===t.name&&"string"==typeof a.uri&&!1===a.uri.startsWith("data:image/")&&(t.name=a.uri);let r=(i.samplers||{})[o.sampler]||{};return t.magFilter=N[r.magFilter]||s.k6q,t.minFilter=N[r.minFilter]||s.$_I,t.wrapS=X[r.wrapS]||s.GJx,t.wrapT=X[r.wrapT]||s.GJx,n.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){let r=this.json,n=this.options;if(void 0!==this.sourceCache[e])return this.sourceCache[e].then(e=>e.clone());let i=r.images[e],o=self.URL||self.webkitURL,a=i.uri||"",l=!1;if(void 0!==i.bufferView)a=this.getDependency("bufferView",i.bufferView).then(function(e){l=!0;let t=new Blob([e],{type:i.mimeType});return a=o.createObjectURL(t)});else if(void 0===i.uri)throw Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");let u=Promise.resolve(a).then(function(e){return new Promise(function(r,i){let o=r;!0===t.isImageBitmapLoader&&(o=function(e){let t=new s.gPd(e);t.needsUpdate=!0,r(t)}),t.load(s.r6x.resolveURL(e,n.path),o,void 0,i)})}).then(function(e){var t;return!0===l&&o.revokeObjectURL(a),$(e,i),e.userData.mimeType=i.mimeType||((t=i.uri).search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"),e}).catch(function(e){throw console.error("THREE.GLTFLoader: Couldn't load texture",a),e});return this.sourceCache[e]=u,u}assignTexture(e,t,r,n){let s=this;return this.getDependency("texture",r.index).then(function(i){if(!i)return null;if(void 0!==r.texCoord&&r.texCoord>0&&((i=i.clone()).channel=r.texCoord),s.extensions[p.KHR_TEXTURE_TRANSFORM]){let e=void 0!==r.extensions?r.extensions[p.KHR_TEXTURE_TRANSFORM]:void 0;if(e){let t=s.associations.get(i);i=s.extensions[p.KHR_TEXTURE_TRANSFORM].extendTexture(i,e),s.associations.set(i,t)}}return void 0!==n&&("number"==typeof n&&(n=3001===n?h:d),"colorSpace"in i?i.colorSpace=n:i.encoding=n===h?3001:3e3),e[t]=i,i})}assignFinalMaterial(e){let t=e.geometry,r=e.material,n=void 0===t.attributes.tangent,i=void 0!==t.attributes.color,o=void 0===t.attributes.normal;if(e.isPoints){let e="PointsMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new s.BH$,s.imn.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,t.sizeAttenuation=!1,this.cache.add(e,t)),r=t}else if(e.isLine){let e="LineBasicMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new s.mrM,s.imn.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,this.cache.add(e,t)),r=t}if(n||i||o){let e="ClonedMaterial:"+r.uuid+":";n&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),o&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=r.clone(),i&&(t.vertexColors=!0),o&&(t.flatShading=!0),n&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(r))),r=t}e.material=r}getMaterialType(){return s._4j}loadMaterial(e){let t,r=this,n=this.json,i=this.extensions,o=n.materials[e],a={},l=o.extensions||{},u=[];if(l[p.KHR_MATERIALS_UNLIT]){let e=i[p.KHR_MATERIALS_UNLIT];t=e.getMaterialType(),u.push(e.extendParams(a,o,r))}else{let n=o.pbrMetallicRoughness||{};if(a.color=new s.Q1f(1,1,1),a.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;a.color.setRGB(e[0],e[1],e[2],d),a.opacity=e[3]}void 0!==n.baseColorTexture&&u.push(r.assignTexture(a,"map",n.baseColorTexture,h)),a.metalness=void 0!==n.metallicFactor?n.metallicFactor:1,a.roughness=void 0!==n.roughnessFactor?n.roughnessFactor:1,void 0!==n.metallicRoughnessTexture&&(u.push(r.assignTexture(a,"metalnessMap",n.metallicRoughnessTexture)),u.push(r.assignTexture(a,"roughnessMap",n.metallicRoughnessTexture))),t=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,a)})))}!0===o.doubleSided&&(a.side=s.$EB);let c=o.alphaMode||V.OPAQUE;if(c===V.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,c===V.MASK&&(a.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5)),void 0!==o.normalTexture&&t!==s.V9B&&(u.push(r.assignTexture(a,"normalMap",o.normalTexture)),a.normalScale=new s.I9Y(1,1),void 0!==o.normalTexture.scale)){let e=o.normalTexture.scale;a.normalScale.set(e,e)}if(void 0!==o.occlusionTexture&&t!==s.V9B&&(u.push(r.assignTexture(a,"aoMap",o.occlusionTexture)),void 0!==o.occlusionTexture.strength&&(a.aoMapIntensity=o.occlusionTexture.strength)),void 0!==o.emissiveFactor&&t!==s.V9B){let e=o.emissiveFactor;a.emissive=new s.Q1f().setRGB(e[0],e[1],e[2],d)}return void 0!==o.emissiveTexture&&t!==s.V9B&&u.push(r.assignTexture(a,"emissiveMap",o.emissiveTexture,h)),Promise.all(u).then(function(){let n=new t(a);return o.name&&(n.name=o.name),$(n,o),r.associations.set(n,{materials:e}),o.extensions&&z(i,n,o),n})}createUniqueName(e){let t=s.Nwf.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,r=this.extensions,n=this.primitiveCache,i=[];for(let o=0,a=e.length;o<a;o++){let a=e[o],l=function(e){let t,r=e.extensions&&e.extensions[p.KHR_DRACO_MESH_COMPRESSION];if(t=r?"draco:"+r.bufferView+":"+r.indices+":"+ee(r.attributes):e.indices+":"+ee(e.attributes)+":"+e.mode,void 0!==e.targets)for(let r=0,n=e.targets.length;r<n;r++)t+=":"+ee(e.targets[r]);return t}(a),u=n[l];if(u)i.push(u.promise);else{let e;e=a.extensions&&a.extensions[p.KHR_DRACO_MESH_COMPRESSION]?function(e){return r[p.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(r){return es(r,e,t)})}(a):es(new s.LoY,a,t),n[l]={primitive:a,promise:e},i.push(e)}}return Promise.all(i)}loadMesh(e){let t=this,r=this.json,n=this.extensions,i=r.meshes[e],o=i.primitives,a=[];for(let e=0,t=o.length;e<t;e++){var u;let t=void 0===o[e].material?(void 0===(u=this.cache).DefaultMaterial&&(u.DefaultMaterial=new s._4j({color:0xffffff,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:s.hB5})),u.DefaultMaterial):this.getDependency("material",o[e].material);a.push(t)}return a.push(t.loadGeometries(o)),Promise.all(a).then(function(r){let a=r.slice(0,r.length-1),u=r[r.length-1],c=[];for(let r=0,h=u.length;r<h;r++){let h,d=u[r],A=o[r],f=a[r];if(A.mode===K.TRIANGLES||A.mode===K.TRIANGLE_STRIP||A.mode===K.TRIANGLE_FAN||void 0===A.mode)!0===(h=!0===i.isSkinnedMesh?new s.I46(d,f):new s.eaF(d,f)).isSkinnedMesh&&h.normalizeSkinWeights(),A.mode===K.TRIANGLE_STRIP?h.geometry=l(h.geometry,s.O49):A.mode===K.TRIANGLE_FAN&&(h.geometry=l(h.geometry,s.rYR));else if(A.mode===K.LINES)h=new s.DXC(d,f);else if(A.mode===K.LINE_STRIP)h=new s.N1A(d,f);else if(A.mode===K.LINE_LOOP)h=new s.FCc(d,f);else if(A.mode===K.POINTS)h=new s.ONl(d,f);else throw Error("THREE.GLTFLoader: Primitive mode unsupported: "+A.mode);Object.keys(h.geometry.morphAttributes).length>0&&function(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(let r=0,n=t.weights.length;r<n;r++)e.morphTargetInfluences[r]=t.weights[r];if(t.extras&&Array.isArray(t.extras.targetNames)){let r=t.extras.targetNames;if(e.morphTargetInfluences.length===r.length){e.morphTargetDictionary={};for(let t=0,n=r.length;t<n;t++)e.morphTargetDictionary[r[t]]=t}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}(h,i),h.name=t.createUniqueName(i.name||"mesh_"+e),$(h,i),A.extensions&&z(n,h,A),t.assignFinalMaterial(h),c.push(h)}for(let r=0,n=c.length;r<n;r++)t.associations.set(c[r],{meshes:e,primitives:r});if(1===c.length)return i.extensions&&z(n,c[0],i),c[0];let h=new s.YJl;i.extensions&&z(n,h,i),t.associations.set(h,{meshes:e});for(let e=0,t=c.length;e<t;e++)h.add(c[e]);return h})}loadCamera(e){let t,r=this.json.cameras[e],n=r[r.type];return n?("perspective"===r.type?t=new s.ubm(s.cj9.radToDeg(n.yfov),n.aspectRatio||1,n.znear||1,n.zfar||2e6):"orthographic"===r.type&&(t=new s.qUd(-n.xmag,n.xmag,n.ymag,-n.ymag,n.znear,n.zfar)),r.name&&(t.name=this.createUniqueName(r.name)),$(t,r),Promise.resolve(t)):void console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(e){let t=this.json.skins[e],r=[];for(let e=0,n=t.joints.length;e<n;e++)r.push(this._loadNodeShallow(t.joints[e]));return void 0!==t.inverseBindMatrices?r.push(this.getDependency("accessor",t.inverseBindMatrices)):r.push(null),Promise.all(r).then(function(e){let r=e.pop(),n=[],i=[];for(let o=0,a=e.length;o<a;o++){let a=e[o];if(a){n.push(a);let e=new s.kn4;null!==r&&e.fromArray(r.array,16*o),i.push(e)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[o])}return new s.EAD(n,i)})}loadAnimation(e){let t=this.json,r=this,n=t.animations[e],i=n.name?n.name:"animation_"+e,o=[],a=[],l=[],u=[],c=[];for(let e=0,t=n.channels.length;e<t;e++){let t=n.channels[e],r=n.samplers[t.sampler],s=t.target,i=s.node,h=void 0!==n.parameters?n.parameters[r.input]:r.input,d=void 0!==n.parameters?n.parameters[r.output]:r.output;void 0!==s.node&&(o.push(this.getDependency("node",i)),a.push(this.getDependency("accessor",h)),l.push(this.getDependency("accessor",d)),u.push(r),c.push(s))}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l),Promise.all(u),Promise.all(c)]).then(function(e){let t=e[0],n=e[1],o=e[2],a=e[3],l=e[4],u=[];for(let e=0,s=t.length;e<s;e++){let s=t[e],i=n[e],c=o[e],h=a[e],d=l[e];if(void 0===s)continue;s.updateMatrix&&s.updateMatrix();let A=r._createAnimationTracks(s,i,c,h,d);if(A)for(let e=0;e<A.length;e++)u.push(A[e])}return new s.tz3(i,void 0,u)})}createNodeMesh(e){let t=this.json,r=this,n=t.nodes[e];return void 0===n.mesh?null:r.getDependency("mesh",n.mesh).then(function(e){let t=r._getNodeRef(r.meshCache,n.mesh,e);return void 0!==n.weights&&t.traverse(function(e){if(e.isMesh)for(let t=0,r=n.weights.length;t<r;t++)e.morphTargetInfluences[t]=n.weights[t]}),t})}loadNode(e){let t=this.json.nodes[e],r=this._loadNodeShallow(e),n=[],s=t.children||[];for(let e=0,t=s.length;e<t;e++)n.push(this.getDependency("node",s[e]));let i=void 0===t.skin?Promise.resolve(null):this.getDependency("skin",t.skin);return Promise.all([r,Promise.all(n),i]).then(function(e){let t=e[0],r=e[1],n=e[2];null!==n&&t.traverse(function(e){e.isSkinnedMesh&&e.bind(n,er)});for(let e=0,n=r.length;e<n;e++)t.add(r[e]);return t})}_loadNodeShallow(e){let t=this.json,r=this.extensions,n=this;if(void 0!==this.nodeCache[e])return this.nodeCache[e];let i=t.nodes[e],o=i.name?n.createUniqueName(i.name):"",a=[],l=n._invokeOne(function(t){return t.createNodeMesh&&t.createNodeMesh(e)});return l&&a.push(l),void 0!==i.camera&&a.push(n.getDependency("camera",i.camera).then(function(e){return n._getNodeRef(n.cameraCache,i.camera,e)})),n._invokeAll(function(t){return t.createNodeAttachment&&t.createNodeAttachment(e)}).forEach(function(e){a.push(e)}),this.nodeCache[e]=Promise.all(a).then(function(t){let a;if((a=!0===i.isBone?new s.$Kf:t.length>1?new s.YJl:1===t.length?t[0]:new s.B69)!==t[0])for(let e=0,r=t.length;e<r;e++)a.add(t[e]);if(i.name&&(a.userData.name=i.name,a.name=o),$(a,i),i.extensions&&z(r,a,i),void 0!==i.matrix){let e=new s.kn4;e.fromArray(i.matrix),a.applyMatrix4(e)}else void 0!==i.translation&&a.position.fromArray(i.translation),void 0!==i.rotation&&a.quaternion.fromArray(i.rotation),void 0!==i.scale&&a.scale.fromArray(i.scale);return n.associations.has(a)||n.associations.set(a,{}),n.associations.get(a).nodes=e,a}),this.nodeCache[e]}loadScene(e){let t=this.extensions,r=this.json.scenes[e],n=this,i=new s.YJl;r.name&&(i.name=n.createUniqueName(r.name)),$(i,r),r.extensions&&z(t,i,r);let o=r.nodes||[],a=[];for(let e=0,t=o.length;e<t;e++)a.push(n.getDependency("node",o[e]));return Promise.all(a).then(function(e){for(let t=0,r=e.length;t<r;t++)i.add(e[t]);return n.associations=(e=>{let t=new Map;for(let[e,r]of n.associations)(e instanceof s.imn||e instanceof s.gPd)&&t.set(e,r);return e.traverse(e=>{let r=n.associations.get(e);null!=r&&t.set(e,r)}),t})(i),i})}_createAnimationTracks(e,t,r,n,i){let o,a=[],l=e.name?e.name:e.uuid,u=[];switch(Z[i.path]===Z.weights?e.traverse(function(e){e.morphTargetInfluences&&u.push(e.name?e.name:e.uuid)}):u.push(l),Z[i.path]){case Z.weights:o=s.Hit;break;case Z.rotation:o=s.MBL;break;case Z.position:case Z.scale:o=s.RiT;break;default:o=1===r.itemSize?s.Hit:s.RiT}let c=void 0!==n.interpolation?W[n.interpolation]:s.PJ3,h=this._getArrayFromAccessor(r);for(let e=0,r=u.length;e<r;e++){let r=new o(u[e]+"."+Z[i.path],t.array,h,c);"CUBICSPLINE"===n.interpolation&&this._createCubicSplineTrackInterpolant(r),a.push(r)}return a}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){let e=et(t.constructor),r=new Float32Array(t.length);for(let n=0,s=t.length;n<s;n++)r[n]=t[n]*e;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(e){return new(this instanceof s.MBL?k:j)(this.times,this.values,this.getValueSize()/3,e)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function es(e,t,r){let n=t.attributes,i=[];for(let t in n){let s=q[t]||t.toLowerCase();s in e.attributes||i.push(function(t,n){return r.getDependency("accessor",t).then(function(t){e.setAttribute(n,t)})}(n[t],s))}if(void 0!==t.indices&&!e.index){let n=r.getDependency("accessor",t.indices).then(function(t){e.setIndex(t)});i.push(n)}return $(e,t),!function(e,t,r){let n=t.attributes,i=new s.NRn;if(void 0===n.POSITION)return;{let e=r.json.accessors[n.POSITION],t=e.min,o=e.max;if(void 0===t||void 0===o)return console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(i.set(new s.Pq0(t[0],t[1],t[2]),new s.Pq0(o[0],o[1],o[2])),e.normalized){let t=et(_[e.componentType]);i.min.multiplyScalar(t),i.max.multiplyScalar(t)}}let o=t.targets;if(void 0!==o){let e=new s.Pq0,t=new s.Pq0;for(let n=0,s=o.length;n<s;n++){let s=o[n];if(void 0!==s.POSITION){let n=r.json.accessors[s.POSITION],i=n.min,o=n.max;if(void 0!==i&&void 0!==o){if(t.setX(Math.max(Math.abs(i[0]),Math.abs(o[0]))),t.setY(Math.max(Math.abs(i[1]),Math.abs(o[1]))),t.setZ(Math.max(Math.abs(i[2]),Math.abs(o[2]))),n.normalized){let e=et(_[n.componentType]);t.multiplyScalar(e)}e.max(t)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}i.expandByVector(e)}e.boundingBox=i;let a=new s.iyt;i.getCenter(a.center),a.radius=i.min.distanceTo(i.max)/2,e.boundingSphere=a}(e,t,r),Promise.all(i).then(function(){return void 0!==t.targets?function(e,t,r){let n=!1,s=!1,i=!1;for(let e=0,r=t.length;e<r;e++){let r=t[e];if(void 0!==r.POSITION&&(n=!0),void 0!==r.NORMAL&&(s=!0),void 0!==r.COLOR_0&&(i=!0),n&&s&&i)break}if(!n&&!s&&!i)return Promise.resolve(e);let o=[],a=[],l=[];for(let u=0,c=t.length;u<c;u++){let c=t[u];if(n){let t=void 0!==c.POSITION?r.getDependency("accessor",c.POSITION):e.attributes.position;o.push(t)}if(s){let t=void 0!==c.NORMAL?r.getDependency("accessor",c.NORMAL):e.attributes.normal;a.push(t)}if(i){let t=void 0!==c.COLOR_0?r.getDependency("accessor",c.COLOR_0):e.attributes.color;l.push(t)}}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l)]).then(function(t){let r=t[0],o=t[1],a=t[2];return n&&(e.morphAttributes.position=r),s&&(e.morphAttributes.normal=o),i&&(e.morphAttributes.color=a),e.morphTargetsRelative=!0,e})}(e,t.targets,r):e})}var ei=r(99);let eo=null,ea="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function el(e=!0,t=!0,r){return s=>{r&&r(s),e&&(eo||(eo=new o),eo.setDecoderPath("string"==typeof e?e:ea),s.setDRACOLoader(eo)),t&&s.setMeshoptDecoder((()=>{let e;if(n)return n;let t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if("object"!=typeof WebAssembly)return{supported:!1};let s="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB";WebAssembly.validate(t)&&(s="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");let i=WebAssembly.instantiate(function(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r){let n=e.charCodeAt(r);t[r]=n>96?n-71:n>64?n-65:n>47?n+4:n>46?63:62}let n=0;for(let s=0;s<e.length;++s)t[n++]=t[s]<60?r[t[s]]:(t[s]-60)*64+t[++s];return t.buffer.slice(0,n)}(s),{}).then(t=>{(e=t.instance).exports.__wasm_call_ctors()});function o(t,r,n,s,i,o){let a=e.exports.sbrk,l=n+3&-4,u=a(l*s),c=a(i.length),h=new Uint8Array(e.exports.memory.buffer);h.set(i,c);let d=t(u,n,s,c,i.length);if(0===d&&o&&o(u,l,s),r.set(h.subarray(u,u+n*s)),a(u-a(0)),0!==d)throw Error(`Malformed buffer data: ${d}`)}let a={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},l={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return n={ready:i,supported:!0,decodeVertexBuffer(t,r,n,s,i){o(e.exports.meshopt_decodeVertexBuffer,t,r,n,s,e.exports[a[i]])},decodeIndexBuffer(t,r,n,s){o(e.exports.meshopt_decodeIndexBuffer,t,r,n,s)},decodeIndexSequence(t,r,n,s){o(e.exports.meshopt_decodeIndexSequence,t,r,n,s)},decodeGltfBuffer(t,r,n,s,i,u){o(e.exports[l[i]],t,r,n,s,e.exports[a[u]])}}})())}}let eu=(e,t,r,n)=>(0,ei.G)(A,e,el(t,r,n));eu.preload=(e,t,r,n)=>ei.G.preload(A,e,el(t,r,n)),eu.clear=e=>ei.G.clear(A,e),eu.setDecoderPath=e=>{ea=e}},1975:(e,t)=>{"use strict";t.ConcurrentRoot=1,t.ContinuousEventPriority=8,t.DefaultEventPriority=32,t.DiscreteEventPriority=2},2162:(e,t,r)=>{"use strict";r.d(t,{k:()=>i});var n=r(7126),s=r(4049),i=class{#l;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,s.gn)(this.gcTime)&&(this.#l=n.zs.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(s.S$?1/0:3e5))}clearGcTimeout(){this.#l&&(n.zs.clearTimeout(this.#l),this.#l=void 0)}}},2454:(e,t,r)=>{"use strict";r.d(t,{I:()=>b});var n=r(6195),s=r(4268),i=r(1668),o=r(8445),a=r(3515),l=r(4049),u=r(7126),c=class extends o.Q{constructor(e,t){super(),this.options=t,this.#n=e,this.#u=null,this.#c=(0,a.T)(),this.bindMethods(),this.setOptions(t)}#n;#h=void 0;#d=void 0;#A=void 0;#f;#p;#c;#u;#B;#m;#C;#y;#b;#g;#v=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#h.addObserver(this),h(this.#h,this.options)?this.#E():this.updateResult(),this.#M())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return d(this.#h,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return d(this.#h,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#F(),this.#R(),this.#h.removeObserver(this)}setOptions(e){let t=this.options,r=this.#h;if(this.options=this.#n.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,l.Eh)(this.options.enabled,this.#h))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#I(),this.#h.setOptions(this.options),t._defaulted&&!(0,l.f8)(this.options,t)&&this.#n.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#h,observer:this});let n=this.hasListeners();n&&A(this.#h,r,this.options,t)&&this.#E(),this.updateResult(),n&&(this.#h!==r||(0,l.Eh)(this.options.enabled,this.#h)!==(0,l.Eh)(t.enabled,this.#h)||(0,l.d2)(this.options.staleTime,this.#h)!==(0,l.d2)(t.staleTime,this.#h))&&this.#G();let s=this.#D();n&&(this.#h!==r||(0,l.Eh)(this.options.enabled,this.#h)!==(0,l.Eh)(t.enabled,this.#h)||s!==this.#g)&&this.#T(s)}getOptimisticResult(e){var t,r;let n=this.#n.getQueryCache().build(this.#n,e),s=this.createResult(n,e);return t=this,r=s,(0,l.f8)(t.getCurrentResult(),r)||(this.#A=s,this.#p=this.options,this.#f=this.#h.state),s}getCurrentResult(){return this.#A}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#c.status||this.#c.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#v.add(e)}getCurrentQuery(){return this.#h}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#n.defaultQueryOptions(e),r=this.#n.getQueryCache().build(this.#n,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#E({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#A))}#E(e){this.#I();let t=this.#h.fetch(this.options,e);return e?.throwOnError||(t=t.catch(l.lQ)),t}#G(){this.#F();let e=(0,l.d2)(this.options.staleTime,this.#h);if(l.S$||this.#A.isStale||!(0,l.gn)(e))return;let t=(0,l.j3)(this.#A.dataUpdatedAt,e);this.#y=u.zs.setTimeout(()=>{this.#A.isStale||this.updateResult()},t+1)}#D(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#h):this.options.refetchInterval)??!1}#T(e){this.#R(),this.#g=e,!l.S$&&!1!==(0,l.Eh)(this.options.enabled,this.#h)&&(0,l.gn)(this.#g)&&0!==this.#g&&(this.#b=u.zs.setInterval(()=>{(this.options.refetchIntervalInBackground||n.m.isFocused())&&this.#E()},this.#g))}#M(){this.#G(),this.#T(this.#D())}#F(){this.#y&&(u.zs.clearTimeout(this.#y),this.#y=void 0)}#R(){this.#b&&(u.zs.clearInterval(this.#b),this.#b=void 0)}createResult(e,t){let r,n=this.#h,s=this.options,o=this.#A,u=this.#f,c=this.#p,d=e!==n?e.state:this.#d,{state:p}=e,B={...p},m=!1;if(t._optimisticResults){let r=this.hasListeners(),o=!r&&h(e,t),a=r&&A(e,n,t,s);(o||a)&&(B={...B,...(0,i.k)(p.data,e.options)}),"isRestoring"===t._optimisticResults&&(B.fetchStatus="idle")}let{error:C,errorUpdatedAt:y,status:b}=B;r=B.data;let g=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===b){let e;o?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=o.data,g=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#C?.state.data,this.#C):t.placeholderData,void 0!==e&&(b="success",r=(0,l.pl)(o?.data,e,t),m=!0)}if(t.select&&void 0!==r&&!g)if(o&&r===u?.data&&t.select===this.#B)r=this.#m;else try{this.#B=t.select,r=t.select(r),r=(0,l.pl)(o?.data,r,t),this.#m=r,this.#u=null}catch(e){this.#u=e}this.#u&&(C=this.#u,r=this.#m,y=Date.now(),b="error");let v="fetching"===B.fetchStatus,E="pending"===b,M="error"===b,F=E&&v,R=void 0!==r,I={status:b,fetchStatus:B.fetchStatus,isPending:E,isSuccess:"success"===b,isError:M,isInitialLoading:F,isLoading:F,data:r,dataUpdatedAt:B.dataUpdatedAt,error:C,errorUpdatedAt:y,failureCount:B.fetchFailureCount,failureReason:B.fetchFailureReason,errorUpdateCount:B.errorUpdateCount,isFetched:B.dataUpdateCount>0||B.errorUpdateCount>0,isFetchedAfterMount:B.dataUpdateCount>d.dataUpdateCount||B.errorUpdateCount>d.errorUpdateCount,isFetching:v,isRefetching:v&&!E,isLoadingError:M&&!R,isPaused:"paused"===B.fetchStatus,isPlaceholderData:m,isRefetchError:M&&R,isStale:f(e,t),refetch:this.refetch,promise:this.#c,isEnabled:!1!==(0,l.Eh)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=e=>{"error"===I.status?e.reject(I.error):void 0!==I.data&&e.resolve(I.data)},r=()=>{t(this.#c=I.promise=(0,a.T)())},s=this.#c;switch(s.status){case"pending":e.queryHash===n.queryHash&&t(s);break;case"fulfilled":("error"===I.status||I.data!==s.value)&&r();break;case"rejected":("error"!==I.status||I.error!==s.reason)&&r()}}return I}updateResult(){let e=this.#A,t=this.createResult(this.#h,this.options);if(this.#f=this.#h.state,this.#p=this.options,void 0!==this.#f.data&&(this.#C=this.#h),(0,l.f8)(t,e))return;this.#A=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#v.size)return!0;let n=new Set(r??this.#v);return this.options.throwOnError&&n.add("error"),Object.keys(this.#A).some(t=>this.#A[t]!==e[t]&&n.has(t))};this.#H({listeners:r()})}#I(){let e=this.#n.getQueryCache().build(this.#n,this.options);if(e===this.#h)return;let t=this.#h;this.#h=e,this.#d=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#M()}#H(e){s.jG.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#A)}),this.#n.getQueryCache().notify({query:this.#h,type:"observerResultsUpdated"})})}};function h(e,t){return!1!==(0,l.Eh)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&d(e,t,t.refetchOnMount)}function d(e,t,r){if(!1!==(0,l.Eh)(t.enabled,e)&&"static"!==(0,l.d2)(t.staleTime,e)){let n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&f(e,t)}return!1}function A(e,t,r,n){return(e!==t||!1===(0,l.Eh)(n.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&f(e,r)}function f(e,t){return!1!==(0,l.Eh)(t.enabled,e)&&e.isStaleByTime((0,l.d2)(t.staleTime,e))}var p=r(2115),B=r(9776);r(5155);var m=p.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),C=p.createContext(!1);C.Provider;var y=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function b(e,t){return function(e,t,r){var n,i,o,a,u;let c=p.useContext(C),h=p.useContext(m),d=(0,B.jE)(r),A=d.defaultQueryOptions(e);if(null==(i=d.getDefaultOptions().queries)||null==(n=i._experimental_beforeQuery)||n.call(i,A),A._optimisticResults=c?"isRestoring":"optimistic",A.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=A.staleTime;A.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof A.gcTime&&(A.gcTime=Math.max(A.gcTime,1e3))}(A.suspense||A.throwOnError||A.experimental_prefetchInRender)&&!h.isReset()&&(A.retryOnMount=!1),p.useEffect(()=>{h.clearReset()},[h]);let f=!d.getQueryCache().get(A.queryHash),[b]=p.useState(()=>new t(d,A)),g=b.getOptimisticResult(A),v=!c&&!1!==e.subscribed;if(p.useSyncExternalStore(p.useCallback(e=>{let t=v?b.subscribe(s.jG.batchCalls(e)):l.lQ;return b.updateResult(),t},[b,v]),()=>b.getCurrentResult(),()=>b.getCurrentResult()),p.useEffect(()=>{b.setOptions(A)},[A,b]),A?.suspense&&g.isPending)throw y(A,b,h);if((e=>{let{result:t,errorResetBoundary:r,throwOnError:n,query:s,suspense:i}=e;return t.isError&&!r.isReset()&&!t.isFetching&&s&&(i&&void 0===t.data||(0,l.GU)(n,[t.error,s]))})({result:g,errorResetBoundary:h,throwOnError:A.throwOnError,query:d.getQueryCache().get(A.queryHash),suspense:A.suspense}))throw g.error;if(null==(a=d.getDefaultOptions().queries)||null==(o=a._experimental_afterQuery)||o.call(a,A,g),A.experimental_prefetchInRender&&!l.S$&&g.isLoading&&g.isFetching&&!c){let e=f?y(A,b,h):null==(u=d.getQueryCache().get(A.queryHash))?void 0:u.promise;null==e||e.catch(l.lQ).finally(()=>{b.updateResult()})}return A.notifyOnChangeProps?g:b.trackResult(g)}(e,c,t)}},3049:(e,t,r)=>{"use strict";r.d(t,{II:()=>c,cc:()=>u,v_:()=>l});var n=r(6195),s=r(3122),i=r(3515),o=r(4049);function a(e){return Math.min(1e3*2**e,3e4)}function l(e){return(e??"online")!=="online"||s.t.isOnline()}var u=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function c(e){let t,r=!1,c=0,h=(0,i.T)(),d=()=>n.m.isFocused()&&("always"===e.networkMode||s.t.isOnline())&&e.canRun(),A=()=>l(e.networkMode)&&e.canRun(),f=e=>{"pending"===h.status&&(t?.(),h.resolve(e))},p=e=>{"pending"===h.status&&(t?.(),h.reject(e))},B=()=>new Promise(r=>{t=e=>{("pending"!==h.status||d())&&r(e)},e.onPause?.()}).then(()=>{t=void 0,"pending"===h.status&&e.onContinue?.()}),m=()=>{let t;if("pending"!==h.status)return;let n=0===c?e.initialPromise:void 0;try{t=n??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(f).catch(t=>{if("pending"!==h.status)return;let n=e.retry??3*!o.S$,s=e.retryDelay??a,i="function"==typeof s?s(c,t):s,l=!0===n||"number"==typeof n&&c<n||"function"==typeof n&&n(c,t);if(r||!l)return void p(t);c++,e.onFail?.(c,t),(0,o.yy)(i).then(()=>d()?void 0:B()).then(()=>{r?p(t):m()})})};return{promise:h,status:()=>h.status,cancel:t=>{if("pending"===h.status){let r=new u(t);p(r),e.onCancel?.(r)}},continue:()=>(t?.(),h),cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1},canStart:A,start:()=>(A()?m():B().then(m),h)}}},3122:(e,t,r)=>{"use strict";r.d(t,{t:()=>i});var n=r(8445),s=r(4049),i=new class extends n.Q{#w=!0;#x;#P;constructor(){super(),this.#P=e=>{if(!s.S$&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#x||this.setEventListener(this.#P)}onUnsubscribe(){this.hasListeners()||(this.#x?.(),this.#x=void 0)}setEventListener(e){this.#P=e,this.#x?.(),this.#x=e(this.setOnline.bind(this))}setOnline(e){this.#w!==e&&(this.#w=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#w}}},3515:(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});function n(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{n({status:"fulfilled",value:t}),e(t)},r.reject=e=>{n({status:"rejected",reason:e}),t(e)},r}r.d(t,{T:()=>n})},3522:(e,t,r)=>{"use strict";r.d(t,{E:()=>m});var n=r(4049),s=r(1668),i=r(4268),o=r(8445),a=class extends o.Q{constructor(e={}){super(),this.config=e,this.#S=new Map}#S;build(e,t,r){let i=t.queryKey,o=t.queryHash??(0,n.F$)(i,t),a=this.get(o);return a||(a=new s.X({client:e,queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){this.#S.has(e.queryHash)||(this.#S.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#S.get(e.queryHash);t&&(e.destroy(),t===e&&this.#S.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){i.jG.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#S.get(e)}getAll(){return[...this.#S.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.MK)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n.MK)(e,t)):t}notify(e){i.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){i.jG.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){i.jG.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=r(2162),u=r(3049),c=class extends l.k{#n;#O;#J;#s;constructor(e){super(),this.#n=e.client,this.mutationId=e.mutationId,this.#J=e.mutationCache,this.#O=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#O.includes(e)||(this.#O.push(e),this.clearGcTimeout(),this.#J.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#O=this.#O.filter(t=>t!==e),this.scheduleGc(),this.#J.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#O.length||("pending"===this.state.status?this.scheduleGc():this.#J.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#a({type:"continue"})},r={client:this.#n,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=(0,u.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#J.canRun(this)});let n="pending"===this.state.status,s=!this.#s.canStart();try{if(n)t();else{this.#a({type:"pending",variables:e,isPaused:s}),await this.#J.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#a({type:"pending",context:t,variables:e,isPaused:s})}let i=await this.#s.start();return await this.#J.config.onSuccess?.(i,e,this.state.context,this,r),await this.options.onSuccess?.(i,e,this.state.context,r),await this.#J.config.onSettled?.(i,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(i,null,e,this.state.context,r),this.#a({type:"success",data:i}),i}catch(t){try{throw await this.#J.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#J.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#a({type:"error",error:t})}}finally{this.#J.runNext(this)}}#a(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),i.jG.batch(()=>{this.#O.forEach(t=>{t.onMutationUpdate(e)}),this.#J.notify({mutation:this,type:"updated",action:e})})}},h=class extends o.Q{constructor(e={}){super(),this.config=e,this.#L=new Set,this.#U=new Map,this.#j=0}#L;#U;#j;build(e,t,r){let n=new c({client:e,mutationCache:this,mutationId:++this.#j,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#L.add(e);let t=d(e);if("string"==typeof t){let r=this.#U.get(t);r?r.push(e):this.#U.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#L.delete(e)){let t=d(e);if("string"==typeof t){let r=this.#U.get(t);if(r)if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#U.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=d(e);if("string"!=typeof t)return!0;{let r=this.#U.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=d(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#U.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){i.jG.batch(()=>{this.#L.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#L.clear(),this.#U.clear()})}getAll(){return Array.from(this.#L)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.nJ)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.nJ)(e,t))}notify(e){i.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return i.jG.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.lQ))))}};function d(e){return e.options.scope?.id}var A=r(6195),f=r(3122);function p(e){return{onFetch:(t,r)=>{let s=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],a=t.state.data?.pageParams||[],l={pages:[],pageParams:[]},u=0,c=async()=>{let r=!1,c=(0,n.ZM)(t.options,t.fetchOptions),h=async(e,s,i)=>{if(r)return Promise.reject();if(null==s&&e.pages.length)return Promise.resolve(e);let o=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:s,direction:i?"backward":"forward",meta:t.options.meta};return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)}),e})(),a=await c(o),{maxPages:l}=t.options,u=i?n.ZZ:n.y9;return{pages:u(e.pages,a,l),pageParams:u(e.pageParams,s,l)}};if(i&&o.length){let e="backward"===i,t={pages:o,pageParams:a},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:B)(s,t);l=await h(t,r,e)}else{let t=e??o.length;do{let e=0===u?a[0]??s.initialPageParam:B(s,l);if(u>0&&null==e)break;l=await h(l,e),u++}while(u<t)}return l};t.options.persister?t.fetchFn=()=>t.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=c}}}function B(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var m=class{#Q;#J;#i;#k;#K;#_;#N;#X;constructor(e={}){this.#Q=e.queryCache||new a,this.#J=e.mutationCache||new h,this.#i=e.defaultOptions||{},this.#k=new Map,this.#K=new Map,this.#_=0}mount(){this.#_++,1===this.#_&&(this.#N=A.m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#Q.onFocus())}),this.#X=f.t.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#Q.onOnline())}))}unmount(){this.#_--,0===this.#_&&(this.#N?.(),this.#N=void 0,this.#X?.(),this.#X=void 0)}isFetching(e){return this.#Q.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#J.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#Q.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#Q.build(this,t),s=r.state.data;return void 0===s?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.d2)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return this.#Q.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let s=this.defaultQueryOptions({queryKey:e}),i=this.#Q.get(s.queryHash),o=i?.state.data,a=(0,n.Zw)(t,o);if(void 0!==a)return this.#Q.build(this,s).setData(a,{...r,manual:!0})}setQueriesData(e,t,r){return i.jG.batch(()=>this.#Q.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#Q.get(t.queryHash)?.state}removeQueries(e){let t=this.#Q;i.jG.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#Q;return i.jG.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(i.jG.batch(()=>this.#Q.findAll(e).map(e=>e.cancel(r)))).then(n.lQ).catch(n.lQ)}invalidateQueries(e,t={}){return i.jG.batch(()=>(this.#Q.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(i.jG.batch(()=>this.#Q.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.lQ)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.lQ)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#Q.build(this,t);return r.isStaleByTime((0,n.d2)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.lQ).catch(n.lQ)}fetchInfiniteQuery(e){return e.behavior=p(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.lQ).catch(n.lQ)}ensureInfiniteQueryData(e){return e.behavior=p(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return f.t.isOnline()?this.#J.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#Q}getMutationCache(){return this.#J}getDefaultOptions(){return this.#i}setDefaultOptions(e){this.#i=e}setQueryDefaults(e,t){this.#k.set((0,n.EN)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#k.values()],r={};return t.forEach(t=>{(0,n.Cp)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#K.set((0,n.EN)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#K.values()],r={};return t.forEach(t=>{(0,n.Cp)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#i.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.F$)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.hT&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#i.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#Q.clear(),this.#J.clear()}}},3617:(e,t,r)=>{"use strict";r.d(t,{o:()=>s});var n=r(5339);class s{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}new n.qUd(-1,1,1,-1,0,1);class i extends n.LoY{constructor(){super(),this.setAttribute("position",new n.qtW([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new n.qtW([0,2,0,0,2,0],2))}}new i},3646:(e,t,r)=>{"use strict";let n,s;r.d(t,{E:()=>y});var i=r(8945),o=r(2115),a=r(2669),l=r(5339),u=r(99);let c=new l.Pq0,h=new l.Pq0,d=new l.Pq0,A=new l.I9Y;function f(e,t,r){let n=c.setFromMatrixPosition(e.matrixWorld);n.project(t);let s=r.width/2,i=r.height/2;return[n.x*s+s,-(n.y*i)+i]}let p=e=>1e-10>Math.abs(e)?0:e;function B(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}let m=(n=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>B(e,n)),C=(s=e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1],(e,t)=>B(e,s(t),"translate(-50%,-50%)")),y=o.forwardRef(({children:e,eps:t=.001,style:r,className:n,prepend:s,center:B,fullscreen:y,portal:b,distanceFactor:g,sprite:v=!1,transform:E=!1,occlude:M,onOcclude:F,castShadow:R,receiveShadow:I,material:G,geometry:D,zIndexRange:T=[0x1000037,0],calculatePosition:H=f,as:w="div",wrapperClass:x,pointerEvents:P="auto",...S},O)=>{let{gl:J,camera:L,scene:U,size:j,raycaster:Q,events:k,viewport:K}=(0,u.C)(),[_]=o.useState(()=>document.createElement(w)),N=o.useRef(null),X=o.useRef(null),Y=o.useRef(0),q=o.useRef([0,0]),Z=o.useRef(null),W=o.useRef(null),V=(null==b?void 0:b.current)||k.connected||J.domElement.parentNode,z=o.useRef(null),$=o.useRef(!1),ee=o.useMemo(()=>M&&"blending"!==M||Array.isArray(M)&&M.length&&function(e){return e&&"object"==typeof e&&"current"in e}(M[0]),[M]);o.useLayoutEffect(()=>{let e=J.domElement;M&&"blending"===M?(e.style.zIndex=`${Math.floor(T[0]/2)}`,e.style.position="absolute",e.style.pointerEvents="none"):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[M]),o.useLayoutEffect(()=>{if(X.current){let e=N.current=a.createRoot(_);if(U.updateMatrixWorld(),E)_.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{let e=H(X.current,L,j);_.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return V&&(s?V.prepend(_):V.appendChild(_)),()=>{V&&V.removeChild(_),e.unmount()}}},[V,E]),o.useLayoutEffect(()=>{x&&(_.className=x)},[x]);let et=o.useMemo(()=>E?{position:"absolute",top:0,left:0,width:j.width,height:j.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:B?"translate3d(-50%,-50%,0)":"none",...y&&{top:-j.height/2,left:-j.width/2,width:j.width,height:j.height},...r},[r,B,y,j,E]),er=o.useMemo(()=>({position:"absolute",pointerEvents:P}),[P]);o.useLayoutEffect(()=>{var t,s;$.current=!1,E?null==(t=N.current)||t.render(o.createElement("div",{ref:Z,style:et},o.createElement("div",{ref:W,style:er},o.createElement("div",{ref:O,className:n,style:r,children:e})))):null==(s=N.current)||s.render(o.createElement("div",{ref:O,style:et,className:n,children:e}))});let en=o.useRef(!0);(0,u.D)(e=>{if(X.current){L.updateMatrixWorld(),X.current.updateWorldMatrix(!0,!1);let e=E?q.current:H(X.current,L,j);if(E||Math.abs(Y.current-L.zoom)>t||Math.abs(q.current[0]-e[0])>t||Math.abs(q.current[1]-e[1])>t){let t=function(e,t){let r=c.setFromMatrixPosition(e.matrixWorld),n=h.setFromMatrixPosition(t.matrixWorld),s=r.sub(n),i=t.getWorldDirection(d);return s.angleTo(i)>Math.PI/2}(X.current,L),r=!1;ee&&(Array.isArray(M)?r=M.map(e=>e.current):"blending"!==M&&(r=[U]));let n=en.current;r?en.current=function(e,t,r,n){let s=c.setFromMatrixPosition(e.matrixWorld),i=s.clone();i.project(t),A.set(i.x,i.y),r.setFromCamera(A,t);let o=r.intersectObjects(n,!0);if(o.length){let e=o[0].distance;return s.distanceTo(r.ray.origin)<e}return!0}(X.current,L,Q,r)&&!t:en.current=!t,n!==en.current&&(F?F(!en.current):_.style.display=en.current?"block":"none");let s=Math.floor(T[0]/2),i=M?ee?[T[0],s]:[s-1,0]:T;if(_.style.zIndex=`${function(e,t,r){if(t instanceof l.ubm||t instanceof l.qUd){let n=c.setFromMatrixPosition(e.matrixWorld),s=h.setFromMatrixPosition(t.matrixWorld),i=n.distanceTo(s),o=(r[1]-r[0])/(t.far-t.near),a=r[1]-o*t.far;return Math.round(o*i+a)}}(X.current,L,i)}`,E){let[e,t]=[j.width/2,j.height/2],r=L.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:s,left:i,bottom:o,right:a}=L,l=m(L.matrixWorldInverse),u=n?`scale(${r})translate(${p(-(a+i)/2)}px,${p((s+o)/2)}px)`:`translateZ(${r}px)`,c=X.current.matrixWorld;v&&((c=L.matrixWorldInverse.clone().transpose().copyPosition(c).scale(X.current.scale)).elements[3]=c.elements[7]=c.elements[11]=0,c.elements[15]=1),_.style.width=j.width+"px",_.style.height=j.height+"px",_.style.perspective=n?"":`${r}px`,Z.current&&W.current&&(Z.current.style.transform=`${u}${l}translate(${e}px,${t}px)`,W.current.style.transform=C(c,1/((g||10)/400)))}else{let t=void 0===g?1:function(e,t){if(t instanceof l.qUd)return t.zoom;if(!(t instanceof l.ubm))return 1;{let r=c.setFromMatrixPosition(e.matrixWorld),n=h.setFromMatrixPosition(t.matrixWorld);return 1/(2*Math.tan(t.fov*Math.PI/180/2)*r.distanceTo(n))}}(X.current,L)*g;_.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}q.current=e,Y.current=L.zoom}}if(!ee&&z.current&&!$.current)if(E){if(Z.current){let e=Z.current.children[0];if(null!=e&&e.clientWidth&&null!=e&&e.clientHeight){let{isOrthographicCamera:t}=L;if(t||D)S.scale&&(Array.isArray(S.scale)?S.scale instanceof l.Pq0?z.current.scale.copy(S.scale.clone().divideScalar(1)):z.current.scale.set(1/S.scale[0],1/S.scale[1],1/S.scale[2]):z.current.scale.setScalar(1/S.scale));else{let t=(g||10)/400,r=e.clientWidth*t,n=e.clientHeight*t;z.current.scale.set(r,n,1)}$.current=!0}}}else{let t=_.children[0];if(null!=t&&t.clientWidth&&null!=t&&t.clientHeight){let e=1/K.factor,r=t.clientWidth*e,n=t.clientHeight*e;z.current.scale.set(r,n,1),$.current=!0}z.current.lookAt(e.camera.position)}});let es=o.useMemo(()=>({vertexShader:E?void 0:`
/*
This shader is from the THREE's SpriteMaterial.
We need to turn the backing plane into a Sprite
(make it always face the camera) if "transfrom"
is false.
*/
#include <common>
void main() {
vec2 center = vec2(0., 1.);
float rotation = 0.0;
// This is somewhat arbitrary, but it seems to work well
// Need to figure out how to derive this dynamically if it even matters
float size = 0.03;
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
vec2 scale;
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
bool isPerspective = isPerspectiveMatrix( projectionMatrix );
if ( isPerspective ) scale *= - mvPosition.z;
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;
vec2 rotatedPosition;
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
mvPosition.xy += rotatedPosition;
gl_Position = projectionMatrix * mvPosition;
}
`,fragmentShader:`
void main() {
gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
}
`}),[E]);return o.createElement("group",(0,i.A)({},S,{ref:X}),M&&!ee&&o.createElement("mesh",{castShadow:R,receiveShadow:I,ref:z},D||o.createElement("planeGeometry",null),G||o.createElement("shaderMaterial",{side:l.$EB,vertexShader:es.vertexShader,fragmentShader:es.fragmentShader})))})},3654:(e,t,r)=>{"use strict";var n=r(2115),s=r(4806),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=s.useSyncExternalStore,a=n.useRef,l=n.useEffect,u=n.useMemo,c=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,n,s){var h=a(null);if(null===h.current){var d={hasValue:!1,value:null};h.current=d}else d=h.current;var A=o(e,(h=u(function(){function e(e){if(!l){if(l=!0,o=e,e=n(e),void 0!==s&&d.hasValue){var t=d.value;if(s(t,e))return a=t}return a=e}if(t=a,i(o,e))return t;var r=n(e);return void 0!==s&&s(t,r)?(o=e,t):(o=e,a=r)}var o,a,l=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,n,s]))[0],h[1]);return l(function(){d.hasValue=!0,d.value=A},[A]),c(A),A}},3808:(e,t,r)=>{"use strict";r.d(t,{c:()=>i}),r(2115);var n=r(5339),s=r(99);function i(e,{path:t}){let[r]=(0,s.G)(n.ScU,[e],e=>e.setPath(t));return r}i.preload=(e,{path:t})=>s.G.preload(n.ScU,[e],e=>e.setPath(t))},4004:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0<r;){var n=r-1>>>1,s=e[n];if(0<i(s,t))e[n]=t,e[r]=s,r=n;else break}}function n(e){return 0===e.length?null:e[0]}function s(e){if(0===e.length)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;for(var n=0,s=e.length,o=s>>>1;n<o;){var a=2*(n+1)-1,l=e[a],u=a+1,c=e[u];if(0>i(l,r))u<s&&0>i(c,l)?(e[n]=c,e[u]=r,n=u):(e[n]=l,e[a]=r,n=a);else if(u<s&&0>i(c,r))e[n]=c,e[u]=r,n=u;else break}}return t}function i(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,a=performance;t.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();t.unstable_now=function(){return l.now()-u}}var c=[],h=[],d=1,A=null,f=3,p=!1,B=!1,m=!1,C="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function g(e){for(var t=n(h);null!==t;){if(null===t.callback)s(h);else if(t.startTime<=e)s(h),t.sortIndex=t.expirationTime,r(c,t);else break;t=n(h)}}function v(e){if(m=!1,g(e),!B)if(null!==n(c))B=!0,H();else{var t=n(h);null!==t&&w(v,t.startTime-e)}}var E=!1,M=-1,F=5,R=-1;function I(){return!(t.unstable_now()-R<F)}function G(){if(E){var e=t.unstable_now();R=e;var r=!0;try{e:{B=!1,m&&(m=!1,y(M),M=-1),p=!0;var i=f;try{t:{for(g(e),A=n(c);null!==A&&!(A.expirationTime>e&&I());){var a=A.callback;if("function"==typeof a){A.callback=null,f=A.priorityLevel;var l=a(A.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof l){A.callback=l,g(e),r=!0;break t}A===n(c)&&s(c),g(e)}else s(c);A=n(c)}if(null!==A)r=!0;else{var u=n(h);null!==u&&w(v,u.startTime-e),r=!1}}break e}finally{A=null,f=i,p=!1}}}finally{r?o():E=!1}}}if("function"==typeof b)o=function(){b(G)};else if("undefined"!=typeof MessageChannel){var D=new MessageChannel,T=D.port2;D.port1.onmessage=G,o=function(){T.postMessage(null)}}else o=function(){C(G,0)};function H(){E||(E=!0,o())}function w(e,r){M=C(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){B||p||(B=!0,H())},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return n(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var r=f;f=t;try{return e()}finally{f=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=f;f=e;try{return t()}finally{f=r}},t.unstable_scheduleCallback=function(e,s,i){var o=t.unstable_now();switch(i="object"==typeof i&&null!==i&&"number"==typeof(i=i.delay)&&0<i?o+i:o,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=0x3fffffff;break;case 4:a=1e4;break;default:a=5e3}return a=i+a,e={id:d++,callback:s,priorityLevel:e,startTime:i,expirationTime:a,sortIndex:-1},i>o?(e.sortIndex=i,r(h,e),null===n(c)&&e===n(h)&&(m?(y(M),M=-1):m=!0,w(v,i-o))):(e.sortIndex=a,r(c,e),B||p||(B=!0,H())),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=f;return function(){var r=f;f=t;try{return e.apply(this,arguments)}finally{f=r}}}},4049:(e,t,r)=>{"use strict";r.d(t,{Cp:()=>p,EN:()=>f,Eh:()=>c,F$:()=>A,GU:()=>I,MK:()=>h,S$:()=>s,ZM:()=>R,ZZ:()=>M,Zw:()=>o,d2:()=>u,f8:()=>m,gn:()=>a,hT:()=>F,j3:()=>l,lQ:()=>i,nJ:()=>d,pl:()=>v,y9:()=>E,yy:()=>g});var n=r(7126),s="undefined"==typeof window||"Deno"in globalThis;function i(){}function o(e,t){return"function"==typeof e?e(t):e}function a(e){return"number"==typeof e&&e>=0&&e!==1/0}function l(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function h(e,t){let{type:r="all",exact:n,fetchStatus:s,predicate:i,queryKey:o,stale:a}=e;if(o){if(n){if(t.queryHash!==A(o,t.options))return!1}else if(!p(t.queryKey,o))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof a||t.isStale()===a)&&(!s||s===t.state.fetchStatus)&&(!i||!!i(t))}function d(e,t){let{exact:r,status:n,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(r){if(f(t.options.mutationKey)!==f(i))return!1}else if(!p(t.options.mutationKey,i))return!1}return(!n||t.state.status===n)&&(!s||!!s(t))}function A(e,t){return(t?.queryKeyHashFn||f)(e)}function f(e){return JSON.stringify(e,(e,t)=>y(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function p(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>p(e[r],t[r]))}var B=Object.prototype.hasOwnProperty;function m(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}function C(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function y(e){if(!b(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!b(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function b(e){return"[object Object]"===Object.prototype.toString.call(e)}function g(e){return new Promise(t=>{n.zs.setTimeout(t,e)})}function v(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r){if(t===r)return t;let n=C(t)&&C(r);if(!n&&!(y(t)&&y(r)))return r;let s=(n?t:Object.keys(t)).length,i=n?r:Object.keys(r),o=i.length,a=n?Array(o):{},l=0;for(let u=0;u<o;u++){let o=n?u:i[u],c=t[o],h=r[o];if(c===h){a[o]=c,(n?u<s:B.call(t,o))&&l++;continue}if(null===c||null===h||"object"!=typeof c||"object"!=typeof h){a[o]=h;continue}let d=e(c,h);a[o]=d,d===c&&l++}return s===o&&l===s?t:a}(e,t):t}function E(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function M(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var F=Symbol();function R(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==F?e.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`))}function I(e,t){return"function"==typeof e?e(...t):!!e}},4065:function(e){var t;(t=function(){function e(e){return s.appendChild(e.dom),e}function r(e){for(var t=0;t<s.children.length;t++)s.children[t].style.display=t===e?"block":"none";n=e}var n=0,s=document.createElement("div");s.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",s.addEventListener("click",function(e){e.preventDefault(),r(++n%s.children.length)},!1);var i=(performance||Date).now(),o=i,a=0,l=e(new t.Panel("FPS","#0ff","#002")),u=e(new t.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var c=e(new t.Panel("MB","#f08","#201"));return r(0),{REVISION:16,dom:s,addPanel:e,showPanel:r,begin:function(){i=(performance||Date).now()},end:function(){a++;var e=(performance||Date).now();if(u.update(e-i,200),e>o+1e3&&(l.update(1e3*a/(e-o),100),o=e,a=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){i=this.end()},domElement:s,setMode:r}}).Panel=function(e,t,r){var n=1/0,s=0,i=Math.round,o=i(window.devicePixelRatio||1),a=80*o,l=48*o,u=3*o,c=2*o,h=3*o,d=15*o,A=74*o,f=30*o,p=document.createElement("canvas");p.width=a,p.height=l,p.style.cssText="width:80px;height:48px";var B=p.getContext("2d");return B.font="bold "+9*o+"px Helvetica,Arial,sans-serif",B.textBaseline="top",B.fillStyle=r,B.fillRect(0,0,a,l),B.fillStyle=t,B.fillText(e,u,c),B.fillRect(h,d,A,f),B.fillStyle=r,B.globalAlpha=.9,B.fillRect(h,d,A,f),{dom:p,update:function(l,m){n=Math.min(n,l),s=Math.max(s,l),B.fillStyle=r,B.globalAlpha=1,B.fillRect(0,0,a,d),B.fillStyle=t,B.fillText(i(l)+" "+e+" ("+i(n)+"-"+i(s)+")",u,c),B.drawImage(p,h+o,d,A-o,f,h,d,A-o,f),B.fillRect(h+A-o,d,o,f),B.fillStyle=r,B.globalAlpha=.9,B.fillRect(h+A-o,d,o,i((1-l/m)*f))}}},e.exports=t},4268:(e,t,r)=>{"use strict";r.d(t,{jG:()=>s});var n=r(7126).Zq,s=function(){let e=[],t=0,r=e=>{e()},s=e=>{e()},i=n,o=n=>{t?e.push(n):i(()=>{r(n)})};return{batch:n=>{let o;t++;try{o=n()}finally{--t||(()=>{let t=e;e=[],t.length&&i(()=>{s(()=>{t.forEach(e=>{r(e)})})})})()}return o},batchCalls:e=>(...t)=>{o(()=>{e(...t)})},schedule:o,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{s=e},setScheduler:e=>{i=e}}}()},4735:(e,t,r)=>{"use strict";r.d(t,{Af:()=>a,Nz:()=>s,u5:()=>l,y3:()=>h});var n=r(2115);function s(e,t,r){if(!e)return;if(!0===r(e))return e;let n=t?e.return:e.child;for(;n;){let e=s(n,t,r);if(e)return e;n=t?null:n.sibling}}function i(e){try{return Object.defineProperties(e,{_currentRenderer:{get:()=>null,set(){}},_currentRenderer2:{get:()=>null,set(){}}})}catch(t){return e}}(()=>{var e,t;return"undefined"!=typeof window&&((null==(e=window.document)?void 0:e.createElement)||(null==(t=window.navigator)?void 0:t.product)==="ReactNative")})()?n.useLayoutEffect:n.useEffect;let o=i(n.createContext(null));class a extends n.Component{render(){return n.createElement(o.Provider,{value:this._reactInternals},this.props.children)}}function l(){let e=n.useContext(o);if(null===e)throw Error("its-fine: useFiber must be called within a <FiberProvider />!");let t=n.useId();return n.useMemo(()=>{for(let r of[e,null==e?void 0:e.alternate]){if(!r)continue;let e=s(r,!1,e=>{let r=e.memoizedState;for(;r;){if(r.memoizedState===t)return!0;r=r.next}});if(e)return e}},[e,t])}let u=Symbol.for("react.context"),c=e=>null!==e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===u;function h(){let e=function(){let e=l(),[t]=n.useState(()=>new Map);t.clear();let r=e;for(;r;){let e=r.type;c(e)&&e!==o&&!t.has(e)&&t.set(e,n.use(i(e))),r=r.return}return t}();return n.useMemo(()=>Array.from(e.keys()).reduce((t,r)=>s=>n.createElement(t,null,n.createElement(r.Provider,{...s,value:e.get(r)})),e=>n.createElement(a,{...e})),[e])}},4806:(e,t,r)=>{"use strict";e.exports=r(125)},4943:(e,t,r)=>{"use strict";e.exports=r(4004)},5951:(e,t,r)=>{"use strict";r.d(t,{zo:()=>a});var n=r(2115),s=r(5339),i=r(99);let o=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function a(e,t){let r=(0,i.C)(e=>e.gl),a=(0,i.G)(s.Tap,o(e)?Object.values(e):e);return(0,n.useLayoutEffect)(()=>{null==t||t(a)},[t]),(0,n.useEffect)(()=>{if("initTexture"in r){let e=[];Array.isArray(a)?e=a:a instanceof s.gPd?e=[a]:o(a)&&(e=Object.values(a)),e.forEach(e=>{e instanceof s.gPd&&r.initTexture(e)})}},[r,a]),(0,n.useMemo)(()=>{if(!o(e))return a;{let t={},r=0;for(let n in e)t[n]=a[r++];return t}},[e,a])}a.preload=e=>i.G.preload(s.Tap,e),a.clear=e=>i.G.clear(s.Tap,e)},6195:(e,t,r)=>{"use strict";r.d(t,{m:()=>i});var n=r(8445),s=r(4049),i=new class extends n.Q{#Y;#x;#P;constructor(){super(),this.#P=e=>{if(!s.S$&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#x||this.setEventListener(this.#P)}onUnsubscribe(){this.hasListeners()||(this.#x?.(),this.#x=void 0)}setEventListener(e){this.#P=e,this.#x?.(),this.#x=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#Y!==e&&(this.#Y=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#Y?this.#Y:globalThis.document?.visibilityState!=="hidden"}}},6362:(e,t,r)=>{"use strict";e.exports=r(979)},7126:(e,t,r)=>{"use strict";r.d(t,{Zq:()=>i,zs:()=>s});var n={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},s=new class{#q=n;#Z=!1;setTimeoutProvider(e){this.#q=e}setTimeout(e,t){return this.#q.setTimeout(e,t)}clearTimeout(e){this.#q.clearTimeout(e)}setInterval(e,t){return this.#q.setInterval(e,t)}clearInterval(e){this.#q.clearInterval(e)}};function i(e){setTimeout(e,0)}},8381:(e,t,r)=>{"use strict";r.d(t,{s0:()=>y,jW:()=>g});var n=r(5155),s=r(2115),i=r(5339),o=r(99),a=r(3303);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}new i.I9Y,new i.I9Y;function u(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var c=function e(t,r,n){var s=this;u(this,e),l(this,"dot2",function(e,t){return s.x*e+s.y*t}),l(this,"dot3",function(e,t,r){return s.x*e+s.y*t+s.z*r}),this.x=t,this.y=r,this.z=n},h=[new c(1,1,0),new c(-1,1,0),new c(1,-1,0),new c(-1,-1,0),new c(1,0,1),new c(-1,0,1),new c(1,0,-1),new c(-1,0,-1),new c(0,1,1),new c(0,-1,1),new c(0,1,-1),new c(0,-1,-1)],d=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],A=Array(512),f=Array(512);!function(e){e>0&&e<1&&(e*=65536),(e=Math.floor(e))<256&&(e|=e<<8);for(var t,r=0;r<256;r++)t=1&r?d[r]^255&e:d[r]^e>>8&255,A[r]=A[r+256]=t,f[r]=f[r+256]=h[t%12]}(0);function p(e){var t=function(e){if("number"==typeof e)e=Math.abs(e);else if("string"==typeof e){var t=e;e=0;for(var r=0;r<t.length;r++)e=(e+(r+1)*(t.charCodeAt(r)%96))%0x7fffffff}return 0===e&&(e=311),e}(e);return function(){var e=48271*t%0x7fffffff;return t=e,e/0x7fffffff}}new function e(t){var r=this;u(this,e),l(this,"seed",0),l(this,"init",function(e){r.seed=e,r.value=p(e)}),l(this,"value",p(this.seed)),this.init(t)}(Math.random());i.LoY;var B=r(1948);let m=(0,s.createContext)(null),C=e=>(2&e.getAttributes())==2,y=(0,s.memo)((0,s.forwardRef)(({children:e,camera:t,scene:r,resolutionScale:l,enabled:u=!0,renderPriority:c=1,autoClear:h=!0,depthBuffer:d,enableNormalPass:A,stencilBuffer:f,multisampling:p=8,frameBufferType:B=i.ix0},y)=>{let{gl:b,scene:g,camera:v,size:E}=(0,o.C)(),M=r||g,F=t||v,[R,I,G]=(0,s.useMemo)(()=>{let e=new a.s0(b,{depthBuffer:d,stencilBuffer:f,multisampling:p,frameBufferType:B});e.addPass(new a.AH(M,F));let t=null,r=null;return A&&((r=new a.Xe(M,F)).enabled=!1,e.addPass(r),void 0!==l&&((t=new a.SP({normalBuffer:r.texture,resolutionScale:l})).enabled=!1,e.addPass(t))),[e,r,t]},[F,b,d,f,p,B,M,A,l]);(0,s.useEffect)(()=>R?.setSize(E.width,E.height),[R,E]),(0,o.D)((e,t)=>{if(u){let e=b.autoClear;b.autoClear=h,f&&!h&&b.clearStencil(),R.render(t),b.autoClear=e}},u?c:0);let D=(0,s.useRef)(null);(0,s.useLayoutEffect)(()=>{let e=[],t=D.current.__r3f;if(t&&R){let r=t.children;for(let t=0;t<r.length;t++){let n=r[t].object;if(n instanceof a.Mj){let s=[n];if(!C(n)){let e=null;for(;(e=r[t+1]?.object)instanceof a.Mj&&!C(e);)s.push(e),t++}let i=new a.Vu(F,...s);e.push(i)}else n instanceof a.oF&&e.push(n)}for(let t of e)R?.addPass(t);I&&(I.enabled=!0),G&&(G.enabled=!0)}return()=>{for(let t of e)R?.removePass(t);I&&(I.enabled=!1),G&&(G.enabled=!1)}},[R,e,F,I,G]),(0,s.useEffect)(()=>{let e=b.toneMapping;return b.toneMapping=i.y_p,()=>{b.toneMapping=e}},[b]);let T=(0,s.useMemo)(()=>({composer:R,normalPass:I,downSamplingPass:G,resolutionScale:l,camera:F,scene:M}),[R,I,G,l,F,M]);return(0,s.useImperativeHandle)(y,()=>R,[R]),(0,n.jsx)(m.Provider,{value:T,children:(0,n.jsx)("group",{ref:D,children:e})})}));a.Mj,a.bv,a.i,a.hH;var b=(e=>(e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.MirroredLinear=2]="MirroredLinear",e))(b||{});a.Mj,a.To;a.Mj;a.Mj;a.Mj;let g=(0,s.forwardRef)(({halfRes:e,screenSpaceRadius:t,quality:r,depthAwareUpsampling:i=!0,aoRadius:a=5,aoSamples:l=16,denoiseSamples:u=4,denoiseRadius:c=12,distanceFalloff:h=1,intensity:d=1,color:A,renderMode:f=0},p)=>{let{camera:m,scene:C}=(0,o.C)(),y=(0,s.useMemo)(()=>new B.ae(C,m),[m,C]);return(0,s.useLayoutEffect)(()=>{(0,o.s)(y.configuration,{color:A,aoRadius:a,distanceFalloff:h,intensity:d,aoSamples:l,denoiseSamples:u,denoiseRadius:c,screenSpaceRadius:t,renderMode:f,halfRes:e,depthAwareUpsampling:i})},[t,A,a,h,d,l,u,c,f,e,i,y]),(0,s.useLayoutEffect)(()=>{r&&y.setQualityMode(r.charAt(0).toUpperCase()+r.slice(1))},[y,r]),(0,n.jsx)("primitive",{ref:p,object:y})})},8445:(e,t,r)=>{"use strict";r.d(t,{Q:()=>n});var n=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}},8669:(e,t,r)=>{"use strict";r.d(t,{U:()=>l});var n=r(2115),s=r(99),i=r(4065),o=r.n(i);function a(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function l({showPanel:e=0,className:t,parent:r}){let i=function(e,t=[],r){let[s,i]=n.useState();return n.useLayoutEffect(()=>{let t=e();return i(t),a(void 0,t),()=>a(void 0,null)},t),s}(()=>new(o()),[]);return n.useEffect(()=>{if(i){let n=r&&r.current||document.body;i.showPanel(e),null==n||n.appendChild(i.dom);let o=(null!=t?t:"").split(" ").filter(e=>e);o.length&&i.dom.classList.add(...o);let a=(0,s.j)(()=>i.begin()),l=(0,s.k)(()=>i.end());return()=>{o.length&&i.dom.classList.remove(...o),null==n||n.removeChild(i.dom),a(),l()}}},[r,i,t,e]),null}},8807:(e,t,r)=>{"use strict";e.exports=r(7719)},8828:(e,t,r)=>{"use strict";e.exports=r(3654)},8870:(e,t,r)=>{"use strict";e.exports=r(1975)},8945:(e,t,r)=>{"use strict";function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}r.d(t,{A:()=>n})},8992:(e,t,r)=>{"use strict";r.d(t,{tH:()=>o});var n=r(2115);let s=(0,n.createContext)(null),i={didCatch:!1,error:null};class o extends n.Component{static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,s=Array(n),o=0;o<n;o++)s[o]=arguments[o];null==(t=(r=this.props).onReset)||t.call(r,{args:s,reason:"imperative-api"}),this.setState(i)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var s,o;null==(s=(o=this.props).onReset)||s.call(o,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(i)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:i}=this.props,{didCatch:o,error:a}=this.state,l=e;if(o){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)l=t(e);else if(r)l=(0,n.createElement)(r,e);else if(void 0!==i)l=i;else throw a}return(0,n.createElement)(s.Provider,{value:{didCatch:o,error:a,resetErrorBoundary:this.resetErrorBoundary}},l)}constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=i}}},9336:(e,t,r)=>{"use strict";r.d(t,{u:()=>a});var n=r(8945),s=r(2115),i=r(99),o=r(5339);let a=s.forwardRef(({envMap:e,resolution:t=256,frames:r=1/0,makeDefault:a,children:l,...u},c)=>{let h=(0,i.C)(({set:e})=>e),d=(0,i.C)(({camera:e})=>e),A=(0,i.C)(({size:e})=>e),f=s.useRef(null);s.useImperativeHandle(c,()=>f.current,[]);let p=s.useRef(null),B=function(e,t,r){let n=(0,i.C)(e=>e.size),a=(0,i.C)(e=>e.viewport),l="number"==typeof e?e:n.width*a.dpr,u=n.height*a.dpr,c=("number"==typeof e?void 0:e)||{},{samples:h=0,depth:d,...A}=c,f=null!=d?d:c.depthBuffer,p=s.useMemo(()=>{let e=new o.nWS(l,u,{minFilter:o.k6q,magFilter:o.k6q,type:o.ix0,...A});return f&&(e.depthTexture=new o.VCu(l,u,o.RQf)),e.samples=h,e},[]);return s.useLayoutEffect(()=>{p.setSize(l,u),h&&(p.samples=h)},[h,p,l,u]),s.useEffect(()=>()=>p.dispose(),[]),p}(t);s.useLayoutEffect(()=>{u.manual||(f.current.aspect=A.width/A.height)},[A,u]),s.useLayoutEffect(()=>{f.current.updateProjectionMatrix()});let m=0,C=null,y="function"==typeof l;return(0,i.D)(t=>{y&&(r===1/0||m<r)&&(p.current.visible=!1,t.gl.setRenderTarget(B),C=t.scene.background,e&&(t.scene.background=e),t.gl.render(t.scene,f.current),t.scene.background=C,t.gl.setRenderTarget(null),p.current.visible=!0,m++)}),s.useLayoutEffect(()=>{if(a)return h(()=>({camera:f.current})),()=>h(()=>({camera:d}))},[f,a,h]),s.createElement(s.Fragment,null,s.createElement("perspectiveCamera",(0,n.A)({ref:f},u),!y&&l),s.createElement("group",{ref:p},y&&l(B.texture)))})},9776:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>a,jE:()=>o});var n=r(2115),s=r(5155),i=n.createContext(void 0),o=e=>{let t=n.useContext(i);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},a=e=>{let{client:t,children:r}=e;return n.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,s.jsx)(i.Provider,{value:t,children:r})}}}]);