|
data: {"transpiledModules":{"/package.json:":{"query":"","module":{"code":"{\n \"name\": \"viking-ship\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"dependencies\": {\n \"@react-three/drei\": \"9.77.1\",\n \"@react-three/fiber\": \"8.10.0\",\n \"@types/three\": \"0.147.1\",\n \"leva\": \"0.9.34\",\n \"react\": \"18.2.0\",\n \"react-dom\": \"18.2.0\",\n \"react-scripts\": \"5.0.1\",\n \"three\": \"0.148.0\"\n },\n \"scripts\": {\n \"start\": \"react-app-rewired start\",\n \"build\": \"react-app-rewired build\",\n \"test\": \"react-app-rewired test\",\n \"eject\": \"react-scripts eject\"\n },\n \"eslintConfig\": {\n \"extends\": \"react-app\"\n },\n \"browserslist\": {\n \"production\": [\n \">0.2%\",\n \"not dead\",\n \"not op_mini all\"\n ],\n \"development\": [\n \"last 1 chrome version\",\n \"last 1 firefox version\",\n \"last 1 safari version\"\n ]\n },\n \"devDependencies\": {\n \"customize-cra\": \"^0.9.1\",\n \"customize-cra-react-refresh\": \"^1.0.1\",\n \"react-app-rewired\": \"^2.1.5\"\n },\n \"keywords\": [\n \"gltfjsx\",\n \"gltf\"\n ],\n \"description\": \"GLTF workflow with GLTFJSX and camera rotations.\"\n}","path":"/package.json"},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":["/node_modules/react/package.json:"],"initiators":[],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":{"fileName":"/package.json","compiledCode":"\n module.exports = JSON.parse(\"{\\n \\\"name\\\": \\\"viking-ship\\\",\\n \\\"version\\\": \\\"0.1.0\\\",\\n \\\"private\\\": true,\\n \\\"dependencies\\\": {\\n \\\"@react-three/drei\\\": \\\"9.77.1\\\",\\n \\\"@react-three/fiber\\\": \\\"8.10.0\\\",\\n \\\"@types/three\\\": \\\"0.147.1\\\",\\n \\\"leva\\\": \\\"0.9.34\\\",\\n \\\"react\\\": \\\"18.2.0\\\",\\n \\\"react-dom\\\": \\\"18.2.0\\\",\\n \\\"react-scripts\\\": \\\"5.0.1\\\",\\n \\\"three\\\": \\\"0.148.0\\\"\\n },\\n \\\"scripts\\\": {\\n \\\"start\\\": \\\"react-app-rewired start\\\",\\n \\\"build\\\": \\\"react-app-rewired build\\\",\\n \\\"test\\\": \\\"react-app-rewired test\\\",\\n \\\"eject\\\": \\\"react-scripts eject\\\"\\n },\\n \\\"eslintConfig\\\": {\\n \\\"extends\\\": \\\"react-app\\\"\\n },\\n \\\"browserslist\\\": {\\n \\\"production\\\": [\\n \\\">0.2%\\\",\\n \\\"not dead\\\",\\n \\\"not op_mini all\\\"\\n ],\\n \\\"development\\\": [\\n \\\"last 1 chrome version\\\",\\n \\\"last 1 firefox version\\\",\\n \\\"last 1 safari version\\\"\\n ]\\n },\\n \\\"devDependencies\\\": {\\n \\\"customize-cra\\\": \\\"^0.9.1\\\",\\n \\\"customize-cra-react-refresh\\\": \\\"^1.0.1\\\",\\n \\\"react-app-rewired\\\": \\\"^2.1.5\\\"\\n },\\n \\\"keywords\\\": [\\n \\\"gltfjsx\\\",\\n \\\"gltf\\\"\\n ],\\n \\\"description\\\": \\\"GLTF workflow with GLTFJSX and camera rotations.\\\"\\n}\")\n ","sourceEqualsCompiled":false}},"/src/styles.css:":{"query":"","module":{"code":"* {\n box-sizing: border-box;\n}\n\nhtml,\nbody,\n#root {\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n}\n\n#root {\n overflow: auto;\n}\n\nbody {\n position: fixed;\n overflow: hidden;\n overscroll-behavior-y: none;\n font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;\n color: black;\n background: #fff0ea;\n}","path":"/src/styles.css"},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":[],"initiators":["/src/index.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":{"fileName":"/src/styles.css","compiledCode":"\nfunction createStyleNode(id, content) {\n var styleNode =\n document.getElementById(id) || document.createElement('style');\n\n styleNode.setAttribute('id', id);\n styleNode.type = 'text/css';\n if (styleNode.styleSheet) {\n styleNode.styleSheet.cssText = content;\n } else {\n styleNode.innerHTML = '';\n styleNode.appendChild(document.createTextNode(content));\n }\n document.head.appendChild(styleNode);\n}\n\ncreateStyleNode(\n \"/src/styles.css:-css\",\n \"* {\\n box-sizing: border-box;\\n}\\n\\nhtml,\\nbody,\\n#root {\\n width: 100%;\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n overflow: hidden;\\n}\\n\\n#root {\\n overflow: auto;\\n}\\n\\nbody {\\n position: fixed;\\n overflow: hidden;\\n overscroll-behavior-y: none;\\n font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;\\n color: black;\\n background: #fff0ea;\\n}\"\n);\n\nmodule.hot.accept()\n","sourceEqualsCompiled":false}},"/src/App.tsx:":{"query":"","module":{"code":"import * as THREE from \"three\"\nimport React, { Suspense, useRef } from \"react\"\nimport { Canvas, useFrame } from \"@react-three/fiber\"\nimport { OrbitControls, Environment, Loader } from \"@react-three/drei\"\nimport Model from \"./Model\"\n\nfunction Rig({ children }) {\n const outer = useRef\u003cTHREE.Group>(null!)\n const inner = useRef\u003cTHREE.Group>(null!)\n useFrame(({ camera, clock }) => {\n const t = clock.getElapsedTime()\n outer.current.position.y = THREE.MathUtils.lerp(outer.current.position.y, 0, 0.05)\n inner.current.rotation.y = Math.sin(t / 8) * Math.PI\n inner.current.position.z = 5 + -Math.sin(t / 2) * 10\n inner.current.position.y = -5 + Math.sin(t / 2) * 2\n })\n return (\n \u003cgroup position={[0, -100, 0]} ref={outer}>\n \u003cgroup ref={inner}>{children}\u003c/group>\n \u003c/group>\n )\n}\n\nexport default function App() {\n return (\n \u003c>\n \u003cCanvas linear camera={{ position: [0, 15, 30], fov: 70 }}>\n \u003ccolor attach=\"background\" args={[0xfff0ea]} />\n \u003cfog attach=\"fog\" args={[0xfff0ea, 10, 60]} />\n \u003cambientLight intensity={4} />\n \u003cSuspense fallback={null}>\n \u003cRig>\n \u003cModel />\n \u003c/Rig>\n \u003c/Suspense>\n \u003cEnvironment preset=\"sunset\" />\n \u003cOrbitControls />\n \u003c/Canvas>\n \u003cLoader />\n \u003c/>\n )\n}\n","path":"/src/App.tsx"},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":["/node_modules/react/index.js:","/node_modules/@react-three/drei/index.js:","/node_modules/react/jsx-runtime.js:","/node_modules/three/build/three.module.js:","/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js:","/src/Model.tsx:","/node_modules/@babel/runtime/helpers/interopRequireWildcard.js:","/node_modules/@babel/runtime/helpers/interopRequireDefault.js:","/node_modules/react-refresh/runtime.js:","/node_modules/csbbust/refresh-helper.js:"],"initiators":["/src/index.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":{"fileName":"/src/App.tsx","compiledCode":"var _csbRefreshUtils = require(\"/node_modules/csbbust/refresh-helper.js\");var prevRefreshReg = window.$RefreshReg$;var prevRefreshSig = window.$RefreshSig$;_csbRefreshUtils.prelude(module);try {\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = App;\nvar THREE = _interopRequireWildcard(require(\"three\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _fiber = require(\"@react-three/fiber\");\nvar _drei = require(\"@react-three/drei\");\nvar _Model = _interopRequireDefault(require(\"./Model\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _jsxFileName = \"/src/App.tsx\",\n _s = $RefreshSig$();\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction Rig(_ref) {\n _s();\n let {\n children\n } = _ref;\n const outer = (0, _react.useRef)(null);\n const inner = (0, _react.useRef)(null);\n (0, _fiber.useFrame)(_ref2 => {\n let {\n camera,\n clock\n } = _ref2;\n const t = clock.getElapsedTime();\n outer.current.position.y = THREE.MathUtils.lerp(outer.current.position.y, 0, 0.05);\n inner.current.rotation.y = Math.sin(t / 8) * Math.PI;\n inner.current.position.z = 5 + -Math.sin(t / 2) * 10;\n inner.current.position.y = -5 + Math.sin(t / 2) * 2;\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"group\", {\n position: [0, -100, 0],\n ref: outer,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"group\", {\n ref: inner,\n children: children\n })\n });\n}\n_s(Rig, \"IySjnmPqqpoMH6Rt9RDWRGmr/KI=\", false, function () {\n return [_fiber.useFrame];\n});\n_c = Rig;\nfunction App() {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_fiber.Canvas, {\n linear: true,\n camera: {\n position: [0, 15, 30],\n fov: 70\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"color\", {\n attach: \"background\",\n args: [0xfff0ea]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"fog\", {\n attach: \"fog\",\n args: [0xfff0ea, 10, 60]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"ambientLight\", {\n intensity: 4\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {\n fallback: null,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Rig, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Model.default, {})\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_drei.Environment, {\n preset: \"sunset\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_drei.OrbitControls, {})]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_drei.Loader, {})]\n });\n}\n_c2 = App;\nvar _c, _c2;\n$RefreshReg$(_c, \"Rig\");\n$RefreshReg$(_c2, \"App\");\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUSFJFRSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9maWJlciIsIl9kcmVpIiwiX01vZGVsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9qc3hSdW50aW1lIiwiX2pzeEZpbGVOYW1lIiwiX3MiLCIkUmVmcmVzaFNpZyQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUmlnIiwiX3JlZiIsImNoaWxkcmVuIiwib3V0ZXIiLCJ1c2VSZWYiLCJpbm5lciIsInVzZUZyYW1lIiwiX3JlZjIiLCJjYW1lcmEiLCJjbG9jayIsInQiLCJnZXRFbGFwc2VkVGltZSIsImN1cnJlbnQiLCJwb3NpdGlvbiIsInkiLCJNYXRoVXRpbHMiLCJsZXJwIiwicm90YXRpb24iLCJNYXRoIiwic2luIiwiUEkiLCJ6IiwianN4IiwicmVmIiwiX2MiLCJBcHAiLCJqc3hzIiwiRnJhZ21lbnQiLCJDYW52YXMiLCJsaW5lYXIiLCJmb3YiLCJhdHRhY2giLCJhcmdzIiwiaW50ZW5zaXR5IiwiU3VzcGVuc2UiLCJmYWxsYmFjayIsIkVudmlyb25tZW50IiwicHJlc2V0IiwiT3JiaXRDb250cm9scyIsIkxvYWRlciIsIl9jMiIsIiRSZWZyZXNoUmVnJCJdLCJzb3VyY2VzIjpbIi9zcmMvQXBwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tIFwidGhyZWVcIlxuaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgQ2FudmFzLCB1c2VGcmFtZSB9IGZyb20gXCJAcmVhY3QtdGhyZWUvZmliZXJcIlxuaW1wb3J0IHsgT3JiaXRDb250cm9scywgRW52aXJvbm1lbnQsIExvYWRlciB9IGZyb20gXCJAcmVhY3QtdGhyZWUvZHJlaVwiXG5pbXBvcnQgTW9kZWwgZnJvbSBcIi4vTW9kZWxcIlxuXG5mdW5jdGlvbiBSaWcoeyBjaGlsZHJlbiB9KSB7XG4gIGNvbnN0IG91dGVyID0gdXNlUmVmPFRIUkVFLkdyb3VwPihudWxsISlcbiAgY29uc3QgaW5uZXIgPSB1c2VSZWY8VEhSRUUuR3JvdXA+KG51bGwhKVxuICB1c2VGcmFtZSgoeyBjYW1lcmEsIGNsb2NrIH0pID0+IHtcbiAgICBjb25zdCB0ID0gY2xvY2suZ2V0RWxhcHNlZFRpbWUoKVxuICAgIG91dGVyLmN1cnJlbnQucG9zaXRpb24ueSA9IFRIUkVFLk1hdGhVdGlscy5sZXJwKG91dGVyLmN1cnJlbnQucG9zaXRpb24ueSwgMCwgMC4wNSlcbiAgICBpbm5lci5jdXJyZW50LnJvdGF0aW9uLnkgPSBNYXRoLnNpbih0IC8gOCkgKiBNYXRoLlBJXG4gICAgaW5uZXIuY3VycmVudC5wb3NpdGlvbi56ID0gNSArIC1NYXRoLnNpbih0IC8gMikgKiAxMFxuICAgIGlubmVyLmN1cnJlbnQucG9zaXRpb24ueSA9IC01ICsgTWF0aC5zaW4odCAvIDIpICogMlxuICB9KVxuICByZXR1cm4gKFxuICAgIDxncm91cCBwb3NpdGlvbj17WzAsIC0xMDAsIDBdfSByZWY9e291dGVyfT5cbiAgICAgIDxncm91cCByZWY9e2lubmVyfT57Y2hpbGRyZW59PC9ncm91cD5cbiAgICA8L2dyb3VwPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcCgpIHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENhbnZhcyBsaW5lYXIgY2FtZXJhPXt7IHBvc2l0aW9uOiBbMCwgMTUsIDMwXSwgZm92OiA3MCB9fT5cbiAgICAgICAgPGNvbG9yIGF0dGFjaD1cImJhY2tncm91bmRcIiBhcmdzPXtbMHhmZmYwZWFdfSAvPlxuICAgICAgICA8Zm9nIGF0dGFjaD1cImZvZ1wiIGFyZ3M9e1sweGZmZjBlYSwgMTAsIDYwXX0gLz5cbiAgICAgICAgPGFtYmllbnRMaWdodCBpbnRlbnNpdHk9ezR9IC8+XG4gICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17bnVsbH0+XG4gICAgICAgICAgPFJpZz5cbiAgICAgICAgICAgIDxNb2RlbCAvPlxuICAgICAgICAgIDwvUmlnPlxuICAgICAgICA8L1N1c3BlbnNlPlxuICAgICAgICA8RW52aXJvbm1lbnQgcHJlc2V0PVwic3Vuc2V0XCIgLz5cbiAgICAgICAgPE9yYml0Q29udHJvbHMgLz5cbiAgICAgIDwvQ2FudmFzPlxuICAgICAgPExvYWRlciAvPlxuICAgIDwvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFBMkIsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQUEsSUFBQU8sWUFBQTtFQUFBQyxFQUFBLEdBQUFDLFlBQUE7QUFBQSxTQUFBQyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWix3QkFBQWdCLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTCxHQUFBLFNBQUFNLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWCxHQUFBLFFBQUFXLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWQsR0FBQSxFQUFBVyxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixHQUFBLEVBQUFXLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVgsR0FBQSxDQUFBVyxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFoQixHQUFBLEVBQUFNLE1BQUEsWUFBQUEsTUFBQTtBQUUzQixTQUFTVyxHQUFHQSxDQUFBQyxJQUFBLEVBQWU7RUFBQXpCLEVBQUE7RUFBQSxJQUFkO0lBQUUwQjtFQUFTLENBQUMsR0FBQUQsSUFBQTtFQUN2QixNQUFNRSxLQUFLLEdBQUcsSUFBQUMsYUFBTSxFQUFjLElBQUssQ0FBQztFQUN4QyxNQUFNQyxLQUFLLEdBQUcsSUFBQUQsYUFBTSxFQUFjLElBQUssQ0FBQztFQUN4QyxJQUFBRSxlQUFRLEVBQUNDLEtBQUEsSUFBdUI7SUFBQSxJQUF0QjtNQUFFQyxNQUFNO01BQUVDO0lBQU0sQ0FBQyxHQUFBRixLQUFBO0lBQ3pCLE1BQU1HLENBQUMsR0FBR0QsS0FBSyxDQUFDRSxjQUFjLENBQUMsQ0FBQztJQUNoQ1IsS0FBSyxDQUFDUyxPQUFPLENBQUNDLFFBQVEsQ0FBQ0MsQ0FBQyxHQUFHaEQsS0FBSyxDQUFDaUQsU0FBUyxDQUFDQyxJQUFJLENBQUNiLEtBQUssQ0FBQ1MsT0FBTyxDQUFDQyxRQUFRLENBQUNDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xGVCxLQUFLLENBQUNPLE9BQU8sQ0FBQ0ssUUFBUSxDQUFDSCxDQUFDLEdBQUdJLElBQUksQ0FBQ0MsR0FBRyxDQUFDVCxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUdRLElBQUksQ0FBQ0UsRUFBRTtJQUNwRGYsS0FBSyxDQUFDTyxPQUFPLENBQUNDLFFBQVEsQ0FBQ1EsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDSCxJQUFJLENBQUNDLEdBQUcsQ0FBQ1QsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7SUFDcERMLEtBQUssQ0FBQ08sT0FBTyxDQUFDQyxRQUFRLENBQUNDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0ksSUFBSSxDQUFDQyxHQUFHLENBQUNULENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO0VBQ3JELENBQUMsQ0FBQztFQUNGLG9CQUNFLElBQUFwQyxXQUFBLENBQUFnRCxHQUFBO0lBQU9ULFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUU7SUFBQ1UsR0FBRyxFQUFFcEIsS0FBTTtJQUFBRCxRQUFBLGVBQ3hDLElBQUE1QixXQUFBLENBQUFnRCxHQUFBO01BQU9DLEdBQUcsRUFBRWxCLEtBQU07TUFBQUgsUUFBQSxFQUFFQTtJQUFRLENBQVE7RUFBQyxDQUNoQyxDQUFDO0FBRVo7QUFBQzFCLEVBQUEsQ0FmUXdCLEdBQUc7RUFBQSxRQUdWTSxlQUFRO0FBQUE7QUFBQWtCLEVBQUEsR0FIRHhCLEdBQUc7QUFpQkcsU0FBU3lCLEdBQUdBLENBQUEsRUFBRztFQUM1QixvQkFDRSxJQUFBbkQsV0FBQSxDQUFBb0QsSUFBQSxFQUFBcEQsV0FBQSxDQUFBcUQsUUFBQTtJQUFBekIsUUFBQSxnQkFDRSxJQUFBNUIsV0FBQSxDQUFBb0QsSUFBQSxFQUFDeEQsTUFBQSxDQUFBMEQsTUFBTTtNQUFDQyxNQUFNO01BQUNyQixNQUFNLEVBQUU7UUFBRUssUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBRWlCLEdBQUcsRUFBRTtNQUFHLENBQUU7TUFBQTVCLFFBQUEsZ0JBQ3hELElBQUE1QixXQUFBLENBQUFnRCxHQUFBO1FBQU9TLE1BQU0sRUFBQyxZQUFZO1FBQUNDLElBQUksRUFBRSxDQUFDLFFBQVE7TUFBRSxDQUFFLENBQUMsZUFDL0MsSUFBQTFELFdBQUEsQ0FBQWdELEdBQUE7UUFBS1MsTUFBTSxFQUFDLEtBQUs7UUFBQ0MsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFO01BQUUsQ0FBRSxDQUFDLGVBQzlDLElBQUExRCxXQUFBLENBQUFnRCxHQUFBO1FBQWNXLFNBQVMsRUFBRTtNQUFFLENBQUUsQ0FBQyxlQUM5QixJQUFBM0QsV0FBQSxDQUFBZ0QsR0FBQSxFQUFDckQsTUFBQSxDQUFBaUUsUUFBUTtRQUFDQyxRQUFRLEVBQUUsSUFBSztRQUFBakMsUUFBQSxlQUN2QixJQUFBNUIsV0FBQSxDQUFBZ0QsR0FBQSxFQUFDdEIsR0FBRztVQUFBRSxRQUFBLGVBQ0YsSUFBQTVCLFdBQUEsQ0FBQWdELEdBQUEsRUFBQ2xELE1BQUEsQ0FBQWEsT0FBSyxJQUFFO1FBQUMsQ0FDTjtNQUFDLENBQ0UsQ0FBQyxlQUNYLElBQUFYLFdBQUEsQ0FBQWdELEdBQUEsRUFBQ25ELEtBQUEsQ0FBQWlFLFdBQVc7UUFBQ0MsTUFBTSxFQUFDO01BQVEsQ0FBRSxDQUFDLGVBQy9CLElBQUEvRCxXQUFBLENBQUFnRCxHQUFBLEVBQUNuRCxLQUFBLENBQUFtRSxhQUFhLElBQUUsQ0FBQztJQUFBLENBQ1gsQ0FBQyxlQUNULElBQUFoRSxXQUFBLENBQUFnRCxHQUFBLEVBQUNuRCxLQUFBLENBQUFvRSxNQUFNLElBQUUsQ0FBQztFQUFBLENBQ1YsQ0FBQztBQUVQO0FBQUNDLEdBQUEsR0FsQnVCZixHQUFHO0FBQUEsSUFBQUQsRUFBQSxFQUFBZ0IsR0FBQTtBQUFBQyxZQUFBLENBQUFqQixFQUFBO0FBQUFpQixZQUFBLENBQUFELEdBQUEifQ==\n_csbRefreshUtils.postlude(module);} finally { window.$RefreshReg$ = prevRefreshReg; window.$RefreshSig$ = prevRefreshSig;}","sourceEqualsCompiled":false}},"/src/index.tsx:":{"query":"","module":{"code":"import { createRoot } from \"react-dom/client\"\nimport React from \"react\"\nimport App from \"./App\"\nimport \"./styles.css\"\n\ncreateRoot(document.getElementById(\"root\")).render(\u003cApp />)\n","path":"/src/index.tsx"},"isEntry":true,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":["/src/styles.css:","/src/App.tsx:","/node_modules/react/index.js:","/node_modules/react-refresh/runtime.js:","/node_modules/react/package.json:","/node_modules/csbbust/refresh-helper.js:","/node_modules/react-dom/package.json:","/node_modules/@babel/runtime/package.json:","/node_modules/react/jsx-runtime.js:","/node_modules/react-dom/client.js:","/node_modules/@babel/runtime/helpers/interopRequireDefault.js:","/node_modules/@babel/runtime/helpers/interopRequireWildcard.js:"],"initiators":[],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":{"fileName":"/src/index.tsx","compiledCode":"var _csbRefreshUtils = require(\"/node_modules/csbbust/refresh-helper.js\");var prevRefreshReg = window.$RefreshReg$;var prevRefreshSig = window.$RefreshSig$;_csbRefreshUtils.prelude(module);try {\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _client = require(\"react-dom/client\");\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _App = _interopRequireDefault(require(\"./App\"));\nrequire(\"./styles.css\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _jsxFileName = \"/src/index.tsx\";\n(0, _client.createRoot)(document.getElementById(\"root\")).render( /*#__PURE__*/(0, _jsxRuntime.jsx)(_App.default, {}));\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xpZW50IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXBwIiwiX2pzeFJ1bnRpbWUiLCJfanN4RmlsZU5hbWUiLCJjcmVhdGVSb290IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInJlbmRlciIsImpzeCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIvc3JjL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQXBwIGZyb20gXCIuL0FwcFwiXG5pbXBvcnQgXCIuL3N0eWxlcy5jc3NcIlxuXG5jcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicm9vdFwiKSkucmVuZGVyKDxBcHAgLz4pXG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBQXFCLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUFBLElBQUFLLFlBQUE7QUFFckIsSUFBQUMsa0JBQVUsRUFBQ0MsUUFBUSxDQUFDQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxlQUFDLElBQUFMLFdBQUEsQ0FBQU0sR0FBQSxFQUFDUCxJQUFBLENBQUFRLE9BQUcsSUFBRSxDQUFDLENBQUMifQ==\n_csbRefreshUtils.postlude(module);} finally { window.$RefreshReg$ = prevRefreshReg; window.$RefreshSig$ = prevRefreshSig;}","sourceEqualsCompiled":false}},"/src/Model.tsx:":{"query":"","module":{"code":"/*\nauto-generated by: https://github.com/react-spring/gltfjsx\nauthor: MrEmjeR (https://sketchfab.com/MatthijsDeRijk)\nlicense: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)\nsource: https://sketchfab.com/models/2ef4c45caa35450db1b876a7f94ff79d\ntitle: Thor and the Midgard Serpent\n*/\n\nimport * as THREE from \"three\"\nimport React, { useRef } from \"react\"\nimport { useGLTF } from \"@react-three/drei\"\n\ntype GLTFResult = GLTF & {\n nodes: {\n Circle011_EyeFire_0: THREE.Mesh\n Circle011_SerpentBake_0: THREE.Mesh\n Hide003_EyeFire_0: THREE.Mesh\n Hide003_Boat2Bake_0: THREE.Mesh\n Keel002_EyeFire_0: THREE.Mesh\n Keel002_Boat1Bake_0: THREE.Mesh\n Plane044_WaterBake_0: THREE.Mesh\n Rock021_RockBake_0: THREE.Mesh\n VikingShipObjects001_Objects_0: THREE.Mesh\n VikingShipObjects001_Objects_0_1: THREE.Mesh\n }\n materials: {\n EyeFire: THREE.MeshStandardMaterial\n SerpentBake: THREE.MeshStandardMaterial\n Boat2Bake: THREE.MeshStandardMaterial\n Boat1Bake: THREE.MeshStandardMaterial\n WaterBake: THREE.MeshStandardMaterial\n RockBake: THREE.MeshStandardMaterial\n Objects: THREE.MeshStandardMaterial\n }\n}\n\nexport default function Model(props: JSX.IntrinsicElements[\"group\"]) {\n const group = useRef()\n const { nodes, materials } = useGLTF(\"/thor_and_the_midgard_serpent-transformed.glb\") as GLTFResult\n return (\n \u003cgroup ref={group} {...props} dispose={null}>\n \u003cgroup rotation={[-Math.PI / 2, 0, 0]} scale={[0.01, 0.01, 0.01]}>\n \u003cgroup rotation={[Math.PI / 2, 0, 0]}>\n \u003cgroup rotation={[-Math.PI / 2, 0, 0]} scale={[100, 100, 100]}>\n \u003cmesh material={materials.EyeFire} geometry={nodes.Circle011_EyeFire_0.geometry} />\n \u003cmesh\n material={materials.SerpentBake}\n geometry={nodes.Circle011_SerpentBake_0.geometry}\n material-metalness={0}\n />\n \u003c/group>\n \u003cgroup position={[-1018.2, -380.53, 1332.67]} rotation={[-1.05, 0.72, -0.08]} scale={[100, 100, 100]}>\n \u003cmesh material={materials.EyeFire} geometry={nodes.Hide003_EyeFire_0.geometry} />\n \u003cmesh material={materials.Boat2Bake} geometry={nodes.Hide003_Boat2Bake_0.geometry} />\n \u003c/group>\n \u003cgroup position={[349.57, 32.32, 176.64]} rotation={[-1.73, -0.23, -2.65]} scale={[100, 100, 100]}>\n \u003cmesh material={materials.EyeFire} geometry={nodes.Keel002_EyeFire_0.geometry} />\n \u003cmesh material={materials.Boat1Bake} geometry={nodes.Keel002_Boat1Bake_0.geometry} />\n \u003c/group>\n \u003cgroup position={[0, 27.07, 0]} rotation={[-Math.PI / 2, 0, 0]} scale={[100, 100, 170.02]}>\n \u003cmesh geometry={nodes.Plane044_WaterBake_0.geometry}>\n \u003cmeshPhysicalMaterial\n color=\"skyblue\"\n transmission={1}\n thickness={5}\n roughness={0}\n envMapIntensity={2}\n clearcoat={1}\n />\n \u003c/mesh>\n \u003c/group>\n \u003cgroup rotation={[-Math.PI / 2, 0, 0]} scale={[100, 100, 100]}>\n \u003cmesh material={materials.RockBake} geometry={nodes.Rock021_RockBake_0.geometry} material-metalness={0.5} />\n \u003c/group>\n \u003cgroup scale={[100, 100, 100]}>\n \u003cmesh material={materials.Objects} geometry={nodes.VikingShipObjects001_Objects_0.geometry} />\n \u003cmesh material={materials.Objects} geometry={nodes.VikingShipObjects001_Objects_0_1.geometry} />\n \u003c/group>\n \u003c/group>\n \u003c/group>\n \u003c/group>\n )\n}\n","path":"/src/Model.tsx"},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":["/node_modules/react/index.js:","/node_modules/@react-three/drei/index.js:","/node_modules/react/jsx-runtime.js:","/node_modules/@babel/runtime/helpers/interopRequireDefault.js:","/node_modules/@babel/runtime/helpers/interopRequireWildcard.js:","/node_modules/react-refresh/runtime.js:","/node_modules/csbbust/refresh-helper.js:"],"initiators":["/src/App.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":{"fileName":"/src/Model.tsx","compiledCode":"var _csbRefreshUtils = require(\"/node_modules/csbbust/refresh-helper.js\");var prevRefreshReg = window.$RefreshReg$;var prevRefreshSig = window.$RefreshSig$;_csbRefreshUtils.prelude(module);try {\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Model;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _drei = require(\"@react-three/drei\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _jsxFileName = \"/src/Model.tsx\",\n _s = $RefreshSig$();\n/*\nauto-generated by: https://github.com/react-spring/gltfjsx\nauthor: MrEmjeR (https://sketchfab.com/MatthijsDeRijk)\nlicense: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)\nsource: https://sketchfab.com/models/2ef4c45caa35450db1b876a7f94ff79d\ntitle: Thor and the Midgard Serpent\n*/\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction Model(props) {\n _s();\n const group = (0, _react.useRef)();\n const {\n nodes,\n materials\n } = (0, _drei.useGLTF)(\"/thor_and_the_midgard_serpent-transformed.glb\");\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"group\", {\n ref: group,\n ...props,\n dispose: null,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"group\", {\n rotation: [-Math.PI / 2, 0, 0],\n scale: [0.01, 0.01, 0.01],\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"group\", {\n rotation: [Math.PI / 2, 0, 0],\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"group\", {\n rotation: [-Math.PI / 2, 0, 0],\n scale: [100, 100, 100],\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.EyeFire,\n geometry: nodes.Circle011_EyeFire_0.geometry\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.SerpentBake,\n geometry: nodes.Circle011_SerpentBake_0.geometry,\n \"material-metalness\": 0\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"group\", {\n position: [-1018.2, -380.53, 1332.67],\n rotation: [-1.05, 0.72, -0.08],\n scale: [100, 100, 100],\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.EyeFire,\n geometry: nodes.Hide003_EyeFire_0.geometry\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.Boat2Bake,\n geometry: nodes.Hide003_Boat2Bake_0.geometry\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"group\", {\n position: [349.57, 32.32, 176.64],\n rotation: [-1.73, -0.23, -2.65],\n scale: [100, 100, 100],\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.EyeFire,\n geometry: nodes.Keel002_EyeFire_0.geometry\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.Boat1Bake,\n geometry: nodes.Keel002_Boat1Bake_0.geometry\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"group\", {\n position: [0, 27.07, 0],\n rotation: [-Math.PI / 2, 0, 0],\n scale: [100, 100, 170.02],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n geometry: nodes.Plane044_WaterBake_0.geometry,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"meshPhysicalMaterial\", {\n color: \"skyblue\",\n transmission: 1,\n thickness: 5,\n roughness: 0,\n envMapIntensity: 2,\n clearcoat: 1\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"group\", {\n rotation: [-Math.PI / 2, 0, 0],\n scale: [100, 100, 100],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.RockBake,\n geometry: nodes.Rock021_RockBake_0.geometry,\n \"material-metalness\": 0.5\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"group\", {\n scale: [100, 100, 100],\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.Objects,\n geometry: nodes.VikingShipObjects001_Objects_0.geometry\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"mesh\", {\n material: materials.Objects,\n geometry: nodes.VikingShipObjects001_Objects_0_1.geometry\n })]\n })]\n })\n })\n });\n}\n_s(Model, \"bAPJCza2qzt0yv+MC1Y/AQIi0Vc=\", false, function () {\n return [_drei.useGLTF];\n});\n_c = Model;\nvar _c;\n$RefreshReg$(_c, \"Model\");\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZHJlaSIsIl9qc3hSdW50aW1lIiwiX2pzeEZpbGVOYW1lIiwiX3MiLCIkUmVmcmVzaFNpZyQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTW9kZWwiLCJwcm9wcyIsImdyb3VwIiwidXNlUmVmIiwibm9kZXMiLCJtYXRlcmlhbHMiLCJ1c2VHTFRGIiwianN4IiwicmVmIiwiZGlzcG9zZSIsImNoaWxkcmVuIiwicm90YXRpb24iLCJNYXRoIiwiUEkiLCJzY2FsZSIsImpzeHMiLCJtYXRlcmlhbCIsIkV5ZUZpcmUiLCJnZW9tZXRyeSIsIkNpcmNsZTAxMV9FeWVGaXJlXzAiLCJTZXJwZW50QmFrZSIsIkNpcmNsZTAxMV9TZXJwZW50QmFrZV8wIiwicG9zaXRpb24iLCJIaWRlMDAzX0V5ZUZpcmVfMCIsIkJvYXQyQmFrZSIsIkhpZGUwMDNfQm9hdDJCYWtlXzAiLCJLZWVsMDAyX0V5ZUZpcmVfMCIsIkJvYXQxQmFrZSIsIktlZWwwMDJfQm9hdDFCYWtlXzAiLCJQbGFuZTA0NF9XYXRlckJha2VfMCIsImNvbG9yIiwidHJhbnNtaXNzaW9uIiwidGhpY2tuZXNzIiwicm91Z2huZXNzIiwiZW52TWFwSW50ZW5zaXR5IiwiY2xlYXJjb2F0IiwiUm9ja0Jha2UiLCJSb2NrMDIxX1JvY2tCYWtlXzAiLCJPYmplY3RzIiwiVmlraW5nU2hpcE9iamVjdHMwMDFfT2JqZWN0c18wIiwiVmlraW5nU2hpcE9iamVjdHMwMDFfT2JqZWN0c18wXzEiLCJfYyIsIiRSZWZyZXNoUmVnJCJdLCJzb3VyY2VzIjpbIi9zcmMvTW9kZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5hdXRvLWdlbmVyYXRlZCBieTogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LXNwcmluZy9nbHRmanN4XG5hdXRob3I6IE1yRW1qZVIgKGh0dHBzOi8vc2tldGNoZmFiLmNvbS9NYXR0aGlqc0RlUmlqaylcbmxpY2Vuc2U6IENDLUJZLTQuMCAoaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLylcbnNvdXJjZTogaHR0cHM6Ly9za2V0Y2hmYWIuY29tL21vZGVscy8yZWY0YzQ1Y2FhMzU0NTBkYjFiODc2YTdmOTRmZjc5ZFxudGl0bGU6IFRob3IgYW5kIHRoZSBNaWRnYXJkIFNlcnBlbnRcbiovXG5cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gXCJ0aHJlZVwiXG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZUdMVEYgfSBmcm9tIFwiQHJlYWN0LXRocmVlL2RyZWlcIlxuXG50eXBlIEdMVEZSZXN1bHQgPSBHTFRGICYge1xuICBub2Rlczoge1xuICAgIENpcmNsZTAxMV9FeWVGaXJlXzA6IFRIUkVFLk1lc2hcbiAgICBDaXJjbGUwMTFfU2VycGVudEJha2VfMDogVEhSRUUuTWVzaFxuICAgIEhpZGUwMDNfRXllRmlyZV8wOiBUSFJFRS5NZXNoXG4gICAgSGlkZTAwM19Cb2F0MkJha2VfMDogVEhSRUUuTWVzaFxuICAgIEtlZWwwMDJfRXllRmlyZV8wOiBUSFJFRS5NZXNoXG4gICAgS2VlbDAwMl9Cb2F0MUJha2VfMDogVEhSRUUuTWVzaFxuICAgIFBsYW5lMDQ0X1dhdGVyQmFrZV8wOiBUSFJFRS5NZXNoXG4gICAgUm9jazAyMV9Sb2NrQmFrZV8wOiBUSFJFRS5NZXNoXG4gICAgVmlraW5nU2hpcE9iamVjdHMwMDFfT2JqZWN0c18wOiBUSFJFRS5NZXNoXG4gICAgVmlraW5nU2hpcE9iamVjdHMwMDFfT2JqZWN0c18wXzE6IFRIUkVFLk1lc2hcbiAgfVxuICBtYXRlcmlhbHM6IHtcbiAgICBFeWVGaXJlOiBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbFxuICAgIFNlcnBlbnRCYWtlOiBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbFxuICAgIEJvYXQyQmFrZTogVEhSRUUuTWVzaFN0YW5kYXJkTWF0ZXJpYWxcbiAgICBCb2F0MUJha2U6IFRIUkVFLk1lc2hTdGFuZGFyZE1hdGVyaWFsXG4gICAgV2F0ZXJCYWtlOiBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbFxuICAgIFJvY2tCYWtlOiBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbFxuICAgIE9iamVjdHM6IFRIUkVFLk1lc2hTdGFuZGFyZE1hdGVyaWFsXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9kZWwocHJvcHM6IEpTWC5JbnRyaW5zaWNFbGVtZW50c1tcImdyb3VwXCJdKSB7XG4gIGNvbnN0IGdyb3VwID0gdXNlUmVmKClcbiAgY29uc3QgeyBub2RlcywgbWF0ZXJpYWxzIH0gPSB1c2VHTFRGKFwiL3Rob3JfYW5kX3RoZV9taWRnYXJkX3NlcnBlbnQtdHJhbnNmb3JtZWQuZ2xiXCIpIGFzIEdMVEZSZXN1bHRcbiAgcmV0dXJuIChcbiAgICA8Z3JvdXAgcmVmPXtncm91cH0gey4uLnByb3BzfSBkaXNwb3NlPXtudWxsfT5cbiAgICAgIDxncm91cCByb3RhdGlvbj17Wy1NYXRoLlBJIC8gMiwgMCwgMF19IHNjYWxlPXtbMC4wMSwgMC4wMSwgMC4wMV19PlxuICAgICAgICA8Z3JvdXAgcm90YXRpb249e1tNYXRoLlBJIC8gMiwgMCwgMF19PlxuICAgICAgICAgIDxncm91cCByb3RhdGlvbj17Wy1NYXRoLlBJIC8gMiwgMCwgMF19IHNjYWxlPXtbMTAwLCAxMDAsIDEwMF19PlxuICAgICAgICAgICAgPG1lc2ggbWF0ZXJpYWw9e21hdGVyaWFscy5FeWVGaXJlfSBnZW9tZXRyeT17bm9kZXMuQ2lyY2xlMDExX0V5ZUZpcmVfMC5nZW9tZXRyeX0gLz5cbiAgICAgICAgICAgIDxtZXNoXG4gICAgICAgICAgICAgIG1hdGVyaWFsPXttYXRlcmlhbHMuU2VycGVudEJha2V9XG4gICAgICAgICAgICAgIGdlb21ldHJ5PXtub2Rlcy5DaXJjbGUwMTFfU2VycGVudEJha2VfMC5nZW9tZXRyeX1cbiAgICAgICAgICAgICAgbWF0ZXJpYWwtbWV0YWxuZXNzPXswfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2dyb3VwPlxuICAgICAgICAgIDxncm91cCBwb3NpdGlvbj17Wy0xMDE4LjIsIC0zODAuNTMsIDEzMzIuNjddfSByb3RhdGlvbj17Wy0xLjA1LCAwLjcyLCAtMC4wOF19IHNjYWxlPXtbMTAwLCAxMDAsIDEwMF19PlxuICAgICAgICAgICAgPG1lc2ggbWF0ZXJpYWw9e21hdGVyaWFscy5FeWVGaXJlfSBnZW9tZXRyeT17bm9kZXMuSGlkZTAwM19FeWVGaXJlXzAuZ2VvbWV0cnl9IC8+XG4gICAgICAgICAgICA8bWVzaCBtYXRlcmlhbD17bWF0ZXJpYWxzLkJvYXQyQmFrZX0gZ2VvbWV0cnk9e25vZGVzLkhpZGUwMDNfQm9hdDJCYWtlXzAuZ2VvbWV0cnl9IC8+XG4gICAgICAgICAgPC9ncm91cD5cbiAgICAgICAgICA8Z3JvdXAgcG9zaXRpb249e1szNDkuNTcsIDMyLjMyLCAxNzYuNjRdfSByb3RhdGlvbj17Wy0xLjczLCAtMC4yMywgLTIuNjVdfSBzY2FsZT17WzEwMCwgMTAwLCAxMDBdfT5cbiAgICAgICAgICAgIDxtZXNoIG1hdGVyaWFsPXttYXRlcmlhbHMuRXllRmlyZX0gZ2VvbWV0cnk9e25vZGVzLktlZWwwMDJfRXllRmlyZV8wLmdlb21ldHJ5fSAvPlxuICAgICAgICAgICAgPG1lc2ggbWF0ZXJpYWw9e21hdGVyaWFscy5Cb2F0MUJha2V9IGdlb21ldHJ5PXtub2Rlcy5LZWVsMDAyX0JvYXQxQmFrZV8wLmdlb21ldHJ5fSAvPlxuICAgICAgICAgIDwvZ3JvdXA+XG4gICAgICAgICAgPGdyb3VwIHBvc2l0aW9uPXtbMCwgMjcuMDcsIDBdfSByb3RhdGlvbj17Wy1NYXRoLlBJIC8gMiwgMCwgMF19IHNjYWxlPXtbMTAwLCAxMDAsIDE3MC4wMl19PlxuICAgICAgICAgICAgPG1lc2ggZ2VvbWV0cnk9e25vZGVzLlBsYW5lMDQ0X1dhdGVyQmFrZV8wLmdlb21ldHJ5fT5cbiAgICAgICAgICAgICAgPG1lc2hQaHlzaWNhbE1hdGVyaWFsXG4gICAgICAgICAgICAgICAgY29sb3I9XCJza3libHVlXCJcbiAgICAgICAgICAgICAgICB0cmFuc21pc3Npb249ezF9XG4gICAgICAgICAgICAgICAgdGhpY2tuZXNzPXs1fVxuICAgICAgICAgICAgICAgIHJvdWdobmVzcz17MH1cbiAgICAgICAgICAgICAgICBlbnZNYXBJbnRlbnNpdHk9ezJ9XG4gICAgICAgICAgICAgICAgY2xlYXJjb2F0PXsxfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tZXNoPlxuICAgICAgICAgIDwvZ3JvdXA+XG4gICAgICAgICAgPGdyb3VwIHJvdGF0aW9uPXtbLU1hdGguUEkgLyAyLCAwLCAwXX0gc2NhbGU9e1sxMDAsIDEwMCwgMTAwXX0+XG4gICAgICAgICAgICA8bWVzaCBtYXRlcmlhbD17bWF0ZXJpYWxzLlJvY2tCYWtlfSBnZW9tZXRyeT17bm9kZXMuUm9jazAyMV9Sb2NrQmFrZV8wLmdlb21ldHJ5fSBtYXRlcmlhbC1tZXRhbG5lc3M9ezAuNX0gLz5cbiAgICAgICAgICA8L2dyb3VwPlxuICAgICAgICAgIDxncm91cCBzY2FsZT17WzEwMCwgMTAwLCAxMDBdfT5cbiAgICAgICAgICAgIDxtZXNoIG1hdGVyaWFsPXttYXRlcmlhbHMuT2JqZWN0c30gZ2VvbWV0cnk9e25vZGVzLlZpa2luZ1NoaXBPYmplY3RzMDAxX09iamVjdHNfMC5nZW9tZXRyeX0gLz5cbiAgICAgICAgICAgIDxtZXNoIG1hdGVyaWFsPXttYXRlcmlhbHMuT2JqZWN0c30gZ2VvbWV0cnk9e25vZGVzLlZpa2luZ1NoaXBPYmplY3RzMDAxX09iamVjdHNfMF8xLmdlb21ldHJ5fSAvPlxuICAgICAgICAgIDwvZ3JvdXA+XG4gICAgICAgIDwvZ3JvdXA+XG4gICAgICA8L2dyb3VwPlxuICAgIDwvZ3JvdXA+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBU0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUFBLElBQUFHLFlBQUE7RUFBQUMsRUFBQSxHQUFBQyxZQUFBO0FBVjNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkEsU0FBQUMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVIsd0JBQUFZLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTCxHQUFBLFNBQUFNLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWCxHQUFBLFFBQUFXLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWQsR0FBQSxFQUFBVyxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixHQUFBLEVBQUFXLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVgsR0FBQSxDQUFBVyxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFoQixHQUFBLEVBQUFNLE1BQUEsWUFBQUEsTUFBQTtBQW9DZSxTQUFTVyxLQUFLQSxDQUFDQyxLQUFxQyxFQUFFO0VBQUF6QixFQUFBO0VBQ25FLE1BQU0wQixLQUFLLEdBQUcsSUFBQUMsYUFBTSxFQUFDLENBQUM7RUFDdEIsTUFBTTtJQUFFQyxLQUFLO0lBQUVDO0VBQVUsQ0FBQyxHQUFHLElBQUFDLGFBQU8sRUFBQywrQ0FBK0MsQ0FBZTtFQUNuRyxvQkFDRSxJQUFBaEMsV0FBQSxDQUFBaUMsR0FBQTtJQUFPQyxHQUFHLEVBQUVOLEtBQU07SUFBQSxHQUFLRCxLQUFLO0lBQUVRLE9BQU8sRUFBRSxJQUFLO0lBQUFDLFFBQUEsZUFDMUMsSUFBQXBDLFdBQUEsQ0FBQWlDLEdBQUE7TUFBT0ksUUFBUSxFQUFFLENBQUMsQ0FBQ0MsSUFBSSxDQUFDQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUU7TUFBQ0MsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUU7TUFBQUosUUFBQSxlQUMvRCxJQUFBcEMsV0FBQSxDQUFBeUMsSUFBQTtRQUFPSixRQUFRLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUU7UUFBQUgsUUFBQSxnQkFDbkMsSUFBQXBDLFdBQUEsQ0FBQXlDLElBQUE7VUFBT0osUUFBUSxFQUFFLENBQUMsQ0FBQ0MsSUFBSSxDQUFDQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUU7VUFBQ0MsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUU7VUFBQUosUUFBQSxnQkFDNUQsSUFBQXBDLFdBQUEsQ0FBQWlDLEdBQUE7WUFBTVMsUUFBUSxFQUFFWCxTQUFTLENBQUNZLE9BQVE7WUFBQ0MsUUFBUSxFQUFFZCxLQUFLLENBQUNlLG1CQUFtQixDQUFDRDtVQUFTLENBQUUsQ0FBQyxlQUNuRixJQUFBNUMsV0FBQSxDQUFBaUMsR0FBQTtZQUNFUyxRQUFRLEVBQUVYLFNBQVMsQ0FBQ2UsV0FBWTtZQUNoQ0YsUUFBUSxFQUFFZCxLQUFLLENBQUNpQix1QkFBdUIsQ0FBQ0gsUUFBUztZQUNqRCxzQkFBb0I7VUFBRSxDQUN2QixDQUFDO1FBQUEsQ0FDRyxDQUFDLGVBQ1IsSUFBQTVDLFdBQUEsQ0FBQXlDLElBQUE7VUFBT08sUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFFO1VBQUNYLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBRTtVQUFDRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRTtVQUFBSixRQUFBLGdCQUNuRyxJQUFBcEMsV0FBQSxDQUFBaUMsR0FBQTtZQUFNUyxRQUFRLEVBQUVYLFNBQVMsQ0FBQ1ksT0FBUTtZQUFDQyxRQUFRLEVBQUVkLEtBQUssQ0FBQ21CLGlCQUFpQixDQUFDTDtVQUFTLENBQUUsQ0FBQyxlQUNqRixJQUFBNUMsV0FBQSxDQUFBaUMsR0FBQTtZQUFNUyxRQUFRLEVBQUVYLFNBQVMsQ0FBQ21CLFNBQVU7WUFBQ04sUUFBUSxFQUFFZCxLQUFLLENBQUNxQixtQkFBbUIsQ0FBQ1A7VUFBUyxDQUFFLENBQUM7UUFBQSxDQUNoRixDQUFDLGVBQ1IsSUFBQTVDLFdBQUEsQ0FBQXlDLElBQUE7VUFBT08sUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7VUFBQ1gsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUU7VUFBQ0csS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUU7VUFBQUosUUFBQSxnQkFDaEcsSUFBQXBDLFdBQUEsQ0FBQWlDLEdBQUE7WUFBTVMsUUFBUSxFQUFFWCxTQUFTLENBQUNZLE9BQVE7WUFBQ0MsUUFBUSxFQUFFZCxLQUFLLENBQUNzQixpQkFBaUIsQ0FBQ1I7VUFBUyxDQUFFLENBQUMsZUFDakYsSUFBQTVDLFdBQUEsQ0FBQWlDLEdBQUE7WUFBTVMsUUFBUSxFQUFFWCxTQUFTLENBQUNzQixTQUFVO1lBQUNULFFBQVEsRUFBRWQsS0FBSyxDQUFDd0IsbUJBQW1CLENBQUNWO1VBQVMsQ0FBRSxDQUFDO1FBQUEsQ0FDaEYsQ0FBQyxlQUNSLElBQUE1QyxXQUFBLENBQUFpQyxHQUFBO1VBQU9lLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFFO1VBQUNYLFFBQVEsRUFBRSxDQUFDLENBQUNDLElBQUksQ0FBQ0MsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFFO1VBQUNDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFFO1VBQUFKLFFBQUEsZUFDeEYsSUFBQXBDLFdBQUEsQ0FBQWlDLEdBQUE7WUFBTVcsUUFBUSxFQUFFZCxLQUFLLENBQUN5QixvQkFBb0IsQ0FBQ1gsUUFBUztZQUFBUixRQUFBLGVBQ2xELElBQUFwQyxXQUFBLENBQUFpQyxHQUFBO2NBQ0V1QixLQUFLLEVBQUMsU0FBUztjQUNmQyxZQUFZLEVBQUUsQ0FBRTtjQUNoQkMsU0FBUyxFQUFFLENBQUU7Y0FDYkMsU0FBUyxFQUFFLENBQUU7Y0FDYkMsZUFBZSxFQUFFLENBQUU7Y0FDbkJDLFNBQVMsRUFBRTtZQUFFLENBQ2Q7VUFBQyxDQUNFO1FBQUMsQ0FDRixDQUFDLGVBQ1IsSUFBQTdELFdBQUEsQ0FBQWlDLEdBQUE7VUFBT0ksUUFBUSxFQUFFLENBQUMsQ0FBQ0MsSUFBSSxDQUFDQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUU7VUFBQ0MsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUU7VUFBQUosUUFBQSxlQUM1RCxJQUFBcEMsV0FBQSxDQUFBaUMsR0FBQTtZQUFNUyxRQUFRLEVBQUVYLFNBQVMsQ0FBQytCLFFBQVM7WUFBQ2xCLFFBQVEsRUFBRWQsS0FBSyxDQUFDaUMsa0JBQWtCLENBQUNuQixRQUFTO1lBQUMsc0JBQW9CO1VBQUksQ0FBRTtRQUFDLENBQ3ZHLENBQUMsZUFDUixJQUFBNUMsV0FBQSxDQUFBeUMsSUFBQTtVQUFPRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRTtVQUFBSixRQUFBLGdCQUM1QixJQUFBcEMsV0FBQSxDQUFBaUMsR0FBQTtZQUFNUyxRQUFRLEVBQUVYLFNBQVMsQ0FBQ2lDLE9BQVE7WUFBQ3BCLFFBQVEsRUFBRWQsS0FBSyxDQUFDbUMsOEJBQThCLENBQUNyQjtVQUFTLENBQUUsQ0FBQyxlQUM5RixJQUFBNUMsV0FBQSxDQUFBaUMsR0FBQTtZQUFNUyxRQUFRLEVBQUVYLFNBQVMsQ0FBQ2lDLE9BQVE7WUFBQ3BCLFFBQVEsRUFBRWQsS0FBSyxDQUFDb0MsZ0NBQWdDLENBQUN0QjtVQUFTLENBQUUsQ0FBQztRQUFBLENBQzNGLENBQUM7TUFBQSxDQUNIO0lBQUMsQ0FDSDtFQUFDLENBQ0gsQ0FBQztBQUVaO0FBQUMxQyxFQUFBLENBOUN1QndCLEtBQUs7RUFBQSxRQUVFTSxhQUFPO0FBQUE7QUFBQW1DLEVBQUEsR0FGZHpDLEtBQUs7QUFBQSxJQUFBeUMsRUFBQTtBQUFBQyxZQUFBLENBQUFELEVBQUEifQ==\n_csbRefreshUtils.postlude(module);} finally { window.$RefreshReg$ = prevRefreshReg; window.$RefreshSig$ = prevRefreshSig;}","sourceEqualsCompiled":false}},"/node_modules/@use-gesture/core/10.2.20/actions/dist/use-gesture-core-actions.esm.js:":{"query":"","module":{"path":"/node_modules/@use-gesture/core/10.2.20/actions/dist/use-gesture-core-actions.esm.js","code":"export { C as ConfigResolverMap, E as EngineMap, e as dragAction, h as hoverAction, m as moveAction, f as pinchAction, r as registerAction, s as scrollAction, w as wheelAction } from '../../dist/actions-aeda4790.esm.js';\nimport '../../dist/maths-b2a210f4.esm.js';\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":["/node_modules/@use-gesture/core/10.2.20/dist/actions-aeda4790.esm.js:","/node_modules/@use-gesture/core/10.2.20/dist/maths-b2a210f4.esm.js:"],"initiators":["/node_modules/@use-gesture/react/dist/use-gesture-react.esm.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@use-gesture/core/10.2.20/utils/dist/use-gesture-core-utils.esm.js:":{"query":"","module":{"path":"/node_modules/@use-gesture/core/10.2.20/utils/dist/use-gesture-core-utils.esm.js","code":"export { r as rubberbandIfOutOfBounds } from '../../dist/maths-b2a210f4.esm.js';\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":["/node_modules/@use-gesture/core/10.2.20/dist/maths-b2a210f4.esm.js:"],"initiators":["/node_modules/@use-gesture/react/dist/use-gesture-react.esm.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@use-gesture/core/10.2.20/types/dist/use-gesture-core-types.esm.js:":{"query":"","module":{"path":"/node_modules/@use-gesture/core/10.2.20/types/dist/use-gesture-core-types.esm.js","code":"\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":[],"initiators":["/node_modules/@use-gesture/react/dist/use-gesture-react.esm.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/csbbust/refresh-helper.js:":{"query":"","module":{"path":"/node_modules/csbbust/refresh-helper.js","parent":{"code":"import { createRoot } from \"react-dom/client\"\nimport React from \"react\"\nimport App from \"./App\"\nimport \"./styles.css\"\n\ncreateRoot(document.getElementById(\"root\")).render(\u003cApp />)\n","path":"/src/index.tsx"},"code":"const RefreshRuntime = require('react-refresh/runtime');\n\nfunction debounce(fn, delay) {\n var handle;\n return () => {\n clearTimeout(handle);\n handle = setTimeout(fn, delay);\n };\n}\n\nconst enqueueUpdate = debounce(() => {\n try {\n RefreshRuntime.performReactRefresh();\n } catch (e) {\n module.hot.decline();\n throw e;\n }\n}, 30);\n\nfunction isReactRefreshBoundary(moduleExports) {\n if (Object.keys(RefreshRuntime).length === 0) {\n return false;\n }\n\n if (RefreshRuntime.isLikelyComponentType(moduleExports)) {\n return true;\n }\n\n if (moduleExports == null || typeof moduleExports !== 'object') {\n /** Exit if we can't iterate over exports. */\n return false;\n }\n\n let hasExports = false;\n let areAllExportsComponents = true;\n for (const key in moduleExports) {\n hasExports = true;\n\n if (key === '__esModule') {\n continue;\n }\n\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n /** Don't invoke getters as they may have side effects. */\n return false;\n }\n\n const exportValue = moduleExports[key];\n if (!RefreshRuntime.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n \n return hasExports && areAllExportsComponents;\n};\n\n/** When this signature changes, it's unsafe to stop at this refresh boundary. */\nfunction getRefreshBoundarySignature(moduleExports) {\n const signature = [];\n signature.push(RefreshRuntime.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n /** Exit if we can't iterate over exports. */\n /** (This is important for legacy environments.) */\n return signature;\n }\n\n for (const key in moduleExports) {\n if (key === '__esModule') {\n continue;\n }\n\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n continue;\n }\n\n const exportValue = moduleExports[key];\n signature.push(key);\n signature.push(RefreshRuntime.getFamilyByType(exportValue));\n }\n\n return signature;\n};\n\nfunction shouldInvalidateReactRefreshBoundary(\n prevExports,\n nextExports,\n) {\n const prevSignature = getRefreshBoundarySignature(prevExports);\n const nextSignature = getRefreshBoundarySignature(nextExports);\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n \n for (let i = 0; i \u003c nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n\n return false;\n};\n\nvar registerExportsForReactRefresh = (moduleExports, moduleID) => {\n RefreshRuntime.register(moduleExports, moduleID + ' %exports%');\n if (moduleExports == null || typeof moduleExports !== 'object') {\n /** Exit if we can't iterate over exports. */\n /** (This is important for legacy environments.) */\n return;\n }\n for (const key in moduleExports) {\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n /** Don't invoke getters as they may have side effects. */\n continue;\n }\n const exportValue = moduleExports[key];\n const typeID = moduleID + ' %exports% ' + key;\n RefreshRuntime.register(exportValue, typeID);\n }\n};\n\nfunction prelude(module) {\n window.$RefreshReg$ = (type, id) => {\n /** Note module.id is webpack-specific, this may vary in other bundlers */\n const fullId = module.id + ' ' + id;\n RefreshRuntime.register(type, fullId);\n }\n \n window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;\n}\n\nfunction postlude(module) {\n const isHotUpdate = !!module.hot.data;\n const prevExports = isHotUpdate ? module.hot.data.prevExports : null;\n if (isReactRefreshBoundary(module.exports)) {\n registerExportsForReactRefresh(module.exports, module.id);\n const currentExports = { ...module.exports };\n\n module.hot.dispose(function hotDisposeCallback(data) {\n data.prevExports = currentExports;\n });\n\n if (isHotUpdate && shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n } else {\n module.hot.accept();\n }\n\n enqueueUpdate();\n } else if (isHotUpdate && isReactRefreshBoundary(prevExports)) {\n module.hot.invalidate();\n }\n}\n\nmodule.exports = {\n enqueueUpdate,\n isReactRefreshBoundary,\n registerExportsForReactRefresh,\n shouldInvalidateReactRefreshBoundary,\n prelude,\n postlude,\n};"},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/react-refresh/runtime.js:"],"initiators":["/src/App.tsx:","/src/index.tsx:","/src/Model.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/react/jsx-runtime.js:":{"query":"","module":{"path":"/node_modules/react/jsx-runtime.js","code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/react/cjs/react-jsx-runtime.production.min.js:","/node_modules/react/cjs/react-jsx-runtime.development.js:"],"initiators":["/src/App.tsx:","/src/index.tsx:","/src/Model.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/react-dom/client.js:":{"query":"","module":{"path":"/node_modules/react-dom/client.js","code":"'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/react-dom/index.js:"],"initiators":["/src/index.tsx:","/node_modules/@react-three/drei/web/Html.js:","/node_modules/@react-three/drei/web/ScrollControls.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@babel/runtime/helpers/interopRequireDefault.js:":{"query":"","module":{"path":"/node_modules/@babel/runtime/helpers/interopRequireDefault.js","code":"function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":[],"initiators":["/src/App.tsx:","/src/index.tsx:","/src/Model.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@babel/runtime/helpers/interopRequireWildcard.js:":{"query":"","module":{"path":"/node_modules/@babel/runtime/helpers/interopRequireWildcard.js","code":"var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _interopRequireWildcard(e, t) {\n if (\"function\" == typeof WeakMap) var r = new WeakMap(),\n n = new WeakMap();\n return (module.exports = _interopRequireWildcard = function _interopRequireWildcard(e, t) {\n if (!t && e && e.__esModule) return e;\n var o,\n i,\n f = {\n __proto__: null,\n \"default\": e\n };\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return f;\n if (o = t ? n : r) {\n if (o.has(e)) return o.get(e);\n o.set(e, f);\n }\n for (var _t in e) \"default\" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]);\n return f;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)(e, t);\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/@babel/runtime/helpers/typeof.js:"],"initiators":["/src/App.tsx:","/src/index.tsx:","/src/Model.tsx:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/opentype.js/dist/fs:":{"query":"","module":{"path":"/node_modules/opentype.js/dist/fs","code":"// empty","requires":[]},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":[],"initiators":["/node_modules/opentype.js/dist/opentype.module.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/react/cjs/react-jsx-runtime.production.min.js:":{"query":"","module":{"path":"/node_modules/react/cjs/react-jsx-runtime.production.min.js","code":"/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/react/index.js:"],"initiators":["/node_modules/react/jsx-runtime.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/react/cjs/react-jsx-runtime.development.js:":{"query":"","module":{"path":"/node_modules/react/cjs/react-jsx-runtime.development.js","code":"/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 \u003c _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth \u003c 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c \u003c 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\u003canonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('\u003canonymous>')) {\n _frame = _frame.replace('\u003canonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. \u003cdiv {...props} key=\"Hi\" />\n // or \u003cdiv key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // \u003cdiv {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using \u003c\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i \u003c node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i \u003c keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"\u003c\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i \u003c children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/react/index.js:"],"initiators":["/node_modules/react/jsx-runtime.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@babel/runtime/helpers/typeof.js:":{"query":"","module":{"path":"/node_modules/@babel/runtime/helpers/typeof.js","code":"function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":[],"initiators":["/node_modules/@babel/runtime/helpers/interopRequireWildcard.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@babel/runtime/helpers/esm/extends.js:":{"query":"","module":{"path":"/node_modules/@babel/runtime/helpers/esm/extends.js","code":"function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e \u003c arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":[],"initiators":["/node_modules/@react-three/drei/core/RoundedBox.js:","/node_modules/@react-three/drei/core/MeshReflectorMaterial.js:","/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js:","/node_modules/@react-three/drei/web/Html.js:","/node_modules/@react-three/drei/web/ScrollControls.js:","/node_modules/@react-three/drei/web/PresentationControls.js:","/node_modules/@react-three/drei/web/Select.js:","/node_modules/@react-three/drei/core/Billboard.js:","/node_modules/@react-three/drei/core/ScreenSpace.js:","/node_modules/@react-three/drei/core/QuadraticBezierLine.js:","/node_modules/@react-three/drei/core/CubicBezierLine.js:","/node_modules/@react-three/drei/core/CatmullRomLine.js:","/node_modules/@react-three/drei/core/Line.js:","/node_modules/@react-three/drei/core/PositionalAudio.js:","/node_modules/@react-three/drei/core/Text.js:","/node_modules/@react-three/drei/core/Text3D.js:","/node_modules/@react-three/drei/core/Effects.js:","/node_modules/@react-three/drei/core/GradientTexture.js:","/node_modules/@react-three/drei/core/Image.js:","/node_modules/@react-three/drei/core/Edges.js:","/node_modules/@react-three/drei/core/Sampler.js:","/node_modules/@react-three/drei/core/ComputedAttribute.js:","/node_modules/@react-three/drei/core/Clone.js:","/node_modules/@react-three/drei/core/MarchingCubes.js:","/node_modules/@react-three/drei/core/Decal.js:","/node_modules/@react-three/drei/core/Svg.js:","/node_modules/@react-three/drei/core/Gltf.js:","/node_modules/@react-three/drei/core/OrthographicCamera.js:","/node_modules/@react-three/drei/core/PerspectiveCamera.js:","/node_modules/@react-three/drei/core/DeviceOrientationControls.js:","/node_modules/@react-three/drei/core/FlyControls.js:","/node_modules/@react-three/drei/core/MapControls.js:","/node_modules/@react-three/drei/core/OrbitControls.js:","/node_modules/@react-three/drei/core/TrackballControls.js:","/node_modules/@react-three/drei/core/ArcballControls.js:","/node_modules/@react-three/drei/core/TransformControls.js:","/node_modules/@react-three/drei/core/PointerLockControls.js:","/node_modules/@react-three/drei/core/FirstPersonControls.js:","/node_modules/@react-three/drei/core/CameraControls.js:","/node_modules/@react-three/drei/core/FaceControls.js:","/node_modules/@react-three/drei/core/GizmoViewcube.js:","/node_modules/@react-three/drei/core/GizmoViewport.js:","/node_modules/@react-three/drei/core/Grid.js:","/node_modules/@react-three/drei/core/useBVH.js:","/node_modules/@react-three/drei/core/BBAnchor.js:","/node_modules/@react-three/drei/core/MeshDistortMaterial.js:","/node_modules/@react-three/drei/core/MeshWobbleMaterial.js:","/node_modules/@react-three/drei/core/MeshRefractionMaterial.js:","/node_modules/@react-three/drei/core/MeshTransmissionMaterial.js:","/node_modules/@react-three/drei/core/MeshDiscardMaterial.js:","/node_modules/@react-three/drei/core/PointMaterial.js:","/node_modules/@react-three/drei/core/shapes.js:","/node_modules/@react-three/drei/core/ScreenQuad.js:","/node_modules/@react-three/drei/core/Center.js:","/node_modules/@react-three/drei/core/Resize.js:","/node_modules/@react-three/drei/core/Stage.js:","/node_modules/@react-three/drei/core/Shadow.js:","/node_modules/@react-three/drei/core/Caustics.js:","/node_modules/@react-three/drei/core/ContactShadows.js:","/node_modules/@react-three/drei/core/AccumulativeShadows.js:","/node_modules/@react-three/drei/core/Reflector.js:","/node_modules/@react-three/drei/core/SpotLight.js:","/node_modules/@react-three/drei/core/Environment.js:","/node_modules/@react-three/drei/core/Lightformer.js:","/node_modules/@react-three/drei/core/Sky.js:","/node_modules/@react-three/drei/core/Sparkles.js:","/node_modules/@react-three/drei/core/Wireframe.js:","/node_modules/@react-three/drei/core/Points.js:","/node_modules/@react-three/drei/core/Instances.js:","/node_modules/@react-three/drei/core/Segments.js:","/node_modules/@react-three/drei/core/Detailed.js:","/node_modules/@react-three/drei/core/RenderTexture.js:","/node_modules/@react-three/drei/core/Mask.js:","/node_modules/@react-three/drei/core/MeshPortalMaterial.js:","/node_modules/@react-three/drei/web/pivotControls/index.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/ktx-parse/dist/ktx-parse.modern.js:":{"query":"","module":{"path":"/node_modules/ktx-parse/dist/ktx-parse.modern.js","code":"///////////////////////////////////////////////////\n// KTX2 Header.\n///////////////////////////////////////////////////\nconst KHR_SUPERCOMPRESSION_NONE = 0;\nconst KHR_SUPERCOMPRESSION_BASISLZ = 1;\nconst KHR_SUPERCOMPRESSION_ZSTD = 2;\nconst KHR_SUPERCOMPRESSION_ZLIB = 3; ///////////////////////////////////////////////////\n// Data Format Descriptor (DFD).\n///////////////////////////////////////////////////\n\nconst KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT = 0;\nconst KHR_DF_VENDORID_KHRONOS = 0;\nconst KHR_DF_VERSION = 2;\nconst KHR_DF_MODEL_UNSPECIFIED = 0;\nconst KHR_DF_MODEL_RGBSDA = 1; // ...\n\nconst KHR_DF_MODEL_ETC1 = 160;\nconst KHR_DF_MODEL_ETC2 = 161;\nconst KHR_DF_MODEL_ASTC = 162;\nconst KHR_DF_MODEL_ETC1S = 163;\nconst KHR_DF_MODEL_UASTC = 166;\nconst KHR_DF_FLAG_ALPHA_STRAIGHT = 0;\nconst KHR_DF_FLAG_ALPHA_PREMULTIPLIED = 1;\nconst KHR_DF_TRANSFER_UNSPECIFIED = 0;\nconst KHR_DF_TRANSFER_LINEAR = 1;\nconst KHR_DF_TRANSFER_SRGB = 2;\nconst KHR_DF_TRANSFER_ITU = 3;\nconst KHR_DF_TRANSFER_NTSC = 4;\nconst KHR_DF_TRANSFER_SLOG = 5;\nconst KHR_DF_TRANSFER_SLOG2 = 6;\nconst KHR_DF_TRANSFER_BT1886 = 7;\nconst KHR_DF_TRANSFER_HLG_OETF = 8;\nconst KHR_DF_TRANSFER_HLG_EOTF = 9;\nconst KHR_DF_TRANSFER_PQ_EOTF = 10;\nconst KHR_DF_TRANSFER_PQ_OETF = 11;\nconst KHR_DF_TRANSFER_DCIP3 = 12;\nconst KHR_DF_TRANSFER_PAL_OETF = 13;\nconst KHR_DF_TRANSFER_PAL625_EOTF = 14;\nconst KHR_DF_TRANSFER_ST240 = 15;\nconst KHR_DF_TRANSFER_ACESCC = 16;\nconst KHR_DF_TRANSFER_ACESCCT = 17;\nconst KHR_DF_TRANSFER_ADOBERGB = 18;\nconst KHR_DF_PRIMARIES_UNSPECIFIED = 0;\nconst KHR_DF_PRIMARIES_BT709 = 1;\nconst KHR_DF_PRIMARIES_BT601_EBU = 2;\nconst KHR_DF_PRIMARIES_BT601_SMPTE = 3;\nconst KHR_DF_PRIMARIES_BT2020 = 4;\nconst KHR_DF_PRIMARIES_CIEXYZ = 5;\nconst KHR_DF_PRIMARIES_ACES = 6;\nconst KHR_DF_PRIMARIES_ACESCC = 7;\nconst KHR_DF_PRIMARIES_NTSC1953 = 8;\nconst KHR_DF_PRIMARIES_PAL525 = 9;\nconst KHR_DF_PRIMARIES_DISPLAYP3 = 10;\nconst KHR_DF_PRIMARIES_ADOBERGB = 11;\nconst KHR_DF_CHANNEL_RGBSDA_RED = 0;\nconst KHR_DF_CHANNEL_RGBSDA_GREEN = 1;\nconst KHR_DF_CHANNEL_RGBSDA_BLUE = 2;\nconst KHR_DF_CHANNEL_RGBSDA_STENCIL = 13;\nconst KHR_DF_CHANNEL_RGBSDA_DEPTH = 14;\nconst KHR_DF_CHANNEL_RGBSDA_ALPHA = 15;\nconst KHR_DF_SAMPLE_DATATYPE_FLOAT = 0x80;\nconst KHR_DF_SAMPLE_DATATYPE_SIGNED = 0x40;\nconst KHR_DF_SAMPLE_DATATYPE_EXPONENT = 0x20;\nconst KHR_DF_SAMPLE_DATATYPE_LINEAR = 0x10; ///////////////////////////////////////////////////\n// VK FORMAT.\n///////////////////////////////////////////////////\n\nconst VK_FORMAT_UNDEFINED = 0;\nconst VK_FORMAT_R4G4_UNORM_PACK8 = 1;\nconst VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2;\nconst VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3;\nconst VK_FORMAT_R5G6B5_UNORM_PACK16 = 4;\nconst VK_FORMAT_B5G6R5_UNORM_PACK16 = 5;\nconst VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6;\nconst VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7;\nconst VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8;\nconst VK_FORMAT_R8_UNORM = 9;\nconst VK_FORMAT_R8_SNORM = 10;\nconst VK_FORMAT_R8_UINT = 13;\nconst VK_FORMAT_R8_SINT = 14;\nconst VK_FORMAT_R8_SRGB = 15;\nconst VK_FORMAT_R8G8_UNORM = 16;\nconst VK_FORMAT_R8G8_SNORM = 17;\nconst VK_FORMAT_R8G8_UINT = 20;\nconst VK_FORMAT_R8G8_SINT = 21;\nconst VK_FORMAT_R8G8_SRGB = 22;\nconst VK_FORMAT_R8G8B8_UNORM = 23;\nconst VK_FORMAT_R8G8B8_SNORM = 24;\nconst VK_FORMAT_R8G8B8_UINT = 27;\nconst VK_FORMAT_R8G8B8_SINT = 28;\nconst VK_FORMAT_R8G8B8_SRGB = 29;\nconst VK_FORMAT_B8G8R8_UNORM = 30;\nconst VK_FORMAT_B8G8R8_SNORM = 31;\nconst VK_FORMAT_B8G8R8_UINT = 34;\nconst VK_FORMAT_B8G8R8_SINT = 35;\nconst VK_FORMAT_B8G8R8_SRGB = 36;\nconst VK_FORMAT_R8G8B8A8_UNORM = 37;\nconst VK_FORMAT_R8G8B8A8_SNORM = 38;\nconst VK_FORMAT_R8G8B8A8_UINT = 41;\nconst VK_FORMAT_R8G8B8A8_SINT = 42;\nconst VK_FORMAT_R8G8B8A8_SRGB = 43;\nconst VK_FORMAT_B8G8R8A8_UNORM = 44;\nconst VK_FORMAT_B8G8R8A8_SNORM = 45;\nconst VK_FORMAT_B8G8R8A8_UINT = 48;\nconst VK_FORMAT_B8G8R8A8_SINT = 49;\nconst VK_FORMAT_B8G8R8A8_SRGB = 50;\nconst VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58;\nconst VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59;\nconst VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62;\nconst VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63;\nconst VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64;\nconst VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65;\nconst VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68;\nconst VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69;\nconst VK_FORMAT_R16_UNORM = 70;\nconst VK_FORMAT_R16_SNORM = 71;\nconst VK_FORMAT_R16_UINT = 74;\nconst VK_FORMAT_R16_SINT = 75;\nconst VK_FORMAT_R16_SFLOAT = 76;\nconst VK_FORMAT_R16G16_UNORM = 77;\nconst VK_FORMAT_R16G16_SNORM = 78;\nconst VK_FORMAT_R16G16_UINT = 81;\nconst VK_FORMAT_R16G16_SINT = 82;\nconst VK_FORMAT_R16G16_SFLOAT = 83;\nconst VK_FORMAT_R16G16B16_UNORM = 84;\nconst VK_FORMAT_R16G16B16_SNORM = 85;\nconst VK_FORMAT_R16G16B16_UINT = 88;\nconst VK_FORMAT_R16G16B16_SINT = 89;\nconst VK_FORMAT_R16G16B16_SFLOAT = 90;\nconst VK_FORMAT_R16G16B16A16_UNORM = 91;\nconst VK_FORMAT_R16G16B16A16_SNORM = 92;\nconst VK_FORMAT_R16G16B16A16_UINT = 95;\nconst VK_FORMAT_R16G16B16A16_SINT = 96;\nconst VK_FORMAT_R16G16B16A16_SFLOAT = 97;\nconst VK_FORMAT_R32_UINT = 98;\nconst VK_FORMAT_R32_SINT = 99;\nconst VK_FORMAT_R32_SFLOAT = 100;\nconst VK_FORMAT_R32G32_UINT = 101;\nconst VK_FORMAT_R32G32_SINT = 102;\nconst VK_FORMAT_R32G32_SFLOAT = 103;\nconst VK_FORMAT_R32G32B32_UINT = 104;\nconst VK_FORMAT_R32G32B32_SINT = 105;\nconst VK_FORMAT_R32G32B32_SFLOAT = 106;\nconst VK_FORMAT_R32G32B32A32_UINT = 107;\nconst VK_FORMAT_R32G32B32A32_SINT = 108;\nconst VK_FORMAT_R32G32B32A32_SFLOAT = 109;\nconst VK_FORMAT_R64_UINT = 110;\nconst VK_FORMAT_R64_SINT = 111;\nconst VK_FORMAT_R64_SFLOAT = 112;\nconst VK_FORMAT_R64G64_UINT = 113;\nconst VK_FORMAT_R64G64_SINT = 114;\nconst VK_FORMAT_R64G64_SFLOAT = 115;\nconst VK_FORMAT_R64G64B64_UINT = 116;\nconst VK_FORMAT_R64G64B64_SINT = 117;\nconst VK_FORMAT_R64G64B64_SFLOAT = 118;\nconst VK_FORMAT_R64G64B64A64_UINT = 119;\nconst VK_FORMAT_R64G64B64A64_SINT = 120;\nconst VK_FORMAT_R64G64B64A64_SFLOAT = 121;\nconst VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122;\nconst VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123;\nconst VK_FORMAT_D16_UNORM = 124;\nconst VK_FORMAT_X8_D24_UNORM_PACK32 = 125;\nconst VK_FORMAT_D32_SFLOAT = 126;\nconst VK_FORMAT_S8_UINT = 127;\nconst VK_FORMAT_D16_UNORM_S8_UINT = 128;\nconst VK_FORMAT_D24_UNORM_S8_UINT = 129;\nconst VK_FORMAT_D32_SFLOAT_S8_UINT = 130;\nconst VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131;\nconst VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132;\nconst VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133;\nconst VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134;\nconst VK_FORMAT_BC2_UNORM_BLOCK = 135;\nconst VK_FORMAT_BC2_SRGB_BLOCK = 136;\nconst VK_FORMAT_BC3_UNORM_BLOCK = 137;\nconst VK_FORMAT_BC3_SRGB_BLOCK = 138;\nconst VK_FORMAT_BC4_UNORM_BLOCK = 139;\nconst VK_FORMAT_BC4_SNORM_BLOCK = 140;\nconst VK_FORMAT_BC5_UNORM_BLOCK = 141;\nconst VK_FORMAT_BC5_SNORM_BLOCK = 142;\nconst VK_FORMAT_BC6H_UFLOAT_BLOCK = 143;\nconst VK_FORMAT_BC6H_SFLOAT_BLOCK = 144;\nconst VK_FORMAT_BC7_UNORM_BLOCK = 145;\nconst VK_FORMAT_BC7_SRGB_BLOCK = 146;\nconst VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147;\nconst VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148;\nconst VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149;\nconst VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150;\nconst VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151;\nconst VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152;\nconst VK_FORMAT_EAC_R11_UNORM_BLOCK = 153;\nconst VK_FORMAT_EAC_R11_SNORM_BLOCK = 154;\nconst VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155;\nconst VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156;\nconst VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157;\nconst VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158;\nconst VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159;\nconst VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160;\nconst VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161;\nconst VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162;\nconst VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163;\nconst VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164;\nconst VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165;\nconst VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166;\nconst VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167;\nconst VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168;\nconst VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169;\nconst VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170;\nconst VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171;\nconst VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172;\nconst VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173;\nconst VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174;\nconst VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175;\nconst VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176;\nconst VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177;\nconst VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178;\nconst VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179;\nconst VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180;\nconst VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181;\nconst VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182;\nconst VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183;\nconst VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184;\nconst VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007;\nconst VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008;\nconst VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009;\nconst VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010;\nconst VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011;\nconst VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017;\nconst VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018;\nconst VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019;\nconst VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020;\nconst VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021;\nconst VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000;\nconst VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001;\nconst VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002;\nconst VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003;\nconst VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004;\nconst VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005;\nconst VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006;\nconst VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007;\nconst VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000;\nconst VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001;\nconst VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002;\nconst VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003;\nconst VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004;\nconst VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005;\nconst VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006;\nconst VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007;\nconst VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008;\nconst VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009;\nconst VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010;\nconst VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011;\nconst VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012;\nconst VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013;\nconst VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000;\nconst VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001;\n\n/**\r\n * Represents an unpacked KTX 2.0 texture container. Data for individual mip levels are stored in\r\n * the `.levels` array, typically compressed in Basis Universal formats. Additional properties\r\n * provide metadata required to process, transcode, and upload these textures.\r\n */\n\nclass KTX2Container {\n constructor() {\n this.vkFormat = VK_FORMAT_UNDEFINED;\n this.typeSize = 1;\n this.pixelWidth = 0;\n this.pixelHeight = 0;\n this.pixelDepth = 0;\n this.layerCount = 0;\n this.faceCount = 1;\n this.supercompressionScheme = KHR_SUPERCOMPRESSION_NONE;\n this.levels = [];\n this.dataFormatDescriptor = [{\n vendorId: KHR_DF_VENDORID_KHRONOS,\n descriptorType: KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT,\n descriptorBlockSize: 0,\n versionNumber: KHR_DF_VERSION,\n colorModel: KHR_DF_MODEL_UNSPECIFIED,\n colorPrimaries: KHR_DF_PRIMARIES_BT709,\n transferFunction: KHR_DF_TRANSFER_SRGB,\n flags: KHR_DF_FLAG_ALPHA_STRAIGHT,\n texelBlockDimension: [0, 0, 0, 0],\n bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0],\n samples: []\n }];\n this.keyValue = {};\n this.globalData = null;\n }\n\n}\n\nclass BufferReader {\n constructor(data, byteOffset, byteLength, littleEndian) {\n this._dataView = void 0;\n this._littleEndian = void 0;\n this._offset = void 0;\n this._dataView = new DataView(data.buffer, data.byteOffset + byteOffset, byteLength);\n this._littleEndian = littleEndian;\n this._offset = 0;\n }\n\n _nextUint8() {\n const value = this._dataView.getUint8(this._offset);\n\n this._offset += 1;\n return value;\n }\n\n _nextUint16() {\n const value = this._dataView.getUint16(this._offset, this._littleEndian);\n\n this._offset += 2;\n return value;\n }\n\n _nextUint32() {\n const value = this._dataView.getUint32(this._offset, this._littleEndian);\n\n this._offset += 4;\n return value;\n }\n\n _nextUint64() {\n const left = this._dataView.getUint32(this._offset, this._littleEndian);\n\n const right = this._dataView.getUint32(this._offset + 4, this._littleEndian); // TODO(cleanup): Just test this...\n // const value = this._littleEndian ? left + (2 ** 32 * right) : (2 ** 32 * left) + right;\n\n\n const value = left + 2 ** 32 * right;\n this._offset += 8;\n return value;\n }\n\n _nextInt32() {\n const value = this._dataView.getInt32(this._offset, this._littleEndian);\n\n this._offset += 4;\n return value;\n }\n\n _skip(bytes) {\n this._offset += bytes;\n return this;\n }\n\n _scan(maxByteLength, term = 0x00) {\n const byteOffset = this._offset;\n let byteLength = 0;\n\n while (this._dataView.getUint8(this._offset) !== term && byteLength \u003c maxByteLength) {\n byteLength++;\n this._offset++;\n }\n\n if (byteLength \u003c maxByteLength) this._offset++;\n return new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + byteOffset, byteLength);\n }\n\n}\n\n///////////////////////////////////////////////////\n// Common.\n///////////////////////////////////////////////////\nconst KTX_WRITER = `KTX-Parse v${\"0.4.5\"}`;\nconst NUL = new Uint8Array([0x00]); ///////////////////////////////////////////////////\n// KTX2 Header.\n///////////////////////////////////////////////////\n\nconst KTX2_ID = [// '´', 'K', 'T', 'X', '2', '0', 'ª', '\\r', '\\n', '\\x1A', '\\n'\n0xab, 0x4b, 0x54, 0x58, 0x20, 0x32, 0x30, 0xbb, 0x0d, 0x0a, 0x1a, 0x0a];\nconst HEADER_BYTE_LENGTH = 68; // 13 * 4 + 2 * 8\n\n/** Encodes text to an ArrayBuffer. */\nfunction encodeText(text) {\n if (typeof TextEncoder !== 'undefined') {\n return new TextEncoder().encode(text);\n }\n\n return Buffer.from(text);\n}\n/** Decodes an ArrayBuffer to text. */\n\nfunction decodeText(buffer) {\n if (typeof TextDecoder !== 'undefined') {\n return new TextDecoder().decode(buffer);\n }\n\n return Buffer.from(buffer).toString('utf8');\n}\n/** Concatenates N ArrayBuffers. */\n\nfunction concat(buffers) {\n let totalByteLength = 0;\n\n for (const buffer of buffers) {\n totalByteLength += buffer.byteLength;\n }\n\n const result = new Uint8Array(totalByteLength);\n let byteOffset = 0;\n\n for (const buffer of buffers) {\n result.set(new Uint8Array(buffer), byteOffset);\n byteOffset += buffer.byteLength;\n }\n\n return result;\n}\n\n/**\r\n * Parses a KTX 2.0 file, returning an unpacked {@link KTX2Container} instance with all associated\r\n * data. The container's mip levels and other binary data are pointers into the original file, not\r\n * copies, so the original file should not be overwritten after reading.\r\n *\r\n * @param data Bytes of KTX 2.0 file, as Uint8Array or Buffer.\r\n */\n\nfunction read(data) {\n ///////////////////////////////////////////////////\n // KTX 2.0 Identifier.\n ///////////////////////////////////////////////////\n const id = new Uint8Array(data.buffer, data.byteOffset, KTX2_ID.length);\n\n if (id[0] !== KTX2_ID[0] || // '´'\n id[1] !== KTX2_ID[1] || // 'K'\n id[2] !== KTX2_ID[2] || // 'T'\n id[3] !== KTX2_ID[3] || // 'X'\n id[4] !== KTX2_ID[4] || // ' '\n id[5] !== KTX2_ID[5] || // '2'\n id[6] !== KTX2_ID[6] || // '0'\n id[7] !== KTX2_ID[7] || // 'ª'\n id[8] !== KTX2_ID[8] || // '\\r'\n id[9] !== KTX2_ID[9] || // '\\n'\n id[10] !== KTX2_ID[10] || // '\\x1A'\n id[11] !== KTX2_ID[11] // '\\n'\n ) {\n throw new Error('Missing KTX 2.0 identifier.');\n }\n\n const container = new KTX2Container(); ///////////////////////////////////////////////////\n // Header.\n ///////////////////////////////////////////////////\n\n const headerByteLength = 17 * Uint32Array.BYTES_PER_ELEMENT;\n const headerReader = new BufferReader(data, KTX2_ID.length, headerByteLength, true);\n container.vkFormat = headerReader._nextUint32();\n container.typeSize = headerReader._nextUint32();\n container.pixelWidth = headerReader._nextUint32();\n container.pixelHeight = headerReader._nextUint32();\n container.pixelDepth = headerReader._nextUint32();\n container.layerCount = headerReader._nextUint32();\n container.faceCount = headerReader._nextUint32();\n\n const levelCount = headerReader._nextUint32();\n\n container.supercompressionScheme = headerReader._nextUint32();\n\n const dfdByteOffset = headerReader._nextUint32();\n\n const dfdByteLength = headerReader._nextUint32();\n\n const kvdByteOffset = headerReader._nextUint32();\n\n const kvdByteLength = headerReader._nextUint32();\n\n const sgdByteOffset = headerReader._nextUint64();\n\n const sgdByteLength = headerReader._nextUint64(); ///////////////////////////////////////////////////\n // Level Index.\n ///////////////////////////////////////////////////\n\n\n const levelByteLength = levelCount * 3 * 8;\n const levelReader = new BufferReader(data, KTX2_ID.length + headerByteLength, levelByteLength, true);\n\n for (let i = 0; i \u003c levelCount; i++) {\n container.levels.push({\n levelData: new Uint8Array(data.buffer, data.byteOffset + levelReader._nextUint64(), levelReader._nextUint64()),\n uncompressedByteLength: levelReader._nextUint64()\n });\n } ///////////////////////////////////////////////////\n // Data Format Descriptor (DFD).\n ///////////////////////////////////////////////////\n\n\n const dfdReader = new BufferReader(data, dfdByteOffset, dfdByteLength, true);\n const dfd = {\n vendorId: dfdReader._skip(4\n /* totalSize */\n )._nextUint16(),\n descriptorType: dfdReader._nextUint16(),\n versionNumber: dfdReader._nextUint16(),\n descriptorBlockSize: dfdReader._nextUint16(),\n colorModel: dfdReader._nextUint8(),\n colorPrimaries: dfdReader._nextUint8(),\n transferFunction: dfdReader._nextUint8(),\n flags: dfdReader._nextUint8(),\n texelBlockDimension: [dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8()],\n bytesPlane: [dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8()],\n samples: []\n };\n const sampleStart = 6;\n const sampleWords = 4;\n const numSamples = (dfd.descriptorBlockSize / 4 - sampleStart) / sampleWords;\n\n for (let i = 0; i \u003c numSamples; i++) {\n const sample = {\n bitOffset: dfdReader._nextUint16(),\n bitLength: dfdReader._nextUint8(),\n channelType: dfdReader._nextUint8(),\n samplePosition: [dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8(), dfdReader._nextUint8()],\n sampleLower: -Infinity,\n sampleUpper: Infinity\n };\n\n if (sample.channelType & KHR_DF_SAMPLE_DATATYPE_SIGNED) {\n sample.sampleLower = dfdReader._nextInt32();\n sample.sampleUpper = dfdReader._nextInt32();\n } else {\n sample.sampleLower = dfdReader._nextUint32();\n sample.sampleUpper = dfdReader._nextUint32();\n }\n\n dfd.samples[i] = sample;\n }\n\n container.dataFormatDescriptor.length = 0;\n container.dataFormatDescriptor.push(dfd); ///////////////////////////////////////////////////\n // Key/Value Data (KVD).\n ///////////////////////////////////////////////////\n\n const kvdReader = new BufferReader(data, kvdByteOffset, kvdByteLength, true);\n\n while (kvdReader._offset \u003c kvdByteLength) {\n const keyValueByteLength = kvdReader._nextUint32();\n\n const keyData = kvdReader._scan(keyValueByteLength);\n\n const key = decodeText(keyData);\n\n const valueData = kvdReader._scan(keyValueByteLength - keyData.byteLength);\n\n container.keyValue[key] = key.match(/^ktx/i) ? decodeText(valueData) : valueData; // 4-byte alignment.\n\n if (kvdReader._offset % 4) kvdReader._skip(4 - kvdReader._offset % 4);\n } ///////////////////////////////////////////////////\n // Supercompression Global Data (SGD).\n ///////////////////////////////////////////////////\n\n\n if (sgdByteLength \u003c= 0) return container;\n const sgdReader = new BufferReader(data, sgdByteOffset, sgdByteLength, true);\n\n const endpointCount = sgdReader._nextUint16();\n\n const selectorCount = sgdReader._nextUint16();\n\n const endpointsByteLength = sgdReader._nextUint32();\n\n const selectorsByteLength = sgdReader._nextUint32();\n\n const tablesByteLength = sgdReader._nextUint32();\n\n const extendedByteLength = sgdReader._nextUint32();\n\n const imageDescs = [];\n\n for (let i = 0; i \u003c levelCount; i++) {\n imageDescs.push({\n imageFlags: sgdReader._nextUint32(),\n rgbSliceByteOffset: sgdReader._nextUint32(),\n rgbSliceByteLength: sgdReader._nextUint32(),\n alphaSliceByteOffset: sgdReader._nextUint32(),\n alphaSliceByteLength: sgdReader._nextUint32()\n });\n }\n\n const endpointsByteOffset = sgdByteOffset + sgdReader._offset;\n const selectorsByteOffset = endpointsByteOffset + endpointsByteLength;\n const tablesByteOffset = selectorsByteOffset + selectorsByteLength;\n const extendedByteOffset = tablesByteOffset + tablesByteLength;\n const endpointsData = new Uint8Array(data.buffer, data.byteOffset + endpointsByteOffset, endpointsByteLength);\n const selectorsData = new Uint8Array(data.buffer, data.byteOffset + selectorsByteOffset, selectorsByteLength);\n const tablesData = new Uint8Array(data.buffer, data.byteOffset + tablesByteOffset, tablesByteLength);\n const extendedData = new Uint8Array(data.buffer, data.byteOffset + extendedByteOffset, extendedByteLength);\n container.globalData = {\n endpointCount,\n selectorCount,\n imageDescs,\n endpointsData,\n selectorsData,\n tablesData,\n extendedData\n };\n return container;\n}\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i \u003c arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst DEFAULT_OPTIONS = {\n keepWriter: false\n};\n/**\r\n * Serializes a {@link KTX2Container} instance to a KTX 2.0 file. Mip levels and other binary data\r\n * are copied into the resulting Uint8Array, so the original container can safely be edited or\r\n * destroyed after it is serialized.\r\n *\r\n * Options:\r\n * - keepWriter: If true, 'KTXWriter' key/value field is written as provided by the container.\r\n * \t\tOtherwise, a string for the current ktx-parse version is generated. Default: false.\r\n *\r\n * @param container\r\n * @param options\r\n */\n\nfunction write(container, options = {}) {\n options = _extends({}, DEFAULT_OPTIONS, options); ///////////////////////////////////////////////////\n // Supercompression Global Data (SGD).\n ///////////////////////////////////////////////////\n\n let sgdBuffer = new ArrayBuffer(0);\n\n if (container.globalData) {\n const sgdHeaderBuffer = new ArrayBuffer(20 + container.globalData.imageDescs.length * 5 * 4);\n const sgdHeaderView = new DataView(sgdHeaderBuffer);\n sgdHeaderView.setUint16(0, container.globalData.endpointCount, true);\n sgdHeaderView.setUint16(2, container.globalData.selectorCount, true);\n sgdHeaderView.setUint32(4, container.globalData.endpointsData.byteLength, true);\n sgdHeaderView.setUint32(8, container.globalData.selectorsData.byteLength, true);\n sgdHeaderView.setUint32(12, container.globalData.tablesData.byteLength, true);\n sgdHeaderView.setUint32(16, container.globalData.extendedData.byteLength, true);\n\n for (let i = 0; i \u003c container.globalData.imageDescs.length; i++) {\n const imageDesc = container.globalData.imageDescs[i];\n sgdHeaderView.setUint32(20 + i * 5 * 4 + 0, imageDesc.imageFlags, true);\n sgdHeaderView.setUint32(20 + i * 5 * 4 + 4, imageDesc.rgbSliceByteOffset, true);\n sgdHeaderView.setUint32(20 + i * 5 * 4 + 8, imageDesc.rgbSliceByteLength, true);\n sgdHeaderView.setUint32(20 + i * 5 * 4 + 12, imageDesc.alphaSliceByteOffset, true);\n sgdHeaderView.setUint32(20 + i * 5 * 4 + 16, imageDesc.alphaSliceByteLength, true);\n }\n\n sgdBuffer = concat([sgdHeaderBuffer, container.globalData.endpointsData, container.globalData.selectorsData, container.globalData.tablesData, container.globalData.extendedData]);\n } ///////////////////////////////////////////////////\n // Key/Value Data (KVD).\n ///////////////////////////////////////////////////\n\n\n const keyValueData = [];\n let keyValue = container.keyValue;\n\n if (!options.keepWriter) {\n keyValue = _extends({}, container.keyValue, {\n KTXwriter: KTX_WRITER\n });\n }\n\n for (const key in keyValue) {\n const value = keyValue[key];\n const keyData = encodeText(key);\n const valueData = typeof value === 'string' ? encodeText(value) : value;\n const kvByteLength = keyData.byteLength + 1 + valueData.byteLength + 1;\n const kvPadding = kvByteLength % 4 ? 4 - kvByteLength % 4 : 0; // align(4)\n\n keyValueData.push(concat([new Uint32Array([kvByteLength]), keyData, NUL, valueData, NUL, new Uint8Array(kvPadding).fill(0x00) // align(4)\n ]));\n }\n\n const kvdBuffer = concat(keyValueData); ///////////////////////////////////////////////////\n // Data Format Descriptor (DFD).\n ///////////////////////////////////////////////////\n\n if (container.dataFormatDescriptor.length !== 1 || container.dataFormatDescriptor[0].descriptorType !== KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT) {\n throw new Error('Only BASICFORMAT Data Format Descriptor output supported.');\n }\n\n const dfd = container.dataFormatDescriptor[0];\n const dfdBuffer = new ArrayBuffer(28 + dfd.samples.length * 16);\n const dfdView = new DataView(dfdBuffer);\n const descriptorBlockSize = 24 + dfd.samples.length * 16;\n dfdView.setUint32(0, dfdBuffer.byteLength, true);\n dfdView.setUint16(4, dfd.vendorId, true);\n dfdView.setUint16(6, dfd.descriptorType, true);\n dfdView.setUint16(8, dfd.versionNumber, true);\n dfdView.setUint16(10, descriptorBlockSize, true);\n dfdView.setUint8(12, dfd.colorModel);\n dfdView.setUint8(13, dfd.colorPrimaries);\n dfdView.setUint8(14, dfd.transferFunction);\n dfdView.setUint8(15, dfd.flags);\n\n if (!Array.isArray(dfd.texelBlockDimension)) {\n throw new Error('texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.');\n }\n\n dfdView.setUint8(16, dfd.texelBlockDimension[0]);\n dfdView.setUint8(17, dfd.texelBlockDimension[1]);\n dfdView.setUint8(18, dfd.texelBlockDimension[2]);\n dfdView.setUint8(19, dfd.texelBlockDimension[3]);\n\n for (let i = 0; i \u003c 8; i++) dfdView.setUint8(20 + i, dfd.bytesPlane[i]);\n\n for (let i = 0; i \u003c dfd.samples.length; i++) {\n const sample = dfd.samples[i];\n const sampleByteOffset = 28 + i * 16;\n\n if (sample.channelID) {\n throw new Error('channelID has been renamed to channelType.');\n }\n\n dfdView.setUint16(sampleByteOffset + 0, sample.bitOffset, true);\n dfdView.setUint8(sampleByteOffset + 2, sample.bitLength);\n dfdView.setUint8(sampleByteOffset + 3, sample.channelType);\n dfdView.setUint8(sampleByteOffset + 4, sample.samplePosition[0]);\n dfdView.setUint8(sampleByteOffset + 5, sample.samplePosition[1]);\n dfdView.setUint8(sampleByteOffset + 6, sample.samplePosition[2]);\n dfdView.setUint8(sampleByteOffset + 7, sample.samplePosition[3]);\n\n if (sample.channelType & KHR_DF_SAMPLE_DATATYPE_SIGNED) {\n dfdView.setInt32(sampleByteOffset + 8, sample.sampleLower, true);\n dfdView.setInt32(sampleByteOffset + 12, sample.sampleUpper, true);\n } else {\n dfdView.setUint32(sampleByteOffset + 8, sample.sampleLower, true);\n dfdView.setUint32(sampleByteOffset + 12, sample.sampleUpper, true);\n }\n } ///////////////////////////////////////////////////\n // Data alignment.\n ///////////////////////////////////////////////////\n\n\n const dfdByteOffset = KTX2_ID.length + HEADER_BYTE_LENGTH + container.levels.length * 3 * 8;\n const kvdByteOffset = dfdByteOffset + dfdBuffer.byteLength;\n let sgdByteOffset = sgdBuffer.byteLength > 0 ? kvdByteOffset + kvdBuffer.byteLength : 0;\n if (sgdByteOffset % 8) sgdByteOffset += 8 - sgdByteOffset % 8; // align(8)\n ///////////////////////////////////////////////////\n // Level Index.\n ///////////////////////////////////////////////////\n\n const levelData = [];\n const levelIndex = new DataView(new ArrayBuffer(container.levels.length * 3 * 8));\n let levelDataByteOffset = (sgdByteOffset || kvdByteOffset + kvdBuffer.byteLength) + sgdBuffer.byteLength;\n\n for (let i = 0; i \u003c container.levels.length; i++) {\n const level = container.levels[i];\n levelData.push(level.levelData);\n levelIndex.setBigUint64(i * 24 + 0, BigInt(levelDataByteOffset), true);\n levelIndex.setBigUint64(i * 24 + 8, BigInt(level.levelData.byteLength), true);\n levelIndex.setBigUint64(i * 24 + 16, BigInt(level.uncompressedByteLength), true);\n levelDataByteOffset += level.levelData.byteLength;\n } ///////////////////////////////////////////////////\n // Header.\n ///////////////////////////////////////////////////\n\n\n const headerBuffer = new ArrayBuffer(HEADER_BYTE_LENGTH);\n const headerView = new DataView(headerBuffer);\n headerView.setUint32(0, container.vkFormat, true);\n headerView.setUint32(4, container.typeSize, true);\n headerView.setUint32(8, container.pixelWidth, true);\n headerView.setUint32(12, container.pixelHeight, true);\n headerView.setUint32(16, container.pixelDepth, true);\n headerView.setUint32(20, container.layerCount, true);\n headerView.setUint32(24, container.faceCount, true);\n headerView.setUint32(28, container.levels.length, true);\n headerView.setUint32(32, container.supercompressionScheme, true);\n headerView.setUint32(36, dfdByteOffset, true);\n headerView.setUint32(40, dfdBuffer.byteLength, true);\n headerView.setUint32(44, kvdByteOffset, true);\n headerView.setUint32(48, kvdBuffer.byteLength, true);\n headerView.setBigUint64(52, BigInt(sgdBuffer.byteLength > 0 ? sgdByteOffset : 0), true);\n headerView.setBigUint64(60, BigInt(sgdBuffer.byteLength), true); ///////////////////////////////////////////////////\n // Compose.\n ///////////////////////////////////////////////////\n\n return new Uint8Array(concat([new Uint8Array(KTX2_ID).buffer, headerBuffer, levelIndex.buffer, dfdBuffer, kvdBuffer, sgdByteOffset > 0 ? new ArrayBuffer(sgdByteOffset - (kvdByteOffset + kvdBuffer.byteLength)) // align(8)\n : new ArrayBuffer(0), sgdBuffer, ...levelData]));\n}\n\nexport { KHR_DF_CHANNEL_RGBSDA_ALPHA, KHR_DF_CHANNEL_RGBSDA_BLUE, KHR_DF_CHANNEL_RGBSDA_DEPTH, KHR_DF_CHANNEL_RGBSDA_GREEN, KHR_DF_CHANNEL_RGBSDA_RED, KHR_DF_CHANNEL_RGBSDA_STENCIL, KHR_DF_FLAG_ALPHA_PREMULTIPLIED, KHR_DF_FLAG_ALPHA_STRAIGHT, KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT, KHR_DF_MODEL_ASTC, KHR_DF_MODEL_ETC1, KHR_DF_MODEL_ETC1S, KHR_DF_MODEL_ETC2, KHR_DF_MODEL_RGBSDA, KHR_DF_MODEL_UASTC, KHR_DF_MODEL_UNSPECIFIED, KHR_DF_PRIMARIES_ACES, KHR_DF_PRIMARIES_ACESCC, KHR_DF_PRIMARIES_ADOBERGB, KHR_DF_PRIMARIES_BT2020, KHR_DF_PRIMARIES_BT601_EBU, KHR_DF_PRIMARIES_BT601_SMPTE, KHR_DF_PRIMARIES_BT709, KHR_DF_PRIMARIES_CIEXYZ, KHR_DF_PRIMARIES_DISPLAYP3, KHR_DF_PRIMARIES_NTSC1953, KHR_DF_PRIMARIES_PAL525, KHR_DF_PRIMARIES_UNSPECIFIED, KHR_DF_SAMPLE_DATATYPE_EXPONENT, KHR_DF_SAMPLE_DATATYPE_FLOAT, KHR_DF_SAMPLE_DATATYPE_LINEAR, KHR_DF_SAMPLE_DATATYPE_SIGNED, KHR_DF_TRANSFER_ACESCC, KHR_DF_TRANSFER_ACESCCT, KHR_DF_TRANSFER_ADOBERGB, KHR_DF_TRANSFER_BT1886, KHR_DF_TRANSFER_DCIP3, KHR_DF_TRANSFER_HLG_EOTF, KHR_DF_TRANSFER_HLG_OETF, KHR_DF_TRANSFER_ITU, KHR_DF_TRANSFER_LINEAR, KHR_DF_TRANSFER_NTSC, KHR_DF_TRANSFER_PAL625_EOTF, KHR_DF_TRANSFER_PAL_OETF, KHR_DF_TRANSFER_PQ_EOTF, KHR_DF_TRANSFER_PQ_OETF, KHR_DF_TRANSFER_SLOG, KHR_DF_TRANSFER_SLOG2, KHR_DF_TRANSFER_SRGB, KHR_DF_TRANSFER_ST240, KHR_DF_TRANSFER_UNSPECIFIED, KHR_DF_VENDORID_KHRONOS, KHR_DF_VERSION, KHR_SUPERCOMPRESSION_BASISLZ, KHR_SUPERCOMPRESSION_NONE, KHR_SUPERCOMPRESSION_ZLIB, KHR_SUPERCOMPRESSION_ZSTD, KTX2Container, VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_A2B10G10R10_SNORM_PACK32, VK_FORMAT_A2B10G10R10_UINT_PACK32, VK_FORMAT_A2B10G10R10_UNORM_PACK32, VK_FORMAT_A2R10G10B10_SINT_PACK32, VK_FORMAT_A2R10G10B10_SNORM_PACK32, VK_FORMAT_A2R10G10B10_UINT_PACK32, VK_FORMAT_A2R10G10B10_UNORM_PACK32, VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT, VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT, VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK, VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK, VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK, VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK, VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK, VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_12x12_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK, VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK, VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK, VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK, VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK, VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK, VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK, VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT, VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK, VK_FORMAT_B10G11R11_UFLOAT_PACK32, VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_SRGB, VK_FORMAT_B8G8R8A8_UINT, VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_SRGB, VK_FORMAT_B8G8R8_UINT, VK_FORMAT_B8G8R8_UNORM, VK_FORMAT_BC1_RGBA_SRGB_BLOCK, VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGB_SRGB_BLOCK, VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK, VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK, VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK, VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK, VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK, VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK, VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_D16_UNORM, VK_FORMAT_D16_UNORM_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK, VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG, VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG, VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG, VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG, VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG, VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG, VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG, VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG, VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, VK_FORMAT_R10X6G10X6_UNORM_2PACK16, VK_FORMAT_R10X6_UNORM_PACK16, VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, VK_FORMAT_R12X4G12X4_UNORM_2PACK16, VK_FORMAT_R12X4_UNORM_PACK16, VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R16G16B16A16_SINT, VK_FORMAT_R16G16B16A16_SNORM, VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16_SFLOAT, VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_UINT, VK_FORMAT_R16G16B16_UNORM, VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16_SINT, VK_FORMAT_R16G16_SNORM, VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16_SFLOAT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SNORM, VK_FORMAT_R16_UINT, VK_FORMAT_R16_UNORM, VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_UINT, VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32_SINT, VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32_SFLOAT, VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_UINT, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32_SINT, VK_FORMAT_R32_UINT, VK_FORMAT_R4G4B4A4_UNORM_PACK16, VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R5G5B5A1_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16, VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_R64G64B64A64_SINT, VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R64G64B64_SFLOAT, VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_UINT, VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64_SINT, VK_FORMAT_R64G64_UINT, VK_FORMAT_R64_SFLOAT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_UINT, VK_FORMAT_R8G8B8A8_SINT, VK_FORMAT_R8G8B8A8_SNORM, VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8_SINT, VK_FORMAT_R8G8B8_SNORM, VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SNORM, VK_FORMAT_R8G8_SRGB, VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8_SINT, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_SRGB, VK_FORMAT_R8_UINT, VK_FORMAT_R8_UNORM, VK_FORMAT_S8_UINT, VK_FORMAT_UNDEFINED, VK_FORMAT_X8_D24_UNORM_PACK32, read, write };\n//# sourceMappingURL=ktx-parse.modern.js.map\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":[],"initiators":["/node_modules/three-stdlib/loaders/KTX2Loader.js:"],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@use-gesture/core/10.2.20/actions/package.json:":{"query":"","module":{"path":"/node_modules/@use-gesture/core/10.2.20/actions/package.json","code":"{\n \"main\": \"dist/use-gesture-core-actions.cjs.js\",\n \"module\": \"dist/use-gesture-core-actions.esm.js\"\n}\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":[],"initiators":[],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@use-gesture/core/10.2.20/types/package.json:":{"query":"","module":{"path":"/node_modules/@use-gesture/core/10.2.20/types/package.json","code":"{\n \"main\": \"dist/use-gesture-core-types.cjs.js\",\n \"module\": \"dist/use-gesture-core-types.esm.js\"\n}\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":[],"initiators":[],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/@use-gesture/core/10.2.20/utils/package.json:":{"query":"","module":{"path":"/node_modules/@use-gesture/core/10.2.20/utils/package.json","code":"{\n \"main\": \"dist/use-gesture-core-utils.cjs.js\",\n \"module\": \"dist/use-gesture-core-utils.esm.js\"\n}\n","downloaded":true},"isEntry":false,"isTestFile":false,"sourceEqualsCompiled":false,"childModules":[],"dependencies":[],"initiators":[],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null},"/node_modules/__csb/react-dom-entrypoint.js:":{"query":"","module":{"path":"/node_modules/__csb/react-dom-entrypoint.js","code":"if (typeof window !== 'undefined') {\nconst runtime = require('react-refresh/runtime');\nruntime.injectIntoGlobalHook(window);\nwindow.$RefreshReg$ = () => {};\nwindow.$RefreshSig$ = () => type => type;\n}\n"},"isEntry":true,"isTestFile":false,"sourceEqualsCompiled":true,"childModules":[],"dependencies":["/node_modules/react-refresh/runtime.js:"],"initiators":[],"transpilationDependencies":[],"transpilationInitiators":[],"asyncDependencies":[],"warnings":[],"hasMissingDependencies":false,"source":null}},"cachedPaths":{"/node_modules/@react-three/drei/core":{"../materials/BlurPass.js":"/node_modules/@react-three/drei/materials/BlurPass.js","../materials/MeshReflectorMaterial.js":"/node_modules/@react-three/drei/materials/MeshReflectorMaterial.js","./Line.js":"/node_modules/@react-three/drei/core/Line.js","./useFont.js":"/node_modules/@react-three/drei/core/useFont.js","./shaderMaterial.js":"/node_modules/@react-three/drei/core/shaderMaterial.js","./useTexture.js":"/node_modules/@react-three/drei/core/useTexture.js","./useGLTF.js":"/node_modules/@react-three/drei/core/useGLTF.js","./Clone.js":"/node_modules/@react-three/drei/core/Clone.js","./useFBO.js":"/node_modules/@react-three/drei/core/useFBO.js","./useVideoTexture.js":"/node_modules/@react-three/drei/core/useVideoTexture.js","./Facemesh.js":"/node_modules/@react-three/drei/core/Facemesh.js","./FaceLandmarker.js":"/node_modules/@react-three/drei/core/FaceLandmarker.js","./GizmoHelper.js":"/node_modules/@react-three/drei/core/GizmoHelper.js","../helpers/glsl/distort.vert.glsl.js":"/node_modules/@react-three/drei/helpers/glsl/distort.vert.glsl.js","../materials/MeshRefractionMaterial.js":"/node_modules/@react-three/drei/materials/MeshRefractionMaterial.js","../materials/DiscardMaterial.js":"/node_modules/@react-three/drei/materials/DiscardMaterial.js","./Environment.js":"/node_modules/@react-three/drei/core/Environment.js","./ContactShadows.js":"/node_modules/@react-three/drei/core/ContactShadows.js","./Center.js":"/node_modules/@react-three/drei/core/Center.js","./AccumulativeShadows.js":"/node_modules/@react-three/drei/core/AccumulativeShadows.js","./Bounds.js":"/node_modules/@react-three/drei/core/Bounds.js","./useHelper.js":"/node_modules/@react-three/drei/core/useHelper.js","./Edges.js":"/node_modules/@react-three/drei/core/Edges.js","../materials/SpotLightMaterial.js":"/node_modules/@react-three/drei/materials/SpotLightMaterial.js","../helpers/glsl/DefaultSpotlightShadowShadows.glsl.js":"/node_modules/@react-three/drei/helpers/glsl/DefaultSpotlightShadowShadows.glsl.js","./useEnvironment.js":"/node_modules/@react-three/drei/core/useEnvironment.js","../materials/WireframeMaterial.js":"/node_modules/@react-three/drei/materials/WireframeMaterial.js","./useIntersect.js":"/node_modules/@react-three/drei/core/useIntersect.js","./RenderTexture.js":"/node_modules/@react-three/drei/core/RenderTexture.js","three-stdlib":"/node_modules/three-stdlib/index.js","react":"/node_modules/react/index.js","suspend-react":"/node_modules/suspend-react/index.js","three":"/node_modules/three/build/three.module.js","@react-three/fiber":"/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","react-merge-refs":"/node_modules/react-merge-refs/dist/react-merge-refs.esm.js","troika-three-text":"/node_modules/troika-three-text/dist/troika-three-text.esm.js","camera-controls":"/node_modules/camera-controls/dist/camera-controls.module.js","maath":"/node_modules/maath/dist/maath.esm.js","three-mesh-bvh":"/node_modules/three-mesh-bvh/src/index.js","react-composer":"/node_modules/react-composer/es/index.js","./useCubeCamera.js":"/node_modules/@react-three/drei/core/useCubeCamera.js","./OrthographicCamera.js":"/node_modules/@react-three/drei/core/OrthographicCamera.js","./Hud.js":"/node_modules/@react-three/drei/core/Hud.js","../helpers/useEffectfulState.js":"/node_modules/@react-three/drei/helpers/useEffectfulState.js","./Text3D.js":"/node_modules/@react-three/drei/core/Text3D.js","./Billboard.js":"/node_modules/@react-three/drei/core/Billboard.js","./shapes.js":"/node_modules/@react-three/drei/core/shapes.js","../helpers/environment-assets.js":"/node_modules/@react-three/drei/helpers/environment-assets.js","zustand":"/node_modules/zustand/index.js","@mediapipe/tasks-vision":"/node_modules/@mediapipe/tasks-vision/vision_bundle.mjs","meshline":"/node_modules/meshline/dist/index.js","stats.js":"/node_modules/stats.js/build/stats.min.js","detect-gpu":"/node_modules/detect-gpu/dist/detect-gpu.esm.js","@babel/runtime/helpers/esm/extends":"/node_modules/@babel/runtime/helpers/esm/extends.js","lodash.pick":"/node_modules/lodash.pick/index.js","lodash.omit":"/node_modules/lodash.omit/index.js"},"/node_modules/@use-gesture/core/10.2.20/actions/dist":{"../../dist/actions-aeda4790.esm.js":"/node_modules/@use-gesture/core/10.2.20/dist/actions-aeda4790.esm.js","../../dist/maths-b2a210f4.esm.js":"/node_modules/@use-gesture/core/10.2.20/dist/maths-b2a210f4.esm.js"},"/node_modules/@use-gesture/core/10.2.20/utils/dist":{"../../dist/maths-b2a210f4.esm.js":"/node_modules/@use-gesture/core/10.2.20/dist/maths-b2a210f4.esm.js"},"/node_modules/react":{"./cjs/react.production.min.js":"/node_modules/react/cjs/react.production.min.js","./cjs/react.development.js":"/node_modules/react/cjs/react.development.js","./cjs/react-jsx-runtime.development.js":"/node_modules/react/cjs/react-jsx-runtime.development.js"},"/node_modules/@react-three/drei":{"./web/Html.js":"/node_modules/@react-three/drei/web/Html.js","./web/CycleRaycast.js":"/node_modules/@react-three/drei/web/CycleRaycast.js","./web/useCursor.js":"/node_modules/@react-three/drei/web/useCursor.js","./web/Loader.js":"/node_modules/@react-three/drei/web/Loader.js","./web/ScrollControls.js":"/node_modules/@react-three/drei/web/ScrollControls.js","./web/PresentationControls.js":"/node_modules/@react-three/drei/web/PresentationControls.js","./web/KeyboardControls.js":"/node_modules/@react-three/drei/web/KeyboardControls.js","./web/Select.js":"/node_modules/@react-three/drei/web/Select.js","./core/Billboard.js":"/node_modules/@react-three/drei/core/Billboard.js","./core/ScreenSpace.js":"/node_modules/@react-three/drei/core/ScreenSpace.js","./core/QuadraticBezierLine.js":"/node_modules/@react-three/drei/core/QuadraticBezierLine.js","./core/CubicBezierLine.js":"/node_modules/@react-three/drei/core/CubicBezierLine.js","./core/CatmullRomLine.js":"/node_modules/@react-three/drei/core/CatmullRomLine.js","./core/Line.js":"/node_modules/@react-three/drei/core/Line.js","./core/PositionalAudio.js":"/node_modules/@react-three/drei/core/PositionalAudio.js","./core/Text.js":"/node_modules/@react-three/drei/core/Text.js","./core/Text3D.js":"/node_modules/@react-three/drei/core/Text3D.js","./core/Effects.js":"/node_modules/@react-three/drei/core/Effects.js","./core/GradientTexture.js":"/node_modules/@react-three/drei/core/GradientTexture.js","./core/Image.js":"/node_modules/@react-three/drei/core/Image.js","./core/Edges.js":"/node_modules/@react-three/drei/core/Edges.js","./core/Trail.js":"/node_modules/@react-three/drei/core/Trail.js","./core/Sampler.js":"/node_modules/@react-three/drei/core/Sampler.js","./core/ComputedAttribute.js":"/node_modules/@react-three/drei/core/ComputedAttribute.js","./core/Clone.js":"/node_modules/@react-three/drei/core/Clone.js","./core/MarchingCubes.js":"/node_modules/@react-three/drei/core/MarchingCubes.js","./core/Decal.js":"/node_modules/@react-three/drei/core/Decal.js","./core/Svg.js":"/node_modules/@react-three/drei/core/Svg.js","./core/Gltf.js":"/node_modules/@react-three/drei/core/Gltf.js","./core/AsciiRenderer.js":"/node_modules/@react-three/drei/core/AsciiRenderer.js","./core/OrthographicCamera.js":"/node_modules/@react-three/drei/core/OrthographicCamera.js","./core/PerspectiveCamera.js":"/node_modules/@react-three/drei/core/PerspectiveCamera.js","./core/CubeCamera.js":"/node_modules/@react-three/drei/core/CubeCamera.js","./core/DeviceOrientationControls.js":"/node_modules/@react-three/drei/core/DeviceOrientationControls.js","./core/FlyControls.js":"/node_modules/@react-three/drei/core/FlyControls.js","./core/MapControls.js":"/node_modules/@react-three/drei/core/MapControls.js","./core/OrbitControls.js":"/node_modules/@react-three/drei/core/OrbitControls.js","./core/TrackballControls.js":"/node_modules/@react-three/drei/core/TrackballControls.js","./core/ArcballControls.js":"/node_modules/@react-three/drei/core/ArcballControls.js","./core/TransformControls.js":"/node_modules/@react-three/drei/core/TransformControls.js","./core/PointerLockControls.js":"/node_modules/@react-three/drei/core/PointerLockControls.js","./core/FirstPersonControls.js":"/node_modules/@react-three/drei/core/FirstPersonControls.js","./core/CameraControls.js":"/node_modules/@react-three/drei/core/CameraControls.js","./core/FaceControls.js":"/node_modules/@react-three/drei/core/FaceControls.js","./core/GizmoHelper.js":"/node_modules/@react-three/drei/core/GizmoHelper.js","./core/GizmoViewcube.js":"/node_modules/@react-three/drei/core/GizmoViewcube.js","./core/GizmoViewport.js":"/node_modules/@react-three/drei/core/GizmoViewport.js","./core/Grid.js":"/node_modules/@react-three/drei/core/Grid.js","./core/useCubeTexture.js":"/node_modules/@react-three/drei/core/useCubeTexture.js","./core/useFBX.js":"/node_modules/@react-three/drei/core/useFBX.js","./core/useGLTF.js":"/node_modules/@react-three/drei/core/useGLTF.js","./core/useKTX2.js":"/node_modules/@react-three/drei/core/useKTX2.js","./core/useProgress.js":"/node_modules/@react-three/drei/core/useProgress.js","./core/useTexture.js":"/node_modules/@react-three/drei/core/useTexture.js","./core/useVideoTexture.js":"/node_modules/@react-three/drei/core/useVideoTexture.js","./core/useFont.js":"/node_modules/@react-three/drei/core/useFont.js","./core/Stats.js":"/node_modules/@react-three/drei/core/Stats.js","./core/useDepthBuffer.js":"/node_modules/@react-three/drei/core/useDepthBuffer.js","./core/useAspect.js":"/node_modules/@react-three/drei/core/useAspect.js","./core/useCamera.js":"/node_modules/@react-three/drei/core/useCamera.js","./core/useDetectGPU.js":"/node_modules/@react-three/drei/core/useDetectGPU.js","./core/useHelper.js":"/node_modules/@react-three/drei/core/useHelper.js","./core/useBVH.js":"/node_modules/@react-three/drei/core/useBVH.js","./core/useContextBridge.js":"/node_modules/@react-three/drei/core/useContextBridge.js","./core/useAnimations.js":"/node_modules/@react-three/drei/core/useAnimations.js","./core/useFBO.js":"/node_modules/@react-three/drei/core/useFBO.js","./core/useIntersect.js":"/node_modules/@react-three/drei/core/useIntersect.js","./core/useBoxProjectedEnv.js":"/node_modules/@react-three/drei/core/useBoxProjectedEnv.js","./core/BBAnchor.js":"/node_modules/@react-three/drei/core/BBAnchor.js","./core/useTrailTexture.js":"/node_modules/@react-three/drei/core/useTrailTexture.js","./core/useCubeCamera.js":"/node_modules/@react-three/drei/core/useCubeCamera.js","./core/Example.js":"/node_modules/@react-three/drei/core/Example.js","./core/SpriteAnimator.js":"/node_modules/@react-three/drei/core/SpriteAnimator.js","./core/FaceLandmarker.js":"/node_modules/@react-three/drei/core/FaceLandmarker.js","./core/CurveModifier.js":"/node_modules/@react-three/drei/core/CurveModifier.js","./core/MeshDistortMaterial.js":"/node_modules/@react-three/drei/core/MeshDistortMaterial.js","./core/MeshWobbleMaterial.js":"/node_modules/@react-three/drei/core/MeshWobbleMaterial.js","./core/MeshReflectorMaterial.js":"/node_modules/@react-three/drei/core/MeshReflectorMaterial.js","./core/MeshRefractionMaterial.js":"/node_modules/@react-three/drei/core/MeshRefractionMaterial.js","./core/MeshTransmissionMaterial.js":"/node_modules/@react-three/drei/core/MeshTransmissionMaterial.js","./core/MeshDiscardMaterial.js":"/node_modules/@react-three/drei/core/MeshDiscardMaterial.js","./core/PointMaterial.js":"/node_modules/@react-three/drei/core/PointMaterial.js","./core/shaderMaterial.js":"/node_modules/@react-three/drei/core/shaderMaterial.js","./core/softShadows.js":"/node_modules/@react-three/drei/core/softShadows.js","./core/shapes.js":"/node_modules/@react-three/drei/core/shapes.js","./core/Facemesh.js":"/node_modules/@react-three/drei/core/Facemesh.js","./core/RoundedBox.js":"/node_modules/@react-three/drei/core/RoundedBox.js","./core/ScreenQuad.js":"/node_modules/@react-three/drei/core/ScreenQuad.js","./core/Center.js":"/node_modules/@react-three/drei/core/Center.js","./core/Resize.js":"/node_modules/@react-three/drei/core/Resize.js","./core/Bounds.js":"/node_modules/@react-three/drei/core/Bounds.js","./core/CameraShake.js":"/node_modules/@react-three/drei/core/CameraShake.js","./core/Float.js":"/node_modules/@react-three/drei/core/Float.js","./core/Stage.js":"/node_modules/@react-three/drei/core/Stage.js","./core/Backdrop.js":"/node_modules/@react-three/drei/core/Backdrop.js","./core/Shadow.js":"/node_modules/@react-three/drei/core/Shadow.js","./core/Caustics.js":"/node_modules/@react-three/drei/core/Caustics.js","./core/ContactShadows.js":"/node_modules/@react-three/drei/core/ContactShadows.js","./core/AccumulativeShadows.js":"/node_modules/@react-three/drei/core/AccumulativeShadows.js","./core/Reflector.js":"/node_modules/@react-three/drei/core/Reflector.js","./core/SpotLight.js":"/node_modules/@react-three/drei/core/SpotLight.js","./core/Environment.js":"/node_modules/@react-three/drei/core/Environment.js","./core/Lightformer.js":"/node_modules/@react-three/drei/core/Lightformer.js","./core/Sky.js":"/node_modules/@react-three/drei/core/Sky.js","./core/Stars.js":"/node_modules/@react-three/drei/core/Stars.js","./core/Cloud.js":"/node_modules/@react-three/drei/core/Cloud.js","./core/Sparkles.js":"/node_modules/@react-three/drei/core/Sparkles.js","./core/useEnvironment.js":"/node_modules/@react-three/drei/core/useEnvironment.js","./core/useMatcapTexture.js":"/node_modules/@react-three/drei/core/useMatcapTexture.js","./core/useNormalTexture.js":"/node_modules/@react-three/drei/core/useNormalTexture.js","./core/Wireframe.js":"/node_modules/@react-three/drei/core/Wireframe.js","./core/Points.js":"/node_modules/@react-three/drei/core/Points.js","./core/Instances.js":"/node_modules/@react-three/drei/core/Instances.js","./core/Segments.js":"/node_modules/@react-three/drei/core/Segments.js","./core/Detailed.js":"/node_modules/@react-three/drei/core/Detailed.js","./core/Preload.js":"/node_modules/@react-three/drei/core/Preload.js","./core/BakeShadows.js":"/node_modules/@react-three/drei/core/BakeShadows.js","./core/meshBounds.js":"/node_modules/@react-three/drei/core/meshBounds.js","./core/AdaptiveDpr.js":"/node_modules/@react-three/drei/core/AdaptiveDpr.js","./core/AdaptiveEvents.js":"/node_modules/@react-three/drei/core/AdaptiveEvents.js","./core/PerformanceMonitor.js":"/node_modules/@react-three/drei/core/PerformanceMonitor.js","./core/RenderTexture.js":"/node_modules/@react-three/drei/core/RenderTexture.js","./core/Mask.js":"/node_modules/@react-three/drei/core/Mask.js","./core/Hud.js":"/node_modules/@react-three/drei/core/Hud.js","./core/MeshPortalMaterial.js":"/node_modules/@react-three/drei/core/MeshPortalMaterial.js","./web/View.js":"/node_modules/@react-three/drei/web/View.js","./web/pivotControls/index.js":"/node_modules/@react-three/drei/web/pivotControls/index.js"},"/node_modules/@react-three/fiber/dist":{"./index-27a1523b.esm.js":"/node_modules/@react-three/fiber/dist/index-27a1523b.esm.js","react":"/node_modules/react/index.js","zustand":"/node_modules/zustand/index.js","react-reconciler":"/node_modules/react-reconciler/index.js","scheduler":"/node_modules/scheduler/index.js","three":"/node_modules/three/build/three.module.js","react-use-measure":"/node_modules/react-use-measure/dist/web.js","its-fine":"/node_modules/its-fine/dist/index.js","suspend-react":"/node_modules/suspend-react/0.0.8/dist/index.js","react-reconciler/constants":"/node_modules/react-reconciler/constants.js","@babel/runtime/helpers/esm/extends":"/node_modules/@babel/runtime/helpers/esm/extends.js"},"/node_modules/react-refresh":{"./cjs/react-refresh-runtime.production.min.js":"/node_modules/react-refresh/cjs/react-refresh-runtime.production.min.js","./cjs/react-refresh-runtime.development.js":"/node_modules/react-refresh/cjs/react-refresh-runtime.development.js"},"/node_modules/@use-gesture/core/10.2.20/dist":{"./maths-b2a210f4.esm.js":"/node_modules/@use-gesture/core/10.2.20/dist/maths-b2a210f4.esm.js","./actions-aeda4790.esm.js":"/node_modules/@use-gesture/core/10.2.20/dist/actions-aeda4790.esm.js"},"/node_modules/@use-gesture/react/dist":{"react":"/node_modules/react/index.js","@use-gesture/core":"/node_modules/@use-gesture/core/10.2.20/dist/use-gesture-core.esm.js","@use-gesture/core/utils":"/node_modules/@use-gesture/core/10.2.20/utils/dist/use-gesture-core-utils.esm.js","@use-gesture/core/types":"/node_modules/@use-gesture/core/10.2.20/types/dist/use-gesture-core-types.esm.js","@use-gesture/core/actions":"/node_modules/@use-gesture/core/10.2.20/actions/dist/use-gesture-core-actions.esm.js"},"/node_modules/react-dom":{"./cjs/react-dom.production.min.js":"/node_modules/react-dom/cjs/react-dom.production.min.js","./cjs/react-dom.development.js":"/node_modules/react-dom/cjs/react-dom.development.js","react-dom":"/node_modules/react-dom/index.js"},"/node_modules/@react-three/drei/web":{"three-stdlib":"/node_modules/three-stdlib/index.js","react":"/node_modules/react/index.js","three":"/node_modules/three/build/three.module.js","@react-three/fiber":"/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","react-merge-refs":"/node_modules/react-merge-refs/dist/react-merge-refs.esm.js","maath":"/node_modules/maath/dist/maath.esm.js","@react-spring/three":"/node_modules/@react-spring/three/dist/react-spring-three.esm.js","@use-gesture/react":"/node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","zustand/shallow":"/node_modules/zustand/shallow.js","../core/useProgress.js":"/node_modules/@react-three/drei/core/useProgress.js","zustand":"/node_modules/zustand/index.js","react-dom/client":"/node_modules/react-dom/client.js","zustand/middleware":"/node_modules/zustand/middleware.js","@babel/runtime/helpers/esm/extends":"/node_modules/@babel/runtime/helpers/esm/extends.js"},"/node_modules/opentype.js/dist":{"fs":"fs"},"/node_modules/@react-three/drei/web/pivotControls":{"./AxisArrow.js":"/node_modules/@react-three/drei/web/pivotControls/AxisArrow.js","./PlaneSlider.js":"/node_modules/@react-three/drei/web/pivotControls/PlaneSlider.js","./AxisRotator.js":"/node_modules/@react-three/drei/web/pivotControls/AxisRotator.js","./context.js":"/node_modules/@react-three/drei/web/pivotControls/context.js","react":"/node_modules/react/index.js","three":"/node_modules/three/build/three.module.js","@react-three/fiber":"/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","@babel/runtime/helpers/esm/extends":"/node_modules/@babel/runtime/helpers/esm/extends.js","../../core/Line.js":"/node_modules/@react-three/drei/core/Line.js","../Html.js":"/node_modules/@react-three/drei/web/Html.js","lodash.clamp":"/node_modules/lodash.clamp/index.js"},"/node_modules/three-stdlib/loaders":{"../utils/WorkerPool.js":"/node_modules/three-stdlib/utils/WorkerPool.js","../_polyfill/CompressedArrayTexture.js":"/node_modules/three-stdlib/_polyfill/CompressedArrayTexture.js","../_polyfill/Data3DTexture.js":"/node_modules/three-stdlib/_polyfill/Data3DTexture.js","three":"/node_modules/three/build/three.module.js","ktx-parse":"/node_modules/ktx-parse/dist/ktx-parse.modern.js","zstddec":"/node_modules/zstddec/dist/zstddec.modern.js","../curves/NURBSCurve.js":"/node_modules/three-stdlib/curves/NURBSCurve.js","../misc/Volume.js":"/node_modules/three-stdlib/misc/Volume.js","./ColladaLoader.js":"/node_modules/three-stdlib/loaders/ColladaLoader.js","./GLTFLoader.js":"/node_modules/three-stdlib/loaders/GLTFLoader.js","./TGALoader.js":"/node_modules/three-stdlib/loaders/TGALoader.js","../utils/BufferGeometryUtils.js":"/node_modules/three-stdlib/utils/BufferGeometryUtils.js","./RGBELoader.js":"/node_modules/three-stdlib/loaders/RGBELoader.js","./lwo/IFFParser.js":"/node_modules/three-stdlib/loaders/lwo/IFFParser.js","fflate":"/node_modules/fflate/esm/browser.js","opentype.js":"/node_modules/opentype.js/dist/opentype.module.js","mmd-parser":"/node_modules/mmd-parser/build/mmdparser.js","chevrotain":"/node_modules/chevrotain/lib/src/api.js"},"/":{"/node_modules/react/package.json":"/node_modules/react/package.json"},"/node_modules/react-dom/cjs":{"react":"/node_modules/react/index.js","scheduler":"/node_modules/scheduler/0.23.0/index.js"},"/node_modules/three-stdlib/_polyfill":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib":{"./loaders/KTX2Loader.js":"/node_modules/three-stdlib/loaders/KTX2Loader.js","./utils/SceneUtils.js":"/node_modules/three-stdlib/utils/SceneUtils.js","./utils/UVsDebug.js":"/node_modules/three-stdlib/utils/UVsDebug.js","./utils/GeometryUtils.js":"/node_modules/three-stdlib/utils/GeometryUtils.js","./utils/RoughnessMipmapper.js":"/node_modules/three-stdlib/utils/RoughnessMipmapper.js","./utils/SkeletonUtils.js":"/node_modules/three-stdlib/utils/SkeletonUtils.js","./utils/ShadowMapViewer.js":"/node_modules/three-stdlib/utils/ShadowMapViewer.js","./utils/BufferGeometryUtils.js":"/node_modules/three-stdlib/utils/BufferGeometryUtils.js","./utils/GeometryCompressionUtils.js":"/node_modules/three-stdlib/utils/GeometryCompressionUtils.js","./loaders/FBXLoader.js":"/node_modules/three-stdlib/loaders/FBXLoader.js","./loaders/FontLoader.js":"/node_modules/three-stdlib/loaders/FontLoader.js","./loaders/TGALoader.js":"/node_modules/three-stdlib/loaders/TGALoader.js","./loaders/LUTCubeLoader.js":"/node_modules/three-stdlib/loaders/LUTCubeLoader.js","./loaders/NRRDLoader.js":"/node_modules/three-stdlib/loaders/NRRDLoader.js","./loaders/STLLoader.js":"/node_modules/three-stdlib/loaders/STLLoader.js","./loaders/MTLLoader.js":"/node_modules/three-stdlib/loaders/MTLLoader.js","./loaders/XLoader.js":"/node_modules/three-stdlib/loaders/XLoader.js","./loaders/BVHLoader.js":"/node_modules/three-stdlib/loaders/BVHLoader.js","./loaders/KMZLoader.js":"/node_modules/three-stdlib/loaders/KMZLoader.js","./loaders/VRMLoader.js":"/node_modules/three-stdlib/loaders/VRMLoader.js","./loaders/VRMLLoader.js":"/node_modules/three-stdlib/loaders/VRMLLoader.js","./loaders/LottieLoader.js":"/node_modules/three-stdlib/loaders/LottieLoader.js","./loaders/TTFLoader.js":"/node_modules/three-stdlib/loaders/TTFLoader.js","./loaders/RGBELoader.js":"/node_modules/three-stdlib/loaders/RGBELoader.js","./loaders/AssimpLoader.js":"/node_modules/three-stdlib/loaders/AssimpLoader.js","./loaders/ColladaLoader.js":"/node_modules/three-stdlib/loaders/ColladaLoader.js","./loaders/MDDLoader.js":"/node_modules/three-stdlib/loaders/MDDLoader.js","./loaders/EXRLoader.js":"/node_modules/three-stdlib/loaders/EXRLoader.js","./loaders/3MFLoader.js":"/node_modules/three-stdlib/loaders/3MFLoader.js","./loaders/XYZLoader.js":"/node_modules/three-stdlib/loaders/XYZLoader.js","./loaders/VTKLoader.js":"/node_modules/three-stdlib/loaders/VTKLoader.js","./loaders/LUT3dlLoader.js":"/node_modules/three-stdlib/loaders/LUT3dlLoader.js","./loaders/DDSLoader.js":"/node_modules/three-stdlib/loaders/DDSLoader.js","./loaders/PVRLoader.js":"/node_modules/three-stdlib/loaders/PVRLoader.js","./loaders/GCodeLoader.js":"/node_modules/three-stdlib/loaders/GCodeLoader.js","./loaders/BasisTextureLoader.js":"/node_modules/three-stdlib/loaders/BasisTextureLoader.js","./loaders/TDSLoader.js":"/node_modules/three-stdlib/loaders/TDSLoader.js","./loaders/LDrawLoader.js":"/node_modules/three-stdlib/loaders/LDrawLoader.js","./loaders/GLTFLoader.js":"/node_modules/three-stdlib/loaders/GLTFLoader.js","./loaders/SVGLoader.js":"/node_modules/three-stdlib/loaders/SVGLoader.js","./loaders/3DMLoader.js":"/node_modules/three-stdlib/loaders/3DMLoader.js","./loaders/OBJLoader.js":"/node_modules/three-stdlib/loaders/OBJLoader.js","./loaders/AMFLoader.js":"/node_modules/three-stdlib/loaders/AMFLoader.js","./loaders/MMDLoader.js":"/node_modules/three-stdlib/loaders/MMDLoader.js","./loaders/MD2Loader.js":"/node_modules/three-stdlib/loaders/MD2Loader.js","./loaders/KTXLoader.js":"/node_modules/three-stdlib/loaders/KTXLoader.js","./loaders/TiltLoader.js":"/node_modules/three-stdlib/loaders/TiltLoader.js","./loaders/DRACOLoader.js":"/node_modules/three-stdlib/loaders/DRACOLoader.js","./loaders/HDRCubeTextureLoader.js":"/node_modules/three-stdlib/loaders/HDRCubeTextureLoader.js","./loaders/PDBLoader.js":"/node_modules/three-stdlib/loaders/PDBLoader.js","./loaders/PRWMLoader.js":"/node_modules/three-stdlib/loaders/PRWMLoader.js","./loaders/RGBMLoader.js":"/node_modules/three-stdlib/loaders/RGBMLoader.js","./loaders/VOXLoader.js":"/node_modules/three-stdlib/loaders/VOXLoader.js","./loaders/PCDLoader.js":"/node_modules/three-stdlib/loaders/PCDLoader.js","./loaders/LWOLoader.js":"/node_modules/three-stdlib/loaders/LWOLoader.js","./loaders/PLYLoader.js":"/node_modules/three-stdlib/loaders/PLYLoader.js","./misc/MD2CharacterComplex.js":"/node_modules/three-stdlib/misc/MD2CharacterComplex.js","./misc/ConvexObjectBreaker.js":"/node_modules/three-stdlib/misc/ConvexObjectBreaker.js","./misc/MorphBlendMesh.js":"/node_modules/three-stdlib/misc/MorphBlendMesh.js","./misc/GPUComputationRenderer.js":"/node_modules/three-stdlib/misc/GPUComputationRenderer.js","./misc/Gyroscope.js":"/node_modules/three-stdlib/misc/Gyroscope.js","./misc/MorphAnimMesh.js":"/node_modules/three-stdlib/misc/MorphAnimMesh.js","./misc/RollerCoaster.js":"/node_modules/three-stdlib/misc/RollerCoaster.js","./misc/Timer.js":"/node_modules/three-stdlib/misc/Timer.js","./misc/WebGL.js":"/node_modules/three-stdlib/misc/WebGL.js","./misc/MD2Character.js":"/node_modules/three-stdlib/misc/MD2Character.js","./misc/VolumeSlice.js":"/node_modules/three-stdlib/misc/VolumeSlice.js","./misc/TubePainter.js":"/node_modules/three-stdlib/misc/TubePainter.js","./misc/Volume.js":"/node_modules/three-stdlib/misc/Volume.js","./misc/ProgressiveLightmap.js":"/node_modules/three-stdlib/misc/ProgressiveLightmap.js","./renderers/CSS2DRenderer.js":"/node_modules/three-stdlib/renderers/CSS2DRenderer.js","./renderers/CSS3DRenderer.js":"/node_modules/three-stdlib/renderers/CSS3DRenderer.js","./renderers/Projector.js":"/node_modules/three-stdlib/renderers/Projector.js","./renderers/SVGRenderer.js":"/node_modules/three-stdlib/renderers/SVGRenderer.js","./textures/FlakesTexture.js":"/node_modules/three-stdlib/textures/FlakesTexture.js","./modifiers/CurveModifier.js":"/node_modules/three-stdlib/modifiers/CurveModifier.js","./modifiers/SimplifyModifier.js":"/node_modules/three-stdlib/modifiers/SimplifyModifier.js","./modifiers/EdgeSplitModifier.js":"/node_modules/three-stdlib/modifiers/EdgeSplitModifier.js","./modifiers/TessellateModifier.js":"/node_modules/three-stdlib/modifiers/TessellateModifier.js","./exporters/GLTFExporter.js":"/node_modules/three-stdlib/exporters/GLTFExporter.js","./exporters/USDZExporter.js":"/node_modules/three-stdlib/exporters/USDZExporter.js","./exporters/PLYExporter.js":"/node_modules/three-stdlib/exporters/PLYExporter.js","./exporters/DRACOExporter.js":"/node_modules/three-stdlib/exporters/DRACOExporter.js","./exporters/ColladaExporter.js":"/node_modules/three-stdlib/exporters/ColladaExporter.js","./exporters/MMDExporter.js":"/node_modules/three-stdlib/exporters/MMDExporter.js","./exporters/STLExporter.js":"/node_modules/three-stdlib/exporters/STLExporter.js","./exporters/OBJExporter.js":"/node_modules/three-stdlib/exporters/OBJExporter.js","./environments/RoomEnvironment.js":"/node_modules/three-stdlib/environments/RoomEnvironment.js","./animation/AnimationClipCreator.js":"/node_modules/three-stdlib/animation/AnimationClipCreator.js","./animation/CCDIKSolver.js":"/node_modules/three-stdlib/animation/CCDIKSolver.js","./animation/MMDPhysics.js":"/node_modules/three-stdlib/animation/MMDPhysics.js","./animation/MMDAnimationHelper.js":"/node_modules/three-stdlib/animation/MMDAnimationHelper.js","./objects/Reflector.js":"/node_modules/three-stdlib/objects/Reflector.js","./objects/Refractor.js":"/node_modules/three-stdlib/objects/Refractor.js","./objects/ShadowMesh.js":"/node_modules/three-stdlib/objects/ShadowMesh.js","./objects/Lensflare.js":"/node_modules/three-stdlib/objects/Lensflare.js","./objects/Water.js":"/node_modules/three-stdlib/objects/Water.js","./objects/MarchingCubes.js":"/node_modules/three-stdlib/objects/MarchingCubes.js","./objects/LightningStorm.js":"/node_modules/three-stdlib/objects/LightningStorm.js","./objects/ReflectorRTT.js":"/node_modules/three-stdlib/objects/ReflectorRTT.js","./objects/ReflectorForSSRPass.js":"/node_modules/three-stdlib/objects/ReflectorForSSRPass.js","./objects/Sky.js":"/node_modules/three-stdlib/objects/Sky.js","./objects/Water2.js":"/node_modules/three-stdlib/objects/Water2.js","./objects/GroundProjectedEnv.js":"/node_modules/three-stdlib/objects/GroundProjectedEnv.js","./cameras/CinematicCamera.js":"/node_modules/three-stdlib/cameras/CinematicCamera.js","./math/ConvexHull.js":"/node_modules/three-stdlib/math/ConvexHull.js","./math/MeshSurfaceSampler.js":"/node_modules/three-stdlib/math/MeshSurfaceSampler.js","./math/SimplexNoise.js":"/node_modules/three-stdlib/math/SimplexNoise.js","./math/OBB.js":"/node_modules/three-stdlib/math/OBB.js","./math/Capsule.js":"/node_modules/three-stdlib/math/Capsule.js","./math/ColorConverter.js":"/node_modules/three-stdlib/math/ColorConverter.js","./math/ImprovedNoise.js":"/node_modules/three-stdlib/math/ImprovedNoise.js","./math/Octree.js":"/node_modules/three-stdlib/math/Octree.js","./math/Lut.js":"/node_modules/three-stdlib/math/Lut.js","./controls/FirstPersonControls.js":"/node_modules/three-stdlib/controls/FirstPersonControls.js","./controls/TransformControls.js":"/node_modules/three-stdlib/controls/TransformControls.js","./controls/DragControls.js":"/node_modules/three-stdlib/controls/DragControls.js","./controls/PointerLockControls.js":"/node_modules/three-stdlib/controls/PointerLockControls.js","./controls/DeviceOrientationControls.js":"/node_modules/three-stdlib/controls/DeviceOrientationControls.js","./controls/TrackballControls.js":"/node_modules/three-stdlib/controls/TrackballControls.js","./controls/OrbitControls.js":"/node_modules/three-stdlib/controls/OrbitControls.js","./controls/ArcballControls.js":"/node_modules/three-stdlib/controls/ArcballControls.js","./controls/FlyControls.js":"/node_modules/three-stdlib/controls/FlyControls.js","./postprocessing/LUTPass.js":"/node_modules/three-stdlib/postprocessing/LUTPass.js","./postprocessing/ClearPass.js":"/node_modules/three-stdlib/postprocessing/ClearPass.js","./postprocessing/GlitchPass.js":"/node_modules/three-stdlib/postprocessing/GlitchPass.js","./postprocessing/HalftonePass.js":"/node_modules/three-stdlib/postprocessing/HalftonePass.js","./postprocessing/SMAAPass.js":"/node_modules/three-stdlib/postprocessing/SMAAPass.js","./postprocessing/FilmPass.js":"/node_modules/three-stdlib/postprocessing/FilmPass.js","./postprocessing/OutlinePass.js":"/node_modules/three-stdlib/postprocessing/OutlinePass.js","./postprocessing/SSAOPass.js":"/node_modules/three-stdlib/postprocessing/SSAOPass.js","./postprocessing/SavePass.js":"/node_modules/three-stdlib/postprocessing/SavePass.js","./postprocessing/BokehPass.js":"/node_modules/three-stdlib/postprocessing/BokehPass.js","./postprocessing/Pass.js":"/node_modules/three-stdlib/postprocessing/Pass.js","./postprocessing/TexturePass.js":"/node_modules/three-stdlib/postprocessing/TexturePass.js","./postprocessing/AdaptiveToneMappingPass.js":"/node_modules/three-stdlib/postprocessing/AdaptiveToneMappingPass.js","./postprocessing/UnrealBloomPass.js":"/node_modules/three-stdlib/postprocessing/UnrealBloomPass.js","./postprocessing/CubeTexturePass.js":"/node_modules/three-stdlib/postprocessing/CubeTexturePass.js","./postprocessing/SAOPass.js":"/node_modules/three-stdlib/postprocessing/SAOPass.js","./postprocessing/AfterimagePass.js":"/node_modules/three-stdlib/postprocessing/AfterimagePass.js","./postprocessing/MaskPass.js":"/node_modules/three-stdlib/postprocessing/MaskPass.js","./postprocessing/EffectComposer.js":"/node_modules/three-stdlib/postprocessing/EffectComposer.js","./postprocessing/DotScreenPass.js":"/node_modules/three-stdlib/postprocessing/DotScreenPass.js","./postprocessing/SSRPass.js":"/node_modules/three-stdlib/postprocessing/SSRPass.js","./postprocessing/TAARenderPass.js":"/node_modules/three-stdlib/postprocessing/TAARenderPass.js","./postprocessing/ShaderPass.js":"/node_modules/three-stdlib/postprocessing/ShaderPass.js","./postprocessing/SSAARenderPass.js":"/node_modules/three-stdlib/postprocessing/SSAARenderPass.js","./postprocessing/RenderPass.js":"/node_modules/three-stdlib/postprocessing/RenderPass.js","./postprocessing/RenderPixelatedPass.js":"/node_modules/three-stdlib/postprocessing/RenderPixelatedPass.js","./postprocessing/BloomPass.js":"/node_modules/three-stdlib/postprocessing/BloomPass.js","./postprocessing/WaterPass.js":"/node_modules/three-stdlib/postprocessing/WaterPass.js","./webxr/ARButton.js":"/node_modules/three-stdlib/webxr/ARButton.js","./webxr/OculusHandModel.js":"/node_modules/three-stdlib/webxr/OculusHandModel.js","./webxr/OculusHandPointerModel.js":"/node_modules/three-stdlib/webxr/OculusHandPointerModel.js","./webxr/Text2D.js":"/node_modules/three-stdlib/webxr/Text2D.js","./webxr/VRButton.js":"/node_modules/three-stdlib/webxr/VRButton.js","./webxr/XRControllerModelFactory.js":"/node_modules/three-stdlib/webxr/XRControllerModelFactory.js","./webxr/XREstimatedLight.js":"/node_modules/three-stdlib/webxr/XREstimatedLight.js","./webxr/XRHandMeshModel.js":"/node_modules/three-stdlib/webxr/XRHandMeshModel.js","./webxr/XRHandModelFactory.js":"/node_modules/three-stdlib/webxr/XRHandModelFactory.js","./webxr/XRHandPrimitiveModel.js":"/node_modules/three-stdlib/webxr/XRHandPrimitiveModel.js","./geometries/ParametricGeometries.js":"/node_modules/three-stdlib/geometries/ParametricGeometries.js","./geometries/ParametricGeometry.js":"/node_modules/three-stdlib/geometries/ParametricGeometry.js","./geometries/ConvexGeometry.js":"/node_modules/three-stdlib/geometries/ConvexGeometry.js","./geometries/LightningStrike.js":"/node_modules/three-stdlib/geometries/LightningStrike.js","./geometries/RoundedBoxGeometry.js":"/node_modules/three-stdlib/geometries/RoundedBoxGeometry.js","./geometries/BoxLineGeometry.js":"/node_modules/three-stdlib/geometries/BoxLineGeometry.js","./geometries/DecalGeometry.js":"/node_modules/three-stdlib/geometries/DecalGeometry.js","./geometries/TeapotGeometry.js":"/node_modules/three-stdlib/geometries/TeapotGeometry.js","./geometries/TextGeometry.js":"/node_modules/three-stdlib/geometries/TextGeometry.js","./csm/CSM.js":"/node_modules/three-stdlib/csm/CSM.js","./csm/CSMFrustum.js":"/node_modules/three-stdlib/csm/CSMFrustum.js","./csm/CSMHelper.js":"/node_modules/three-stdlib/csm/CSMHelper.js","./csm/CSMShader.js":"/node_modules/three-stdlib/csm/CSMShader.js","./shaders/types.js":"/node_modules/three-stdlib/shaders/types.js","./shaders/ACESFilmicToneMappingShader.js":"/node_modules/three-stdlib/shaders/ACESFilmicToneMappingShader.js","./shaders/AfterimageShader.js":"/node_modules/three-stdlib/shaders/AfterimageShader.js","./shaders/BasicShader.js":"/node_modules/three-stdlib/shaders/BasicShader.js","./shaders/BleachBypassShader.js":"/node_modules/three-stdlib/shaders/BleachBypassShader.js","./shaders/BlendShader.js":"/node_modules/three-stdlib/shaders/BlendShader.js","./shaders/BokehShader.js":"/node_modules/three-stdlib/shaders/BokehShader.js","./shaders/BokehShader2.js":"/node_modules/three-stdlib/shaders/BokehShader2.js","./shaders/BrightnessContrastShader.js":"/node_modules/three-stdlib/shaders/BrightnessContrastShader.js","./shaders/ColorCorrectionShader.js":"/node_modules/three-stdlib/shaders/ColorCorrectionShader.js","./shaders/ColorifyShader.js":"/node_modules/three-stdlib/shaders/ColorifyShader.js","./shaders/ConvolutionShader.js":"/node_modules/three-stdlib/shaders/ConvolutionShader.js","./shaders/CopyShader.js":"/node_modules/three-stdlib/shaders/CopyShader.js","./shaders/DOFMipMapShader.js":"/node_modules/three-stdlib/shaders/DOFMipMapShader.js","./shaders/DepthLimitedBlurShader.js":"/node_modules/three-stdlib/shaders/DepthLimitedBlurShader.js","./shaders/DigitalGlitch.js":"/node_modules/three-stdlib/shaders/DigitalGlitch.js","./shaders/DotScreenShader.js":"/node_modules/three-stdlib/shaders/DotScreenShader.js","./shaders/FXAAShader.js":"/node_modules/three-stdlib/shaders/FXAAShader.js","./shaders/FilmShader.js":"/node_modules/three-stdlib/shaders/FilmShader.js","./shaders/FocusShader.js":"/node_modules/three-stdlib/shaders/FocusShader.js","./shaders/FreiChenShader.js":"/node_modules/three-stdlib/shaders/FreiChenShader.js","./shaders/FresnelShader.js":"/node_modules/three-stdlib/shaders/FresnelShader.js","./shaders/GammaCorrectionShader.js":"/node_modules/three-stdlib/shaders/GammaCorrectionShader.js","./shaders/GodRaysShader.js":"/node_modules/three-stdlib/shaders/GodRaysShader.js","./shaders/HalftoneShader.js":"/node_modules/three-stdlib/shaders/HalftoneShader.js","./shaders/HorizontalBlurShader.js":"/node_modules/three-stdlib/shaders/HorizontalBlurShader.js","./shaders/HorizontalTiltShiftShader.js":"/node_modules/three-stdlib/shaders/HorizontalTiltShiftShader.js","./shaders/HueSaturationShader.js":"/node_modules/three-stdlib/shaders/HueSaturationShader.js","./shaders/KaleidoShader.js":"/node_modules/three-stdlib/shaders/KaleidoShader.js","./shaders/LuminosityHighPassShader.js":"/node_modules/three-stdlib/shaders/LuminosityHighPassShader.js","./shaders/LuminosityShader.js":"/node_modules/three-stdlib/shaders/LuminosityShader.js","./shaders/MirrorShader.js":"/node_modules/three-stdlib/shaders/MirrorShader.js","./shaders/NormalMapShader.js":"/node_modules/three-stdlib/shaders/NormalMapShader.js","./shaders/ParallaxShader.js":"/node_modules/three-stdlib/shaders/ParallaxShader.js","./shaders/PixelShader.js":"/node_modules/three-stdlib/shaders/PixelShader.js","./shaders/RGBShiftShader.js":"/node_modules/three-stdlib/shaders/RGBShiftShader.js","./shaders/SAOShader.js":"/node_modules/three-stdlib/shaders/SAOShader.js","./shaders/SMAAShader.js":"/node_modules/three-stdlib/shaders/SMAAShader.js","./shaders/SSAOShader.js":"/node_modules/three-stdlib/shaders/SSAOShader.js","./shaders/SSRShader.js":"/node_modules/three-stdlib/shaders/SSRShader.js","./shaders/SepiaShader.js":"/node_modules/three-stdlib/shaders/SepiaShader.js","./shaders/SobelOperatorShader.js":"/node_modules/three-stdlib/shaders/SobelOperatorShader.js","./shaders/SubsurfaceScatteringShader.js":"/node_modules/three-stdlib/shaders/SubsurfaceScatteringShader.js","./shaders/TechnicolorShader.js":"/node_modules/three-stdlib/shaders/TechnicolorShader.js","./shaders/ToneMapShader.js":"/node_modules/three-stdlib/shaders/ToneMapShader.js","./shaders/ToonShader.js":"/node_modules/three-stdlib/shaders/ToonShader.js","./shaders/TriangleBlurShader.js":"/node_modules/three-stdlib/shaders/TriangleBlurShader.js","./shaders/UnpackDepthRGBAShader.js":"/node_modules/three-stdlib/shaders/UnpackDepthRGBAShader.js","./shaders/VerticalBlurShader.js":"/node_modules/three-stdlib/shaders/VerticalBlurShader.js","./shaders/VerticalTiltShiftShader.js":"/node_modules/three-stdlib/shaders/VerticalTiltShiftShader.js","./shaders/VignetteShader.js":"/node_modules/three-stdlib/shaders/VignetteShader.js","./shaders/VolumeShader.js":"/node_modules/three-stdlib/shaders/VolumeShader.js","./shaders/WaterRefractionShader.js":"/node_modules/three-stdlib/shaders/WaterRefractionShader.js","./interactive/HTMLMesh.js":"/node_modules/three-stdlib/interactive/HTMLMesh.js","./interactive/InteractiveGroup.js":"/node_modules/three-stdlib/interactive/InteractiveGroup.js","./interactive/SelectionHelper.js":"/node_modules/three-stdlib/interactive/SelectionHelper.js","./interactive/SelectionBox.js":"/node_modules/three-stdlib/interactive/SelectionBox.js","./physics/AmmoPhysics.js":"/node_modules/three-stdlib/physics/AmmoPhysics.js","./effects/ParallaxBarrierEffect.js":"/node_modules/three-stdlib/effects/ParallaxBarrierEffect.js","./effects/PeppersGhostEffect.js":"/node_modules/three-stdlib/effects/PeppersGhostEffect.js","./effects/OutlineEffect.js":"/node_modules/three-stdlib/effects/OutlineEffect.js","./effects/AnaglyphEffect.js":"/node_modules/three-stdlib/effects/AnaglyphEffect.js","./effects/AsciiEffect.js":"/node_modules/three-stdlib/effects/AsciiEffect.js","./effects/StereoEffect.js":"/node_modules/three-stdlib/effects/StereoEffect.js","./lines/LineSegmentsGeometry.js":"/node_modules/three-stdlib/lines/LineSegmentsGeometry.js","./lines/LineGeometry.js":"/node_modules/three-stdlib/lines/LineGeometry.js","./lines/Wireframe.js":"/node_modules/three-stdlib/lines/Wireframe.js","./lines/WireframeGeometry2.js":"/node_modules/three-stdlib/lines/WireframeGeometry2.js","./lines/Line2.js":"/node_modules/three-stdlib/lines/Line2.js","./lines/LineMaterial.js":"/node_modules/three-stdlib/lines/LineMaterial.js","./lines/LineSegments2.js":"/node_modules/three-stdlib/lines/LineSegments2.js","./helpers/LightProbeHelper.js":"/node_modules/three-stdlib/helpers/LightProbeHelper.js","./helpers/VertexTangentsHelper.js":"/node_modules/three-stdlib/helpers/VertexTangentsHelper.js","./helpers/PositionalAudioHelper.js":"/node_modules/three-stdlib/helpers/PositionalAudioHelper.js","./helpers/VertexNormalsHelper.js":"/node_modules/three-stdlib/helpers/VertexNormalsHelper.js","./helpers/RectAreaLightHelper.js":"/node_modules/three-stdlib/helpers/RectAreaLightHelper.js","./lights/RectAreaLightUniformsLib.js":"/node_modules/three-stdlib/lights/RectAreaLightUniformsLib.js","./lights/LightProbeGenerator.js":"/node_modules/three-stdlib/lights/LightProbeGenerator.js","./curves/NURBSUtils.js":"/node_modules/three-stdlib/curves/NURBSUtils.js","./curves/NURBSCurve.js":"/node_modules/three-stdlib/curves/NURBSCurve.js","./curves/NURBSSurface.js":"/node_modules/three-stdlib/curves/NURBSSurface.js","./curves/CurveExtras.js":"/node_modules/three-stdlib/curves/CurveExtras.js","./deprecated/Geometry.js":"/node_modules/three-stdlib/deprecated/Geometry.js","./libs/MeshoptDecoder.js":"/node_modules/three-stdlib/libs/MeshoptDecoder.js","./libs/MotionControllers.js":"/node_modules/three-stdlib/libs/MotionControllers.js","./controls/experimental/CameraControls.js":"/node_modules/three-stdlib/controls/experimental/CameraControls.js"},"/node_modules/zustand":{"react":"/node_modules/react/index.js"},"/node_modules/meshline/dist":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/@react-three/drei/helpers":{"react":"/node_modules/react/index.js"},"/node_modules/scheduler/0.23.0":{"./cjs/scheduler.production.min.js":"/node_modules/scheduler/0.23.0/cjs/scheduler.production.min.js","./cjs/scheduler.development.js":"/node_modules/scheduler/0.23.0/cjs/scheduler.development.js"},"/node_modules/@react-three/drei/materials":{"../core/shaderMaterial.js":"/node_modules/@react-three/drei/core/shaderMaterial.js","./ConvolutionMaterial.js":"/node_modules/@react-three/drei/materials/ConvolutionMaterial.js","three":"/node_modules/three/build/three.module.js","react":"/node_modules/react/index.js","three-mesh-bvh":"/node_modules/three-mesh-bvh/src/index.js"},"/node_modules/react-reconciler":{"./cjs/react-reconciler.production.min.js":"/node_modules/react-reconciler/cjs/react-reconciler.production.min.js","./cjs/react-reconciler.development.js":"/node_modules/react-reconciler/cjs/react-reconciler.development.js","./cjs/react-reconciler-constants.production.min.js":"/node_modules/react-reconciler/cjs/react-reconciler-constants.production.min.js","./cjs/react-reconciler-constants.development.js":"/node_modules/react-reconciler/cjs/react-reconciler-constants.development.js"},"/node_modules/scheduler":{"./cjs/scheduler.production.min.js":"/node_modules/scheduler/cjs/scheduler.production.min.js","./cjs/scheduler.development.js":"/node_modules/scheduler/cjs/scheduler.development.js"},"/node_modules/react-use-measure/dist":{"react":"/node_modules/react/index.js","debounce":"/node_modules/debounce/index.js"},"/node_modules/its-fine/dist":{"react":"/node_modules/react/index.js"},"/node_modules/maath/dist":{"./buffer-d2a4726c.esm.js":"/node_modules/maath/dist/buffer-d2a4726c.esm.js","./index-43782085.esm.js":"/node_modules/maath/dist/index-43782085.esm.js","./easing-3be59c6d.esm.js":"/node_modules/maath/dist/easing-3be59c6d.esm.js","./geometry-982366ff.esm.js":"/node_modules/maath/dist/geometry-982366ff.esm.js","./matrix-baa530bf.esm.js":"/node_modules/maath/dist/matrix-baa530bf.esm.js","./misc-7d870b3c.esm.js":"/node_modules/maath/dist/misc-7d870b3c.esm.js","./three-eb2ad8c0.esm.js":"/node_modules/maath/dist/three-eb2ad8c0.esm.js","./triangle-b62b9067.esm.js":"/node_modules/maath/dist/triangle-b62b9067.esm.js","./vector2-d2bf51f1.esm.js":"/node_modules/maath/dist/vector2-d2bf51f1.esm.js","./vector3-0a088b7f.esm.js":"/node_modules/maath/dist/vector3-0a088b7f.esm.js","./objectSpread2-284232a6.esm.js":"/node_modules/maath/dist/objectSpread2-284232a6.esm.js","./classCallCheck-9098b006.esm.js":"/node_modules/maath/dist/classCallCheck-9098b006.esm.js","./isNativeReflectConstruct-5594d075.esm.js":"/node_modules/maath/dist/isNativeReflectConstruct-5594d075.esm.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/@react-spring/three/dist":{"@react-three/fiber":"/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","three":"/node_modules/three/build/three.module.js","@react-spring/core":"/node_modules/@react-spring/core/dist/react-spring-core.esm.js","@react-spring/shared":"/node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","@react-spring/animated":"/node_modules/@react-spring/animated/dist/react-spring-animated.esm.js"},"/node_modules/troika-three-text/dist":{"three":"/node_modules/three/build/three.module.js","troika-worker-utils":"/node_modules/troika-worker-utils/dist/troika-worker-utils.esm.js","webgl-sdf-generator":"/node_modules/webgl-sdf-generator/dist/webgl-sdf-generator.mjs","bidi-js":"/node_modules/bidi-js/dist/bidi.mjs","troika-three-utils":"/node_modules/troika-three-utils/dist/troika-three-utils.esm.js"},"/node_modules/three-mesh-bvh/src":{"./core/MeshBVH.js":"/node_modules/three-mesh-bvh/src/core/MeshBVH.js","./objects/MeshBVHVisualizer.js":"/node_modules/three-mesh-bvh/src/objects/MeshBVHVisualizer.js","./core/Constants.js":"/node_modules/three-mesh-bvh/src/core/Constants.js","./debug/Debug.js":"/node_modules/three-mesh-bvh/src/debug/Debug.js","./utils/ExtensionUtilities.js":"/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js","./utils/TriangleUtilities.js":"/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js","./math/ExtendedTriangle.js":"/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js","./math/OrientedBox.js":"/node_modules/three-mesh-bvh/src/math/OrientedBox.js","./gpu/MeshBVHUniformStruct.js":"/node_modules/three-mesh-bvh/src/gpu/MeshBVHUniformStruct.js","./gpu/shaderFunctions.js":"/node_modules/three-mesh-bvh/src/gpu/shaderFunctions.js","./gpu/VertexAttributeTexture.js":"/node_modules/three-mesh-bvh/src/gpu/VertexAttributeTexture.js","./utils/StaticGeometryGenerator.js":"/node_modules/three-mesh-bvh/src/utils/StaticGeometryGenerator.js"},"/node_modules/react-composer/es":{"react":"/node_modules/react/index.js","prop-types":"/node_modules/prop-types/index.js"},"/node_modules/three-stdlib/utils":{"../shaders/UnpackDepthRGBAShader.js":"/node_modules/three-stdlib/shaders/UnpackDepthRGBAShader.js","three":"/node_modules/three/build/three.module.js","../types/helpers.js":"/node_modules/three-stdlib/types/helpers.js"},"/node_modules/three-stdlib/misc":{"../loaders/MD2Loader.js":"/node_modules/three-stdlib/loaders/MD2Loader.js","./MorphBlendMesh.js":"/node_modules/three-stdlib/misc/MorphBlendMesh.js","../geometries/ConvexGeometry.js":"/node_modules/three-stdlib/geometries/ConvexGeometry.js","./VolumeSlice.js":"/node_modules/three-stdlib/misc/VolumeSlice.js","three":"/node_modules/three/build/three.module.js","potpack":"/node_modules/potpack/index.mjs"},"/node_modules/three-stdlib/renderers":{"./Projector.js":"/node_modules/three-stdlib/renderers/Projector.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/modifiers":{"../utils/BufferGeometryUtils.js":"/node_modules/three-stdlib/utils/BufferGeometryUtils.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/exporters":{"three":"/node_modules/three/build/three.module.js","fflate":"/node_modules/fflate/esm/browser.js","mmd-parser":"/node_modules/mmd-parser/build/mmdparser.js"},"/node_modules/three-stdlib/environments":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/animation":{"./CCDIKSolver.js":"/node_modules/three-stdlib/animation/CCDIKSolver.js","./MMDPhysics.js":"/node_modules/three-stdlib/animation/MMDPhysics.js","../_polyfill/CapsuleGeometry.js":"/node_modules/three-stdlib/_polyfill/CapsuleGeometry.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/objects":{"../geometries/LightningStrike.js":"/node_modules/three-stdlib/geometries/LightningStrike.js","./Reflector.js":"/node_modules/three-stdlib/objects/Reflector.js","./Refractor.js":"/node_modules/three-stdlib/objects/Refractor.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/cameras":{"../shaders/BokehShader2.js":"/node_modules/three-stdlib/shaders/BokehShader2.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/math":{"./Capsule.js":"/node_modules/three-stdlib/math/Capsule.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/controls":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/postprocessing":{"./ShaderPass.js":"/node_modules/three-stdlib/postprocessing/ShaderPass.js","./Pass.js":"/node_modules/three-stdlib/postprocessing/Pass.js","../shaders/DigitalGlitch.js":"/node_modules/three-stdlib/shaders/DigitalGlitch.js","../shaders/HalftoneShader.js":"/node_modules/three-stdlib/shaders/HalftoneShader.js","../shaders/SMAAShader.js":"/node_modules/three-stdlib/shaders/SMAAShader.js","../shaders/FilmShader.js":"/node_modules/three-stdlib/shaders/FilmShader.js","../shaders/CopyShader.js":"/node_modules/three-stdlib/shaders/CopyShader.js","../math/SimplexNoise.js":"/node_modules/three-stdlib/math/SimplexNoise.js","../shaders/SSAOShader.js":"/node_modules/three-stdlib/shaders/SSAOShader.js","../shaders/BokehShader.js":"/node_modules/three-stdlib/shaders/BokehShader.js","../shaders/LuminosityShader.js":"/node_modules/three-stdlib/shaders/LuminosityShader.js","../shaders/ToneMapShader.js":"/node_modules/three-stdlib/shaders/ToneMapShader.js","../shaders/LuminosityHighPassShader.js":"/node_modules/three-stdlib/shaders/LuminosityHighPassShader.js","../shaders/SAOShader.js":"/node_modules/three-stdlib/shaders/SAOShader.js","../shaders/DepthLimitedBlurShader.js":"/node_modules/three-stdlib/shaders/DepthLimitedBlurShader.js","../shaders/UnpackDepthRGBAShader.js":"/node_modules/three-stdlib/shaders/UnpackDepthRGBAShader.js","../shaders/AfterimageShader.js":"/node_modules/three-stdlib/shaders/AfterimageShader.js","./MaskPass.js":"/node_modules/three-stdlib/postprocessing/MaskPass.js","../shaders/DotScreenShader.js":"/node_modules/three-stdlib/shaders/DotScreenShader.js","../shaders/SSRShader.js":"/node_modules/three-stdlib/shaders/SSRShader.js","./SSAARenderPass.js":"/node_modules/three-stdlib/postprocessing/SSAARenderPass.js","../shaders/ConvolutionShader.js":"/node_modules/three-stdlib/shaders/ConvolutionShader.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/webxr":{"./XRHandMeshModel.js":"/node_modules/three-stdlib/webxr/XRHandMeshModel.js","../loaders/GLTFLoader.js":"/node_modules/three-stdlib/loaders/GLTFLoader.js","../libs/MotionControllers.js":"/node_modules/three-stdlib/libs/MotionControllers.js","./XRHandPrimitiveModel.js":"/node_modules/three-stdlib/webxr/XRHandPrimitiveModel.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/geometries":{"./ParametricGeometry.js":"/node_modules/three-stdlib/geometries/ParametricGeometry.js","../math/ConvexHull.js":"/node_modules/three-stdlib/math/ConvexHull.js","../math/SimplexNoise.js":"/node_modules/three-stdlib/math/SimplexNoise.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/csm":{"./CSMFrustum.js":"/node_modules/three-stdlib/csm/CSMFrustum.js","./CSMShader.js":"/node_modules/three-stdlib/csm/CSMShader.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/shaders":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/interactive":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/effects":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/lines":{"./LineSegmentsGeometry.js":"/node_modules/three-stdlib/lines/LineSegmentsGeometry.js","./LineMaterial.js":"/node_modules/three-stdlib/lines/LineMaterial.js","./LineSegments2.js":"/node_modules/three-stdlib/lines/LineSegments2.js","./LineGeometry.js":"/node_modules/three-stdlib/lines/LineGeometry.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/helpers":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/lights":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/curves":{"./NURBSUtils.js":"/node_modules/three-stdlib/curves/NURBSUtils.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/deprecated":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/controls/experimental":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/react-reconciler/cjs":{"react":"/node_modules/react/index.js","scheduler":"/node_modules/scheduler/index.js"},"/node_modules/three-mesh-bvh/src/core":{"./Constants.js":"/node_modules/three-mesh-bvh/src/core/Constants.js","../math/OrientedBox.js":"/node_modules/three-mesh-bvh/src/math/OrientedBox.js","../math/ExtendedTriangle.js":"/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js","../utils/TriangleUtilities.js":"/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js","./buildFunctions.js":"/node_modules/three-mesh-bvh/src/core/buildFunctions.js","./castFunctions.js":"/node_modules/three-mesh-bvh/src/core/castFunctions.js","../utils/PrimitivePool.js":"/node_modules/three-mesh-bvh/src/utils/PrimitivePool.js","../utils/ArrayBoxUtilities.js":"/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js","three":"/node_modules/three/build/three.module.js","../utils/GeometryRayIntersectUtilities.js":"/node_modules/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js","./nodeBufferFunctions.js":"/node_modules/three-mesh-bvh/src/core/nodeBufferFunctions.js","./MeshBVHNode.js":"/node_modules/three-mesh-bvh/src/core/MeshBVHNode.js"},"/node_modules/three-mesh-bvh/src/objects":{"../utils/ArrayBoxUtilities.js":"/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-mesh-bvh/src/debug":{"../core/Constants.js":"/node_modules/three-mesh-bvh/src/core/Constants.js","../utils/ArrayBoxUtilities.js":"/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-mesh-bvh/src/utils":{"../core/MeshBVH.js":"/node_modules/three-mesh-bvh/src/core/MeshBVH.js","./GeometryRayIntersectUtilities.js":"/node_modules/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js","three":"/node_modules/three/build/three.module.js","./ThreeRayIntersectUtilities.js":"/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js"},"/node_modules/three-mesh-bvh/src/math":{"./ExtendedTriangle.js":"/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js","./SeparatingAxisBounds.js":"/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js","./MathUtilities.js":"/node_modules/three-mesh-bvh/src/math/MathUtilities.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-mesh-bvh/src/gpu":{"./VertexAttributeTexture.js":"/node_modules/three-mesh-bvh/src/gpu/VertexAttributeTexture.js","../core/Constants.js":"/node_modules/three-mesh-bvh/src/core/Constants.js","../core/nodeBufferFunctions.js":"/node_modules/three-mesh-bvh/src/core/nodeBufferFunctions.js","three":"/node_modules/three/build/three.module.js"},"/node_modules/three-stdlib/loaders/lwo":{"./LWO2Parser.js":"/node_modules/three-stdlib/loaders/lwo/LWO2Parser.js","./LWO3Parser.js":"/node_modules/three-stdlib/loaders/lwo/LWO3Parser.js"},"/node_modules/prop-types":{"react-is":"/node_modules/react-is/index.js","./factoryWithTypeCheckers":"/node_modules/prop-types/factoryWithTypeCheckers.js","./factoryWithThrowingShims":"/node_modules/prop-types/factoryWithThrowingShims.js","./checkPropTypes":"/node_modules/prop-types/checkPropTypes.js","./lib/ReactPropTypesSecret":"/node_modules/prop-types/lib/ReactPropTypesSecret.js","./lib/has":"/node_modules/prop-types/lib/has.js","object-assign":"/node_modules/object-assign/index.js"},"/node_modules/troika-three-utils/dist":{"three":"/node_modules/three/build/three.module.js"},"/node_modules/@react-spring/core/dist":{"@react-spring/shared":"/node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","@react-spring/animated":"/node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","react":"/node_modules/react/index.js","@react-spring/types/animated":"/node_modules/@react-spring/types/animated.js","@react-spring/types/interpolation":"/node_modules/@react-spring/types/interpolation.js"},"/node_modules/@react-spring/shared/dist":{"react":"/node_modules/react/index.js","@react-spring/rafz":"/node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js"},"/node_modules/@react-spring/animated/dist":{"@react-spring/shared":"/node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","react":"/node_modules/react/index.js"},"/node_modules/chevrotain/lib/src":{"./version":"/node_modules/chevrotain/lib/src/version.js","./scan/lexer_public":"/node_modules/chevrotain/lib/src/scan/lexer_public.js","./scan/tokens_public":"/node_modules/chevrotain/lib/src/scan/tokens_public.js","./parse/errors_public":"/node_modules/chevrotain/lib/src/parse/errors_public.js","./parse/exceptions_public":"/node_modules/chevrotain/lib/src/parse/exceptions_public.js","./scan/lexer_errors_public":"/node_modules/chevrotain/lib/src/scan/lexer_errors_public.js","./diagrams/render_public":"/node_modules/chevrotain/lib/src/diagrams/render_public.js","./parse/parser/parser":"/node_modules/chevrotain/lib/src/parse/parser/parser.js","./parse/grammar/lookahead":"/node_modules/chevrotain/lib/src/parse/grammar/lookahead.js","./parse/grammar/llk_lookahead":"/node_modules/chevrotain/lib/src/parse/grammar/llk_lookahead.js","@chevrotain/gast":"/node_modules/@chevrotain/gast/lib/src/api.js","@chevrotain/cst-dts-gen":"/node_modules/@chevrotain/cst-dts-gen/lib/src/api.js"},"/node_modules/react-is":{"./cjs/react-is.production.min.js":"/node_modules/react-is/cjs/react-is.production.min.js","./cjs/react-is.development.js":"/node_modules/react-is/cjs/react-is.development.js"},"/node_modules/chevrotain/lib/src/scan":{"./lexer_errors_public":"/node_modules/chevrotain/lib/src/scan/lexer_errors_public.js","./lexer_public":"/node_modules/chevrotain/lib/src/scan/lexer_public.js","./lexer":"/node_modules/chevrotain/lib/src/scan/lexer.js","./tokens":"/node_modules/chevrotain/lib/src/scan/tokens.js","./reg_exp_parser":"/node_modules/chevrotain/lib/src/scan/reg_exp_parser.js","@chevrotain/utils":"/node_modules/@chevrotain/utils/lib/src/api.js","lodash/noop":"/node_modules/lodash/noop.js","lodash/isEmpty":"/node_modules/lodash/isEmpty.js","lodash/isArray":"/node_modules/lodash/isArray.js","lodash/last":"/node_modules/lodash/last.js","lodash/reject":"/node_modules/lodash/reject.js","lodash/map":"/node_modules/lodash/map.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/keys":"/node_modules/lodash/keys.js","lodash/isUndefined":"/node_modules/lodash/isUndefined.js","lodash/identity":"/node_modules/lodash/identity.js","lodash/assign":"/node_modules/lodash/assign.js","lodash/reduce":"/node_modules/lodash/reduce.js","lodash/clone":"/node_modules/lodash/clone.js","lodash/isString":"/node_modules/lodash/isString.js","lodash/has":"/node_modules/lodash/has.js","./reg_exp":"/node_modules/chevrotain/lib/src/scan/reg_exp.js","lodash/first":"/node_modules/lodash/first.js","lodash/values":"/node_modules/lodash/values.js","lodash/flatten":"/node_modules/lodash/flatten.js","lodash/includes":"/node_modules/lodash/includes.js","regexp-to-ast":"/node_modules/regexp-to-ast/lib/regexp-to-ast.js","lodash/isRegExp":"/node_modules/lodash/isRegExp.js","lodash/compact":"/node_modules/lodash/compact.js","lodash/difference":"/node_modules/lodash/difference.js","lodash/indexOf":"/node_modules/lodash/indexOf.js","lodash/isFunction":"/node_modules/lodash/isFunction.js","lodash/find":"/node_modules/lodash/find.js","lodash/filter":"/node_modules/lodash/filter.js","lodash/defaults":"/node_modules/lodash/defaults.js","lodash/every":"/node_modules/lodash/every.js"},"/node_modules/chevrotain/lib/src/parse":{"@chevrotain/gast":"/node_modules/@chevrotain/gast/lib/src/api.js","../scan/tokens_public":"/node_modules/chevrotain/lib/src/scan/tokens_public.js","lodash/first":"/node_modules/lodash/first.js","lodash/map":"/node_modules/lodash/map.js","lodash/reduce":"/node_modules/lodash/reduce.js","lodash/includes":"/node_modules/lodash/includes.js"},"/node_modules/chevrotain/lib/src/diagrams":{"../version":"/node_modules/chevrotain/lib/src/version.js"},"/node_modules/chevrotain/lib/src/parse/parser":{"../../scan/tokens_public":"/node_modules/chevrotain/lib/src/scan/tokens_public.js","../errors_public":"/node_modules/chevrotain/lib/src/parse/errors_public.js","../grammar/follow":"/node_modules/chevrotain/lib/src/parse/grammar/follow.js","../grammar/checks":"/node_modules/chevrotain/lib/src/parse/grammar/checks.js","../grammar/gast/gast_resolver_public":"/node_modules/chevrotain/lib/src/parse/grammar/gast/gast_resolver_public.js","./traits/recoverable":"/node_modules/chevrotain/lib/src/parse/parser/traits/recoverable.js","./traits/looksahead":"/node_modules/chevrotain/lib/src/parse/parser/traits/looksahead.js","./traits/tree_builder":"/node_modules/chevrotain/lib/src/parse/parser/traits/tree_builder.js","./traits/lexer_adapter":"/node_modules/chevrotain/lib/src/parse/parser/traits/lexer_adapter.js","./traits/recognizer_api":"/node_modules/chevrotain/lib/src/parse/parser/traits/recognizer_api.js","./traits/recognizer_engine":"/node_modules/chevrotain/lib/src/parse/parser/traits/recognizer_engine.js","./traits/error_handler":"/node_modules/chevrotain/lib/src/parse/parser/traits/error_handler.js","./traits/context_assist":"/node_modules/chevrotain/lib/src/parse/parser/traits/context_assist.js","./traits/gast_recorder":"/node_modules/chevrotain/lib/src/parse/parser/traits/gast_recorder.js","./traits/perf_tracer":"/node_modules/chevrotain/lib/src/parse/parser/traits/perf_tracer.js","./utils/apply_mixins":"/node_modules/chevrotain/lib/src/parse/parser/utils/apply_mixins.js","@chevrotain/utils":"/node_modules/@chevrotain/utils/lib/src/api.js","lodash/isEmpty":"/node_modules/lodash/isEmpty.js","lodash/map":"/node_modules/lodash/map.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/values":"/node_modules/lodash/values.js","lodash/has":"/node_modules/lodash/has.js","lodash/clone":"/node_modules/lodash/clone.js"},"/node_modules/chevrotain/lib/src/parse/grammar":{"@chevrotain/gast":"/node_modules/@chevrotain/gast/lib/src/api.js","../errors_public":"/node_modules/chevrotain/lib/src/parse/errors_public.js","../parser/parser":"/node_modules/chevrotain/lib/src/parse/parser/parser.js","./lookahead":"/node_modules/chevrotain/lib/src/parse/grammar/lookahead.js","./interpreter":"/node_modules/chevrotain/lib/src/parse/grammar/interpreter.js","./rest":"/node_modules/chevrotain/lib/src/parse/grammar/rest.js","../../scan/tokens":"/node_modules/chevrotain/lib/src/scan/tokens.js","./checks":"/node_modules/chevrotain/lib/src/parse/grammar/checks.js","lodash/isEmpty":"/node_modules/lodash/isEmpty.js","lodash/flatten":"/node_modules/lodash/flatten.js","lodash/every":"/node_modules/lodash/every.js","lodash/map":"/node_modules/lodash/map.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/has":"/node_modules/lodash/has.js","lodash/reduce":"/node_modules/lodash/reduce.js","lodash/flatMap":"/node_modules/lodash/flatMap.js","./first":"/node_modules/chevrotain/lib/src/parse/grammar/first.js","../constants":"/node_modules/chevrotain/lib/src/parse/constants.js","lodash/first":"/node_modules/lodash/first.js","lodash/values":"/node_modules/lodash/values.js","lodash/includes":"/node_modules/lodash/includes.js","lodash/clone":"/node_modules/lodash/clone.js","lodash/assign":"/node_modules/lodash/assign.js","lodash/reject":"/node_modules/lodash/reject.js","lodash/last":"/node_modules/lodash/last.js","lodash/groupBy":"/node_modules/lodash/groupBy.js","lodash/pickBy":"/node_modules/lodash/pickBy.js","lodash/filter":"/node_modules/lodash/filter.js","lodash/difference":"/node_modules/lodash/difference.js","lodash/compact":"/node_modules/lodash/compact.js","lodash/drop":"/node_modules/lodash/drop.js","lodash/dropRight":"/node_modules/lodash/dropRight.js","lodash/uniq":"/node_modules/lodash/uniq.js"},"/node_modules/@chevrotain/gast/lib/src":{"./model":"/node_modules/@chevrotain/gast/lib/src/model.js","./visitor":"/node_modules/@chevrotain/gast/lib/src/visitor.js","./helpers":"/node_modules/@chevrotain/gast/lib/src/helpers.js","lodash/map":"/node_modules/lodash/map.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/isString":"/node_modules/lodash/isString.js","lodash/assign":"/node_modules/lodash/assign.js","lodash/every":"/node_modules/lodash/every.js","lodash/includes":"/node_modules/lodash/includes.js","lodash/isRegExp":"/node_modules/lodash/isRegExp.js","lodash/pickBy":"/node_modules/lodash/pickBy.js","lodash/some":"/node_modules/lodash/some.js"},"/node_modules/@chevrotain/cst-dts-gen/lib/src":{"./model":"/node_modules/@chevrotain/cst-dts-gen/lib/src/model.js","./generate":"/node_modules/@chevrotain/cst-dts-gen/lib/src/generate.js","@chevrotain/gast":"/node_modules/@chevrotain/gast/lib/src/api.js","lodash/map":"/node_modules/lodash/map.js","lodash/flatten":"/node_modules/lodash/flatten.js","lodash/values":"/node_modules/lodash/values.js","lodash/assign":"/node_modules/lodash/assign.js","lodash/isArray":"/node_modules/lodash/isArray.js","lodash/reduce":"/node_modules/lodash/reduce.js","lodash/some":"/node_modules/lodash/some.js","lodash/groupBy":"/node_modules/lodash/groupBy.js","lodash/uniq":"/node_modules/lodash/uniq.js","lodash/upperFirst":"/node_modules/lodash/upperFirst.js"},"/node_modules/@chevrotain/utils/lib/src":{"./print":"/node_modules/@chevrotain/utils/lib/src/print.js","./timer":"/node_modules/@chevrotain/utils/lib/src/timer.js","./to-fast-properties":"/node_modules/@chevrotain/utils/lib/src/to-fast-properties.js"},"/node_modules/lodash":{"./isArray":"/node_modules/lodash/isArray.js","./keys":"/node_modules/lodash/keys.js","./isString":"/node_modules/lodash/isString.js","./values":"/node_modules/lodash/values.js","./map":"/node_modules/lodash/map.js","./_baseKeys":"/node_modules/lodash/_baseKeys.js","./_getTag":"/node_modules/lodash/_getTag.js","./isArguments":"/node_modules/lodash/isArguments.js","./isArrayLike":"/node_modules/lodash/isArrayLike.js","./isBuffer":"/node_modules/lodash/isBuffer.js","./_isPrototype":"/node_modules/lodash/_isPrototype.js","./isTypedArray":"/node_modules/lodash/isTypedArray.js","./_arrayFilter":"/node_modules/lodash/_arrayFilter.js","./_baseFilter":"/node_modules/lodash/_baseFilter.js","./_baseIteratee":"/node_modules/lodash/_baseIteratee.js","./negate":"/node_modules/lodash/negate.js","./_arrayMap":"/node_modules/lodash/_arrayMap.js","./_baseMap":"/node_modules/lodash/_baseMap.js","./_arrayEach":"/node_modules/lodash/_arrayEach.js","./_baseEach":"/node_modules/lodash/_baseEach.js","./_castFunction":"/node_modules/lodash/_castFunction.js","./_arrayLikeKeys":"/node_modules/lodash/_arrayLikeKeys.js","./_assignValue":"/node_modules/lodash/_assignValue.js","./_copyObject":"/node_modules/lodash/_copyObject.js","./_createAssigner":"/node_modules/lodash/_createAssigner.js","./_arrayReduce":"/node_modules/lodash/_arrayReduce.js","./_baseReduce":"/node_modules/lodash/_baseReduce.js","./_baseClone":"/node_modules/lodash/_baseClone.js","./_baseGetTag":"/node_modules/lodash/_baseGetTag.js","./isObjectLike":"/node_modules/lodash/isObjectLike.js","./_baseHas":"/node_modules/lodash/_baseHas.js","./_hasPath":"/node_modules/lodash/_hasPath.js","./head":"/node_modules/lodash/head.js","./_baseIndexOf":"/node_modules/lodash/_baseIndexOf.js","./toInteger":"/node_modules/lodash/toInteger.js","./_baseValues":"/node_modules/lodash/_baseValues.js","./_baseFlatten":"/node_modules/lodash/_baseFlatten.js","./_arrayEvery":"/node_modules/lodash/_arrayEvery.js","./_baseEvery":"/node_modules/lodash/_baseEvery.js","./_isIterateeCall":"/node_modules/lodash/_isIterateeCall.js","./_baseIsRegExp":"/node_modules/lodash/_baseIsRegExp.js","./_baseUnary":"/node_modules/lodash/_baseUnary.js","./_nodeUtil":"/node_modules/lodash/_nodeUtil.js","./_basePickBy":"/node_modules/lodash/_basePickBy.js","./_getAllKeysIn":"/node_modules/lodash/_getAllKeysIn.js","./_arraySome":"/node_modules/lodash/_arraySome.js","./_baseSome":"/node_modules/lodash/_baseSome.js","./_baseAssignValue":"/node_modules/lodash/_baseAssignValue.js","./_createAggregator":"/node_modules/lodash/_createAggregator.js","./_baseUniq":"/node_modules/lodash/_baseUniq.js","./_createCaseFirst":"/node_modules/lodash/_createCaseFirst.js","./isFunction":"/node_modules/lodash/isFunction.js","./identity":"/node_modules/lodash/identity.js","./isObject":"/node_modules/lodash/isObject.js","./_nativeKeys":"/node_modules/lodash/_nativeKeys.js","./_DataView":"/node_modules/lodash/_DataView.js","./_Map":"/node_modules/lodash/_Map.js","./_Promise":"/node_modules/lodash/_Promise.js","./_Set":"/node_modules/lodash/_Set.js","./_WeakMap":"/node_modules/lodash/_WeakMap.js","./_toSource":"/node_modules/lodash/_toSource.js","./_baseIsArguments":"/node_modules/lodash/_baseIsArguments.js","./isLength":"/node_modules/lodash/isLength.js","./_root":"/node_modules/lodash/_root.js","./stubFalse":"/node_modules/lodash/stubFalse.js","./_baseIsTypedArray":"/node_modules/lodash/_baseIsTypedArray.js","./_baseMatches":"/node_modules/lodash/_baseMatches.js","./_baseMatchesProperty":"/node_modules/lodash/_baseMatchesProperty.js","./property":"/node_modules/lodash/property.js","./_baseForOwn":"/node_modules/lodash/_baseForOwn.js","./_createBaseEach":"/node_modules/lodash/_createBaseEach.js","./_baseTimes":"/node_modules/lodash/_baseTimes.js","./_isIndex":"/node_modules/lodash/_isIndex.js","./eq":"/node_modules/lodash/eq.js","./_baseRest":"/node_modules/lodash/_baseRest.js","./_Stack":"/node_modules/lodash/_Stack.js","./_baseAssign":"/node_modules/lodash/_baseAssign.js","./_baseAssignIn":"/node_modules/lodash/_baseAssignIn.js","./_cloneBuffer":"/node_modules/lodash/_cloneBuffer.js","./_copyArray":"/node_modules/lodash/_copyArray.js","./_copySymbols":"/node_modules/lodash/_copySymbols.js","./_copySymbolsIn":"/node_modules/lodash/_copySymbolsIn.js","./_getAllKeys":"/node_modules/lodash/_getAllKeys.js","./_initCloneArray":"/node_modules/lodash/_initCloneArray.js","./_initCloneByTag":"/node_modules/lodash/_initCloneByTag.js","./_initCloneObject":"/node_modules/lodash/_initCloneObject.js","./isMap":"/node_modules/lodash/isMap.js","./isSet":"/node_modules/lodash/isSet.js","./keysIn":"/node_modules/lodash/keysIn.js","./_Symbol":"/node_modules/lodash/_Symbol.js","./_getRawTag":"/node_modules/lodash/_getRawTag.js","./_objectToString":"/node_modules/lodash/_objectToString.js","./_castPath":"/node_modules/lodash/_castPath.js","./_toKey":"/node_modules/lodash/_toKey.js","./_baseFindIndex":"/node_modules/lodash/_baseFindIndex.js","./_baseIsNaN":"/node_modules/lodash/_baseIsNaN.js","./_strictIndexOf":"/node_modules/lodash/_strictIndexOf.js","./toFinite":"/node_modules/lodash/toFinite.js","./_arrayPush":"/node_modules/lodash/_arrayPush.js","./_isFlattenable":"/node_modules/lodash/_isFlattenable.js","./_baseDifference":"/node_modules/lodash/_baseDifference.js","./isArrayLikeObject":"/node_modules/lodash/isArrayLikeObject.js","./_createFind":"/node_modules/lodash/_createFind.js","./findIndex":"/node_modules/lodash/findIndex.js","./_baseSlice":"/node_modules/lodash/_baseSlice.js","./_freeGlobal":"/node_modules/lodash/_freeGlobal.js","./_baseGet":"/node_modules/lodash/_baseGet.js","./_baseSet":"/node_modules/lodash/_baseSet.js","./_baseGetAllKeys":"/node_modules/lodash/_baseGetAllKeys.js","./_getSymbolsIn":"/node_modules/lodash/_getSymbolsIn.js","./_defineProperty":"/node_modules/lodash/_defineProperty.js","./_arrayAggregator":"/node_modules/lodash/_arrayAggregator.js","./_baseAggregator":"/node_modules/lodash/_baseAggregator.js","./_SetCache":"/node_modules/lodash/_SetCache.js","./_arrayIncludes":"/node_modules/lodash/_arrayIncludes.js","./_arrayIncludesWith":"/node_modules/lodash/_arrayIncludesWith.js","./_cacheHas":"/node_modules/lodash/_cacheHas.js","./_createSet":"/node_modules/lodash/_createSet.js","./_setToArray":"/node_modules/lodash/_setToArray.js","./_castSlice":"/node_modules/lodash/_castSlice.js","./_hasUnicode":"/node_modules/lodash/_hasUnicode.js","./_stringToArray":"/node_modules/lodash/_stringToArray.js","./toString":"/node_modules/lodash/toString.js","./_overArg":"/node_modules/lodash/_overArg.js","./_getNative":"/node_modules/lodash/_getNative.js","./_baseIsMatch":"/node_modules/lodash/_baseIsMatch.js","./_getMatchData":"/node_modules/lodash/_getMatchData.js","./_matchesStrictComparable":"/node_modules/lodash/_matchesStrictComparable.js","./_baseIsEqual":"/node_modules/lodash/_baseIsEqual.js","./get":"/node_modules/lodash/get.js","./hasIn":"/node_modules/lodash/hasIn.js","./_isKey":"/node_modules/lodash/_isKey.js","./_isStrictComparable":"/node_modules/lodash/_isStrictComparable.js","./_baseProperty":"/node_modules/lodash/_baseProperty.js","./_basePropertyDeep":"/node_modules/lodash/_basePropertyDeep.js","./_baseFor":"/node_modules/lodash/_baseFor.js","./_overRest":"/node_modules/lodash/_overRest.js","./_setToString":"/node_modules/lodash/_setToString.js","./_ListCache":"/node_modules/lodash/_ListCache.js","./_stackClear":"/node_modules/lodash/_stackClear.js","./_stackDelete":"/node_modules/lodash/_stackDelete.js","./_stackGet":"/node_modules/lodash/_stackGet.js","./_stackHas":"/node_modules/lodash/_stackHas.js","./_stackSet":"/node_modules/lodash/_stackSet.js","./_getSymbols":"/node_modules/lodash/_getSymbols.js","./_cloneArrayBuffer":"/node_modules/lodash/_cloneArrayBuffer.js","./_cloneDataView":"/node_modules/lodash/_cloneDataView.js","./_cloneRegExp":"/node_modules/lodash/_cloneRegExp.js","./_cloneSymbol":"/node_modules/lodash/_cloneSymbol.js","./_cloneTypedArray":"/node_modules/lodash/_cloneTypedArray.js","./_baseCreate":"/node_modules/lodash/_baseCreate.js","./_getPrototype":"/node_modules/lodash/_getPrototype.js","./_baseIsMap":"/node_modules/lodash/_baseIsMap.js","./_baseIsSet":"/node_modules/lodash/_baseIsSet.js","./_baseKeysIn":"/node_modules/lodash/_baseKeysIn.js","./_stringToPath":"/node_modules/lodash/_stringToPath.js","./isSymbol":"/node_modules/lodash/isSymbol.js","./toNumber":"/node_modules/lodash/toNumber.js","./noop":"/node_modules/lodash/noop.js","./stubArray":"/node_modules/lodash/stubArray.js","./_MapCache":"/node_modules/lodash/_MapCache.js","./_setCacheAdd":"/node_modules/lodash/_setCacheAdd.js","./_setCacheHas":"/node_modules/lodash/_setCacheHas.js","./_asciiToArray":"/node_modules/lodash/_asciiToArray.js","./_unicodeToArray":"/node_modules/lodash/_unicodeToArray.js","./_baseToString":"/node_modules/lodash/_baseToString.js","./_baseIsNative":"/node_modules/lodash/_baseIsNative.js","./_getValue":"/node_modules/lodash/_getValue.js","./_baseIsEqualDeep":"/node_modules/lodash/_baseIsEqualDeep.js","./_baseHasIn":"/node_modules/lodash/_baseHasIn.js","./_createBaseFor":"/node_modules/lodash/_createBaseFor.js","./_apply":"/node_modules/lodash/_apply.js","./_baseSetToString":"/node_modules/lodash/_baseSetToString.js","./_shortOut":"/node_modules/lodash/_shortOut.js","./_listCacheClear":"/node_modules/lodash/_listCacheClear.js","./_listCacheDelete":"/node_modules/lodash/_listCacheDelete.js","./_listCacheGet":"/node_modules/lodash/_listCacheGet.js","./_listCacheHas":"/node_modules/lodash/_listCacheHas.js","./_listCacheSet":"/node_modules/lodash/_listCacheSet.js","./_Uint8Array":"/node_modules/lodash/_Uint8Array.js","./_nativeKeysIn":"/node_modules/lodash/_nativeKeysIn.js","./_memoizeCapped":"/node_modules/lodash/_memoizeCapped.js","./_baseTrim":"/node_modules/lodash/_baseTrim.js","./_mapCacheClear":"/node_modules/lodash/_mapCacheClear.js","./_mapCacheDelete":"/node_modules/lodash/_mapCacheDelete.js","./_mapCacheGet":"/node_modules/lodash/_mapCacheGet.js","./_mapCacheHas":"/node_modules/lodash/_mapCacheHas.js","./_mapCacheSet":"/node_modules/lodash/_mapCacheSet.js","./_isMasked":"/node_modules/lodash/_isMasked.js","./_equalArrays":"/node_modules/lodash/_equalArrays.js","./_equalByTag":"/node_modules/lodash/_equalByTag.js","./_equalObjects":"/node_modules/lodash/_equalObjects.js","./constant":"/node_modules/lodash/constant.js","./_assocIndexOf":"/node_modules/lodash/_assocIndexOf.js","./memoize":"/node_modules/lodash/memoize.js","./_trimmedEndIndex":"/node_modules/lodash/_trimmedEndIndex.js","./_Hash":"/node_modules/lodash/_Hash.js","./_getMapData":"/node_modules/lodash/_getMapData.js","./_coreJsData":"/node_modules/lodash/_coreJsData.js","./_mapToArray":"/node_modules/lodash/_mapToArray.js","./_hashClear":"/node_modules/lodash/_hashClear.js","./_hashDelete":"/node_modules/lodash/_hashDelete.js","./_hashGet":"/node_modules/lodash/_hashGet.js","./_hashHas":"/node_modules/lodash/_hashHas.js","./_hashSet":"/node_modules/lodash/_hashSet.js","./_isKeyable":"/node_modules/lodash/_isKeyable.js","./_nativeCreate":"/node_modules/lodash/_nativeCreate.js"},"/node_modules/chevrotain/lib/src/parse/grammar/gast":{"../checks":"/node_modules/chevrotain/lib/src/parse/grammar/checks.js","../../errors_public":"/node_modules/chevrotain/lib/src/parse/errors_public.js","../resolver":"/node_modules/chevrotain/lib/src/parse/grammar/resolver.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/defaults":"/node_modules/lodash/defaults.js"},"/node_modules/chevrotain/lib/src/parse/parser/traits":{"@chevrotain/utils":"/node_modules/@chevrotain/utils/lib/src/api.js","../../../scan/tokens_public":"/node_modules/chevrotain/lib/src/scan/tokens_public.js","../../exceptions_public":"/node_modules/chevrotain/lib/src/parse/exceptions_public.js","../parser":"/node_modules/chevrotain/lib/src/parse/parser/parser.js","@chevrotain/gast":"/node_modules/@chevrotain/gast/lib/src/api.js","../../grammar/llk_lookahead":"/node_modules/chevrotain/lib/src/parse/grammar/llk_lookahead.js","../../errors_public":"/node_modules/chevrotain/lib/src/parse/errors_public.js","../../grammar/checks":"/node_modules/chevrotain/lib/src/parse/grammar/checks.js","../../grammar/lookahead":"/node_modules/chevrotain/lib/src/parse/grammar/lookahead.js","../../grammar/interpreter":"/node_modules/chevrotain/lib/src/parse/grammar/interpreter.js","./recoverable":"/node_modules/chevrotain/lib/src/parse/parser/traits/recoverable.js","../../../scan/tokens":"/node_modules/chevrotain/lib/src/scan/tokens.js","../../../scan/lexer_public":"/node_modules/chevrotain/lib/src/scan/lexer_public.js","../../constants":"/node_modules/chevrotain/lib/src/parse/constants.js","../../grammar/keys":"/node_modules/chevrotain/lib/src/parse/grammar/keys.js","../../cst/cst":"/node_modules/chevrotain/lib/src/parse/cst/cst.js","../../cst/cst_visitor":"/node_modules/chevrotain/lib/src/parse/cst/cst_visitor.js","lodash/isEmpty":"/node_modules/lodash/isEmpty.js","lodash/map":"/node_modules/lodash/map.js","lodash/has":"/node_modules/lodash/has.js","lodash/clone":"/node_modules/lodash/clone.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/values":"/node_modules/lodash/values.js","lodash/flatten":"/node_modules/lodash/flatten.js","lodash/includes":"/node_modules/lodash/includes.js","lodash/every":"/node_modules/lodash/every.js","lodash/reduce":"/node_modules/lodash/reduce.js","lodash/first":"/node_modules/lodash/first.js","lodash/last":"/node_modules/lodash/last.js","lodash/noop":"/node_modules/lodash/noop.js","lodash/keys":"/node_modules/lodash/keys.js","lodash/isUndefined":"/node_modules/lodash/isUndefined.js","lodash/isArray":"/node_modules/lodash/isArray.js","lodash/find":"/node_modules/lodash/find.js","lodash/isFunction":"/node_modules/lodash/isFunction.js","lodash/dropRight":"/node_modules/lodash/dropRight.js","lodash/uniq":"/node_modules/lodash/uniq.js","lodash/some":"/node_modules/lodash/some.js","lodash/isObject":"/node_modules/lodash/isObject.js"},"/node_modules/chevrotain/lib/src/parse/cst":{"../../lang/lang_extensions":"/node_modules/chevrotain/lib/src/lang/lang_extensions.js","lodash/isEmpty":"/node_modules/lodash/isEmpty.js","lodash/compact":"/node_modules/lodash/compact.js","lodash/isArray":"/node_modules/lodash/isArray.js","lodash/map":"/node_modules/lodash/map.js","lodash/forEach":"/node_modules/lodash/forEach.js","lodash/filter":"/node_modules/lodash/filter.js","lodash/keys":"/node_modules/lodash/keys.js","lodash/isFunction":"/node_modules/lodash/isFunction.js","lodash/isUndefined":"/node_modules/lodash/isUndefined.js"},"/node_modules/__csb":{"react-refresh/runtime":"/node_modules/react-refresh/runtime.js"},"/src":{"/node_modules/csbbust/refresh-helper.js":"/node_modules/csbbust/refresh-helper.js","@babel/runtime/helpers/interopRequireDefault":"/node_modules/@babel/runtime/helpers/interopRequireDefault.js","react-dom/client":"/node_modules/react-dom/client.js","react":"/node_modules/react/index.js","./App":"/src/App.tsx","three":"/node_modules/three/build/three.module.js","@react-three/fiber":"/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","@react-three/drei":"/node_modules/@react-three/drei/index.js","./Model":"/src/Model.tsx","react/jsx-runtime":"/node_modules/react/jsx-runtime.js","./styles.css":"/src/styles.css"},"/node_modules/csbbust":{"react-refresh/runtime":"/node_modules/react-refresh/runtime.js"},"/node_modules/react/cjs":{"react":"/node_modules/react/index.js"}},"version":"https://itpp.dev/test/react/sandbox.20ab159c9.js","timestamp":1758232556247,"configurations":{"package":{"path":"/package.json","code":"{\n \"name\": \"viking-ship\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"dependencies\": {\n \"@react-three/drei\": \"9.77.1\",\n \"@react-three/fiber\": \"8.10.0\",\n \"@types/three\": \"0.147.1\",\n \"leva\": \"0.9.34\",\n \"react\": \"18.2.0\",\n \"react-dom\": \"18.2.0\",\n \"react-scripts\": \"5.0.1\",\n \"three\": \"0.148.0\"\n },\n \"scripts\": {\n \"start\": \"react-app-rewired start\",\n \"build\": \"react-app-rewired build\",\n \"test\": \"react-app-rewired test\",\n \"eject\": \"react-scripts eject\"\n },\n \"eslintConfig\": {\n \"extends\": \"react-app\"\n },\n \"browserslist\": {\n \"production\": [\n \">0.2%\",\n \"not dead\",\n \"not op_mini all\"\n ],\n \"development\": [\n \"last 1 chrome version\",\n \"last 1 firefox version\",\n \"last 1 safari version\"\n ]\n },\n \"devDependencies\": {\n \"customize-cra\": \"^0.9.1\",\n \"customize-cra-react-refresh\": \"^1.0.1\",\n \"react-app-rewired\": \"^2.1.5\"\n },\n \"keywords\": [\n \"gltfjsx\",\n \"gltf\"\n ],\n \"description\": \"GLTF workflow with GLTFJSX and camera rotations.\"\n}","generated":false,"parsed":{"name":"viking-ship","version":"0.1.0","private":true,"dependencies":{"@react-three/drei":"9.77.1","@react-three/fiber":"8.10.0","@types/three":"0.147.1","leva":"0.9.34","react":"18.2.0","react-dom":"18.2.0","react-scripts":"5.0.1","three":"0.148.0"},"scripts":{"start":"react-app-rewired start","build":"react-app-rewired build","test":"react-app-rewired test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"customize-cra":"^0.9.1","customize-cra-react-refresh":"^1.0.1","react-app-rewired":"^2.1.5"},"keywords":["gltfjsx","gltf"],"description":"GLTF workflow with GLTFJSX and camera rotations."}},"prettier":{"path":"/.prettierrc","code":"{\n \"printWidth\": 120,\n \"tabWidth\": 2,\n \"useTabs\": false,\n \"semi\": false,\n \"singleQuote\": false,\n \"trailingComma\": \"all\",\n \"bracketSpacing\": true,\n \"jsxBracketSameLine\": true,\n \"fluid\": false\n}","generated":false,"parsed":{"printWidth":120,"tabWidth":2,"useTabs":false,"semi":false,"singleQuote":false,"trailingComma":"all","bracketSpacing":true,"jsxBracketSameLine":true,"fluid":false}},"sandbox":{"path":"/sandbox.config.json","code":"{\n \"infiniteLoopProtection\": false,\n \"hardReloadOnChange\": false,\n \"view\": \"browser\"\n}\n","generated":false,"parsed":{"infiniteLoopProtection":false,"hardReloadOnChange":false,"view":"browser"}},"now":{"path":"/vercel.json","code":"{}","generated":true,"parsed":{}},"jsconfig":{"path":"/jsconfig.json","code":"{\n \"compilerOptions\": {\n \"baseUrl\": \".\"\n }\n}","generated":true,"parsed":{"compilerOptions":{"baseUrl":"."}}},"typescript":{"path":"/tsconfig.json","code":"{\n \"compilerOptions\": {\n \"outDir\": \"build/dist\",\n \"module\": \"esnext\",\n \"target\": \"es5\",\n \"lib\": [\n \"es6\",\n \"dom\"\n ],\n \"sourceMap\": true,\n \"allowJs\": true,\n \"jsx\": \"react\",\n \"moduleResolution\": \"node\",\n \"rootDir\": \"src\",\n \"forceConsistentCasingInFileNames\": true,\n \"noImplicitReturns\": true,\n \"noImplicitThis\": true,\n \"noImplicitAny\": true,\n \"strictNullChecks\": true,\n \"suppressImplicitAnyIndexErrors\": true,\n \"noUnusedLocals\": true\n }\n}","generated":true,"parsed":{"compilerOptions":{"outDir":"build/dist","module":"esnext","target":"es5","lib":["es6","dom"],"sourceMap":true,"allowJs":true,"jsx":"react","moduleResolution":"node","rootDir":"src","forceConsistentCasingInFileNames":true,"noImplicitReturns":true,"noImplicitThis":true,"noImplicitAny":true,"strictNullChecks":true,"suppressImplicitAnyIndexErrors":true,"noUnusedLocals":true}}}},"entry":"/src/index.tsx","meta":{},"dependenciesQuery":"%40babel%2Fcore%407.28.4+%40babel%2Fruntime%407.28.4+%40react-three%2Fdrei%409.77.1+%40react-three%2Ffiber%408.10.0+babel-runtime%406.26.0+leva%400.9.34+node-libs-browser%402.2.1+react%4018.2.0+react-dom%4018.2.0+react-refresh%400.9.0+three%400.148.0"}, |