1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19221],{16906:(e,t,n)=>{n.d(t,{h:()=>u});var r=n(91297),o=n(98443);let i=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e))},a=t=e(r,o,i);return i},a=e=>e?i(e):i,{useSyncExternalStoreWithSelector:l}=o,s=e=>e,c=(e,t)=>{let n=a(e),o=(e,o=t)=>(function(e,t=s,n){let o=l(e.subscribe,e.getState,e.getInitialState,t,n);return r.useDebugValue(o),o})(n,e,o);return Object.assign(o,n),o},u=(e,t)=>e?c(e,t):c},21542:(e,t,n)=>{n.d(t,{Hl:()=>f});var r=n(83885),o=n(91297),i=n(75301);function a(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}let l=["x","y","top","bottom","left","right","width","height"],s=(e,t)=>l.every(n=>e[n]===t[n]);var c=n(75975),u=n(26277);function d({ref:e,children:t,fallback:n,resize:l,style:c,gl:d,events:f=r.f,eventSource:h,eventPrefix:m,shadows:p,linear:b,flat:v,legacy:g,orthographic:y,frameloop:E,dpr:w,performance:x,raycaster:P,camera:O,scene:M,onPointerMissed:j,onCreated:T,...S}){o.useMemo(()=>(0,r.e)(i),[]);let L=(0,r.u)(),[C,A]=function({debounce:e,scroll:t,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){var i,l,c;let u=n||("undefined"==typeof window?class{}:window.ResizeObserver);if(!u)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[d,f]=(0,o.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),h=(0,o.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:d,orientationHandler:null}),m=e?"number"==typeof e?e:e.scroll:null,p=e?"number"==typeof e?e:e.resize:null,b=(0,o.useRef)(!1);(0,o.useEffect)(()=>(b.current=!0,()=>void(b.current=!1)));let[v,g,y]=(0,o.useMemo)(()=>{let e=()=>{if(!h.current.element)return;let{left:e,top:t,width:n,height:o,bottom:i,right:a,x:l,y:c}=h.current.element.getBoundingClientRect(),u={left:e,top:t,width:n,height:o,bottom:i,right:a,x:l,y:c};h.current.element instanceof HTMLElement&&r&&(u.height=h.current.element.offsetHeight,u.width=h.current.element.offsetWidth),Object.freeze(u),b.current&&!s(h.current.lastBounds,u)&&f(h.current.lastBounds=u)};return[e,p?a(e,p):e,m?a(e,m):e]},[f,r,m,p]);function E(){h.current.scrollContainers&&(h.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",y,!0)),h.current.scrollContainers=null),h.current.resizeObserver&&(h.current.resizeObserver.disconnect(),h.current.resizeObserver=null),h.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",h.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",h.current.orientationHandler))}function w(){h.current.element&&(h.current.resizeObserver=new u(y),h.current.resizeObserver.observe(h.current.element),t&&h.current.scrollContainers&&h.current.scrollContainers.forEach(e=>e.addEventListener("scroll",y,{capture:!0,passive:!0})),h.current.orientationHandler=()=>{y()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",h.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",h.current.orientationHandler))}return i=y,l=!!t,(0,o.useEffect)(()=>{if(l)return window.addEventListener("scroll",i,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",i,!0)},[i,l]),c=g,(0,o.useEffect)(()=>(window.addEventListener("resize",c),()=>void window.removeEventListener("resize",c)),[c]),(0,o.useEffect)(()=>{E(),w()},[t,y,g]),(0,o.useEffect)(()=>E,[]),[e=>{e&&e!==h.current.element&&(E(),h.current.element=e,h.current.scrollContainers=function e(t){let n=[];if(!t||t===document.body)return n;let{overflow:r,overflowX:o,overflowY:i}=window.getComputedStyle(t);return[r,o,i].some(e=>"auto"===e||"scroll"===e)&&n.push(t),[...n,...e(t.parentElement)]}(e),w())},d,v]}({scroll:!0,debounce:{scroll:50,resize:0},...l}),k=o.useRef(null),_=o.useRef(null);o.useImperativeHandle(e,()=>k.current);
1let I=(0,r.a)(j),[z,R]=o.useState(!1),[N,D]=o.useState(!1);if(z)throw z;if(N)throw N;let H=o.useRef(null);(0,r.b)(()=>{let e=k.current;A.width>0&&A.height>0&&e&&(H.current||(H.current=(0,r.c)(e)),async function(){await H.current.configure({gl:d,scene:M,events:f,shadows:p,linear:b,flat:v,legacy:g,orthographic:y,frameloop:E,dpr:w,performance:x,raycaster:P,camera:O,size:A,onPointerMissed:(...e)=>null==I.current?void 0:I.current(...e),onCreated:e=>{null==e.events.connect||e.events.connect(h?(0,r.i)(h)?h.current:h:_.current),m&&e.setEvents({compute:(e,t)=>{let n=e[m+"X"],r=e[m+"Y"];t.pointer.set(n/t.size.width*2-1,-(2*(r/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==T||T(e)}}),H.current.render((0,u.jsx)(L,{children:(0,u.jsx)(r.E,{set:D,children:(0,u.jsx)(o.Suspense,{fallback:(0,u.jsx)(r.B,{set:R}),children:null!=t?t:null})})}))}())}),o.useEffect(()=>{let e=k.current;if(e)return()=>(0,r.d)(e)},[]);let V=h?"none":"auto";return(0,u.jsx)("div",{ref:_,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:V,...c},...S,children:(0,u.jsx)("div",{ref:C,style:{width:"100%",height:"100%"},children:(0,u.jsx)("canvas",{ref:k,style:{display:"block"},children:n})})})}function f(e){return(0,u.jsx)(c.Af,{children:(0,u.jsx)(d,{...e})})}n(95867)},33871:(e,t,n)=>{n.d(t,{N:()=>y});var r=n(85690),o=n(83885),i=n(91297),a=n(75301),l=Object.defineProperty,s=(e,t,n)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,c=(e,t,n)=>(s(e,"symbol"!=typeof t?t+"":t,n),n);class u{constructor(){c(this,"_listeners")}addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let n=this._listeners[e];if(void 0!==n){let e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let n=t.slice(0);for(let t=0,r=n.length;t<r;t++)n[t].call(this,e);e.target=null}}}var d=Object.defineProperty,f=(e,t,n)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h=(e,t,n)=>(f(e,"symbol"!=typeof t?t+"":t,n),n);let m=new a.Ray,p=new a.Plane,b=Math.cos(Math.PI/180*70),v=(e,t)=>(e%t+t)%t;class g extends u{constructor(e,t){super(),h(this,"object"),h(this,"domElement"),h(this,"enabled",!0),h(this,"target",new a.Vector3),h(this,"minDistance",0),h(this,"maxDistance",1/0),h(this,"minZoom",0),h(this,"maxZoom",1/0),h(this,"minPolarAngle",0),h(this,"maxPolarAngle",Math.PI),h(this,"minAzimuthAngle",-1/0),h(this,"maxAzimuthAngle",1/0),h(this,"enableDamping",!1),h(this,"dampingFactor",.05),h(this,"enableZoom",!0),h(this,"zoomSpeed",1),h(this,"enableRotate",!0),h(this,"rotateSpeed",1),h(this,"enablePan",!0),h(this,"panSpeed",1),h(this,"screenSpacePanning",!0),h(this,"keyPanSpeed",7),h(this,"zoomToCursor",!1),h(this,"autoRotate",!1),h(this,"autoRotateSpeed",2),h(this,"reverseOrbit",!1),h(this,"reverseHorizontalOrbit",!1),h(this,"reverseVerticalOrbit",!1),h(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),h(this,"mouseButtons",{LEFT:a.MOUSE.ROTATE,MIDDLE:a.MOUSE.DOLLY,RIGHT:a.MOUSE.PAN}),h(this,"touches",{ONE:a.TOUCH.ROTATE,TWO:a.TOUCH.DOLLY_PAN}),h(this,"target0"),h(this,"position0"),h(this,"zoom0"),h(this,"_domElementKeyEvents",null),h(this,"getPolarAngle"),h(this,"getAzimuthalAngle"),h(this,"setPolarAngle"),h(this,"setAzimuthalAngle"),h(this,"getDistance"),h(this,"getZoomScale"),h(this,"listenToKeyEvents"),h(this,"stopListenToKeyEvents"),h(this,"saveState"),h(this,"reset"),h(this,"update"),h(this,"connect"),h(this,"dispose"),h(this,"dollyIn"),h(this,"dollyOut"),h(this,"getScale"),h(this,"setScale"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>u.phi,this.getAzimuthalAngle=()=>u.theta,this.setPolarAngle=e=>{let t=v(e,2*Math.PI),r=u.phi;r<0&&(r+=2*Math.PI),t<0&&(t+=2*Math.PI);let o=Math.abs(t-r);2*Math.PI-o<o&&(t<r?t+=2*Math.PI:r+=2*Math.PI),d.phi=t-r,n.update()},this.setAzimuthalAngle=e=>{let t=v(e,2*Math.PI),r=u.theta;r<0&&(r+=2*Math.PI),t<0&&(t+=2*Math.PI);let o=Math.abs(t-r);2*Math.PI-o<o&&(t<r?t+=2*Math.PI:r+=2*Math.PI),d.theta=t-r,n.update()},this.getDistance=()=>n.object.position.distanceTo(n.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",ee),this._domElementKeyEvents=e},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ee),this._domElementKeyEvents=null},this.saveState=()=>{n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=()=>{n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(r),n.update(),s=l.NONE},this.update=(()=>{let t=new a.Vector3,o=new a.Vector3(0,1,0),i=new a.Quaternion().setFromUnitVectors(e.up,o),h=i.clone().invert(),v=new a.Vector3,y=new a.Quaternion,E=2*Math.PI;return function(){let w=n.object.position;i.setFromUnitVectors(e.up,o),h.copy(i).invert(),t.copy(w).sub(n.target),t.applyQuaternion(i),u.setFromVector3(t),n.autoRotate&&s===l.NONE&&I(2*Math.PI/60/60*n.autoRotateSpeed),n.enableDamping?(u.theta+=d.theta*n.dampingFactor,u.phi+=d.phi*n.dampingFactor):(u.theta+=d.theta,u.phi+=d.phi);let x=n.minAzimuthAngle,P=n.maxAzimuthAngle;isFinite(x)&&isFinite(P)&&(x<-Math.PI?x+=E:x>Math.PI&&(x-=E),P<-Math.PI?P+=E:P>Math.PI&&(P-=E),x<=P?u.theta=Math.max(x,Math.min(P,u.theta)):u.theta=u.theta>(x+P)/2?Math.max(x,u.theta):Math.min(P,u.theta)),u.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,u.phi)),u.makeSafe(),!0===n.enableDamping?n.target.addScaledVector(g,n.dampingFactor):n.target.add(g),n.zoomToCursor&&C||n.object.isOrthographicCamera?u.radius=Y(u.radiu
1s):u.radius=Y(u.radius*f),t.setFromSpherical(u),t.applyQuaternion(h),w.copy(n.target).add(t),n.object.matrixAutoUpdate||n.object.updateMatrix(),n.object.lookAt(n.target),!0===n.enableDamping?(d.theta*=1-n.dampingFactor,d.phi*=1-n.dampingFactor,g.multiplyScalar(1-n.dampingFactor)):(d.set(0,0,0),g.set(0,0,0));let O=!1;if(n.zoomToCursor&&C){let r=null;if(n.object instanceof a.PerspectiveCamera&&n.object.isPerspectiveCamera){let e=t.length();r=Y(e*f);let o=e-r;n.object.position.addScaledVector(S,o),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let e=new a.Vector3(L.x,L.y,0);e.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/f)),n.object.updateProjectionMatrix(),O=!0;let o=new a.Vector3(L.x,L.y,0);o.unproject(n.object),n.object.position.sub(o).add(e),n.object.updateMatrixWorld(),r=t.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;null!==r&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(r).add(n.object.position):(m.origin.copy(n.object.position),m.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(m.direction))<b?e.lookAt(n.target):(p.setFromNormalAndCoplanarPoint(n.object.up,n.target),m.intersectPlane(p,n.target))))}else n.object instanceof a.OrthographicCamera&&n.object.isOrthographicCamera&&(O=1!==f)&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/f)),n.object.updateProjectionMatrix());return f=1,C=!1,!!(O||v.distanceToSquared(n.object.position)>c||8*(1-y.dot(n.object.quaternion))>c)&&(n.dispatchEvent(r),v.copy(n.object.position),y.copy(n.object.quaternion),O=!1,!0)}})(),this.connect=e=>{n.domElement=e,n.domElement.style.touchAction="none",n.domElement.addEventListener("contextmenu",et),n.domElement.addEventListener("pointerdown",q),n.domElement.addEventListener("pointercancel",Q),n.domElement.addEventListener("wheel",J)},this.dispose=()=>{var e,t,r,o,i,a;n.domElement&&(n.domElement.style.touchAction="auto"),null==(e=n.domElement)||e.removeEventListener("contextmenu",et),null==(t=n.domElement)||t.removeEventListener("pointerdown",q),null==(r=n.domElement)||r.removeEventListener("pointercancel",Q),null==(o=n.domElement)||o.removeEventListener("wheel",J),null==(i=n.domElement)||i.ownerDocument.removeEventListener("pointermove",G),null==(a=n.domElement)||a.ownerDocument.removeEventListener("pointerup",Q),null!==n._domElementKeyEvents&&n._domElementKeyEvents.removeEventListener("keydown",ee)};let n=this,r={type:"change"},o={type:"start"},i={type:"end"},l={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},s=l.NONE,c=1e-6,u=new a.Spherical,d=new a.Spherical,f=1,g=new a.Vector3,y=new a.Vector2,E=new a.Vector2,w=new a.Vector2,x=new a.Vector2,P=new a.Vector2,O=new a.Vector2,M=new a.Vector2,j=new a.Vector2,T=new a.Vector2,S=new a.Vector3,L=new a.Vector2,C=!1,A=[],k={};function _(){return Math.pow(.95,n.zoomSpeed)}function I(e){n.reverseOrbit||n.reverseHorizontalOrbit?d.theta+=e:d.theta-=e}function z(e){n.reverseOrbit||n.reverseVerticalOrbit?d.phi+=e:d.phi-=e}let R=(()=>{let e=new a.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),g.add(e)}})(),N=(()=>{let e=new a.Vector3;return function(t,r){!0===n.screenSpacePanning?e.setFromMatrixColumn(r,1):(e.setFromMatrixColumn(r,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),g.add(e)}})(),D=(()=>{let e=new a.Vector3;return function(t,r){let o=n.domElement;if(o&&n.object instanceof a.PerspectiveCamera&&n.object.isPerspectiveCamera){let i=n.object.position;e.copy(i).sub(n.target);let a=e.length();R(2*t*(a*=Math.tan(n.object.fov/2*Math.PI/180))/o.clientHeight,n.object.matrix),N(2*r*a/o.clientHeight,n.object.matrix)}else o&&n.object instanceof a.OrthographicCamera&&n.object.isOrthographicCamera?(R(t*(n.object.right-n.object.left)/n.object.zoom/o.clientWidth,n.object.matrix),N(r*(n.object.top-n.object.bottom)/n.object.zoom/o.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}})();function H(e){n.object instanceof a.PerspectiveCamera&&n.object.isPerspectiveCamera||n.object instanceof a.Orthogra
1phicCamera&&n.object.isOrthographicCamera?f=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function V(e){if(!n.zoomToCursor||!n.domElement)return;C=!0;let t=n.domElement.getBoundingClientRect(),r=e.clientX-t.left,o=e.clientY-t.top,i=t.width,a=t.height;L.x=r/i*2-1,L.y=-(o/a*2)+1,S.set(L.x,L.y,1).unproject(n.object).sub(n.object.position).normalize()}function Y(e){return Math.max(n.minDistance,Math.min(n.maxDistance,e))}function F(e){y.set(e.clientX,e.clientY)}function U(e){x.set(e.clientX,e.clientY)}function W(){if(1==A.length)y.set(A[0].pageX,A[0].pageY);else{let e=.5*(A[0].pageX+A[1].pageX),t=.5*(A[0].pageY+A[1].pageY);y.set(e,t)}}function X(){if(1==A.length)x.set(A[0].pageX,A[0].pageY);else{let e=.5*(A[0].pageX+A[1].pageX),t=.5*(A[0].pageY+A[1].pageY);x.set(e,t)}}function Z(){let e=A[0].pageX-A[1].pageX,t=A[0].pageY-A[1].pageY,n=Math.sqrt(e*e+t*t);M.set(0,n)}function $(e){if(1==A.length)E.set(e.pageX,e.pageY);else{let t=er(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);E.set(n,r)}w.subVectors(E,y).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(I(2*Math.PI*w.x/t.clientHeight),z(2*Math.PI*w.y/t.clientHeight)),y.copy(E)}function K(e){if(1==A.length)P.set(e.pageX,e.pageY);else{let t=er(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);P.set(n,r)}O.subVectors(P,x).multiplyScalar(n.panSpeed),D(O.x,O.y),x.copy(P)}function B(e){var t;let r=er(e),o=e.pageX-r.x,i=e.pageY-r.y,a=Math.sqrt(o*o+i*i);j.set(0,a),T.set(0,Math.pow(j.y/M.y,n.zoomSpeed)),t=T.y,H(f/t),M.copy(j)}function q(e){var t,r,i;!1!==n.enabled&&(0===A.length&&(null==(t=n.domElement)||t.ownerDocument.addEventListener("pointermove",G),null==(r=n.domElement)||r.ownerDocument.addEventListener("pointerup",Q)),i=e,A.push(i),"touch"===e.pointerType?function(e){switch(en(e),A.length){case 1:switch(n.touches.ONE){case a.TOUCH.ROTATE:if(!1===n.enableRotate)return;W(),s=l.TOUCH_ROTATE;break;case a.TOUCH.PAN:if(!1===n.enablePan)return;X(),s=l.TOUCH_PAN;break;default:s=l.NONE}break;case 2:switch(n.touches.TWO){case a.TOUCH.DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&Z(),n.enablePan&&X(),s=l.TOUCH_DOLLY_PAN;break;case a.TOUCH.DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&Z(),n.enableRotate&&W(),s=l.TOUCH_DOLLY_ROTATE;break;default:s=l.NONE}break;default:s=l.NONE}s!==l.NONE&&n.dispatchEvent(o)}(e):function(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case a.MOUSE.DOLLY:if(!1===n.enableZoom)return;V(e),M.set(e.clientX,e.clientY),s=l.DOLLY;break;case a.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enablePan)return;U(e),s=l.PAN}else{if(!1===n.enableRotate)return;F(e),s=l.ROTATE}break;case a.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enableRotate)return;F(e),s=l.ROTATE}else{if(!1===n.enablePan)return;U(e),s=l.PAN}break;default:s=l.NONE}s!==l.NONE&&n.dispatchEvent(o)}(e))}function G(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(en(e),s){case l.TOUCH_ROTATE:if(!1===n.enableRotate)return;$(e),n.update();break;case l.TOUCH_PAN:if(!1===n.enablePan)return;K(e),n.update();break;case l.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&B(e),n.enablePan&&K(e),n.update();break;case l.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&B(e),n.enableRotate&&$(e),n.update();break;default:s=l.NONE}}(e):function(e){if(!1!==n.enabled)switch(s){case l.ROTATE:if(!1===n.enableRotate)return;E.set(e.clientX,e.clientY),w.subVectors(E,y).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(I(2*Math.PI*w.x/t.clientHeight),z(2*Math.PI*w.y/t.clientHeight)),y.copy(E),n.update();break;case l.DOLLY:var r,o;if(!1===n.enableZoom)return;(j.set(e.clientX,e.clientY),T.subVectors(j,M),T.y>0)?(r=_(),H(f/r)):T.y<0&&(o=_(),H(f*o)),M.copy(j),n.update();break;case l.PAN:if(!1===n.enablePan)return;P.set(e.clientX,e.clientY),O.subVectors(P,x).multiplyScalar(n.panSpeed),D(O.x,O.y),x.copy(P),n.update()}}(e))}function Q(e){var t,r,o;(function(e){delete k[e.pointerId];for(let t=0;t<A.length;t++)if(A[t].pointerId==e.pointerId)return void A.splice(t,1)})(e),0===A.length&&(null==(t=n.domElement)||t.releasePointerCapture(e.pointerId),null==(r=n.domElement)||r.ownerDocument.removeEventListener("pointermove",G),null==(o=n.domElement)||o.ownerDocument.removeEventListener("pointerup",Q)),n.dispatchEvent(i),s=l.NONE}function J(e){if(!1!==n.enabled&&!1!==n.enableZoom&&(s===l.NONE||s===l.ROTATE)){var t,r;e.preventDefault(),n.dispatchEvent(o),(V(e),e.deltaY<0)?(t=_(),H(f*t)):e.deltaY>0&&(r=_(),H(f/r)),n.update(),n.dispatchEvent(i)}}function ee(e){if(!1!==n.enabled&&!1!==n.enablePan){let t=!1;switch(e.code){case n.keys.UP:D(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:D(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:D(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:D(-n.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),n.update())}}function et(e){!1!==n.enabled&&e.preventDefault()}function en(e){let t=k[e.pointerId];void 0===t&&(t=new a.Vector2,k[e.pointerId]=t),t.set(e.pageX,e.pageY)}function er(e){return k[(e.pointerId===A[0].pointerId?A[1]:A[0]).pointerId]}this.dollyIn=(e=_())=>{H(f*e),n.update()},this.dollyOut=(e=_())=>{H(f/e),n.update()}
1,this.getScale=()=>f,this.setScale=e=>{H(e),n.update()},this.getZoomScale=()=>_(),void 0!==t&&this.connect(t),this.update()}}let y=i.forwardRef(({makeDefault:e,camera:t,regress:n,domElement:a,enableDamping:l=!0,keyEvents:s=!1,onChange:c,onStart:u,onEnd:d,...f},h)=>{let m=(0,o.C)(e=>e.invalidate),p=(0,o.C)(e=>e.camera),b=(0,o.C)(e=>e.gl),v=(0,o.C)(e=>e.events),y=(0,o.C)(e=>e.setEvents),E=(0,o.C)(e=>e.set),w=(0,o.C)(e=>e.get),x=(0,o.C)(e=>e.performance),P=t||p,O=a||v.connected||b.domElement,M=i.useMemo(()=>new g(P),[P]);return(0,o.D)(()=>{M.enabled&&M.update()},-1),i.useEffect(()=>(s&&M.connect(!0===s?O:s),M.connect(O),()=>void M.dispose()),[s,O,n,M,m]),i.useEffect(()=>{let e=e=>{m(),n&&x.regress(),c&&c(e)},t=e=>{u&&u(e)},r=e=>{d&&d(e)};return M.addEventListener("change",e),M.addEventListener("start",t),M.addEventListener("end",r),()=>{M.removeEventListener("start",t),M.removeEventListener("end",r),M.removeEventListener("change",e)}},[c,u,d,M,m,y]),i.useEffect(()=>{if(e){let e=w().controls;return E({controls:M}),()=>E({controls:e})}},[e,M]),i.createElement("primitive",(0,r.A)({ref:h,object:M,enableDamping:l},f))})},38824:(e,t)=>{function n(e,t){var n=e.length;for(e.push(t);0<n;){var r=n-1>>>1,o=e[r];if(0<i(o,t))e[r]=t,e[n]=o,n=r;else break}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;for(var r=0,o=e.length,a=o>>>1;r<a;){var l=2*(r+1)-1,s=e[l],c=l+1,u=e[c];if(0>i(s,n))c<o&&0>i(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[l]=n,r=l);else if(c<o&&0>i(u,n))e[r]=u,e[c]=n,r=c;else break}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var a,l=performance;t.unstable_now=function(){return l.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var u=[],d=[],f=1,h=null,m=3,p=!1,b=!1,v=!1,g=!1,y="function"==typeof setTimeout?setTimeout:null,E="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=r(d);null!==t;){if(null===t.callback)o(d);else if(t.startTime<=e)o(d),t.sortIndex=t.expirationTime,n(u,t);else break;t=r(d)}}function P(e){if(v=!1,x(e),!b)if(null!==r(u))b=!0,O||(O=!0,a());else{var t=r(d);null!==t&&k(P,t.startTime-e)}}var O=!1,M=-1,j=5,T=-1;function S(){return!!g||!(t.unstable_now()-T<j)}function L(){if(g=!1,O){var e=t.unstable_now();T=e;var n=!0;try{e:{b=!1,v&&(v=!1,E(M),M=-1),p=!0;var i=m;try{t:{for(x(e),h=r(u);null!==h&&!(h.expirationTime>e&&S());){var l=h.callback;if("function"==typeof l){h.callback=null,m=h.priorityLevel;var s=l(h.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){h.callback=s,x(e),n=!0;break t}h===r(u)&&o(u),x(e)}else o(u);h=r(u)}if(null!==h)n=!0;else{var c=r(d);null!==c&&k(P,c.startTime-e),n=!1}}break e}finally{h=null,m=i,p=!1}}}finally{n?a():O=!1}}}if("function"==typeof w)a=function(){w(L)};else if("undefined"!=typeof MessageChannel){var C=new MessageChannel,A=C.port2;C.port1.onmessage=L,a=function(){A.postMessage(null)}}else a=function(){y(L,0)};function k(e,n){M=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):j=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var n=m;m=t;try{return e()}finally{m=n}},t.unstable_requestPaint=function(){g=!0},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=m;m=e;try{return t()}finally{m=n}},t.unstable_scheduleCallback=function(e,o,i){var l=t.unstable_now();switch(i="object"==typeof i&&null!==i&&"number"==typeof(i=i.delay)&&0<i?l+i:l,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=0x3fffffff;break;case 4:s=1e4;break;default:s=5e3}return s=i+s,e={id:f++,callback:o,priorityLevel:e,startTime:i,expirationTime:s,sortIndex:-1},i>l?(e.sortIndex=i,n(d,e),null===r(u)&&e===r(d)&&(v?(E(M),M=-1):v=!0,k(P,i-l))):(e.sortIndex=s,n(u,e),b||p||(b=!0,O||(O=!0,a()))),e},t.unstable_shouldYield=S,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},44868:(e,t,n)=>{var r=n(91297),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=r.useState,a=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();
1return!o(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),o=r[0].inst,u=r[1];return l(function(){o.value=n,o.getSnapshot=t,c(o)&&u({inst:o})},[e,n,t]),a(function(){return c(o)&&u({inst:o}),e(function(){c(o)&&u({inst:o})})},[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},56835:(e,t,n)=>{var r=n(91297),o=n(80086),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useSyncExternalStore,l=r.useRef,s=r.useEffect,c=r.useMemo,u=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=l(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=a(e,(d=c(function(){function e(e){if(!s){if(s=!0,a=e,e=r(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return l=t}return l=e}if(t=l,i(a,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(a=e,t):(a=e,l=n)}var a,l,s=!1,c=void 0===n?null:n;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,n,r,o]))[0],d[1]);return s(function(){f.hasValue=!0,f.value=h},[h]),u(h),h}},75975:(e,t,n)=>{n.d(t,{Af:()=>l,Nz:()=>o,u5:()=>s,y3:()=>d});var r=n(91297);function o(e,t,n){if(!e)return;if(!0===n(e))return e;let r=t?e.return:e.child;for(;r;){let e=o(r,t,n);if(e)return e;r=t?null:r.sibling}}function i(e){try{return Object.defineProperties(e,{_currentRenderer:{get:()=>null,set(){}},_currentRenderer2:{get:()=>null,set(){}}})}catch(t){return e}}(()=>{var e,t;return"undefined"!=typeof window&&((null==(e=window.document)?void 0:e.createElement)||(null==(t=window.navigator)?void 0:t.product)==="ReactNative")})()?r.useLayoutEffect:r.useEffect;let a=i(r.createContext(null));class l extends r.Component{render(){return r.createElement(a.Provider,{value:this._reactInternals},this.props.children)}}function s(){let e=r.useContext(a);if(null===e)throw Error("its-fine: useFiber must be called within a <FiberProvider />!");let t=r.useId();return r.useMemo(()=>{for(let n of[e,null==e?void 0:e.alternate]){if(!n)continue;let e=o(n,!1,e=>{let n=e.memoizedState;for(;n;){if(n.memoizedState===t)return!0;n=n.next}});if(e)return e}},[e,t])}let c=Symbol.for("react.context"),u=e=>null!==e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===c;function d(){let e=function(){let e=s(),[t]=r.useState(()=>new Map);t.clear();let n=e;for(;n;){let e=n.type;u(e)&&e!==a&&!t.has(e)&&t.set(e,r.use(i(e))),n=n.return}return t}();return r.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>o=>r.createElement(t,null,r.createElement(n.Provider,{...o,value:e.get(n)})),e=>r.createElement(l,{...e})),[e])}},80086:(e,t,n)=>{e.exports=n(44868)},80802:(e,t,n)=>{n.d(t,{DY:()=>l,IU:()=>c,uv:()=>s});let r=e=>"object"==typeof e&&"function"==typeof e.then,o=[];function i(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;let r=e.length;if(t.length!==r)return!1;for(let o=0;o<r;o++)if(!n(e[o],t[o]))return!1;return!0}function a(e,t=null,n=!1,l={}){for(let r of(null===t&&(t=[e]),o))if(i(t,r.keys,r.equal)){if(n)return;if(Object.prototype.hasOwnProperty.call(r,"error"))throw r.error;if(Object.prototype.hasOwnProperty.call(r,"response"))return l.lifespan&&l.lifespan>0&&(r.timeout&&clearTimeout(r.timeout),r.timeout=setTimeout(r.remove,l.lifespan)),r.response;if(!n)throw r.promise}let s={keys:t,equal:l.equal,remove:()=>{let e=o.indexOf(s);-1!==e&&o.splice(e,1)},promise:(r(e)?e:e(...t)).then(e=>{s.response=e,l.lifespan&&l.lifespan>0&&(s.timeout=setTimeout(s.remove,l.lifespan))}).catch(e=>s.error=e)};if(o.push(s),!n)throw s.promise}let l=(e,t,n)=>a(e,t,!1,n),s=(e,t,n)=>void a(e,t,!0,n),c=e=>{if(void 0===e||0===e.length)o.splice(0,o.length);else{let t=o.find(t=>i(e,t.keys,t.equal));t&&t.remove()}}},85690:(e,t,n)=>{n.d(t,{A:()=>r});function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}},95867:(e,t,n)=>{e.exports=n(38824)}
1,98443:(e,t,n)=>{e.exports=n(56835)},98912:(e,t,n)=>{let r,o;n.d(t,{E:()=>y});var i=n(85690),a=n(91297),l=n(7308),s=n(75301),c=n(83885);let u=new s.Vector3,d=new s.Vector3,f=new s.Vector3,h=new s.Vector2;function m(e,t,n){let r=u.setFromMatrixPosition(e.matrixWorld);r.project(t);let o=n.width/2,i=n.height/2;return[r.x*o+o,-(r.y*i)+i]}let p=e=>1e-10>Math.abs(e)?0:e;function b(e,t,n=""){let r="matrix3d(";for(let n=0;16!==n;n++)r+=p(t[n]*e.elements[n])+(15!==n?",":")");return n+r}let v=(r=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>b(e,r)),g=(o=e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1],(e,t)=>b(e,o(t),"translate(-50%,-50%)")),y=a.forwardRef(({children:e,eps:t=.001,style:n,className:r,prepend:o,center:b,fullscreen:y,portal:E,distanceFactor:w,sprite:x=!1,transform:P=!1,occlude:O,onOcclude:M,castShadow:j,receiveShadow:T,material:S,geometry:L,zIndexRange:C=[0x1000037,0],calculatePosition:A=m,as:k="div",wrapperClass:_,pointerEvents:I="auto",...z},R)=>{let{gl:N,camera:D,scene:H,size:V,raycaster:Y,events:F,viewport:U}=(0,c.C)(),[W]=a.useState(()=>document.createElement(k)),X=a.useRef(null),Z=a.useRef(null),$=a.useRef(0),K=a.useRef([0,0]),B=a.useRef(null),q=a.useRef(null),G=(null==E?void 0:E.current)||F.connected||N.domElement.parentNode,Q=a.useRef(null),J=a.useRef(!1),ee=a.useMemo(()=>O&&"blending"!==O||Array.isArray(O)&&O.length&&function(e){return e&&"object"==typeof e&&"current"in e}(O[0]),[O]);a.useLayoutEffect(()=>{let e=N.domElement;O&&"blending"===O?(e.style.zIndex=`${Math.floor(C[0]/2)}`,e.style.position="absolute",e.style.pointerEvents="none"):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[O]),a.useLayoutEffect(()=>{if(Z.current){let e=X.current=l.createRoot(W);if(H.updateMatrixWorld(),P)W.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{let e=A(Z.current,D,V);W.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return G&&(o?G.prepend(W):G.appendChild(W)),()=>{G&&G.removeChild(W),e.unmount()}}},[G,P]),a.useLayoutEffect(()=>{_&&(W.className=_)},[_]);let et=a.useMemo(()=>P?{position:"absolute",top:0,left:0,width:V.width,height:V.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:b?"translate3d(-50%,-50%,0)":"none",...y&&{top:-V.height/2,left:-V.width/2,width:V.width,height:V.height},...n},[n,b,y,V,P]),en=a.useMemo(()=>({position:"absolute",pointerEvents:I}),[I]);a.useLayoutEffect(()=>{var t,o;J.current=!1,P?null==(t=X.current)||t.render(a.createElement("div",{ref:B,style:et},a.createElement("div",{ref:q,style:en},a.createElement("div",{ref:R,className:r,style:n,children:e})))):null==(o=X.current)||o.render(a.createElement("div",{ref:R,style:et,className:r,children:e}))});let er=a.useRef(!0);(0,c.D)(e=>{if(Z.current){D.updateMatrixWorld(),Z.current.updateWorldMatrix(!0,!1);let e=P?K.current:A(Z.current,D,V);if(P||Math.abs($.current-D.zoom)>t||Math.abs(K.current[0]-e[0])>t||Math.abs(K.current[1]-e[1])>t){let t=function(e,t){let n=u.setFromMatrixPosition(e.matrixWorld),r=d.setFromMatrixPosition(t.matrixWorld),o=n.sub(r),i=t.getWorldDirection(f);return o.angleTo(i)>Math.PI/2}(Z.current,D),n=!1;ee&&(Array.isArray(O)?n=O.map(e=>e.current):"blending"!==O&&(n=[H]));let r=er.current;n?er.current=function(e,t,n,r){let o=u.setFromMatrixPosition(e.matrixWorld),i=o.clone();i.project(t),h.set(i.x,i.y),n.setFromCamera(h,t);let a=n.intersectObjects(r,!0);if(a.length){let e=a[0].distance;return o.distanceTo(n.ray.origin)<e}return!0}(Z.current,D,Y,n)&&!t:er.current=!t,r!==er.current&&(M?M(!er.current):W.style.display=er.current?"block":"none");let o=Math.floor(C[0]/2),i=O?ee?[C[0],o]:[o-1,0]:C;if(W.style.zIndex=`${function(e,t,n){if(t instanceof s.PerspectiveCamera||t instanceof s.Orthogra
1phicCamera){let r=u.setFromMatrixPosition(e.matrixWorld),o=d.setFromMatrixPosition(t.matrixWorld),i=r.distanceTo(o),a=(n[1]-n[0])/(t.far-t.near),l=n[1]-a*t.far;return Math.round(a*i+l)}}(Z.current,D,i)}`,P){let[e,t]=[V.width/2,V.height/2],n=D.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:o,left:i,bottom:a,right:l}=D,s=v(D.matrixWorldInverse),c=r?`scale(${n})translate(${p(-(l+i)/2)}px,${p((o+a)/2)}px)`:`translateZ(${n}px)`,u=Z.current.matrixWorld;x&&((u=D.matrixWorldInverse.clone().transpose().copyPosition(u).scale(Z.current.scale)).elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),W.style.width=V.width+"px",W.style.height=V.height+"px",W.style.perspective=r?"":`${n}px`,B.current&&q.current&&(B.current.style.transform=`${c}${s}translate(${e}px,${t}px)`,q.current.style.transform=g(u,1/((w||10)/400)))}else{let t=void 0===w?1:function(e,t){if(t instanceof s.OrthographicCamera)return t.zoom;if(!(t instanceof s.PerspectiveCamera))return 1;{let n=u.setFromMatrixPosition(e.matrixWorld),r=d.setFromMatrixPosition(t.matrixWorld);return 1/(2*Math.tan(t.fov*Math.PI/180/2)*n.distanceTo(r))}}(Z.current,D)*w;W.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}K.current=e,$.current=D.zoom}}if(!ee&&Q.current&&!J.current)if(P){if(B.current){let e=B.current.children[0];if(null!=e&&e.clientWidth&&null!=e&&e.clientHeight){let{isOrthographicCamera:t}=D;if(t||L)z.scale&&(Array.isArray(z.scale)?z.scale instanceof s.Vector3?Q.current.scale.copy(z.scale.clone().divideScalar(1)):Q.current.scale.set(1/z.scale[0],1/z.scale[1],1/z.scale[2]):Q.current.scale.setScalar(1/z.scale));else{let t=(w||10)/400,n=e.clientWidth*t,r=e.clientHeight*t;Q.current.scale.set(n,r,1)}J.current=!0}}}else{let t=W.children[0];if(null!=t&&t.clientWidth&&null!=t&&t.clientHeight){let e=1/U.factor,n=t.clientWidth*e,r=t.clientHeight*e;Q.current.scale.set(n,r,1),J.current=!0}Q.current.lookAt(e.camera.position)}});let eo=a.useMemo(()=>({vertexShader:P?void 0:` 2 /* 3 This shader is from the THREE's SpriteMaterial. 4 We need to turn the backing plane into a Sprite 5 (make it always face the camera) if "transfrom" 6 is false. 7 */ 8 #include <common> 9 10 void main() { 11 vec2 center = vec2(0., 1.); 12 float rotation = 0.0; 13 14 // This is somewhat arbitrary, but it seems to work well 15 // Need to figure out how to derive this dynamically if it even matters 16 float size = 0.03; 17 18 vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); 19 vec2 scale; 20 scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); 21 scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); 22 23 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 24 if ( isPerspective ) scale *= - mvPosition.z; 25 26 vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; 27 vec2 rotatedPosition; 28 rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; 29 rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; 30 mvPosition.xy += rotatedPosition; 31 32 gl_Position = projectionMatrix * mvPosition; 33 } 34 `,fragmentShader:` 35 void main() { 36 gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); 37 } 38 `}),[P]);return a.createElement("group",(0,i.A)({},z,{ref:Z}),O&&!ee&&a.createElement("mesh",{castShadow:j,receiveShadow:T,ref:Q},L||a.createElement("planeGeometry",null),S||a.createElement("shaderMaterial",{side:s.DoubleSide,vertexShader:eo.vertexShader,fragmentShader:eo.fragmentShader})))})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.