@react-three/drei 7.14.0 → 7.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),n=require("react-dom"),r=require("three"),o=require("@react-three/fiber"),a=require("zustand"),s=require("react-merge-refs"),i=require("blob-polyfill"),u=require("three-stdlib"),c=require("troika-three-text"),l=require("use-asset"),C=require("lodash.omit"),m=require("lodash.pick"),A=require("three/examples/js/libs/stats.min"),_=require("detect-gpu"),p=require("three-mesh-bvh"),d=require("react-composer");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function B(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var E=f(e),D=B(t),h=B(n),v=B(r),g=f(a),x=f(s),F=f(C),w=f(m),y=f(A),b=f(d);const P=new r.Vector3,S=new r.Vector3,M=new r.Vector3;function T(e,t,n){const r=P.setFromMatrixPosition(e.matrixWorld);r.project(t);const o=n.width/2,a=n.height/2;return[r.x*o+o,-r.y*a+a]}const z=e=>Math.abs(e)<1e-10?0:e;function L(e,t,n=""){let r="matrix3d(";for(let n=0;16!==n;n++)r+=z(t[n]*e.elements[n])+(15!==n?",":")");return n+r}const R=(O=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>L(e,O));var O;const G=(e,t)=>{return L(e,[1/(n=t),1/n,1/n,1,-1/n,-1/n,-1/n,-1,1/n,1/n,1/n,1,1,1,1,1],"translate(-50%,-50%)");var n},k=D.forwardRef((({children:e,eps:t=.001,style:n,className:a,prepend:s,center:i,fullscreen:u,portal:c,distanceFactor:l,sprite:C=!1,transform:m=!1,occlude:A,onOcclude:_,zIndexRange:p=[16777271,0],calculatePosition:d=T,as:f="div",pointerEvents:B="auto",...v},g)=>{var x;const F=o.useThree((({gl:e})=>e)),w=o.useThree((({camera:e})=>e)),y=o.useThree((({scene:e})=>e)),b=o.useThree((({size:e})=>e)),L=o.useThree((({raycaster:e})=>e)),[O]=D.useState((()=>document.createElement(f))),k=D.useRef(null),j=D.useRef(0),H=D.useRef([0,0]),N=D.useRef(null),U=D.useRef(null),Q=null!==(x=null==c?void 0:c.current)&&void 0!==x?x:F.domElement.parentNode;D.useEffect((()=>{if(k.current){if(y.updateMatrixWorld(),m)O.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=d(k.current,w,b);O.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Q&&(s?Q.prepend(O):Q.appendChild(O)),()=>{Q&&Q.removeChild(O),h.unmountComponentAtNode(O)}}}),[Q,m]);const Y=D.useMemo((()=>m?{position:"absolute",top:0,left:0,width:b.width,height:b.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:i?"translate3d(-50%,-50%,0)":"none",...u&&{top:-b.height/2,left:-b.width/2,width:b.width,height:b.height},...n}),[n,i,u,b,m]),W=D.useMemo((()=>({position:"absolute",pointerEvents:B})),[B]);D.useLayoutEffect((()=>{m?h.render(D.createElement("div",{ref:N,style:Y},D.createElement("div",{ref:U,style:W},D.createElement("div",{ref:g,className:a,style:n,children:e}))),O):h.render(D.createElement("div",{ref:g,style:Y,className:a,children:e}),O)}));const I=D.useRef(!0);return o.useFrame((()=>{if(k.current){w.updateMatrixWorld(),k.current.updateWorldMatrix(!0,!1);const e=m?H.current:d(k.current,w,b);if(m||Math.abs(j.current-w.zoom)>t||Math.abs(H.current[0]-e[0])>t||Math.abs(H.current[1]-e[1])>t){const t=function(e,t){const n=P.setFromMatrixPosition(e.matrixWorld),r=S.setFromMatrixPosition(t.matrixWorld),o=n.sub(r),a=t.getWorldDirection(M);return o.angleTo(a)>Math.PI/2}(k.current,w);let n=!1;"boolean"==typeof A?!0===A&&(n=[y]):Array.isArray(A)&&(n=A.map((e=>e.current)));const o=I.current;if(n){const e=function(e,t,n,r){const o=P.setFromMatrixPosition(e.matrixWorld),a=o.clone();a.project(t),n.setFromCamera(a,t);const s=n.intersectObjects(r,!0);if(s.length){const e=s[0].distance;return o.distanceTo(n.ray.origin)<e}return!0}(k.current,w,L,n);I.current=e&&!t}else I.current=!t;if(o!==I.current&&(_?_(!I.current):O.style.display=I.current?"block":"none"),O.style.zIndex=`${function(e,t,n){if(t instanceof r.PerspectiveCamera||t instanceof r.OrthographicCamera){const r=P.setFromMatrixPosition(e.matrixWorld),o=S.setFromMatrixPosition(t.matrixWorld),a=r.distanceTo(o),s=(n[1]-n[0])/(t.far-t.near),i=n[1]-s*t.far;return Math.round(s*a+i)}}(k.current,w,p)}`,m){const[e,t]=[b.width/2,b.height/2],n=w.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:o,left:a,bottom:s,right:i}=w,u=R(w.matrixWorldInverse),c=r?`scale(${n})translate(${z(-(i+a)/2)}px,${z((o+s)/2)}px)`:`translateZ(${n}px)`;let m=k.current.matrixWorld;C&&(m=w.matrixWorldInverse.clone().transpose().copyPosition(m).scale(k.current.scale),m.elements[3]=m.elements[7]=m.elements[11]=0,m.elements[15]=1),O.style.width=b.width+"px",O.style.height=b.height+"px",O.style.perspective=r?"":`${n}px`,N.current&&U.current&&(N.current.style.transform=`${c}${u}translate(${e}px,${t}px)`,U.current.style.transform=G(m,1/((l||10)/400)))}else{const t=void 0===l?1:function(e,t){if(t instanceof r.OrthographicCamera)return t.zoom;if(t instanceof r.PerspectiveCamera){const n=P.setFromMatrixPosition(e.matrixWorld),r=S.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,a=n.distanceTo(r);return 1/(2*Math.tan(o/2)*a)}return 1}(k.current,w)*l;O.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}H.current=e,j.current=w.zoom}}})),D.createElement("group",E.default({},v,{ref:k}))}));let j=0;const H=g.default((e=>(r.DefaultLoadingManager.onStart=(t,n,r)=>{e({active:!0,item:t,loaded:n,total:r,progress:(n-j)/(r-j)*100})},r.DefaultLoadingManager.onLoad=()=>{e({active:!1})},r.DefaultLoadingManager.onError=t=>e((e=>({errors:[...e.errors,t]}))),r.DefaultLoadingManager.onProgress=(t,n,r)=>{n===r&&(j=r),e({active:!0,item:t,loaded:n,total:r,progress:(n-j)/(r-j)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}))),N=e=>`Loading ${e.toFixed(2)}%`;const U={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}},Q=D.forwardRef((function({follow:e=!0,lockX:t=!1,lockY:n=!1,lockZ:r=!1,...a},s){const i=D.useRef();return o.useFrame((({camera:o})=>{if(!e||!i.current)return;const a=i.current.rotation.clone();i.current.quaternion.copy(o.quaternion),t&&(i.current.rotation.x=a.x),n&&(i.current.rotation.y=a.y),r&&(i.current.rotation.z=a.z)})),D.createElement("group",E.default({ref:x.default([i,s])},a))})),Y=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function W(e){const t=o.useLoader(r.TextureLoader,Y(e)?Object.values(e):e);if(Y(e)){const n=Object.keys(e),r={};return n.forEach((e=>Object.assign(r,{[e]:t[n.indexOf(e)]}))),r}return t}function I(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n),o=0;o<t;o++)r[o]=e.charCodeAt(o);return n}W.preload=e=>o.useLoader.preload(r.TextureLoader,e),W.clear=e=>o.useLoader.clear(r.TextureLoader,e);var V=((e,t)=>{return URL.createObjectURL(new i.Blob([I((n=e,"undefined"==typeof window?Buffer.from(n,"base64").toString("binary"):atob(n)))],{type:t}));var n})("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","img/png");const X=D.forwardRef((function({points:e,color:t="black",vertexColors:n,lineWidth:o,dashed:a,...s},i){const[c]=D.useState((()=>new u.Line2)),[l]=D.useState((()=>new u.LineMaterial)),[C]=D.useState((()=>new r.Vector2(512,512))),m=D.useMemo((()=>{const t=new u.LineGeometry,o=e.map((e=>e instanceof r.Vector3?e.toArray():e));if(t.setPositions(o.flat()),n){const e=n.map((e=>e instanceof r.Color?e.toArray():e));t.setColors(e.flat())}return t}),[e,n]);return D.useLayoutEffect((()=>{c.computeLineDistances()}),[e,c]),D.useLayoutEffect((()=>{a?l.defines.USE_DASH="":delete l.defines.USE_DASH,l.needsUpdate=!0}),[a,l]),D.useEffect((()=>()=>m.dispose()),[m]),D.createElement("primitive",E.default({object:c,ref:i},s),D.createElement("primitive",{object:m,attach:"geometry"}),D.createElement("primitive",E.default({object:l,attach:"material",color:t,vertexColors:Boolean(n),resolution:C,linewidth:o,dashed:a},s)))})),Z=D.forwardRef((function({start:e,end:t,mid:n,segments:o=20,...a},s){const i=D.useMemo((()=>{const a=e instanceof r.Vector3?e:new r.Vector3(...e),s=t instanceof r.Vector3?t:new r.Vector3(...t),i=n||a.clone().add(s.clone().sub(a)).add(new r.Vector3(0,a.y-s.y,0)),u=i instanceof r.Vector3?i:new r.Vector3(...i);return new r.QuadraticBezierCurve3(a,u,s).getPoints(o)}),[e,t,n,o]);return D.createElement(X,E.default({ref:s,points:i},a))})),K=D.forwardRef((function({start:e,end:t,midA:n,midB:o,segments:a=20,...s},i){const u=D.useMemo((()=>{const s=e instanceof r.Vector3?e:new r.Vector3(...e),i=t instanceof r.Vector3?t:new r.Vector3(...t),u=n instanceof r.Vector3?n:new r.Vector3(...n),c=o instanceof r.Vector3?o:new r.Vector3(...o);return new r.CubicBezierCurve3(s,u,c,i).getPoints(a)}),[e,t,n,o,a]);return D.createElement(X,E.default({ref:i,points:u},s))})),J=D.forwardRef((({url:e,distance:t=1,loop:n=!0,autoplay:a,...s},i)=>{const u=D.useRef(),c=o.useThree((({camera:e})=>e)),[l]=D.useState((()=>new r.AudioListener)),C=o.useLoader(r.AudioLoader,e);return D.useEffect((()=>{const e=u.current;e&&(e.setBuffer(C),e.setRefDistance(t),e.setLoop(n),a&&!e.isPlaying&&e.play())}),[C,c,t,n]),D.useEffect((()=>{const e=u.current;return c.add(l),()=>{c.remove(l),e&&(e.isPlaying&&e.stop(),e.source&&e.source._connected&&e.disconnect())}}),[]),D.createElement("positionalAudio",E.default({ref:x.default([u,i]),args:[l]},s))})),q=D.forwardRef((({anchorX:e="center",anchorY:t="middle",children:n,onSync:r,...a},s)=>{const i=o.useThree((({invalidate:e})=>e)),[u]=D.useState((()=>new c.Text)),[l,C]=D.useMemo((()=>{const e=[];let t="";return D.Children.forEach(n,(n=>{"string"==typeof n||"number"==typeof n?t+=n:e.push(n)})),[e,t]}),[n]);return D.useLayoutEffect((()=>{u.sync((()=>{i(),r&&r(u)}))})),D.useEffect((()=>()=>u.dispose()),[u]),D.createElement("primitive",E.default({object:u,ref:s,text:C,anchorX:e,anchorY:t},a),l)})),$={sunset:"venice_sunset_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",night:"dikhololo_night_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr",forest:"forest_slope_1k.hdr",apartment:"lebombo_1k.hdr",studio:"studio_small_03_1k.hdr",city:"potsdamer_platz_1k.hdr",park:"rooitou_park_1k.hdr",lobby:"st_fagans_interior_1k.hdr"};function ee({background:e=!1,files:t=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:n="",preset:a,scene:s,extensions:i}){if(a){if(!(a in $))throw new Error("Preset must be one of: "+Object.keys($).join(", "));t=$[a],n="https://rawcdn.githack.com/pmndrs/drei-assets/aa3600359ba664d546d05821bcbca42013587df2/hdri/"}const c=o.useThree((({scene:e})=>e)),C=o.useThree((({gl:e})=>e)),m=Array.isArray(t),A=m?r.CubeTextureLoader:u.RGBELoader,_=o.useLoader(A,m?[t]:t,(e=>{e.setPath(n),i&&i(e)})),p=m?_[0]:_,d=l.useAsset((()=>new Promise((e=>{const t=new r.PMREMGenerator(C),n=function(e,t,n){return n?(t.compileEquirectangularShader(),t.fromCubemap(e).texture):t.fromEquirectangular(e).texture}(p,t,m);t.dispose(),e(n)}))),p);return D.useLayoutEffect((()=>{const t=s?s.background:c.background,n=s?s.environment:c.environment;return s?(s.environment=d,e&&(s.background=d)):(c.environment=d,e&&(c.background=d)),()=>{s?(s.environment=n,s.background=t):(c.environment=n,c.background=t),l.useAsset.clear(p),d.dispose()}}),[d,e,s]),null}o.extend({EffectComposer:u.EffectComposer,RenderPass:u.RenderPass,ShaderPass:u.ShaderPass});const te=()=>{try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}},ne=D.forwardRef((({children:e,multisamping:t=8,renderIndex:n=1,disableGamma:a=!1,disableRenderPass:s=!1,...i},c)=>{const l=D.useRef(),C=o.useThree((({scene:e})=>e)),m=o.useThree((({camera:e})=>e)),A=o.useThree((({gl:e})=>e)),_=o.useThree((({size:e})=>e)),[p]=D.useState((()=>{if(te()&&t>0){const e=new r.WebGLMultisampleRenderTarget(_.width,_.height,{format:r.RGBAFormat,encoding:r.sRGBEncoding});return e.samples=8,e}}));return D.useEffect((()=>{var e,t;null==(e=l.current)||e.setSize(_.width,_.height),null==(t=l.current)||t.setPixelRatio(A.getPixelRatio())}),[A,_]),o.useFrame((()=>{var e;return null==(e=l.current)?void 0:e.render()}),n),D.createElement("effectComposer",E.default({ref:x.default([c,l]),args:[A,p]},i),!s&&D.createElement("renderPass",{attachArray:"passes",args:[C,m]}),!a&&D.createElement("shaderPass",{attachArray:"passes",args:[u.GammaCorrectionShader]}),e)}));const re=D.forwardRef((({makeDefault:e,manual:t,...n},r)=>{const a=o.useThree((({set:e})=>e)),s=o.useThree((({camera:e})=>e)),i=o.useThree((({size:e})=>e)),u=D.useRef();return D.useLayoutEffect((()=>{u.current&&!t&&u.current.updateProjectionMatrix()}),[i,n]),D.useLayoutEffect((()=>{if(e&&u.current){const e=s;return a((()=>({camera:u.current}))),()=>a((()=>({camera:e})))}}),[s,u,e,a]),D.createElement("orthographicCamera",E.default({left:i.width/-2,right:i.width/2,top:i.height/2,bottom:i.height/-2,ref:x.default([u,r])},n))})),oe=D.forwardRef((({makeDefault:e,manual:t,...n},r)=>{const a=o.useThree((({set:e})=>e)),s=o.useThree((({camera:e})=>e)),i=o.useThree((({size:e})=>e)),u=D.useRef();return D.useLayoutEffect((()=>{const{current:e}=u;e&&!t&&(e.aspect=i.width/i.height,e.updateProjectionMatrix())}),[i,n]),D.useLayoutEffect((()=>{if(e&&u.current){const e=s;return a((()=>({camera:u.current}))),()=>a((()=>({camera:e})))}}),[s,u,e,a]),D.createElement("perspectiveCamera",E.default({ref:x.default([u,r])},n))})),ae=D.forwardRef((({intensity:e=1,decay:t,decayRate:n=.65,maxYaw:r=.1,maxPitch:a=.1,maxRoll:s=.1,yawFrequency:i=1,pitchFrequency:c=1,rollFrequency:l=1,controls:C},m)=>{const A=o.useThree((e=>e.camera)),_=o.useThree((e=>e.controls)),p=D.useRef(e),d=D.useRef(A.rotation.clone()),[f]=D.useState((()=>new u.SimplexNoise)),[B]=D.useState((()=>new u.SimplexNoise)),[E]=D.useState((()=>new u.SimplexNoise)),h=()=>{(p.current<0||p.current>1)&&(p.current=p.current<0?0:1)};return D.useImperativeHandle(m,(()=>({getIntensity:()=>p.current,setIntensity:e=>{p.current=e,h()}})),[]),D.useEffect((()=>{const e=_||(null==C?void 0:C.current),t=()=>{d.current=A.rotation.clone()};return null==e||e.addEventListener("change",t),()=>{null==e||e.removeEventListener("change",t)}}),[C,_]),o.useFrame((({clock:e},o)=>{const u=Math.pow(p.current,2),C=r*u*f.noise(e.elapsedTime*i,1),m=a*u*B.noise(e.elapsedTime*c,1),_=s*u*E.noise(e.elapsedTime*l,1);A.rotation.set(d.current.x+m,d.current.y+C,d.current.z+_),t&&p.current>0&&(p.current-=n*o,h())})),null}));const se=D.forwardRef(((e,t)=>{const{camera:n,onChange:r,...a}=e,s=o.useThree((({camera:e})=>e)),i=o.useThree((({invalidate:e})=>e)),c=n||s,[l]=D.useState((()=>new u.DeviceOrientationControls(c)));return D.useEffect((()=>{const e=e=>{i(),r&&r(e)};return null==l||null==l.addEventListener||l.addEventListener("change",e),()=>null==l||null==l.removeEventListener?void 0:l.removeEventListener("change",e)}),[r,l,i]),o.useFrame((()=>null==l?void 0:l.update())),D.useEffect((()=>{const e=l;return null==e||e.connect(),()=>null==e?void 0:e.dispose()}),[l]),l?D.createElement("primitive",E.default({ref:t,dispose:void 0,object:l},a)):null})),ie=D.forwardRef(((e,t)=>{const{onChange:n,...r}=e,a=o.useThree((({invalidate:e})=>e)),s=o.useThree((({camera:e})=>e)),i=o.useThree((({gl:e})=>e)),[c]=D.useState((()=>new u.FlyControls(s,i.domElement)));return D.useEffect((()=>{const e=e=>{a(),n&&n(e)};return null==c||null==c.addEventListener||c.addEventListener("change",e),()=>null==c||null==c.removeEventListener?void 0:c.removeEventListener("change",e)}),[n,c,a]),o.useFrame(((e,t)=>null==c?void 0:c.update(t))),c?D.createElement("primitive",E.default({ref:t,dispose:void 0,object:c},r)):null})),ue=D.forwardRef(((e={enableDamping:!0},t)=>{const{camera:n,onChange:r,onStart:a,onEnd:s,...i}=e,c=o.useThree((({invalidate:e})=>e)),l=o.useThree((({camera:e})=>e)),C=o.useThree((({gl:e})=>e.domElement)),m=n||l,A=D.useMemo((()=>new u.MapControls(m)),[m]);return D.useEffect((()=>{A.connect(C);const e=e=>{c(),r&&r(e)};return A.addEventListener("change",e),a&&A.addEventListener("start",a),s&&A.addEventListener("end",s),()=>{A.dispose(),A.removeEventListener("change",e),a&&A.removeEventListener("start",a),s&&A.removeEventListener("end",s)}}),[r,a,s,A,c,C]),o.useFrame((()=>A.update())),D.createElement("primitive",E.default({ref:t,dispose:void 0,object:A,enableDamping:!0},i))})),ce=D.forwardRef((({makeDefault:e,camera:t,regress:n,domElement:r,enableDamping:a=!0,onChange:s,onStart:i,onEnd:c,...l},C)=>{const m=o.useThree((({invalidate:e})=>e)),A=o.useThree((({camera:e})=>e)),_=o.useThree((({gl:e})=>e)),p=o.useThree((({events:e})=>e)),d=o.useThree((({set:e})=>e)),f=o.useThree((({get:e})=>e)),B=o.useThree((({performance:e})=>e)),h=t||A,v=r||("boolean"!=typeof p.connected?p.connected:_.domElement),g=D.useMemo((()=>new u.OrbitControls(h)),[h]);return o.useFrame((()=>{g.enabled&&g.update()})),D.useEffect((()=>{const e=e=>{m(),n&&B.regress(),s&&s(e)};return g.connect(v),g.addEventListener("change",e),i&&g.addEventListener("start",i),c&&g.addEventListener("end",c),()=>{g.removeEventListener("change",e),i&&g.removeEventListener("start",i),c&&g.removeEventListener("end",c),g.dispose()}}),[v,s,i,c,n,g,m]),D.useEffect((()=>{if(e){const e=f().controls;return d({controls:g}),()=>d({controls:e})}}),[e,g]),D.createElement("primitive",E.default({ref:C,object:g,enableDamping:a},l))})),le=D.forwardRef((({makeDefault:e,camera:t,domElement:n,regress:r,onChange:a,onStart:s,onEnd:i,...c},l)=>{const C=o.useThree((({invalidate:e})=>e)),m=o.useThree((({camera:e})=>e)),A=o.useThree((({gl:e})=>e)),_=o.useThree((({events:e})=>e)),p=o.useThree((({set:e})=>e)),d=o.useThree((({get:e})=>e)),f=o.useThree((({performance:e})=>e)),B=t||m,h=n||("boolean"!=typeof _.connected?_.connected:A.domElement),v=D.useMemo((()=>new u.TrackballControls(B)),[B]);return o.useFrame((()=>{v.enabled&&v.update()})),D.useEffect((()=>{const e=e=>{C(),r&&f.regress(),a&&a(e)};return v.connect(h),v.addEventListener("change",e),s&&v.addEventListener("start",s),i&&v.addEventListener("end",i),()=>{v.removeEventListener("change",e),s&&v.removeEventListener("start",s),i&&v.removeEventListener("end",i),v.dispose()}}),[h,a,s,i,r,v,C]),D.useEffect((()=>{if(e){const e=d().controls;return p({controls:v}),()=>p({controls:e})}}),[e,v]),D.createElement("primitive",E.default({ref:l,object:v},c))})),Ce=D.forwardRef((({makeDefault:e,camera:t,regress:n,domElement:r,onChange:a,onStart:s,onEnd:i,...c},l)=>{const C=o.useThree((({invalidate:e})=>e)),m=o.useThree((({camera:e})=>e)),A=o.useThree((({gl:e})=>e)),_=o.useThree((({events:e})=>e)),p=o.useThree((({set:e})=>e)),d=o.useThree((({get:e})=>e)),f=o.useThree((({performance:e})=>e)),B=t||m,h=r||("boolean"!=typeof _.connected?_.connected:A.domElement),v=D.useMemo((()=>new u.ArcballControls(B)),[B]);return o.useFrame((()=>{v.enabled&&v.update()})),D.useEffect((()=>{const e=e=>{C(),n&&f.regress(),a&&a(e)};return v.connect(h),v.addEventListener("change",e),s&&v.addEventListener("start",s),i&&v.addEventListener("end",i),()=>{v.removeEventListener("change",e),s&&v.removeEventListener("start",s),i&&v.removeEventListener("end",i),v.dispose()}}),[h,a,s,i,n,v,C]),D.useEffect((()=>{if(e){const e=d().controls;return p({controls:v}),()=>p({controls:e})}}),[e,v]),D.createElement("primitive",E.default({ref:l,object:v},c))})),me=D.forwardRef((({children:e,onChange:t,onMouseDown:n,onMouseUp:r,onObjectChange:a,object:s,...i},c)=>{const l=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:C,...m}=i,A=w.default(m,l),_=F.default(m,l),p=o.useThree((e=>e.controls)),d=o.useThree((({gl:e})=>e)),f=o.useThree((({camera:e})=>e)),B=o.useThree((({invalidate:e})=>e)),h=C||f,[g]=D.useState((()=>new u.TransformControls(h,d.domElement))),x=D.useRef();return D.useLayoutEffect((()=>{s?null==g||g.attach(s instanceof v.Object3D?s:s.current):null==g||g.attach(x.current)}),[s,e,g]),D.useEffect((()=>{if(p){const e=e=>p.enabled=!e.value;return g.addEventListener("dragging-changed",e),()=>g.removeEventListener("dragging-changed",e)}}),[g,p]),D.useEffect((()=>{const e=e=>{B(),t&&t(e)};return null==g||null==g.addEventListener||g.addEventListener("change",e),n&&(null==g||null==g.addEventListener||g.addEventListener("mouseDown",n)),r&&(null==g||null==g.addEventListener||g.addEventListener("mouseUp",r)),a&&(null==g||null==g.addEventListener||g.addEventListener("objectChange",a)),()=>{null==g||null==g.removeEventListener||g.removeEventListener("change",e),n&&(null==g||null==g.removeEventListener||g.removeEventListener("mouseDown",n)),r&&(null==g||null==g.removeEventListener||g.removeEventListener("mouseUp",r)),a&&(null==g||null==g.removeEventListener||g.removeEventListener("objectChange",a))}}),[t,n,r,a,g,B]),g?D.createElement(D.Fragment,null,D.createElement("primitive",E.default({ref:c,dispose:void 0,object:g},A)),D.createElement("group",E.default({ref:x},_),e)):null})),Ae=D.forwardRef((({selector:e,onChange:t,onLock:n,onUnlock:r,...a},s)=>{const{camera:i,...c}=a,l=o.useThree((({gl:e})=>e)),C=o.useThree((({camera:e})=>e)),m=o.useThree((({invalidate:e})=>e)),A=i||C,[_]=D.useState((()=>new u.PointerLockControls(A,l.domElement)));return D.useEffect((()=>{const e=e=>{m(),t&&t(e)};return null==_||null==_.addEventListener||_.addEventListener("change",e),n&&(null==_||null==_.addEventListener||_.addEventListener("lock",n)),r&&(null==_||null==_.addEventListener||_.addEventListener("unlock",r)),()=>{null==_||null==_.removeEventListener||_.removeEventListener("change",e),n&&(null==_||null==_.addEventListener||_.addEventListener("lock",n)),r&&(null==_||null==_.addEventListener||_.addEventListener("unlock",r))}}),[t,n,r,_,m]),D.useEffect((()=>{const t=()=>null==_?void 0:_.lock(),n=e?Array.from(document.querySelectorAll(e)):[document];return n.forEach((e=>e&&e.addEventListener("click",t))),()=>{n.forEach((e=>e?e.removeEventListener("click",t):void 0))}}),[_,e]),_?D.createElement("primitive",E.default({ref:s,dispose:void 0,object:_},c)):null})),_e=D.forwardRef(((e,t)=>{const n=o.useThree((({camera:e})=>e)),r=o.useThree((({gl:e})=>e)),[a]=D.useState((()=>new u.FirstPersonControls(n,r.domElement)));return o.useFrame(((e,t)=>{a.update(t)})),a?D.createElement("primitive",E.default({ref:t,object:a},e)):null}));function pe(e,t){const n=o.useThree((e=>e.mouse)),[a]=D.useState((()=>{const a=new r.Raycaster;return t&&o.applyProps(a,t,{}),function(t,o){a.setFromCamera(n,e instanceof r.Camera?e:e.current);const s=this.constructor.prototype.raycast.bind(this);s&&s(a,o)}}));return a}const de=D.createContext({}),fe=()=>D.useContext(de),Be=2*Math.PI,Ee=new r.Object3D,De=new r.Matrix4,[he,ve]=[new r.Quaternion,new r.Quaternion],ge=new r.Vector3,xe=new r.Vector3,Fe="#f0f0f0",we="#999",ye="black",be="black",Pe=["Right","Left","Top","Bottom","Front","Back"],Se=e=>new r.Vector3(...e).multiplyScalar(.38),Me=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(Se),Te=[.25,.25,.25],ze=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(Se),Le=ze.map((e=>e.toArray().map((e=>0==e?.5:.25)))),Re=({hover:e,index:t,font:n="20px Inter var, Arial, sans-serif",faces:o=Pe,color:a=Fe,hoverColor:s=we,textColor:i=ye,strokeColor:u=be,opacity:c=1})=>{const l=D.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const s=e.getContext("2d");return s.fillStyle=a,s.fillRect(0,0,e.width,e.height),s.strokeStyle=u,s.strokeRect(0,0,e.width,e.height),s.font=n,s.textAlign="center",s.fillStyle=i,s.fillText(o[t].toUpperCase(),64,76),new r.CanvasTexture(e)}),[t,n,a,i,u]);return D.createElement("meshLambertMaterial",{map:l,attachArray:"material",color:e?s:"white",transparent:!0,opacity:c})},Oe=e=>{const{tweenCamera:t,raycast:n}=fe(),[r,o]=D.useState(null);return D.createElement("mesh",{raycast:n,onPointerOut:e=>{e.stopPropagation(),o(null)},onPointerMove:e=>{e.stopPropagation(),o(Math.floor(e.faceIndex/2))},onClick:e.onClick||(e=>{e.stopPropagation(),t(e.face.normal)})},[...Array(6)].map(((t,n)=>D.createElement(Re,E.default({key:n,index:n,hover:r===n},e)))),D.createElement("boxGeometry",null))},Ge=({onClick:e,dimensions:t,position:n,hoverColor:r=we})=>{const{tweenCamera:o,raycast:a}=fe(),[s,i]=D.useState(!1);return D.createElement("mesh",{scale:1.01,position:n,raycast:a,onPointerOver:e=>{e.stopPropagation(),i(!0)},onPointerOut:e=>{e.stopPropagation(),i(!1)},onClick:e||(e=>{e.stopPropagation(),o(n)})},D.createElement("meshBasicMaterial",{color:s?r:"white",transparent:!0,opacity:.6,visible:s}),D.createElement("boxGeometry",{args:t}))};function ke({color:e,rotation:t}){return D.createElement("group",{rotation:t},D.createElement("mesh",{position:[.4,0,0]},D.createElement("boxGeometry",{args:[.8,.05,.05]}),D.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function je({onClick:e,font:t,disabled:n,arcStyle:o,label:a,labelColor:s,...i}){const u=D.useMemo((()=>{const e=document.createElement("canvas");e.width=64,e.height=64;const n=e.getContext("2d");return n.beginPath(),n.arc(32,32,16,0,2*Math.PI),n.closePath(),n.fillStyle=o,n.fill(),a&&(n.font=t,n.textAlign="center",n.fillStyle=s,n.fillText(a,32,41)),new r.CanvasTexture(e)}),[o,a,s,t]),[c,l]=D.useState(!1),C=(a?1:.75)*(c?1.2:1);return D.createElement("sprite",E.default({scale:C,onPointerOver:n?void 0:e=>{e.stopPropagation(),l(!0)},onPointerOut:n?void 0:e||(e=>{e.stopPropagation(),l(!1)})},i),D.createElement("spriteMaterial",{map:u,alphaTest:.3,opacity:a?1:.75,toneMapped:!1}))}function He(e,{path:t}){const[n]=o.useLoader(r.CubeTextureLoader,[e],(e=>e.setPath(t)));return n}function Ne(e){return o.useLoader(u.FBXLoader,e)}function Ue(e,t,n){return r=>{if(n&&n(r),e){const t=new u.DRACOLoader;t.setDecoderPath("string"==typeof e?e:"https://www.gstatic.com/draco/v1/decoders/"),r.setDRACOLoader(t)}t&&r.setMeshoptDecoder("function"==typeof u.MeshoptDecoder?u.MeshoptDecoder():u.MeshoptDecoder)}}function Qe(e,t=!0,n=!0,r){return o.useLoader(u.GLTFLoader,e,Ue(t,n,r))}He.preload=(e,{path:t})=>o.useLoader.preload(r.CubeTextureLoader,[e],(e=>e.setPath(t))),Ne.preload=e=>o.useLoader.preload(u.FBXLoader,e),Ne.clear=e=>o.useLoader.clear(u.FBXLoader,e),Qe.preload=(e,t=!0,n=!0,r)=>o.useLoader.preload(u.GLTFLoader,e,Ue(t,n,r)),Qe.clear=e=>o.useLoader.clear(u.GLTFLoader,e);class Ye extends r.MeshStandardMaterial{constructor(e={}){super(e),this._debug={value:0},this._tDepth={value:null},this._distortionMap={value:null},this._tDiffuse={value:null},this._u_mipmap_0={value:null},this._u_mipmap_1={value:null},this._u_mipmap_2={value:null},this._u_mipmap_3={value:null},this._u_mipmap_4={value:null},this._u_mipmap_5={value:null},this._u_mipmap_6={value:null},this._u_mipmap_7={value:null},this._u_mipmap_res_0={value:null},this._u_mipmap_res_1={value:null},this._u_mipmap_res_2={value:null},this._u_mipmap_res_3={value:null},this._u_mipmap_res_4={value:null},this._u_mipmap_res_5={value:null},this._u_mipmap_res_6={value:null},this._u_mipmap_res_7={value:null},this._textureMatrix={value:null},this._mirror={value:0},this._mixBlur={value:0},this._blurStrength={value:.5},this._minDepthThreshold={value:.9},this._maxDepthThreshold={value:1},this._depthScale={value:0},this._depthToBlurRatioBias={value:.25},this._distortion={value:1},this.setValues(e)}onBeforeCompile(e){var t;null!=(t=e.defines)&&t.USE_UV||(e.defines.USE_UV=""),e.uniforms.debug=this._debug,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.u_mipmap_0=this._u_mipmap_0,e.uniforms.u_mipmap_1=this._u_mipmap_1,e.uniforms.u_mipmap_2=this._u_mipmap_2,e.uniforms.u_mipmap_3=this._u_mipmap_3,e.uniforms.u_mipmap_4=this._u_mipmap_4,e.uniforms.u_mipmap_5=this._u_mipmap_5,e.uniforms.u_mipmap_6=this._u_mipmap_6,e.uniforms.u_mipmap_7=this._u_mipmap_7,e.uniforms.u_mipmap_res_0=this._u_mipmap_res_0,e.uniforms.u_mipmap_res_1=this._u_mipmap_res_1,e.uniforms.u_mipmap_res_2=this._u_mipmap_res_2,e.uniforms.u_mipmap_res_3=this._u_mipmap_res_3,e.uniforms.u_mipmap_res_4=this._u_mipmap_res_4,e.uniforms.u_mipmap_res_5=this._u_mipmap_res_5,e.uniforms.u_mipmap_res_6=this._u_mipmap_res_6,e.uniforms.u_mipmap_res_7=this._u_mipmap_res_7,e.uniforms.textureMatrix=this._textureMatrix,e.uniforms.mirror=this._mirror,e.uniforms.mixBlur=this._mixBlur,e.uniforms.mixStrength=this._blurStrength,e.uniforms.minDepthThreshold=this._minDepthThreshold,e.uniforms.maxDepthThreshold=this._maxDepthThreshold,e.uniforms.depthScale=this._depthScale,e.uniforms.depthToBlurRatioBias=this._depthToBlurRatioBias,e.uniforms.distortion=this._distortion,e.vertexShader=`\n uniform mat4 textureMatrix;\n varying vec4 my_vUv; \n ${e.vertexShader}`,e.vertexShader=e.vertexShader.replace("#include <project_vertex>","#include <project_vertex>\n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader=`\n uniform int debug;\n uniform sampler2D tDiffuse;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform sampler2D u_mipmap_0;\n uniform sampler2D u_mipmap_1;\n uniform sampler2D u_mipmap_2;\n uniform sampler2D u_mipmap_3;\n uniform sampler2D u_mipmap_4;\n uniform sampler2D u_mipmap_5;\n uniform sampler2D u_mipmap_6;\n uniform sampler2D u_mipmap_7;\n uniform vec2 u_mipmap_res_0;\n uniform vec2 u_mipmap_res_1;\n uniform vec2 u_mipmap_res_2;\n uniform vec2 u_mipmap_res_3;\n uniform vec2 u_mipmap_res_4;\n uniform vec2 u_mipmap_res_5;\n uniform vec2 u_mipmap_res_6;\n uniform vec2 u_mipmap_res_7;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n \n // from http://www.java-gaming.org/index.php?topic=35123.0\n vec4 cubic( float v ) {\n vec4 n = vec4( 1.0, 2.0, 3.0, 4.0 ) - v;\n vec4 s = n * n * n;\n float x = s.x;\n float y = s.y - 4.0 * s.x;\n float z = s.z - 4.0 * s.y + 6.0 * s.x;\n float w = 6.0 - x - y - z;\n return vec4( x, y, z, w ) * ( 1.0 / 6.0 );\n }\n \n vec4 textureBicubic( sampler2D sampler, vec2 texCoords, vec2 texSize ) {\n vec2 invTexSize = 1.0 / texSize;\n texCoords = texCoords * texSize - 0.5;\n vec2 fxy = fract( texCoords );\n texCoords -= fxy;\n\n vec4 xcubic = cubic( fxy.x );\n vec4 ycubic = cubic( fxy.y );\n vec4 c = texCoords.xxyy + vec2 ( - 0.5, + 1.5 ).xyxy;\n vec4 s = vec4( xcubic.xz + xcubic.yw, ycubic.xz + ycubic.yw );\n\n vec4 offset = c + vec4( xcubic.yw, ycubic.yw ) / s;\n offset *= invTexSize.xxyy;\n \n vec4 sample0 = texture2D( sampler, offset.xz);\n vec4 sample1 = texture2D( sampler, offset.yz);\n vec4 sample2 = texture2D( sampler, offset.xw);\n vec4 sample3 = texture2D( sampler, offset.yw);\n \n float sx = s.x / ( s.x + s.y );\n float sy = s.z / ( s.z + s.w );\n\n return mix(\n mix(\n sample3,\n sample2,\n sx\n ),\n mix(\n sample1,\n sample0,\n sx\n ),\n sy\n );\n }\n\n\n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n \n float depthFactor = 1.0;\n float distortionFactor = 0.0;\n vec3 my_normal = vec3(0.0);\n float reflectorRoughnessFactor = roughness;\n vec3 coord = my_vUv.xyz / my_vUv.w;\n\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n #ifdef USE_NORMALMAP\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b , normalColor.g * 2.0 - 1.0 ) );\n #endif\n\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n vec2 proj_vUv = coord.xy + coord.z * my_normal.xz * 0.01;\n proj_vUv.x += distortionFactor;\n proj_vUv.y += distortionFactor;\n \n float lod = 1.0 - min(1.0, mixBlur * reflectorRoughnessFactor);\n\n #ifdef USE_DEPTH\n vec4 depth = texture2D(tDepth, proj_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor + depthToBlurRatioBias));\n #endif\n\n vec4 baseColor = texture2D(tDiffuse, proj_vUv);\n vec4 mixedColor;\n\n float _lod = (1.0 - pow(1.0 - lod, 4.0)) * 8.0;\n if (_lod < 1.) {\n vec4 one = textureBicubic(u_mipmap_7, proj_vUv, u_mipmap_res_7);\n vec4 two = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n mixedColor = mix(one, two, _lod);\n } else if (_lod < 2.) {\n vec4 one = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n vec4 two = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n mixedColor = mix(one, two, _lod - 1.0);\n } else if (_lod < 3.) {\n vec4 one = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n vec4 two = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n mixedColor = mix(one, two, _lod - 2.0);\n } else if (_lod < 4.) {\n vec4 one = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n vec4 two = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n mixedColor = mix(one, two, _lod - 3.0);\n } else if (_lod < 5.) {\n vec4 one = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n vec4 two = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n mixedColor = mix(one, two, _lod - 4.0);\n } else if (_lod < 6.) {\n vec4 one = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n vec4 two = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n mixedColor = mix(one, two, _lod - 5.0);\n } else if (_lod < 7.) {\n vec4 one = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n vec4 two = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, two, _lod - 6.0);\n } else {\n vec4 one = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, baseColor, _lod - 7.0);\n }\n\n mixedColor.rgb *= depthFactor;\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + mixedColor.rgb * mixStrength); \n diffuseColor = sRGBToLinear(diffuseColor);\n\n if (debug == 1) {\n diffuseColor = sRGBToLinear(vec4(vec3(depthFactor), 1.0));\n }\n if (debug == 2) {\n diffuseColor = sRGBToLinear(texture2D(tDiffuse, proj_vUv));\n }\n if (debug == 3) {\n diffuseColor = sRGBToLinear(texture2D(distortionMap, vUv));\n }\n if (debug == 4) {\n diffuseColor = sRGBToLinear(vec4(vec3(lod), 1.0));\n }\n ")}get tDiffuse(){return this._tDiffuse.value}set tDiffuse(e){this._tDiffuse.value=e}get tDepth(){return this._tDepth.value}set tDepth(e){this._tDepth.value=e}get distortionMap(){return this._distortionMap.value}set distortionMap(e){this._distortionMap.value=e}get u_mipmap_0(){return this._u_mipmap_0.value}set u_mipmap_0(e){this._u_mipmap_0.value=e}get u_mipmap_1(){return this._u_mipmap_1.value}set u_mipmap_1(e){this._u_mipmap_1.value=e}get u_mipmap_2(){return this._u_mipmap_2.value}set u_mipmap_2(e){this._u_mipmap_2.value=e}get u_mipmap_3(){return this._u_mipmap_3.value}set u_mipmap_3(e){this._u_mipmap_3.value=e}get u_mipmap_4(){return this._u_mipmap_4.value}set u_mipmap_4(e){this._u_mipmap_4.value=e}get u_mipmap_5(){return this._u_mipmap_5.value}set u_mipmap_5(e){this._u_mipmap_5.value=e}get u_mipmap_6(){return this._u_mipmap_6.value}set u_mipmap_6(e){this._u_mipmap_6.value=e}get u_mipmap_7(){return this._u_mipmap_7.value}set u_mipmap_7(e){this._u_mipmap_7.value=e}get u_mipmap_res_0(){return this._u_mipmap_res_0.value}set u_mipmap_res_0(e){this._u_mipmap_res_0.value=e}get u_mipmap_res_1(){return this._u_mipmap_res_1.value}set u_mipmap_res_1(e){this._u_mipmap_res_1.value=e}get u_mipmap_res_2(){return this._u_mipmap_res_2.value}set u_mipmap_res_2(e){this._u_mipmap_res_2.value=e}get u_mipmap_res_3(){return this._u_mipmap_res_3.value}set u_mipmap_res_3(e){this._u_mipmap_res_3.value=e}get u_mipmap_res_4(){return this._u_mipmap_res_4.value}set u_mipmap_res_4(e){this._u_mipmap_res_4.value=e}get u_mipmap_res_5(){return this._u_mipmap_res_5.value}set u_mipmap_res_5(e){this._u_mipmap_res_5.value=e}get u_mipmap_res_6(){return this._u_mipmap_res_6.value}set u_mipmap_res_6(e){this._u_mipmap_res_6.value=e}get u_mipmap_res_7(){return this._u_mipmap_res_7.value}set u_mipmap_res_7(e){this._u_mipmap_res_7.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get mirror(){return this._mirror.value}set mirror(e){this._mirror.value=e}get mixBlur(){return this._mixBlur.value}set mixBlur(e){this._mixBlur.value=e}get mixStrength(){return this._blurStrength.value}set mixStrength(e){this._blurStrength.value=e}get minDepthThreshold(){return this._minDepthThreshold.value}set minDepthThreshold(e){this._minDepthThreshold.value=e}get maxDepthThreshold(){return this._maxDepthThreshold.value}set maxDepthThreshold(e){this._maxDepthThreshold.value=e}get depthScale(){return this._depthScale.value}set depthScale(e){this._depthScale.value=e}get debug(){return this._debug.value}set debug(e){this._debug.value=e}get depthToBlurRatioBias(){return this._depthToBlurRatioBias.value}set depthToBlurRatioBias(e){this._depthToBlurRatioBias.value=e}get distortion(){return this._distortion.value}set distortion(e){this._distortion.value=e}}o.extend({MeshReflectorMaterial:Ye});const We=D.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:n=256,args:a=[1,1],minDepthThreshold:s=.9,maxDepthThreshold:i=1,depthScale:u=0,depthToBlurRatioBias:c=.25,mirror:l,children:C,debug:m=0,distortion:A=1,distortionMap:_,...p},d)=>{const f=o.useThree((({gl:e})=>e)),B=o.useThree((({camera:e})=>e)),h=o.useThree((({scene:e})=>e)),v=D.useRef(null),[g]=D.useState((()=>new r.Plane)),[F]=D.useState((()=>new r.Vector3)),[w]=D.useState((()=>new r.Vector3)),[y]=D.useState((()=>new r.Vector3)),[b]=D.useState((()=>new r.Matrix4)),[P]=D.useState((()=>new r.Vector3(0,0,-1))),[S]=D.useState((()=>new r.Vector4)),[M]=D.useState((()=>new r.Vector3)),[T]=D.useState((()=>new r.Vector3)),[z]=D.useState((()=>new r.Vector4)),[L]=D.useState((()=>new r.Matrix4)),[R]=D.useState((()=>new r.PerspectiveCamera)),[O]=D.useState((()=>{const e=[],t={minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBFormat,encoding:f.outputEncoding};for(let o=0;o<8;o++){const a=Math.max(8,Math.round(n/Math.pow(2,o))),s=new r.WebGLRenderTarget(a,a,t);s.texture.generateMipmaps=!1,e.push(s)}return e})),G=D.useCallback((()=>{if(w.setFromMatrixPosition(v.current.matrixWorld),y.setFromMatrixPosition(B.matrixWorld),b.extractRotation(v.current.matrixWorld),F.set(0,0,1),F.applyMatrix4(b),M.subVectors(w,y),M.dot(F)>0)return;M.reflect(F).negate(),M.add(w),b.extractRotation(B.matrixWorld),P.set(0,0,-1),P.applyMatrix4(b),P.add(y),T.subVectors(w,P),T.reflect(F).negate(),T.add(w),R.position.copy(M),R.up.set(0,1,0),R.up.applyMatrix4(b),R.up.reflect(F),R.lookAt(T),R.far=B.far,R.updateMatrixWorld(),R.projectionMatrix.copy(B.projectionMatrix),L.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),L.multiply(R.projectionMatrix),L.multiply(R.matrixWorldInverse),L.multiply(v.current.matrixWorld),g.setFromNormalAndCoplanarPoint(F,w),g.applyMatrix4(R.matrixWorldInverse),S.set(g.normal.x,g.normal.y,g.normal.z,g.constant);const e=R.projectionMatrix;z.x=(Math.sign(S.x)+e.elements[8])/e.elements[0],z.y=(Math.sign(S.y)+e.elements[9])/e.elements[5],z.z=-1,z.w=(1+e.elements[10])/e.elements[14],S.multiplyScalar(2/S.dot(z)),e.elements[2]=S.x,e.elements[6]=S.y,e.elements[10]=S.z+1,e.elements[14]=S.w}),[B.far,B.matrixWorld,B.projectionMatrix,y,S,P,F,z,g,w,b,T,L,M,R]),[k,j]=D.useMemo((()=>{const o={minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBFormat,encoding:f.outputEncoding},a=new r.WebGLRenderTarget(n,n,o);u>0&&(a.depthBuffer=!0,a.depthTexture=new r.DepthTexture(n,n),a.depthTexture.format=r.DepthFormat,a.depthTexture.type=r.UnsignedShortType);const C=O.reduce(((e,t,n)=>(e[`u_mipmap_${n}`]=t.texture,e[`u_mipmap_res_${n}`]=new r.Vector2(t.width,t.height),e)),{});return[a,{mirror:l,textureMatrix:L,mixBlur:e,tDiffuse:a.texture,tDepth:a.depthTexture,mixStrength:t,minDepthThreshold:s,maxDepthThreshold:i,depthScale:u,depthToBlurRatioBias:c,debug:m,distortion:A,distortionMap:_,"defines-USE_DEPTH":u>0?"":void 0,"defines-USE_DISTORTION":_?"":void 0,...C}]}),[f,L,n,l,e,t,s,i,u,c,m,A,_,O]);return o.useFrame((()=>{if(null==v||!v.current)return;v.current.visible=!1;const t=f.xr.enabled,n=f.shadowMap.autoUpdate;G(),f.xr.enabled=!1,f.shadowMap.autoUpdate=!1,f.setRenderTarget(k),f.state.buffers.depth.setMask(!0),f.autoClear||f.clear(),f.render(h,R),0!==e&&O.forEach((e=>{f.setRenderTarget(e),f.state.buffers.depth.setMask(!0),f.render(h,R)})),f.xr.enabled=t,f.shadowMap.autoUpdate=n,v.current.visible=!0,f.setRenderTarget(null)})),D.createElement("mesh",E.default({ref:x.default([v,d])},p),D.createElement("planeBufferGeometry",{args:a}),C?C("meshReflectorMaterial",j):D.createElement("meshReflectorMaterial",j))})),Ie=D.forwardRef((({fog:e=!1,colorStop:t=0,color:n="black",opacity:o=.5,...a},s)=>{const i=D.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const o=e.getContext("2d"),a=o.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return a.addColorStop(t,new r.Color(n).getStyle()),a.addColorStop(1,"rgba(0,0,0,0)"),o.fillStyle=a,o.fillRect(0,0,e.width,e.height),e}),[n,t]);return D.createElement("mesh",E.default({ref:s},a),D.createElement("planeBufferGeometry",{attach:"geometry",args:[1,1]}),D.createElement("meshBasicMaterial",{attach:"material",transparent:!0,opacity:o,fog:e},D.createElement("canvasTexture",{attach:"map",args:[i]})))}));function Ve(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}const Xe=D.forwardRef((function({children:e,alignTop:t,...n},o){const a=D.useRef(null),s=D.useRef(null);return D.useLayoutEffect((()=>{a.current.position.set(0,0,0),a.current.updateWorldMatrix(!0,!0);const e=(new r.Box3).setFromObject(s.current),n=new r.Vector3,o=new r.Sphere,i=e.max.y-e.min.y;e.getCenter(n),e.getBoundingSphere(o),a.current.position.set(-n.x,-n.y+(t?i/2:0),-n.z)}),[e]),D.createElement("group",E.default({ref:o},n),D.createElement("group",{ref:a},D.createElement("group",{ref:s},e)))}));function Ze(e,n,r){const a=o.useThree((({gl:e})=>e)),s=o.useThree((({size:e})=>e)),i=t.useMemo((()=>a.getPixelRatio()),[a]),u="number"==typeof e?e:s.width*i,c="number"==typeof n?n:s.height*i,l=("number"==typeof e?r:e)||{},C=t.useMemo((()=>{const{multisample:e,samples:t,...n}=l;let r;return e&&a.capabilities.isWebGL2?(r=new v.WebGLMultisampleRenderTarget(u,c,n),t&&(r.samples=t)):r=new v.WebGLRenderTarget(u,c,n),r}),[]);return t.useEffect((()=>{C.setSize(u,c)}),[C,u,c]),t.useEffect((()=>()=>C.dispose()),[]),C}const Ke=D.forwardRef((({size:e=256},t)=>{const n=o.useThree((e=>e.viewport.dpr)),{width:a,height:s}=o.useThree((e=>e.size)),i=e||a*n,u=e||s*n,c=D.useMemo((()=>{const e=new r.DepthTexture(i,u);return e.format=r.DepthFormat,e.type=r.UnsignedShortType,{depthTexture:e}}),[i,u]),l=Ze(i,u,c);return D.useImperativeHandle(t,(()=>null==l?void 0:l.depthTexture)),o.useFrame((e=>{e.gl.setRenderTarget(l),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null)}))}));const Je=D.forwardRef((({children:e,curve:t},n)=>{const[r,o]=D.useState(),a=D.useRef(),s=D.useRef();return D.useImperativeHandle(n,(()=>({moveAlongCurve:e=>{var t;null==(t=s.current)||t.moveAlongCurve(e)}}))),D.useEffect((()=>{!s.current&&a.current&&n&&(s.current=new u.Flow(a.current),o(s.current.object3D))}),[e,n]),D.useEffect((()=>{var e;a.current&&t&&(null==(e=s.current)||e.updateCurve(0,t))}),[t]),r?D.createElement("primitive",{object:r}):D.cloneElement(D.Children.only(e),{ref:a})}));class qe extends r.MeshPhysicalMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._distort={value:.4},this._radius={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader=`\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")}get time(){return this._time.value}set time(e){this._time.value=e}get distort(){return this._distort.value}set distort(e){this._distort.value=e}get radius(){return this._radius.value}set radius(e){this._radius.value=e}}const $e=D.forwardRef((({speed:e=1,...t},n)=>{const[r]=D.useState((()=>new qe));return o.useFrame((t=>r&&(r.time=t.clock.getElapsedTime()*e))),D.createElement("primitive",E.default({dispose:void 0,object:r,ref:n,attach:"material"},t))}));class et extends r.MeshStandardMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._factor={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.factor=this._factor,e.vertexShader=`\n uniform float time;\n uniform float factor;\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","float theta = sin( time + position.y ) / 2.0 * factor;\n float c = cos( theta );\n float s = sin( theta );\n mat3 m = mat3( c, 0, s, 0, 1, 0, -s, 0, c );\n vec3 transformed = vec3( position ) * m;\n vNormal = vNormal * m;")}get time(){return this._time.value}set time(e){this._time.value=e}get factor(){return this._factor.value}set factor(e){this._factor.value=e}}const tt=D.forwardRef((({speed:e=1,...t},n)=>{const[r]=D.useState((()=>new et));return o.useFrame((t=>r&&(r.time=t.clock.getElapsedTime()*e))),D.createElement("primitive",E.default({dispose:void 0,object:r,ref:n,attach:"material"},t))}));class nt extends v.ShaderMaterial{constructor(){super({transparent:!0,uniforms:{size:{value:1}},vertexShader:v.ShaderLib.points.vertexShader,fragmentShader:"\n varying vec3 vColor;\n void main() {\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r);\n vec3 color = vColor;\n #ifdef TONE_MAPPING\n color = toneMapping(color);\n #endif\n gl_FragColor = linearToOutputTexel(vec4(color, 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r)));\n }",vertexColors:!0})}get scale(){return this.uniforms.size.value}set scale(e){this.uniforms.size.value=e}}const rt=D.forwardRef(((e,t)=>{const[n]=D.useState((()=>new nt));return D.createElement("primitive",E.default({object:n,ref:t,attach:"material"},e))}));function ot(e,t,n=new r.Vector3){const o=Math.PI*(e-.5),a=2*Math.PI*(t-.5);return n.x=Math.cos(a),n.y=Math.sin(o),n.z=Math.sin(a),n}const at=D.forwardRef((({inclination:e=0,azimuth:t=.25,distance:n=100,mieCoefficient:o=.005,mieDirectionalG:a=.8,rayleigh:s=1,turbidity:i=2,sunPosition:c=ot(e,t),...l},C)=>{const m=D.useMemo((()=>(new r.Vector3).setScalar(n)),[n]),[A]=D.useState((()=>new u.Sky));return D.createElement("primitive",E.default({dispose:void 0,object:A,ref:C,"material-uniforms-mieCoefficient-value":o,"material-uniforms-mieDirectionalG-value":a,"material-uniforms-rayleigh-value":s,"material-uniforms-sunPosition-value":c,"material-uniforms-turbidity-value":i,scale:m},l))}));let st=!1;class it extends r.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(mvPosition.x + 2.0 * time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:"\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n }"})}}const ut=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),ct=D.forwardRef((({radius:e=100,depth:t=50,count:n=5e3,saturation:a=0,factor:s=4,fade:i=!1},u)=>{const c=D.useRef(),[l,C,m]=D.useMemo((()=>{const o=[],i=[],u=Array.from({length:n},(()=>(.5+.5*Math.random())*s)),c=new r.Color;let l=e+t;const C=t/n;for(let e=0;e<n;e++)l-=C*Math.random(),o.push(...ut(l).toArray()),c.setHSL(e/n,a,.9),i.push(c.r,c.g,c.b);return[new Float32Array(o),new Float32Array(i),new Float32Array(u)]}),[n,t,s,e,a]);o.useFrame((e=>c.current&&(c.current.uniforms.time.value=e.clock.getElapsedTime())));const[A]=D.useState((()=>new it));return D.createElement("points",{ref:u},D.createElement("bufferGeometry",{attach:"geometry"},D.createElement("bufferAttribute",{attachObject:["attributes","position"],args:[l,3]}),D.createElement("bufferAttribute",{attachObject:["attributes","color"],args:[C,3]}),D.createElement("bufferAttribute",{attachObject:["attributes","size"],args:[m,1]})),D.createElement("primitive",{dispose:void 0,ref:c,object:A,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":i,transparent:!0,vertexColors:!0}))})),lt=D.forwardRef((({frames:e=1/0,opacity:t=1,width:n=1,height:r=1,blur:a=1,far:s=10,resolution:i=256,...c},l)=>{const C=o.useThree((({scene:e})=>e)),m=o.useThree((({gl:e})=>e)),A=D.useRef(),[_,p,d,f,B,h,g]=D.useMemo((()=>{const e=new v.WebGLRenderTarget(i,i),t=new v.WebGLRenderTarget(i,i);t.texture.generateMipmaps=e.texture.generateMipmaps=!1;const o=new v.PlaneBufferGeometry(n,r).rotateX(Math.PI/2),a=new v.Mesh(o),s=new v.MeshDepthMaterial;s.depthTest=s.depthWrite=!1,s.onBeforeCompile=e=>e.fragmentShader=e.fragmentShader.replace("1.0 - fragCoordZ ), opacity );","0.0 ), ( 1.0 - fragCoordZ ) * 1.0 );");const c=new v.ShaderMaterial(u.HorizontalBlurShader),l=new v.ShaderMaterial(u.VerticalBlurShader);return l.depthTest=c.depthTest=!1,[e,o,s,a,c,l,t]}),[i,n,r]);let x=0;return o.useFrame((()=>{if(A.current&&(e===1/0||x<e)){const e=C.background;C.background=null,C.overrideMaterial=d,m.setRenderTarget(_),m.render(C,A.current),C.overrideMaterial=null,f.material=B,f.material.uniforms.tDiffuse.value=_.texture,B.uniforms.h.value=a/256,m.setRenderTarget(g),m.render(f,A.current),f.material=h,f.material.uniforms.tDiffuse.value=g.texture,h.uniforms.v.value=a/256,m.setRenderTarget(_),m.render(f,A.current),m.setRenderTarget(null),C.background=e,x++}})),D.createElement("group",E.default({},c,{ref:l}),D.createElement("mesh",{geometry:p,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},D.createElement("meshBasicMaterial",{map:_.texture,transparent:!0,opacity:t})),D.createElement("orthographicCamera",{ref:A,args:[-n/2,n/2,r/2,-r/2,0,s]}))}));class Ct extends r.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new r.Vector3(0,0,0)},lightColor:{value:new r.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new r.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation;\n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity);\n }"})}}const mt=new r.Vector3,At=D.forwardRef((({depthBuffer:e,color:t="white",distance:n=5,angle:a=.15,attenuation:s=5,anglePower:i=5,...u},c)=>{const l=D.useRef(null),C=o.useThree((e=>e.size)),m=o.useThree((e=>e.camera)),A=o.useThree((e=>e.viewport.dpr)),[_]=D.useState((()=>new Ct));o.useFrame((()=>{_.uniforms.spotPosition.value.copy(l.current.getWorldPosition(mt)),l.current.lookAt(l.current.parent.target.position)}));const p=D.useMemo((()=>{const e=new r.CylinderGeometry(.1,7*a,n,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-n/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[a,n]);return D.createElement("spotLight",E.default({ref:c,angle:a,color:t,distance:n},u),D.createElement("mesh",{ref:l,geometry:p},D.createElement("primitive",{object:_,attach:"material","uniforms-lightColor-value":t,"uniforms-attenuation-value":s,"uniforms-anglePower-value":i,"uniforms-depth-value":e,"uniforms-cameraNear-value":m.near,"uniforms-cameraFar-value":m.far,"uniforms-resolution-value":e?[C.width*A,C.height*A]:[0,0]})))}));function _t(e){const t=e+"BufferGeometry";return D.forwardRef((({args:e,children:n,...r},o)=>D.createElement("mesh",E.default({ref:o},r),D.createElement(t,{attach:"geometry",args:e}),n)))}const pt=_t("box"),dt=_t("circle"),ft=_t("cone"),Bt=_t("cylinder"),Et=_t("sphere"),Dt=_t("plane"),ht=_t("tube"),vt=_t("torus"),gt=_t("torusKnot"),xt=_t("tetrahedron"),Ft=_t("ring"),wt=_t("polyhedron"),yt=_t("icosahedron"),bt=_t("octahedron"),Pt=_t("dodecahedron"),St=_t("extrude"),Mt=_t("lathe"),Tt=_t("parametric"),zt=1e-5;const Lt=D.forwardRef((function({args:[e=1,t=1,n=1]=[],radius:o=.05,smoothness:a=4,children:s,...i},u){const c=D.useMemo((()=>function(e,t,n){const o=new r.Shape,a=n-zt;return o.absarc(zt,zt,zt,-Math.PI/2,-Math.PI,!0),o.absarc(zt,t-2*a,zt,Math.PI,Math.PI/2,!0),o.absarc(e-2*a,t-2*a,zt,Math.PI/2,0,!0),o.absarc(e-2*a,zt,zt,0,-Math.PI/2,!0),o}(e,t,o)),[e,t,o]),l=D.useMemo((()=>({depth:n-2*o,bevelEnabled:!0,bevelSegments:2*a,steps:1,bevelSize:o-zt,bevelThickness:o,curveSegments:a})),[n,o,a]),C=D.useRef();return D.useLayoutEffect((()=>{C.current&&C.current.center()}),[c,l]),D.createElement("mesh",E.default({ref:u},i),D.createElement("extrudeBufferGeometry",{attach:"geometry",ref:C,args:[c,l]}),s)}));function Rt(){const e=new v.BufferGeometry,t=new Float32Array([-1,-1,3,-1,-1,3]);return e.setAttribute("position",new v.BufferAttribute(t,2)),e}const Ot=D.forwardRef((function({children:e,...t},n){const r=D.useMemo(Rt,[]);return D.createElement("mesh",E.default({ref:n,geometry:r,frustumCulled:!1},t),e)})),Gt={0:"0404E8_0404B5_0404CB_3333FC",1:"045C5C_0DBDBD_049393_04A4A4",2:"046363_0CC3C3_049B9B_04ACAC",3:"0489C5_0DDDF9_04C3EE_04AFE1",4:"04989A_0CE3E4_04D2D5_04C7C8",5:"04C455_0EFABC_04F097_04E17A",6:"04CC77_0CF7CA_04E9A7_04AB54",7:"04E804_04B504_04CB04_33FC33",8:"04E8E8_04B5B5_04CCCC_33FCFC",9:"050505_747474_4C4C4C_333333",10:"070B0C_B2C7CE_728FA3_5B748B",11:"090909_9C9C9C_555555_7C7C7C",12:"0A0A0A_A9A9A9_525252_747474",13:"0C0CC3_04049F_040483_04045C",14:"0C430C_257D25_439A43_3C683C",15:"0D0DBD_040497_04047B_040455",16:"0D0DE3_040486_0404AF_0404CF",17:"0DBD0D_049704_047B04_045504",18:"0F0F0F_4B4B4B_1C1C1C_2C2C2C",19:"0F990F_047B04_044604_046704",20:"15100F_241D1B_292424_2C2C27",21:"161B1F_C7E0EC_90A5B3_7B8C9B",22:"167E76_36D6D2_23B2AC_27C1BE",23:"17395A_7EBCC7_4D8B9F_65A1B5",24:"181F1F_475057_616566_525C62",25:"191514_6D5145_4E3324_3B564D",26:"1A2461_3D70DB_2C3C8F_2C6CAC",27:"1B1B1B_515151_7E7E7E_6C6C6C",28:"1B1B1B_999999_575757_747474",29:"1B1C19_5F615D_4B4E4C_3F403D",30:"1C1810_352F23_2B2C1C_2B2C24",31:"1C70C6_09294C_0F3F73_52B3F6",32:"1D2424_565F66_4E555A_646C6E",33:"1D2A21_43443B_655B54_545C54",34:"1D3FCC_051B5F_81A0F2_5579E9",35:"221917_928380_5F504D_7C746C",36:"232014_908B78_5E5743_747460",37:"242733_333A4D_3E4554_3C3B43",38:"245642_3D8168_3D6858_417364",39:"253C3C_528181_406C6C_385F5F",40:"254FB0_99AFF0_6587D8_1D3279",41:"27222B_677491_484F6A_5D657A",42:"281813_604233_4B3426_442B22",43:"28292A_D3DAE5_A3ACB8_818183",44:"291912_473531_3C2C25_3A2424",45:"293534_B2BFC5_738289_8A9AA7",46:"293D21_ABC692_73B255_667C5C",47:"2A2A2A_B3B3B3_6D6D6D_848C8C",48:"2A2A2A_DBDBDB_6A6A6A_949494",49:"2A2D21_555742_898974_6C745B",50:"2A4BA7_1B2D44_1F3768_233C81",51:"2A6276_041218_739BA6_042941",52:"2B2828_7B796F_534F4A_616464",53:"2B2B22_3C3C30_464538_121210",54:"2D2D2A_74716E_8F8C8C_92958E",55:"2D2D2F_C6C2C5_727176_94949B",56:"2D8753_5CD6A5_45BB82_4CC494",57:"2E2E2D_7D7C76_A3A39F_949C94",58:"2E763A_78A0B7_B3D1CF_14F209",59:"2EAC9E_61EBE3_4DDDD1_43D1C6",60:"2F2FAA_1E1E87_10104E_1C1C70",61:"2F3747_6A7C9E_54637F_62748B",62:"300706_888576_822821_876E79",63:"302721_CAC1BB_7A706A_91959B",64:"304FB1_69A1EF_5081DF_5C8CE6",65:"312C34_A2AAB3_61656A_808494",66:"312D20_80675C_8B8C8B_85848C",67:"313131_BBBBBB_878787_A3A4A4",68:"320455_720DBE_560496_47047B",69:"32201D_613C3C_563533_8C655F",70:"32302B_4C4842_121211_1C1C14",71:"323C4D_B79039_7C6A44_605C48",72:"326666_66CBC9_C0B8AE_52B3B4",73:"331A0B_B17038_7D4E28_5B351A",74:"336EB3_152578_A4C5E2_74AED9",75:"34352A_718184_50605E_6E6761",76:"346088_6ABED7_56A0C5_4E91B8",77:"34A09C_6EE5E3_5CD7D3_4EC9C6",78:"34AB94_36DFC1_19F9EB_6C6E62",79:"353535_CFCFCF_828282_A4A4A4",80:"36220C_C6C391_8C844A_8B7B4C",81:"36312E_726461_59504D_645C5C",82:"365123_C6E5A3_A8D18D_8EB16C",83:"36C8FA_176ACB_24A7EF_1D93EC",84:"37C337_279F27_186018_248824",85:"385264_A1D3E2_86ADC1_6E94A8",86:"385862_6D8B8D_647B80_1A2E2F",87:"386169_A9CFDB_153C23_7CA3AC",88:"38925D_142B23_1D4835_2A6449",89:"392307_B3AE7D_6D5618_847C42",90:"39433A_65866E_86BF8B_BFF8D8",91:"394641_B1A67E_75BEBE_7D7256",92:"3A2412_A78B5F_705434_836C47",93:"3A3329_C9B090_928069_A9957A",94:"3A3D37_7E7F75_BCBFB6_9C9C94",95:"3B3B3B_C7C7C7_878787_A4A4A4",96:"3B3C3F_DAD9D5_929290_ABACA8",97:"3B4235_7B9395_5B716C_70847B",98:"3B6E10_E3F2C3_88AC2E_99CE51",99:"3D1F12_653821_070404_22130B",100:"3E2335_D36A1B_8E4A2E_2842A5",101:"3E3D39_D6CEAF_91BAC1_897966",102:"3E3E36_72726D_63645D_0E0F0C",103:"3E3E3E_AEAEAE_848484_777777",104:"3E95CC_65D9F1_A2E2F6_679BD4",105:"3F3A2F_91D0A5_7D876A_94977B",106:"3F3D52_CCCED9_AFB0C6_8D8CAC",107:"3F4441_D1D7D6_888F87_A2ADA1",108:"403A34_B0936E_7F979C_7E6956",109:"415325_83A24E_678239_748C3C",110:"416BA7_A5B8D0_0D2549_65ABEB",111:"422509_C89536_824512_0A0604",112:"422A1E_716767_685D59_5E4F4A",113:"424244_BDBBBE_8A898E_A3A4A9",114:"425F84_1C2939_2A3F57_24344C",115:"430404_BD9295_7E1E21_94544C",116:"432322_5E3839_170C0B_543433",117:"433D3F_A58D7D_786760_8C7C6D",118:"434240_D3D3CF_898784_A4A49F",119:"434343_9E9E9E_8C8C8C_848484",120:"434C32_62704C_546244_2F3220",121:"442C27_A79E90_847066_8D837C",122:"447072_8ACACB_65A4A5_74B3B3",123:"45432C_808361_B8C8BC_A5A27A",124:"454447_908E9A_181716_7C7C7B",125:"456A73_779B9E_173A46_154C5D",126:"463F37_ACCFBB_818B78_91A494",127:"464445_D2D0CB_919196_A8ADB0",128:"464543_D1CFC1_8E8C83_A4AC9C",129:"46804D_CBE9AC_90B57C_95D38F",130:"468126_C1DDB5_8AC460_A1D07C",131:"47392E_997E69_7C6553_8B745F",132:"474444_7B7575_9E9899_8C8C8B",133:"474643_696F7D_A9ABB8_8B8C93",134:"474843_CECEC4_898883_A3A3A4",135:"48270F_C4723B_9B5728_7B431B",136:"482908_894E0D_FBDB52_CA7420",137:"487FC9_A8E7F8_88CCF2_70AFDE",138:"489B7A_A0E7D9_6DC5AC_87DAC7",139:"48C381_226640_369F64_3CAC74",140:"49200B_C6926C_9C642B_A45C26",141:"495CA6_CCD2E6_A5B1D8_1E2852",142:"495E48_0D100D_9D9C87_9ECC9C",143:"496DBA_94C9F2_72A7E2_84B4EC",144:"4A6442_D0AB75_81CD94_181B12",145:"4B362C_715A4F_211913_644C44",146:"4B4A3A_94A3A4_68766F_988475",147:"4B5455_BBBFC4_97A0A6_838C90",148:"4C240E_A5613B_895134_734C44",149:"4C342A_7B584B_271912_6B4C44",150:"4C462E_6D876C_9AAC8F_9AABA6",151:"4C4C4C_D2D2D2_8F8F8F_ACACAC",152:"4D595E_858D87_596F84_748480",153:"4E4C42_B8C4C5_898E89_A3ACA4",154:"4E4D40_979786_AEAEA1_878678",155:"4E5150_9FA3A3_848C8A_82848C",156:"4F251B_381710_43241B_602F23",157:"4F439F_A28BE5_8570D6_7765C9",158:"4F4742_B7B1AA_847E79_969294",159:"4F4C45_A7AEAA_7A8575_9D97A2",160:"4F4F4F_9C9C9C_121212_7C7C7C",161:"4F4F4F_A1A1A1_8C8C8C_848484",162:"4F5246_8C8D84_7B7C74_131611",163:"4FE34F_2BB02B_3CD03C_1C861C",164:"50332C_D98D79_955F52_AA7C6C",165:"503522_C38254_9F6B45_845838",166:"504D3C_979C9D_81837D_9C998A",167:"513A11_CDBEB5_C8811C_9A733F",168:"51462B_DFCA7E_948050_A49874",169:"515151_DCDCDC_B7B7B7_9B9B9B",170:"515341_9A9C86_16180D_838474",171:"517919_659623_34460C_3E5813",172:"519C8D_83DAC7_9DEDE0_2B5B4C",173:"522221_91343B_7F6F6B_744960",174:"522A1A_94543A_C3896F_AB7D66",175:"525050_D4D3D3_959393_ACACAC",176:"533B33_AF9998_866965_9C7E7B",177:"535A2F_CDCA91_91915B_A4AC6F",178:"535F6B_A6BDC8_8FA3B4_7F91A2",179:"537387_75BBB9_152E5B_0E85E8",180:"54584E_B1BAC5_818B91_A7ACA3",181:"545B4D_D8DDC8_A0A792_B2C1A3",182:"54C104_BBFA0F_97EF04_7AE104",183:"55382F_78554E_271A16_6C4C44",184:"555555_C8C8C8_8B8B8B_A4A4A4",185:"556F42_112817_81927F_223E24",186:"55C404_BCFA0E_97F004_7AE104",187:"562D2A_2E1615_7E4945_703C3C",188:"56352F_1E110F_311C19_3C231C",189:"57553F_C6C3AF_8C8768_868C8C",190:"57583E_969788_292920_848474",191:"579241_B5D25D_0E1D2D_97C284",192:"582410_83381A_1F0C04_30140A",193:"583629_2E1810_765648_3C1C14",194:"584F3A_BEC3BD_C5A57D_A39073",195:"586A51_CCD5AA_8C9675_8DBBB7",196:"593E2C_E5D8A9_BC9F79_9F8A68",197:"595356_CDBFC6_AA9DA3_BBB3BC",198:"59554F_171716_847C74_2C2C24",199:"596773_B3C6CE_98AFB9_879AA8",200:"597C3F_254319_6C9668_7C9B53",201:"5A492B_DEC583_987D4D_AC9C74",202:"5A643B_454D2C_393F25_202315",203:"5B4CBC_B59AF2_9B84EB_8F78E4",204:"5B5428_C5A052_A28B46_ADA752",205:"5B574E_586967_807C6F_6A746C",206:"5C045C_BD0DBD_930493_A404A4",207:"5C2E0C_C36924_9F4F14_834114",208:"5C4E41_CCCDD6_9B979B_B1AFB0",209:"5C5743_262418_393727_342C20",210:"5C5C04_BDBD0D_939304_A4A404",211:"5C5C5C_A2A2A2_8C8C8C_848484",212:"5D5854_1A1714_373330_2C2424",213:"5D5D5D_CDCDCD_232323_ACACAC",214:"5D5E5A_A1A29B_2A2927_8B948C",215:"5E423A_8C6E69_382416_745D64",216:"5E5049_CDC2BE_9C8E88_B7ACA4",217:"5E5855_C6C4CD_C89B67_8F8E98",218:"5E5F62_A7B2BE_211C17_939CA3",219:"5ECBA4_BCFAE7_92EED0_A1F4DC",220:"5F1827_9B4A60_1F0404_340406",221:"5F4C4B_A07C7D_A8AFBF_868185",222:"5F4F50_A18E8E_8C7C7B_211A1A",223:"5F5F5F_BDBDBD_A4A4A4_9C9C9C",224:"604A30_DC9065_212C14_AC9C92",225:"60534A_211813_9B948E_8E837D",226:"605352_E9CCC5_C7A8A3_A89291",227:"606857_9BA894_8C9C83_8C9483",228:"613F04_D68C04_A45F04_1F0F04",229:"61583E_252314_928972_342C1C",230:"617586_23304C_1B1E30_4988CF",231:"622F19_885934_9A7748_94603A",232:"623622_A1756F_986353_89645B",233:"624541_FCD0C6_E4A19A_FCBCB4",234:"626262_9E9E9E_848484_262626",235:"626262_A8A8A8_949494_1F1F1F",236:"626A57_3B3F33_7D8973_444C3C",237:"626D5C_B8C2BB_1B230F_A4ACA3",238:"627D72_A6CAAA_202C28_B4D4B4",239:"630463_C30CC3_9B049B_AC04AC",240:"63533B_AA9472_1C1108_9B8C68",241:"63584B_E6E0D6_A8A092_BFB6A8",242:"635D52_A9BCC0_B1AEA0_819598",243:"636363_AAAAAA_949494_252525",244:"636D6C_D4E7ED_ABBCC4_9BA4A8",245:"637598_B7C4D3_22293A_9BACBF",246:"64554D_D1C9C1_ABADA0_0E0C0A",247:"64686F_BDC0C4_161718_A4A7AB",248:"647171_1F3349_2A475C_87A5AD",249:"647686_23292E_333C44_404B55",250:"656662_9B9B99_393B31_8B8C8C",251:"657274_2A2F30_A0A7B0_363C44",252:"65A0BA_C3E4F1_A7D5E6_97CADF",253:"65A0C7_C3E4F8_A7D5EF_97CAE9",254:"660505_F2B090_DD4D37_AA1914",255:"66605E_939198_2E261F_3C332A",256:"666864_B3B4AB_2F2F2C_9CA49B",257:"673B2A_99735C_99593A_3A160E",258:"677E93_36444D_99A9BA_435464",259:"678E67_C4D9C4_ACC8AC_98B898",260:"68049F_C90DE6_A404CF_B304DC",261:"683F2D_9F736D_431D06_966152",262:"68493E_B2AAA9_978C8C_130907",263:"684C40_776E69_9B7765_758D96",264:"685B57_BEB1B1_9B99A4_1E1D1D",265:"686464_CCCAC7_A4A19F_BCB4B4",266:"686B73_2A2B2D_D5D9DD_B0B3BC",267:"686E55_353C2F_869B7F_444434",268:"696347_98B0A2_28261E_362B22",269:"696969_A0A0A0_949494_8C8C8C",270:"6A3C15_EFC898_D59D59_B38346",271:"6A5338_1C120B_C5975F_96886C",272:"6A8287_405153_839EBE_424C5C",273:"6B3822_A65D48_824E48_401E0C",274:"6BBD6B_C8F3C8_A3E2A3_B4ECB4",275:"6C52AA_C9A6EA_A681D6_B494E2",276:"6C5DC3_352D66_5C4CAB_544CA5",277:"6C6F76_CBD1D7_B2BDC7_A6B0BF",278:"6C8996_14223F_B9DEDD_2E445C",279:"6D1616_E6CDBA_DE2B24_230F0F",280:"6D3B1C_895638_502A0D_844C31",281:"6D6050_C8C2B9_A2998E_B4AA9F",282:"6D6D6D_3E3E3E_C0C0C0_949494",283:"6E2E36_D3A1A0_BD7175_C78C8B",284:"6E5137_E8CA90_271912_B99C74",285:"6E524D_8496C5_AF6624_100B11",286:"6E6D69_D0ECE9_AAC7C6_200C0C",287:"6E7181_D1CFDF_ABAFC7_B4BCCE",288:"6E8C48_B8CDA7_344018_A8BC94",289:"6EC66E_C9F8C9_A3E8A3_B4F1B4",290:"6F503E_D59A70_221812_B0A899",291:"705B4B_312821_AF927B_44342C",292:"706962_24211E_BCB6AF_ACA494",293:"713A28_A87661_3A160D_9B6454",294:"714C30_EAD7C5_CC9265_E2B48F",295:"716049_D1C8B9_3F160C_BAA6A9",296:"71623B_ECDE8C_30250A_ABA69A",297:"72625B_F0DFD0_D9BAA5_C3A595",298:"726F5B_A09C88_8B8C7B_94907C",299:"727167_2F2F2B_A3A6A2_44443C",300:"728473_534C40_7BCEC8_7BB9B6",301:"736655_D9D8D5_2F281F_B1AEAB",302:"745359_BFAEA8_9B8384_AC9392",303:"746761_291C19_AB9385_3C2B27",304:"747A6F_292E2A_ACA79F_45453B",305:"74A192_041B0D_194C33_235B4C",306:"75322B_96463F_51201A_3D1814",307:"75723E_C0C3A0_2A1E0E_AFAE77",308:"75746F_333330_A2A1A9_444444",309:"758391_BAC2CA_435263_A1ACBC",310:"763B28_D0BDB8_ADA39E_1E1D1D",311:"763C39_431510_210504_55241C",312:"764739_D0917B_2A1611_B37C68",313:"765938_1F1009_A59C7C_C9A382",314:"766554_C1BEBB_2A1A0E_B4ABAC",315:"76787C_2F3031_A5A9B8_444446",316:"767989_323437_B6C4EE_343C44",317:"771A1F_D2939E_B6595D_9D4B54",318:"773012_AE5124_4D1908_340F04",319:"776045_D2CCC3_281910_BBB5AA",320:"776A5C_BA9A89_302C26_443C34",321:"776C62_292622_474039_3C342C",322:"777C61_333727_BABFA1_A5AC8C",323:"777D7D_BDCAD2_3E3C2E_B1B8B6",324:"787165_DAD9CD_9DC0CE_36302A",325:"7877EE_D87FC5_75D9C7_1C78C0",326:"794E40_361612_4C2A21_441B1B",327:"795038_C2856B_533320_AC7C61",328:"796D6B_DED3CB_C6BAB1_ADA09B",329:"796F52_36413A_C9B48C_B6A77F",330:"797367_302E29_ABA3A0_443C35",331:"7A6959_2D271D_C1B5A9_B4A393",332:"7A736F_463F33_575046_4B463D",333:"7A7A7A_D0D0D0_BCBCBC_B4B4B4",334:"7A7A7A_D9D9D9_BCBCBC_B4B4B4",335:"7A7C63_625531_665B3F_5B4B29",336:"7A9196_485C64_425459_C1E4E7",337:"7B5254_E9DCC7_B19986_C8AC91",338:"7B6857_383028_BCA38F_4C3C34",339:"7B6E5B_C5CACC_B1B2AE_322415",340:"7B7E82_343536_A0B1C8_44444C",341:"7C584C_27140D_B3765C_3D2318",342:"7C7C71_353630_ADAFAF_444444",343:"7D6651_F8E3BF_CEA987_E7C29C",344:"7D7673_353230_AEA7B0_4C4444",345:"7DA1BA_A4CCE8_5D7A8B_5E7C94",346:"7E5344_22120E_CCAB9C_8D919D",347:"7E5E57_AD9794_612D1D_C9997D",348:"7E8174_39444D_CECAA7_B3B49B",349:"7F5134_22120A_452110_9F7D5F",350:"7F8896_3B3936_BBCFE9_4B4B4D",351:"803537_310F10_C35A5D_D89093",352:"807068_C3B0AB_443E3B_AC9C94",353:"80726C_DCDBD7_9AA6C2_B7BFCA",354:"808A5B_E0E1D4_2C4304_C5C7B0",355:"80A6B4_D5E9EF_B2D0D9_C1DCE4",356:"80CA23_B7EE37_D5FA4C_A3E434",357:"812828_521818_C94141_AB3737",358:"812E39_551C24_381117_9E3C49",359:"815C41_F6C99A_D39F77_BB9474",360:"815F54_DECBC6_301813_C5A8A0",361:"8194AB_D6DFEB_C0CEDE_B0BFD1",362:"81ADB3_D6ECEE_BFDEE1_AFD1D7",363:"81BABA_D5F3F3_BBE4E4_ABDCDC",364:"825C4D_A08175_97746C_613B2F",365:"826A59_E0C9B9_CBAD99_3D2615",366:"827C87_4F3937_605457_534C4E",367:"834741_4C281D_BE8F8C_AE6A65",368:"835984_39273A_4C334C_593D5A",369:"837667_DCD4C8_C5BAAC_3C2E22",370:"846556_503E33_61493D_5C4434",371:"848679_363630_AABBB7_4B4B44",372:"855D08_DAC31B_BF9B0C_AF860C",373:"85694C_D1A67A_3C2F22_EBBF8F",374:"857B61_ACE5D4_593D28_5B4334",375:"858362_9F9F80_9C9673_70714B",376:"85B9D3_C9EAF9_417277_528789",377:"866C5B_544237_B29B8C_AC8F7C",378:"872F2D_AB403E_682421_581F1C",379:"877B70_34302B_CBB3A4_524C44",380:"877C72_B6ACBB_36322D_4C443B",381:"878787_4C4C4C_646464_5C5C5C",382:"887153_E5C188_433729_C1A484",383:"888D8F_515454_646A6C_6C6C6D",384:"89204B_17080D_DA4377_F780B5",385:"8955D0_744CC4_EA4AEF_954DA4",386:"8A3B3D_DA5F62_461F20_BC7F81",387:"8A3DA1_D77CE4_C263D4_B75AC9",388:"8A5B34_F3BD7C_DA9758_BE7E45",389:"8A6565_2E214D_D48A5F_ADA59C",390:"8A7666_3C332C_C6AEA2_54443C",391:"8A7968_3C342D_C6B3A5_54443B",392:"8B7469_443E39_C7A797_544443",393:"8B795F_291504_EFE5D4_4A3518",394:"8B892C_D4E856_475E2D_47360A",395:"8C5945_D4C0B6_C3A49C_430504",396:"8CAEBC_3A4443_506463_DAEFEF",397:"8D553D_3C2419_5D3727_AA766C",398:"8D8D8D_DDDDDD_CCCCCC_B7B7B7",399:"8E6767_D9C4C4_C8ACAC_B89898",400:"8E7C67_E2C6A5_3B332A_C3AB94",401:"8E907C_B1B5A7_D7DBD0_CCCFBA",402:"8F4277_361530_BF538E_52274C",403:"8F4E20_E8B06B_391A08_CC8944",404:"8F5D3C_5B3B26_382416_70482E",405:"8F7B61_D6B892_4E4436_C3AC86",406:"8F894E_DAD79B_C9C384_C4BE7B",407:"903B2A_EC9888_D96747_58190D",408:"906867_C7B6BC_5D2E26_BEA4A3",409:"908887_3C3229_C7C6D0_554A45",410:"908E8E_292828_454444_595757",411:"909473_555D4B_C2CCA2_645B3C",412:"910E5A_E127C3_CF1CA3_C1158F",413:"926B48_4C2D0D_5F3913_AA8874",414:"927253_EECEA7_D8B792_C7A883",415:"935555_F6DAD9_D39393_593333",416:"936451_C29A8F_5F3A2B_361D14",417:"938C8D_403731_CECED8_554C4C",418:"942967_D292B5_C76E9E_551A4C",419:"945D43_E5AAA0_351F14_CC8B78",420:"94615B_DACED1_C3B9A4_CCABAA",421:"94624F_573529_24110C_733424",422:"9650CA_46236A_7239A6_633492",423:"965146_2B191D_DF7A5C_BFD6E1",424:"96785D_B8A398_63452C_6C5435",425:"975337_EEBE98_4B211C_D88659",426:"977970_E1D9D8_DAC8C1_C4B2AD",427:"98332E_4A100D_691A16_A85A5B",428:"989784_665542_BFECE5_6D644C",429:"9A5A55_31110D_582A24_703C34",430:"9A7467_D2C2BF_662D22_CCB2A5",431:"9AA8B6_313133_4E5055_D7EBF8",432:"9B4816_E8A138_CC7421_DC8827",433:"9B9994_E1E0DB_474643_544C4C",434:"9B9B9B_1E1E1E_5C5C5C_444444",435:"9C5B3B_49200A_E9C8AB_DDAB7D",436:"9CC338_4E671A_799F27_8CAC2C",437:"9D282A_38191D_DFC6CD_D6495A",438:"9D4343_E38989_D37474_CE6C6C",439:"9D602E_E4C363_D5A64F_C38A44",440:"9D7F6E_C6DAD4_6D4C4B_C6BBBC",441:"9D8F84_5D4544_D9D3C9_62555A",442:"9D9D9D_4E4E4E_646464_6C6C6C",443:"9E7C7E_DDCBD0_351D20_683B38",444:"9E9C77_6E6F4E_7C7C54_C7BF96",445:"9F1A27_F1AF7F_CD5845_D08441",446:"9F4738_CE958D_4F0C0A_C0837C",447:"9F7D30_B69F75_B9B7BE_CB9C4D",448:"9F886D_362F25_E8C9A4_5C4C3C",449:"9F9F9F_E4E4E4_D4D4D4_CCCCCC",450:"A05F31_D5C2BC_D9996F_42230E",451:"A0A8B0_424336_E7E9EF_545C5C",452:"A1824F_4A2A06_F7E29F_B3A598",453:"A27216_E9D036_D0AB24_DCB927",454:"A28766_E4D6C3_D6C4AA_CAB598",455:"A3B2A4_3B3E3D_676F6A_535C57",456:"A48DA4_E8DDE8_C9B7C9_D4C2D4",457:"A49994_695244_C4C2CF_76645C",458:"A67362_36150C_5E2E1E_F6C3BF",459:"A84337_611D18_3F110F_7C2A22",460:"A88C77_DAD2C7_623532_956229",461:"A95E4D_57261A_6E3223_773C24",462:"A971A9_E8CBE8_D4A8D4_DCB3DC",463:"A98D6A_F2D3AB_FBE6BE_695332",464:"A9A2A0_2F211C_544440_6D5E5A",465:"AA526C_EAA6C9_DC88AF_D17BA0",466:"AB2C2C_EBB4B3_561212_DE8484",467:"AB2D08_C35E5A_C75522_C56C70",468:"AB54A8_EBAAE9_DF8FDD_D37ED0",469:"AC171C_FA8593_E84854_D3464E",470:"AC725C_2E1610_663E31_E78F6B",471:"AC7F84_78463A_C4AABB_885454",472:"AC8942_432D19_6E4D27_5F3B1C",473:"AC8961_EBDAC3_D1B791_DCC2A0",474:"AD9E81_F1E5CE_6B5C3E_5A492A",475:"ADC2CD_DFF7FA_C9E6F5_C1DBEC",476:"AE9D99_29303B_585F70_875C33",477:"AF986F_CDB489_9C7C5B_7E6C4D",478:"AF987A_2F2416_523F27_6B5331",479:"AF9A72_504718_74652B_E2C2A2",480:"B06932_451B09_7B3E16_150804",481:"B09273_7A573D_C7AF97_84644C",482:"B0A2A8_866A63_E8E9F2_614C4F",483:"B0B0B0_6E6E6E_848484_8C8C8C",484:"B1A395_EFE6E1_635A47_786D5D",485:"B2674B_552913_7C442F_733919",486:"B26F52_4B2E2B_79493A_663B32",487:"B27744_5A2804_F6C488_EBB27D",488:"B38B76_40251D_745042_5F3A30",489:"B3AA93_F4EFD7_E1DDC2_DCD3BB",490:"B47A5B_301E14_704A31_633C23",491:"B4B29D_442D0D_604E2A_736542",492:"B5987E_F8E4DC_6F5939_E9CCBA",493:"B5BBB5_3B4026_6E745D_5C6147",494:"B62D33_E4868B_7E2D34_DD6469",495:"B66D59_F0C9B2_E5B49C_DAA084",496:"B67F6B_4B2E2A_6C3A34_F3DBC6",497:"B6B8B1_994A24_315C81_927963",498:"B76E5E_7F3A2F_EE938C_F8A5A1",499:"B7A763_E6E1CC_554A1E_6C6428",500:"B86137_FBCA6F_6F3C37_040404",501:"B9896A_5B341B_F4CAA3_6C4C2D",502:"B98A6D_7B4F38_D1A68F_8C5B43",503:"B9B37A_F1EED0_E5E4BA_DAD6A8",504:"B9CDD2_775339_958272_7F6A5E",505:"BA472D_CA6E67_C76150_CA6C59",506:"BA5DBA_F2BEF2_E69BE6_DC8CDC",507:"BA864A_5D381E_644422_FBE97A",508:"BA8979_DDCBCA_9A4726_892407",509:"BAADA8_ECE6E7_9A8378_E3DCD3",510:"BC5B43_95170B_EEAC92_DB8C7C",511:"BC928D_F9E2D6_654445_835A51",512:"BD0D0D_970404_7B0404_550404",513:"BD5345_460F11_732622_EDB7B1",514:"BDB466_F3EDC3_E3DD9F_ECE3AA",515:"BE5F5F_F4BDBD_ECA4A4_E29191",516:"BEE2E9_7E6A53_9AA09C_87837E",517:"BF7051_994C2D_E99A7B_DE8C74",518:"BF7745_F5D08E_E5AE6B_ECBC7C",519:"BF8E78_E5CCBF_753E32_4A261E",520:"BFAA83_F5EAD6_E1D0B1_EBDDC0",521:"BFB5A4_DEDCCB_D7D4CC_DCD3C2",522:"C05429_ED6129_94492A_834729",523:"C09E5C_DAD2B9_654429_81582D",524:"C1AA92_AD6E29_737889_CED1D7",525:"C1B3A1_F6EEE5_E1D7C7_ECE4D3",526:"C21338_920C24_E71C54_F34A7D",527:"C28E4E_845119_0B0805_713C0C",528:"C2A391_523728_785741_694836",529:"C2A584_363B41_71665B_8C7367",530:"C2AB7D_4A412E_7A6B4E_F9EDBE",531:"C30C0C_9F0404_830404_5C0404",532:"C33829_48171A_752523_942923",533:"C345EC_5F1DAA_9F31DB_872CCD",534:"C35C04_F9C30C_EE9F04_E08304",535:"C3CCD4_5F3B23_948A7B_A9A49A",536:"C47004_F9D00C_EDAF04_E09704",537:"C4A591_635448_F2D9D5_856D5B",538:"C4C6C6_4D5756_646463_7A8080",539:"C4DEDE_97B5B5_EAF9F9_ABC4C4",540:"C5A292_635247_F2D7D6_846A5B",541:"C5BBB6_F8F4F1_E2DAD6_ECE3DF",542:"C75F55_F8BDA9_EB9484_F4A494",543:"C7938D_E0DBE1_D1BBBC_D5CCCB",544:"C7B9A1_F8F1E4_EEE4D2_E4D8C4",545:"C7C0AC_2E181B_543B30_6B6270",546:"C7C7D7_4C4E5A_818393_6C6C74",547:"C87157_F8CBAE_E9A582_F2B394",548:"C88467_5B3333_875C5A_7A3822",549:"C8AF84_F9ECD7_EFDEBF_E6D1AF",550:"C8C8C8_3F3F3F_787878_5C5C5C",551:"C8D1DC_575B62_818892_6E747B",552:"C98D7F_3B0B0B_A97667_94433F",553:"C99A8B_491B0E_6E4136_8A4D28",554:"C9C7BE_55514B_888279_7B6E5F",555:"CA4FE1_6B2398_A337C7_9334BC",556:"CA8892_F9D7DC_EBB8C0_F3C4CC",557:"CAA094_875343_956255_EADEDC",558:"CAA78A_F9E7D7_EAD0B9_F3DCC3",559:"CAAC80_FAEBD5_F2DEBF_EAD1AF",560:"CAB094_F9ECDD_EFDEC8_E8D4BD",561:"CAB79D_F9F1E3_F1E5D1_E9DAC6",562:"CAE24E_6C9A23_A3C737_B3D43C",563:"CB4934_FB9971_F07554_F68464",564:"CB4E88_F99AD6_F384C3_ED75B9",565:"CB5E3B_FABC7A_EF965E_F4A46C",566:"CB7146_551D0F_7C270D_E5AB9C",567:"CB7846_753C22_AB5C32_B46C3C",568:"CB919B_F9DDE1_ECC0C8_F4CCD4",569:"CBCBCB_595959_8C8C8C_747474",570:"CC7C5F_A15436_B26346_AF5C3C",571:"CC9A7E_8A5249_C06A3E_DADADA",572:"CCC5C9_3B2B2B_67585B_7F7375",573:"CCF6FA_9DD9EB_82C5D9_ACD4E4",574:"CDC3B8_5A3F3C_67545A_8D7769",575:"CDCBC8_444342_696765_81807E",576:"CE8C15_EAC79B_DDAB57_F9C962",577:"CE8F3D_F0D2B0_F3C77D_E6B278",578:"CEB299_6B5C4C_887564_746355",579:"D04444_AF2F2F_8B2424_9B2C2C",580:"D07E3F_FBBD1F_8D2840_24120C",581:"D0CCCB_524D50_928891_727581",582:"D0D3BE_816854_998366_685146",583:"D1AC04_F8E50A_EDD004_B38D04",584:"D3CAAB_8C866E_C0B89A_AEA68A",585:"D4855F_92512D_AE6742_A75C2C",586:"D54C2B_5F1105_F39382_F08375",587:"D5B5B4_9E6C6F_F5E9EF_A57986",588:"D5D5D5_929292_ACACAC_B4B4B4",589:"D64480_E27497_EA9BB1_CD156F",590:"D7D7C3_AAAA92_F5F5EA_BCBCA4",591:"D7DFDB_AAB5AF_F5FAF7_BCC4C4",592:"D8388B_230A14_FCC8FC_FC71E1",593:"D8C949_F5F19E_6B7855_9A9858",594:"D8D8E5_9D9DAF_B4B4C4_B4B4CC",595:"DA5788_DE94BD_E078A3_DD83B4",596:"DBDBBB_F7F7E4_AFAF89_C4C49C",597:"DC3E04_B52604_FC7D20_F85F04",598:"DE9261_86361E_A85A37_944C2C",599:"DEDEC4_B5B597_F9F9EA_C4C4AB",600:"DEE3E8_A6AEB5_BCC4CC_BCC4C4",601:"DEE8DE_A6B5A6_BCCCBC_BCC4BC",602:"DEE8E8_A6B5B5_BCCCCC_BAC4C4",603:"DFD9C2_B5AE92_F9F7EA_C4C4A4",604:"DFDBB7_F9F8E3_B5AF86_BCBC8C",605:"DFDFCA_4D2D07_6B5224_857145",606:"DFDFD6_58544E_81766A_989288",607:"E1E1D4_777C7B_9FA19A_898F8D",608:"E1E1E0_363636_989897_747472",609:"E2D3BC_867255_B39E7F_96836C",610:"E2E2E7_AEAEB5_C4C4CC_C4C4C4",611:"E42E12_F35132_F86949_B71B0A",612:"E5DED7_AFA69D_C4BCB4_C3BAAB",613:"E6BF3C_5A4719_977726_FCFC82",614:"E6E3E3_B5AFAF_CCC4C4_C4C4C4",615:"E6E6E6_AAAAAA_C4C4C4_CCCCCC",616:"E7632F_FBA06B_BB2905_FB865E",617:"E7E2D8_B1AA9D_C9C2B3_BCB4AC",618:"E80404_B50404_CB0404_FC3333",619:"E804E8_B504B5_CC04CC_FC33FC",620:"E8DEE1_B5A6AA_CCBCC1_C4BBBC",621:"E8E5DE_B5AFA6_CCC5BC_C4C4BB",622:"E8E8DE_B5B5A6_CCCCBC_C4C4BA",623:"E9CCA1_A63106_DF8C3B_621304",624:"EA783E_6D4830_905837_FCDC6C",625:"EAD8D6_B59A97_CCB4B0_C9ABAB",626:"EAEAEA_B5B5B5_CCCCCC_D4D4D4",627:"EAEAEA_B6B6B6_CCCCCC_C4C4C4",628:"ED4630_791A0E_A42716_501009",629:"ED5087_FAC3D0_1C0B0C_FC84CC",630:"ED7F04_FCD60E_7E2D04_B73E04",631:"EDED06_B5B504_CCCC04_D4D404",632:"EE4128_FC8E82_9A0704_BF0F05",633:"EEECFB_BFB6D5_D0C8EB_CCC4DC",634:"F0D504_FBFAD3_B98609_CDA204",635:"F75F0B_461604_9A3004_FB9D2F",636:"F77777_FBE1E1_FAB2B2_FBC4C4",637:"F79686_FCCBD4_E76644_E76B56",638:"F9E6C7_FCF7DF_EDD3AA_F1D4B4",639:"FBB43F_FBE993_FB552E_FCDD65",640:"FBB82D_FBEDBF_FBDE7D_FB7E05"};const kt=Gt[0];const jt={0:"151_norm.JPG",1:"152_norm.JPG",2:"153_norm.JPG",3:"154_norm.JPG",4:"155_norm.JPG",5:"156_norm.JPG",6:"157_norm.JPG",7:"158_norm.JPG",8:"159_norm.JPG",9:"160_norm.JPG",10:"161_norm.JPG",11:"162_norm.JPG",12:"163_norm.JPG",13:"164_norm.JPG",14:"165_norm.JPG",15:"166_norm.JPG",16:"167_norm.JPG",17:"168_norm.JPG",18:"169_norm.JPG",19:"170_norm.JPG",20:"171_norm.JPG",21:"172_norm.JPG",22:"173_norm.JPG",23:"174_norm.jpg",24:"175_norm.JPG",25:"176_norm.JPG",26:"177_norm.JPG",27:"178_norm.JPG",28:"179_norm.JPG",29:"180_norm.JPG",30:"181_norm.JPG",31:"182_norm.JPG",32:"183_norm.JPG",33:"184_norm.JPG",34:"185_norm.JPG",35:"186_norm.JPG",36:"187_norm.JPG",37:"188_norm.JPG",38:"189_norm.JPG",39:"190_norm.JPG",40:"191_norm.JPG",41:"192_norm.JPG",42:"193_norm.JPG",43:"194_norm.JPG",44:"195_norm.JPG",45:"196_norm.JPG",46:"197_norm.JPG",47:"198_norm.JPG",48:"199_norm.JPG",49:"200_norm.JPG",50:"201_norm.jpg",51:"202_norm.jpg",52:"203_norm.jpg",53:"204_norm.jpg",54:"205_norm.jpg",55:"206_norm.jpg",56:"207_norm.jpg",57:"208_norm.jpg",58:"209_norm.jpg",59:"210_norm.jpg",60:"211_norm.jpg",61:"212_norm.jpg",62:"213_norm.jpg",63:"214_norm.jpg",64:"215_norm.jpg",65:"216_norm.jpg",66:"217_norm.jpg",67:"218_norm.jpg",68:"219_norm.jpg",69:"220_norm.jpg",70:"221_norm.jpg",71:"222_norm.jpg",72:"223_norm.jpg",73:"224_norm.jpg",74:"225_norm.jpg",75:"226_norm.jpg"},Ht=jt[0];const Nt={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};class Ut extends v.Group{constructor(){super(),this.color=new v.Color("white")}}let Qt,Yt;const Wt=D.createContext(null),It=new v.Matrix4,Vt=new v.Vector3,Xt=new v.Color,Zt=D.forwardRef((({children:e,range:t,limit:n=1e3,...r},a)=>{const s=D.useRef(null),[i,u]=D.useState([]),[[c,l]]=D.useState((()=>[new Float32Array(3*n),new Float32Array([...new Array(3*n)].map((()=>1)))]));D.useLayoutEffect((()=>{s.current.geometry.drawRange.count=Math.min(n,void 0!==t?t:n,i.length)}),[i,t]),D.useEffect((()=>{s.current.geometry.attributes.position.needsUpdate=!0})),o.useFrame((()=>{for(s.current.updateMatrix(),s.current.updateMatrixWorld(),It.copy(s.current.matrixWorld).invert(),Qt=0;Qt<i.length;Qt++)Yt=i[Qt].current,Yt.getWorldPosition(Vt).applyMatrix4(It),Vt.x===c[3*Qt]&&Vt.y===c[3*Qt+1]&&Vt.z===c[3*Qt+2]||(Vt.toArray(c,3*Qt),s.current.geometry.attributes.position.needsUpdate=!0,Yt.matrixWorldNeedsUpdate=!0),Yt.color.equals(Xt.fromArray(l,3*Qt))||(Yt.color.toArray(l,3*Qt),s.current.geometry.attributes.color.needsUpdate=!0)}));const C=D.useMemo((()=>{const e={};for(Qt=0;Qt<i.length;Qt++){var t;Object.assign(e,null==(t=i[Qt].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var n,r,o;const a=null==(n=i[e.index])?void 0:n.current;return null==a||null==(r=a.__r3f)||null==(o=r.handlers)?void 0:o[t]({...e,object:a})}})),{})}),[e,i]),m=D.useMemo((()=>({subscribe:e=>(u((t=>[...t,e])),()=>u((t=>t.filter((t=>t.current!==e.current)))))})),[]);return D.createElement("points",E.default({matrixAutoUpdate:!1,ref:x.default([a,s])},C,r),D.createElement("bufferGeometry",null,D.createElement("bufferAttribute",{attachObject:["attributes","position"],count:c.length/3,array:c,itemSize:3,usage:v.DynamicDrawUsage}),D.createElement("bufferAttribute",{attachObject:["attributes","color"],count:l.length/3,array:l,itemSize:3,usage:v.DynamicDrawUsage})),D.createElement(Wt.Provider,{value:m},e))})),Kt=D.forwardRef((({children:e,...t},n)=>{D.useMemo((()=>o.extend({Position:Ut})),[]);const r=D.useRef(),{subscribe:a}=D.useContext(Wt);return D.useLayoutEffect((()=>a(r)),[]),D.createElement("position",E.default({ref:x.default([n,r])},t),e)}));let Jt,qt;const $t=D.createContext(null),en=new v.Matrix4,tn=new v.Matrix4,nn=new v.Matrix4,rn=new v.Color,on=new v.Vector3,an=new v.Quaternion,sn=new v.Vector3,un=D.forwardRef((({context:e,children:t,...n},r)=>{D.useMemo((()=>o.extend({Position:Ut})),[]);const a=D.useRef(),{subscribe:s}=D.useContext(e||$t);return D.useLayoutEffect((()=>s(a)),[]),D.createElement("position",E.default({ref:x.default([r,a])},n),t)})),cn=D.forwardRef((({children:e,range:t,limit:n=1e3,frames:r=1/0,...a},s)=>{const[{context:i,instance:u}]=D.useState((()=>{const e=D.createContext(null);return{context:e,instance:D.forwardRef(((t,n)=>D.createElement(un,E.default({context:e},t,{ref:n}))))}})),c=D.useRef(null),[l,C]=D.useState([]),[[m,A]]=D.useState((()=>{const e=new Float32Array(16*n);for(Jt=0;Jt<n;Jt++)nn.identity().toArray(e,16*Jt);return[e,new Float32Array([...new Array(3*n)].map((()=>1)))]}));D.useLayoutEffect((()=>{c.current.count=c.current.instanceMatrix.updateRange.count=c.current.instanceColor.updateRange.count=Math.min(n,void 0!==t?t:n,l.length)}),[l,t]),D.useEffect((()=>{c.current.instanceMatrix.needsUpdate=!0}));let _=0;o.useFrame((e=>{if(r===1/0||_<r){for(c.current.updateMatrix(),c.current.updateMatrixWorld(),en.copy(c.current.matrixWorld).invert(),Jt=0;Jt<l.length;Jt++)qt=l[Jt].current,qt.matrixWorld.decompose(on,an,sn),tn.compose(on,an,sn).premultiply(en),tn.equals(nn.fromArray(m,16*Jt))||(tn.toArray(m,16*Jt),c.current.instanceMatrix.needsUpdate=!0),qt.color.equals(rn.fromArray(A,3*Jt))||(qt.color.toArray(A,3*Jt),c.current.instanceColor.needsUpdate=!0);_++}}));const p=D.useMemo((()=>{const e={};for(Jt=0;Jt<l.length;Jt++){var t;Object.assign(e,null==(t=l[Jt].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var n,r,o;const a=null==(n=l[e.instanceId])?void 0:n.current;return null==a||null==(r=a.__r3f)||null==(o=r.handlers)?void 0:o[t]({...e,object:a})}})),{})}),[e,l]),d=D.useMemo((()=>({subscribe:e=>(C((t=>[...t,e])),()=>C((t=>t.filter((t=>t.current!==e.current)))))})),[]);return D.createElement("instancedMesh",E.default({matrixAutoUpdate:!1,ref:x.default([s,c]),args:[null,null,0]},p,a),D.createElement("instancedBufferAttribute",{attach:"instanceMatrix",count:m.length/16,array:m,itemSize:16,usage:v.DynamicDrawUsage}),D.createElement("instancedBufferAttribute",{attach:"instanceColor",count:A.length/3,array:A,itemSize:3,usage:v.DynamicDrawUsage}),"function"==typeof e?D.createElement(i.Provider,{value:d},e(u)):D.createElement($t.Provider,{value:d},e))}));const ln=D.forwardRef((({children:e,distances:t,...n},r)=>{const a=D.useRef(null);return D.useLayoutEffect((()=>{const{current:e}=a;e.levels.length=0,e.children.forEach(((n,r)=>e.levels.push({object:n,distance:t[r]})))})),o.useFrame((e=>{var t;return null==(t=a.current)?void 0:t.update(e.camera)})),D.createElement("lOD",E.default({ref:x.default([a,r])},n),e)}));const Cn=new r.Matrix4,mn=new r.Ray,An=new r.Sphere,_n=new r.Vector3;exports.AdaptiveDpr=function({pixelated:e}){const t=o.useThree((e=>e.gl)),n=o.useThree((e=>e.internal.active)),r=o.useThree((e=>e.performance.current)),a=o.useThree((e=>e.viewport.initialDpr)),s=o.useThree((e=>e.setDpr));return D.useEffect((()=>{const r=t.domElement;return()=>{n&&s(a),e&&r&&(r.style.imageRendering="auto")}}),[]),D.useEffect((()=>{s(r*a),e&&t.domElement&&(t.domElement.style.imageRendering=1===r?"auto":"pixelated")}),[r]),null},exports.AdaptiveEvents=function(){const e=o.useThree((e=>e.get)),t=o.useThree((e=>e.performance.current));return D.useEffect((()=>{const t=e().raycaster.enabled;return()=>{e().raycaster.enabled=t}}),[]),D.useEffect((()=>{e().raycaster.enabled=1===t}),[t]),null},exports.ArcballControls=Ce,exports.BakeShadows=function(){const e=o.useThree((e=>e.gl));return D.useEffect((()=>(e.shadowMap.autoUpdate=!1,e.shadowMap.needsUpdate=!0,()=>{e.shadowMap.autoUpdate=e.shadowMap.needsUpdate=!0})),[]),null},exports.Billboard=Q,exports.Box=pt,exports.CameraShake=ae,exports.Center=Xe,exports.Circle=dt,exports.Cloud=function({opacity:e=.5,speed:t=.4,width:n=10,length:r=1.5,segments:a=20,dir:s=1,...i}){const u=D.useRef(),c=W(V),l=D.useMemo((()=>[...new Array(a)].map(((e,r)=>({x:n/2-Math.random()*n,y:n/2-Math.random()*n,scale:.4+Math.sin((r+1)/a*Math.PI)*(10*(.2+Math.random())),density:Math.max(.2,Math.random()),rotation:Math.max(.002,.005*Math.random())*t})))),[n,a,t]);return o.useFrame((e=>{var t;return null==(t=u.current)?void 0:t.children.forEach(((t,n)=>{t.rotation.z+=l[n].rotation*s,t.scale.setScalar(l[n].scale+(1+Math.sin(e.clock.getElapsedTime()/10))/2*n/10)}))})),D.createElement("group",i,D.createElement("group",{position:[0,0,a/2*r],ref:u},l.map((({x:t,y:n,scale:o,density:a},s)=>D.createElement(Q,{key:s,scale:[o,o,o],position:[t,n,-s*r],lockZ:!0},D.createElement("meshStandardMaterial",{map:c,transparent:!0,opacity:o/6*a*e,depthTest:!1}))))))},exports.Cone=ft,exports.ContactShadows=lt,exports.CubeCamera=function({children:e,fog:t,frames:n=1/0,resolution:a=256,near:s=1,far:i=1e3,...u}){const c=D.useRef(),[l,C]=D.useState(),m=o.useThree((({scene:e})=>e)),A=o.useThree((({gl:e})=>e)),_=D.useMemo((()=>new r.WebGLCubeRenderTarget(a,{minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBFormat,encoding:A.outputEncoding})),[a]);let p=0;return o.useFrame((()=>{if(l&&c.current&&(n===1/0||p<n)){c.current.traverse((e=>e.visible=!1));const e=m.fog;m.fog=t||e,l.update(A,m),m.fog=e,c.current.traverse((e=>e.visible=!0)),p++}})),D.createElement("group",u,D.createElement("cubeCamera",{ref:C,args:[s,i,_]}),D.createElement("group",{ref:c},e(_.texture)))},exports.CubicBezierLine=K,exports.CurveModifier=Je,exports.CycleRaycast=function({onChanged:e,portal:t,preventDefault:n=!0,scroll:r=!0,keyCode:a=9}){const s=D.useRef(0),i=o.useThree((e=>e.raycaster)),u=o.useThree((e=>e.get)),c=o.useThree((e=>e.gl));return D.useEffect((()=>{var o;let l,C=[];const m=i.filter,A=null!==(o=null==t?void 0:t.current)&&void 0!==o?o:c.domElement.parentNode,_=()=>A&&e&&e(C,Math.round(s.current)%C.length);i.filter=(e,t)=>{let n=[...e];n.length===C.length&&C.every((e=>n.map((e=>e.object.uuid)).includes(e.object.uuid)))||(s.current=0,C=n,_()),m&&(n=m(n,t));for(let e=0;e<Math.round(s.current)%n.length;e++){const e=n.shift();n=[...n,e]}return n};const p=e=>{var t,n;s.current=e(s.current),null==(t=u().events.handlers)||t.onPointerCancel(void 0),null==(n=u().events.handlers)||n.onPointerMove(l),_()},d=e=>{(e.keyCode||e.which===a)&&(n&&e.preventDefault(),C.length>1&&p((e=>e+1)))},f=e=>{n&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),C.length>1&&p((e=>Math.abs(e-t)))},B=e=>l=e;return document.addEventListener("pointermove",B,{passive:!0}),r&&document.addEventListener("wheel",f),void 0!==a&&document.addEventListener("keydown",d),()=>{i.filter=m,void 0!==a&&document.removeEventListener("keydown",d),r&&document.removeEventListener("wheel",f),document.removeEventListener("pointermove",B)}}),[c,u,i,n,r,a]),null},exports.Cylinder=Bt,exports.DepthBuffer=Ke,exports.Detailed=ln,exports.DeviceOrientationControls=se,exports.Dodecahedron=Pt,exports.Effects=ne,exports.Environment=ee,exports.Extrude=St,exports.FirstPersonControls=_e,exports.FlyControls=ie,exports.GizmoHelper=({alignment:e="bottom-right",margin:t=[80,80],renderPriority:n=1,onUpdate:a,onTarget:s,children:i})=>{const u=o.useThree((({size:e})=>e)),c=o.useThree((({camera:e})=>e)),l=o.useThree((({controls:e})=>e)),C=o.useThree((({gl:e})=>e)),m=o.useThree((({scene:e})=>e)),A=o.useThree((({invalidate:e})=>e)),_=D.useRef(),p=D.useRef(),d=D.useRef(null),[f]=D.useState((()=>new r.Scene)),B=D.useRef(!1),E=D.useRef(0),h=D.useRef(new r.Vector3(0,0,0));D.useEffect((()=>(m.background&&(_.current=m.background,m.background=null,f.background=_.current),()=>{_.current&&(m.background=_.current)})),[]);o.useFrame(((e,t)=>{var n;d.current&&p.current&&((e=>{if(!B.current)return;if(he.angleTo(ve)<.01)return void(B.current=!1);const t=e*Be;he.rotateTowards(ve,t),c.position.set(0,0,1).applyQuaternion(he).multiplyScalar(E.current).add(h.current),c.up.set(0,1,0).applyQuaternion(he).normalize(),c.quaternion.copy(he),a?a():l&&l.update(),A()})(t),De.copy(c.matrix).invert(),null==(n=p.current)||n.quaternion.setFromRotationMatrix(De),C.autoClear=!1,C.clearDepth(),C.render(f,d.current))}),n);const v={tweenCamera:e=>{B.current=!0,(l||s)&&(h.current=(null==l?void 0:l.target)||(null==s?void 0:s())),E.current=c.position.distanceTo(ge),he.copy(c.quaternion),xe.copy(e).multiplyScalar(E.current).add(ge),Ee.lookAt(xe),ve.copy(Ee.quaternion),A()},raycast:pe(d)},[g,x]=t,F=e.endsWith("-left")?-u.width/2+g:u.width/2-g,w=e.startsWith("top-")?u.height/2-x:-u.height/2+x;return o.createPortal(D.createElement(de.Provider,{value:v},D.createElement(re,{ref:d,makeDefault:!1,position:[0,0,200]}),D.createElement("group",{ref:p,position:[F,w,0]},i)),f)},exports.GizmoViewcube=e=>D.createElement("group",{scale:[60,60,60]},D.createElement(Oe,e),ze.map(((t,n)=>D.createElement(Ge,E.default({key:n,position:t,dimensions:Le[n]},e)))),Me.map(((t,n)=>D.createElement(Ge,E.default({key:n,position:t,dimensions:Te},e)))),D.createElement("ambientLight",{intensity:.5}),D.createElement("pointLight",{position:[10,10,10],intensity:.5})),exports.GizmoViewport=({hideNegativeAxes:e,disabled:t,font:n="18px Inter var, Arial, sans-serif",axisColors:r=["#ff3653","#0adb50","#2c8fdf"],labelColor:o="#000",onClick:a,...s})=>{const[i,u,c]=r,{tweenCamera:l,raycast:C}=fe(),m={font:n,disabled:t,labelColor:o,raycast:C,onClick:a,onPointerDown:t?void 0:e=>{l(e.object.position),e.stopPropagation()}};return D.createElement("group",E.default({scale:40},s),D.createElement(ke,{color:i,rotation:[0,0,0]}),D.createElement(ke,{color:u,rotation:[0,0,Math.PI/2]}),D.createElement(ke,{color:c,rotation:[0,-Math.PI/2,0]}),D.createElement(je,E.default({arcStyle:i,position:[1,0,0],label:"X"},m)),D.createElement(je,E.default({arcStyle:u,position:[0,1,0],label:"Y"},m)),D.createElement(je,E.default({arcStyle:c,position:[0,0,1],label:"Z"},m)),!e&&D.createElement(D.Fragment,null,D.createElement(je,E.default({arcStyle:i,position:[-1,0,0]},m)),D.createElement(je,E.default({arcStyle:u,position:[0,-1,0]},m)),D.createElement(je,E.default({arcStyle:c,position:[0,0,-1]},m))),D.createElement("ambientLight",{intensity:.5}),D.createElement("pointLight",{position:[10,10,10],intensity:.5}))},exports.GradientTexture=function({stops:e,colors:t,size:n=2048,...r}){const o=D.useMemo((()=>{const r=document.createElement("canvas"),o=r.getContext("2d");r.width=16,r.height=n;const a=o.createLinearGradient(0,0,0,n);let s=e.length;for(;s--;)a.addColorStop(e[s],t[s]);o.fillStyle=a,o.fillRect(0,0,16,n);const i=new v.Texture(r);return i.needsUpdate=!0,i}),[e]);return D.useEffect((()=>()=>{o.dispose()}),[o]),D.createElement("primitive",E.default({object:o,attach:"map"},r))},exports.Html=k,exports.Icosahedron=yt,exports.Instance=un,exports.Instances=cn,exports.IsObject=Y,exports.Lathe=Mt,exports.Line=X,exports.Loader=function({containerStyles:e,innerStyles:t,barStyles:n,dataStyles:r,dataInterpolation:o=N,initialState:a=(e=>e)}){const{active:s,progress:i}=H(),u=D.useRef(0),c=D.useRef(0),l=D.useRef(null),[C,m]=D.useState(a(s));D.useEffect((()=>{let e;return s!==C&&(e=setTimeout((()=>m(s)),300)),()=>clearTimeout(e)}),[C,s]);const A=D.useCallback((()=>{l.current&&(u.current+=(i-u.current)/2,(u.current>.95*i||100===i)&&(u.current=i),l.current.innerText=o(u.current),u.current<i&&(c.current=requestAnimationFrame(A)))}),[o,i]);return D.useEffect((()=>(A(),()=>cancelAnimationFrame(c.current))),[A]),C?D.createElement("div",{style:{...U.container,opacity:s?1:0,...e}},D.createElement("div",null,D.createElement("div",{style:{...U.inner,...t}},D.createElement("div",{style:{...U.bar,transform:`scaleX(${i/100})`,...n}}),D.createElement("span",{ref:l,style:{...U.data,...r}})))):null},exports.MapControls=ue,exports.Merged=function({meshes:e,children:t,...n}){const r=Array.isArray(e);return D.createElement(b.default,{components:(r?e:Object.values(e)).map((({geometry:e,material:t})=>D.createElement(cn,E.default({geometry:e,material:t},n))))},(n=>r?t(...n):t(Object.keys(e).reduce(((e,t,r)=>({...e,[t]:n[r]})),{}))))},exports.MeshDistortMaterial=$e,exports.MeshReflectorMaterial=Ye,exports.MeshWobbleMaterial=tt,exports.Octahedron=bt,exports.OrbitControls=ce,exports.OrthographicCamera=re,exports.Parametric=Tt,exports.PerspectiveCamera=oe,exports.Plane=Dt,exports.Point=Kt,exports.PointMaterial=rt,exports.PointMaterialImpl=nt,exports.PointerLockControls=Ae,exports.Points=Zt,exports.Polyhedron=wt,exports.PositionalAudio=J,exports.Preload=function({all:e,scene:t,camera:n}){const r=o.useThree((({gl:e})=>e)),a=o.useThree((({camera:e})=>e)),s=o.useThree((({scene:e})=>e));return D.useLayoutEffect((()=>{const o=[];e&&(t||s).traverse((e=>{!1===e.visible&&(o.push(e),e.visible=!0)})),r.compile(t||s,n||a),o.forEach((e=>e.visible=!1))}),[]),null},exports.QuadraticBezierLine=Z,exports.Reflector=We,exports.Ring=Ft,exports.RoundedBox=Lt,exports.ScreenQuad=Ot,exports.Shadow=Ie,exports.Sky=at,exports.Sphere=Et,exports.SpotLight=At,exports.Stage=function({children:e,controls:t,shadows:n=!0,adjustCamera:r=!0,environment:a="city",contactShadow:s=!0,intensity:i=1,preset:u="rembrandt",shadowBias:c=0,contactShadowBlur:l=2,contactShadowOpacity:C=.5,...m}){const A=Nt[u],_=o.useThree((e=>e.camera)),p=o.useThree((e=>e.controls)),d=D.useRef(null),f=D.useRef(null),[{radius:B,width:E,height:h},g]=D.useState({radius:0,width:0,height:0});return D.useLayoutEffect((()=>{d.current.position.set(0,0,0),d.current.updateWorldMatrix(!0,!0);const e=(new v.Box3).setFromObject(f.current),t=new v.Vector3,n=new v.Sphere,r=e.max.y-e.min.y,o=e.max.x-e.min.x;e.getCenter(t),e.getBoundingSphere(n),g({radius:n.radius,width:o,height:r}),d.current.position.set(-t.x,-t.y+r/2,-t.z)}),[e]),D.useLayoutEffect((()=>{if(r){const e=B/(h>E?1.5:2.5);_.position.set(0,.5*B,2.5*B),_.near=.1,_.far=Math.max(5e3,4*B),_.lookAt(0,e,0);const n=p||(null==t?void 0:t.current);n&&(n.target.set(0,e,0),n.update())}}),[p,B,h,E,r]),D.createElement("group",m,D.createElement("group",{ref:d},D.createElement("group",{ref:f},e)),s&&D.createElement(lt,{"rotation-x":Math.PI/2,opacity:C,width:2*B,height:2*B,blur:l,far:B/2}),a&&D.createElement(ee,{preset:a}),D.createElement("ambientLight",{intensity:i/3}),D.createElement("spotLight",{penumbra:1,position:[A.main[0]*B,A.main[1]*B,A.main[2]*B],intensity:2*i,castShadow:n,"shadow-bias":c}),D.createElement("pointLight",{position:[A.fill[0]*B,A.fill[1]*B,A.fill[2]*B],intensity:i}))},exports.Stars=ct,exports.Stats=function({showPanel:e=0,className:t,parent:n}){const r=function(e,t=[],n){const[r,o]=D.useState();return D.useLayoutEffect((()=>{const t=e();return o(t),Ve(n,t),()=>Ve(n,null)}),t),r}((()=>new y.default),[]);return D.useEffect((()=>{if(r){const a=n&&n.current||document.body;r.showPanel(e),null==a||a.appendChild(r.dom),t&&r.dom.classList.add(t);const s=o.addEffect((()=>r.begin())),i=o.addAfterEffect((()=>r.end()));return()=>{null==a||a.removeChild(r.dom),s(),i()}}}),[n,r,t,e]),null},exports.Tetrahedron=xt,exports.Text=q,exports.Torus=vt,exports.TorusKnot=gt,exports.TrackballControls=le,exports.TransformControls=me,exports.Tube=ht,exports.calcPosFromAngles=ot,exports.isWebGL2Available=te,exports.meshBounds=function(e,t){const n=this.geometry,r=this.material,o=this.matrixWorld;void 0!==r&&(null===n.boundingSphere&&n.computeBoundingSphere(),An.copy(n.boundingSphere),An.applyMatrix4(o),!1!==e.ray.intersectsSphere(An)&&(Cn.copy(o).invert(),mn.copy(e.ray).applyMatrix4(Cn),null!==n.boundingBox&&null===mn.intersectBox(n.boundingBox,_n)||t.push({distance:_n.distanceTo(e.ray.origin),point:_n.clone(),object:this})))},exports.shaderMaterial=function(e,t,n,r){return class extends v.ShaderMaterial{constructor(){const o=Object.entries(e);super({uniforms:o.reduce(((e,[t,n])=>({...e,...v.UniformsUtils.clone({[t]:{value:n}})})),{}),vertexShader:t,fragmentShader:n}),o.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),r&&r(this)}}},exports.softShadows=e=>{if(!st){st=!0;let t=v.ShaderChunk.shadowmap_pars_fragment;t=t.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({frustum:e=3.75,size:t=.005,near:n=9.5,samples:r=17,rings:o=11}={})=>`#define LIGHT_WORLD_SIZE ${t}\n#define LIGHT_FRUSTUM_WIDTH ${e}\n#define LIGHT_SIZE_UV (LIGHT_WORLD_SIZE / LIGHT_FRUSTUM_WIDTH)\n#define NEAR_PLANE ${n}\n\n#define NUM_SAMPLES ${r}\n#define NUM_RINGS ${o}\n#define BLOCKER_SEARCH_NUM_SAMPLES NUM_SAMPLES\n#define PCF_NUM_SAMPLES NUM_SAMPLES\n\nvec2 poissonDisk[NUM_SAMPLES];\n\nvoid initPoissonSamples(const in vec2 randomSeed) {\n float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);\n float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);\n float angle = rand(randomSeed) * PI2;\n float radius = INV_NUM_SAMPLES;\n float radiusStep = radius;\n for (int i = 0; i < NUM_SAMPLES; i++) {\n poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);\n radius += radiusStep;\n angle += ANGLE_STEP;\n }\n}\n\nfloat penumbraSize(const in float zReceiver, const in float zBlocker) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\n\nfloat findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver) {\n float searchRadius = LIGHT_SIZE_UV * (zReceiver - NEAR_PLANE) / zReceiver;\n float blockerDepthSum = 0.0;\n int numBlockers = 0;\n for (int i = 0; i < BLOCKER_SEARCH_NUM_SAMPLES; i++) {\n float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));\n if (shadowMapDepth < zReceiver) {\n blockerDepthSum += shadowMapDepth;\n numBlockers++;\n }\n }\n if (numBlockers == 0) return -1.0;\n return blockerDepthSum / float(numBlockers);\n}\n\nfloat PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {\n float sum = 0.0;\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[ i ] * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[ i ].yx * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n return sum / (2.0 * float(PCF_NUM_SAMPLES));\n}\n\nfloat PCSS(sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n initPoissonSamples(uv);\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);\n if (avgBlockerDepth == -1.0) return 1.0;\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n float filterRadius = penumbraRatio * LIGHT_SIZE_UV * NEAR_PLANE / zReceiver;\n return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);\n}`)({...e})),t=t.replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),v.ShaderChunk.shadowmap_pars_fragment=t}},exports.useAnimations=function(e,t){const n=D.useRef(),[a]=D.useState((()=>t?t instanceof r.Object3D?{current:t}:t:n)),[s]=D.useState((()=>new r.AnimationMixer(void 0))),i=D.useRef({}),[u]=D.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(a.current)return i.current[e.name]||(i.current[e.name]=s.clipAction(e,a.current))}}))),{ref:a,clips:e,actions:t,names:e.map((e=>e.name)),mixer:s}}));return o.useFrame(((e,t)=>s.update(t))),D.useEffect((()=>{const e=a.current;return()=>{i.current={},Object.values(u.actions).forEach((t=>{e&&s.uncacheAction(t,e)}))}}),[e]),u},exports.useAspect=function(e,t,n=1){const r=o.useThree((e=>e.viewport)),a=t*(r.aspect>e/t?r.width/e:r.height/t);return[e*(r.aspect>e/t?r.width/e:r.height/t)*n,a*n,1]},exports.useBVH=function(e,t){D.useEffect((()=>{if(e.current){e.current.raycast=p.acceleratedRaycast;const n=e.current.geometry;return n.computeBoundsTree=p.computeBoundsTree,n.disposeBoundsTree=p.disposeBoundsTree,n.computeBoundsTree(t),()=>{n.boundsTree&&n.disposeBoundsTree()}}}),[e,t])},exports.useCamera=pe,exports.useContextBridge=function(...e){const t=D.useRef([]);return t.current=e.map((e=>D.useContext(e))),D.useMemo((()=>({children:n})=>e.reduceRight(((e,n,r)=>D.createElement(n.Provider,{value:t.current[r],children:e})),n)),[])},exports.useCubeTexture=He,exports.useCursor=function(e,t="pointer",n="auto"){D.useEffect((()=>{if(e)return document.body.style.cursor=t,()=>{document.body.style.cursor=n}}),[e])},exports.useDetectGPU=function(e){return D.useState(null),l.useAsset((()=>_.getGPUTier(e)),"useDetectGPU")},exports.useEdgeSplit=function(e,t=!0){const n=D.useRef(),r=D.useRef(),o=D.useRef();return D.useEffect((()=>{!r.current&&n.current&&(r.current=n.current.geometry.clone(),o.current=new u.EdgeSplitModifier)}),[]),D.useEffect((()=>{if(r.current&&n.current&&o.current){const a=o.current.modify(r.current,e,t);a.computeVertexNormals(),n.current.geometry=a}}),[e,t]),n},exports.useFBO=Ze,exports.useFBX=Ne,exports.useGLTF=Qe,exports.useGizmoContext=fe,exports.useHelper=function(e,t,...n){const r=D.useRef(),a=o.useThree((e=>e.scene));return D.useEffect((()=>(t&&e.current&&(r.current=new t(e.current,...n),r.current&&a.add(r.current)),()=>{r.current&&a.remove(r.current)})),[a,t,e,n]),o.useFrame((()=>{var e;null!=(e=r.current)&&e.update&&r.current.update()})),r},exports.useMatcapTexture=function(e=0,t=1024){const n=D.useMemo((()=>Object.keys(Gt).length),[]),r=`https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/${t}/${`${D.useMemo((()=>"string"==typeof e?e:"number"==typeof e?Gt[e]:null),[e])||kt}${function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(t)}.png`}`;return[W(r),r,n]},exports.useNormalTexture=function(e=0,t={}){const{repeat:n=[1,1],anisotropy:o=1,offset:a=[0,0]}=t,s=D.useMemo((()=>Object.keys(jt).length),[]),i=`https://rawcdn.githack.com/emmelleppi/normal-maps/f24c810fc1d86b5b1e5dfea914b668f70b5f2923/normals/${jt[e]||Ht}`,u=W(i);return D.useEffect((()=>{u&&(u.wrapS=u.wrapT=r.RepeatWrapping,u.repeat=new r.Vector2(n[0],n[1]),u.offset=new r.Vector2(a[0],a[1]),u.anisotropy=o)}),[u,o,n,a]),[u,i,s]},exports.useProgress=H,exports.useSimplification=function(e){const t=D.useRef(),n=D.useRef(),r=D.useRef();return D.useEffect((()=>{n.current||(n.current=t.current.geometry.clone(),r.current=new u.SimplifyModifier)}),[]),D.useEffect((()=>{if(n.current&&t.current){const o=n.current,a=Math.floor(o.attributes.position.count*e);t.current.geometry=r.current.modify(o,a)}}),[e]),t},exports.useTessellation=function(e=3,t){const n=D.useRef(),r=D.useRef(),o=D.useRef();return D.useEffect((()=>{r.current||(r.current=n.current.geometry.clone(),o.current=new u.TessellateModifier(parseInt(t),e))}),[t,e]),D.useEffect((()=>{o.current.maxEdgeLength=t}),[t]),D.useEffect((()=>{if(r.current&&n.current){const e=o.current.modify(r.current);n.current.geometry=e}}),[t,e]),n},exports.useTexture=W;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom"),n=require("three"),o=require("@react-three/fiber"),a=require("zustand"),s=require("react-merge-refs"),i=require("three-stdlib"),u=require("troika-three-text"),c=require("use-asset"),l=require("lodash.omit"),A=require("lodash.pick"),C=require("three/examples/js/libs/stats.min"),f=require("detect-gpu"),m=require("three-mesh-bvh"),p=require("react-composer");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function B(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var D=d(e),v=B(t),E=B(r),h=B(n),_=d(a),g=d(s),x=d(l),F=d(A),w=d(C),P=d(p);const y=new n.Vector3,b=new n.Vector3,M=new n.Vector3;function z(e,t,r){const n=y.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,a=r.height/2;return[n.x*o+o,-n.y*a+a]}const L=e=>Math.abs(e)<1e-10?0:e;function H(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=L(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const S=(O=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>H(e,O));var O;const T=(e,t)=>{return H(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},j=v.forwardRef((({children:e,eps:t=.001,style:r,className:a,prepend:s,center:i,fullscreen:u,portal:c,distanceFactor:l,sprite:A=!1,transform:C=!1,occlude:f,onOcclude:m,zIndexRange:p=[16777271,0],calculatePosition:d=z,as:B="div",pointerEvents:h="auto",..._},g)=>{var x;const F=o.useThree((({gl:e})=>e)),w=o.useThree((({camera:e})=>e)),P=o.useThree((({scene:e})=>e)),H=o.useThree((({size:e})=>e)),O=o.useThree((({raycaster:e})=>e)),[j]=v.useState((()=>document.createElement(B))),Q=v.useRef(null),X=v.useRef(0),N=v.useRef([0,0]),k=v.useRef(null),V=v.useRef(null),I=null!==(x=null==c?void 0:c.current)&&void 0!==x?x:F.domElement.parentNode;v.useEffect((()=>{if(Q.current){if(P.updateMatrixWorld(),C)j.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=d(Q.current,w,H);j.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return I&&(s?I.prepend(j):I.appendChild(j)),()=>{I&&I.removeChild(j),E.unmountComponentAtNode(j)}}}),[I,C]);const U=v.useMemo((()=>C?{position:"absolute",top:0,left:0,width:H.width,height:H.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:i?"translate3d(-50%,-50%,0)":"none",...u&&{top:-H.height/2,left:-H.width/2,width:H.width,height:H.height},...r}),[r,i,u,H,C]),G=v.useMemo((()=>({position:"absolute",pointerEvents:h})),[h]);v.useLayoutEffect((()=>{C?E.render(v.createElement("div",{ref:k,style:U},v.createElement("div",{ref:V,style:G},v.createElement("div",{ref:g,className:a,style:r,children:e}))),j):E.render(v.createElement("div",{ref:g,style:U,className:a,children:e}),j)}));const q=v.useRef(!0);return o.useFrame((()=>{if(Q.current){w.updateMatrixWorld(),Q.current.updateWorldMatrix(!0,!1);const e=C?N.current:d(Q.current,w,H);if(C||Math.abs(X.current-w.zoom)>t||Math.abs(N.current[0]-e[0])>t||Math.abs(N.current[1]-e[1])>t){const t=function(e,t){const r=y.setFromMatrixPosition(e.matrixWorld),n=b.setFromMatrixPosition(t.matrixWorld),o=r.sub(n),a=t.getWorldDirection(M);return o.angleTo(a)>Math.PI/2}(Q.current,w);let r=!1;"boolean"==typeof f?!0===f&&(r=[P]):Array.isArray(f)&&(r=f.map((e=>e.current)));const o=q.current;if(r){const e=function(e,t,r,n){const o=y.setFromMatrixPosition(e.matrixWorld),a=o.clone();a.project(t),r.setFromCamera(a,t);const s=r.intersectObjects(n,!0);if(s.length){const e=s[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(Q.current,w,O,r);q.current=e&&!t}else q.current=!t;if(o!==q.current&&(m?m(!q.current):j.style.display=q.current?"block":"none"),j.style.zIndex=`${function(e,t,r){if(t instanceof n.PerspectiveCamera||t instanceof n.OrthographicCamera){const n=y.setFromMatrixPosition(e.matrixWorld),o=b.setFromMatrixPosition(t.matrixWorld),a=n.distanceTo(o),s=(r[1]-r[0])/(t.far-t.near),i=r[1]-s*t.far;return Math.round(s*a+i)}}(Q.current,w,p)}`,C){const[e,t]=[H.width/2,H.height/2],r=w.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:a,bottom:s,right:i}=w,u=S(w.matrixWorldInverse),c=n?`scale(${r})translate(${L(-(i+a)/2)}px,${L((o+s)/2)}px)`:`translateZ(${r}px)`;let C=Q.current.matrixWorld;A&&(C=w.matrixWorldInverse.clone().transpose().copyPosition(C).scale(Q.current.scale),C.elements[3]=C.elements[7]=C.elements[11]=0,C.elements[15]=1),j.style.width=H.width+"px",j.style.height=H.height+"px",j.style.perspective=n?"":`${r}px`,k.current&&V.current&&(k.current.style.transform=`${c}${u}translate(${e}px,${t}px)`,V.current.style.transform=T(C,1/((l||10)/400)))}else{const t=void 0===l?1:function(e,t){if(t instanceof n.OrthographicCamera)return t.zoom;if(t instanceof n.PerspectiveCamera){const r=y.setFromMatrixPosition(e.matrixWorld),n=b.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,a=r.distanceTo(n);return 1/(2*Math.tan(o/2)*a)}return 1}(Q.current,w)*l;j.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}N.current=e,X.current=w.zoom}}})),v.createElement("group",D.default({},_,{ref:Q}))}));let Q=0;const X=_.default((e=>(n.DefaultLoadingManager.onStart=(t,r,n)=>{e({active:!0,item:t,loaded:r,total:n,progress:(r-Q)/(n-Q)*100})},n.DefaultLoadingManager.onLoad=()=>{e({active:!1})},n.DefaultLoadingManager.onError=t=>e((e=>({errors:[...e.errors,t]}))),n.DefaultLoadingManager.onProgress=(t,r,n)=>{r===n&&(Q=n),e({active:!0,item:t,loaded:r,total:n,progress:(r-Q)/(n-Q)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}))),N=e=>`Loading ${e.toFixed(2)}%`;const k={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}},V=v.forwardRef((function({follow:e=!0,lockX:t=!1,lockY:r=!1,lockZ:n=!1,...a},s){const i=v.useRef();return o.useFrame((({camera:o})=>{if(!e||!i.current)return;const a=i.current.rotation.clone();i.current.quaternion.copy(o.quaternion),t&&(i.current.rotation.x=a.x),r&&(i.current.rotation.y=a.y),n&&(i.current.rotation.z=a.z)})),v.createElement("group",D.default({ref:g.default([i,s])},a))})),I=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function U(e){const t=o.useLoader(n.TextureLoader,I(e)?Object.values(e):e);if(I(e)){const r=Object.keys(e),n={};return r.forEach((e=>Object.assign(n,{[e]:t[r.indexOf(e)]}))),n}return t}U.preload=e=>o.useLoader.preload(n.TextureLoader,e),U.clear=e=>o.useLoader.clear(n.TextureLoader,e);const G=v.forwardRef((function({points:e,color:t="black",vertexColors:r,lineWidth:o,dashed:a,...s},u){const[c]=v.useState((()=>new i.Line2)),[l]=v.useState((()=>new i.LineMaterial)),[A]=v.useState((()=>new n.Vector2(512,512))),C=v.useMemo((()=>{const t=new i.LineGeometry,o=e.map((e=>e instanceof n.Vector3?e.toArray():e));if(t.setPositions(o.flat()),r){const e=r.map((e=>e instanceof n.Color?e.toArray():e));t.setColors(e.flat())}return t}),[e,r]);return v.useLayoutEffect((()=>{c.computeLineDistances()}),[e,c]),v.useLayoutEffect((()=>{a?l.defines.USE_DASH="":delete l.defines.USE_DASH,l.needsUpdate=!0}),[a,l]),v.useEffect((()=>()=>C.dispose()),[C]),v.createElement("primitive",D.default({object:c,ref:u},s),v.createElement("primitive",{object:C,attach:"geometry"}),v.createElement("primitive",D.default({object:l,attach:"material",color:t,vertexColors:Boolean(r),resolution:A,linewidth:o,dashed:a},s)))})),q=v.forwardRef((function({start:e,end:t,mid:r,segments:o=20,...a},s){const i=v.useMemo((()=>{const a=e instanceof n.Vector3?e:new n.Vector3(...e),s=t instanceof n.Vector3?t:new n.Vector3(...t),i=r||a.clone().add(s.clone().sub(a)).add(new n.Vector3(0,a.y-s.y,0)),u=i instanceof n.Vector3?i:new n.Vector3(...i);return new n.QuadraticBezierCurve3(a,u,s).getPoints(o)}),[e,t,r,o]);return v.createElement(G,D.default({ref:s,points:i},a))})),W=v.forwardRef((function({start:e,end:t,midA:r,midB:o,segments:a=20,...s},i){const u=v.useMemo((()=>{const s=e instanceof n.Vector3?e:new n.Vector3(...e),i=t instanceof n.Vector3?t:new n.Vector3(...t),u=r instanceof n.Vector3?r:new n.Vector3(...r),c=o instanceof n.Vector3?o:new n.Vector3(...o);return new n.CubicBezierCurve3(s,u,c,i).getPoints(a)}),[e,t,r,o,a]);return v.createElement(G,D.default({ref:i,points:u},s))})),R=v.forwardRef((({url:e,distance:t=1,loop:r=!0,autoplay:a,...s},i)=>{const u=v.useRef(),c=o.useThree((({camera:e})=>e)),[l]=v.useState((()=>new n.AudioListener)),A=o.useLoader(n.AudioLoader,e);return v.useEffect((()=>{const e=u.current;e&&(e.setBuffer(A),e.setRefDistance(t),e.setLoop(r),a&&!e.isPlaying&&e.play())}),[A,c,t,r]),v.useEffect((()=>{const e=u.current;return c.add(l),()=>{c.remove(l),e&&(e.isPlaying&&e.stop(),e.source&&e.source._connected&&e.disconnect())}}),[]),v.createElement("positionalAudio",D.default({ref:g.default([u,i]),args:[l]},s))})),Y=v.forwardRef((({anchorX:e="center",anchorY:t="middle",children:r,onSync:n,...a},s)=>{const i=o.useThree((({invalidate:e})=>e)),[c]=v.useState((()=>new u.Text)),[l,A]=v.useMemo((()=>{const e=[];let t="";return v.Children.forEach(r,(r=>{"string"==typeof r||"number"==typeof r?t+=r:e.push(r)})),[e,t]}),[r]);return v.useLayoutEffect((()=>{c.sync((()=>{i(),n&&n(c)}))})),v.useEffect((()=>()=>c.dispose()),[c]),v.createElement("primitive",D.default({object:c,ref:s,text:A,anchorX:e,anchorY:t},a),l)})),K={sunset:"venice_sunset_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",night:"dikhololo_night_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr",forest:"forest_slope_1k.hdr",apartment:"lebombo_1k.hdr",studio:"studio_small_03_1k.hdr",city:"potsdamer_platz_1k.hdr",park:"rooitou_park_1k.hdr",lobby:"st_fagans_interior_1k.hdr"};function Z({background:e=!1,files:t=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:r="",preset:a,scene:s,extensions:u}){if(a){if(!(a in K))throw new Error("Preset must be one of: "+Object.keys(K).join(", "));t=K[a],r="https://rawcdn.githack.com/pmndrs/drei-assets/aa3600359ba664d546d05821bcbca42013587df2/hdri/"}const l=o.useThree((({scene:e})=>e)),A=o.useThree((({gl:e})=>e)),C=Array.isArray(t),f=C?n.CubeTextureLoader:i.RGBELoader,m=o.useLoader(f,C?[t]:t,(e=>{e.setPath(r),u&&u(e)})),p=C?m[0]:m,d=c.useAsset((()=>new Promise((e=>{const t=new n.PMREMGenerator(A),r=function(e,t,r){return r?(t.compileEquirectangularShader(),t.fromCubemap(e).texture):t.fromEquirectangular(e).texture}(p,t,C);t.dispose(),e(r)}))),p);return v.useLayoutEffect((()=>{const t=s?s.background:l.background,r=s?s.environment:l.environment;return s?(s.environment=d,e&&(s.background=d)):(l.environment=d,e&&(l.background=d)),()=>{s?(s.environment=r,s.background=t):(l.environment=r,l.background=t),c.useAsset.clear(p),d.dispose()}}),[d,e,s]),null}o.extend({EffectComposer:i.EffectComposer,RenderPass:i.RenderPass,ShaderPass:i.ShaderPass});const J=()=>{try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}},$=v.forwardRef((({children:e,multisamping:t=8,renderIndex:r=1,disableGamma:a=!1,disableRenderPass:s=!1,...u},c)=>{const l=v.useRef(),A=o.useThree((({scene:e})=>e)),C=o.useThree((({camera:e})=>e)),f=o.useThree((({gl:e})=>e)),m=o.useThree((({size:e})=>e)),[p]=v.useState((()=>{if(J()&&t>0){const e=new n.WebGLMultisampleRenderTarget(m.width,m.height,{format:n.RGBAFormat,encoding:n.sRGBEncoding});return e.samples=8,e}}));return v.useEffect((()=>{var e,t;null==(e=l.current)||e.setSize(m.width,m.height),null==(t=l.current)||t.setPixelRatio(f.getPixelRatio())}),[f,m]),o.useFrame((()=>{var e;return null==(e=l.current)?void 0:e.render()}),r),v.createElement("effectComposer",D.default({ref:g.default([c,l]),args:[f,p]},u),!s&&v.createElement("renderPass",{attachArray:"passes",args:[A,C]}),!a&&v.createElement("shaderPass",{attachArray:"passes",args:[i.GammaCorrectionShader]}),e)}));const ee=v.forwardRef((({makeDefault:e,manual:t,...r},n)=>{const a=o.useThree((({set:e})=>e)),s=o.useThree((({camera:e})=>e)),i=o.useThree((({size:e})=>e)),u=v.useRef();return v.useLayoutEffect((()=>{u.current&&!t&&u.current.updateProjectionMatrix()}),[i,r]),v.useLayoutEffect((()=>{if(e&&u.current){const e=s;return a((()=>({camera:u.current}))),()=>a((()=>({camera:e})))}}),[s,u,e,a]),v.createElement("orthographicCamera",D.default({left:i.width/-2,right:i.width/2,top:i.height/2,bottom:i.height/-2,ref:g.default([u,n])},r))})),te=v.forwardRef((({makeDefault:e,manual:t,...r},n)=>{const a=o.useThree((({set:e})=>e)),s=o.useThree((({camera:e})=>e)),i=o.useThree((({size:e})=>e)),u=v.useRef();return v.useLayoutEffect((()=>{const{current:e}=u;e&&!t&&(e.aspect=i.width/i.height,e.updateProjectionMatrix())}),[i,r]),v.useLayoutEffect((()=>{if(e&&u.current){const e=s;return a((()=>({camera:u.current}))),()=>a((()=>({camera:e})))}}),[s,u,e,a]),v.createElement("perspectiveCamera",D.default({ref:g.default([u,n])},r))})),re=v.forwardRef((({intensity:e=1,decay:t,decayRate:r=.65,maxYaw:n=.1,maxPitch:a=.1,maxRoll:s=.1,yawFrequency:u=1,pitchFrequency:c=1,rollFrequency:l=1,controls:A},C)=>{const f=o.useThree((e=>e.camera)),m=o.useThree((e=>e.controls)),p=v.useRef(e),d=v.useRef(f.rotation.clone()),[B]=v.useState((()=>new i.SimplexNoise)),[D]=v.useState((()=>new i.SimplexNoise)),[E]=v.useState((()=>new i.SimplexNoise)),h=()=>{(p.current<0||p.current>1)&&(p.current=p.current<0?0:1)};return v.useImperativeHandle(C,(()=>({getIntensity:()=>p.current,setIntensity:e=>{p.current=e,h()}})),[]),v.useEffect((()=>{const e=m||(null==A?void 0:A.current),t=()=>{d.current=f.rotation.clone()};return null==e||e.addEventListener("change",t),()=>{null==e||e.removeEventListener("change",t)}}),[A,m]),o.useFrame((({clock:e},o)=>{const i=Math.pow(p.current,2),A=n*i*B.noise(e.elapsedTime*u,1),C=a*i*D.noise(e.elapsedTime*c,1),m=s*i*E.noise(e.elapsedTime*l,1);f.rotation.set(d.current.x+C,d.current.y+A,d.current.z+m),t&&p.current>0&&(p.current-=r*o,h())})),null}));const ne=v.forwardRef(((e,t)=>{const{camera:r,onChange:n,...a}=e,s=o.useThree((({camera:e})=>e)),u=o.useThree((({invalidate:e})=>e)),c=r||s,[l]=v.useState((()=>new i.DeviceOrientationControls(c)));return v.useEffect((()=>{const e=e=>{u(),n&&n(e)};return null==l||null==l.addEventListener||l.addEventListener("change",e),()=>null==l||null==l.removeEventListener?void 0:l.removeEventListener("change",e)}),[n,l,u]),o.useFrame((()=>null==l?void 0:l.update())),v.useEffect((()=>{const e=l;return null==e||e.connect(),()=>null==e?void 0:e.dispose()}),[l]),l?v.createElement("primitive",D.default({ref:t,dispose:void 0,object:l},a)):null})),oe=v.forwardRef(((e,t)=>{const{onChange:r,...n}=e,a=o.useThree((({invalidate:e})=>e)),s=o.useThree((({camera:e})=>e)),u=o.useThree((({gl:e})=>e)),[c]=v.useState((()=>new i.FlyControls(s,u.domElement)));return v.useEffect((()=>{const e=e=>{a(),r&&r(e)};return null==c||null==c.addEventListener||c.addEventListener("change",e),()=>null==c||null==c.removeEventListener?void 0:c.removeEventListener("change",e)}),[r,c,a]),o.useFrame(((e,t)=>null==c?void 0:c.update(t))),c?v.createElement("primitive",D.default({ref:t,dispose:void 0,object:c},n)):null})),ae=v.forwardRef(((e={enableDamping:!0},t)=>{const{camera:r,onChange:n,onStart:a,onEnd:s,...u}=e,c=o.useThree((({invalidate:e})=>e)),l=o.useThree((({camera:e})=>e)),A=o.useThree((({gl:e})=>e.domElement)),C=r||l,f=v.useMemo((()=>new i.MapControls(C)),[C]);return v.useEffect((()=>{f.connect(A);const e=e=>{c(),n&&n(e)};return f.addEventListener("change",e),a&&f.addEventListener("start",a),s&&f.addEventListener("end",s),()=>{f.dispose(),f.removeEventListener("change",e),a&&f.removeEventListener("start",a),s&&f.removeEventListener("end",s)}}),[n,a,s,f,c,A]),o.useFrame((()=>f.update())),v.createElement("primitive",D.default({ref:t,dispose:void 0,object:f,enableDamping:!0},u))})),se=v.forwardRef((({makeDefault:e,camera:t,regress:r,domElement:n,enableDamping:a=!0,onChange:s,onStart:u,onEnd:c,...l},A)=>{const C=o.useThree((({invalidate:e})=>e)),f=o.useThree((({camera:e})=>e)),m=o.useThree((({gl:e})=>e)),p=o.useThree((({events:e})=>e)),d=o.useThree((({set:e})=>e)),B=o.useThree((({get:e})=>e)),E=o.useThree((({performance:e})=>e)),h=t||f,_=n||("boolean"!=typeof p.connected?p.connected:m.domElement),g=v.useMemo((()=>new i.OrbitControls(h)),[h]);return o.useFrame((()=>{g.enabled&&g.update()})),v.useEffect((()=>{const e=e=>{C(),r&&E.regress(),s&&s(e)};return g.connect(_),g.addEventListener("change",e),u&&g.addEventListener("start",u),c&&g.addEventListener("end",c),()=>{g.removeEventListener("change",e),u&&g.removeEventListener("start",u),c&&g.removeEventListener("end",c),g.dispose()}}),[_,s,u,c,r,g,C]),v.useEffect((()=>{if(e){const e=B().controls;return d({controls:g}),()=>d({controls:e})}}),[e,g]),v.createElement("primitive",D.default({ref:A,object:g,enableDamping:a},l))})),ie=v.forwardRef((({makeDefault:e,camera:t,domElement:r,regress:n,onChange:a,onStart:s,onEnd:u,...c},l)=>{const{invalidate:A,camera:C,gl:f,events:m,set:p,get:d,performance:B,viewport:E}=o.useThree(),h=t||C,_=r||("boolean"!=typeof m.connected?m.connected:f.domElement),g=v.useMemo((()=>new i.TrackballControls(h)),[h]);return o.useFrame((()=>{g.enabled&&g.update()})),v.useEffect((()=>{const e=e=>{A(),n&&B.regress(),a&&a(e)};return console.log(_),g.connect(_),g.addEventListener("change",e),s&&g.addEventListener("start",s),u&&g.addEventListener("end",u),()=>{g.removeEventListener("change",e),s&&g.removeEventListener("start",s),u&&g.removeEventListener("end",u),g.dispose()}}),[_,a,s,u,n,g,A]),v.useEffect((()=>{g.handleResize()}),[E]),v.useEffect((()=>{if(e){const e=d().controls;return p({controls:g}),()=>p({controls:e})}}),[e,g]),v.createElement("primitive",D.default({ref:l,object:g},c))})),ue=v.forwardRef((({makeDefault:e,camera:t,regress:r,domElement:n,onChange:a,onStart:s,onEnd:u,...c},l)=>{const A=o.useThree((({invalidate:e})=>e)),C=o.useThree((({camera:e})=>e)),f=o.useThree((({gl:e})=>e)),m=o.useThree((({events:e})=>e)),p=o.useThree((({set:e})=>e)),d=o.useThree((({get:e})=>e)),B=o.useThree((({performance:e})=>e)),E=t||C,h=n||("boolean"!=typeof m.connected?m.connected:f.domElement),_=v.useMemo((()=>new i.ArcballControls(E)),[E]);return o.useFrame((()=>{_.enabled&&_.update()})),v.useEffect((()=>{const e=e=>{A(),r&&B.regress(),a&&a(e)};return _.connect(h),_.addEventListener("change",e),s&&_.addEventListener("start",s),u&&_.addEventListener("end",u),()=>{_.removeEventListener("change",e),s&&_.removeEventListener("start",s),u&&_.removeEventListener("end",u),_.dispose()}}),[h,a,s,u,r,_,A]),v.useEffect((()=>{if(e){const e=d().controls;return p({controls:_}),()=>p({controls:e})}}),[e,_]),v.createElement("primitive",D.default({ref:l,object:_},c))})),ce=v.forwardRef((({children:e,onChange:t,onMouseDown:r,onMouseUp:n,onObjectChange:a,object:s,...u},c)=>{const l=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:A,...C}=u,f=F.default(C,l),m=x.default(C,l),p=o.useThree((e=>e.controls)),d=o.useThree((({gl:e})=>e)),B=o.useThree((({camera:e})=>e)),E=o.useThree((({invalidate:e})=>e)),_=A||B,[g]=v.useState((()=>new i.TransformControls(_,d.domElement))),w=v.useRef();return v.useLayoutEffect((()=>{s?null==g||g.attach(s instanceof h.Object3D?s:s.current):null==g||g.attach(w.current)}),[s,e,g]),v.useEffect((()=>{if(p){const e=e=>p.enabled=!e.value;return g.addEventListener("dragging-changed",e),()=>g.removeEventListener("dragging-changed",e)}}),[g,p]),v.useEffect((()=>{const e=e=>{E(),t&&t(e)};return null==g||null==g.addEventListener||g.addEventListener("change",e),r&&(null==g||null==g.addEventListener||g.addEventListener("mouseDown",r)),n&&(null==g||null==g.addEventListener||g.addEventListener("mouseUp",n)),a&&(null==g||null==g.addEventListener||g.addEventListener("objectChange",a)),()=>{null==g||null==g.removeEventListener||g.removeEventListener("change",e),r&&(null==g||null==g.removeEventListener||g.removeEventListener("mouseDown",r)),n&&(null==g||null==g.removeEventListener||g.removeEventListener("mouseUp",n)),a&&(null==g||null==g.removeEventListener||g.removeEventListener("objectChange",a))}}),[t,r,n,a,g,E]),g?v.createElement(v.Fragment,null,v.createElement("primitive",D.default({ref:c,dispose:void 0,object:g},f)),v.createElement("group",D.default({ref:w},m),e)):null})),le=v.forwardRef((({selector:e,onChange:t,onLock:r,onUnlock:n,...a},s)=>{const{camera:u,...c}=a,l=o.useThree((({gl:e})=>e)),A=o.useThree((({camera:e})=>e)),C=o.useThree((({invalidate:e})=>e)),f=u||A,[m]=v.useState((()=>new i.PointerLockControls(f,l.domElement)));return v.useEffect((()=>{const e=e=>{C(),t&&t(e)};return null==m||null==m.addEventListener||m.addEventListener("change",e),r&&(null==m||null==m.addEventListener||m.addEventListener("lock",r)),n&&(null==m||null==m.addEventListener||m.addEventListener("unlock",n)),()=>{null==m||null==m.removeEventListener||m.removeEventListener("change",e),r&&(null==m||null==m.addEventListener||m.addEventListener("lock",r)),n&&(null==m||null==m.addEventListener||m.addEventListener("unlock",n))}}),[t,r,n,m,C]),v.useEffect((()=>{const t=()=>null==m?void 0:m.lock(),r=e?Array.from(document.querySelectorAll(e)):[document];return r.forEach((e=>e&&e.addEventListener("click",t))),()=>{r.forEach((e=>e?e.removeEventListener("click",t):void 0))}}),[m,e]),m?v.createElement("primitive",D.default({ref:s,dispose:void 0,object:m},c)):null})),Ae=v.forwardRef(((e,t)=>{const r=o.useThree((({camera:e})=>e)),n=o.useThree((({gl:e})=>e)),[a]=v.useState((()=>new i.FirstPersonControls(r,n.domElement)));return o.useFrame(((e,t)=>{a.update(t)})),a?v.createElement("primitive",D.default({ref:t,object:a},e)):null}));function Ce(e,t){const r=o.useThree((e=>e.mouse)),[a]=v.useState((()=>{const a=new n.Raycaster;return t&&o.applyProps(a,t,{}),function(t,o){a.setFromCamera(r,e instanceof n.Camera?e:e.current);const s=this.constructor.prototype.raycast.bind(this);s&&s(a,o)}}));return a}const fe=v.createContext({}),me=()=>v.useContext(fe),pe=2*Math.PI,de=new n.Object3D,Be=new n.Matrix4,[De,ve]=[new n.Quaternion,new n.Quaternion],Ee=new n.Vector3,he=new n.Vector3,_e="#f0f0f0",ge="#999",xe="black",Fe="black",we=["Right","Left","Top","Bottom","Front","Back"],Pe=e=>new n.Vector3(...e).multiplyScalar(.38),ye=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(Pe),be=[.25,.25,.25],Me=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(Pe),ze=Me.map((e=>e.toArray().map((e=>0==e?.5:.25)))),Le=({hover:e,index:t,font:r="20px Inter var, Arial, sans-serif",faces:o=we,color:a=_e,hoverColor:s=ge,textColor:i=xe,strokeColor:u=Fe,opacity:c=1})=>{const l=v.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const s=e.getContext("2d");return s.fillStyle=a,s.fillRect(0,0,e.width,e.height),s.strokeStyle=u,s.strokeRect(0,0,e.width,e.height),s.font=r,s.textAlign="center",s.fillStyle=i,s.fillText(o[t].toUpperCase(),64,76),new n.CanvasTexture(e)}),[t,r,a,i,u]);return v.createElement("meshLambertMaterial",{map:l,attachArray:"material",color:e?s:"white",transparent:!0,opacity:c})},He=e=>{const{tweenCamera:t,raycast:r}=me(),[n,o]=v.useState(null);return v.createElement("mesh",{raycast:r,onPointerOut:e=>{e.stopPropagation(),o(null)},onPointerMove:e=>{e.stopPropagation(),o(Math.floor(e.faceIndex/2))},onClick:e.onClick||(e=>{e.stopPropagation(),t(e.face.normal)})},[...Array(6)].map(((t,r)=>v.createElement(Le,D.default({key:r,index:r,hover:n===r},e)))),v.createElement("boxGeometry",null))},Se=({onClick:e,dimensions:t,position:r,hoverColor:n=ge})=>{const{tweenCamera:o,raycast:a}=me(),[s,i]=v.useState(!1);return v.createElement("mesh",{scale:1.01,position:r,raycast:a,onPointerOver:e=>{e.stopPropagation(),i(!0)},onPointerOut:e=>{e.stopPropagation(),i(!1)},onClick:e||(e=>{e.stopPropagation(),o(r)})},v.createElement("meshBasicMaterial",{color:s?n:"white",transparent:!0,opacity:.6,visible:s}),v.createElement("boxGeometry",{args:t}))};function Oe({color:e,rotation:t}){return v.createElement("group",{rotation:t},v.createElement("mesh",{position:[.4,0,0]},v.createElement("boxGeometry",{args:[.8,.05,.05]}),v.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function Te({onClick:e,font:t,disabled:r,arcStyle:o,label:a,labelColor:s,...i}){const u=v.useMemo((()=>{const e=document.createElement("canvas");e.width=64,e.height=64;const r=e.getContext("2d");return r.beginPath(),r.arc(32,32,16,0,2*Math.PI),r.closePath(),r.fillStyle=o,r.fill(),a&&(r.font=t,r.textAlign="center",r.fillStyle=s,r.fillText(a,32,41)),new n.CanvasTexture(e)}),[o,a,s,t]),[c,l]=v.useState(!1),A=(a?1:.75)*(c?1.2:1);return v.createElement("sprite",D.default({scale:A,onPointerOver:r?void 0:e=>{e.stopPropagation(),l(!0)},onPointerOut:r?void 0:e||(e=>{e.stopPropagation(),l(!1)})},i),v.createElement("spriteMaterial",{map:u,alphaTest:.3,opacity:a?1:.75,toneMapped:!1}))}function je(e,{path:t}){const[r]=o.useLoader(n.CubeTextureLoader,[e],(e=>e.setPath(t)));return r}function Qe(e){return o.useLoader(i.FBXLoader,e)}function Xe(e,t,r){return n=>{if(r&&r(n),e){const t=new i.DRACOLoader;t.setDecoderPath("string"==typeof e?e:"https://www.gstatic.com/draco/versioned/decoders/1.4.0/"),n.setDRACOLoader(t)}t&&n.setMeshoptDecoder("function"==typeof i.MeshoptDecoder?i.MeshoptDecoder():i.MeshoptDecoder)}}function Ne(e,t=!0,r=!0,n){return o.useLoader(i.GLTFLoader,e,Xe(t,r,n))}je.preload=(e,{path:t})=>o.useLoader.preload(n.CubeTextureLoader,[e],(e=>e.setPath(t))),Qe.preload=e=>o.useLoader.preload(i.FBXLoader,e),Qe.clear=e=>o.useLoader.clear(i.FBXLoader,e),Ne.preload=(e,t=!0,r=!0,n)=>o.useLoader.preload(i.GLTFLoader,e,Xe(t,r,n)),Ne.clear=e=>o.useLoader.clear(i.GLTFLoader,e);class ke extends n.MeshStandardMaterial{constructor(e={}){super(e),this._debug={value:0},this._tDepth={value:null},this._distortionMap={value:null},this._tDiffuse={value:null},this._u_mipmap_0={value:null},this._u_mipmap_1={value:null},this._u_mipmap_2={value:null},this._u_mipmap_3={value:null},this._u_mipmap_4={value:null},this._u_mipmap_5={value:null},this._u_mipmap_6={value:null},this._u_mipmap_7={value:null},this._u_mipmap_res_0={value:null},this._u_mipmap_res_1={value:null},this._u_mipmap_res_2={value:null},this._u_mipmap_res_3={value:null},this._u_mipmap_res_4={value:null},this._u_mipmap_res_5={value:null},this._u_mipmap_res_6={value:null},this._u_mipmap_res_7={value:null},this._textureMatrix={value:null},this._mirror={value:0},this._mixBlur={value:0},this._blurStrength={value:.5},this._minDepthThreshold={value:.9},this._maxDepthThreshold={value:1},this._depthScale={value:0},this._depthToBlurRatioBias={value:.25},this._distortion={value:1},this.setValues(e)}onBeforeCompile(e){var t;null!=(t=e.defines)&&t.USE_UV||(e.defines.USE_UV=""),e.uniforms.debug=this._debug,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.u_mipmap_0=this._u_mipmap_0,e.uniforms.u_mipmap_1=this._u_mipmap_1,e.uniforms.u_mipmap_2=this._u_mipmap_2,e.uniforms.u_mipmap_3=this._u_mipmap_3,e.uniforms.u_mipmap_4=this._u_mipmap_4,e.uniforms.u_mipmap_5=this._u_mipmap_5,e.uniforms.u_mipmap_6=this._u_mipmap_6,e.uniforms.u_mipmap_7=this._u_mipmap_7,e.uniforms.u_mipmap_res_0=this._u_mipmap_res_0,e.uniforms.u_mipmap_res_1=this._u_mipmap_res_1,e.uniforms.u_mipmap_res_2=this._u_mipmap_res_2,e.uniforms.u_mipmap_res_3=this._u_mipmap_res_3,e.uniforms.u_mipmap_res_4=this._u_mipmap_res_4,e.uniforms.u_mipmap_res_5=this._u_mipmap_res_5,e.uniforms.u_mipmap_res_6=this._u_mipmap_res_6,e.uniforms.u_mipmap_res_7=this._u_mipmap_res_7,e.uniforms.textureMatrix=this._textureMatrix,e.uniforms.mirror=this._mirror,e.uniforms.mixBlur=this._mixBlur,e.uniforms.mixStrength=this._blurStrength,e.uniforms.minDepthThreshold=this._minDepthThreshold,e.uniforms.maxDepthThreshold=this._maxDepthThreshold,e.uniforms.depthScale=this._depthScale,e.uniforms.depthToBlurRatioBias=this._depthToBlurRatioBias,e.uniforms.distortion=this._distortion,e.vertexShader=`\n uniform mat4 textureMatrix;\n varying vec4 my_vUv; \n ${e.vertexShader}`,e.vertexShader=e.vertexShader.replace("#include <project_vertex>","#include <project_vertex>\n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader=`\n uniform int debug;\n uniform sampler2D tDiffuse;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform sampler2D u_mipmap_0;\n uniform sampler2D u_mipmap_1;\n uniform sampler2D u_mipmap_2;\n uniform sampler2D u_mipmap_3;\n uniform sampler2D u_mipmap_4;\n uniform sampler2D u_mipmap_5;\n uniform sampler2D u_mipmap_6;\n uniform sampler2D u_mipmap_7;\n uniform vec2 u_mipmap_res_0;\n uniform vec2 u_mipmap_res_1;\n uniform vec2 u_mipmap_res_2;\n uniform vec2 u_mipmap_res_3;\n uniform vec2 u_mipmap_res_4;\n uniform vec2 u_mipmap_res_5;\n uniform vec2 u_mipmap_res_6;\n uniform vec2 u_mipmap_res_7;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n \n // from http://www.java-gaming.org/index.php?topic=35123.0\n vec4 cubic( float v ) {\n vec4 n = vec4( 1.0, 2.0, 3.0, 4.0 ) - v;\n vec4 s = n * n * n;\n float x = s.x;\n float y = s.y - 4.0 * s.x;\n float z = s.z - 4.0 * s.y + 6.0 * s.x;\n float w = 6.0 - x - y - z;\n return vec4( x, y, z, w ) * ( 1.0 / 6.0 );\n }\n \n vec4 textureBicubic( sampler2D sampler, vec2 texCoords, vec2 texSize ) {\n vec2 invTexSize = 1.0 / texSize;\n texCoords = texCoords * texSize - 0.5;\n vec2 fxy = fract( texCoords );\n texCoords -= fxy;\n\n vec4 xcubic = cubic( fxy.x );\n vec4 ycubic = cubic( fxy.y );\n vec4 c = texCoords.xxyy + vec2 ( - 0.5, + 1.5 ).xyxy;\n vec4 s = vec4( xcubic.xz + xcubic.yw, ycubic.xz + ycubic.yw );\n\n vec4 offset = c + vec4( xcubic.yw, ycubic.yw ) / s;\n offset *= invTexSize.xxyy;\n \n vec4 sample0 = texture2D( sampler, offset.xz);\n vec4 sample1 = texture2D( sampler, offset.yz);\n vec4 sample2 = texture2D( sampler, offset.xw);\n vec4 sample3 = texture2D( sampler, offset.yw);\n \n float sx = s.x / ( s.x + s.y );\n float sy = s.z / ( s.z + s.w );\n\n return mix(\n mix(\n sample3,\n sample2,\n sx\n ),\n mix(\n sample1,\n sample0,\n sx\n ),\n sy\n );\n }\n\n\n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n \n float depthFactor = 1.0;\n float distortionFactor = 0.0;\n vec3 my_normal = vec3(0.0);\n float reflectorRoughnessFactor = roughness;\n vec3 coord = my_vUv.xyz / my_vUv.w;\n\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n #ifdef USE_NORMALMAP\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b , normalColor.g * 2.0 - 1.0 ) );\n #endif\n\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n vec2 proj_vUv = coord.xy + coord.z * my_normal.xz * 0.01;\n proj_vUv.x += distortionFactor;\n proj_vUv.y += distortionFactor;\n \n float lod = 1.0 - min(1.0, mixBlur * reflectorRoughnessFactor);\n\n #ifdef USE_DEPTH\n vec4 depth = texture2D(tDepth, proj_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor + depthToBlurRatioBias));\n #endif\n\n vec4 baseColor = texture2D(tDiffuse, proj_vUv);\n vec4 mixedColor;\n\n float _lod = (1.0 - pow(1.0 - lod, 4.0)) * 8.0;\n if (_lod < 1.) {\n vec4 one = textureBicubic(u_mipmap_7, proj_vUv, u_mipmap_res_7);\n vec4 two = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n mixedColor = mix(one, two, _lod);\n } else if (_lod < 2.) {\n vec4 one = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n vec4 two = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n mixedColor = mix(one, two, _lod - 1.0);\n } else if (_lod < 3.) {\n vec4 one = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n vec4 two = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n mixedColor = mix(one, two, _lod - 2.0);\n } else if (_lod < 4.) {\n vec4 one = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n vec4 two = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n mixedColor = mix(one, two, _lod - 3.0);\n } else if (_lod < 5.) {\n vec4 one = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n vec4 two = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n mixedColor = mix(one, two, _lod - 4.0);\n } else if (_lod < 6.) {\n vec4 one = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n vec4 two = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n mixedColor = mix(one, two, _lod - 5.0);\n } else if (_lod < 7.) {\n vec4 one = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n vec4 two = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, two, _lod - 6.0);\n } else {\n vec4 one = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, baseColor, _lod - 7.0);\n }\n\n mixedColor.rgb *= depthFactor;\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + mixedColor.rgb * mixStrength); \n diffuseColor = sRGBToLinear(diffuseColor);\n\n if (debug == 1) {\n diffuseColor = sRGBToLinear(vec4(vec3(depthFactor), 1.0));\n }\n if (debug == 2) {\n diffuseColor = sRGBToLinear(texture2D(tDiffuse, proj_vUv));\n }\n if (debug == 3) {\n diffuseColor = sRGBToLinear(texture2D(distortionMap, vUv));\n }\n if (debug == 4) {\n diffuseColor = sRGBToLinear(vec4(vec3(lod), 1.0));\n }\n ")}get tDiffuse(){return this._tDiffuse.value}set tDiffuse(e){this._tDiffuse.value=e}get tDepth(){return this._tDepth.value}set tDepth(e){this._tDepth.value=e}get distortionMap(){return this._distortionMap.value}set distortionMap(e){this._distortionMap.value=e}get u_mipmap_0(){return this._u_mipmap_0.value}set u_mipmap_0(e){this._u_mipmap_0.value=e}get u_mipmap_1(){return this._u_mipmap_1.value}set u_mipmap_1(e){this._u_mipmap_1.value=e}get u_mipmap_2(){return this._u_mipmap_2.value}set u_mipmap_2(e){this._u_mipmap_2.value=e}get u_mipmap_3(){return this._u_mipmap_3.value}set u_mipmap_3(e){this._u_mipmap_3.value=e}get u_mipmap_4(){return this._u_mipmap_4.value}set u_mipmap_4(e){this._u_mipmap_4.value=e}get u_mipmap_5(){return this._u_mipmap_5.value}set u_mipmap_5(e){this._u_mipmap_5.value=e}get u_mipmap_6(){return this._u_mipmap_6.value}set u_mipmap_6(e){this._u_mipmap_6.value=e}get u_mipmap_7(){return this._u_mipmap_7.value}set u_mipmap_7(e){this._u_mipmap_7.value=e}get u_mipmap_res_0(){return this._u_mipmap_res_0.value}set u_mipmap_res_0(e){this._u_mipmap_res_0.value=e}get u_mipmap_res_1(){return this._u_mipmap_res_1.value}set u_mipmap_res_1(e){this._u_mipmap_res_1.value=e}get u_mipmap_res_2(){return this._u_mipmap_res_2.value}set u_mipmap_res_2(e){this._u_mipmap_res_2.value=e}get u_mipmap_res_3(){return this._u_mipmap_res_3.value}set u_mipmap_res_3(e){this._u_mipmap_res_3.value=e}get u_mipmap_res_4(){return this._u_mipmap_res_4.value}set u_mipmap_res_4(e){this._u_mipmap_res_4.value=e}get u_mipmap_res_5(){return this._u_mipmap_res_5.value}set u_mipmap_res_5(e){this._u_mipmap_res_5.value=e}get u_mipmap_res_6(){return this._u_mipmap_res_6.value}set u_mipmap_res_6(e){this._u_mipmap_res_6.value=e}get u_mipmap_res_7(){return this._u_mipmap_res_7.value}set u_mipmap_res_7(e){this._u_mipmap_res_7.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get mirror(){return this._mirror.value}set mirror(e){this._mirror.value=e}get mixBlur(){return this._mixBlur.value}set mixBlur(e){this._mixBlur.value=e}get mixStrength(){return this._blurStrength.value}set mixStrength(e){this._blurStrength.value=e}get minDepthThreshold(){return this._minDepthThreshold.value}set minDepthThreshold(e){this._minDepthThreshold.value=e}get maxDepthThreshold(){return this._maxDepthThreshold.value}set maxDepthThreshold(e){this._maxDepthThreshold.value=e}get depthScale(){return this._depthScale.value}set depthScale(e){this._depthScale.value=e}get debug(){return this._debug.value}set debug(e){this._debug.value=e}get depthToBlurRatioBias(){return this._depthToBlurRatioBias.value}set depthToBlurRatioBias(e){this._depthToBlurRatioBias.value=e}get distortion(){return this._distortion.value}set distortion(e){this._distortion.value=e}}o.extend({MeshReflectorMaterial:ke});const Ve=v.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:r=256,args:a=[1,1],minDepthThreshold:s=.9,maxDepthThreshold:i=1,depthScale:u=0,depthToBlurRatioBias:c=.25,mirror:l,children:A,debug:C=0,distortion:f=1,distortionMap:m,...p},d)=>{const B=o.useThree((({gl:e})=>e)),E=o.useThree((({camera:e})=>e)),h=o.useThree((({scene:e})=>e)),_=v.useRef(null),[x]=v.useState((()=>new n.Plane)),[F]=v.useState((()=>new n.Vector3)),[w]=v.useState((()=>new n.Vector3)),[P]=v.useState((()=>new n.Vector3)),[y]=v.useState((()=>new n.Matrix4)),[b]=v.useState((()=>new n.Vector3(0,0,-1))),[M]=v.useState((()=>new n.Vector4)),[z]=v.useState((()=>new n.Vector3)),[L]=v.useState((()=>new n.Vector3)),[H]=v.useState((()=>new n.Vector4)),[S]=v.useState((()=>new n.Matrix4)),[O]=v.useState((()=>new n.PerspectiveCamera)),[T]=v.useState((()=>{const e=[],t={minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:n.RGBFormat,encoding:B.outputEncoding};for(let o=0;o<8;o++){const a=Math.max(8,Math.round(r/Math.pow(2,o))),s=new n.WebGLRenderTarget(a,a,t);s.texture.generateMipmaps=!1,e.push(s)}return e})),j=v.useCallback((()=>{if(w.setFromMatrixPosition(_.current.matrixWorld),P.setFromMatrixPosition(E.matrixWorld),y.extractRotation(_.current.matrixWorld),F.set(0,0,1),F.applyMatrix4(y),z.subVectors(w,P),z.dot(F)>0)return;z.reflect(F).negate(),z.add(w),y.extractRotation(E.matrixWorld),b.set(0,0,-1),b.applyMatrix4(y),b.add(P),L.subVectors(w,b),L.reflect(F).negate(),L.add(w),O.position.copy(z),O.up.set(0,1,0),O.up.applyMatrix4(y),O.up.reflect(F),O.lookAt(L),O.far=E.far,O.updateMatrixWorld(),O.projectionMatrix.copy(E.projectionMatrix),S.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),S.multiply(O.projectionMatrix),S.multiply(O.matrixWorldInverse),S.multiply(_.current.matrixWorld),x.setFromNormalAndCoplanarPoint(F,w),x.applyMatrix4(O.matrixWorldInverse),M.set(x.normal.x,x.normal.y,x.normal.z,x.constant);const e=O.projectionMatrix;H.x=(Math.sign(M.x)+e.elements[8])/e.elements[0],H.y=(Math.sign(M.y)+e.elements[9])/e.elements[5],H.z=-1,H.w=(1+e.elements[10])/e.elements[14],M.multiplyScalar(2/M.dot(H)),e.elements[2]=M.x,e.elements[6]=M.y,e.elements[10]=M.z+1,e.elements[14]=M.w}),[E.far,E.matrixWorld,E.projectionMatrix,P,M,b,F,H,x,w,y,L,S,z,O]),[Q,X]=v.useMemo((()=>{const o={minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:n.RGBFormat,encoding:B.outputEncoding},a=new n.WebGLRenderTarget(r,r,o);u>0&&(a.depthBuffer=!0,a.depthTexture=new n.DepthTexture(r,r),a.depthTexture.format=n.DepthFormat,a.depthTexture.type=n.UnsignedShortType);const A=T.reduce(((e,t,r)=>(e[`u_mipmap_${r}`]=t.texture,e[`u_mipmap_res_${r}`]=new n.Vector2(t.width,t.height),e)),{});return[a,{mirror:l,textureMatrix:S,mixBlur:e,tDiffuse:a.texture,tDepth:a.depthTexture,mixStrength:t,minDepthThreshold:s,maxDepthThreshold:i,depthScale:u,depthToBlurRatioBias:c,debug:C,distortion:f,distortionMap:m,"defines-USE_DEPTH":u>0?"":void 0,"defines-USE_DISTORTION":m?"":void 0,...A}]}),[B,S,r,l,e,t,s,i,u,c,C,f,m,T]);return o.useFrame((()=>{if(null==_||!_.current)return;_.current.visible=!1;const t=B.xr.enabled,r=B.shadowMap.autoUpdate;j(),B.xr.enabled=!1,B.shadowMap.autoUpdate=!1,B.setRenderTarget(Q),B.state.buffers.depth.setMask(!0),B.autoClear||B.clear(),B.render(h,O),0!==e&&T.forEach((e=>{B.setRenderTarget(e),B.state.buffers.depth.setMask(!0),B.render(h,O)})),B.xr.enabled=t,B.shadowMap.autoUpdate=r,_.current.visible=!0,B.setRenderTarget(null)})),v.createElement("mesh",D.default({ref:g.default([_,d])},p),v.createElement("planeBufferGeometry",{args:a}),A?A("meshReflectorMaterial",X):v.createElement("meshReflectorMaterial",X))})),Ie=v.forwardRef((({fog:e=!1,colorStop:t=0,color:r="black",opacity:o=.5,...a},s)=>{const i=v.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const o=e.getContext("2d"),a=o.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return a.addColorStop(t,new n.Color(r).getStyle()),a.addColorStop(1,"rgba(0,0,0,0)"),o.fillStyle=a,o.fillRect(0,0,e.width,e.height),e}),[r,t]);return v.createElement("mesh",D.default({ref:s},a),v.createElement("planeBufferGeometry",{attach:"geometry",args:[1,1]}),v.createElement("meshBasicMaterial",{attach:"material",transparent:!0,opacity:o,fog:e},v.createElement("canvasTexture",{attach:"map",args:[i]})))}));function Ue(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}const Ge=v.forwardRef((function({children:e,alignTop:t,...r},o){const a=v.useRef(null),s=v.useRef(null);return v.useLayoutEffect((()=>{a.current.position.set(0,0,0),a.current.updateWorldMatrix(!0,!0);const e=(new n.Box3).setFromObject(s.current),r=new n.Vector3,o=new n.Sphere,i=e.max.y-e.min.y;e.getCenter(r),e.getBoundingSphere(o),a.current.position.set(-r.x,-r.y+(t?i/2:0),-r.z)}),[e]),v.createElement("group",D.default({ref:o},r),v.createElement("group",{ref:a},v.createElement("group",{ref:s},e)))}));function qe(e,r,n){const a=o.useThree((({gl:e})=>e)),s=o.useThree((({size:e})=>e)),i=t.useMemo((()=>a.getPixelRatio()),[a]),u="number"==typeof e?e:s.width*i,c="number"==typeof r?r:s.height*i,l=("number"==typeof e?n:e)||{},A=t.useMemo((()=>{const{multisample:e,samples:t,...r}=l;let n;return e&&a.capabilities.isWebGL2?(n=new h.WebGLMultisampleRenderTarget(u,c,r),t&&(n.samples=t)):n=new h.WebGLRenderTarget(u,c,r),n}),[]);return t.useEffect((()=>{A.setSize(u,c)}),[A,u,c]),t.useEffect((()=>()=>A.dispose()),[]),A}const We=v.forwardRef((({size:e=256},t)=>{const r=o.useThree((e=>e.viewport.dpr)),{width:a,height:s}=o.useThree((e=>e.size)),i=e||a*r,u=e||s*r,c=v.useMemo((()=>{const e=new n.DepthTexture(i,u);return e.format=n.DepthFormat,e.type=n.UnsignedShortType,{depthTexture:e}}),[i,u]),l=qe(i,u,c);return v.useImperativeHandle(t,(()=>null==l?void 0:l.depthTexture)),o.useFrame((e=>{e.gl.setRenderTarget(l),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null)}))}));const Re=v.forwardRef((({children:e,curve:t},r)=>{const[n,o]=v.useState(),a=v.useRef(),s=v.useRef();return v.useImperativeHandle(r,(()=>({moveAlongCurve:e=>{var t;null==(t=s.current)||t.moveAlongCurve(e)}}))),v.useEffect((()=>{!s.current&&a.current&&r&&(s.current=new i.Flow(a.current),o(s.current.object3D))}),[e,r]),v.useEffect((()=>{var e;a.current&&t&&(null==(e=s.current)||e.updateCurve(0,t))}),[t]),n?v.createElement("primitive",{object:n}):v.cloneElement(v.Children.only(e),{ref:a})}));class Ye extends n.MeshPhysicalMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._distort={value:.4},this._radius={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader=`\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")}get time(){return this._time.value}set time(e){this._time.value=e}get distort(){return this._distort.value}set distort(e){this._distort.value=e}get radius(){return this._radius.value}set radius(e){this._radius.value=e}}const Ke=v.forwardRef((({speed:e=1,...t},r)=>{const[n]=v.useState((()=>new Ye));return o.useFrame((t=>n&&(n.time=t.clock.getElapsedTime()*e))),v.createElement("primitive",D.default({dispose:void 0,object:n,ref:r,attach:"material"},t))}));class Ze extends n.MeshStandardMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._factor={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.factor=this._factor,e.vertexShader=`\n uniform float time;\n uniform float factor;\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","float theta = sin( time + position.y ) / 2.0 * factor;\n float c = cos( theta );\n float s = sin( theta );\n mat3 m = mat3( c, 0, s, 0, 1, 0, -s, 0, c );\n vec3 transformed = vec3( position ) * m;\n vNormal = vNormal * m;")}get time(){return this._time.value}set time(e){this._time.value=e}get factor(){return this._factor.value}set factor(e){this._factor.value=e}}const Je=v.forwardRef((({speed:e=1,...t},r)=>{const[n]=v.useState((()=>new Ze));return o.useFrame((t=>n&&(n.time=t.clock.getElapsedTime()*e))),v.createElement("primitive",D.default({dispose:void 0,object:n,ref:r,attach:"material"},t))}));class $e extends h.ShaderMaterial{constructor(){super({transparent:!0,uniforms:{size:{value:1}},vertexShader:h.ShaderLib.points.vertexShader,fragmentShader:"\n varying vec3 vColor;\n void main() {\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r);\n vec3 color = vColor;\n #ifdef TONE_MAPPING\n color = toneMapping(color);\n #endif\n gl_FragColor = linearToOutputTexel(vec4(color, 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r)));\n }",vertexColors:!0})}get scale(){return this.uniforms.size.value}set scale(e){this.uniforms.size.value=e}}const et=v.forwardRef(((e,t)=>{const[r]=v.useState((()=>new $e));return v.createElement("primitive",D.default({object:r,ref:t,attach:"material"},e))}));function tt(e,t,r=new n.Vector3){const o=Math.PI*(e-.5),a=2*Math.PI*(t-.5);return r.x=Math.cos(a),r.y=Math.sin(o),r.z=Math.sin(a),r}const rt=v.forwardRef((({inclination:e=0,azimuth:t=.25,distance:r=100,mieCoefficient:o=.005,mieDirectionalG:a=.8,rayleigh:s=1,turbidity:u=2,sunPosition:c=tt(e,t),...l},A)=>{const C=v.useMemo((()=>(new n.Vector3).setScalar(r)),[r]),[f]=v.useState((()=>new i.Sky));return v.createElement("primitive",D.default({dispose:void 0,object:f,ref:A,"material-uniforms-mieCoefficient-value":o,"material-uniforms-mieDirectionalG-value":a,"material-uniforms-rayleigh-value":s,"material-uniforms-sunPosition-value":c,"material-uniforms-turbidity-value":u,scale:C},l))}));let nt=!1;class ot extends n.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(mvPosition.x + 2.0 * time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:"\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n }"})}}const at=e=>(new n.Vector3).setFromSpherical(new n.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),st=v.forwardRef((({radius:e=100,depth:t=50,count:r=5e3,saturation:a=0,factor:s=4,fade:i=!1},u)=>{const c=v.useRef(),[l,A,C]=v.useMemo((()=>{const o=[],i=[],u=Array.from({length:r},(()=>(.5+.5*Math.random())*s)),c=new n.Color;let l=e+t;const A=t/r;for(let e=0;e<r;e++)l-=A*Math.random(),o.push(...at(l).toArray()),c.setHSL(e/r,a,.9),i.push(c.r,c.g,c.b);return[new Float32Array(o),new Float32Array(i),new Float32Array(u)]}),[r,t,s,e,a]);o.useFrame((e=>c.current&&(c.current.uniforms.time.value=e.clock.getElapsedTime())));const[f]=v.useState((()=>new ot));return v.createElement("points",{ref:u},v.createElement("bufferGeometry",{attach:"geometry"},v.createElement("bufferAttribute",{attachObject:["attributes","position"],args:[l,3]}),v.createElement("bufferAttribute",{attachObject:["attributes","color"],args:[A,3]}),v.createElement("bufferAttribute",{attachObject:["attributes","size"],args:[C,1]})),v.createElement("primitive",{dispose:void 0,ref:c,object:f,attach:"material",blending:n.AdditiveBlending,"uniforms-fade-value":i,transparent:!0,vertexColors:!0}))})),it=v.forwardRef((({frames:e=1/0,opacity:t=1,width:r=1,height:n=1,blur:a=1,far:s=10,resolution:u=256,...c},l)=>{const A=o.useThree((({scene:e})=>e)),C=o.useThree((({gl:e})=>e)),f=v.useRef(),[m,p,d,B,E,_,g]=v.useMemo((()=>{const e=new h.WebGLRenderTarget(u,u),t=new h.WebGLRenderTarget(u,u);t.texture.generateMipmaps=e.texture.generateMipmaps=!1;const o=new h.PlaneBufferGeometry(r,n).rotateX(Math.PI/2),a=new h.Mesh(o),s=new h.MeshDepthMaterial;s.depthTest=s.depthWrite=!1,s.onBeforeCompile=e=>e.fragmentShader=e.fragmentShader.replace("1.0 - fragCoordZ ), opacity );","0.0 ), ( 1.0 - fragCoordZ ) * 1.0 );");const c=new h.ShaderMaterial(i.HorizontalBlurShader),l=new h.ShaderMaterial(i.VerticalBlurShader);return l.depthTest=c.depthTest=!1,[e,o,s,a,c,l,t]}),[u,r,n]);let x=0;return o.useFrame((()=>{if(f.current&&(e===1/0||x<e)){const e=A.background;A.background=null,A.overrideMaterial=d,C.setRenderTarget(m),C.render(A,f.current),A.overrideMaterial=null,B.material=E,B.material.uniforms.tDiffuse.value=m.texture,E.uniforms.h.value=a/256,C.setRenderTarget(g),C.render(B,f.current),B.material=_,B.material.uniforms.tDiffuse.value=g.texture,_.uniforms.v.value=a/256,C.setRenderTarget(m),C.render(B,f.current),C.setRenderTarget(null),A.background=e,x++}})),v.createElement("group",D.default({},c,{ref:l}),v.createElement("mesh",{geometry:p,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},v.createElement("meshBasicMaterial",{map:m.texture,transparent:!0,opacity:t})),v.createElement("orthographicCamera",{ref:f,args:[-r/2,r/2,n/2,-n/2,0,s]}))}));class ut extends n.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new n.Vector3(0,0,0)},lightColor:{value:new n.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new n.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation;\n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity);\n }"})}}const ct=new n.Vector3,lt=v.forwardRef((({depthBuffer:e,color:t="white",distance:r=5,angle:a=.15,attenuation:s=5,anglePower:i=5,...u},c)=>{const l=v.useRef(null),A=o.useThree((e=>e.size)),C=o.useThree((e=>e.camera)),f=o.useThree((e=>e.viewport.dpr)),[m]=v.useState((()=>new ut));o.useFrame((()=>{m.uniforms.spotPosition.value.copy(l.current.getWorldPosition(ct)),l.current.lookAt(l.current.parent.target.position)}));const p=v.useMemo((()=>{const e=new n.CylinderGeometry(.1,7*a,r,128,64,!0);return e.applyMatrix4((new n.Matrix4).makeTranslation(0,-r/2,0)),e.applyMatrix4((new n.Matrix4).makeRotationX(-Math.PI/2)),e}),[a,r]);return v.createElement("spotLight",D.default({ref:c,angle:a,color:t,distance:r},u),v.createElement("mesh",{ref:l,geometry:p},v.createElement("primitive",{object:m,attach:"material","uniforms-lightColor-value":t,"uniforms-attenuation-value":s,"uniforms-anglePower-value":i,"uniforms-depth-value":e,"uniforms-cameraNear-value":C.near,"uniforms-cameraFar-value":C.far,"uniforms-resolution-value":e?[A.width*f,A.height*f]:[0,0]})))}));function At(e){const t=e+"BufferGeometry";return v.forwardRef((({args:e,children:r,...n},o)=>v.createElement("mesh",D.default({ref:o},n),v.createElement(t,{attach:"geometry",args:e}),r)))}const Ct=At("box"),ft=At("circle"),mt=At("cone"),pt=At("cylinder"),dt=At("sphere"),Bt=At("plane"),Dt=At("tube"),vt=At("torus"),Et=At("torusKnot"),ht=At("tetrahedron"),_t=At("ring"),gt=At("polyhedron"),xt=At("icosahedron"),Ft=At("octahedron"),wt=At("dodecahedron"),Pt=At("extrude"),yt=At("lathe"),bt=At("parametric"),Mt=1e-5;const zt=v.forwardRef((function({args:[e=1,t=1,r=1]=[],radius:o=.05,smoothness:a=4,children:s,...i},u){const c=v.useMemo((()=>function(e,t,r){const o=new n.Shape,a=r-Mt;return o.absarc(Mt,Mt,Mt,-Math.PI/2,-Math.PI,!0),o.absarc(Mt,t-2*a,Mt,Math.PI,Math.PI/2,!0),o.absarc(e-2*a,t-2*a,Mt,Math.PI/2,0,!0),o.absarc(e-2*a,Mt,Mt,0,-Math.PI/2,!0),o}(e,t,o)),[e,t,o]),l=v.useMemo((()=>({depth:r-2*o,bevelEnabled:!0,bevelSegments:2*a,steps:1,bevelSize:o-Mt,bevelThickness:o,curveSegments:a})),[r,o,a]),A=v.useRef();return v.useLayoutEffect((()=>{A.current&&A.current.center()}),[c,l]),v.createElement("mesh",D.default({ref:u},i),v.createElement("extrudeBufferGeometry",{attach:"geometry",ref:A,args:[c,l]}),s)}));function Lt(){const e=new h.BufferGeometry,t=new Float32Array([-1,-1,3,-1,-1,3]);return e.setAttribute("position",new h.BufferAttribute(t,2)),e}const Ht=v.forwardRef((function({children:e,...t},r){const n=v.useMemo(Lt,[]);return v.createElement("mesh",D.default({ref:r,geometry:n,frustumCulled:!1},t),e)})),St={0:"0404E8_0404B5_0404CB_3333FC",1:"045C5C_0DBDBD_049393_04A4A4",2:"046363_0CC3C3_049B9B_04ACAC",3:"0489C5_0DDDF9_04C3EE_04AFE1",4:"04989A_0CE3E4_04D2D5_04C7C8",5:"04C455_0EFABC_04F097_04E17A",6:"04CC77_0CF7CA_04E9A7_04AB54",7:"04E804_04B504_04CB04_33FC33",8:"04E8E8_04B5B5_04CCCC_33FCFC",9:"050505_747474_4C4C4C_333333",10:"070B0C_B2C7CE_728FA3_5B748B",11:"090909_9C9C9C_555555_7C7C7C",12:"0A0A0A_A9A9A9_525252_747474",13:"0C0CC3_04049F_040483_04045C",14:"0C430C_257D25_439A43_3C683C",15:"0D0DBD_040497_04047B_040455",16:"0D0DE3_040486_0404AF_0404CF",17:"0DBD0D_049704_047B04_045504",18:"0F0F0F_4B4B4B_1C1C1C_2C2C2C",19:"0F990F_047B04_044604_046704",20:"15100F_241D1B_292424_2C2C27",21:"161B1F_C7E0EC_90A5B3_7B8C9B",22:"167E76_36D6D2_23B2AC_27C1BE",23:"17395A_7EBCC7_4D8B9F_65A1B5",24:"181F1F_475057_616566_525C62",25:"191514_6D5145_4E3324_3B564D",26:"1A2461_3D70DB_2C3C8F_2C6CAC",27:"1B1B1B_515151_7E7E7E_6C6C6C",28:"1B1B1B_999999_575757_747474",29:"1B1C19_5F615D_4B4E4C_3F403D",30:"1C1810_352F23_2B2C1C_2B2C24",31:"1C70C6_09294C_0F3F73_52B3F6",32:"1D2424_565F66_4E555A_646C6E",33:"1D2A21_43443B_655B54_545C54",34:"1D3FCC_051B5F_81A0F2_5579E9",35:"221917_928380_5F504D_7C746C",36:"232014_908B78_5E5743_747460",37:"242733_333A4D_3E4554_3C3B43",38:"245642_3D8168_3D6858_417364",39:"253C3C_528181_406C6C_385F5F",40:"254FB0_99AFF0_6587D8_1D3279",41:"27222B_677491_484F6A_5D657A",42:"281813_604233_4B3426_442B22",43:"28292A_D3DAE5_A3ACB8_818183",44:"291912_473531_3C2C25_3A2424",45:"293534_B2BFC5_738289_8A9AA7",46:"293D21_ABC692_73B255_667C5C",47:"2A2A2A_B3B3B3_6D6D6D_848C8C",48:"2A2A2A_DBDBDB_6A6A6A_949494",49:"2A2D21_555742_898974_6C745B",50:"2A4BA7_1B2D44_1F3768_233C81",51:"2A6276_041218_739BA6_042941",52:"2B2828_7B796F_534F4A_616464",53:"2B2B22_3C3C30_464538_121210",54:"2D2D2A_74716E_8F8C8C_92958E",55:"2D2D2F_C6C2C5_727176_94949B",56:"2D8753_5CD6A5_45BB82_4CC494",57:"2E2E2D_7D7C76_A3A39F_949C94",58:"2E763A_78A0B7_B3D1CF_14F209",59:"2EAC9E_61EBE3_4DDDD1_43D1C6",60:"2F2FAA_1E1E87_10104E_1C1C70",61:"2F3747_6A7C9E_54637F_62748B",62:"300706_888576_822821_876E79",63:"302721_CAC1BB_7A706A_91959B",64:"304FB1_69A1EF_5081DF_5C8CE6",65:"312C34_A2AAB3_61656A_808494",66:"312D20_80675C_8B8C8B_85848C",67:"313131_BBBBBB_878787_A3A4A4",68:"320455_720DBE_560496_47047B",69:"32201D_613C3C_563533_8C655F",70:"32302B_4C4842_121211_1C1C14",71:"323C4D_B79039_7C6A44_605C48",72:"326666_66CBC9_C0B8AE_52B3B4",73:"331A0B_B17038_7D4E28_5B351A",74:"336EB3_152578_A4C5E2_74AED9",75:"34352A_718184_50605E_6E6761",76:"346088_6ABED7_56A0C5_4E91B8",77:"34A09C_6EE5E3_5CD7D3_4EC9C6",78:"34AB94_36DFC1_19F9EB_6C6E62",79:"353535_CFCFCF_828282_A4A4A4",80:"36220C_C6C391_8C844A_8B7B4C",81:"36312E_726461_59504D_645C5C",82:"365123_C6E5A3_A8D18D_8EB16C",83:"36C8FA_176ACB_24A7EF_1D93EC",84:"37C337_279F27_186018_248824",85:"385264_A1D3E2_86ADC1_6E94A8",86:"385862_6D8B8D_647B80_1A2E2F",87:"386169_A9CFDB_153C23_7CA3AC",88:"38925D_142B23_1D4835_2A6449",89:"392307_B3AE7D_6D5618_847C42",90:"39433A_65866E_86BF8B_BFF8D8",91:"394641_B1A67E_75BEBE_7D7256",92:"3A2412_A78B5F_705434_836C47",93:"3A3329_C9B090_928069_A9957A",94:"3A3D37_7E7F75_BCBFB6_9C9C94",95:"3B3B3B_C7C7C7_878787_A4A4A4",96:"3B3C3F_DAD9D5_929290_ABACA8",97:"3B4235_7B9395_5B716C_70847B",98:"3B6E10_E3F2C3_88AC2E_99CE51",99:"3D1F12_653821_070404_22130B",100:"3E2335_D36A1B_8E4A2E_2842A5",101:"3E3D39_D6CEAF_91BAC1_897966",102:"3E3E36_72726D_63645D_0E0F0C",103:"3E3E3E_AEAEAE_848484_777777",104:"3E95CC_65D9F1_A2E2F6_679BD4",105:"3F3A2F_91D0A5_7D876A_94977B",106:"3F3D52_CCCED9_AFB0C6_8D8CAC",107:"3F4441_D1D7D6_888F87_A2ADA1",108:"403A34_B0936E_7F979C_7E6956",109:"415325_83A24E_678239_748C3C",110:"416BA7_A5B8D0_0D2549_65ABEB",111:"422509_C89536_824512_0A0604",112:"422A1E_716767_685D59_5E4F4A",113:"424244_BDBBBE_8A898E_A3A4A9",114:"425F84_1C2939_2A3F57_24344C",115:"430404_BD9295_7E1E21_94544C",116:"432322_5E3839_170C0B_543433",117:"433D3F_A58D7D_786760_8C7C6D",118:"434240_D3D3CF_898784_A4A49F",119:"434343_9E9E9E_8C8C8C_848484",120:"434C32_62704C_546244_2F3220",121:"442C27_A79E90_847066_8D837C",122:"447072_8ACACB_65A4A5_74B3B3",123:"45432C_808361_B8C8BC_A5A27A",124:"454447_908E9A_181716_7C7C7B",125:"456A73_779B9E_173A46_154C5D",126:"463F37_ACCFBB_818B78_91A494",127:"464445_D2D0CB_919196_A8ADB0",128:"464543_D1CFC1_8E8C83_A4AC9C",129:"46804D_CBE9AC_90B57C_95D38F",130:"468126_C1DDB5_8AC460_A1D07C",131:"47392E_997E69_7C6553_8B745F",132:"474444_7B7575_9E9899_8C8C8B",133:"474643_696F7D_A9ABB8_8B8C93",134:"474843_CECEC4_898883_A3A3A4",135:"48270F_C4723B_9B5728_7B431B",136:"482908_894E0D_FBDB52_CA7420",137:"487FC9_A8E7F8_88CCF2_70AFDE",138:"489B7A_A0E7D9_6DC5AC_87DAC7",139:"48C381_226640_369F64_3CAC74",140:"49200B_C6926C_9C642B_A45C26",141:"495CA6_CCD2E6_A5B1D8_1E2852",142:"495E48_0D100D_9D9C87_9ECC9C",143:"496DBA_94C9F2_72A7E2_84B4EC",144:"4A6442_D0AB75_81CD94_181B12",145:"4B362C_715A4F_211913_644C44",146:"4B4A3A_94A3A4_68766F_988475",147:"4B5455_BBBFC4_97A0A6_838C90",148:"4C240E_A5613B_895134_734C44",149:"4C342A_7B584B_271912_6B4C44",150:"4C462E_6D876C_9AAC8F_9AABA6",151:"4C4C4C_D2D2D2_8F8F8F_ACACAC",152:"4D595E_858D87_596F84_748480",153:"4E4C42_B8C4C5_898E89_A3ACA4",154:"4E4D40_979786_AEAEA1_878678",155:"4E5150_9FA3A3_848C8A_82848C",156:"4F251B_381710_43241B_602F23",157:"4F439F_A28BE5_8570D6_7765C9",158:"4F4742_B7B1AA_847E79_969294",159:"4F4C45_A7AEAA_7A8575_9D97A2",160:"4F4F4F_9C9C9C_121212_7C7C7C",161:"4F4F4F_A1A1A1_8C8C8C_848484",162:"4F5246_8C8D84_7B7C74_131611",163:"4FE34F_2BB02B_3CD03C_1C861C",164:"50332C_D98D79_955F52_AA7C6C",165:"503522_C38254_9F6B45_845838",166:"504D3C_979C9D_81837D_9C998A",167:"513A11_CDBEB5_C8811C_9A733F",168:"51462B_DFCA7E_948050_A49874",169:"515151_DCDCDC_B7B7B7_9B9B9B",170:"515341_9A9C86_16180D_838474",171:"517919_659623_34460C_3E5813",172:"519C8D_83DAC7_9DEDE0_2B5B4C",173:"522221_91343B_7F6F6B_744960",174:"522A1A_94543A_C3896F_AB7D66",175:"525050_D4D3D3_959393_ACACAC",176:"533B33_AF9998_866965_9C7E7B",177:"535A2F_CDCA91_91915B_A4AC6F",178:"535F6B_A6BDC8_8FA3B4_7F91A2",179:"537387_75BBB9_152E5B_0E85E8",180:"54584E_B1BAC5_818B91_A7ACA3",181:"545B4D_D8DDC8_A0A792_B2C1A3",182:"54C104_BBFA0F_97EF04_7AE104",183:"55382F_78554E_271A16_6C4C44",184:"555555_C8C8C8_8B8B8B_A4A4A4",185:"556F42_112817_81927F_223E24",186:"55C404_BCFA0E_97F004_7AE104",187:"562D2A_2E1615_7E4945_703C3C",188:"56352F_1E110F_311C19_3C231C",189:"57553F_C6C3AF_8C8768_868C8C",190:"57583E_969788_292920_848474",191:"579241_B5D25D_0E1D2D_97C284",192:"582410_83381A_1F0C04_30140A",193:"583629_2E1810_765648_3C1C14",194:"584F3A_BEC3BD_C5A57D_A39073",195:"586A51_CCD5AA_8C9675_8DBBB7",196:"593E2C_E5D8A9_BC9F79_9F8A68",197:"595356_CDBFC6_AA9DA3_BBB3BC",198:"59554F_171716_847C74_2C2C24",199:"596773_B3C6CE_98AFB9_879AA8",200:"597C3F_254319_6C9668_7C9B53",201:"5A492B_DEC583_987D4D_AC9C74",202:"5A643B_454D2C_393F25_202315",203:"5B4CBC_B59AF2_9B84EB_8F78E4",204:"5B5428_C5A052_A28B46_ADA752",205:"5B574E_586967_807C6F_6A746C",206:"5C045C_BD0DBD_930493_A404A4",207:"5C2E0C_C36924_9F4F14_834114",208:"5C4E41_CCCDD6_9B979B_B1AFB0",209:"5C5743_262418_393727_342C20",210:"5C5C04_BDBD0D_939304_A4A404",211:"5C5C5C_A2A2A2_8C8C8C_848484",212:"5D5854_1A1714_373330_2C2424",213:"5D5D5D_CDCDCD_232323_ACACAC",214:"5D5E5A_A1A29B_2A2927_8B948C",215:"5E423A_8C6E69_382416_745D64",216:"5E5049_CDC2BE_9C8E88_B7ACA4",217:"5E5855_C6C4CD_C89B67_8F8E98",218:"5E5F62_A7B2BE_211C17_939CA3",219:"5ECBA4_BCFAE7_92EED0_A1F4DC",220:"5F1827_9B4A60_1F0404_340406",221:"5F4C4B_A07C7D_A8AFBF_868185",222:"5F4F50_A18E8E_8C7C7B_211A1A",223:"5F5F5F_BDBDBD_A4A4A4_9C9C9C",224:"604A30_DC9065_212C14_AC9C92",225:"60534A_211813_9B948E_8E837D",226:"605352_E9CCC5_C7A8A3_A89291",227:"606857_9BA894_8C9C83_8C9483",228:"613F04_D68C04_A45F04_1F0F04",229:"61583E_252314_928972_342C1C",230:"617586_23304C_1B1E30_4988CF",231:"622F19_885934_9A7748_94603A",232:"623622_A1756F_986353_89645B",233:"624541_FCD0C6_E4A19A_FCBCB4",234:"626262_9E9E9E_848484_262626",235:"626262_A8A8A8_949494_1F1F1F",236:"626A57_3B3F33_7D8973_444C3C",237:"626D5C_B8C2BB_1B230F_A4ACA3",238:"627D72_A6CAAA_202C28_B4D4B4",239:"630463_C30CC3_9B049B_AC04AC",240:"63533B_AA9472_1C1108_9B8C68",241:"63584B_E6E0D6_A8A092_BFB6A8",242:"635D52_A9BCC0_B1AEA0_819598",243:"636363_AAAAAA_949494_252525",244:"636D6C_D4E7ED_ABBCC4_9BA4A8",245:"637598_B7C4D3_22293A_9BACBF",246:"64554D_D1C9C1_ABADA0_0E0C0A",247:"64686F_BDC0C4_161718_A4A7AB",248:"647171_1F3349_2A475C_87A5AD",249:"647686_23292E_333C44_404B55",250:"656662_9B9B99_393B31_8B8C8C",251:"657274_2A2F30_A0A7B0_363C44",252:"65A0BA_C3E4F1_A7D5E6_97CADF",253:"65A0C7_C3E4F8_A7D5EF_97CAE9",254:"660505_F2B090_DD4D37_AA1914",255:"66605E_939198_2E261F_3C332A",256:"666864_B3B4AB_2F2F2C_9CA49B",257:"673B2A_99735C_99593A_3A160E",258:"677E93_36444D_99A9BA_435464",259:"678E67_C4D9C4_ACC8AC_98B898",260:"68049F_C90DE6_A404CF_B304DC",261:"683F2D_9F736D_431D06_966152",262:"68493E_B2AAA9_978C8C_130907",263:"684C40_776E69_9B7765_758D96",264:"685B57_BEB1B1_9B99A4_1E1D1D",265:"686464_CCCAC7_A4A19F_BCB4B4",266:"686B73_2A2B2D_D5D9DD_B0B3BC",267:"686E55_353C2F_869B7F_444434",268:"696347_98B0A2_28261E_362B22",269:"696969_A0A0A0_949494_8C8C8C",270:"6A3C15_EFC898_D59D59_B38346",271:"6A5338_1C120B_C5975F_96886C",272:"6A8287_405153_839EBE_424C5C",273:"6B3822_A65D48_824E48_401E0C",274:"6BBD6B_C8F3C8_A3E2A3_B4ECB4",275:"6C52AA_C9A6EA_A681D6_B494E2",276:"6C5DC3_352D66_5C4CAB_544CA5",277:"6C6F76_CBD1D7_B2BDC7_A6B0BF",278:"6C8996_14223F_B9DEDD_2E445C",279:"6D1616_E6CDBA_DE2B24_230F0F",280:"6D3B1C_895638_502A0D_844C31",281:"6D6050_C8C2B9_A2998E_B4AA9F",282:"6D6D6D_3E3E3E_C0C0C0_949494",283:"6E2E36_D3A1A0_BD7175_C78C8B",284:"6E5137_E8CA90_271912_B99C74",285:"6E524D_8496C5_AF6624_100B11",286:"6E6D69_D0ECE9_AAC7C6_200C0C",287:"6E7181_D1CFDF_ABAFC7_B4BCCE",288:"6E8C48_B8CDA7_344018_A8BC94",289:"6EC66E_C9F8C9_A3E8A3_B4F1B4",290:"6F503E_D59A70_221812_B0A899",291:"705B4B_312821_AF927B_44342C",292:"706962_24211E_BCB6AF_ACA494",293:"713A28_A87661_3A160D_9B6454",294:"714C30_EAD7C5_CC9265_E2B48F",295:"716049_D1C8B9_3F160C_BAA6A9",296:"71623B_ECDE8C_30250A_ABA69A",297:"72625B_F0DFD0_D9BAA5_C3A595",298:"726F5B_A09C88_8B8C7B_94907C",299:"727167_2F2F2B_A3A6A2_44443C",300:"728473_534C40_7BCEC8_7BB9B6",301:"736655_D9D8D5_2F281F_B1AEAB",302:"745359_BFAEA8_9B8384_AC9392",303:"746761_291C19_AB9385_3C2B27",304:"747A6F_292E2A_ACA79F_45453B",305:"74A192_041B0D_194C33_235B4C",306:"75322B_96463F_51201A_3D1814",307:"75723E_C0C3A0_2A1E0E_AFAE77",308:"75746F_333330_A2A1A9_444444",309:"758391_BAC2CA_435263_A1ACBC",310:"763B28_D0BDB8_ADA39E_1E1D1D",311:"763C39_431510_210504_55241C",312:"764739_D0917B_2A1611_B37C68",313:"765938_1F1009_A59C7C_C9A382",314:"766554_C1BEBB_2A1A0E_B4ABAC",315:"76787C_2F3031_A5A9B8_444446",316:"767989_323437_B6C4EE_343C44",317:"771A1F_D2939E_B6595D_9D4B54",318:"773012_AE5124_4D1908_340F04",319:"776045_D2CCC3_281910_BBB5AA",320:"776A5C_BA9A89_302C26_443C34",321:"776C62_292622_474039_3C342C",322:"777C61_333727_BABFA1_A5AC8C",323:"777D7D_BDCAD2_3E3C2E_B1B8B6",324:"787165_DAD9CD_9DC0CE_36302A",325:"7877EE_D87FC5_75D9C7_1C78C0",326:"794E40_361612_4C2A21_441B1B",327:"795038_C2856B_533320_AC7C61",328:"796D6B_DED3CB_C6BAB1_ADA09B",329:"796F52_36413A_C9B48C_B6A77F",330:"797367_302E29_ABA3A0_443C35",331:"7A6959_2D271D_C1B5A9_B4A393",332:"7A736F_463F33_575046_4B463D",333:"7A7A7A_D0D0D0_BCBCBC_B4B4B4",334:"7A7A7A_D9D9D9_BCBCBC_B4B4B4",335:"7A7C63_625531_665B3F_5B4B29",336:"7A9196_485C64_425459_C1E4E7",337:"7B5254_E9DCC7_B19986_C8AC91",338:"7B6857_383028_BCA38F_4C3C34",339:"7B6E5B_C5CACC_B1B2AE_322415",340:"7B7E82_343536_A0B1C8_44444C",341:"7C584C_27140D_B3765C_3D2318",342:"7C7C71_353630_ADAFAF_444444",343:"7D6651_F8E3BF_CEA987_E7C29C",344:"7D7673_353230_AEA7B0_4C4444",345:"7DA1BA_A4CCE8_5D7A8B_5E7C94",346:"7E5344_22120E_CCAB9C_8D919D",347:"7E5E57_AD9794_612D1D_C9997D",348:"7E8174_39444D_CECAA7_B3B49B",349:"7F5134_22120A_452110_9F7D5F",350:"7F8896_3B3936_BBCFE9_4B4B4D",351:"803537_310F10_C35A5D_D89093",352:"807068_C3B0AB_443E3B_AC9C94",353:"80726C_DCDBD7_9AA6C2_B7BFCA",354:"808A5B_E0E1D4_2C4304_C5C7B0",355:"80A6B4_D5E9EF_B2D0D9_C1DCE4",356:"80CA23_B7EE37_D5FA4C_A3E434",357:"812828_521818_C94141_AB3737",358:"812E39_551C24_381117_9E3C49",359:"815C41_F6C99A_D39F77_BB9474",360:"815F54_DECBC6_301813_C5A8A0",361:"8194AB_D6DFEB_C0CEDE_B0BFD1",362:"81ADB3_D6ECEE_BFDEE1_AFD1D7",363:"81BABA_D5F3F3_BBE4E4_ABDCDC",364:"825C4D_A08175_97746C_613B2F",365:"826A59_E0C9B9_CBAD99_3D2615",366:"827C87_4F3937_605457_534C4E",367:"834741_4C281D_BE8F8C_AE6A65",368:"835984_39273A_4C334C_593D5A",369:"837667_DCD4C8_C5BAAC_3C2E22",370:"846556_503E33_61493D_5C4434",371:"848679_363630_AABBB7_4B4B44",372:"855D08_DAC31B_BF9B0C_AF860C",373:"85694C_D1A67A_3C2F22_EBBF8F",374:"857B61_ACE5D4_593D28_5B4334",375:"858362_9F9F80_9C9673_70714B",376:"85B9D3_C9EAF9_417277_528789",377:"866C5B_544237_B29B8C_AC8F7C",378:"872F2D_AB403E_682421_581F1C",379:"877B70_34302B_CBB3A4_524C44",380:"877C72_B6ACBB_36322D_4C443B",381:"878787_4C4C4C_646464_5C5C5C",382:"887153_E5C188_433729_C1A484",383:"888D8F_515454_646A6C_6C6C6D",384:"89204B_17080D_DA4377_F780B5",385:"8955D0_744CC4_EA4AEF_954DA4",386:"8A3B3D_DA5F62_461F20_BC7F81",387:"8A3DA1_D77CE4_C263D4_B75AC9",388:"8A5B34_F3BD7C_DA9758_BE7E45",389:"8A6565_2E214D_D48A5F_ADA59C",390:"8A7666_3C332C_C6AEA2_54443C",391:"8A7968_3C342D_C6B3A5_54443B",392:"8B7469_443E39_C7A797_544443",393:"8B795F_291504_EFE5D4_4A3518",394:"8B892C_D4E856_475E2D_47360A",395:"8C5945_D4C0B6_C3A49C_430504",396:"8CAEBC_3A4443_506463_DAEFEF",397:"8D553D_3C2419_5D3727_AA766C",398:"8D8D8D_DDDDDD_CCCCCC_B7B7B7",399:"8E6767_D9C4C4_C8ACAC_B89898",400:"8E7C67_E2C6A5_3B332A_C3AB94",401:"8E907C_B1B5A7_D7DBD0_CCCFBA",402:"8F4277_361530_BF538E_52274C",403:"8F4E20_E8B06B_391A08_CC8944",404:"8F5D3C_5B3B26_382416_70482E",405:"8F7B61_D6B892_4E4436_C3AC86",406:"8F894E_DAD79B_C9C384_C4BE7B",407:"903B2A_EC9888_D96747_58190D",408:"906867_C7B6BC_5D2E26_BEA4A3",409:"908887_3C3229_C7C6D0_554A45",410:"908E8E_292828_454444_595757",411:"909473_555D4B_C2CCA2_645B3C",412:"910E5A_E127C3_CF1CA3_C1158F",413:"926B48_4C2D0D_5F3913_AA8874",414:"927253_EECEA7_D8B792_C7A883",415:"935555_F6DAD9_D39393_593333",416:"936451_C29A8F_5F3A2B_361D14",417:"938C8D_403731_CECED8_554C4C",418:"942967_D292B5_C76E9E_551A4C",419:"945D43_E5AAA0_351F14_CC8B78",420:"94615B_DACED1_C3B9A4_CCABAA",421:"94624F_573529_24110C_733424",422:"9650CA_46236A_7239A6_633492",423:"965146_2B191D_DF7A5C_BFD6E1",424:"96785D_B8A398_63452C_6C5435",425:"975337_EEBE98_4B211C_D88659",426:"977970_E1D9D8_DAC8C1_C4B2AD",427:"98332E_4A100D_691A16_A85A5B",428:"989784_665542_BFECE5_6D644C",429:"9A5A55_31110D_582A24_703C34",430:"9A7467_D2C2BF_662D22_CCB2A5",431:"9AA8B6_313133_4E5055_D7EBF8",432:"9B4816_E8A138_CC7421_DC8827",433:"9B9994_E1E0DB_474643_544C4C",434:"9B9B9B_1E1E1E_5C5C5C_444444",435:"9C5B3B_49200A_E9C8AB_DDAB7D",436:"9CC338_4E671A_799F27_8CAC2C",437:"9D282A_38191D_DFC6CD_D6495A",438:"9D4343_E38989_D37474_CE6C6C",439:"9D602E_E4C363_D5A64F_C38A44",440:"9D7F6E_C6DAD4_6D4C4B_C6BBBC",441:"9D8F84_5D4544_D9D3C9_62555A",442:"9D9D9D_4E4E4E_646464_6C6C6C",443:"9E7C7E_DDCBD0_351D20_683B38",444:"9E9C77_6E6F4E_7C7C54_C7BF96",445:"9F1A27_F1AF7F_CD5845_D08441",446:"9F4738_CE958D_4F0C0A_C0837C",447:"9F7D30_B69F75_B9B7BE_CB9C4D",448:"9F886D_362F25_E8C9A4_5C4C3C",449:"9F9F9F_E4E4E4_D4D4D4_CCCCCC",450:"A05F31_D5C2BC_D9996F_42230E",451:"A0A8B0_424336_E7E9EF_545C5C",452:"A1824F_4A2A06_F7E29F_B3A598",453:"A27216_E9D036_D0AB24_DCB927",454:"A28766_E4D6C3_D6C4AA_CAB598",455:"A3B2A4_3B3E3D_676F6A_535C57",456:"A48DA4_E8DDE8_C9B7C9_D4C2D4",457:"A49994_695244_C4C2CF_76645C",458:"A67362_36150C_5E2E1E_F6C3BF",459:"A84337_611D18_3F110F_7C2A22",460:"A88C77_DAD2C7_623532_956229",461:"A95E4D_57261A_6E3223_773C24",462:"A971A9_E8CBE8_D4A8D4_DCB3DC",463:"A98D6A_F2D3AB_FBE6BE_695332",464:"A9A2A0_2F211C_544440_6D5E5A",465:"AA526C_EAA6C9_DC88AF_D17BA0",466:"AB2C2C_EBB4B3_561212_DE8484",467:"AB2D08_C35E5A_C75522_C56C70",468:"AB54A8_EBAAE9_DF8FDD_D37ED0",469:"AC171C_FA8593_E84854_D3464E",470:"AC725C_2E1610_663E31_E78F6B",471:"AC7F84_78463A_C4AABB_885454",472:"AC8942_432D19_6E4D27_5F3B1C",473:"AC8961_EBDAC3_D1B791_DCC2A0",474:"AD9E81_F1E5CE_6B5C3E_5A492A",475:"ADC2CD_DFF7FA_C9E6F5_C1DBEC",476:"AE9D99_29303B_585F70_875C33",477:"AF986F_CDB489_9C7C5B_7E6C4D",478:"AF987A_2F2416_523F27_6B5331",479:"AF9A72_504718_74652B_E2C2A2",480:"B06932_451B09_7B3E16_150804",481:"B09273_7A573D_C7AF97_84644C",482:"B0A2A8_866A63_E8E9F2_614C4F",483:"B0B0B0_6E6E6E_848484_8C8C8C",484:"B1A395_EFE6E1_635A47_786D5D",485:"B2674B_552913_7C442F_733919",486:"B26F52_4B2E2B_79493A_663B32",487:"B27744_5A2804_F6C488_EBB27D",488:"B38B76_40251D_745042_5F3A30",489:"B3AA93_F4EFD7_E1DDC2_DCD3BB",490:"B47A5B_301E14_704A31_633C23",491:"B4B29D_442D0D_604E2A_736542",492:"B5987E_F8E4DC_6F5939_E9CCBA",493:"B5BBB5_3B4026_6E745D_5C6147",494:"B62D33_E4868B_7E2D34_DD6469",495:"B66D59_F0C9B2_E5B49C_DAA084",496:"B67F6B_4B2E2A_6C3A34_F3DBC6",497:"B6B8B1_994A24_315C81_927963",498:"B76E5E_7F3A2F_EE938C_F8A5A1",499:"B7A763_E6E1CC_554A1E_6C6428",500:"B86137_FBCA6F_6F3C37_040404",501:"B9896A_5B341B_F4CAA3_6C4C2D",502:"B98A6D_7B4F38_D1A68F_8C5B43",503:"B9B37A_F1EED0_E5E4BA_DAD6A8",504:"B9CDD2_775339_958272_7F6A5E",505:"BA472D_CA6E67_C76150_CA6C59",506:"BA5DBA_F2BEF2_E69BE6_DC8CDC",507:"BA864A_5D381E_644422_FBE97A",508:"BA8979_DDCBCA_9A4726_892407",509:"BAADA8_ECE6E7_9A8378_E3DCD3",510:"BC5B43_95170B_EEAC92_DB8C7C",511:"BC928D_F9E2D6_654445_835A51",512:"BD0D0D_970404_7B0404_550404",513:"BD5345_460F11_732622_EDB7B1",514:"BDB466_F3EDC3_E3DD9F_ECE3AA",515:"BE5F5F_F4BDBD_ECA4A4_E29191",516:"BEE2E9_7E6A53_9AA09C_87837E",517:"BF7051_994C2D_E99A7B_DE8C74",518:"BF7745_F5D08E_E5AE6B_ECBC7C",519:"BF8E78_E5CCBF_753E32_4A261E",520:"BFAA83_F5EAD6_E1D0B1_EBDDC0",521:"BFB5A4_DEDCCB_D7D4CC_DCD3C2",522:"C05429_ED6129_94492A_834729",523:"C09E5C_DAD2B9_654429_81582D",524:"C1AA92_AD6E29_737889_CED1D7",525:"C1B3A1_F6EEE5_E1D7C7_ECE4D3",526:"C21338_920C24_E71C54_F34A7D",527:"C28E4E_845119_0B0805_713C0C",528:"C2A391_523728_785741_694836",529:"C2A584_363B41_71665B_8C7367",530:"C2AB7D_4A412E_7A6B4E_F9EDBE",531:"C30C0C_9F0404_830404_5C0404",532:"C33829_48171A_752523_942923",533:"C345EC_5F1DAA_9F31DB_872CCD",534:"C35C04_F9C30C_EE9F04_E08304",535:"C3CCD4_5F3B23_948A7B_A9A49A",536:"C47004_F9D00C_EDAF04_E09704",537:"C4A591_635448_F2D9D5_856D5B",538:"C4C6C6_4D5756_646463_7A8080",539:"C4DEDE_97B5B5_EAF9F9_ABC4C4",540:"C5A292_635247_F2D7D6_846A5B",541:"C5BBB6_F8F4F1_E2DAD6_ECE3DF",542:"C75F55_F8BDA9_EB9484_F4A494",543:"C7938D_E0DBE1_D1BBBC_D5CCCB",544:"C7B9A1_F8F1E4_EEE4D2_E4D8C4",545:"C7C0AC_2E181B_543B30_6B6270",546:"C7C7D7_4C4E5A_818393_6C6C74",547:"C87157_F8CBAE_E9A582_F2B394",548:"C88467_5B3333_875C5A_7A3822",549:"C8AF84_F9ECD7_EFDEBF_E6D1AF",550:"C8C8C8_3F3F3F_787878_5C5C5C",551:"C8D1DC_575B62_818892_6E747B",552:"C98D7F_3B0B0B_A97667_94433F",553:"C99A8B_491B0E_6E4136_8A4D28",554:"C9C7BE_55514B_888279_7B6E5F",555:"CA4FE1_6B2398_A337C7_9334BC",556:"CA8892_F9D7DC_EBB8C0_F3C4CC",557:"CAA094_875343_956255_EADEDC",558:"CAA78A_F9E7D7_EAD0B9_F3DCC3",559:"CAAC80_FAEBD5_F2DEBF_EAD1AF",560:"CAB094_F9ECDD_EFDEC8_E8D4BD",561:"CAB79D_F9F1E3_F1E5D1_E9DAC6",562:"CAE24E_6C9A23_A3C737_B3D43C",563:"CB4934_FB9971_F07554_F68464",564:"CB4E88_F99AD6_F384C3_ED75B9",565:"CB5E3B_FABC7A_EF965E_F4A46C",566:"CB7146_551D0F_7C270D_E5AB9C",567:"CB7846_753C22_AB5C32_B46C3C",568:"CB919B_F9DDE1_ECC0C8_F4CCD4",569:"CBCBCB_595959_8C8C8C_747474",570:"CC7C5F_A15436_B26346_AF5C3C",571:"CC9A7E_8A5249_C06A3E_DADADA",572:"CCC5C9_3B2B2B_67585B_7F7375",573:"CCF6FA_9DD9EB_82C5D9_ACD4E4",574:"CDC3B8_5A3F3C_67545A_8D7769",575:"CDCBC8_444342_696765_81807E",576:"CE8C15_EAC79B_DDAB57_F9C962",577:"CE8F3D_F0D2B0_F3C77D_E6B278",578:"CEB299_6B5C4C_887564_746355",579:"D04444_AF2F2F_8B2424_9B2C2C",580:"D07E3F_FBBD1F_8D2840_24120C",581:"D0CCCB_524D50_928891_727581",582:"D0D3BE_816854_998366_685146",583:"D1AC04_F8E50A_EDD004_B38D04",584:"D3CAAB_8C866E_C0B89A_AEA68A",585:"D4855F_92512D_AE6742_A75C2C",586:"D54C2B_5F1105_F39382_F08375",587:"D5B5B4_9E6C6F_F5E9EF_A57986",588:"D5D5D5_929292_ACACAC_B4B4B4",589:"D64480_E27497_EA9BB1_CD156F",590:"D7D7C3_AAAA92_F5F5EA_BCBCA4",591:"D7DFDB_AAB5AF_F5FAF7_BCC4C4",592:"D8388B_230A14_FCC8FC_FC71E1",593:"D8C949_F5F19E_6B7855_9A9858",594:"D8D8E5_9D9DAF_B4B4C4_B4B4CC",595:"DA5788_DE94BD_E078A3_DD83B4",596:"DBDBBB_F7F7E4_AFAF89_C4C49C",597:"DC3E04_B52604_FC7D20_F85F04",598:"DE9261_86361E_A85A37_944C2C",599:"DEDEC4_B5B597_F9F9EA_C4C4AB",600:"DEE3E8_A6AEB5_BCC4CC_BCC4C4",601:"DEE8DE_A6B5A6_BCCCBC_BCC4BC",602:"DEE8E8_A6B5B5_BCCCCC_BAC4C4",603:"DFD9C2_B5AE92_F9F7EA_C4C4A4",604:"DFDBB7_F9F8E3_B5AF86_BCBC8C",605:"DFDFCA_4D2D07_6B5224_857145",606:"DFDFD6_58544E_81766A_989288",607:"E1E1D4_777C7B_9FA19A_898F8D",608:"E1E1E0_363636_989897_747472",609:"E2D3BC_867255_B39E7F_96836C",610:"E2E2E7_AEAEB5_C4C4CC_C4C4C4",611:"E42E12_F35132_F86949_B71B0A",612:"E5DED7_AFA69D_C4BCB4_C3BAAB",613:"E6BF3C_5A4719_977726_FCFC82",614:"E6E3E3_B5AFAF_CCC4C4_C4C4C4",615:"E6E6E6_AAAAAA_C4C4C4_CCCCCC",616:"E7632F_FBA06B_BB2905_FB865E",617:"E7E2D8_B1AA9D_C9C2B3_BCB4AC",618:"E80404_B50404_CB0404_FC3333",619:"E804E8_B504B5_CC04CC_FC33FC",620:"E8DEE1_B5A6AA_CCBCC1_C4BBBC",621:"E8E5DE_B5AFA6_CCC5BC_C4C4BB",622:"E8E8DE_B5B5A6_CCCCBC_C4C4BA",623:"E9CCA1_A63106_DF8C3B_621304",624:"EA783E_6D4830_905837_FCDC6C",625:"EAD8D6_B59A97_CCB4B0_C9ABAB",626:"EAEAEA_B5B5B5_CCCCCC_D4D4D4",627:"EAEAEA_B6B6B6_CCCCCC_C4C4C4",628:"ED4630_791A0E_A42716_501009",629:"ED5087_FAC3D0_1C0B0C_FC84CC",630:"ED7F04_FCD60E_7E2D04_B73E04",631:"EDED06_B5B504_CCCC04_D4D404",632:"EE4128_FC8E82_9A0704_BF0F05",633:"EEECFB_BFB6D5_D0C8EB_CCC4DC",634:"F0D504_FBFAD3_B98609_CDA204",635:"F75F0B_461604_9A3004_FB9D2F",636:"F77777_FBE1E1_FAB2B2_FBC4C4",637:"F79686_FCCBD4_E76644_E76B56",638:"F9E6C7_FCF7DF_EDD3AA_F1D4B4",639:"FBB43F_FBE993_FB552E_FCDD65",640:"FBB82D_FBEDBF_FBDE7D_FB7E05"};const Ot=St[0];const Tt={0:"151_norm.JPG",1:"152_norm.JPG",2:"153_norm.JPG",3:"154_norm.JPG",4:"155_norm.JPG",5:"156_norm.JPG",6:"157_norm.JPG",7:"158_norm.JPG",8:"159_norm.JPG",9:"160_norm.JPG",10:"161_norm.JPG",11:"162_norm.JPG",12:"163_norm.JPG",13:"164_norm.JPG",14:"165_norm.JPG",15:"166_norm.JPG",16:"167_norm.JPG",17:"168_norm.JPG",18:"169_norm.JPG",19:"170_norm.JPG",20:"171_norm.JPG",21:"172_norm.JPG",22:"173_norm.JPG",23:"174_norm.jpg",24:"175_norm.JPG",25:"176_norm.JPG",26:"177_norm.JPG",27:"178_norm.JPG",28:"179_norm.JPG",29:"180_norm.JPG",30:"181_norm.JPG",31:"182_norm.JPG",32:"183_norm.JPG",33:"184_norm.JPG",34:"185_norm.JPG",35:"186_norm.JPG",36:"187_norm.JPG",37:"188_norm.JPG",38:"189_norm.JPG",39:"190_norm.JPG",40:"191_norm.JPG",41:"192_norm.JPG",42:"193_norm.JPG",43:"194_norm.JPG",44:"195_norm.JPG",45:"196_norm.JPG",46:"197_norm.JPG",47:"198_norm.JPG",48:"199_norm.JPG",49:"200_norm.JPG",50:"201_norm.jpg",51:"202_norm.jpg",52:"203_norm.jpg",53:"204_norm.jpg",54:"205_norm.jpg",55:"206_norm.jpg",56:"207_norm.jpg",57:"208_norm.jpg",58:"209_norm.jpg",59:"210_norm.jpg",60:"211_norm.jpg",61:"212_norm.jpg",62:"213_norm.jpg",63:"214_norm.jpg",64:"215_norm.jpg",65:"216_norm.jpg",66:"217_norm.jpg",67:"218_norm.jpg",68:"219_norm.jpg",69:"220_norm.jpg",70:"221_norm.jpg",71:"222_norm.jpg",72:"223_norm.jpg",73:"224_norm.jpg",74:"225_norm.jpg",75:"226_norm.jpg"},jt=Tt[0];const Qt={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};class Xt extends h.Group{constructor(){super(),this.color=new h.Color("white")}}let Nt,kt;const Vt=v.createContext(null),It=new h.Matrix4,Ut=new h.Vector3,Gt=new h.Color,qt=v.forwardRef((({children:e,range:t,limit:r=1e3,...n},a)=>{const s=v.useRef(null),[i,u]=v.useState([]),[[c,l]]=v.useState((()=>[new Float32Array(3*r),new Float32Array([...new Array(3*r)].map((()=>1)))]));v.useLayoutEffect((()=>{s.current.geometry.drawRange.count=Math.min(r,void 0!==t?t:r,i.length)}),[i,t]),v.useEffect((()=>{s.current.geometry.attributes.position.needsUpdate=!0})),o.useFrame((()=>{for(s.current.updateMatrix(),s.current.updateMatrixWorld(),It.copy(s.current.matrixWorld).invert(),Nt=0;Nt<i.length;Nt++)kt=i[Nt].current,kt.getWorldPosition(Ut).applyMatrix4(It),Ut.x===c[3*Nt]&&Ut.y===c[3*Nt+1]&&Ut.z===c[3*Nt+2]||(Ut.toArray(c,3*Nt),s.current.geometry.attributes.position.needsUpdate=!0,kt.matrixWorldNeedsUpdate=!0),kt.color.equals(Gt.fromArray(l,3*Nt))||(kt.color.toArray(l,3*Nt),s.current.geometry.attributes.color.needsUpdate=!0)}));const A=v.useMemo((()=>{const e={};for(Nt=0;Nt<i.length;Nt++){var t;Object.assign(e,null==(t=i[Nt].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var r,n,o;const a=null==(r=i[e.index])?void 0:r.current;return null==a||null==(n=a.__r3f)||null==(o=n.handlers)?void 0:o[t]({...e,object:a})}})),{})}),[e,i]),C=v.useMemo((()=>({subscribe:e=>(u((t=>[...t,e])),()=>u((t=>t.filter((t=>t.current!==e.current)))))})),[]);return v.createElement("points",D.default({matrixAutoUpdate:!1,ref:g.default([a,s])},A,n),v.createElement("bufferGeometry",null,v.createElement("bufferAttribute",{attachObject:["attributes","position"],count:c.length/3,array:c,itemSize:3,usage:h.DynamicDrawUsage}),v.createElement("bufferAttribute",{attachObject:["attributes","color"],count:l.length/3,array:l,itemSize:3,usage:h.DynamicDrawUsage})),v.createElement(Vt.Provider,{value:C},e))})),Wt=v.forwardRef((({children:e,...t},r)=>{v.useMemo((()=>o.extend({Position:Xt})),[]);const n=v.useRef(),{subscribe:a}=v.useContext(Vt);return v.useLayoutEffect((()=>a(n)),[]),v.createElement("position",D.default({ref:g.default([r,n])},t),e)}));let Rt,Yt;const Kt=v.createContext(null),Zt=new h.Matrix4,Jt=new h.Matrix4,$t=new h.Matrix4,er=new h.Color,tr=new h.Vector3,rr=new h.Quaternion,nr=new h.Vector3,or=v.forwardRef((({context:e,children:t,...r},n)=>{v.useMemo((()=>o.extend({Position:Xt})),[]);const a=v.useRef(),{subscribe:s}=v.useContext(e||Kt);return v.useLayoutEffect((()=>s(a)),[]),v.createElement("position",D.default({ref:g.default([n,a])},r),t)})),ar=v.forwardRef((({children:e,range:t,limit:r=1e3,frames:n=1/0,...a},s)=>{const[{context:i,instance:u}]=v.useState((()=>{const e=v.createContext(null);return{context:e,instance:v.forwardRef(((t,r)=>v.createElement(or,D.default({context:e},t,{ref:r}))))}})),c=v.useRef(null),[l,A]=v.useState([]),[[C,f]]=v.useState((()=>{const e=new Float32Array(16*r);for(Rt=0;Rt<r;Rt++)$t.identity().toArray(e,16*Rt);return[e,new Float32Array([...new Array(3*r)].map((()=>1)))]}));v.useLayoutEffect((()=>{c.current.count=c.current.instanceMatrix.updateRange.count=c.current.instanceColor.updateRange.count=Math.min(r,void 0!==t?t:r,l.length)}),[l,t]),v.useEffect((()=>{c.current.instanceMatrix.needsUpdate=!0}));let m=0;o.useFrame((e=>{if(n===1/0||m<n){for(c.current.updateMatrix(),c.current.updateMatrixWorld(),Zt.copy(c.current.matrixWorld).invert(),Rt=0;Rt<l.length;Rt++)Yt=l[Rt].current,Yt.matrixWorld.decompose(tr,rr,nr),Jt.compose(tr,rr,nr).premultiply(Zt),Jt.equals($t.fromArray(C,16*Rt))||(Jt.toArray(C,16*Rt),c.current.instanceMatrix.needsUpdate=!0),Yt.color.equals(er.fromArray(f,3*Rt))||(Yt.color.toArray(f,3*Rt),c.current.instanceColor.needsUpdate=!0);m++}}));const p=v.useMemo((()=>{const e={};for(Rt=0;Rt<l.length;Rt++){var t;Object.assign(e,null==(t=l[Rt].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var r,n,o;const a=null==(r=l[e.instanceId])?void 0:r.current;return null==a||null==(n=a.__r3f)||null==(o=n.handlers)?void 0:o[t]({...e,object:a})}})),{})}),[e,l]),d=v.useMemo((()=>({subscribe:e=>(A((t=>[...t,e])),()=>A((t=>t.filter((t=>t.current!==e.current)))))})),[]);return v.createElement("instancedMesh",D.default({matrixAutoUpdate:!1,ref:g.default([s,c]),args:[null,null,0]},p,a),v.createElement("instancedBufferAttribute",{attach:"instanceMatrix",count:C.length/16,array:C,itemSize:16,usage:h.DynamicDrawUsage}),v.createElement("instancedBufferAttribute",{attach:"instanceColor",count:f.length/3,array:f,itemSize:3,usage:h.DynamicDrawUsage}),"function"==typeof e?v.createElement(i.Provider,{value:d},e(u)):v.createElement(Kt.Provider,{value:d},e))}));const sr=v.forwardRef((({children:e,distances:t,...r},n)=>{const a=v.useRef(null);return v.useLayoutEffect((()=>{const{current:e}=a;e.levels.length=0,e.children.forEach(((r,n)=>e.levels.push({object:r,distance:t[n]})))})),o.useFrame((e=>{var t;return null==(t=a.current)?void 0:t.update(e.camera)})),v.createElement("lOD",D.default({ref:g.default([a,n])},r),e)}));const ir=new n.Matrix4,ur=new n.Ray,cr=new n.Sphere,lr=new n.Vector3;exports.AdaptiveDpr=function({pixelated:e}){const t=o.useThree((e=>e.gl)),r=o.useThree((e=>e.internal.active)),n=o.useThree((e=>e.performance.current)),a=o.useThree((e=>e.viewport.initialDpr)),s=o.useThree((e=>e.setDpr));return v.useEffect((()=>{const n=t.domElement;return()=>{r&&s(a),e&&n&&(n.style.imageRendering="auto")}}),[]),v.useEffect((()=>{s(n*a),e&&t.domElement&&(t.domElement.style.imageRendering=1===n?"auto":"pixelated")}),[n]),null},exports.AdaptiveEvents=function(){const e=o.useThree((e=>e.get)),t=o.useThree((e=>e.performance.current));return v.useEffect((()=>{const t=e().raycaster.enabled;return()=>{e().raycaster.enabled=t}}),[]),v.useEffect((()=>{e().raycaster.enabled=1===t}),[t]),null},exports.ArcballControls=ue,exports.BakeShadows=function(){const e=o.useThree((e=>e.gl));return v.useEffect((()=>(e.shadowMap.autoUpdate=!1,e.shadowMap.needsUpdate=!0,()=>{e.shadowMap.autoUpdate=e.shadowMap.needsUpdate=!0})),[]),null},exports.Billboard=V,exports.Box=Ct,exports.CameraShake=re,exports.Center=Ge,exports.Circle=ft,exports.Cloud=function({opacity:e=.5,speed:t=.4,width:r=10,length:n=1.5,segments:a=20,dir:s=1,...i}){const u=v.useRef(),c=U("data:image/png;base64,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"),l=v.useMemo((()=>[...new Array(a)].map(((e,n)=>({x:r/2-Math.random()*r,y:r/2-Math.random()*r,scale:.4+Math.sin((n+1)/a*Math.PI)*(10*(.2+Math.random())),density:Math.max(.2,Math.random()),rotation:Math.max(.002,.005*Math.random())*t})))),[r,a,t]);return o.useFrame((e=>{var t;return null==(t=u.current)?void 0:t.children.forEach(((t,r)=>{t.rotation.z+=l[r].rotation*s,t.scale.setScalar(l[r].scale+(1+Math.sin(e.clock.getElapsedTime()/10))/2*r/10)}))})),v.createElement("group",i,v.createElement("group",{position:[0,0,a/2*n],ref:u},l.map((({x:t,y:r,scale:o,density:a},s)=>v.createElement(V,{key:s,scale:[o,o,o],position:[t,r,-s*n],lockZ:!0},v.createElement("meshStandardMaterial",{map:c,transparent:!0,opacity:o/6*a*e,depthTest:!1}))))))},exports.Cone=mt,exports.ContactShadows=it,exports.CubeCamera=function({children:e,fog:t,frames:r=1/0,resolution:a=256,near:s=1,far:i=1e3,...u}){const c=v.useRef(),[l,A]=v.useState(),C=o.useThree((({scene:e})=>e)),f=o.useThree((({gl:e})=>e)),m=v.useMemo((()=>new n.WebGLCubeRenderTarget(a,{minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:n.RGBFormat,encoding:f.outputEncoding})),[a]);let p=0;return o.useFrame((()=>{if(l&&c.current&&(r===1/0||p<r)){c.current.traverse((e=>e.visible=!1));const e=C.fog;C.fog=t||e,l.update(f,C),C.fog=e,c.current.traverse((e=>e.visible=!0)),p++}})),v.createElement("group",u,v.createElement("cubeCamera",{ref:A,args:[s,i,m]}),v.createElement("group",{ref:c},e(m.texture)))},exports.CubicBezierLine=W,exports.CurveModifier=Re,exports.CycleRaycast=function({onChanged:e,portal:t,preventDefault:r=!0,scroll:n=!0,keyCode:a=9}){const s=v.useRef(0),i=o.useThree((e=>e.raycaster)),u=o.useThree((e=>e.get)),c=o.useThree((e=>e.gl));return v.useEffect((()=>{var o;let l,A=[];const C=i.filter,f=null!==(o=null==t?void 0:t.current)&&void 0!==o?o:c.domElement.parentNode,m=()=>f&&e&&e(A,Math.round(s.current)%A.length);i.filter=(e,t)=>{let r=[...e];r.length===A.length&&A.every((e=>r.map((e=>e.object.uuid)).includes(e.object.uuid)))||(s.current=0,A=r,m()),C&&(r=C(r,t));for(let e=0;e<Math.round(s.current)%r.length;e++){const e=r.shift();r=[...r,e]}return r};const p=e=>{var t,r;s.current=e(s.current),null==(t=u().events.handlers)||t.onPointerCancel(void 0),null==(r=u().events.handlers)||r.onPointerMove(l),m()},d=e=>{(e.keyCode||e.which===a)&&(r&&e.preventDefault(),A.length>1&&p((e=>e+1)))},B=e=>{r&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),A.length>1&&p((e=>Math.abs(e-t)))},D=e=>l=e;return document.addEventListener("pointermove",D,{passive:!0}),n&&document.addEventListener("wheel",B),void 0!==a&&document.addEventListener("keydown",d),()=>{i.filter=C,void 0!==a&&document.removeEventListener("keydown",d),n&&document.removeEventListener("wheel",B),document.removeEventListener("pointermove",D)}}),[c,u,i,r,n,a]),null},exports.Cylinder=pt,exports.DepthBuffer=We,exports.Detailed=sr,exports.DeviceOrientationControls=ne,exports.Dodecahedron=wt,exports.Effects=$,exports.Environment=Z,exports.Extrude=Pt,exports.FirstPersonControls=Ae,exports.FlyControls=oe,exports.GizmoHelper=({alignment:e="bottom-right",margin:t=[80,80],renderPriority:r=0,onUpdate:a,onTarget:s,children:i})=>{const u=o.useThree((({size:e})=>e)),c=o.useThree((({camera:e})=>e)),l=o.useThree((({controls:e})=>e)),A=o.useThree((({gl:e})=>e)),C=o.useThree((({scene:e})=>e)),f=o.useThree((({invalidate:e})=>e)),m=v.useRef(),p=v.useRef(),d=v.useRef(null),[B]=v.useState((()=>new n.Scene)),D=v.useRef(!1),E=v.useRef(0),h=v.useRef(new n.Vector3(0,0,0));v.useEffect((()=>(C.background&&(m.current=C.background,C.background=null,B.background=m.current),()=>{m.current&&(C.background=m.current)})),[]);o.useFrame(((e,t)=>{var r;d.current&&p.current&&((e=>{if(!D.current)return;if(De.angleTo(ve)<.01)return void(D.current=!1);const t=e*pe;De.rotateTowards(ve,t),c.position.set(0,0,1).applyQuaternion(De).multiplyScalar(E.current).add(h.current),c.up.set(0,1,0).applyQuaternion(De).normalize(),c.quaternion.copy(De),a?a():l&&l.update(),f()})(t),Be.copy(c.matrix).invert(),null==(r=p.current)||r.quaternion.setFromRotationMatrix(Be),A.autoClear=!1,A.clearDepth(),A.render(B,d.current))}),r);const _={tweenCamera:e=>{D.current=!0,(l||s)&&(h.current=(null==l?void 0:l.target)||(null==s?void 0:s())),E.current=c.position.distanceTo(Ee),De.copy(c.quaternion),he.copy(e).multiplyScalar(E.current).add(Ee),de.lookAt(he),ve.copy(de.quaternion),f()},raycast:Ce(d)},[g,x]=t,F=e.endsWith("-left")?-u.width/2+g:u.width/2-g,w=e.startsWith("top-")?u.height/2-x:-u.height/2+x;return o.createPortal(v.createElement(fe.Provider,{value:_},v.createElement(ee,{ref:d,makeDefault:!1,position:[0,0,200]}),v.createElement("group",{ref:p,position:[F,w,0]},i)),B)},exports.GizmoViewcube=e=>v.createElement("group",{scale:[60,60,60]},v.createElement(He,e),Me.map(((t,r)=>v.createElement(Se,D.default({key:r,position:t,dimensions:ze[r]},e)))),ye.map(((t,r)=>v.createElement(Se,D.default({key:r,position:t,dimensions:be},e)))),v.createElement("ambientLight",{intensity:.5}),v.createElement("pointLight",{position:[10,10,10],intensity:.5})),exports.GizmoViewport=({hideNegativeAxes:e,disabled:t,font:r="18px Inter var, Arial, sans-serif",axisColors:n=["#ff3653","#0adb50","#2c8fdf"],labelColor:o="#000",onClick:a,...s})=>{const[i,u,c]=n,{tweenCamera:l,raycast:A}=me(),C={font:r,disabled:t,labelColor:o,raycast:A,onClick:a,onPointerDown:t?void 0:e=>{l(e.object.position),e.stopPropagation()}};return v.createElement("group",D.default({scale:40},s),v.createElement(Oe,{color:i,rotation:[0,0,0]}),v.createElement(Oe,{color:u,rotation:[0,0,Math.PI/2]}),v.createElement(Oe,{color:c,rotation:[0,-Math.PI/2,0]}),v.createElement(Te,D.default({arcStyle:i,position:[1,0,0],label:"X"},C)),v.createElement(Te,D.default({arcStyle:u,position:[0,1,0],label:"Y"},C)),v.createElement(Te,D.default({arcStyle:c,position:[0,0,1],label:"Z"},C)),!e&&v.createElement(v.Fragment,null,v.createElement(Te,D.default({arcStyle:i,position:[-1,0,0]},C)),v.createElement(Te,D.default({arcStyle:u,position:[0,-1,0]},C)),v.createElement(Te,D.default({arcStyle:c,position:[0,0,-1]},C))),v.createElement("ambientLight",{intensity:.5}),v.createElement("pointLight",{position:[10,10,10],intensity:.5}))},exports.GradientTexture=function({stops:e,colors:t,size:r=2048,...n}){const o=v.useMemo((()=>{const n=document.createElement("canvas"),o=n.getContext("2d");n.width=16,n.height=r;const a=o.createLinearGradient(0,0,0,r);let s=e.length;for(;s--;)a.addColorStop(e[s],t[s]);o.fillStyle=a,o.fillRect(0,0,16,r);const i=new h.Texture(n);return i.needsUpdate=!0,i}),[e]);return v.useEffect((()=>()=>{o.dispose()}),[o]),v.createElement("primitive",D.default({object:o,attach:"map"},n))},exports.Html=j,exports.Icosahedron=xt,exports.Instance=or,exports.Instances=ar,exports.IsObject=I,exports.Lathe=yt,exports.Line=G,exports.Loader=function({containerStyles:e,innerStyles:t,barStyles:r,dataStyles:n,dataInterpolation:o=N,initialState:a=(e=>e)}){const{active:s,progress:i}=X(),u=v.useRef(0),c=v.useRef(0),l=v.useRef(null),[A,C]=v.useState(a(s));v.useEffect((()=>{let e;return s!==A&&(e=setTimeout((()=>C(s)),300)),()=>clearTimeout(e)}),[A,s]);const f=v.useCallback((()=>{l.current&&(u.current+=(i-u.current)/2,(u.current>.95*i||100===i)&&(u.current=i),l.current.innerText=o(u.current),u.current<i&&(c.current=requestAnimationFrame(f)))}),[o,i]);return v.useEffect((()=>(f(),()=>cancelAnimationFrame(c.current))),[f]),A?v.createElement("div",{style:{...k.container,opacity:s?1:0,...e}},v.createElement("div",null,v.createElement("div",{style:{...k.inner,...t}},v.createElement("div",{style:{...k.bar,transform:`scaleX(${i/100})`,...r}}),v.createElement("span",{ref:l,style:{...k.data,...n}})))):null},exports.MapControls=ae,exports.Merged=function({meshes:e,children:t,...r}){const n=Array.isArray(e);return v.createElement(P.default,{components:(n?e:Object.values(e)).map((({geometry:e,material:t})=>v.createElement(ar,D.default({geometry:e,material:t},r))))},(r=>n?t(...r):t(Object.keys(e).reduce(((e,t,n)=>({...e,[t]:r[n]})),{}))))},exports.MeshDistortMaterial=Ke,exports.MeshReflectorMaterial=ke,exports.MeshWobbleMaterial=Je,exports.Octahedron=Ft,exports.OrbitControls=se,exports.OrthographicCamera=ee,exports.Parametric=bt,exports.PerspectiveCamera=te,exports.Plane=Bt,exports.Point=Wt,exports.PointMaterial=et,exports.PointMaterialImpl=$e,exports.PointerLockControls=le,exports.Points=qt,exports.Polyhedron=gt,exports.PositionalAudio=R,exports.Preload=function({all:e,scene:t,camera:r}){const n=o.useThree((({gl:e})=>e)),a=o.useThree((({camera:e})=>e)),s=o.useThree((({scene:e})=>e));return v.useLayoutEffect((()=>{const o=[];e&&(t||s).traverse((e=>{!1===e.visible&&(o.push(e),e.visible=!0)})),n.compile(t||s,r||a),o.forEach((e=>e.visible=!1))}),[]),null},exports.QuadraticBezierLine=q,exports.Reflector=Ve,exports.Ring=_t,exports.RoundedBox=zt,exports.ScreenQuad=Ht,exports.Shadow=Ie,exports.Sky=rt,exports.Sphere=dt,exports.SpotLight=lt,exports.Stage=function({children:e,controls:t,shadows:r=!0,adjustCamera:n=!0,environment:a="city",contactShadow:s=!0,intensity:i=1,preset:u="rembrandt",shadowBias:c=0,contactShadowBlur:l=2,contactShadowOpacity:A=.5,...C}){const f=Qt[u],m=o.useThree((e=>e.camera)),p=o.useThree((e=>e.controls)),d=v.useRef(null),B=v.useRef(null),[{radius:D,width:E,height:_},g]=v.useState({radius:0,width:0,height:0});return v.useLayoutEffect((()=>{d.current.position.set(0,0,0),d.current.updateWorldMatrix(!0,!0);const e=(new h.Box3).setFromObject(B.current),t=new h.Vector3,r=new h.Sphere,n=e.max.y-e.min.y,o=e.max.x-e.min.x;e.getCenter(t),e.getBoundingSphere(r),g({radius:r.radius,width:o,height:n}),d.current.position.set(-t.x,-t.y+n/2,-t.z)}),[e]),v.useLayoutEffect((()=>{if(n){const e=D/(_>E?1.5:2.5);m.position.set(0,.5*D,2.5*D),m.near=.1,m.far=Math.max(5e3,4*D),m.lookAt(0,e,0);const r=p||(null==t?void 0:t.current);r&&(r.target.set(0,e,0),r.update())}}),[p,D,_,E,n]),v.createElement("group",C,v.createElement("group",{ref:d},v.createElement("group",{ref:B},e)),s&&v.createElement(it,{"rotation-x":Math.PI/2,opacity:A,width:2*D,height:2*D,blur:l,far:D/2}),a&&v.createElement(Z,{preset:a}),v.createElement("ambientLight",{intensity:i/3}),v.createElement("spotLight",{penumbra:1,position:[f.main[0]*D,f.main[1]*D,f.main[2]*D],intensity:2*i,castShadow:r,"shadow-bias":c}),v.createElement("pointLight",{position:[f.fill[0]*D,f.fill[1]*D,f.fill[2]*D],intensity:i}))},exports.Stars=st,exports.Stats=function({showPanel:e=0,className:t,parent:r}){const n=function(e,t=[],r){const[n,o]=v.useState();return v.useLayoutEffect((()=>{const t=e();return o(t),Ue(r,t),()=>Ue(r,null)}),t),n}((()=>new w.default),[]);return v.useEffect((()=>{if(n){const a=r&&r.current||document.body;n.showPanel(e),null==a||a.appendChild(n.dom),t&&n.dom.classList.add(t);const s=o.addEffect((()=>n.begin())),i=o.addAfterEffect((()=>n.end()));return()=>{null==a||a.removeChild(n.dom),s(),i()}}}),[r,n,t,e]),null},exports.Tetrahedron=ht,exports.Text=Y,exports.Torus=vt,exports.TorusKnot=Et,exports.TrackballControls=ie,exports.TransformControls=ce,exports.Tube=Dt,exports.calcPosFromAngles=tt,exports.isWebGL2Available=J,exports.meshBounds=function(e,t){const r=this.geometry,n=this.material,o=this.matrixWorld;void 0!==n&&(null===r.boundingSphere&&r.computeBoundingSphere(),cr.copy(r.boundingSphere),cr.applyMatrix4(o),!1!==e.ray.intersectsSphere(cr)&&(ir.copy(o).invert(),ur.copy(e.ray).applyMatrix4(ir),null!==r.boundingBox&&null===ur.intersectBox(r.boundingBox,lr)||t.push({distance:lr.distanceTo(e.ray.origin),point:lr.clone(),object:this})))},exports.shaderMaterial=function(e,t,r,n){return class extends h.ShaderMaterial{constructor(){const o=Object.entries(e);super({uniforms:o.reduce(((e,[t,r])=>({...e,...h.UniformsUtils.clone({[t]:{value:r}})})),{}),vertexShader:t,fragmentShader:r}),o.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),n&&n(this)}}},exports.softShadows=e=>{if(!nt){nt=!0;let t=h.ShaderChunk.shadowmap_pars_fragment;t=t.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({frustum:e=3.75,size:t=.005,near:r=9.5,samples:n=17,rings:o=11}={})=>`#define LIGHT_WORLD_SIZE ${t}\n#define LIGHT_FRUSTUM_WIDTH ${e}\n#define LIGHT_SIZE_UV (LIGHT_WORLD_SIZE / LIGHT_FRUSTUM_WIDTH)\n#define NEAR_PLANE ${r}\n\n#define NUM_SAMPLES ${n}\n#define NUM_RINGS ${o}\n#define BLOCKER_SEARCH_NUM_SAMPLES NUM_SAMPLES\n#define PCF_NUM_SAMPLES NUM_SAMPLES\n\nvec2 poissonDisk[NUM_SAMPLES];\n\nvoid initPoissonSamples(const in vec2 randomSeed) {\n float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);\n float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);\n float angle = rand(randomSeed) * PI2;\n float radius = INV_NUM_SAMPLES;\n float radiusStep = radius;\n for (int i = 0; i < NUM_SAMPLES; i++) {\n poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);\n radius += radiusStep;\n angle += ANGLE_STEP;\n }\n}\n\nfloat penumbraSize(const in float zReceiver, const in float zBlocker) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\n\nfloat findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver) {\n float searchRadius = LIGHT_SIZE_UV * (zReceiver - NEAR_PLANE) / zReceiver;\n float blockerDepthSum = 0.0;\n int numBlockers = 0;\n for (int i = 0; i < BLOCKER_SEARCH_NUM_SAMPLES; i++) {\n float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));\n if (shadowMapDepth < zReceiver) {\n blockerDepthSum += shadowMapDepth;\n numBlockers++;\n }\n }\n if (numBlockers == 0) return -1.0;\n return blockerDepthSum / float(numBlockers);\n}\n\nfloat PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {\n float sum = 0.0;\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[ i ] * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[ i ].yx * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n return sum / (2.0 * float(PCF_NUM_SAMPLES));\n}\n\nfloat PCSS(sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n initPoissonSamples(uv);\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);\n if (avgBlockerDepth == -1.0) return 1.0;\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n float filterRadius = penumbraRatio * LIGHT_SIZE_UV * NEAR_PLANE / zReceiver;\n return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);\n}`)({...e})),t=t.replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),h.ShaderChunk.shadowmap_pars_fragment=t}},exports.useAnimations=function(e,t){const r=v.useRef(),[a]=v.useState((()=>t?t instanceof n.Object3D?{current:t}:t:r)),[s]=v.useState((()=>new n.AnimationMixer(void 0))),i=v.useRef({}),[u]=v.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(a.current)return i.current[e.name]||(i.current[e.name]=s.clipAction(e,a.current))}}))),{ref:a,clips:e,actions:t,names:e.map((e=>e.name)),mixer:s}}));return o.useFrame(((e,t)=>s.update(t))),v.useEffect((()=>{const e=a.current;return()=>{i.current={},Object.values(u.actions).forEach((t=>{e&&s.uncacheAction(t,e)}))}}),[e]),u},exports.useAspect=function(e,t,r=1){const n=o.useThree((e=>e.viewport)),a=t*(n.aspect>e/t?n.width/e:n.height/t);return[e*(n.aspect>e/t?n.width/e:n.height/t)*r,a*r,1]},exports.useBVH=function(e,t){v.useEffect((()=>{if(e.current){e.current.raycast=m.acceleratedRaycast;const r=e.current.geometry;return r.computeBoundsTree=m.computeBoundsTree,r.disposeBoundsTree=m.disposeBoundsTree,r.computeBoundsTree(t),()=>{r.boundsTree&&r.disposeBoundsTree()}}}),[e,t])},exports.useCamera=Ce,exports.useContextBridge=function(...e){const t=v.useRef([]);return t.current=e.map((e=>v.useContext(e))),v.useMemo((()=>({children:r})=>e.reduceRight(((e,r,n)=>v.createElement(r.Provider,{value:t.current[n],children:e})),r)),[])},exports.useCubeTexture=je,exports.useCursor=function(e,t="pointer",r="auto"){v.useEffect((()=>{if(e)return document.body.style.cursor=t,()=>{document.body.style.cursor=r}}),[e])},exports.useDetectGPU=function(e){return v.useState(null),c.useAsset((()=>f.getGPUTier(e)),"useDetectGPU")},exports.useEdgeSplit=function(e,t=!0){const r=v.useRef(),n=v.useRef(),o=v.useRef();return v.useEffect((()=>{!n.current&&r.current&&(n.current=r.current.geometry.clone(),o.current=new i.EdgeSplitModifier)}),[]),v.useEffect((()=>{if(n.current&&r.current&&o.current){const a=o.current.modify(n.current,e,t);a.computeVertexNormals(),r.current.geometry=a}}),[e,t]),r},exports.useFBO=qe,exports.useFBX=Qe,exports.useGLTF=Ne,exports.useGizmoContext=me,exports.useHelper=function(e,t,...r){const n=v.useRef(),a=o.useThree((e=>e.scene));return v.useEffect((()=>(t&&e.current&&(n.current=new t(e.current,...r),n.current&&a.add(n.current)),()=>{n.current&&a.remove(n.current)})),[a,t,e,r]),o.useFrame((()=>{var e;null!=(e=n.current)&&e.update&&n.current.update()})),n},exports.useMatcapTexture=function(e=0,t=1024){const r=v.useMemo((()=>Object.keys(St).length),[]),n=`https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/${t}/${`${v.useMemo((()=>"string"==typeof e?e:"number"==typeof e?St[e]:null),[e])||Ot}${function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(t)}.png`}`;return[U(n),n,r]},exports.useNormalTexture=function(e=0,t={}){const{repeat:r=[1,1],anisotropy:o=1,offset:a=[0,0]}=t,s=v.useMemo((()=>Object.keys(Tt).length),[]),i=`https://rawcdn.githack.com/emmelleppi/normal-maps/f24c810fc1d86b5b1e5dfea914b668f70b5f2923/normals/${Tt[e]||jt}`,u=U(i);return v.useEffect((()=>{u&&(u.wrapS=u.wrapT=n.RepeatWrapping,u.repeat=new n.Vector2(r[0],r[1]),u.offset=new n.Vector2(a[0],a[1]),u.anisotropy=o)}),[u,o,r,a]),[u,i,s]},exports.useProgress=X,exports.useSimplification=function(e){const t=v.useRef(),r=v.useRef(),n=v.useRef();return v.useEffect((()=>{r.current||(r.current=t.current.geometry.clone(),n.current=new i.SimplifyModifier)}),[]),v.useEffect((()=>{if(r.current&&t.current){const o=r.current,a=Math.floor(o.attributes.position.count*e);t.current.geometry=n.current.modify(o,a)}}),[e]),t},exports.useTessellation=function(e=3,t){const r=v.useRef(),n=v.useRef(),o=v.useRef();return v.useEffect((()=>{n.current||(n.current=r.current.geometry.clone(),o.current=new i.TessellateModifier(parseInt(t),e))}),[t,e]),v.useEffect((()=>{o.current.maxEdgeLength=t}),[t]),v.useEffect((()=>{if(n.current&&r.current){const e=o.current.modify(n.current);r.current.geometry=e}}),[t,e]),r},exports.useTexture=U;