"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[953],{133:(e,t,n)=>{e.exports=n(2641)},857:(e,t)=>{t.ConcurrentRoot=1,t.ContinuousEventPriority=8,t.DefaultEventPriority=32,t.DiscreteEventPriority=2},927:(e,t,n)=>{var r=n(3279),o=n(6717),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=o.useSyncExternalStore,a=r.useRef,s=r.useEffect,c=r.useMemo,u=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var f=a(null);if(null===f.current){var d={hasValue:!1,value:null};f.current=d}else d=f.current;var p=l(e,(f=c(function(){function e(e){if(!s){if(s=!0,l=e,e=r(e),void 0!==o&&d.hasValue){var t=d.value;if(o(t,e))return a=t}return a=e}if(t=a,i(l,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(l=e,t):(l=e,a=n)}var l,a,s=!1,c=void 0===n?null:n;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,n,r,o]))[0],f[1]);return s(function(){d.hasValue=!0,d.value=p},[p]),u(p),p}},1560:(e,t,n)=>{let r,o,i,l,a;n.d(t,{B:()=>T,C:()=>ee,D:()=>et,E:()=>A,a:()=>O,b:()=>_,c:()=>eE,d:()=>eM,e:()=>ec,f:()=>eq,i:()=>M,u:()=>k});var s=n(9459),c=n(7748),u=n(3279),f=n.t(u,2),d=n(5320),p=n(6551),v=n(8007);let{useSyncExternalStoreWithSelector:h}=p,m=(e,t)=>{let n=(0,v.y)(e),r=(e,r=t)=>(function(e,t=e=>e,n){let r=h(e.subscribe,e.getState,e.getInitialState,t,n);return u.useDebugValue(r),r})(n,e,r);return Object.assign(r,n),r};var b=n(133),y=n.n(b),g=n(3611);let w=[];function j(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;let r=e.length;if(t.length!==r)return!1;for(let o=0;o0&&(o.timeout&&clearTimeout(o.timeout),o.timeout=setTimeout(o.remove,r.lifespan)),o.response;if(!n)throw o.promise}let o={keys:t,equal:r.equal,remove:()=>{let e=w.indexOf(o);-1!==e&&w.splice(e,1)},promise:("object"==typeof e&&"function"==typeof e.then?e:e(...t)).then(e=>{o.response=e,r.lifespan&&r.lifespan>0&&(o.timeout=setTimeout(o.remove,r.lifespan))}).catch(e=>o.error=e)};if(w.push(o),!n)throw o.promise}var x=n(3703),E=n(4695);function P(e){let t=e.root;for(;t.getState().previousRoot;)t=t.getState().previousRoot;return t}n(7811),f.act;let M=e=>e&&e.hasOwnProperty("current"),S=e=>null!=e&&("string"==typeof e||"number"==typeof e||e.isColor),_=((e,t)=>"undefined"!=typeof window&&((null==(e=window.document)?void 0:e.createElement)||(null==(t=window.navigator)?void 0:t.product)==="ReactNative"))()?u.useLayoutEffect:u.useEffect;function O(e){let t=u.useRef(e);return _(()=>void(t.current=e),[e]),t}function k(){let e=(0,E.u5)(),t=(0,E.y3)();return u.useMemo(()=>({children:n})=>{let r=(0,E.Nz)(e,!0,e=>e.type===u.StrictMode)?u.StrictMode:u.Fragment;return(0,x.jsx)(r,{children:(0,x.jsx)(t,{children:n})})},[e,t])}function T({set:e}){return _(()=>(e(new Promise(()=>null)),()=>e(!1)),[e]),null}let A=(e=>((e=class extends u.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 I(e){var t;let n="undefined"!=typeof window?null!=(t=window.devicePixelRatio)?t:2:1;return Array.isArray(e)?Math.min(Math.max(e[0],n),e[1]):e}function L(e){var t;return null==(t=e.__r3f)?void 0:t.root.getState()}let R={obj:e=>e===Object(e)&&!R.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:n="shallow",objects:r="reference",strict:o=!0}={}){let i;if(typeof e!=typeof t||!!e!=!!t)return!1;if(R.str(e)||R.num(e)||R.boo(e))return e===t;let l=R.obj(e);if(l&&"reference"===r)return e===t;let a=R.arr(e);if(a&&"reference"===n)return e===t;if((a||l)&&e===t)return!0;for(i in e)if(!(i in t))return!1;if(l&&"shallow"===n&&"shallow"===r){for(i in o?t:e)if(!R.equ(e[i],t[i],{strict:o,objects:"reference"}))return!1}else for(i in o?t:e)if(e[i]!==t[i])return!1;if(R.und(i)){if(a&&0===e.length&&0===t.length||l&&0===Object.keys(e).length&&0===Object.keys(t).length)return!0;if(e!==t)return!1}return!0}},z=["children","key","ref"];function H(e,t,n,r){let o=null==e?void 0:e.__r3f;return!o&&(o={root:t,type:n,parent:null,children:[],props:function(e){let t={};for(let n in e)z.includes(n)||(t[n]=e[n]);return t}(r),object:e,eventCount:0,handlers:{},isHidden:!1},e&&(e.__r3f=o)),o}function F(e,t){let n=e[t];if(!t.includes("-"))return{root:e,key:t,target:n};for(let o of(n=e,t.split("-"))){var r;t=o,e=n,n=null==(r=n)?void 0:r[t]}return{root:e,key:t,target:n}}let q=/-\d+$/;function D(e,t){if(R.str(t.props.attach)){if(q.test(t.props.attach)){let n=t.props.attach.replace(q,""),{root:r,key:o}=F(e.object,n);Array.isArray(r[o])||(r[o]=[])}let{root:n,key:r}=F(e.object,t.props.attach);t.previousAttach=n[r],n[r]=t.object}else R.fun(t.props.attach)&&(t.previousAttach=t.props.attach(e.object,t.object))}function B(e,t){if(R.str(t.props.attach)){let{root:n,key:r}=F(e.object,t.props.attach),o=t.previousAttach;void 0===o?delete n[r]:n[r]=o}else null==t.previousAttach||t.previousAttach(e.object,t.object);delete t.previousAttach}let N=[...z,"args","dispose","attach","object","onUpdate","dispose"],W=new Map,$=["map","emissiveMap","sheenColorMap","specularColorMap","envMap"],U=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;function V(e,t){var n,r;let o=e.__r3f,i=o&&P(o).getState(),l=null==o?void 0:o.eventCount;for(let n in t){let l=t[n];if(N.includes(n))continue;if(o&&U.test(n)){"function"==typeof l?o.handlers[n]=l:delete o.handlers[n],o.eventCount=Object.keys(o.handlers).length;continue}if(void 0===l)continue;let{root:a,key:c,target:u}=F(e,n);u instanceof s.zgK&&l instanceof s.zgK?u.mask=l.mask:u instanceof s.Q1f&&S(l)?u.set(l):null!==u&&"object"==typeof u&&"function"==typeof u.set&&"function"==typeof u.copy&&null!=l&&l.constructor&&u.constructor===l.constructor?u.copy(l):null!==u&&"object"==typeof u&&"function"==typeof u.set&&Array.isArray(l)?"function"==typeof u.fromArray?u.fromArray(l):u.set(...l):null!==u&&"object"==typeof u&&"function"==typeof u.set&&"number"==typeof l?"function"==typeof u.setScalar?u.setScalar(l):u.set(l):(a[c]=l,i&&!i.linear&&$.includes(c)&&null!=(r=a[c])&&r.isTexture&&a[c].format===s.GWd&&a[c].type===s.OUM&&(a[c].colorSpace=s.er$))}if(null!=o&&o.parent&&null!=i&&i.internal&&null!=(n=o.object)&&n.isObject3D&&l!==o.eventCount){let e=o.object,t=i.internal.interaction.indexOf(e);t>-1&&i.internal.interaction.splice(t,1),o.eventCount&&null!==e.raycast&&i.internal.interaction.push(e)}return o&&void 0===o.props.attach&&(o.object.isBufferGeometry?o.props.attach="geometry":o.object.isMaterial&&(o.props.attach="material")),o&&Y(o),e}function Y(e){var t;if(!e.parent)return;null==e.props.onUpdate||e.props.onUpdate(e.object);let n=null==(t=e.root)||null==t.getState?void 0:t.getState();n&&0===n.internal.frames&&n.invalidate()}let X=e=>null==e?void 0:e.isObject3D;function G(e){return(e.eventObject||e.object).uuid+"/"+e.index+e.instanceId}function K(e,t,n,r){let o=n.get(t);o&&(n.delete(t),0===n.size&&(e.delete(r),o.target.releasePointerCapture(r)))}let Z=e=>!!(null!=e&&e.render),Q=u.createContext(null);function J(){let e=u.useContext(Q);if(!e)throw Error("R3F: Hooks can only be used within the Canvas component!");return e}function ee(e=e=>e,t){return J()(e,t)}function et(e,t=0){let n=J(),r=n.getState().internal.subscribe,o=O(e);return _(()=>r(o,t,n),[t,r,n]),null}let en=new WeakMap;function er(e,t){return function(n,...r){var o;let i;return"function"==typeof n&&(null==n||null==(o=n.prototype)?void 0:o.constructor)===n?(i=en.get(n))||(i=new n,en.set(n,i)):i=n,e&&e(i),Promise.all(r.map(e=>new Promise((n,r)=>i.load(e,e=>{X(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)),n(e)},t,t=>r(Error(`Could not load ${e}: ${null==t?void 0:t.message}`))))))}}function eo(e,t,n,r){let o=Array.isArray(t)?t:[t],i=C(er(n,r),[e,...o],!1,{equal:R.equ});return Array.isArray(t)?i:i[0]}eo.preload=function(e,t,n){let r,o=Array.isArray(t)?t:[t];C(er(n),[e,...o],!0,r)},eo.clear=function(e,t){var n=[e,...Array.isArray(t)?t:[t]];if(void 0===n||0===n.length)w.splice(0,w.length);else{let e=w.find(e=>j(n,e.keys,e.equal));e&&e.remove()}};let ei={},el=/^three(?=[A-Z])/,ea=e=>`${e[0].toUpperCase()}${e.slice(1)}`,es=0;function ec(e){if("function"==typeof e){let t=`${es++}`;return ei[t]=e,t}Object.assign(ei,e)}function eu(e,t){let n=ea(e),r=ei[n];if("primitive"!==e&&!r)throw Error(`R3F: ${n} 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 ef(e){if(e.isHidden){var t;e.props.attach&&null!=(t=e.parent)&&t.object?D(e.parent,e):X(e.object)&&!1!==e.props.visible&&(e.object.visible=!0),e.isHidden=!1,Y(e)}}function ed(e,t,n){let r=t.root.getState();if(e.parent||e.object===r.scene){if(!t.object){var o,i;let e=ei[ea(t.type)];t.object=null!=(o=t.props.object)?o:new e(...null!=(i=t.props.args)?i:[]),t.object.__r3f=t}if(V(t.object,t.props),t.props.attach)D(e,t);else if(X(t.object)&&X(e.object)){let r=e.object.children.indexOf(null==n?void 0:n.object);if(n&&-1!==r){let n=e.object.children.indexOf(t.object);-1!==n?(e.object.children.splice(n,1),e.object.children.splice(n{try{e.dispose()}catch{}};"undefined"!=typeof IS_REACT_ACT_ENVIRONMENT?t():(0,g.unstable_scheduleCallback)(g.unstable_IdlePriority,t)}}function em(e,t,n){if(!t)return;t.parent=null;let r=e.children.indexOf(t);-1!==r&&e.children.splice(r,1),t.props.attach?B(e,t):X(t.object)&&X(e.object)&&(e.object.remove(t.object),function(e,t){let{internal:n}=e.getState();n.interaction=n.interaction.filter(e=>e!==t),n.initialHits=n.initialHits.filter(e=>e!==t),n.hovered.forEach((e,r)=>{(e.eventObject===t||e.object===t)&&n.hovered.delete(r)}),n.capturedMap.forEach((e,r)=>{K(n.capturedMap,t,e,r)})}(P(t),t.object));let o=null!==t.props.dispose&&!1!==n;for(let e=t.children.length-1;e>=0;e--){let n=t.children[e];em(t,n,o)}t.children.length=0,delete t.object.__r3f,o&&"primitive"!==t.type&&"Scene"!==t.object.type&&eh(t.object),void 0===n&&Y(t)}let eb=[],ey=()=>{},eg={},ew=0,ej=function(e){let t=y()(e);return t.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:u.version}),t}({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:function(e,t,n){var r;return eu(e=ea(e)in ei?e:e.replace(el,""),t),"primitive"===e&&null!=(r=t.object)&&r.__r3f&&delete t.object.__r3f,H(t.object,n,e,t)},removeChild:em,appendChild:ep,appendInitialChild:ep,insertBefore:ev,appendChildToContainer(e,t){let n=e.getState().scene.__r3f;t&&n&&ep(n,t)},removeChildFromContainer(e,t){let n=e.getState().scene.__r3f;t&&n&&em(n,t)},insertInContainerBefore(e,t,n){let r=e.getState().scene.__r3f;t&&n&&r&&ev(r,t,n)},getRootHostContext:()=>eg,getChildHostContext:()=>eg,commitUpdate(e,t,n,r,o){var i,l,a;eu(t,r);let s=!1;if("primitive"===e.type&&n.object!==r.object||(null==(i=r.args)?void 0:i.length)!==(null==(l=n.args)?void 0:l.length)?s=!0:null!=(a=r.args)&&a.some((e,t)=>{var r;return e!==(null==(r=n.args)?void 0:r[t])})&&(s=!0),s)eb.push([e,{...r},o]);else{let t=function(e,t){let n={};for(let r in t)if(!N.includes(r)&&!R.equ(t[r],e.props[r]))for(let e in n[r]=t[r],t)e.startsWith(`${r}-`)&&(n[e]=t[e]);for(let r in e.props){if(N.includes(r)||t.hasOwnProperty(r))continue;let{root:o,key:i}=F(e.object,r);if(o.constructor&&0===o.constructor.length){let e=function(e){let t=W.get(e.constructor);try{t||(t=new e.constructor,W.set(e.constructor,t))}catch(e){}return t}(o);R.und(e)||(n[i]=e[i])}else n[i]=0}return n}(e,r);Object.keys(t).length&&(Object.assign(e.props,t),V(e.object,t))}(null===o.sibling||(4&o.flags)==0)&&function(){for(let[e]of eb){let t=e.parent;if(t)for(let n of(e.props.attach?B(t,e):X(e.object)&&X(t.object)&&t.object.remove(e.object),e.children))n.props.attach?B(e,n):X(n.object)&&X(e.object)&&e.object.remove(n.object);e.isHidden&&ef(e),e.object.__r3f&&delete e.object.__r3f,"primitive"!==e.type&&eh(e.object)}for(let[r,o,i]of eb){r.props=o;let l=r.parent;if(l){let o=ei[ea(r.type)];r.object=null!=(e=r.props.object)?e:new o(...null!=(t=r.props.args)?t:[]),r.object.__r3f=r;var e,t,n=r.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(n);"function"==typeof t&&(e.refCleanup=t)}else e.ref&&(e.ref.current=n);for(let e of(V(r.object,r.props),r.props.attach?D(l,r):X(r.object)&&X(l.object)&&l.object.add(r.object),r.children))e.props.attach?D(r,e):X(e.object)&&X(r.object)&&r.object.add(e.object);Y(r)}}eb.length=0}()},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:e=>null==e?void 0:e.object,prepareForCommit:()=>null,preparePortalMount:e=>H(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?B(e.parent,e):X(e.object)&&(e.object.visible=!1),e.isHidden=!0,Y(e)}},unhideInstance:ef,createTextInstance:ey,hideTextInstance:ey,unhideTextInstance:ey,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:u.createContext(null),setCurrentUpdatePriority(e){ew=e},getCurrentUpdatePriority:()=>ew,resolveUpdatePriority(){var e;if(0!==ew)return ew;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 d.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return d.ContinuousEventPriority;default:return d.DefaultEventPriority}},resetFormInstance(){}}),eC=new Map,ex={objects:"shallow",strict:!1};function eE(e){let t,n,r=eC.get(e),o=null==r?void 0:r.fiber,i=null==r?void 0:r.store;r&&console.warn("R3F.createRoot should only be called once!");let l="function"==typeof reportError?reportError:console.error,a=i||((e,t)=>{let n,r,o=(n=(n,r)=>{let o,i=new s.Pq0,l=new s.Pq0,a=new s.Pq0;function c(e=r().camera,t=l,n=r().size){let{width:o,height:s,top:u,left:f}=n,d=o/s;t.isVector3?a.copy(t):a.set(...t);let p=e.getWorldPosition(i).distanceTo(a);if(e&&e.isOrthographicCamera)return{width:o/e.zoom,height:s/e.zoom,top:u,left:f,factor:1,distance:p,aspect:d};{let t=2*Math.tan(e.fov*Math.PI/180/2)*p,n=o/s*t;return{width:n,height:t,top:u,left:f,factor:o/n,distance:p,aspect:d}}}let f=e=>n(t=>({performance:{...t.performance,current:e}})),d=new s.I9Y;return{set:n,get:r,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(t=1)=>e(r(),t),advance:(e,n)=>t(e,n,r()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new s.zD7,pointer:d,mouse:d,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{let e=r();o&&clearTimeout(o),e.performance.current!==e.performance.min&&f(e.performance.min),o=setTimeout(()=>f(r().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:c},setEvents:e=>n(t=>({...t,events:{...t.events,...e}})),setSize:(e,t,o=0,i=0)=>{let a=r().camera,s={width:e,height:t,top:o,left:i};n(e=>({size:s,viewport:{...e.viewport,...c(a,l,s)}}))},setDpr:e=>n(t=>{let n=I(e);return{viewport:{...t.viewport,dpr:n,initialDpr:t.viewport.initialDpr||n}}}),setFrameloop:(e="always")=>{let t=r().clock;t.stop(),t.elapsedTime=0,"never"!==e&&(t.start(),t.elapsedTime=0),n(()=>({frameloop:e}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:u.createRef(),active:!1,frames:0,priority:0,subscribe:(e,t,n)=>{let o=r().internal;return o.priority=o.priority+ +(t>0),o.subscribers.push({ref:e,priority:t,store:n}),o.subscribers=o.subscribers.sort((e,t)=>e.priority-t.priority),()=>{let n=r().internal;null!=n&&n.subscribers&&(n.priority=n.priority-(t>0),n.subscribers=n.subscribers.filter(t=>t.ref!==e))}}}}})?m(n,r):m,i=o.getState(),l=i.size,a=i.viewport.dpr,c=i.camera;return o.subscribe(()=>{let{camera:e,size:t,viewport:n,gl:r,set:i}=o.getState();if(t.width!==l.width||t.height!==l.height||n.dpr!==a){l=t,a=n.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),n.dpr>0&&r.setPixelRatio(n.dpr);let o="undefined"!=typeof HTMLCanvasElement&&r.domElement instanceof HTMLCanvasElement;r.setSize(t.width,t.height,o)}e!==c&&(c=e,i(t=>({viewport:{...t.viewport,...t.viewport.getCurrentViewport(e)}})))}),o.subscribe(t=>e(t)),o})(ez,eH),f=o||ej.createContainer(a,d.ConcurrentRoot,null,!1,null,"",l,l,l,null);r||eC.set(e,{fiber:f,store:a});let p=!1,v=null;return{async configure(r={}){var o,i;let l;v=new Promise(e=>l=e);let{gl:u,size:f,scene:d,events:h,onCreated:m,shadows:b=!1,linear:y=!1,flat:g=!1,legacy:w=!1,orthographic:j=!1,frameloop:C="always",dpr:x=[1,2],performance:E,raycaster:P,camera:M,onPointerMissed:S}=r,_=a.getState(),O=_.gl;if(!_.gl){let t={canvas:e,powerPreference:"high-performance",antialias:!0,alpha:!0},n="function"==typeof u?await u(t):u;O=Z(n)?n:new c.WebGLRenderer({...t,...u}),_.set({gl:O})}let k=_.raycaster;k||_.set({raycaster:k=new s.tBo});let{params:T,...A}=P||{};if(R.equ(A,k,ex)||V(k,{...A}),R.equ(T,k.params,ex)||V(k,{params:{...k.params,...T}}),!_.camera||_.camera===n&&!R.equ(n,M,ex)){n=M;let e=null==M?void 0:M.isCamera,t=e?M:j?new s.qUd(0,0,0,0,.1,1e3):new s.ubm(75,0,.1,1e3);!e&&(t.position.z=5,M&&(V(t,M),!t.manual&&("aspect"in M||"left"in M||"right"in M||"bottom"in M||"top"in M)&&(t.manual=!0,t.updateProjectionMatrix())),_.camera||null!=M&&M.rotation||t.lookAt(0,0,0)),_.set({camera:t}),k.camera=t}if(!_.scene){let e;null!=d&&d.isScene?H(e=d,a,"",{}):(H(e=new s.Z58,a,"",{}),d&&V(e,d)),_.set({scene:e})}h&&!_.events.handlers&&_.set({events:h(a)});let L=function(e,t){if(!t&&"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&e.parentElement){let{width:t,height:n,top:r,left:o}=e.parentElement.getBoundingClientRect();return{width:t,height:n,top:r,left:o}}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,f);if(R.equ(L,_.size,ex)||_.setSize(L.width,L.height,L.top,L.left),x&&_.viewport.dpr!==I(x)&&_.setDpr(x),_.frameloop!==C&&_.setFrameloop(C),_.onPointerMissed||_.set({onPointerMissed:S}),E&&!R.equ(E,_.performance,ex)&&_.set(e=>({performance:{...e.performance,...E}})),!_.xr){let e=(e,t)=>{let n=a.getState();"never"!==n.frameloop&&eH(e,!0,n,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||ez(t)},n={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==(o=O.xr)?void 0:o.addEventListener)&&n.connect(),_.set({xr:n})}if(O.shadowMap){let e=O.shadowMap.enabled,t=O.shadowMap.type;if(O.shadowMap.enabled=!!b,R.boo(b))O.shadowMap.type=s.Wk7;else if(R.str(b)){let e={basic:s.bTm,percentage:s.QP0,soft:s.Wk7,variance:s.RyA};O.shadowMap.type=null!=(i=e[b])?i:s.Wk7}else R.obj(b)&&Object.assign(O.shadowMap,b);(e!==O.shadowMap.enabled||t!==O.shadowMap.type)&&(O.shadowMap.needsUpdate=!0)}return s.ppV.enabled=!w,p||(O.outputColorSpace=y?s.Zr2:s.er$,O.toneMapping=g?s.y_p:s.FV),_.legacy!==w&&_.set(()=>({legacy:w})),_.linear!==y&&_.set(()=>({linear:y})),_.flat!==g&&_.set(()=>({flat:g})),!u||R.fun(u)||Z(u)||R.equ(u,O,ex)||V(O,u),t=m,p=!0,l(),this},render(n){return p||v||this.configure(),v.then(()=>{ej.updateContainer((0,x.jsx)(eP,{store:a,children:n,onCreated:t,rootElement:e}),f,null,()=>void 0)}),a},unmount(){eM(e)}}}function eP({store:e,children:t,onCreated:n,rootElement:r}){return _(()=>{let t=e.getState();t.set(e=>({internal:{...e.internal,active:!0}})),n&&n(t),e.getState().events.connected||null==t.events.connect||t.events.connect(r)},[]),(0,x.jsx)(Q.Provider,{value:e,children:t})}function eM(e,t){let n=eC.get(e),r=null==n?void 0:n.fiber;if(r){let o=null==n?void 0:n.store.getState();o&&(o.internal.active=!1),ej.updateContainer(null,r,null,()=>{o&&setTimeout(()=>{try{null==o.events.disconnect||o.events.disconnect(),null==(n=o.gl)||null==(r=n.renderLists)||null==r.dispose||r.dispose(),null==(i=o.gl)||null==i.forceContextLoss||i.forceContextLoss(),null!=(l=o.gl)&&l.xr&&o.xr.disconnect();var n,r,i,l,a=o.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())}eC.delete(e),t&&t(e)}catch(e){}},500)})}}let eS=new Set,e_=new Set,eO=new Set;function ek(e,t){if(e.size)for(let{callback:n}of e.values())n(t)}function eT(e,t){switch(e){case"before":return ek(eS,t);case"after":return ek(e_,t);case"tail":return ek(eO,t)}}function eA(e,t,n){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),r=t.internal.subscribers;for(let e=0;e0)&&!(null!=(t=a.gl.xr)&&t.isPresenting)&&(i+=eA(e,a))}if(eL=!1,eT("after",e),0===i)return eT("tail",e),eI=!1,cancelAnimationFrame(l)}function ez(e,t=1){var n;if(!e)return eC.forEach(e=>ez(e.store.getState(),t));(null==(n=e.gl.xr)||!n.isPresenting)&&e.internal.active&&"never"!==e.frameloop&&(t>1?e.internal.frames=Math.min(60,e.internal.frames+t):eL?e.internal.frames=2:e.internal.frames=1,eI||(eI=!0,requestAnimationFrame(eR)))}function eH(e,t=!0,n,r){if(t&&eT("before",e),n)eA(e,n,r);else for(let t of eC.values())eA(e,t.store.getState());t&&eT("after",e)}let eF={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 eq(e){let{handlePointer:t}=function(e){function t(e){return e.filter(e=>["Move","Over","Enter","Out","Leave"].some(t=>{var n;return null==(n=e.__r3f)?void 0:n.handlers["onPointer"+t]}))}function n(t){let{internal:n}=e.getState();for(let e of n.hovered.values())if(!t.length||!t.find(t=>t.object===e.object&&t.index===e.index&&t.instanceId===e.instanceId)){let r=e.eventObject.__r3f;if(n.hovered.delete(G(e)),null!=r&&r.eventCount){let n=r.handlers,o={...e,intersections:t};null==n.onPointerOut||n.onPointerOut(o),null==n.onPointerLeave||n.onPointerLeave(o)}}}function r(e,t){for(let n=0;nn([]);case"onLostPointerCapture":return t=>{let{internal:r}=e.getState();"pointerId"in t&&r.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{r.capturedMap.has(t.pointerId)&&(r.capturedMap.delete(t.pointerId),n([]))})}}return function(i){let{onPointerMissed:l,internal:a}=e.getState();a.lastEvent.current=i;let c="onPointerMove"===o,u="onClick"===o||"onContextMenu"===o||"onDoubleClick"===o,f=function(t,n){let r=e.getState(),o=new Set,i=[],l=n?n(r.internal.interaction):r.internal.interaction;for(let e=0;e{let n=L(e.object),r=L(t.object);return n&&r&&r.events.priority-n.events.priority||e.distance-t.distance}).filter(e=>{let t=G(e);return!o.has(t)&&(o.add(t),!0)});for(let e of(r.events.filter&&(a=r.events.filter(a,r)),a)){let t=e.object;for(;t;){var s;null!=(s=t.__r3f)&&s.eventCount&&i.push({...e,eventObject:t}),t=t.parent}}if("pointerId"in t&&r.internal.capturedMap.has(t.pointerId))for(let e of r.internal.capturedMap.get(t.pointerId).values())o.has(G(e.intersection))||i.push(e.intersection);return i}(i,c?t:void 0),d=u?function(t){let{internal:n}=e.getState(),r=t.offsetX-n.initialClick[0],o=t.offsetY-n.initialClick[1];return Math.round(Math.sqrt(r*r+o*o))}(i):0;"onPointerDown"===o&&(a.initialClick=[i.offsetX,i.offsetY],a.initialHits=f.map(e=>e.eventObject)),u&&!f.length&&d<=2&&(r(i,a.interaction),l&&l(i)),c&&n(f),!function(e,t,r,o){if(e.length){let i={stopped:!1};for(let l of e){let a=L(l.object);if(a||l.object.traverseAncestors(e=>{let t=L(e);if(t)return a=t,!1}),a){let{raycaster:c,pointer:u,camera:f,internal:d}=a,p=new s.Pq0(u.x,u.y,0).unproject(f),v=e=>{var t,n;return null!=(t=null==(n=d.capturedMap.get(e))?void 0:n.has(l.eventObject))&&t},h=e=>{let n={intersection:l,target:t.target};d.capturedMap.has(e)?d.capturedMap.get(e).set(l.eventObject,n):d.capturedMap.set(e,new Map([[l.eventObject,n]])),t.target.setPointerCapture(e)},m=e=>{let t=d.capturedMap.get(e);t&&K(d.capturedMap,l.eventObject,t,e)},b={};for(let e in t){let n=t[e];"function"!=typeof n&&(b[e]=n)}let y={...l,...b,pointer:u,intersections:e,stopped:i.stopped,delta:r,unprojectedPoint:p,ray:c.ray,camera:f,stopPropagation(){let r="pointerId"in t&&d.capturedMap.get(t.pointerId);(!r||r.has(l.eventObject))&&(y.stopped=i.stopped=!0,d.hovered.size&&Array.from(d.hovered.values()).find(e=>e.eventObject===l.eventObject)&&n([...e.slice(0,e.indexOf(l)),l]))},target:{hasPointerCapture:v,setPointerCapture:h,releasePointerCapture:m},currentTarget:{hasPointerCapture:v,setPointerCapture:h,releasePointerCapture:m},nativeEvent:t};if(o(y),!0===i.stopped)break}}}}(f,i,d,function(e){let t=e.eventObject,n=t.__r3f;if(!(null!=n&&n.eventCount))return;let l=n.handlers;if(c){if(l.onPointerOver||l.onPointerEnter||l.onPointerOut||l.onPointerLeave){let t=G(e),n=a.hovered.get(t);n?n.stopped&&e.stopPropagation():(a.hovered.set(t,e),null==l.onPointerOver||l.onPointerOver(e),null==l.onPointerEnter||l.onPointerEnter(e))}null==l.onPointerMove||l.onPointerMove(e)}else{let n=l[o];n?(!u||a.initialHits.includes(t))&&(r(i,a.interaction.filter(e=>!a.initialHits.includes(e))),n(e)):u&&a.initialHits.includes(t)&&r(i,a.interaction.filter(e=>!a.initialHits.includes(e)))}})}}}}(e);return{priority:1,enabled:!0,compute(e,t,n){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(eF).reduce((e,n)=>({...e,[n]:t(n)}),{}),update:()=>{var t;let{events:n,internal:r}=e.getState();null!=(t=r.lastEvent)&&t.current&&n.handlers&&n.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{let{set:n,events:r}=e.getState();if(null==r.disconnect||r.disconnect(),n(e=>({events:{...e.events,connected:t}})),r.handlers)for(let e in r.handlers){let n=r.handlers[e],[o,i]=eF[e];t.addEventListener(o,n,{passive:i})}},disconnect:()=>{let{set:t,events:n}=e.getState();if(n.connected){if(n.handlers)for(let e in n.handlers){let t=n.handlers[e],[r]=eF[e];n.connected.removeEventListener(r,t)}t(e=>({events:{...e.events,connected:void 0}}))}}}}},1597:(e,t,n)=>{n.d(t,{Hl:()=>f});var r=n(1560),o=n(3279),i=n(7748);function l(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}let a=["x","y","top","bottom","left","right","width","height"];var s=n(4695),c=n(3703);function u({ref:e,children:t,fallback:n,resize:s,style:u,gl:f,events:d=r.f,eventSource:p,eventPrefix:v,shadows:h,linear:m,flat:b,legacy:y,orthographic:g,frameloop:w,dpr:j,performance:C,raycaster:x,camera:E,scene:P,onPointerMissed:M,onCreated:S,..._}){o.useMemo(()=>(0,r.e)(i),[]);let O=(0,r.u)(),[k,T]=function({debounce:e,scroll:t,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){var i,s,c;let u=n||("undefined"==typeof window?class{}:window.ResizeObserver);if(!u)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[f,d]=(0,o.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),p=(0,o.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:f,orientationHandler:null}),v=e?"number"==typeof e?e:e.scroll:null,h=e?"number"==typeof e?e:e.resize:null,m=(0,o.useRef)(!1);(0,o.useEffect)(()=>(m.current=!0,()=>void(m.current=!1)));let[b,y,g]=(0,o.useMemo)(()=>{let e=()=>{let e,t;if(!p.current.element)return;let{left:n,top:o,width:i,height:l,bottom:s,right:c,x:u,y:f}=p.current.element.getBoundingClientRect(),v={left:n,top:o,width:i,height:l,bottom:s,right:c,x:u,y:f};p.current.element instanceof HTMLElement&&r&&(v.height=p.current.element.offsetHeight,v.width=p.current.element.offsetWidth),Object.freeze(v),m.current&&(e=p.current.lastBounds,t=v,!a.every(n=>e[n]===t[n]))&&d(p.current.lastBounds=v)};return[e,h?l(e,h):e,v?l(e,v):e]},[d,r,v,h]);function w(){p.current.scrollContainers&&(p.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",g,!0)),p.current.scrollContainers=null),p.current.resizeObserver&&(p.current.resizeObserver.disconnect(),p.current.resizeObserver=null),p.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",p.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",p.current.orientationHandler))}function j(){p.current.element&&(p.current.resizeObserver=new u(g),p.current.resizeObserver.observe(p.current.element),t&&p.current.scrollContainers&&p.current.scrollContainers.forEach(e=>e.addEventListener("scroll",g,{capture:!0,passive:!0})),p.current.orientationHandler=()=>{g()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",p.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",p.current.orientationHandler))}return i=g,s=!!t,(0,o.useEffect)(()=>{if(s)return window.addEventListener("scroll",i,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",i,!0)},[i,s]),c=y,(0,o.useEffect)(()=>(window.addEventListener("resize",c),()=>void window.removeEventListener("resize",c)),[c]),(0,o.useEffect)(()=>{w(),j()},[t,g,y]),(0,o.useEffect)(()=>w,[]),[e=>{e&&e!==p.current.element&&(w(),p.current.element=e,p.current.scrollContainers=function e(t){let n=[];if(!t||t===document.body)return n;let{overflow:r,overflowX:o,overflowY:i}=window.getComputedStyle(t);return[r,o,i].some(e=>"auto"===e||"scroll"===e)&&n.push(t),[...n,...e(t.parentElement)]}(e),j())},f,b]}({scroll:!0,debounce:{scroll:50,resize:0},...s}),A=o.useRef(null),I=o.useRef(null);o.useImperativeHandle(e,()=>A.current);let L=(0,r.a)(M),[R,z]=o.useState(!1),[H,F]=o.useState(!1);if(R)throw R;if(H)throw H;let q=o.useRef(null);(0,r.b)(()=>{let e=A.current;T.width>0&&T.height>0&&e&&(q.current||(q.current=(0,r.c)(e)),async function(){await q.current.configure({gl:f,scene:P,events:d,shadows:h,linear:m,flat:b,legacy:y,orthographic:g,frameloop:w,dpr:j,performance:C,raycaster:x,camera:E,size:T,onPointerMissed:(...e)=>null==L.current?void 0:L.current(...e),onCreated:e=>{null==e.events.connect||e.events.connect(p?(0,r.i)(p)?p.current:p:I.current),v&&e.setEvents({compute:(e,t)=>{let n=e[v+"X"],r=e[v+"Y"];t.pointer.set(n/t.size.width*2-1,-(2*(r/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==S||S(e)}}),q.current.render((0,c.jsx)(O,{children:(0,c.jsx)(r.E,{set:F,children:(0,c.jsx)(o.Suspense,{fallback:(0,c.jsx)(r.B,{set:z}),children:null!=t?t:null})})}))}())}),o.useEffect(()=>{let e=A.current;if(e)return()=>(0,r.d)(e)},[]);let D=p?"none":"auto";return(0,c.jsx)("div",{ref:I,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:D,...u},..._,children:(0,c.jsx)("div",{ref:k,style:{width:"100%",height:"100%"},children:(0,c.jsx)("canvas",{ref:A,style:{display:"block"},children:n})})})}function f(e){return(0,c.jsx)(s.Af,{children:(0,c.jsx)(u,{...e})})}n(5320),n(133),n(3611)},3611:(e,t,n)=>{e.exports=n(4205)},4205:(e,t)=>{function n(e,t){var n=e.length;for(e.push(t);0>>1,o=e[r];if(0>>1;ri(s,n))ci(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[a]=n,r=a);else if(ci(u,n))e[r]=u,e[c]=n,r=c;else break}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var u=[],f=[],d=1,p=null,v=3,h=!1,m=!1,b=!1,y="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function j(e){for(var t=r(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,n(u,t);else break;t=r(f)}}function C(e){if(b=!1,j(e),!m)if(null!==r(u))m=!0,T();else{var t=r(f);null!==t&&A(C,t.startTime-e)}}var x=!1,E=-1,P=5,M=-1;function S(){return!(t.unstable_now()-Me&&S());){var a=p.callback;if("function"==typeof a){p.callback=null,v=p.priorityLevel;var s=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){p.callback=s,j(e),n=!0;break t}p===r(u)&&o(u),j(e)}else o(u);p=r(u)}if(null!==p)n=!0;else{var c=r(f);null!==c&&A(C,c.startTime-e),n=!1}}break e}finally{p=null,v=i,h=!1}}}finally{n?l():x=!1}}}if("function"==typeof w)l=function(){w(_)};else if("undefined"!=typeof MessageChannel){var O=new MessageChannel,k=O.port2;O.port1.onmessage=_,l=function(){k.postMessage(null)}}else l=function(){y(_,0)};function T(){x||(x=!0,l())}function A(e,n){E=y(function(){e(t.unstable_now())},n)}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(){m||h||(m=!0,T())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=i,n(f,e),null===r(u)&&e===r(f)&&(b?(g(E),E=-1):b=!0,A(C,i-l))):(e.sortIndex=a,n(u,e),m||h||(m=!0,T())),e},t.unstable_shouldYield=S,t.unstable_wrapCallback=function(e){var t=v;return function(){var n=v;v=t;try{return e.apply(this,arguments)}finally{v=n}}}},4695:(e,t,n)=>{n.d(t,{Af:()=>a,Nz:()=>o,u5:()=>s,y3:()=>f});var r=n(3279);function o(e,t,n){if(!e)return;if(!0===n(e))return e;let r=t?e.return:e.child;for(;r;){let e=o(r,t,n);if(e)return e;r=t?null:r.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")})()?r.useLayoutEffect:r.useEffect;let l=i(r.createContext(null));class a extends r.Component{render(){return r.createElement(l.Provider,{value:this._reactInternals},this.props.children)}}function s(){let e=r.useContext(l);if(null===e)throw Error("its-fine: useFiber must be called within a !");let t=r.useId();return r.useMemo(()=>{for(let n of[e,null==e?void 0:e.alternate]){if(!n)continue;let e=o(n,!1,e=>{let n=e.memoizedState;for(;n;){if(n.memoizedState===t)return!0;n=n.next}});if(e)return e}},[e,t])}let c=Symbol.for("react.context"),u=e=>null!==e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===c;function f(){let e=function(){let e=s(),[t]=r.useState(()=>new Map);t.clear();let n=e;for(;n;){let e=n.type;u(e)&&e!==l&&!t.has(e)&&t.set(e,r.use(i(e))),n=n.return}return t}();return r.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>o=>r.createElement(t,null,r.createElement(n.Provider,{...o,value:e.get(n)})),e=>r.createElement(a,{...e})),[e])}},5320:(e,t,n)=>{e.exports=n(857)},6249:(e,t,n)=>{n.d(t,{o:()=>o});var r=n(9459);class o{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 r.qUd(-1,1,1,-1,0,1);class i extends r.LoY{constructor(){super(),this.setAttribute("position",new r.qtW([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new r.qtW([0,2,0,0,2,0],2))}}new i},6551:(e,t,n)=>{e.exports=n(927)},6717:(e,t,n)=>{e.exports=n(8712)},7215:(e,t,n)=>{function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;ti});var o=n(3279);let i=function(e,t){let n=e+"Geometry";return o.forwardRef(({args:e,children:t,...i},l)=>{let a=o.useRef(null);return o.useImperativeHandle(l,()=>a.current),o.useLayoutEffect(()=>void 0),o.createElement("mesh",r({ref:a},i),o.createElement(n,{attach:"geometry",args:e}),t)})}("sphere")},7711:(e,t,n)=>{n.d(t,{mK:()=>j,s0:()=>y});var r=n(3703),o=n(3279),i=n(9459),l=n(1560),a=n(4437);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}new i.I9Y,new i.I9Y;function c(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var u=function e(t,n,r){var o=this;c(this,e),s(this,"dot2",function(e,t){return o.x*e+o.y*t}),s(this,"dot3",function(e,t,n){return o.x*e+o.y*t+o.z*n}),this.x=t,this.y=n,this.z=r},f=[new u(1,1,0),new u(-1,1,0),new u(1,-1,0),new u(-1,-1,0),new u(1,0,1),new u(-1,0,1),new u(1,0,-1),new u(-1,0,-1),new u(0,1,1),new u(0,-1,1),new u(0,1,-1),new u(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],p=Array(512),v=Array(512);!function(e){e>0&&e<1&&(e*=65536),(e=Math.floor(e))<256&&(e|=e<<8);for(var t,n=0;n<256;n++)t=1&n?d[n]^255&e:d[n]^e>>8&255,p[n]=p[n+256]=t,v[n]=v[n+256]=f[t%12]}(0);function h(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 n=0;n(2&e.getAttributes())==2,y=(0,o.memo)((0,o.forwardRef)(({children:e,camera:t,scene:n,resolutionScale:s,enabled:c=!0,renderPriority:u=1,autoClear:f=!0,depthBuffer:d,enableNormalPass:p,stencilBuffer:v,multisampling:h=8,frameBufferType:y=i.ix0},g)=>{let{gl:w,scene:j,camera:C,size:x}=(0,l.C)(),E=n||j,P=t||C,[M,S,_]=(0,o.useMemo)(()=>{let e=new a.s0(w,{depthBuffer:d,stencilBuffer:v,multisampling:h,frameBufferType:y});e.addPass(new a.AH(E,P));let t=null,n=null;return p&&((n=new a.Xe(E,P)).enabled=!1,e.addPass(n),void 0!==s&&((t=new a.SP({normalBuffer:n.texture,resolutionScale:s})).enabled=!1,e.addPass(t))),[e,n,t]},[P,w,d,v,h,y,E,p,s]);(0,o.useEffect)(()=>M?.setSize(x.width,x.height),[M,x]),(0,l.D)((e,t)=>{if(c){let e=w.autoClear;w.autoClear=f,v&&!f&&w.clearStencil(),M.render(t),w.autoClear=e}},c?u:0);let O=(0,o.useRef)(null);(0,o.useLayoutEffect)(()=>{let e=[],t=O.current.__r3f;if(t&&M){let n=t.children;for(let t=0;t{for(let t of e)M?.removePass(t);S&&(S.enabled=!1),_&&(_.enabled=!1)}},[M,e,P,S,_]),(0,o.useEffect)(()=>{let e=w.toneMapping;return w.toneMapping=i.y_p,()=>{w.toneMapping=e}},[w]);let k=(0,o.useMemo)(()=>({composer:M,normalPass:S,downSamplingPass:_,resolutionScale:s,camera:P,scene:E}),[M,S,_,s,P,E]);return(0,o.useImperativeHandle)(g,()=>M,[M]),(0,r.jsx)(m.Provider,{value:k,children:(0,r.jsx)("group",{ref:O,children:e})})})),g=0,w=new WeakMap;a.Mj;let j=((e,t)=>function({blendFunction:n=t?.blendFunction,opacity:i=t?.opacity,...a}){let s=w.get(e);if(!s){let t=`@react-three/postprocessing/${e.name}-${g++}`;(0,l.e)({[t]:e}),w.set(e,s=t)}let c=(0,l.C)(e=>e.camera),u=o.useMemo(()=>[...t?.args??[],...a.args??[{...t,...a}]],[JSON.stringify(a)]);return(0,r.jsx)(s,{camera:c,"blendMode-blendFunction":n,"blendMode-opacity-value":i,...a,args:u})})(a.bv,{blendFunction:0});a.i,a.hH;var C=(e=>(e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.MirroredLinear=2]="MirroredLinear",e))(C||{});a.Mj,a.To;a.Mj;a.Mj;a.Mj},8007:(e,t,n)=>{n.d(t,{y:()=>o});let r=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>l,subscribe:e=>(n.add(e),()=>n.delete(e))},l=t=e(r,o,i);return i},o=e=>e?r(e):r},8171:(e,t,n)=>{n.d(t,{A:()=>r});let r=function(){for(var e,t,n=0,r="",o=arguments.length;n{var r=n(3279),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=r.useState,l=r.useEffect,a=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),o=r[0].inst,u=r[1];return a(function(){o.value=n,o.getSnapshot=t,c(o)&&u({inst:o})},[e,n,t]),l(function(){return c(o)&&u({inst:o}),e(function(){c(o)&&u({inst:o})})},[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},9463:(e,t,n)=>{var r=n(8303);n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}})}}]);