├── .gitignore ├── README.md ├── index.html ├── package.json ├── public ├── airplane.svg ├── fonts │ ├── DMSerifDisplay-Regular.ttf │ └── Inter-Regular.ttf ├── images │ └── wawa.svg ├── models │ ├── airplane │ │ └── model.glb │ └── cloud │ │ └── model.gltf └── vite.svg ├── src ├── App.jsx ├── assets │ └── react.svg ├── components │ ├── Airplane.jsx │ ├── Background.jsx │ ├── Cloud.jsx │ ├── Experience.jsx │ ├── Overlay.jsx │ ├── Speed.jsx │ └── TextSection.jsx ├── contexts │ └── Play.jsx ├── index.css ├── main.jsx └── utils │ └── fadeMaterial.js ├── vite.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Thumbnail video tutorial](https://user-images.githubusercontent.com/6551176/233513056-525d827e-e8fa-4b57-901a-b05175505a55.jpg) 2 | 3 | [Live Demo](https://r3f-wawatmos-final.vercel.app/) 4 | 5 | [Video tutorial](https://youtu.be/8r8rzp8t2aM) 6 | 7 | [Starter pack](https://github.com/wass08/r3f-wawatmos-starter) 8 | 9 | ### 3D Model credits 10 | 11 | Airplane by Poly by Google [CC-BY](https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/8VysVKMXN2J) 12 | # R3F-AWWARDS-website 13 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Wawatmos 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "r3f-loading-animations", 3 | "private": true, 4 | "version": "0.0.0", 5 | "description": "A brief description of your project", 6 | "type": "module", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "vite build", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "@react-three/drei": "^9.56.28", 14 | "@react-three/fiber": "^8.11.5", 15 | "@react-three/postprocessing": "^2.7.1", 16 | "gsap": "^3.11.5", 17 | "lamina": "^1.1.23", 18 | "react": "^18.2.0", 19 | "react-dom": "^18.2.0", 20 | "three": "^0.150.1" 21 | }, 22 | "devDependencies": { 23 | "@types/react": "^18.0.27", 24 | "@types/react-dom": "^18.0.10", 25 | "@vitejs/plugin-react": "^3.1.0", 26 | "vite": "^4.1.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /public/airplane.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 13 | 15 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /public/fonts/DMSerifDisplay-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Madewill/R3F-AWWARDS-website/80b2228cf6bdf7a58b19ab4955130b60d2c627f1/public/fonts/DMSerifDisplay-Regular.ttf -------------------------------------------------------------------------------- /public/fonts/Inter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Madewill/R3F-AWWARDS-website/80b2228cf6bdf7a58b19ab4955130b60d2c627f1/public/fonts/Inter-Regular.ttf -------------------------------------------------------------------------------- /public/images/wawa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /public/models/airplane/model.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Madewill/R3F-AWWARDS-website/80b2228cf6bdf7a58b19ab4955130b60d2c627f1/public/models/airplane/model.glb -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import { ScrollControls } from "@react-three/drei"; 2 | import { Canvas } from "@react-three/fiber"; 3 | import { EffectComposer, Noise } from "@react-three/postprocessing"; 4 | import { useMemo } from "react"; 5 | import { Experience } from "./components/Experience"; 6 | import { Overlay } from "./components/Overlay"; 7 | import { usePlay } from "./contexts/Play"; 8 | 9 | function App() { 10 | const { play, end } = usePlay(); 11 | 12 | const effects = useMemo( 13 | () => ( 14 | 15 | 16 | 17 | ), 18 | [] 19 | ); 20 | 21 | return ( 22 | <> 23 | 24 | 25 | 39 | 40 | 41 | {effects} 42 | 43 | 44 | 45 | ); 46 | } 47 | 48 | export default App; 49 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/Airplane.jsx: -------------------------------------------------------------------------------- 1 | /* 2 | Auto-generated by: https://github.com/pmndrs/gltfjsx 3 | */ 4 | 5 | import { useGLTF } from "@react-three/drei"; 6 | import { useFrame } from "@react-three/fiber"; 7 | import React, { useRef } from "react"; 8 | 9 | const HELIX_SPEED = 6; 10 | 11 | export function Airplane(props) { 12 | const { nodes, materials } = useGLTF("./models/airplane/model.glb"); 13 | 14 | const helix = useRef(); 15 | 16 | useFrame((_state, delta) => { 17 | helix.current.rotation.x += delta * HELIX_SPEED; 18 | }); 19 | 20 | return ( 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | ); 35 | } 36 | 37 | useGLTF.preload("./models/airplane/model.glb"); 38 | -------------------------------------------------------------------------------- /src/components/Background.jsx: -------------------------------------------------------------------------------- 1 | import { Environment, Sphere } from "@react-three/drei"; 2 | import { useFrame } from "@react-three/fiber"; 3 | import { Gradient, LayerMaterial } from "lamina"; 4 | import { useRef } from "react"; 5 | 6 | import * as THREE from "three"; 7 | 8 | export const Background = ({ backgroundColors }) => { 9 | const start = 0.2; 10 | const end = -0.5; 11 | 12 | const gradientRef = useRef(); 13 | const gradientEnvRef = useRef(); 14 | 15 | useFrame(() => { 16 | gradientRef.current.colorA = new THREE.Color( 17 | backgroundColors.current.colorA 18 | ); 19 | gradientRef.current.colorB = new THREE.Color( 20 | backgroundColors.current.colorB 21 | ); 22 | gradientEnvRef.current.colorA = new THREE.Color( 23 | backgroundColors.current.colorA 24 | ); 25 | gradientEnvRef.current.colorB = new THREE.Color( 26 | backgroundColors.current.colorB 27 | ); 28 | }); 29 | 30 | return ( 31 | <> 32 | 33 | 34 | 35 | 36 | 37 | 38 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | ); 50 | }; 51 | -------------------------------------------------------------------------------- /src/components/Cloud.jsx: -------------------------------------------------------------------------------- 1 | /* 2 | Auto-generated by: https://github.com/pmndrs/gltfjsx 3 | */ 4 | 5 | import { useGLTF } from "@react-three/drei"; 6 | import { useFrame } from "@react-three/fiber"; 7 | import React, { useRef } from "react"; 8 | import { fadeOnBeforeCompile } from "../utils/fadeMaterial"; 9 | 10 | export function Cloud({ sceneOpacity, ...props }) { 11 | const { nodes, materials } = useGLTF("./models/cloud/model.gltf"); 12 | 13 | const materialRef = useRef(); 14 | 15 | useFrame(() => { 16 | materialRef.current.opacity = sceneOpacity.current; 17 | }); 18 | 19 | return ( 20 | 21 | 22 | 28 | 29 | 30 | ); 31 | } 32 | 33 | useGLTF.preload("./models/cloud/model.gltf"); 34 | -------------------------------------------------------------------------------- /src/components/Experience.jsx: -------------------------------------------------------------------------------- 1 | import { Float, PerspectiveCamera, useScroll } from "@react-three/drei"; 2 | import { useFrame } from "@react-three/fiber"; 3 | import { gsap } from "gsap"; 4 | import { useEffect, useLayoutEffect, useMemo, useRef } from "react"; 5 | import * as THREE from "three"; 6 | import { Euler, Group, Vector3 } from "three"; 7 | import { usePlay } from "../contexts/Play"; 8 | import { fadeOnBeforeCompile } from "../utils/fadeMaterial"; 9 | import { Airplane } from "./Airplane"; 10 | import { Background } from "./Background"; 11 | import { Cloud } from "./Cloud"; 12 | import { Speed } from "./Speed"; 13 | import { TextSection } from "./TextSection"; 14 | 15 | const LINE_NB_POINTS = 1000; 16 | const CURVE_DISTANCE = 250; 17 | const CURVE_AHEAD_CAMERA = 0.008; 18 | const CURVE_AHEAD_AIRPLANE = 0.02; 19 | const AIRPLANE_MAX_ANGLE = 35; 20 | const FRICTION_DISTANCE = 42; 21 | 22 | export const Experience = () => { 23 | const curvePoints = useMemo( 24 | () => [ 25 | new THREE.Vector3(0, 0, 0), 26 | new THREE.Vector3(0, 0, -CURVE_DISTANCE), 27 | new THREE.Vector3(100, 0, -2 * CURVE_DISTANCE), 28 | new THREE.Vector3(-100, 0, -3 * CURVE_DISTANCE), 29 | new THREE.Vector3(100, 0, -4 * CURVE_DISTANCE), 30 | new THREE.Vector3(0, 0, -5 * CURVE_DISTANCE), 31 | new THREE.Vector3(0, 0, -6 * CURVE_DISTANCE), 32 | new THREE.Vector3(0, 0, -7 * CURVE_DISTANCE), 33 | ], 34 | [] 35 | ); 36 | 37 | const sceneOpacity = useRef(0); 38 | const lineMaterialRef = useRef(); 39 | 40 | const curve = useMemo(() => { 41 | return new THREE.CatmullRomCurve3(curvePoints, false, "catmullrom", 0.5); 42 | }, []); 43 | 44 | const textSections = useMemo(() => { 45 | return [ 46 | { 47 | cameraRailDist: -1, 48 | position: new Vector3( 49 | curvePoints[1].x - 3, 50 | curvePoints[1].y, 51 | curvePoints[1].z 52 | ), 53 | subtitle: `Welcome to Wawatmos, 54 | Have a seat and enjoy the ride!`, 55 | }, 56 | { 57 | cameraRailDist: 1.5, 58 | position: new Vector3( 59 | curvePoints[2].x + 2, 60 | curvePoints[2].y, 61 | curvePoints[2].z 62 | ), 63 | title: "Services", 64 | subtitle: `Do you want a drink? 65 | We have a wide range of beverages!`, 66 | }, 67 | { 68 | cameraRailDist: -1, 69 | position: new Vector3( 70 | curvePoints[3].x - 3, 71 | curvePoints[3].y, 72 | curvePoints[3].z 73 | ), 74 | title: "Fear of flying?", 75 | subtitle: `Our flight attendants will help you have a great journey`, 76 | }, 77 | { 78 | cameraRailDist: 1.5, 79 | position: new Vector3( 80 | curvePoints[4].x + 3.5, 81 | curvePoints[4].y, 82 | curvePoints[4].z - 12 83 | ), 84 | title: "Movies", 85 | subtitle: `We provide a large selection of medias, we highly recommend you Porco Rosso during the flight`, 86 | }, 87 | ]; 88 | }, []); 89 | 90 | const clouds = useMemo( 91 | () => [ 92 | // STARTING 93 | { 94 | position: new Vector3(-3.5, -3.2, -7), 95 | }, 96 | { 97 | position: new Vector3(3.5, -4, -10), 98 | }, 99 | { 100 | scale: new Vector3(4, 4, 4), 101 | position: new Vector3(-18, 0.2, -68), 102 | rotation: new Euler(-Math.PI / 5, Math.PI / 6, 0), 103 | }, 104 | { 105 | scale: new Vector3(2.5, 2.5, 2.5), 106 | position: new Vector3(10, -1.2, -52), 107 | }, 108 | // FIRST POINT 109 | { 110 | scale: new Vector3(4, 4, 4), 111 | position: new Vector3( 112 | curvePoints[1].x + 10, 113 | curvePoints[1].y - 4, 114 | curvePoints[1].z + 64 115 | ), 116 | }, 117 | { 118 | scale: new Vector3(3, 3, 3), 119 | position: new Vector3( 120 | curvePoints[1].x - 20, 121 | curvePoints[1].y + 4, 122 | curvePoints[1].z + 28 123 | ), 124 | rotation: new Euler(0, Math.PI / 7, 0), 125 | }, 126 | { 127 | rotation: new Euler(0, Math.PI / 7, Math.PI / 5), 128 | scale: new Vector3(5, 5, 5), 129 | position: new Vector3( 130 | curvePoints[1].x - 13, 131 | curvePoints[1].y + 4, 132 | curvePoints[1].z - 62 133 | ), 134 | }, 135 | { 136 | rotation: new Euler(Math.PI / 2, Math.PI / 2, Math.PI / 3), 137 | scale: new Vector3(5, 5, 5), 138 | position: new Vector3( 139 | curvePoints[1].x + 54, 140 | curvePoints[1].y + 2, 141 | curvePoints[1].z - 82 142 | ), 143 | }, 144 | { 145 | scale: new Vector3(5, 5, 5), 146 | position: new Vector3( 147 | curvePoints[1].x + 8, 148 | curvePoints[1].y - 14, 149 | curvePoints[1].z - 22 150 | ), 151 | }, 152 | // SECOND POINT 153 | { 154 | scale: new Vector3(3, 3, 3), 155 | position: new Vector3( 156 | curvePoints[2].x + 6, 157 | curvePoints[2].y - 7, 158 | curvePoints[2].z + 50 159 | ), 160 | }, 161 | { 162 | scale: new Vector3(2, 2, 2), 163 | position: new Vector3( 164 | curvePoints[2].x - 2, 165 | curvePoints[2].y + 4, 166 | curvePoints[2].z - 26 167 | ), 168 | }, 169 | { 170 | scale: new Vector3(4, 4, 4), 171 | position: new Vector3( 172 | curvePoints[2].x + 12, 173 | curvePoints[2].y + 1, 174 | curvePoints[2].z - 86 175 | ), 176 | rotation: new Euler(Math.PI / 4, 0, Math.PI / 3), 177 | }, 178 | // THIRD POINT 179 | { 180 | scale: new Vector3(3, 3, 3), 181 | position: new Vector3( 182 | curvePoints[3].x + 3, 183 | curvePoints[3].y - 10, 184 | curvePoints[3].z + 50 185 | ), 186 | }, 187 | { 188 | scale: new Vector3(3, 3, 3), 189 | position: new Vector3( 190 | curvePoints[3].x - 10, 191 | curvePoints[3].y, 192 | curvePoints[3].z + 30 193 | ), 194 | rotation: new Euler(Math.PI / 4, 0, Math.PI / 5), 195 | }, 196 | { 197 | scale: new Vector3(4, 4, 4), 198 | position: new Vector3( 199 | curvePoints[3].x - 20, 200 | curvePoints[3].y - 5, 201 | curvePoints[3].z - 8 202 | ), 203 | rotation: new Euler(Math.PI, 0, Math.PI / 5), 204 | }, 205 | { 206 | scale: new Vector3(5, 5, 5), 207 | position: new Vector3( 208 | curvePoints[3].x + 0, 209 | curvePoints[3].y - 5, 210 | curvePoints[3].z - 98 211 | ), 212 | rotation: new Euler(0, Math.PI / 3, 0), 213 | }, 214 | // FOURTH POINT 215 | { 216 | scale: new Vector3(2, 2, 2), 217 | position: new Vector3( 218 | curvePoints[4].x + 3, 219 | curvePoints[4].y - 10, 220 | curvePoints[4].z + 2 221 | ), 222 | }, 223 | { 224 | scale: new Vector3(3, 3, 3), 225 | position: new Vector3( 226 | curvePoints[4].x + 24, 227 | curvePoints[4].y - 6, 228 | curvePoints[4].z - 42 229 | ), 230 | rotation: new Euler(Math.PI / 4, 0, Math.PI / 5), 231 | }, 232 | { 233 | scale: new Vector3(3, 3, 3), 234 | position: new Vector3( 235 | curvePoints[4].x - 4, 236 | curvePoints[4].y + 9, 237 | curvePoints[4].z - 62 238 | ), 239 | rotation: new Euler(Math.PI / 3, 0, Math.PI / 3), 240 | }, 241 | // FINAL 242 | { 243 | scale: new Vector3(3, 3, 3), 244 | position: new Vector3( 245 | curvePoints[7].x + 12, 246 | curvePoints[7].y - 5, 247 | curvePoints[7].z + 60 248 | ), 249 | rotation: new Euler(-Math.PI / 4, -Math.PI / 6, 0), 250 | }, 251 | { 252 | scale: new Vector3(3, 3, 3), 253 | position: new Vector3( 254 | curvePoints[7].x - 12, 255 | curvePoints[7].y + 5, 256 | curvePoints[7].z + 120 257 | ), 258 | rotation: new Euler(Math.PI / 4, Math.PI / 6, 0), 259 | }, 260 | ], 261 | [] 262 | ); 263 | 264 | const shape = useMemo(() => { 265 | const shape = new THREE.Shape(); 266 | shape.moveTo(0, -0.08); 267 | shape.lineTo(0, 0.08); 268 | 269 | return shape; 270 | }, [curve]); 271 | 272 | const cameraGroup = useRef(); 273 | const cameraRail = useRef(); 274 | const camera = useRef(); 275 | const scroll = useScroll(); 276 | const lastScroll = useRef(0); 277 | 278 | const { play, setHasScroll, end, setEnd } = usePlay(); 279 | 280 | useFrame((_state, delta) => { 281 | if (window.innerWidth > window.innerHeight) { 282 | // LANDSCAPE 283 | camera.current.fov = 30; 284 | camera.current.position.z = 5; 285 | } else { 286 | // PORTRAIT 287 | camera.current.fov = 80; 288 | camera.current.position.z = 2; 289 | } 290 | 291 | if (lastScroll.current <= 0 && scroll.offset > 0) { 292 | setHasScroll(true); 293 | } 294 | 295 | if (play && !end && sceneOpacity.current < 1) { 296 | sceneOpacity.current = THREE.MathUtils.lerp( 297 | sceneOpacity.current, 298 | 1, 299 | delta * 0.1 300 | ); 301 | } 302 | 303 | if (end && sceneOpacity.current > 0) { 304 | sceneOpacity.current = THREE.MathUtils.lerp( 305 | sceneOpacity.current, 306 | 0, 307 | delta 308 | ); 309 | } 310 | 311 | lineMaterialRef.current.opacity = sceneOpacity.current; 312 | 313 | if (end) { 314 | return; 315 | } 316 | 317 | const scrollOffset = Math.max(0, scroll.offset); 318 | 319 | let friction = 1; 320 | let resetCameraRail = true; 321 | // LOOK TO CLOSE TEXT SECTIONS 322 | textSections.forEach((textSection) => { 323 | const distance = textSection.position.distanceTo( 324 | cameraGroup.current.position 325 | ); 326 | 327 | if (distance < FRICTION_DISTANCE) { 328 | friction = Math.max(distance / FRICTION_DISTANCE, 0.1); 329 | const targetCameraRailPosition = new Vector3( 330 | (1 - distance / FRICTION_DISTANCE) * textSection.cameraRailDist, 331 | 0, 332 | 0 333 | ); 334 | cameraRail.current.position.lerp(targetCameraRailPosition, delta); 335 | resetCameraRail = false; 336 | } 337 | }); 338 | if (resetCameraRail) { 339 | const targetCameraRailPosition = new Vector3(0, 0, 0); 340 | cameraRail.current.position.lerp(targetCameraRailPosition, delta); 341 | } 342 | 343 | // CALCULATE LERPED SCROLL OFFSET 344 | let lerpedScrollOffset = THREE.MathUtils.lerp( 345 | lastScroll.current, 346 | scrollOffset, 347 | delta * friction 348 | ); 349 | // PROTECT BELOW 0 AND ABOVE 1 350 | lerpedScrollOffset = Math.min(lerpedScrollOffset, 1); 351 | lerpedScrollOffset = Math.max(lerpedScrollOffset, 0); 352 | 353 | lastScroll.current = lerpedScrollOffset; 354 | tl.current.seek(lerpedScrollOffset * tl.current.duration()); 355 | 356 | const curPoint = curve.getPoint(lerpedScrollOffset); 357 | 358 | // Follow the curve points 359 | cameraGroup.current.position.lerp(curPoint, delta * 24); 360 | 361 | // Make the group look ahead on the curve 362 | 363 | const lookAtPoint = curve.getPoint( 364 | Math.min(lerpedScrollOffset + CURVE_AHEAD_CAMERA, 1) 365 | ); 366 | 367 | const currentLookAt = cameraGroup.current.getWorldDirection( 368 | new THREE.Vector3() 369 | ); 370 | const targetLookAt = new THREE.Vector3() 371 | .subVectors(curPoint, lookAtPoint) 372 | .normalize(); 373 | 374 | const lookAt = currentLookAt.lerp(targetLookAt, delta * 24); 375 | cameraGroup.current.lookAt( 376 | cameraGroup.current.position.clone().add(lookAt) 377 | ); 378 | 379 | // Airplane rotation 380 | 381 | const tangent = curve.getTangent(lerpedScrollOffset + CURVE_AHEAD_AIRPLANE); 382 | 383 | const nonLerpLookAt = new Group(); 384 | nonLerpLookAt.position.copy(curPoint); 385 | nonLerpLookAt.lookAt(nonLerpLookAt.position.clone().add(targetLookAt)); 386 | 387 | tangent.applyAxisAngle( 388 | new THREE.Vector3(0, 1, 0), 389 | -nonLerpLookAt.rotation.y 390 | ); 391 | 392 | let angle = Math.atan2(-tangent.z, tangent.x); 393 | angle = -Math.PI / 2 + angle; 394 | 395 | let angleDegrees = (angle * 180) / Math.PI; 396 | angleDegrees *= 2.4; // stronger angle 397 | 398 | // LIMIT PLANE ANGLE 399 | if (angleDegrees < 0) { 400 | angleDegrees = Math.max(angleDegrees, -AIRPLANE_MAX_ANGLE); 401 | } 402 | if (angleDegrees > 0) { 403 | angleDegrees = Math.min(angleDegrees, AIRPLANE_MAX_ANGLE); 404 | } 405 | 406 | // SET BACK ANGLE 407 | angle = (angleDegrees * Math.PI) / 180; 408 | 409 | const targetAirplaneQuaternion = new THREE.Quaternion().setFromEuler( 410 | new THREE.Euler( 411 | airplane.current.rotation.x, 412 | airplane.current.rotation.y, 413 | angle 414 | ) 415 | ); 416 | airplane.current.quaternion.slerp(targetAirplaneQuaternion, delta * 2); 417 | 418 | if ( 419 | cameraGroup.current.position.z < 420 | curvePoints[curvePoints.length - 1].z + 100 421 | ) { 422 | setEnd(true); 423 | planeOutTl.current.play(); 424 | } 425 | }); 426 | 427 | const airplane = useRef(); 428 | 429 | const tl = useRef(); 430 | const backgroundColors = useRef({ 431 | colorA: "#3535cc", 432 | colorB: "#abaadd", 433 | }); 434 | 435 | const planeInTl = useRef(); 436 | const planeOutTl = useRef(); 437 | 438 | useLayoutEffect(() => { 439 | tl.current = gsap.timeline(); 440 | 441 | tl.current.to(backgroundColors.current, { 442 | duration: 1, 443 | colorA: "#6f35cc", 444 | colorB: "#ffad30", 445 | }); 446 | tl.current.to(backgroundColors.current, { 447 | duration: 1, 448 | colorA: "#424242", 449 | colorB: "#ffcc00", 450 | }); 451 | tl.current.to(backgroundColors.current, { 452 | duration: 1, 453 | colorA: "#81318b", 454 | colorB: "#55ab8f", 455 | }); 456 | 457 | tl.current.pause(); 458 | 459 | planeInTl.current = gsap.timeline(); 460 | planeInTl.current.pause(); 461 | planeInTl.current.from(airplane.current.position, { 462 | duration: 3, 463 | z: 5, 464 | y: -2, 465 | }); 466 | 467 | planeOutTl.current = gsap.timeline(); 468 | planeOutTl.current.pause(); 469 | 470 | planeOutTl.current.to( 471 | airplane.current.position, 472 | { 473 | duration: 10, 474 | z: -250, 475 | y: 10, 476 | }, 477 | 0 478 | ); 479 | planeOutTl.current.to( 480 | cameraRail.current.position, 481 | { 482 | duration: 8, 483 | y: 12, 484 | }, 485 | 0 486 | ); 487 | planeOutTl.current.to(airplane.current.position, { 488 | duration: 1, 489 | z: -1000, 490 | }); 491 | }, []); 492 | 493 | useEffect(() => { 494 | if (play) { 495 | planeInTl.current.play(); 496 | } 497 | }, [play]); 498 | 499 | return useMemo( 500 | () => ( 501 | <> 502 | 503 | 504 | 505 | 506 | 507 | 513 | 514 | 515 | 516 | 521 | 522 | 523 | 524 | {/* TEXT */} 525 | {textSections.map((textSection, index) => ( 526 | 527 | ))} 528 | 529 | {/* LINE */} 530 | 531 | 532 | 542 | 549 | 550 | 551 | 552 | {/* CLOUDS */} 553 | {clouds.map((cloud, index) => ( 554 | 555 | ))} 556 | 557 | ), 558 | [] 559 | ); 560 | }; 561 | -------------------------------------------------------------------------------- /src/components/Overlay.jsx: -------------------------------------------------------------------------------- 1 | import { useProgress } from "@react-three/drei"; 2 | import { usePlay } from "../contexts/Play"; 3 | 4 | export const Overlay = () => { 5 | const { progress } = useProgress(); 6 | const { play, end, setPlay, hasScroll } = usePlay(); 7 | return ( 8 |
12 |
15 | {progress === 100 && ( 16 |
17 |

18 | WAWATMOS 19 |
20 |
21 |
22 |

23 |

Scroll to begin the journey

24 | 32 |
33 | )} 34 |
35 |

Wish you had a great flight with us...

36 |
37 |
38 | ); 39 | }; 40 | -------------------------------------------------------------------------------- /src/components/Speed.jsx: -------------------------------------------------------------------------------- 1 | import { Instance, Instances, useScroll } from "@react-three/drei"; 2 | import { useFrame } from "@react-three/fiber"; 3 | import { useRef } from "react"; 4 | import { AdditiveBlending, DoubleSide, MathUtils } from "three"; 5 | 6 | const INSTANCES = 240; 7 | const MAX_OPACITY = 0.1; 8 | 9 | const SpeedShape = () => { 10 | const ref = useRef(); 11 | let randomPosition = { 12 | x: 0, 13 | y: 0, 14 | z: 0, 15 | }; 16 | let randomSpeed = 0; 17 | 18 | const resetRandom = () => { 19 | randomPosition = { 20 | x: MathUtils.randFloatSpread(8), 21 | y: MathUtils.randFloatSpread(5), 22 | z: MathUtils.randFloatSpread(8), 23 | }; 24 | randomSpeed = MathUtils.randFloat(16, 20); 25 | }; 26 | resetRandom(); 27 | 28 | useFrame((_state, delta) => { 29 | if (ref.current) { 30 | ref.current.position.z += randomSpeed * delta; 31 | if (ref.current.position.z > 5) { 32 | resetRandom(); 33 | ref.current.position.z = randomPosition.z; 34 | } 35 | } 36 | }); 37 | 38 | return ( 39 | 45 | ); 46 | }; 47 | 48 | export const Speed = () => { 49 | const speedMaterial = useRef(); 50 | const scroll = useScroll(); 51 | const lastScroll = useRef(0); 52 | 53 | useFrame((_state, delta) => { 54 | if (scroll.offset - lastScroll.current > 0.0005) { 55 | speedMaterial.current.opacity = MAX_OPACITY; 56 | } 57 | lastScroll.current = scroll.offset; 58 | if (speedMaterial.current.opacity > 0) { 59 | speedMaterial.current.opacity -= delta * 0.2; 60 | } 61 | }); 62 | 63 | return ( 64 | 65 | 66 | 67 | 74 | {Array(INSTANCES) 75 | .fill() 76 | .map((_, key) => ( 77 | 78 | ))} 79 | 80 | 81 | ); 82 | }; 83 | -------------------------------------------------------------------------------- /src/components/TextSection.jsx: -------------------------------------------------------------------------------- 1 | import { Text } from "@react-three/drei"; 2 | import { fadeOnBeforeCompileFlat } from "../utils/fadeMaterial"; 3 | 4 | export const TextSection = ({ title, subtitle, ...props }) => { 5 | return ( 6 | 7 | {!!title && ( 8 | 17 | {title} 18 | 22 | 23 | )} 24 | 25 | 33 | {subtitle} 34 | 38 | 39 | 40 | ); 41 | }; 42 | -------------------------------------------------------------------------------- /src/contexts/Play.jsx: -------------------------------------------------------------------------------- 1 | import { createContext, useContext, useState } from "react"; 2 | 3 | const Context = createContext(); 4 | 5 | export const PlayProvider = ({ children }) => { 6 | const [play, setPlay] = useState(false); 7 | const [end, setEnd] = useState(false); 8 | const [hasScroll, setHasScroll] = useState(false); 9 | 10 | return ( 11 | 21 | {children} 22 | 23 | ); 24 | }; 25 | 26 | export const usePlay = () => { 27 | const context = useContext(Context); 28 | 29 | if (context === undefined) { 30 | throw new Error("usePlay must be used within a PlayProvider"); 31 | } 32 | 33 | return context; 34 | }; 35 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter&display=swap"); 2 | 3 | #root { 4 | width: 100vw; 5 | height: 100vh; 6 | } 7 | 8 | body { 9 | margin: 0; 10 | } 11 | 12 | ::-webkit-scrollbar { 13 | width: 2px; 14 | } 15 | 16 | /* TRACK */ 17 | ::-webkit-scrollbar-track { 18 | background: rgba(255, 255, 255, 0.23); 19 | } 20 | 21 | /* HANDLE */ 22 | ::-webkit-scrollbar-thumb { 23 | background: white; 24 | height: 10%; 25 | } 26 | 27 | .overlay { 28 | position: absolute; 29 | top: 0; 30 | left: 0; 31 | bottom: 0; 32 | right: 0; 33 | } 34 | 35 | .overlay--disable { 36 | pointer-events: none; 37 | } 38 | 39 | .loader { 40 | position: absolute; 41 | top: 0; 42 | left: 0; 43 | bottom: 0; 44 | right: 0; 45 | background: white; 46 | transition: opacity 2s ease-in-out; 47 | } 48 | 49 | .loader--disappear { 50 | opacity: 0; 51 | } 52 | 53 | .intro { 54 | display: flex; 55 | justify-content: center; 56 | align-items: center; 57 | flex-direction: column; 58 | height: 100%; 59 | } 60 | 61 | .logo { 62 | font-family: "DM Serif Display", serif; 63 | color: white; 64 | font-size: 8rem; 65 | letter-spacing: 0.5rem; 66 | padding: 0; 67 | margin: 0; 68 | transform: translateY(-50%); 69 | position: absolute; 70 | top: 50vh; 71 | animation: fadeUp 2.4s ease-in-out; 72 | transition: all 2s ease-in-out; 73 | } 74 | 75 | .intro--disappear .logo { 76 | top: 42px; 77 | transform: scale(0.25); 78 | transform-origin: center top; 79 | } 80 | 81 | .spinner { 82 | position: absolute; 83 | right: 0px; 84 | top: 0px; 85 | margin-right: -42px; 86 | margin-top: -42px; 87 | animation: fadeIn 2.4s ease-in-out 1.2s forwards; 88 | opacity: 0; 89 | } 90 | 91 | .spinner__image { 92 | width: 164px; 93 | height: 164px; 94 | background-size: contain; 95 | background-image: url("/images/wawa.svg"); 96 | animation: rotate 10s linear infinite; 97 | } 98 | 99 | .intro--disappear .spinner { 100 | opacity: 1; 101 | animation: fadeOut 1s ease-in-out forwards; 102 | } 103 | 104 | .intro__scroll { 105 | opacity: 0; 106 | color: white; 107 | font-family: "Inter", sans-serif; 108 | font-size: 1rem; 109 | letter-spacing: 0.05rem; 110 | position: absolute; 111 | top: 24vh; 112 | } 113 | 114 | .intro--disappear .intro__scroll { 115 | animation: fadeIn 1s ease-in-out 1.5s forwards; 116 | } 117 | 118 | .overlay--scrolled .intro__scroll { 119 | animation: fadeOut 1s ease-in-out forwards; 120 | } 121 | 122 | .explore { 123 | padding: 1rem 2rem; 124 | border: none; 125 | font-family: "DM Serif Display", serif; 126 | font-size: 1.25rem; 127 | letter-spacing: 0.25rem; 128 | color: #3535cc; 129 | border-radius: 32px; 130 | cursor: pointer; 131 | display: inline-block; 132 | margin-top: 320px; 133 | display: inline-block; 134 | position: relative; 135 | z-index: 1; 136 | overflow: hidden; 137 | transition: 0.42s ease-in-out; 138 | animation: fadeIn 2.4s ease-in-out 2s forwards; 139 | opacity: 0; 140 | } 141 | 142 | .explore:hover { 143 | color: white; 144 | } 145 | 146 | .explore:hover:before { 147 | width: 200%; 148 | height: 300%; 149 | border-radius: 100%; 150 | } 151 | 152 | .explore:before { 153 | content: ""; 154 | background: #3535cc; 155 | position: absolute; 156 | width: 0%; 157 | bottom: 0; 158 | left: 50%; 159 | height: 0%; 160 | transition: 0.42s ease-in-out; 161 | z-index: -1; 162 | transform: translateX(-50%) translateY(50%); 163 | } 164 | 165 | .intro--disappear .explore { 166 | animation: fadeOut 1s ease-in-out forwards; 167 | } 168 | 169 | .outro { 170 | position: absolute; 171 | top: 0; 172 | left: 0; 173 | width: 100%; 174 | height: 100%; 175 | display: flex; 176 | align-items: center; 177 | justify-content: center; 178 | opacity: 0; 179 | transition: opacity 4s ease-in-out; 180 | } 181 | 182 | .outro--appear { 183 | opacity: 1; 184 | } 185 | 186 | .outro__text { 187 | font-family: "Inter", sans-serif; 188 | font-size: 1.5rem; 189 | color: white; 190 | } 191 | 192 | /* RESPONSIVE */ 193 | 194 | @media screen and (max-width: 768px) { 195 | .logo { 196 | font-size: 3rem; 197 | letter-spacing: 0.25rem; 198 | } 199 | 200 | .intro--disappear .logo { 201 | top: 24px; 202 | transform: scale(0.5); 203 | transform-origin: center top; 204 | } 205 | 206 | .spinner__image { 207 | width: 82px; 208 | height: 82px; 209 | } 210 | 211 | .outro__text { 212 | font-size: 1rem; 213 | } 214 | } 215 | 216 | /* ANIMATIONS */ 217 | 218 | @keyframes fadeUp { 219 | 0% { 220 | opacity: 0; 221 | transform: translateY(100px); 222 | filter: blur(9px); 223 | } 224 | 225 | 100% { 226 | opacity: 1; 227 | filter: none; 228 | } 229 | } 230 | 231 | @keyframes fadeIn { 232 | 0% { 233 | opacity: 0; 234 | } 235 | 236 | 100% { 237 | opacity: 1; 238 | } 239 | } 240 | 241 | @keyframes fadeOut { 242 | 0% { 243 | opacity: 1; 244 | } 245 | 246 | 100% { 247 | opacity: 0; 248 | } 249 | } 250 | 251 | @keyframes rotate { 252 | 100% { 253 | transform: rotate(360deg); 254 | } 255 | } 256 | -------------------------------------------------------------------------------- /src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App"; 4 | import { PlayProvider } from "./contexts/Play"; 5 | import "./index.css"; 6 | 7 | ReactDOM.createRoot(document.getElementById("root")).render( 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | -------------------------------------------------------------------------------- /src/utils/fadeMaterial.js: -------------------------------------------------------------------------------- 1 | const replaceFragmentShader = (fragmentShader) => 2 | fragmentShader 3 | .replace( 4 | `#include `, 5 | `#include 6 | float exponentialEasing(float x, float a) { 7 | 8 | float epsilon = 0.00001; 9 | float min_param_a = 0.0 + epsilon; 10 | float max_param_a = 1.0 - epsilon; 11 | a = max(min_param_a, min(max_param_a, a)); 12 | 13 | if (a < 0.5){ 14 | // emphasis 15 | a = 2.0*(a); 16 | float y = pow(x, a); 17 | return y; 18 | } else { 19 | // de-emphasis 20 | a = 2.0*(a-0.5); 21 | float y = pow(x, 1.0/(1.0-a)); 22 | return y; 23 | } 24 | }` 25 | ) 26 | .replace( 27 | `vec4 diffuseColor = vec4( diffuse, opacity );`, 28 | ` 29 | float fadeDist = 350.0; 30 | float dist = length(vViewPosition); 31 | 32 | float fadeOpacity = smoothstep(fadeDist, 0.0, dist); 33 | fadeOpacity = exponentialEasing(fadeOpacity, 0.93); 34 | vec4 diffuseColor = vec4( diffuse, fadeOpacity * opacity );` 35 | ); 36 | 37 | export const fadeOnBeforeCompile = (shader) => { 38 | shader.fragmentShader = replaceFragmentShader(shader.fragmentShader); 39 | }; 40 | 41 | export const fadeOnBeforeCompileFlat = (shader) => { 42 | shader.fragmentShader = replaceFragmentShader(shader.fragmentShader).replace( 43 | `#include `, 44 | `gl_FragColor = diffuseColor;` 45 | ); 46 | }; 47 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.2.0": 6 | version "2.2.0" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.18.6": 14 | version "7.18.6" 15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.20.5": 21 | version "7.21.0" 22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" 23 | integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== 24 | 25 | "@babel/core@^7.20.12": 26 | version "7.21.0" 27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" 28 | integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== 29 | dependencies: 30 | "@ampproject/remapping" "^2.2.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.21.0" 33 | "@babel/helper-compilation-targets" "^7.20.7" 34 | "@babel/helper-module-transforms" "^7.21.0" 35 | "@babel/helpers" "^7.21.0" 36 | "@babel/parser" "^7.21.0" 37 | "@babel/template" "^7.20.7" 38 | "@babel/traverse" "^7.21.0" 39 | "@babel/types" "^7.21.0" 40 | convert-source-map "^1.7.0" 41 | debug "^4.1.0" 42 | gensync "^1.0.0-beta.2" 43 | json5 "^2.2.2" 44 | semver "^6.3.0" 45 | 46 | "@babel/generator@^7.21.0", "@babel/generator@^7.21.1": 47 | version "7.21.1" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" 49 | integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== 50 | dependencies: 51 | "@babel/types" "^7.21.0" 52 | "@jridgewell/gen-mapping" "^0.3.2" 53 | "@jridgewell/trace-mapping" "^0.3.17" 54 | jsesc "^2.5.1" 55 | 56 | "@babel/helper-compilation-targets@^7.20.7": 57 | version "7.20.7" 58 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" 59 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== 60 | dependencies: 61 | "@babel/compat-data" "^7.20.5" 62 | "@babel/helper-validator-option" "^7.18.6" 63 | browserslist "^4.21.3" 64 | lru-cache "^5.1.1" 65 | semver "^6.3.0" 66 | 67 | "@babel/helper-environment-visitor@^7.18.9": 68 | version "7.18.9" 69 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 70 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 71 | 72 | "@babel/helper-function-name@^7.21.0": 73 | version "7.21.0" 74 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" 75 | integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== 76 | dependencies: 77 | "@babel/template" "^7.20.7" 78 | "@babel/types" "^7.21.0" 79 | 80 | "@babel/helper-hoist-variables@^7.18.6": 81 | version "7.18.6" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 83 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 84 | dependencies: 85 | "@babel/types" "^7.18.6" 86 | 87 | "@babel/helper-module-imports@^7.18.6": 88 | version "7.18.6" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 90 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 91 | dependencies: 92 | "@babel/types" "^7.18.6" 93 | 94 | "@babel/helper-module-transforms@^7.21.0": 95 | version "7.21.2" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" 97 | integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== 98 | dependencies: 99 | "@babel/helper-environment-visitor" "^7.18.9" 100 | "@babel/helper-module-imports" "^7.18.6" 101 | "@babel/helper-simple-access" "^7.20.2" 102 | "@babel/helper-split-export-declaration" "^7.18.6" 103 | "@babel/helper-validator-identifier" "^7.19.1" 104 | "@babel/template" "^7.20.7" 105 | "@babel/traverse" "^7.21.2" 106 | "@babel/types" "^7.21.2" 107 | 108 | "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2": 109 | version "7.20.2" 110 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" 111 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== 112 | 113 | "@babel/helper-simple-access@^7.20.2": 114 | version "7.20.2" 115 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" 116 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== 117 | dependencies: 118 | "@babel/types" "^7.20.2" 119 | 120 | "@babel/helper-split-export-declaration@^7.18.6": 121 | version "7.18.6" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 123 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 124 | dependencies: 125 | "@babel/types" "^7.18.6" 126 | 127 | "@babel/helper-string-parser@^7.19.4": 128 | version "7.19.4" 129 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" 130 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== 131 | 132 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 133 | version "7.19.1" 134 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 135 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 136 | 137 | "@babel/helper-validator-option@^7.18.6": 138 | version "7.21.0" 139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" 140 | integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== 141 | 142 | "@babel/helpers@^7.21.0": 143 | version "7.21.0" 144 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" 145 | integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== 146 | dependencies: 147 | "@babel/template" "^7.20.7" 148 | "@babel/traverse" "^7.21.0" 149 | "@babel/types" "^7.21.0" 150 | 151 | "@babel/highlight@^7.18.6": 152 | version "7.18.6" 153 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 154 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 155 | dependencies: 156 | "@babel/helper-validator-identifier" "^7.18.6" 157 | chalk "^2.0.0" 158 | js-tokens "^4.0.0" 159 | 160 | "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": 161 | version "7.21.2" 162 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" 163 | integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== 164 | 165 | "@babel/plugin-transform-react-jsx-self@^7.18.6": 166 | version "7.21.0" 167 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz#ec98d4a9baafc5a1eb398da4cf94afbb40254a54" 168 | integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA== 169 | dependencies: 170 | "@babel/helper-plugin-utils" "^7.20.2" 171 | 172 | "@babel/plugin-transform-react-jsx-source@^7.19.6": 173 | version "7.19.6" 174 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" 175 | integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== 176 | dependencies: 177 | "@babel/helper-plugin-utils" "^7.19.0" 178 | 179 | "@babel/runtime@^7.11.2", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8": 180 | version "7.21.0" 181 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" 182 | integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== 183 | dependencies: 184 | regenerator-runtime "^0.13.11" 185 | 186 | "@babel/template@^7.20.7": 187 | version "7.20.7" 188 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" 189 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== 190 | dependencies: 191 | "@babel/code-frame" "^7.18.6" 192 | "@babel/parser" "^7.20.7" 193 | "@babel/types" "^7.20.7" 194 | 195 | "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2": 196 | version "7.21.2" 197 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" 198 | integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== 199 | dependencies: 200 | "@babel/code-frame" "^7.18.6" 201 | "@babel/generator" "^7.21.1" 202 | "@babel/helper-environment-visitor" "^7.18.9" 203 | "@babel/helper-function-name" "^7.21.0" 204 | "@babel/helper-hoist-variables" "^7.18.6" 205 | "@babel/helper-split-export-declaration" "^7.18.6" 206 | "@babel/parser" "^7.21.2" 207 | "@babel/types" "^7.21.2" 208 | debug "^4.1.0" 209 | globals "^11.1.0" 210 | 211 | "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2": 212 | version "7.21.2" 213 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" 214 | integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== 215 | dependencies: 216 | "@babel/helper-string-parser" "^7.19.4" 217 | "@babel/helper-validator-identifier" "^7.19.1" 218 | to-fast-properties "^2.0.0" 219 | 220 | "@chevrotain/cst-dts-gen@10.4.2": 221 | version "10.4.2" 222 | resolved "https://registry.yarnpkg.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.4.2.tgz#a3426dba2c48cf6c90e49a0676aea750e8f43e88" 223 | integrity sha512-0+4bNjlndNWMoVLH/+y4uHnf6GrTipsC+YTppJxelVJo+xeRVQ0s2PpkdDCVTsu7efyj+8r1gFiwVXsp6JZ0iQ== 224 | dependencies: 225 | "@chevrotain/gast" "10.4.2" 226 | "@chevrotain/types" "10.4.2" 227 | lodash "4.17.21" 228 | 229 | "@chevrotain/gast@10.4.2": 230 | version "10.4.2" 231 | resolved "https://registry.yarnpkg.com/@chevrotain/gast/-/gast-10.4.2.tgz#236dc48e54cba16260c03bece25d5a3b6e2f5dab" 232 | integrity sha512-4ZAn8/mjkmYonilSJ60gGj1tAF0cVWYUMlIGA0e4ATAc3a648aCnvpBw7zlPHDQjFp50XC13iyWEgWAKiRKTOA== 233 | dependencies: 234 | "@chevrotain/types" "10.4.2" 235 | lodash "4.17.21" 236 | 237 | "@chevrotain/types@10.4.2": 238 | version "10.4.2" 239 | resolved "https://registry.yarnpkg.com/@chevrotain/types/-/types-10.4.2.tgz#18be6b7a3226b121fccec08c2ba8433219a6813c" 240 | integrity sha512-QzSCjg6G4MvIoLeIgOiMR0IgzkGEQqrNJJIr3T5ETRa7l4Av4AMIiEctV99mvDr57iXwwk0/kr3RJxiU36Nevw== 241 | 242 | "@chevrotain/utils@10.4.2": 243 | version "10.4.2" 244 | resolved "https://registry.yarnpkg.com/@chevrotain/utils/-/utils-10.4.2.tgz#87735732184cc5a2f8aad2f3454082294ef3c924" 245 | integrity sha512-V34dacxWLwKcvcy32dx96ADJVdB7kOJLm7LyBkBQw5u5HC9WdEFw2G17zml+U3ivavGTrGPJHl8o9/UJm0PlUw== 246 | 247 | "@esbuild/android-arm64@0.16.17": 248 | version "0.16.17" 249 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" 250 | integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== 251 | 252 | "@esbuild/android-arm@0.16.17": 253 | version "0.16.17" 254 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" 255 | integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== 256 | 257 | "@esbuild/android-x64@0.16.17": 258 | version "0.16.17" 259 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" 260 | integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== 261 | 262 | "@esbuild/darwin-arm64@0.16.17": 263 | version "0.16.17" 264 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" 265 | integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== 266 | 267 | "@esbuild/darwin-x64@0.16.17": 268 | version "0.16.17" 269 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" 270 | integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== 271 | 272 | "@esbuild/freebsd-arm64@0.16.17": 273 | version "0.16.17" 274 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" 275 | integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== 276 | 277 | "@esbuild/freebsd-x64@0.16.17": 278 | version "0.16.17" 279 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" 280 | integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== 281 | 282 | "@esbuild/linux-arm64@0.16.17": 283 | version "0.16.17" 284 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" 285 | integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== 286 | 287 | "@esbuild/linux-arm@0.16.17": 288 | version "0.16.17" 289 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" 290 | integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== 291 | 292 | "@esbuild/linux-ia32@0.16.17": 293 | version "0.16.17" 294 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" 295 | integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== 296 | 297 | "@esbuild/linux-loong64@0.16.17": 298 | version "0.16.17" 299 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" 300 | integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== 301 | 302 | "@esbuild/linux-mips64el@0.16.17": 303 | version "0.16.17" 304 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" 305 | integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== 306 | 307 | "@esbuild/linux-ppc64@0.16.17": 308 | version "0.16.17" 309 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" 310 | integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== 311 | 312 | "@esbuild/linux-riscv64@0.16.17": 313 | version "0.16.17" 314 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" 315 | integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== 316 | 317 | "@esbuild/linux-s390x@0.16.17": 318 | version "0.16.17" 319 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" 320 | integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== 321 | 322 | "@esbuild/linux-x64@0.16.17": 323 | version "0.16.17" 324 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" 325 | integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== 326 | 327 | "@esbuild/netbsd-x64@0.16.17": 328 | version "0.16.17" 329 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" 330 | integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== 331 | 332 | "@esbuild/openbsd-x64@0.16.17": 333 | version "0.16.17" 334 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" 335 | integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== 336 | 337 | "@esbuild/sunos-x64@0.16.17": 338 | version "0.16.17" 339 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" 340 | integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== 341 | 342 | "@esbuild/win32-arm64@0.16.17": 343 | version "0.16.17" 344 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" 345 | integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== 346 | 347 | "@esbuild/win32-ia32@0.16.17": 348 | version "0.16.17" 349 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" 350 | integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== 351 | 352 | "@esbuild/win32-x64@0.16.17": 353 | version "0.16.17" 354 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" 355 | integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== 356 | 357 | "@jridgewell/gen-mapping@^0.1.0": 358 | version "0.1.1" 359 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 360 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 361 | dependencies: 362 | "@jridgewell/set-array" "^1.0.0" 363 | "@jridgewell/sourcemap-codec" "^1.4.10" 364 | 365 | "@jridgewell/gen-mapping@^0.3.2": 366 | version "0.3.2" 367 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 368 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 369 | dependencies: 370 | "@jridgewell/set-array" "^1.0.1" 371 | "@jridgewell/sourcemap-codec" "^1.4.10" 372 | "@jridgewell/trace-mapping" "^0.3.9" 373 | 374 | "@jridgewell/resolve-uri@3.1.0": 375 | version "3.1.0" 376 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 377 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 378 | 379 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 380 | version "1.1.2" 381 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 382 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 383 | 384 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": 385 | version "1.4.14" 386 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 387 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 388 | 389 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": 390 | version "0.3.17" 391 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 392 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 393 | dependencies: 394 | "@jridgewell/resolve-uri" "3.1.0" 395 | "@jridgewell/sourcemap-codec" "1.4.14" 396 | 397 | "@radix-ui/popper@0.1.0": 398 | version "0.1.0" 399 | resolved "https://registry.yarnpkg.com/@radix-ui/popper/-/popper-0.1.0.tgz#c387a38f31b7799e1ea0d2bb1ca0c91c2931b063" 400 | integrity sha512-uzYeElL3w7SeNMuQpXiFlBhTT+JyaNMCwDfjKkrzugEcYrf5n52PHqncNdQPUtR42hJh8V9FsqyEDbDxkeNjJQ== 401 | dependencies: 402 | "@babel/runtime" "^7.13.10" 403 | csstype "^3.0.4" 404 | 405 | "@radix-ui/primitive@0.1.0": 406 | version "0.1.0" 407 | resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-0.1.0.tgz#6206b97d379994f0d1929809db035733b337e543" 408 | integrity sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA== 409 | dependencies: 410 | "@babel/runtime" "^7.13.10" 411 | 412 | "@radix-ui/react-arrow@0.1.3": 413 | version "0.1.3" 414 | resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-0.1.3.tgz#17f86eab216c48aff17b13b811569a9bbabaa44d" 415 | integrity sha512-9x1gRYdlUD5OUwY7L+M+4FY/YltDSsrNSj8QXGPbxZxL5ghWXB/4lhyIGccCwk/e8ggfmQYv9SRNmn3LavPo3A== 416 | dependencies: 417 | "@babel/runtime" "^7.13.10" 418 | "@radix-ui/react-primitive" "0.1.3" 419 | 420 | "@radix-ui/react-compose-refs@0.1.0": 421 | version "0.1.0" 422 | resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz#cff6e780a0f73778b976acff2c2a5b6551caab95" 423 | integrity sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg== 424 | dependencies: 425 | "@babel/runtime" "^7.13.10" 426 | 427 | "@radix-ui/react-context@0.1.1": 428 | version "0.1.1" 429 | resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-0.1.1.tgz#06996829ea124d9a1bc1dbe3e51f33588fab0875" 430 | integrity sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg== 431 | dependencies: 432 | "@babel/runtime" "^7.13.10" 433 | 434 | "@radix-ui/react-id@0.1.4": 435 | version "0.1.4" 436 | resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-0.1.4.tgz#4cd6126e6ac8a43ebe6d52948a068b797cc9ad71" 437 | integrity sha512-/hq5m/D0ZfJWOS7TLF+G0l08KDRs87LBE46JkAvgKkg1fW4jkucx9At9D9vauIPSbdNmww5kXEp566hMlA8eXA== 438 | dependencies: 439 | "@babel/runtime" "^7.13.10" 440 | "@radix-ui/react-use-layout-effect" "0.1.0" 441 | 442 | "@radix-ui/react-popper@0.1.3": 443 | version "0.1.3" 444 | resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-0.1.3.tgz#a93bdd72845566007e5f3868caddd62318bb781e" 445 | integrity sha512-2OV2YaJv7iTZexJY3HJ7B6Fs1A/3JXd3fRGU4JY0guACfGMD1C/jSgds505MKQOTiHE/quI6j3/q8yfzFjJR9g== 446 | dependencies: 447 | "@babel/runtime" "^7.13.10" 448 | "@radix-ui/popper" "0.1.0" 449 | "@radix-ui/react-arrow" "0.1.3" 450 | "@radix-ui/react-compose-refs" "0.1.0" 451 | "@radix-ui/react-context" "0.1.1" 452 | "@radix-ui/react-primitive" "0.1.3" 453 | "@radix-ui/react-use-rect" "0.1.1" 454 | "@radix-ui/react-use-size" "0.1.0" 455 | "@radix-ui/rect" "0.1.1" 456 | 457 | "@radix-ui/react-portal@0.1.3": 458 | version "0.1.3" 459 | resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-0.1.3.tgz#56826e789b3d4e37983f6d23666e3f1b1b9ee358" 460 | integrity sha512-DrV+sPYLs0HhmX5/b7yRT6nLM9Nl6FtQe2KUG+46kiCOKQ+0XzNMO5hmeQtyq0mRf/qlC02rFu6OMsWpIqVsJg== 461 | dependencies: 462 | "@babel/runtime" "^7.13.10" 463 | "@radix-ui/react-primitive" "0.1.3" 464 | "@radix-ui/react-use-layout-effect" "0.1.0" 465 | 466 | "@radix-ui/react-portal@^0.1.3": 467 | version "0.1.4" 468 | resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-0.1.4.tgz#17bdce3d7f1a9a0b35cb5e935ab8bc562441a7d2" 469 | integrity sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw== 470 | dependencies: 471 | "@babel/runtime" "^7.13.10" 472 | "@radix-ui/react-primitive" "0.1.4" 473 | "@radix-ui/react-use-layout-effect" "0.1.0" 474 | 475 | "@radix-ui/react-presence@0.1.1": 476 | version "0.1.1" 477 | resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-0.1.1.tgz#2088dec6f4f8042f83dd2d6bf9e8ef09dadbbc15" 478 | integrity sha512-LsL+NcWDpFUAYCmXeH02o4pgqcSLpwxP84UIjCtpIKrsPe2vLuhcp79KC/jZJeXz+of2lUpMAxpM+eCpxFZtlg== 479 | dependencies: 480 | "@babel/runtime" "^7.13.10" 481 | "@radix-ui/react-compose-refs" "0.1.0" 482 | "@radix-ui/react-use-layout-effect" "0.1.0" 483 | 484 | "@radix-ui/react-primitive@0.1.3": 485 | version "0.1.3" 486 | resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-0.1.3.tgz#585c35ef2ec06bab0ea9e0fc5c916e556661b881" 487 | integrity sha512-fcyADaaAx2jdqEDLsTs6aX50S3L1c9K9CC6XMpJpuXFJCU4n9PGTFDZRtY2gAoXXoRCPIBsklCopSmGb6SsDjQ== 488 | dependencies: 489 | "@babel/runtime" "^7.13.10" 490 | "@radix-ui/react-slot" "0.1.2" 491 | 492 | "@radix-ui/react-primitive@0.1.4": 493 | version "0.1.4" 494 | resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz#6c233cf08b0cb87fecd107e9efecb3f21861edc1" 495 | integrity sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA== 496 | dependencies: 497 | "@babel/runtime" "^7.13.10" 498 | "@radix-ui/react-slot" "0.1.2" 499 | 500 | "@radix-ui/react-slot@0.1.2": 501 | version "0.1.2" 502 | resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-0.1.2.tgz#e6f7ad9caa8ce81cc8d532c854c56f9b8b6307c8" 503 | integrity sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q== 504 | dependencies: 505 | "@babel/runtime" "^7.13.10" 506 | "@radix-ui/react-compose-refs" "0.1.0" 507 | 508 | "@radix-ui/react-tooltip@0.1.6": 509 | version "0.1.6" 510 | resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-0.1.6.tgz#46a3e385e004aaebd16ecaa1da7d1af70ba3bb45" 511 | integrity sha512-0uaRpRmTCQo5yMUkDpv4LEDnaQDoeLXcNNhZonCZdbZBQ7ntvjURIWIigq1/pXZp0UX7oPpFzsXD9jUp8JT0WA== 512 | dependencies: 513 | "@babel/runtime" "^7.13.10" 514 | "@radix-ui/primitive" "0.1.0" 515 | "@radix-ui/react-compose-refs" "0.1.0" 516 | "@radix-ui/react-context" "0.1.1" 517 | "@radix-ui/react-id" "0.1.4" 518 | "@radix-ui/react-popper" "0.1.3" 519 | "@radix-ui/react-portal" "0.1.3" 520 | "@radix-ui/react-presence" "0.1.1" 521 | "@radix-ui/react-primitive" "0.1.3" 522 | "@radix-ui/react-slot" "0.1.2" 523 | "@radix-ui/react-use-controllable-state" "0.1.0" 524 | "@radix-ui/react-use-escape-keydown" "0.1.0" 525 | "@radix-ui/react-use-previous" "0.1.0" 526 | "@radix-ui/react-use-rect" "0.1.1" 527 | "@radix-ui/react-visually-hidden" "0.1.3" 528 | 529 | "@radix-ui/react-use-callback-ref@0.1.0": 530 | version "0.1.0" 531 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz#934b6e123330f5b3a6b116460e6662cbc663493f" 532 | integrity sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw== 533 | dependencies: 534 | "@babel/runtime" "^7.13.10" 535 | 536 | "@radix-ui/react-use-controllable-state@0.1.0": 537 | version "0.1.0" 538 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz#4fced164acfc69a4e34fb9d193afdab973a55de1" 539 | integrity sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg== 540 | dependencies: 541 | "@babel/runtime" "^7.13.10" 542 | "@radix-ui/react-use-callback-ref" "0.1.0" 543 | 544 | "@radix-ui/react-use-escape-keydown@0.1.0": 545 | version "0.1.0" 546 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz#dc80cb3753e9d1bd992adbad9a149fb6ea941874" 547 | integrity sha512-tDLZbTGFmvXaazUXXv8kYbiCcbAE8yKgng9s95d8fCO+Eundv0Jngbn/hKPhDDs4jj9ChwRX5cDDnlaN+ugYYQ== 548 | dependencies: 549 | "@babel/runtime" "^7.13.10" 550 | "@radix-ui/react-use-callback-ref" "0.1.0" 551 | 552 | "@radix-ui/react-use-layout-effect@0.1.0": 553 | version "0.1.0" 554 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz#ebf71bd6d2825de8f1fbb984abf2293823f0f223" 555 | integrity sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg== 556 | dependencies: 557 | "@babel/runtime" "^7.13.10" 558 | 559 | "@radix-ui/react-use-previous@0.1.0": 560 | version "0.1.0" 561 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-0.1.0.tgz#fed880d41187d0fdd1e19c4588402765f342777e" 562 | integrity sha512-0fxNc33rYnCzDMPSiSnfS8YklnxQo8WqbAQXPAgIaaA1jRu2qFB916PL4qCIW+avcAAqFD38vWhqDqcVmBharA== 563 | dependencies: 564 | "@babel/runtime" "^7.13.10" 565 | 566 | "@radix-ui/react-use-rect@0.1.1": 567 | version "0.1.1" 568 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-0.1.1.tgz#6c15384beee59c086e75b89a7e66f3d2e583a856" 569 | integrity sha512-kHNNXAsP3/PeszEmM/nxBBS9Jbo93sO+xuMTcRfwzXsmxT5gDXQzAiKbZQ0EecCPtJIzqvr7dlaQi/aP1PKYqQ== 570 | dependencies: 571 | "@babel/runtime" "^7.13.10" 572 | "@radix-ui/rect" "0.1.1" 573 | 574 | "@radix-ui/react-use-size@0.1.0": 575 | version "0.1.0" 576 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-0.1.0.tgz#dc49295d646f5d3f570943dbb88bd94fc7db7daf" 577 | integrity sha512-TcZAsR+BYI46w/RbaSFCRACl+Jh6mDqhu6GS2r0iuJpIVrj8atff7qtTjmMmfGtEDNEjhl7DxN3pr1nTS/oruQ== 578 | dependencies: 579 | "@babel/runtime" "^7.13.10" 580 | 581 | "@radix-ui/react-visually-hidden@0.1.3": 582 | version "0.1.3" 583 | resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-0.1.3.tgz#406a2f1e2f2cf27e5b85a29dc3aca718e695acaf" 584 | integrity sha512-dPU6ZR2WQ/W9qv7E1Y8/I8ymqG+8sViU6dQQ6sfr2/8yGr0I4mmI7ywTnqXaE+YS9gHLEZHdQcEqTNESg6YfdQ== 585 | dependencies: 586 | "@babel/runtime" "^7.13.10" 587 | "@radix-ui/react-primitive" "0.1.3" 588 | 589 | "@radix-ui/rect@0.1.1": 590 | version "0.1.1" 591 | resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-0.1.1.tgz#95b5ba51f469bea6b1b841e2d427e17e37d38419" 592 | integrity sha512-g3hnE/UcOg7REdewduRPAK88EPuLZtaq7sA9ouu8S+YEtnyFRI16jgv6GZYe3VMoQLL1T171ebmEPtDjyxWLzw== 593 | dependencies: 594 | "@babel/runtime" "^7.13.10" 595 | 596 | "@react-spring/animated@~9.6.1": 597 | version "9.6.1" 598 | resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.6.1.tgz#ccc626d847cbe346f5f8815d0928183c647eb425" 599 | integrity sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ== 600 | dependencies: 601 | "@react-spring/shared" "~9.6.1" 602 | "@react-spring/types" "~9.6.1" 603 | 604 | "@react-spring/core@~9.6.1": 605 | version "9.6.1" 606 | resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.6.1.tgz#ebe07c20682b360b06af116ea24e2b609e778c10" 607 | integrity sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ== 608 | dependencies: 609 | "@react-spring/animated" "~9.6.1" 610 | "@react-spring/rafz" "~9.6.1" 611 | "@react-spring/shared" "~9.6.1" 612 | "@react-spring/types" "~9.6.1" 613 | 614 | "@react-spring/rafz@~9.6.1": 615 | version "9.6.1" 616 | resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.6.1.tgz#d71aafb92b78b24e4ff84639f52745afc285c38d" 617 | integrity sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ== 618 | 619 | "@react-spring/shared@~9.6.1": 620 | version "9.6.1" 621 | resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.6.1.tgz#4e2e4296910656c02bd9fd54c559702bc836ac4e" 622 | integrity sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw== 623 | dependencies: 624 | "@react-spring/rafz" "~9.6.1" 625 | "@react-spring/types" "~9.6.1" 626 | 627 | "@react-spring/three@~9.6.1": 628 | version "9.6.1" 629 | resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.6.1.tgz#095fcd1dc6509127c33c14486d88289b89baeb9d" 630 | integrity sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA== 631 | dependencies: 632 | "@react-spring/animated" "~9.6.1" 633 | "@react-spring/core" "~9.6.1" 634 | "@react-spring/shared" "~9.6.1" 635 | "@react-spring/types" "~9.6.1" 636 | 637 | "@react-spring/types@~9.6.1": 638 | version "9.6.1" 639 | resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde" 640 | integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q== 641 | 642 | "@react-three/drei@^9.56.28": 643 | version "9.56.28" 644 | resolved "https://registry.yarnpkg.com/@react-three/drei/-/drei-9.56.28.tgz#b0889ba7bac25ce60b17c5d196eaa4906f3ed78d" 645 | integrity sha512-BpBCrn/6Ch0HN9hfSJ35gPHhWkTVg4qeuwt0lwKkTLkFin226P7epaBEye5LjKkzBKTPvCXMOLAn7eRDsWEwsQ== 646 | dependencies: 647 | "@babel/runtime" "^7.11.2" 648 | "@react-spring/three" "~9.6.1" 649 | "@use-gesture/react" "^10.2.24" 650 | camera-controls "^2.1.0" 651 | detect-gpu "^5.0.10" 652 | glsl-noise "^0.0.0" 653 | lodash.clamp "^4.0.3" 654 | lodash.omit "^4.5.0" 655 | lodash.pick "^4.4.0" 656 | maath "^0.5.2" 657 | meshline "^3.1.6" 658 | react-composer "^5.0.3" 659 | react-merge-refs "^1.1.0" 660 | stats.js "^0.17.0" 661 | suspend-react "^0.0.8" 662 | three-mesh-bvh "^0.5.23" 663 | three-stdlib "^2.21.8" 664 | troika-three-text "^0.47.1" 665 | utility-types "^3.10.0" 666 | zustand "^3.5.13" 667 | 668 | "@react-three/fiber@^8.11.5": 669 | version "8.11.5" 670 | resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-8.11.5.tgz#ef873f7146c42bc14a7ae27d28af4bada32bc3cd" 671 | integrity sha512-Z+/hNPDy71q7xiGQQwngpLhoyjqPsuObs/Wbk2nYDZ0SC6rg3nCQBcIR6cf1+ONx1EP53L5lbuxcr+chkdGGmQ== 672 | dependencies: 673 | "@babel/runtime" "^7.17.8" 674 | "@types/react-reconciler" "^0.26.7" 675 | its-fine "^1.0.6" 676 | react-reconciler "^0.27.0" 677 | react-use-measure "^2.1.1" 678 | scheduler "^0.21.0" 679 | suspend-react "^0.0.8" 680 | zustand "^3.7.1" 681 | 682 | "@react-three/postprocessing@^2.7.1": 683 | version "2.7.1" 684 | resolved "https://registry.yarnpkg.com/@react-three/postprocessing/-/postprocessing-2.7.1.tgz#b042c974266ff3ce00139766fdd43b39aeaa65ae" 685 | integrity sha512-FhmQB7INWKaecxq8u155cpbPWM2AM9SDazGmHMsW1r0IZy5aqsI1IWCxA+jJD1V7p6y0zXabssEqZ7JaANkiig== 686 | dependencies: 687 | postprocessing "^6.30.1" 688 | react-merge-refs "^1.1.0" 689 | screen-space-reflections "2.5.0" 690 | three-stdlib "^2.8.11" 691 | 692 | "@stitches/react@1.2.8": 693 | version "1.2.8" 694 | resolved "https://registry.yarnpkg.com/@stitches/react/-/react-1.2.8.tgz#954f8008be8d9c65c4e58efa0937f32388ce3a38" 695 | integrity sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA== 696 | 697 | "@types/offscreencanvas@^2019.6.4": 698 | version "2019.7.0" 699 | resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz#e4a932069db47bb3eabeb0b305502d01586fa90d" 700 | integrity sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg== 701 | 702 | "@types/prop-types@*": 703 | version "15.7.5" 704 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 705 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 706 | 707 | "@types/react-dom@^18.0.10": 708 | version "18.0.11" 709 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" 710 | integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== 711 | dependencies: 712 | "@types/react" "*" 713 | 714 | "@types/react-reconciler@^0.26.7": 715 | version "0.26.7" 716 | resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.26.7.tgz#0c4643f30821ae057e401b0d9037e03e8e9b2a36" 717 | integrity sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ== 718 | dependencies: 719 | "@types/react" "*" 720 | 721 | "@types/react-reconciler@^0.28.0": 722 | version "0.28.2" 723 | resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.2.tgz#f16b0e8cc4748af70ca975eaaace0d79582c71fa" 724 | integrity sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw== 725 | dependencies: 726 | "@types/react" "*" 727 | 728 | "@types/react@*", "@types/react@^18.0.27": 729 | version "18.0.28" 730 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.28.tgz#accaeb8b86f4908057ad629a26635fe641480065" 731 | integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew== 732 | dependencies: 733 | "@types/prop-types" "*" 734 | "@types/scheduler" "*" 735 | csstype "^3.0.2" 736 | 737 | "@types/scheduler@*": 738 | version "0.16.2" 739 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 740 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 741 | 742 | "@use-gesture/core@10.2.24": 743 | version "10.2.24" 744 | resolved "https://registry.yarnpkg.com/@use-gesture/core/-/core-10.2.24.tgz#88d13a60954ba62463c774acb92d12bf7b3d810c" 745 | integrity sha512-ZL7F9mgOn3Qlnp6QLI9jaOfcvqrx6JPE/BkdVSd8imveaFTm/a3udoO6f5Us/1XtqnL4347PsIiK6AtCvMHk2Q== 746 | 747 | "@use-gesture/react@^10.2.24", "@use-gesture/react@^10.2.5": 748 | version "10.2.24" 749 | resolved "https://registry.yarnpkg.com/@use-gesture/react/-/react-10.2.24.tgz#bc13780381e786b286f099f69ea3801bb9ed27a5" 750 | integrity sha512-rAZ8Nnpu1g4eFzqCPlaq+TppJpMy0dTpYOQx5KpfoBF4P3aWnCqwj7eKxcmdIb1NJKpIJj50DPugUH4mq5cpBg== 751 | dependencies: 752 | "@use-gesture/core" "10.2.24" 753 | 754 | "@vitejs/plugin-react@^3.1.0": 755 | version "3.1.0" 756 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" 757 | integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== 758 | dependencies: 759 | "@babel/core" "^7.20.12" 760 | "@babel/plugin-transform-react-jsx-self" "^7.18.6" 761 | "@babel/plugin-transform-react-jsx-source" "^7.19.6" 762 | magic-string "^0.27.0" 763 | react-refresh "^0.14.0" 764 | 765 | "@webgpu/glslang@^0.0.15": 766 | version "0.0.15" 767 | resolved "https://registry.yarnpkg.com/@webgpu/glslang/-/glslang-0.0.15.tgz#f5ccaf6015241e6175f4b90906b053f88483d1f2" 768 | integrity sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q== 769 | 770 | ansi-styles@^3.2.1: 771 | version "3.2.1" 772 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 773 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 774 | dependencies: 775 | color-convert "^1.9.0" 776 | 777 | assign-symbols@^1.0.0: 778 | version "1.0.0" 779 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 780 | integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== 781 | 782 | attr-accept@^2.2.2: 783 | version "2.2.2" 784 | resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" 785 | integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== 786 | 787 | bidi-js@^1.0.2: 788 | version "1.0.2" 789 | resolved "https://registry.yarnpkg.com/bidi-js/-/bidi-js-1.0.2.tgz#1a497a762c2ddea377429d2649c9ce0f8a91527f" 790 | integrity sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw== 791 | dependencies: 792 | require-from-string "^2.0.2" 793 | 794 | browserslist@^4.21.3: 795 | version "4.21.5" 796 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" 797 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== 798 | dependencies: 799 | caniuse-lite "^1.0.30001449" 800 | electron-to-chromium "^1.4.284" 801 | node-releases "^2.0.8" 802 | update-browserslist-db "^1.0.10" 803 | 804 | camera-controls@^2.1.0: 805 | version "2.3.1" 806 | resolved "https://registry.yarnpkg.com/camera-controls/-/camera-controls-2.3.1.tgz#8e8e241fb874ae38b6fa1d22ba445a2e7b3b94ea" 807 | integrity sha512-mGPDOqCTSUqaeX3yR3bWQ/p1M5CR8C+cnqndBxQugfGKysn1dhRtw8Q6sG1hq4GL8RPsGwRanwQk5zwQjyrxyQ== 808 | 809 | caniuse-lite@^1.0.30001449: 810 | version "1.0.30001458" 811 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz#871e35866b4654a7d25eccca86864f411825540c" 812 | integrity sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w== 813 | 814 | chalk@^2.0.0: 815 | version "2.4.2" 816 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 817 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 818 | dependencies: 819 | ansi-styles "^3.2.1" 820 | escape-string-regexp "^1.0.5" 821 | supports-color "^5.3.0" 822 | 823 | chevrotain@^10.1.2: 824 | version "10.4.2" 825 | resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-10.4.2.tgz#9abeac6a60134931c0a0788b206400e5f7a3daba" 826 | integrity sha512-gzF5GxE0Ckti5kZVuKEZycLntB5X2aj9RVY0r4/220GwQjdnljU+/t3kP74/FMWC7IzCDDEjQ9wsFUf0WCdSHg== 827 | dependencies: 828 | "@chevrotain/cst-dts-gen" "10.4.2" 829 | "@chevrotain/gast" "10.4.2" 830 | "@chevrotain/types" "10.4.2" 831 | "@chevrotain/utils" "10.4.2" 832 | lodash "4.17.21" 833 | regexp-to-ast "0.5.0" 834 | 835 | color-convert@^1.9.0: 836 | version "1.9.3" 837 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 838 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 839 | dependencies: 840 | color-name "1.1.3" 841 | 842 | color-name@1.1.3: 843 | version "1.1.3" 844 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 845 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 846 | 847 | colord@^2.9.2: 848 | version "2.9.3" 849 | resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" 850 | integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== 851 | 852 | convert-source-map@^1.7.0: 853 | version "1.9.0" 854 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" 855 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== 856 | 857 | core-util-is@~1.0.0: 858 | version "1.0.3" 859 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 860 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 861 | 862 | csstype@^3.0.2, csstype@^3.0.4: 863 | version "3.1.1" 864 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" 865 | integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== 866 | 867 | debounce@^1.2.1: 868 | version "1.2.1" 869 | resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" 870 | integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== 871 | 872 | debug@^4.1.0: 873 | version "4.3.4" 874 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 875 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 876 | dependencies: 877 | ms "2.1.2" 878 | 879 | dequal@^2.0.2: 880 | version "2.0.3" 881 | resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" 882 | integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== 883 | 884 | detect-gpu@^5.0.10: 885 | version "5.0.13" 886 | resolved "https://registry.yarnpkg.com/detect-gpu/-/detect-gpu-5.0.13.tgz#a029c6afcf3ba9dbda6b28a8fbbf0b4a36ad5742" 887 | integrity sha512-IsQRA69imfta1BdFFIgOspwQn5z/CLMzREpXwxP6F0hniMr7dlamBUSFdOSEnsIUpfL8lrY1NenK2Zxal54qbw== 888 | dependencies: 889 | webgl-constants "^1.1.1" 890 | 891 | draco3d@^1.4.1: 892 | version "1.5.6" 893 | resolved "https://registry.yarnpkg.com/draco3d/-/draco3d-1.5.6.tgz#0d570a9792e3a3a9fafbfea065b692940441c626" 894 | integrity sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ== 895 | 896 | electron-to-chromium@^1.4.284: 897 | version "1.4.313" 898 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.313.tgz#ff95f01926ab748c65beb23fc55f2f178e7a24a9" 899 | integrity sha512-QckB9OVqr2oybjIrbMI99uF+b9+iTja5weFe0ePbqLb5BHqXOJUO1SG6kDj/1WtWPRIBr51N153AEq8m7HuIaA== 900 | 901 | esbuild@^0.16.14: 902 | version "0.16.17" 903 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" 904 | integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== 905 | optionalDependencies: 906 | "@esbuild/android-arm" "0.16.17" 907 | "@esbuild/android-arm64" "0.16.17" 908 | "@esbuild/android-x64" "0.16.17" 909 | "@esbuild/darwin-arm64" "0.16.17" 910 | "@esbuild/darwin-x64" "0.16.17" 911 | "@esbuild/freebsd-arm64" "0.16.17" 912 | "@esbuild/freebsd-x64" "0.16.17" 913 | "@esbuild/linux-arm" "0.16.17" 914 | "@esbuild/linux-arm64" "0.16.17" 915 | "@esbuild/linux-ia32" "0.16.17" 916 | "@esbuild/linux-loong64" "0.16.17" 917 | "@esbuild/linux-mips64el" "0.16.17" 918 | "@esbuild/linux-ppc64" "0.16.17" 919 | "@esbuild/linux-riscv64" "0.16.17" 920 | "@esbuild/linux-s390x" "0.16.17" 921 | "@esbuild/linux-x64" "0.16.17" 922 | "@esbuild/netbsd-x64" "0.16.17" 923 | "@esbuild/openbsd-x64" "0.16.17" 924 | "@esbuild/sunos-x64" "0.16.17" 925 | "@esbuild/win32-arm64" "0.16.17" 926 | "@esbuild/win32-ia32" "0.16.17" 927 | "@esbuild/win32-x64" "0.16.17" 928 | 929 | escalade@^3.1.1: 930 | version "3.1.1" 931 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 932 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 933 | 934 | escape-string-regexp@^1.0.5: 935 | version "1.0.5" 936 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 937 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 938 | 939 | extend-shallow@^2.0.1: 940 | version "2.0.1" 941 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 942 | integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== 943 | dependencies: 944 | is-extendable "^0.1.0" 945 | 946 | extend-shallow@^3.0.0: 947 | version "3.0.2" 948 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 949 | integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== 950 | dependencies: 951 | assign-symbols "^1.0.0" 952 | is-extendable "^1.0.1" 953 | 954 | fflate@^0.6.9: 955 | version "0.6.10" 956 | resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.6.10.tgz#5f40f9659205936a2d18abf88b2e7781662b6d43" 957 | integrity sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg== 958 | 959 | file-selector@^0.5.0: 960 | version "0.5.0" 961 | resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.5.0.tgz#21c7126dc9728b31a2742d91cab20d55e67e4fb4" 962 | integrity sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA== 963 | dependencies: 964 | tslib "^2.0.3" 965 | 966 | for-in@^1.0.2: 967 | version "1.0.2" 968 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 969 | integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== 970 | 971 | fsevents@~2.3.2: 972 | version "2.3.2" 973 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 974 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 975 | 976 | function-bind@^1.1.1: 977 | version "1.1.1" 978 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 979 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 980 | 981 | gensync@^1.0.0-beta.2: 982 | version "1.0.0-beta.2" 983 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 984 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 985 | 986 | get-value@^2.0.6: 987 | version "2.0.6" 988 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 989 | integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== 990 | 991 | globals@^11.1.0: 992 | version "11.12.0" 993 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 994 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 995 | 996 | glsl-noise@^0.0.0: 997 | version "0.0.0" 998 | resolved "https://registry.yarnpkg.com/glsl-noise/-/glsl-noise-0.0.0.tgz#367745f3a33382c0eeec4cb54b7e99cfc1d7670b" 999 | integrity sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w== 1000 | 1001 | glsl-token-assignments@^2.0.0: 1002 | version "2.0.2" 1003 | resolved "https://registry.yarnpkg.com/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz#a5d82ab78499c2e8a6b83cb69495e6e665ce019f" 1004 | integrity sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ== 1005 | 1006 | glsl-token-depth@^1.1.0: 1007 | version "1.1.2" 1008 | resolved "https://registry.yarnpkg.com/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz#23c5e30ee2bd255884b4a28bc850b8f791e95d84" 1009 | integrity sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg== 1010 | 1011 | glsl-token-descope@^1.0.2: 1012 | version "1.0.2" 1013 | resolved "https://registry.yarnpkg.com/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz#0fc90ab326186b82f597b2e77dc9e21efcd32076" 1014 | integrity sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw== 1015 | dependencies: 1016 | glsl-token-assignments "^2.0.0" 1017 | glsl-token-depth "^1.1.0" 1018 | glsl-token-properties "^1.0.0" 1019 | glsl-token-scope "^1.1.0" 1020 | 1021 | glsl-token-functions@^1.0.1: 1022 | version "1.0.1" 1023 | resolved "https://registry.yarnpkg.com/glsl-token-functions/-/glsl-token-functions-1.0.1.tgz#2f1614746b96e14f059a6d62af79b65457f0c9a0" 1024 | integrity sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg== 1025 | 1026 | glsl-token-properties@^1.0.0: 1027 | version "1.0.1" 1028 | resolved "https://registry.yarnpkg.com/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz#483dc3d839f0d4b5c6171d1591f249be53c28a9e" 1029 | integrity sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA== 1030 | 1031 | glsl-token-scope@^1.1.0: 1032 | version "1.1.2" 1033 | resolved "https://registry.yarnpkg.com/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz#a1728e78df24444f9cb93fd18ef0f75503a643b1" 1034 | integrity sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A== 1035 | 1036 | glsl-token-string@^1.0.1: 1037 | version "1.0.1" 1038 | resolved "https://registry.yarnpkg.com/glsl-token-string/-/glsl-token-string-1.0.1.tgz#59441d2f857de7c3449c945666021ece358e48ec" 1039 | integrity sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg== 1040 | 1041 | glsl-tokenizer@^2.1.5: 1042 | version "2.1.5" 1043 | resolved "https://registry.yarnpkg.com/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz#1c2e78c16589933c274ba278d0a63b370c5fee1a" 1044 | integrity sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA== 1045 | dependencies: 1046 | through2 "^0.6.3" 1047 | 1048 | gsap@^3.11.5: 1049 | version "3.11.5" 1050 | resolved "https://registry.yarnpkg.com/gsap/-/gsap-3.11.5.tgz#97ef65091f43868be387803f9db277e8cd5bd041" 1051 | integrity sha512-Q89nKCLgoX5xUjznh9LcaIUkz54k1voNucT1Rpf9SJNFIQznBwFqt5qUUQbeVInFyN/n18OUJkpeI6CNEDt74w== 1052 | 1053 | has-flag@^3.0.0: 1054 | version "3.0.0" 1055 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1056 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1057 | 1058 | has@^1.0.3: 1059 | version "1.0.3" 1060 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1061 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1062 | dependencies: 1063 | function-bind "^1.1.1" 1064 | 1065 | inherits@~2.0.1: 1066 | version "2.0.4" 1067 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1068 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1069 | 1070 | is-core-module@^2.9.0: 1071 | version "2.11.0" 1072 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 1073 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 1074 | dependencies: 1075 | has "^1.0.3" 1076 | 1077 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1078 | version "0.1.1" 1079 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1080 | integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== 1081 | 1082 | is-extendable@^1.0.0, is-extendable@^1.0.1: 1083 | version "1.0.1" 1084 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1085 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 1086 | dependencies: 1087 | is-plain-object "^2.0.4" 1088 | 1089 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1090 | version "2.0.4" 1091 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1092 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1093 | dependencies: 1094 | isobject "^3.0.1" 1095 | 1096 | isarray@0.0.1: 1097 | version "0.0.1" 1098 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1099 | integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== 1100 | 1101 | isobject@^3.0.1: 1102 | version "3.0.1" 1103 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1104 | integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== 1105 | 1106 | its-fine@^1.0.6: 1107 | version "1.0.9" 1108 | resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.0.9.tgz#f4ca0ad5bdbf896764d35f7cf24c16287b6c6d31" 1109 | integrity sha512-Ph+vcp1R100JOM4raXmDx/wCTi4kMkMXiFE108qGzsLdghXFPqad82UJJtqT1jwdyWYkTU6eDpDnol/ZIzW+1g== 1110 | dependencies: 1111 | "@types/react-reconciler" "^0.28.0" 1112 | 1113 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1114 | version "4.0.0" 1115 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1116 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1117 | 1118 | jsesc@^2.5.1: 1119 | version "2.5.2" 1120 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1121 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1122 | 1123 | json5@^2.2.2: 1124 | version "2.2.3" 1125 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 1126 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 1127 | 1128 | ktx-parse@^0.4.5: 1129 | version "0.4.5" 1130 | resolved "https://registry.yarnpkg.com/ktx-parse/-/ktx-parse-0.4.5.tgz#79905e22281a9d3e602b2ff522df1ee7d1813aa6" 1131 | integrity sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg== 1132 | 1133 | lamina@^1.1.22, lamina@^1.1.23: 1134 | version "1.1.23" 1135 | resolved "https://registry.yarnpkg.com/lamina/-/lamina-1.1.23.tgz#0f9e64e8901bedd39d490325fb331d46605f2aa8" 1136 | integrity sha512-sxcoOyws9fK73tHJFsXgZlIJho++nf+FwWzpbvAheUvayl30DyJmPd0U0Q6v/ECcJuuujb7Txcr4SLOZrdDPJA== 1137 | dependencies: 1138 | glsl-token-descope "^1.0.2" 1139 | glsl-token-functions "^1.0.1" 1140 | glsl-token-string "^1.0.1" 1141 | glsl-tokenizer "^2.1.5" 1142 | lamina "^1.1.22" 1143 | leva "^0.9.20" 1144 | three-custom-shader-material "^4.0.0" 1145 | 1146 | leva@^0.9.20: 1147 | version "0.9.34" 1148 | resolved "https://registry.yarnpkg.com/leva/-/leva-0.9.34.tgz#24f2d717f620de959e9ff27b0118d8d94d4e730b" 1149 | integrity sha512-hQmWAakOCuBXYIenJ7RaNIei5enDwHNNb6Gz5BUU3mZk+ElECdbvNJbmcMfkFAJslJw33MXRabt7OKIzItLLWw== 1150 | dependencies: 1151 | "@radix-ui/react-portal" "^0.1.3" 1152 | "@radix-ui/react-tooltip" "0.1.6" 1153 | "@stitches/react" "1.2.8" 1154 | "@use-gesture/react" "^10.2.5" 1155 | colord "^2.9.2" 1156 | dequal "^2.0.2" 1157 | merge-value "^1.0.0" 1158 | react-colorful "^5.5.1" 1159 | react-dropzone "^12.0.0" 1160 | v8n "^1.3.3" 1161 | zustand "^3.6.9" 1162 | 1163 | lodash.clamp@^4.0.3: 1164 | version "4.0.3" 1165 | resolved "https://registry.yarnpkg.com/lodash.clamp/-/lodash.clamp-4.0.3.tgz#5c24bedeeeef0753560dc2b4cb4671f90a6ddfaa" 1166 | integrity sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg== 1167 | 1168 | lodash.omit@^4.5.0: 1169 | version "4.5.0" 1170 | resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" 1171 | integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== 1172 | 1173 | lodash.pick@^4.4.0: 1174 | version "4.4.0" 1175 | resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" 1176 | integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== 1177 | 1178 | lodash@4.17.21: 1179 | version "4.17.21" 1180 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1181 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1182 | 1183 | loose-envify@^1.1.0, loose-envify@^1.4.0: 1184 | version "1.4.0" 1185 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1186 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1187 | dependencies: 1188 | js-tokens "^3.0.0 || ^4.0.0" 1189 | 1190 | lru-cache@^5.1.1: 1191 | version "5.1.1" 1192 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1193 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1194 | dependencies: 1195 | yallist "^3.0.2" 1196 | 1197 | maath@^0.5.2: 1198 | version "0.5.2" 1199 | resolved "https://registry.yarnpkg.com/maath/-/maath-0.5.2.tgz#b1adc883360e45eff3041a2bce45f8cdc0cd6d43" 1200 | integrity sha512-MFjfnXF5CzZaVnBuKc9y1FJh/BiPGqf19NH8Jm4o/jKTxuQ3RyPkcSIpuwdDhXrWROVKAxi3KjmHFUNMuIndbg== 1201 | 1202 | magic-string@^0.27.0: 1203 | version "0.27.0" 1204 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" 1205 | integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== 1206 | dependencies: 1207 | "@jridgewell/sourcemap-codec" "^1.4.13" 1208 | 1209 | merge-value@^1.0.0: 1210 | version "1.0.0" 1211 | resolved "https://registry.yarnpkg.com/merge-value/-/merge-value-1.0.0.tgz#d28f8d41c0b37426e032d1059a0d0343302de502" 1212 | integrity sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ== 1213 | dependencies: 1214 | get-value "^2.0.6" 1215 | is-extendable "^1.0.0" 1216 | mixin-deep "^1.2.0" 1217 | set-value "^2.0.0" 1218 | 1219 | meshline@^3.1.6: 1220 | version "3.1.6" 1221 | resolved "https://registry.yarnpkg.com/meshline/-/meshline-3.1.6.tgz#eee67d9b0fd9841652cc1dc2d3833093ae8e68ca" 1222 | integrity sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug== 1223 | 1224 | mixin-deep@^1.2.0: 1225 | version "1.3.2" 1226 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 1227 | integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== 1228 | dependencies: 1229 | for-in "^1.0.2" 1230 | is-extendable "^1.0.1" 1231 | 1232 | mmd-parser@^1.0.4: 1233 | version "1.0.4" 1234 | resolved "https://registry.yarnpkg.com/mmd-parser/-/mmd-parser-1.0.4.tgz#87cc05782cb5974ca854f0303fc5147bc9d690e7" 1235 | integrity sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg== 1236 | 1237 | ms@2.1.2: 1238 | version "2.1.2" 1239 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1240 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1241 | 1242 | nanoid@^3.3.4: 1243 | version "3.3.4" 1244 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 1245 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 1246 | 1247 | node-releases@^2.0.8: 1248 | version "2.0.10" 1249 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" 1250 | integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== 1251 | 1252 | object-assign@^4.1.1: 1253 | version "4.1.1" 1254 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1255 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 1256 | 1257 | object-hash@^3.0.0: 1258 | version "3.0.0" 1259 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 1260 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 1261 | 1262 | opentype.js@^1.3.3: 1263 | version "1.3.4" 1264 | resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-1.3.4.tgz#1c0e72e46288473cc4a4c6a2dc60fd7fe6020d77" 1265 | integrity sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw== 1266 | dependencies: 1267 | string.prototype.codepointat "^0.2.1" 1268 | tiny-inflate "^1.0.3" 1269 | 1270 | path-parse@^1.0.7: 1271 | version "1.0.7" 1272 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1273 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1274 | 1275 | picocolors@^1.0.0: 1276 | version "1.0.0" 1277 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1278 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1279 | 1280 | postcss@^8.4.21: 1281 | version "8.4.21" 1282 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" 1283 | integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== 1284 | dependencies: 1285 | nanoid "^3.3.4" 1286 | picocolors "^1.0.0" 1287 | source-map-js "^1.0.2" 1288 | 1289 | postprocessing@^6.30.1: 1290 | version "6.30.2" 1291 | resolved "https://registry.yarnpkg.com/postprocessing/-/postprocessing-6.30.2.tgz#8cfb5561bfce63c983fae5d2cd8efa5bbd04fe6d" 1292 | integrity sha512-Vt77s5DkHyUOV4bmk10J46DHJLglBfIo9ARPI0o62UIAx9omANfuPJTKiLVoYlC1ApkV9y3ldBDipF3IldB7YA== 1293 | 1294 | potpack@^1.0.1: 1295 | version "1.0.2" 1296 | resolved "https://registry.yarnpkg.com/potpack/-/potpack-1.0.2.tgz#23b99e64eb74f5741ffe7656b5b5c4ddce8dfc14" 1297 | integrity sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ== 1298 | 1299 | prop-types@^15.6.0, prop-types@^15.8.1: 1300 | version "15.8.1" 1301 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 1302 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 1303 | dependencies: 1304 | loose-envify "^1.4.0" 1305 | object-assign "^4.1.1" 1306 | react-is "^16.13.1" 1307 | 1308 | react-colorful@^5.5.1: 1309 | version "5.6.1" 1310 | resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" 1311 | integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== 1312 | 1313 | react-composer@^5.0.3: 1314 | version "5.0.3" 1315 | resolved "https://registry.yarnpkg.com/react-composer/-/react-composer-5.0.3.tgz#7beb9513da5e8687f4f434ea1333ef36a4f3091b" 1316 | integrity sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA== 1317 | dependencies: 1318 | prop-types "^15.6.0" 1319 | 1320 | react-dom@^18.2.0: 1321 | version "18.2.0" 1322 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 1323 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1324 | dependencies: 1325 | loose-envify "^1.1.0" 1326 | scheduler "^0.23.0" 1327 | 1328 | react-dropzone@^12.0.0: 1329 | version "12.1.0" 1330 | resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-12.1.0.tgz#e097b37e9da6f9e324efc757b7434ebc6f3dc2cb" 1331 | integrity sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog== 1332 | dependencies: 1333 | attr-accept "^2.2.2" 1334 | file-selector "^0.5.0" 1335 | prop-types "^15.8.1" 1336 | 1337 | react-is@^16.13.1: 1338 | version "16.13.1" 1339 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1340 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1341 | 1342 | react-merge-refs@^1.1.0: 1343 | version "1.1.0" 1344 | resolved "https://registry.yarnpkg.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz#73d88b892c6c68cbb7a66e0800faa374f4c38b06" 1345 | integrity sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ== 1346 | 1347 | react-reconciler@^0.27.0: 1348 | version "0.27.0" 1349 | resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.27.0.tgz#360124fdf2d76447c7491ee5f0e04503ed9acf5b" 1350 | integrity sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA== 1351 | dependencies: 1352 | loose-envify "^1.1.0" 1353 | scheduler "^0.21.0" 1354 | 1355 | react-refresh@^0.14.0: 1356 | version "0.14.0" 1357 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" 1358 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== 1359 | 1360 | react-use-measure@^2.1.1: 1361 | version "2.1.1" 1362 | resolved "https://registry.yarnpkg.com/react-use-measure/-/react-use-measure-2.1.1.tgz#5824537f4ee01c9469c45d5f7a8446177c6cc4ba" 1363 | integrity sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig== 1364 | dependencies: 1365 | debounce "^1.2.1" 1366 | 1367 | react@^18.2.0: 1368 | version "18.2.0" 1369 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 1370 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1371 | dependencies: 1372 | loose-envify "^1.1.0" 1373 | 1374 | "readable-stream@>=1.0.33-1 <1.1.0-0": 1375 | version "1.0.34" 1376 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 1377 | integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== 1378 | dependencies: 1379 | core-util-is "~1.0.0" 1380 | inherits "~2.0.1" 1381 | isarray "0.0.1" 1382 | string_decoder "~0.10.x" 1383 | 1384 | regenerator-runtime@^0.13.11: 1385 | version "0.13.11" 1386 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" 1387 | integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== 1388 | 1389 | regexp-to-ast@0.5.0: 1390 | version "0.5.0" 1391 | resolved "https://registry.yarnpkg.com/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz#56c73856bee5e1fef7f73a00f1473452ab712a24" 1392 | integrity sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw== 1393 | 1394 | require-from-string@^2.0.2: 1395 | version "2.0.2" 1396 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 1397 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1398 | 1399 | resolve@^1.22.1: 1400 | version "1.22.1" 1401 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1402 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1403 | dependencies: 1404 | is-core-module "^2.9.0" 1405 | path-parse "^1.0.7" 1406 | supports-preserve-symlinks-flag "^1.0.0" 1407 | 1408 | rollup@^3.10.0: 1409 | version "3.17.3" 1410 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.17.3.tgz#ee7c4e1a262da55c491a4788b632fa123315f6ef" 1411 | integrity sha512-p5LaCXiiOL/wrOkj8djsIDFmyU9ysUxcyW+EKRLHb6TKldJzXpImjcRSR+vgo09DBdofGcOoLOsRyxxG2n5/qQ== 1412 | optionalDependencies: 1413 | fsevents "~2.3.2" 1414 | 1415 | scheduler@^0.21.0: 1416 | version "0.21.0" 1417 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" 1418 | integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== 1419 | dependencies: 1420 | loose-envify "^1.1.0" 1421 | 1422 | scheduler@^0.23.0: 1423 | version "0.23.0" 1424 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1425 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1426 | dependencies: 1427 | loose-envify "^1.1.0" 1428 | 1429 | screen-space-reflections@2.5.0: 1430 | version "2.5.0" 1431 | resolved "https://registry.yarnpkg.com/screen-space-reflections/-/screen-space-reflections-2.5.0.tgz#2a6ea982da96f9c35f34a361b2555439f9fbb1f6" 1432 | integrity sha512-fWSDMhJS0xwD3LTxRRch7Lb9NzxsR66sCmtDmAA7i+OGnghUrBBsrha85ng7StnCBaLq/BKmZ97dLxWd1XgWdQ== 1433 | 1434 | semver@^6.3.0: 1435 | version "6.3.0" 1436 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1437 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1438 | 1439 | set-value@^2.0.0: 1440 | version "2.0.1" 1441 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 1442 | integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== 1443 | dependencies: 1444 | extend-shallow "^2.0.1" 1445 | is-extendable "^0.1.1" 1446 | is-plain-object "^2.0.3" 1447 | split-string "^3.0.1" 1448 | 1449 | source-map-js@^1.0.2: 1450 | version "1.0.2" 1451 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1452 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1453 | 1454 | split-string@^3.0.1: 1455 | version "3.1.0" 1456 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 1457 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 1458 | dependencies: 1459 | extend-shallow "^3.0.0" 1460 | 1461 | stats.js@^0.17.0: 1462 | version "0.17.0" 1463 | resolved "https://registry.yarnpkg.com/stats.js/-/stats.js-0.17.0.tgz#b1c3dc46d94498b578b7fd3985b81ace7131cc7d" 1464 | integrity sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw== 1465 | 1466 | string.prototype.codepointat@^0.2.1: 1467 | version "0.2.1" 1468 | resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc" 1469 | integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== 1470 | 1471 | string_decoder@~0.10.x: 1472 | version "0.10.31" 1473 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1474 | integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== 1475 | 1476 | supports-color@^5.3.0: 1477 | version "5.5.0" 1478 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1479 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1480 | dependencies: 1481 | has-flag "^3.0.0" 1482 | 1483 | supports-preserve-symlinks-flag@^1.0.0: 1484 | version "1.0.0" 1485 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1486 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1487 | 1488 | suspend-react@^0.0.8: 1489 | version "0.0.8" 1490 | resolved "https://registry.yarnpkg.com/suspend-react/-/suspend-react-0.0.8.tgz#b0740c1386b4eb652f17affe4339915ee268bd31" 1491 | integrity sha512-ZC3r8Hu1y0dIThzsGw0RLZplnX9yXwfItcvaIzJc2VQVi8TGyGDlu92syMB5ulybfvGLHAI5Ghzlk23UBPF8xg== 1492 | 1493 | three-custom-shader-material@^4.0.0: 1494 | version "4.0.0" 1495 | resolved "https://registry.yarnpkg.com/three-custom-shader-material/-/three-custom-shader-material-4.0.0.tgz#d4f1abab7199caf110c0a94aa0df8f3cccb8a1f5" 1496 | integrity sha512-oMlHSANeKJdpXiLnQTQILF0tY6p2q6tgzQiR5UzMtC9oCa+EQgMXh28dvzsnqtWVnnv6FGwXRfNFgqcv+mHW7Q== 1497 | dependencies: 1498 | glsl-token-functions "^1.0.1" 1499 | glsl-token-string "^1.0.1" 1500 | glsl-tokenizer "^2.1.5" 1501 | object-hash "^3.0.0" 1502 | 1503 | three-mesh-bvh@^0.5.23: 1504 | version "0.5.23" 1505 | resolved "https://registry.yarnpkg.com/three-mesh-bvh/-/three-mesh-bvh-0.5.23.tgz#08e5b629144b48b11acbd433519680e457d398ed" 1506 | integrity sha512-nyk+MskdyDgECqkxdv57UjazqqhrMi+Al9PxJN6yFtx1CTW4r0eCQ27FtyYKY5gCIWhxjtNfWYDPVy8lzx6LkA== 1507 | 1508 | three-stdlib@^2.21.8, three-stdlib@^2.8.11: 1509 | version "2.21.8" 1510 | resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.21.8.tgz#37b11b7f62d07b10742c212153b14db21433b3c6" 1511 | integrity sha512-kqisiKvO4mSy59v5vWqBQSH8famLxp7Z51LxpMJI9GwDxqODaW02rhIwmjYDEzZWNFpjZpoDHVGbdpeHf8h3SA== 1512 | dependencies: 1513 | "@babel/runtime" "^7.16.7" 1514 | "@types/offscreencanvas" "^2019.6.4" 1515 | "@webgpu/glslang" "^0.0.15" 1516 | chevrotain "^10.1.2" 1517 | draco3d "^1.4.1" 1518 | fflate "^0.6.9" 1519 | ktx-parse "^0.4.5" 1520 | mmd-parser "^1.0.4" 1521 | opentype.js "^1.3.3" 1522 | potpack "^1.0.1" 1523 | zstddec "^0.0.2" 1524 | 1525 | three@^0.150.1: 1526 | version "0.150.1" 1527 | resolved "https://registry.yarnpkg.com/three/-/three-0.150.1.tgz#870d324a4d2daf1c7d55be97f3f73d83783e28be" 1528 | integrity sha512-5C1MqKUWaHYo13BX0Q64qcdwImgnnjSOFgBscOzAo8MYCzEtqfQqorEKMcajnA3FHy1yVlIe9AmaMQ0OQracNA== 1529 | 1530 | through2@^0.6.3: 1531 | version "0.6.5" 1532 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" 1533 | integrity sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg== 1534 | dependencies: 1535 | readable-stream ">=1.0.33-1 <1.1.0-0" 1536 | xtend ">=4.0.0 <4.1.0-0" 1537 | 1538 | tiny-inflate@^1.0.3: 1539 | version "1.0.3" 1540 | resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" 1541 | integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== 1542 | 1543 | to-fast-properties@^2.0.0: 1544 | version "2.0.0" 1545 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1546 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 1547 | 1548 | troika-three-text@^0.47.1: 1549 | version "0.47.1" 1550 | resolved "https://registry.yarnpkg.com/troika-three-text/-/troika-three-text-0.47.1.tgz#4a239b122242d7ea93dbbf66a9f1863eca83d979" 1551 | integrity sha512-/fPRUmxCkXxyUT8k6REC/aWeFzKbNr37ivrkrplSJNb3JcBUXvVt8MT0Ac5wTUvFsYTviYWprYS4/8Laen08WA== 1552 | dependencies: 1553 | bidi-js "^1.0.2" 1554 | troika-three-utils "^0.47.0" 1555 | troika-worker-utils "^0.47.0" 1556 | webgl-sdf-generator "1.1.1" 1557 | 1558 | troika-three-utils@^0.47.0: 1559 | version "0.47.0" 1560 | resolved "https://registry.yarnpkg.com/troika-three-utils/-/troika-three-utils-0.47.0.tgz#4749334ad2ae043767916f79bcc365cbb5ea64b5" 1561 | integrity sha512-yoVTQxVbpQX3a55giIwqwq6hyJA6oYvq7kaNGwFTeicoWmTZCqqTbytafx1gcuL5umrtw5MYgsxYUSOha+xp5w== 1562 | 1563 | troika-worker-utils@^0.47.0: 1564 | version "0.47.0" 1565 | resolved "https://registry.yarnpkg.com/troika-worker-utils/-/troika-worker-utils-0.47.0.tgz#bea382fee55333e177955e7ba6497d64b9d9388d" 1566 | integrity sha512-PSUc9vunDEkbE23jpgXD3PcF96jQHKjgMjS+4o5g6DEK/ZAPTnldb+FNddhppawfUcuraMFrslo0GmIC8UpEmA== 1567 | 1568 | tslib@^2.0.3: 1569 | version "2.5.0" 1570 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" 1571 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== 1572 | 1573 | update-browserslist-db@^1.0.10: 1574 | version "1.0.10" 1575 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 1576 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 1577 | dependencies: 1578 | escalade "^3.1.1" 1579 | picocolors "^1.0.0" 1580 | 1581 | utility-types@^3.10.0: 1582 | version "3.10.0" 1583 | resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" 1584 | integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== 1585 | 1586 | v8n@^1.3.3: 1587 | version "1.5.1" 1588 | resolved "https://registry.yarnpkg.com/v8n/-/v8n-1.5.1.tgz#aecfeb9d298a8ce8be443cd7ad0d46e30203165a" 1589 | integrity sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A== 1590 | 1591 | vite@^4.1.0: 1592 | version "4.1.4" 1593 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.1.4.tgz#170d93bcff97e0ebc09764c053eebe130bfe6ca0" 1594 | integrity sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg== 1595 | dependencies: 1596 | esbuild "^0.16.14" 1597 | postcss "^8.4.21" 1598 | resolve "^1.22.1" 1599 | rollup "^3.10.0" 1600 | optionalDependencies: 1601 | fsevents "~2.3.2" 1602 | 1603 | webgl-constants@^1.1.1: 1604 | version "1.1.1" 1605 | resolved "https://registry.yarnpkg.com/webgl-constants/-/webgl-constants-1.1.1.tgz#f9633ee87fea56647a60b9ce735cbdfb891c6855" 1606 | integrity sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg== 1607 | 1608 | webgl-sdf-generator@1.1.1: 1609 | version "1.1.1" 1610 | resolved "https://registry.yarnpkg.com/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz#3e1b422b3d87cd3cc77f2602c9db63bc0f6accbd" 1611 | integrity sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA== 1612 | 1613 | "xtend@>=4.0.0 <4.1.0-0": 1614 | version "4.0.2" 1615 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1616 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1617 | 1618 | yallist@^3.0.2: 1619 | version "3.1.1" 1620 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1621 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 1622 | 1623 | zstddec@^0.0.2: 1624 | version "0.0.2" 1625 | resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.0.2.tgz#57e2f28dd1ff56b750e07d158a43f0611ad9eeb4" 1626 | integrity sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA== 1627 | 1628 | zustand@^3.5.13, zustand@^3.6.9, zustand@^3.7.1: 1629 | version "3.7.2" 1630 | resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d" 1631 | integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA== 1632 | --------------------------------------------------------------------------------