PageSourceSearch

https://depot.dev/assets/rails-scene-B7T_yXUP.js

js depot.dev collected 2026-09-24 19:20:43 UTC 85,710 bytes, 615 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3f431e2f-c564-5369-aed2-819851c9a45e")}catch(e){}}();
3!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0d3ec-edd3-72e2-b47a-d7c7de674bfc")}catch(e){}}();(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`a8094e049e03f829f1c2e300bc93708abe9374a5`}}catch{}})();import{a as e,c as t,i as n,l as r,n as i,r as a,s as o,t as s,u as c}from"./rails-tune-B13_YDfh.js";import{At as l,Bt as u,Ct as d,Ht as f,I as p,It as m,Lt as h,M as g,Mt as _,N as v,O as y,Pt as b,T as x,Ut as S,Vt as C,Z as w,_ as T,_t as E,at as D,b as O,c as k,ct as A,dt as j,en as M,f as N,h as P,i as F,it as I,k as L,m as ee,n as R,on as z,ot as te,q as B,rn as V,rt as H,sn as U,t as ne,tn as re,u as ie,un as W,ut as ae,v as oe,vt as se,x as G,yt as K,zt as ce}from"./three.module-BbdaTAM2.js";import{t as le}from"./guardWebGLRenderer-DJVzRa0c.js";var ue=class extends ce{constructor(){super(),this.name=`RoomEnvironment`,this.position.y=-3.5;let e=new ie;e.deleteAttribute(`uv`);let t=new j({side:1}),n=new j,r=new d(16777215,900,28,2);r.position.set(.418,16.199,.3),this.add(r);let i=new D(e,t);i.position.set(-.757,13.219,.717),i.scale.set(31.713,28.305,28.591),this.add(i);let a=new p(e,n,6),o=new E;o.position.set(-10.906,2.009,1.846),o.rotation.set(0,-.195,0),o.scale.set(2.328,7.905,4.651),o.updateMatrix(),a.setMatrixAt(0,o.matrix),o.position.set(-5.607,-.754,-.758),o.rotation.set(0,.994,0),o.scale.set(1.97,1.534,3.955),o.updateMatrix(),a.setMatrixAt(1,o.matrix),o.position.set(6.167,.857,7.803),o.rotation.set(0,.561,0),o.scale.set(3.927,6.285,3.687),o.updateMatrix(),a.setMatrixAt(2,o.matrix),o.position.set(-2.017,.018,6.124),o.rotation.set(0,.333,0),o.scale.set(2.002,4.566,2.064),o.updateMatrix(),a.setMatrixAt(3,o.matrix),o.position.set(2.291,-.756,-2.621),o.rotation.set(0,-.286,0),o.scale.set(1.546,1.552,1.496),o.updateMatrix(),a.setMatrixAt(4,o.matrix),o.position.set(-2.193,-.369,-5.547),o.rotation.set(0,.516,0),o.scale.set(3.875,3.487,2.986),o.updateMatrix(),a.setMatrixAt(5,o.matrix),this.add(a);let s=new D(e,de(50));s.position.set(-16.116,14.37,8.208),s.scale.set(.1,2.428,2.739),this.add(s);let c=new D(e,de(50));c.position.set(-16.109,18.021,-8.207),c.scale.set(.1,2.425,2.751),this.add(c);let l=new D(e,de(17));l.position.set(14.904,12.198,-1.832),l.scale.set(.15,4.265,6.331),this.add(l);let u=new D(e,de(43));u.position.set(-.462,8.89,14.52),u.scale.set(4.38,5.441,.088),this.add(u);let f=new D(e,de(20));f.position.set(3.235,11.486,-12.541),f.scale.set(2.5,2,.1),this.add(f);let m=new D(e,de(100));m.position.set(0,20,0),m.scale.set(1,.1,1),this.add(m)}dispose(){let e=new Set;this.traverse(t=>{t.isMesh&&(e.add(t.geometry),e.add(t.material))});for(let t of e)t.dispose()}};function de(e){return new A({color:0,emissive:16777215,emissiveIntensity:e})}var fe=h,pe=class e extends w{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit=`px`}load(e,t,n,r){let i=this,a=new y(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(n))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t=this;function n(e,t){if(e.nodeType!==1)return;let a=b(e),o=!1,f=null;switch(e.nodeName){case`svg`:t=m(e,t);break;case`style`:i(e);break;case`g`:t=m(e,t);break;case`path`:t=m(e,t),e.hasAttribute(`d`)&&(f=r(e));break;case`rect`:t=m(e,t),f=s(e);break;case`polygon`:t=m(e,t),f=c(e);break;case`polyline`:t=m(e,t),f=l(e);break;case`circle`:t=m(e,t),f=u(e);break;case`ellipse`:t=m(e,t),f=d(e);break;case`line`:t=m(e,t),f=p(e);break;case`defs`:o=!0;break;case`use`:t=m(e,t);let a=(e.getAttributeNS(`http://www.w3.org/1999/xlink`,`href`)||``).substring(1),h=e.viewportElement.getElementById(a);
3h?n(h,t):console.warn(`SVGLoader: 'use node' references non-existent node id: `+a);break;default:}f&&(t.fill!==void 0&&t.fill!==`none`&&f.color.setStyle(t.fill,fe),S(f,L),O.push(f),f.userData={node:e,style:t});let h=e.childNodes;for(let e=0;e<h.length;e++){let r=h[e];o&&r.nodeName!==`style`&&r.nodeName!==`defs`||n(r,t)}a&&(A.pop(),A.length>0?L.copy(A[A.length-1]):L.identity())}function r(e){let t=new f,n=new z,r=new z,i=new z,o=!0,s=!1,c=e.getAttribute(`d`);if(c===``||c===`none`)return null;let l=c.match(/[a-df-z][^a-df-z]*/gi);for(let e=0,c=l.length;e<c;e++){let c=l[e],u=c.charAt(0),d=c.slice(1).trim();o===!0&&(s=!0,o=!1);let f;switch(u){case`M`:f=g(d);for(let e=0,a=f.length;e<a;e+=2)n.x=f[e+0],n.y=f[e+1],r.x=n.x,r.y=n.y,e===0?t.moveTo(n.x,n.y):t.lineTo(n.x,n.y),e===0&&i.copy(n);break;case`H`:f=g(d);for(let e=0,a=f.length;e<a;e++)n.x=f[e],r.x=n.x,r.y=n.y,t.lineTo(n.x,n.y),e===0&&s===!0&&i.copy(n);break;case`V`:f=g(d);for(let e=0,a=f.length;e<a;e++)n.y=f[e],r.x=n.x,r.y=n.y,t.lineTo(n.x,n.y),e===0&&s===!0&&i.copy(n);break;case`L`:f=g(d);for(let e=0,a=f.length;e<a;e+=2)n.x=f[e+0],n.y=f[e+1],r.x=n.x,r.y=n.y,t.lineTo(n.x,n.y),e===0&&s===!0&&i.copy(n);break;case`C`:f=g(d);for(let e=0,a=f.length;e<a;e+=6)t.bezierCurveTo(f[e+0],f[e+1],f[e+2],f[e+3],f[e+4],f[e+5]),r.x=f[e+2],r.y=f[e+3],n.x=f[e+4],n.y=f[e+5],e===0&&s===!0&&i.copy(n);break;case`S`:f=g(d);for(let e=0,a=f.length;e<a;e+=4)t.bezierCurveTo(h(n.x,r.x),h(n.y,r.y),f[e+0],f[e+1],f[e+2],f[e+3]),r.x=f[e+0],r.y=f[e+1],n.x=f[e+2],n.y=f[e+3],e===0&&s===!0&&i.copy(n);break;case`Q`:f=g(d);for(let e=0,a=f.length;e<a;e+=4)t.quadraticCurveTo(f[e+0],f[e+1],f[e+2],f[e+3]),r.x=f[e+0],r.y=f[e+1],n.x=f[e+2],n.y=f[e+3],e===0&&s===!0&&i.copy(n);break;case`T`:f=g(d);for(let e=0,a=f.length;e<a;e+=2){let a=h(n.x,r.x),o=h(n.y,r.y);t.quadraticCurveTo(a,o,f[e+0],f[e+1]),r.x=a,r.y=o,n.x=f[e+0],n.y=f[e+1],e===0&&s===!0&&i.copy(n)}break;case`A`:f=g(d,[3,4],7);for(let e=0,o=f.length;e<o;e+=7){if(f[e+5]==n.x&&f[e+6]==n.y)continue;let o=n.clone();n.x=f[e+5],n.y=f[e+6],r.x=n.x,r.y=n.y,a(t,f[e],f[e+1],f[e+2],f[e+3],f[e+4],o,n),e===0&&s===!0&&i.copy(n)}break;case`m`:f=g(d);for(let e=0,a=f.length;e<a;e+=2)n.x+=f[e+0],n.y+=f[e+1],r.x=n.x,r.y=n.y,e===0?t.moveTo(n.x,n.y):t.lineTo(n.x,n.y),e===0&&i.copy(n);break;case`h`:f=g(d);for(let e=0,a=f.length;e<a;e++)n.x+=f[e],r.x=n.x,r.y=n.y,t.lineTo(n.x,n.y),e===0&&s===!0&&i.copy(n);break;case`v`:f=g(d);for(let e=0,a=f.length;e<a;e++)n.y+=f[e],r.x=n.x,r.y=n.y,t.lineTo(n.x,n.y),e===0&&s===!0&&i.copy(n);break;case`l`:f=g(d);for(let e=0,a=f.length;e<a;e+=2)n.x+=f[e+0],n.y+=f[e+1],r.x=n.x,r.y=n.y,t.lineTo(n.x,n.y),e===0&&s===!0&&i.copy(n);break;case`c`:f=g(d);for(let e=0,a=f.length;e<a;e+=6)t.bezierCurveTo(n.x+f[e+0],n.y+f[e+1],n.x+f[e+2],n.y+f[e+3],n.x+f[e+4],n.y+f[e+5]),r.x=n.x+f[e+2],r.y=n.y+f[e+3],n.x+=f[e+4],n.y+=f[e+5],e===0&&s===!0&&i.copy(n);break;case`s`:f=g(d);for(let e=0,a=f.length;e<a;e+=4)t.bezierCurveTo(h(n.x,r.x),h(n.y,r.y),n.x+f[e+0],n.y+f[e+1],n.x+f[e+2],n.y+f[e+3]),r.x=n.x+f[e+0],r.y=n.y+f[e+1],n.x+=f[e+2],n.y+=f[e+3],e===0&&s===!0&&i.copy(n);break;case`q`:f=g(d);for(let e=0,a=f.length;e<a;e+=4)t.quadraticCurveTo(n.x+f[e+0],n.y+f[e+1],n.x+f[e+2],n.y+f[e+3]),r.x=n.x+f[e+0],r.y=n.y+f[e+1],n.x+=f[e+2],n.y+=f[e+3],e===0&&s===!0&&i.copy(n);break;case`t`:f=g(d);for(let e=0,a=f.length;e<a;e+=2){let a=h(n.x,r.x),o=h(n.y,r.y);t.quadraticCurveTo(a,o,n.x+f[e+0],n.y+f[e+1]),r.x=a,r.y=o,n.x+=f[e+0],n.y+=f[e+1],e===0&&s===!0&&i.copy(n)}break;case`a`:f=g(d,[3,4],7);for(let e=0,o=f.length;e<o;e+=7){if(f[e+5]==0&&f[e+6]==0)continue;let o=n.clone();n.x+=f[e+5],n.y+=f[e+6],r.x=n.x,r.y=n.y,a(t,f[e],f[e+1],f[e+2],f[e+3],f[e+4],o,n),e===0&&s===!0&&i.copy(n)}break;case`Z`:case`z`:t.currentPath.autoClose=!0,t.currentPath.curves.length>0&&(n.copy(i),t.currentPath.currentPoint.copy(n),o=!0);break;default:console.warn(c)}s=!1}return t}function i(e){if(!(!e.sheet||!e.sheet.cssRules||!e.sheet.cssRules.length))for(let t=0;t<e.sheet.cssRules.length;t++){let n=e.sheet.cssRules[t];if(n.type!==1)continue;let r=n.selectorText.split(/,/gm).filter(Boolean).map(e=>e.trim());for(let e=0;e<r.length;e++){let t=Object.fromEntries(Object.entries(n.style).filter(([,e])=>e!==``));k[r[e]]=Object.assign(k[r[e]]||{},t)}}}function a(e,t,n,r,i,a,s,c){if(t==0||n==0){e.lineTo(c.x,c.y);return}r=r*Math.PI/180,t=Math.abs(t),n=Math.abs(n);let l=(s.x-c.x)/2,u=(s.y-c.y)/2,d=Math.cos(r)*l+Math.sin(r)*u,f=-Math.sin(r)*l+Math.cos(r)*u,p=t*t,m=n*n,h=d*d,g=f*f,_=h/p+g/m;if(_>1){let e=Math.sqrt(_);t=e*t,n=e*n,p=t*t,m=n*n}let v=p*g+m*h,y=(p*m-v)/v,b=Math.sqrt(Math.max(0,y));i===a&&(b=-b);let x=b*t*f/n,S=-b*n*d/t,C=Math.cos(r)*x-Math.sin(r)*S+(s.x+c.x)/2,w=Math.sin(r)*x+Math.cos(r)*S+(s.y+c.y)/2,T=o(1,0,(d-x)/t,(f-S)/n),E=o((d-x)/t,(f-S)/n,(-d-x)/t,(-f-S)/n)%(Math.PI*2);e.currentPath.absellipse(C,w,t,n,T,T+E,a===0,r)}function o(e,t,n,r){let i=e*n+t*r,a=Math.sqrt(e*e+t*t)*Math.sqrt(n*n+r*r),o=Math.acos(Math.max(-1,Math.min(1,i/a)));return e*r-t*n<0&&(o=-o),o}function s(e){let t=y(e.getAttribute(`x`)||0),n=y(e.getAttribute(`y`)||0),r=y(e.getAttribute(`rx`)||e.getAttribute(`ry`)||0),i=y(e.getAttribute(`ry`)||e.getAttribute(`rx`)||0),a=y(e.getAttribute(`width`)),o=y(e.getAttribute(`height`)),s=.448084975506,c=new f;return c.moveTo(t+r,n),c.lineTo(t+a-r,n),(r!==0||i!==0)&&c.bezierCurveTo(t+a-r*s,n,t+a,n+i*s,t+a,n+i),c.lineTo(t+a,n+o-i),(r!==0||i!==0)&&c.bezierCurveTo(t+a,n+o-i*s,t+a-r*s,n+o,t+a-r,n+o),c.lineTo(t+r,n+o),(r!==0||i!==0)&&c.bezierCurveTo(t+r*s,n+o,t,n+o-i*s,t,n+o-i),c.lineTo(t,n+i),(r!==0||i!==0)&&c.bezierCurveTo(t,n+i*s,t+r*s,n,t+r,n),c}function c(e){function t(e,t,n){let a=y(t),o=y(n);i===0?r.moveTo(a,o):r.lineTo(a,o),i++}let n=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,r=new f,i=0;return e.getAttribute(`points`).replace(n,t),r.currentPath.autoClose=!0,r}function l(e){function t(e,t,n){let a=y(t),o=y(n);i===0?r.moveTo(a,o):r.lineTo(a,o),i++}let n=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,r=new f,i=0;return e.getAttribute(`points`).replace(n,t),r.currentPath.autoClose=!1,r}function u(e){let t=y(e.getAttribute(`cx`)||0),n=y(e.getAttribute(`cy`)||0),r=y(e.getAttribute(`r`)||0),i=new K;i.absarc(t,n,r,0,Math.PI*2);let a=new f;return a.subPaths.push(i),a}function d(e){let t=y(e.getAttribute(`cx`)||0),n=y(e.getAttribute(`cy`)||0),r=y(e.getAttribute(`rx`)||0),i=y(e.getAttribute(`ry`)||0),a=new K;a.absellipse(t,n,r,i,0,Math.PI*2);let o=new f;return o.subPaths.push(a),o}function p(e){let t=y(e.getAttribute(`x1`)||0),n=y(e.getAttribute(`y1`)||0),r=y(e.getAttribute(`x2`)||0),i=y(e.getAttribute(`y2`)||0),a=new f;return a.moveTo(t,n),a.lineTo(r,i),a.currentPath.autoClose=!1,a}function m(e,t){t=Object.assign({},t);let n={};if(e.hasAttribute(`class`)){let t=e.getAttribute(`class`).split(/\s/).filter(
3Boolean).map(e=>e.trim());for(let e=0;e<t.length;e++)n=Object.assign(n,k[`.`+t[e]])}e.hasAttribute(`id`)&&(n=Object.assign(n,k[`#`+e.getAttribute(`id`)]));function r(r,i,a){a===void 0&&(a=function(e){return e.startsWith(`url`)&&console.warn(`SVGLoader: url access in attributes is not implemented.`),e}),e.hasAttribute(r)&&(t[i]=a(e.getAttribute(r))),n[i]&&(t[i]=a(n[i])),e.style&&e.style[r]!==``&&(t[i]=a(e.style[r]))}function i(e){return Math.max(0,Math.min(1,y(e)))}function a(e){return Math.max(0,y(e))}return r(`fill`,`fill`),r(`fill-opacity`,`fillOpacity`,i),r(`fill-rule`,`fillRule`),r(`opacity`,`opacity`,i),r(`stroke`,`stroke`),r(`stroke-opacity`,`strokeOpacity`,i),r(`stroke-width`,`strokeWidth`,a),r(`stroke-linejoin`,`strokeLineJoin`),r(`stroke-linecap`,`strokeLineCap`),r(`stroke-miterlimit`,`strokeMiterLimit`,a),r(`visibility`,`visibility`),t}function h(e,t){return e-(t-e)}function g(e,t,n){if(typeof e!=`string`)throw TypeError(`Invalid input: `+typeof e);let r={SEPARATOR:/[ \t\r\n\,.\-+]/,WHITESPACE:/[ \t\r\n]/,DIGIT:/[\d]/,SIGN:/[-+]/,POINT:/\./,COMMA:/,/,EXP:/e/i,FLAGS:/[01]/},i=0,a=!0,o=``,s=``,c=[];function l(e,t,n){let r=SyntaxError(`Unexpected character "`+e+`" at index `+t+`.`);throw r.partial=n,r}function u(){o!==``&&(s===``?c.push(Number(o)):c.push(Number(o)*10**Number(s))),o=``,s=``}let d,f=e.length;for(let p=0;p<f;p++){if(d=e[p],Array.isArray(t)&&t.includes(c.length%n)&&r.FLAGS.test(d)){i=1,o=d,u();continue}if(i===0){if(r.WHITESPACE.test(d))continue;if(r.DIGIT.test(d)||r.SIGN.test(d)){i=1,o=d;continue}if(r.POINT.test(d)){i=2,o=d;continue}r.COMMA.test(d)&&(a&&l(d,p,c),a=!0)}if(i===1){if(r.DIGIT.test(d)){o+=d;continue}if(r.POINT.test(d)){o+=d,i=2;continue}if(r.EXP.test(d)){i=3;continue}r.SIGN.test(d)&&o.length===1&&r.SIGN.test(o[0])&&l(d,p,c)}if(i===2){if(r.DIGIT.test(d)){o+=d;continue}if(r.EXP.test(d)){i=3;continue}r.POINT.test(d)&&o[o.length-1]===`.`&&l(d,p,c)}if(i===3){if(r.DIGIT.test(d)){s+=d;continue}if(r.SIGN.test(d)){if(s===``){s+=d;continue}s.length===1&&r.SIGN.test(s)&&l(d,p,c)}}r.WHITESPACE.test(d)?(u(),i=0,a=!1):r.COMMA.test(d)?(u(),i=0,a=!0):r.SIGN.test(d)?(u(),i=1,o=d):r.POINT.test(d)?(u(),i=2,o=d):l(d,p,c)}return u(),c}let _=[`mm`,`cm`,`in`,`pt`,`pc`,`px`],v={mm:{mm:1,cm:.1,in:1/25.4,pt:72/25.4,pc:6/25.4,px:-1},cm:{mm:10,cm:1,in:1/2.54,pt:72/2.54,pc:6/2.54,px:-1},in:{mm:25.4,cm:2.54,in:1,pt:72,pc:6,px:-1}
3,pt:{mm:25.4/72,cm:2.54/72,in:1/72,pt:1,pc:6/72,px:-1},pc:{mm:25.4/6,cm:2.54/6,in:1/6,pt:72/6,pc:1,px:-1},px:{px:1}};function y(e){let n=`px`;if(typeof e==`string`||e instanceof String)for(let t=0,r=_.length;t<r;t++){let r=_[t];if(e.endsWith(r)){n=r,e=e.substring(0,e.length-r.length);break}}let r;return n===`px`&&t.defaultUnit!==`px`?r=v.in[t.defaultUnit]/t.defaultDPI:(r=v[n][t.defaultUnit],r<0&&(r=v[n].in*t.defaultDPI)),r*parseFloat(e)}function b(e){if(!(e.hasAttribute(`transform`)||e.nodeName===`use`&&(e.hasAttribute(`x`)||e.hasAttribute(`y`))))return null;let t=x(e);return A.length>0&&t.premultiply(A[A.length-1]),L.copy(t),A.push(t),t}function x(e){let t=new H,n=j;if(e.nodeName===`use`&&(e.hasAttribute(`x`)||e.hasAttribute(`y`))){let n=y(e.getAttribute(`x`)||0),r=y(e.getAttribute(`y`)||0);t.translate(n,r)}if(e.hasAttribute(`transform`)){let r=e.getAttribute(`transform`).split(`)`);for(let e=r.length-1;e>=0;e--){let i=r[e].trim();if(i===``)continue;let a=i.indexOf(`(`),o=i.length;if(a>0&&a<o){let e=i.slice(0,a),t=g(i.slice(a+1));switch(n.identity(),e){case`translate`:if(t.length>=1){let e=t[0],r=0;t.length>=2&&(r=t[1]),n.translate(e,r)}break;case`rotate`:if(t.length>=1){let e=0,r=0,i=0;e=t[0]*Math.PI/180,t.length>=3&&(r=t[1],i=t[2]),M.makeTranslation(-r,-i),N.makeRotation(e),P.multiplyMatrices(N,M),M.makeTranslation(r,i),n.multiplyMatrices(M,P)}break;case`scale`:if(t.length>=1){let e=t[0],r=e;t.length>=2&&(r=t[1]),n.scale(e,r)}break;case`skewX`:t.length===1&&n.set(1,Math.tan(t[0]*Math.PI/180),0,0,1,0,0,0,1);break;case`skewY`:t.length===1&&n.set(1,0,0,Math.tan(t[0]*Math.PI/180),1,0,0,0,1);break;case`matrix`:t.length===6&&n.set(t[0],t[2],t[4],t[1],t[3],t[5],0,0,1);break}}t.premultiply(n)}}return t}function S(e,t){function n(e){I.set(e.x,e.y,1).applyMatrix3(t),e.set(I.x,I.y)}function r(e){let n=e.xRadius,r=e.yRadius,i=Math.cos(e.aRotation),a=Math.sin(e.aRotation),o=new U(n*i,n*a,0),s=new U(-r*a,r*i,0),c=o.applyMatrix3(t),l=s.applyMatrix3(t),u=j.set(c.x,l.x,0,c.y,l.y,0,0,0,1),d=M.copy(u).invert(),f=N.copy(d).transpose().multiply(d).elements,p=D(f[0],f[1],f[4]),m=Math.sqrt(p.rt1),h=Math.sqrt(p.rt2);if(e.xRadius=1/m,e.yRadius=1/h,e.aRotation=Math.atan2(p.sn,p.cs),!((e.aEndAngle-e.aStartAngle)%(2*Math.PI)<2**-52)){let n=M.set(m,0,0,0,h,0,0,0,1),r=N.set(p.cs,p.sn,0,-p.sn,p.cs,0,0,0,1),i=n.multiply(r).multiply(u),a=e=>{let{x:t,y:n}=new U(Math.cos(e),Math.sin(e),0).applyMatrix3(i);return Math.atan2(n,t)};e.aStartAngle=a(e.aStartAngle),e.aEndAngle=a(e.aEndAngle),C(t)&&(e.aClockwise=!e.aClockwise)}}function i(e){let n=T(t),r=E(t);e.xRadius*=n,e.yRadius*=r;let i=n>2**-52?Math.atan2(t.elements[1],t.elements[0]):Math.atan2(-t.elements[3],t.elements[4]);e.aRotation+=i,C(t)&&(e.aStartAngle*=-1,e.aEndAngle*=-1,e.aClockwise=!e.aClockwise)}let a=e.subPaths;for(let e=0,o=a.length;e<o;e++){let o=a[e].curves;for(let e=0;e<o.length;e++){let a=o[e];a.isLineCurve?(n(a.v1),n(a.v2)):a.isCubicBezierCurve?(n(a.v0),n(a.v1),n(a.v2),n(a.v3)):a.isQuadraticBezierCurve?(n(a.v0),n(a.v1),n(a.v2)):a.isEllipseCurve&&(F.set(a.aX,a.aY),n(F),a.aX=F.x,a.aY=F.y,w(t)?r(a):i(a))}}}function C(e){let t=e.elements;return t[0]*t[4]-t[1]*t[3]<0}function w(e){let t=e.elements,n=t[0]*t[3]+t[1]*t[4];if(n===0)return!1;let r=T(e),i=E(e);return Math.abs(n/(r*i))>2**-52}function T(e){let t=e.elements;return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function E(e){let t=e.elements;return Math.sqrt(t[3]*t[3]+t[4]*t[4])}function D(e,t,n){let r,i,a,o,s,c=e+n,l=e-n,u=Math.sqrt(l*l+4*t*t);return c>0?(r=.5*(c+u),s=1/r,i=e*s*n-t*s*t):c<0?i=.5*(c-u):(r=.5*u,i=-.5*u),a=l>0?l+u:l-u,Math.abs(a)>2*Math.abs(t)?(s=-2*t/a,o=1/Math.sqrt(1+s*s),a=s*o):Math.abs(t)===0?(a=1,o=0):(s=-.5*a/t,a=1/Math.sqrt(1+s*s),o=s*a),l>0&&(s=a,a=-o,o=s),{rt1:r,rt2:i,cs:a,sn:o}}let O=[],k={},A=[],j=new H,M=new H,N=new H,P=new H,F=new z,I=new U,L=new H,ee=new DOMParser().parseFromString(e,`image/svg+xml`);return n(ee.documentElement,{fill:`#000`,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:`miter`,strokeLineCap:`butt`,strokeMiterLimit:4}),{paths:O,xml:ee.documentElement}}static createShapes(e){let t=999999999,n={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:n.ORIGIN,t:0};
3function i(e,t,i,o){let s=e.x,c=t.x,l=i.x,u=o.x,d=e.y,f=t.y,p=i.y,m=o.y,h=(u-l)*(d-p)-(m-p)*(s-l),g=(c-s)*(d-p)-(f-d)*(s-l),_=(m-p)*(c-s)-(u-l)*(f-d),v=h/_,y=g/_;if(_===0&&h!==0||v<=0||v>=1||y<0||y>1)return null;if(h===0&&_===0){for(let l=0;l<2;l++)if(a(l===0?i:o,e,t),r.loc==n.ORIGIN){let e=l===0?i:o;return{x:e.x,y:e.y,t:r.t}}else if(r.loc==n.BETWEEN)return{x:+(s+r.t*(c-s)).toPrecision(10),y:+(d+r.t*(f-d)).toPrecision(10),t:r.t};return null}else{for(let s=0;s<2;s++)if(a(s===0?i:o,e,t),r.loc==n.ORIGIN){let e=s===0?i:o;return{x:e.x,y:e.y,t:r.t}}return{x:+(s+v*(c-s)).toPrecision(10),y:+(d+v*(f-d)).toPrecision(10),t:v}}}function a(e,t,i){let a=i.x-t.x,o=i.y-t.y,s=e.x-t.x,c=e.y-t.y,l=a*c-s*o;if(e.x===t.x&&e.y===t.y){r.loc=n.ORIGIN,r.t=0;return}if(e.x===i.x&&e.y===i.y){r.loc=n.DESTINATION,r.t=1;return}if(l<-(2**-52)){r.loc=n.LEFT;return}if(l>2**-52){r.loc=n.RIGHT;return}if(a*s<0||o*c<0){r.loc=n.BEHIND;return}if(Math.sqrt(a*a+o*o)<Math.sqrt(s*s+c*c)){r.loc=n.BEYOND;return}let u;u=a===0?c/o:s/a,r.loc=n.BETWEEN,r.t=u}function o(e,t){let n=[],r=[];for(let a=1;a<e.length;a++){let o=e[a-1],s=e[a];for(let e=1;e<t.length;e++){let a=t[e-1],c=t[e],l=i(o,s,a,c);l!==null&&n.find(e=>e.t<=l.t+2**-52&&e.t>=l.t-2**-52)===void 0&&(n.push(l),r.push(new z(l.x,l.y)))}}return r}function s(e,t,n){let r=new z;t.getCenter(r);let i=[];return n.forEach(t=>{t.boundingBox.containsPoint(r)&&o(e,t.points).forEach(e=>{i.push({identifier:t.identifier,isCW:t.isCW,point:e})})}),i.sort((e,t)=>e.point.x-t.point.x),i}function c(e,t,n,r,i){(i==null||i===``)&&(i=`nonzero`);let a=new z;e.boundingBox.getCenter(a);let o=s([new z(n,a.y),new z(r,a.y)],e.boundingBox,t);o.sort((e,t)=>e.point.x-t.point.x);let c=[],l=[];o.forEach(t=>{t.identifier===e.identifier?c.push(t):l.push(t)});let u=c[0].point.x,d=[],f=0;for(;f<l.length&&l[f].point.x<u;)d.length>0&&d[d.length-1]===l[f].identifier?d.pop():d.push(l[f].identifier),f++;if(d.push(e.identifier),i===`evenodd`){let t=d.length%2==0,n=d[d.length-2];return{identifier:e.identifier,isHole:t,for:n}}else if(i===`nonzero`){let n=!0,r=null,i=null;for(let e=0;e<d.length;e++){let a=d[e];
3n?(i=t[a].isCW,n=!1,r=a):i!==t[a].isCW&&(i=t[a].isCW,n=!0)}return{identifier:e.identifier,isHole:n,for:r}}else console.warn(`fill-rule: "`+i+`" is currently not implemented.`)}let l=t,u=-999999999,d=e.subPaths.map(e=>{let n=e.getPoints(),r=-999999999,i=t,a=-999999999,o=t;for(let e=0;e<n.length;e++){let t=n[e];t.y>r&&(r=t.y),t.y<i&&(i=t.y),t.x>a&&(a=t.x),t.x<o&&(o=t.x)}return u<=a&&(u=a+1),l>=o&&(l=o-1),{curves:e.curves,points:n,isCW:S.isClockWise(n),identifier:-1,boundingBox:new k(new z(o,i),new z(a,r))}});d=d.filter(e=>e.points.length>1);for(let e=0;e<d.length;e++)d[e].identifier=e;let f=d.map(t=>c(t,d,l,u,e.userData?e.userData.style.fillRule:void 0)),p=[];return d.forEach(e=>{if(!f[e.identifier].isHole){let t=new C;t.curves=e.curves,f.filter(t=>t.isHole&&t.for===e.identifier).forEach(e=>{let n=d[e.identifier],r=new K;r.curves=n.curves,t.holes.push(r)}),p.push(t)}}),p}static getStrokeStyle(e,t,n,r,i){return e=e===void 0?1:e,t=t===void 0?`#000`:t,n=n===void 0?`miter`:n,r=r===void 0?`butt`:r,i=i===void 0?4:i,{strokeColor:t,strokeWidth:e,strokeLineJoin:n,strokeLineCap:r,strokeMiterLimit:i}}static pointsToStroke(t,n,r,i){let a=[],o=[],s=[];if(e.pointsToStrokeWithBuffers(t,n,r,i,a,o,s)===0)return null;let c=new N;return c.setAttribute(`position`,new L(a,3)),c.setAttribute(`normal`,new L(o,3)),c.setAttribute(`uv`,new L(s,2)),c}static pointsToStrokeWithBuffers(e,t,n,r,i,a,o,s){let c=new z,l=new z,u=new z,d=new z,f=new z,p=new z,m=new z,h=new z,g=new z,_=new z,v=new z,y=new z,b=new z,x=new z,S=new z,C=new z,w=new z;n=n===void 0?12:n,r=r===void 0?.001:r,s=s===void 0?0:s,e=W(e);let T=e.length;if(T<2)return 0;let E=e[0].equals(e[T-1]),D,O=e[0],k,A=t.strokeWidth/2,j=1/(T-1),M=0,N,P,F,I,L=!1,ee=0,R=s*3,te=s*2;B(e[0],e[1],c).multiplyScalar(A),h.copy(e[0]).sub(c),g.copy(e[0]).add(c),_.copy(h),v.copy(g);for(let n=1;n<T;n++){D=e[n],k=n===T-1?E?e[1]:void 0:e[n+1];let r=c;if(B(O,D,r),u.copy(r).multiplyScalar(A),y.copy(D).sub(u),b.copy(D).add(u),N=M+j,P=!1,k!==void 0){B(D,k,l),u.copy(l).multiplyScalar(A),x.copy(D).sub(u),S.copy(D).add(u),F=!0,u.subVectors(k,O),r.dot(u)<0&&(F=!1),n===1&&(L=F),u.subVectors(k,D),u.normalize();let e=Math.abs(r.dot(u));if(e>2**-52){let n=A/e;u.multiplyScalar(-n),d.subVectors(D,O),f.copy(d).setLength(n).add(u),C.copy(f).negate();let r=f.length(),i=d.length();d.divideScalar(i),p.subVectors(k,D);let a=p.length();switch(p.divideScalar(a),d.dot(C)<i&&p.dot(C)<a&&(P=!0),w.copy(f).add(D),C.add(D),I=!1,P?F?(S.copy(C),b.copy(C)):(x.copy(C),y.copy(C)):U(),t.strokeLineJoin){case`bevel`:ne(F,P,N);break;case`round`:re(F,P),F?H(D,y,x,N,0):H(D,S,b,N,1);break;default:let e=A*t.strokeMiterLimit/r;if(e<1)if(t.strokeLineJoin!==`miter-clip`){ne(F,P,N);break}else re(F,P),F?(p.subVectors(w,y).multiplyScalar(e).add(y),m.subVectors(w,x).multiplyScalar(e).add(x),V(y,N,0),V(p,N,0),V(D,N,.5),V(D,N,.5),V(p,N,0),V(m,N,0),V(D,N,.5),V(m,N,0),V(x,N,0)):(p.subVectors(w,b).multiplyScalar(e).add(b),m.subVectors(w,S).multiplyScalar(e).add(S),V(b,N,1),V(p,N,1),V(D,N,.5),V(D,N,.5),V(p,N,1),V(m,N,1),V(D,N,.5),V(m,N,1),V(S,N,1));else P?(F?(V(g,M,1),V(h,M,0),V(w,N,0),V(g,M,1),V(w,N,0),V(C,N,1)):(V(g,M,1),V(h,M,0),V(w,N,1),V(h,M,0),V(C,N,0),V(w,N,1)),F?x.copy(w):S.copy(w)):F?(V(y,N,0),V(w,N,0),V(D,N,.5),V(D,N,.5),V(w,N,0),V(x,N,0)):(V(b,N,1),V(w,N,1),V(D,N,.5),V(D,N,.5),V(w,N,1),V(S,N,1)),I=!0;break}}else U()}else U();!E&&n===T-1&&ie(e[0],_,v,F,!0,M),M=N,O=D,h.copy(x),g.copy(S)}if(!E)ie(D,y,b,F,!1,N);else if(P&&i){let e=w,t=C;L!==F&&(e=C,t=w),F?(I||L)&&(t.toArray(i,0),t.toArray(i,9),I&&e.toArray(i,3)):(I||!L)&&(t.toArray(i,3),t.toArray(i,9),I&&e.toArray(i,0))}return ee;function B(e,t,n){return n.subVectors(t,e),n.set(-n.y,n.x).normalize()}function V(e,t,n){i&&(i[R]=e.x,i[R+1]=e.y,i[R+2]=0,a&&(a[R]=0,a[R+1]=0,a[R+2]=1),R+=3,o&&(o[te]=t,o[te+1]=n,te+=2)),ee+=3}function H(e,t,r,i,a){c.copy(t).sub(e).normalize(),l.copy(r).sub(e).normalize();let o=Math.PI,s=c.dot(l);Math.abs(s)<1&&(o=Math.abs(Math.acos(s))),o/=n,u.copy(t);for(let t=0,r=n-1;t<r;t++)d.copy(u).rotateAround(e,o),V(u,i,a),V(d,i,a),V(e,i,.5),u.copy(d);V(u,i,a),V(r,i,a),V(e,i,.5)}function U(){V(g,M,1),V(h,M,0),V(y,N,0),V(g,M,1),V(y,N,0),V(b,N,1)}function ne(e,t,n){t?e?(V(g,M,1),V(h,M,0),V(y,N,0),V(g,M,1),V(y,N,0),V(C,N,1),V(y,n,0),V(x,n,0),V(C,n,.5)):(V(g,M,1),V(h,M,0),V(b,N,1),V(h,M,0),V(C,N,0),V(b,N,1),V(b,n,1),V(C,n,0),V(S,n,1)):e?(V(y,n,0),V(x,n,0),V(D,n,.5)):(V(b,n,1),V(S,n,0),V(D,n,.5))}function re(e,t){t&&(e?(V(g,M,1),V(h,M,0),V(y,N,0),V(g,M,1),V(y,N,0),V(C,N,1),V(y,M,0),V(D,N,.5),V(C,N,1),V(D,N,.5),V(x,M,0),V(C,N,1)):(V(g,M,1),V(h,M,0),V(b,N,1),V(h,M,0),V(C,N,0),V(b,N,1),V(b,M,1),V(C,N,0),V(D,N,.5),V(D,N,.5),V(C,N,0),V(S,M,1)))}function ie(e,n,r,a,s,f){switch(t.strokeLineCap){case`round`:s?H(e,r,n,f,.5):H(e,n,r,f,.5);break;case`square`:if(s)c.subVectors(n,e),l.set(c.y,-c.x),u.addVectors(c,l).add(e),d.subVectors(l,c).add(e),a?(u.toArray(i,3),d.toArray(i,0),d.toArray(i,9)):(u.toArray(i,3),o[7]===1?d.toArray(i,9):u.toArray(i,9),d.toArray(i,0));else{c.subVectors(r,e),l.set(c.y,-c.x),u.addVectors(c,l).add(e),d.subVectors(l,c).add(e);let t=i.length;a?(u.toArray(i,t-3),d.toArray(i,t-6),d.toArray(i,t-12)):(d.toArray(i,t-6),u.toArray(i,t-3),d.toArray(i,t-12))}break;default:break}}function W(e){let t=!1;for(let n=1,i=e.length-1;n<i;n++)if(e[n].distanceTo(e[n+1])<r){t=!0;break}if(!t)return e;let n=[];n.push(e[0]);for(let t=1,i=e.length-1;t<i;t++)e[t].distanceTo(e[t+1])>=r&&n.push(e[t]);return n.push(e[e.length-1]),n}}},q=4,J=1024,Y=4;function me(e=1){let t=new O(new Uint16Array(J*Y*e*q),J,Y*e,l,v);return t.wrapS=m,t.wrapY=m,t.magFilter=B,t.minFilter=B,t.needsUpdate=!0,t}function he(e,t,n=0){let r=Math.floor(Y/4*J);t.arcLengthDivisions=r/2,t.updateArcLengths();let i=t.getSpacedPoints(r),a=t.computeFrenetFrames(r,!0);for(let t=0;t<r;t++){let r=Math.floor(t/J),o=t%J,s=i[t];X(e,o,s.x,s.y,s.z,0+r+Y*n),s=a.tangents[t],X(e,o,s.x,s.y,s.z,1+r+Y*n),s=a.normals[t],X(e,o,s.x,s.y,s.z,2+r+Y*n),s=a.binormals[t],X(e,o,s.x,s.y,s.z,3+r+Y*n)}e.needsUpdate=!0}function X(e,t,n,r,i,a){let{data:o}=e.image,s=q*J*a;o[t*q+s+0]=G.toHalfFloat(n),o[t*q+s+1]=G.toHalfFloat(r),o[t*q+s+2]=G.toHalfFloat(i),o[t*q+s+3]=G.toHalfFloat(1)}function ge(e){return{spineTexture:{value:e},pathOffset:{type:`f`,value:0},pathSegment:{type:`f`,value:1},spineOffset:{type:`f`,value:161},spineLength:{type:`f`,value:400},flow:{type:`i`,value:1}}}function Z(e,t,n=1){e.__ok||(e.__ok=!0,e.onBeforeCompile=e=>{e.__modified||(e.__modified=!0,Object.assign(e.uniforms,t),e.vertexShader=`
4		uniform sampler2D spineTexture;
5		uniform float pathOffset;
6		uniform float pathSegment;
7		uniform float spineOffset;
8		uniform float spineLength;
9		uniform int flow;
10
11		float textureLayers = ${Y*n}.;
12		float textureStacks = ${Y/4}.;
13
14		${e.vertexShader}
15		`.replace(`#include <beginnormal_vertex>`,``).replace(`#include <defaultnormal_vertex>`,``).replace(`#include <begin_vertex>`,``).replace(/void\s*main\s*\(\)\s*\{/,`
16void main() {
17#include <beginnormal_vertex>
18
19vec4 worldPos = modelMatrix * vec4(position, 1.);
20
21bool bend = flow > 0;
22float xWeight = bend ? 0. : 1.;
23
24#ifdef USE_INSTANCING
25float pathOffsetFromInstanceMatrix = instanceMatrix[3][2];
26float spineLengthFromInstanceMatrix = instanceMatrix[3][0];
27float spinePortion = bend ? (worldPos.x + spineOffset) / spineLengthFromInstanceMatrix : 0.;
28float mt = (spinePortion * pathSegment + pathOffset + pathOffsetFromInstanceMatrix)*textureStacks;
29#else
30float spinePortion = bend ? (worldPos.x + spineOffset) / spineLength : 0.;
31float mt = (spinePortion * pathSegment + pathOffset)*textureStacks;
32#endif
33
34mt = mod(mt, textureStacks);
35float rowOffset = floor(mt);
36
37#ifdef USE_INSTANCING
38rowOffset += instanceMatrix[3][1] * ${Y}.;
39#endif
40
41vec3 spinePos = texture2D(spineTexture, vec2(mt, (0. + rowOffset + 0.5) / textureLayers)).xyz;
42vec3 a =        texture2D(spineTexture, vec2(mt, (1. + rowOffset + 0.5) / textureLayers)).xyz;
43vec3 b =        texture2D(spineTexture, vec2(mt, (2. + rowOffset + 0.5) / textureLayers)).xyz;
44vec3 c =        texture2D(spineTexture, vec2(mt, (3. + rowOffset + 0.5) / textureLayers)).xyz;
45mat3 basis = mat3(a, b, c);
46
47vec3 transformed = basis
48	* vec3(worldPos.x * xWeight, worldPos.y * 1., worldPos.z * 1.)
49	+ spinePos;
50
51vec3 transformedNormal = normalMatrix * (basis * objectNormal);
52			`).replace(`#include <project_vertex>`,`vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );
53				gl_Position = projectionMatrix * mvPosition;`))})}var _e=class{constructor(e,t=1){let n=e.clone(),r=me(t),i=ge(r);n.traverse(function(e){if(e instanceof D||e instanceof p)if(Array.isArray(e.material)){let n=[];for(let r of e.material){let e=r.clone();Z(e,i,t),n.push(e)}e.material=n}else e.material=e.material.clone(),Z(e.material,i,t)}),this.curveArray=Array(t),this.curveLengthArray=Array(t),this.object3D=n,this.splineTexture=r,this.uniforms=i}updateCurve(e,t){if(e>=this.curveArray.length)throw Error(`Flow: Index out of range.`);let n=t.getLength();this.uniforms.spineLength.value=n,this.curveLengthArray[e]=n,this.curveArray[e]=t,he(this.splineTexture,t,e)}moveAlongCurve(e){this.uniforms.pathOffset.value+=e}};new I;var ve={name:`CopyShader`,uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:`
54
55		varying vec2 vUv;
56
57		void main() {
58
59			vUv = uv;
60			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
61
62		}`,fragmentShader:`
63
64		uniform float opacity;
65
66		uniform sampler2D tDiffuse;
67
68		varying vec2 vUv;
69
70		void main() {
71
72			vec4 texel = texture2D( tDiffuse, vUv );
73			gl_FragColor = opacity * texel;
74
75
76		}`},ye=class{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error(`THREE.Pass: .render() must be implemented in derived pass.`)}dispose(){}},be=new se(-1,1,1,-1,0,1),xe=new class extends N{constructor(){super(),this.setAttribute(`position`,new L([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute(`uv`,new L([0,2,0,0,2,0],2))}},Se=class{constructor(e){this._mesh=new D(xe,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,be)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}},Ce=class extends ye{constructor(e,t=`tDiffuse`){super(),this.textureID=t,this.uniforms=null,this.material=null,e instanceof u?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=V.clone(e.uniforms),this.material=new u({name:e.name===void 0?`unspecified`:e.name,defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this._fsQuad=new Se(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this._fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}},we=class extends ye{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){let r=e.getContext(),i=e.state;i.buffers.color.setMask(!1),i.buffers.depth.setMask(!1),i.buffers.color.setLocked(!0),i.buffers.depth.setLocked(!0);let a,o;this.inverse?(a=0,o=1):(a=1,o=0),i.buffers.stencil.setTest(!0),i.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),i.buffers.stencil.setFunc(r.ALWAYS,a,4294967295),i.buffers.stencil.setClear(o),i.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),i.buffers.color.setLocked(!1),i.buffers.depth.setLocked(!1),i.buffers.color.setMask(!0),i.buffers.depth.setMask(!0),i.buffers.stencil.setLocked(!1),i.buffers.stencil.setFunc(r.EQUAL,1,4294967295),i.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),i.buffers.stencil.setLocked(!0)}},Te=class extends ye{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}},Ee=class{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){let n=e.getSize(new z);this._width=n.width,this._height=n.height,t=new W(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:v}),t.texture.name=`EffectComposer.rt1`}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name=`EffectComposer.rt2`,this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new Ce(ve),this.copyPass.material.blending=0,this.timer=new M}swapBuffers(){let e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){let t=this.passes.indexOf(e);t!==-1&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}
76render(e){this.timer.update(),e===void 0&&(e=this.timer.getDelta());let t=this.renderer.getRenderTarget(),n=!1;for(let t=0,r=this.passes.length;t<r;t++){let r=this.passes[t];if(r.enabled!==!1){if(r.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(t),r.render(this.renderer,this.writeBuffer,this.readBuffer,e,n),r.needsSwap){if(n){let t=this.renderer.getContext(),n=this.renderer.state.buffers.stencil;n.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),n.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}we!==void 0&&(r instanceof we?n=!0:r instanceof Te&&(n=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(e===void 0){let t=this.renderer.getSize(new z);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,e=this.renderTarget1.clone(),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;let n=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(n,r),this.renderTarget2.setSize(n,r);for(let e=0;e<this.passes.length;e++)this.passes[e].setSize(n,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}},De={name:`OutputShader`,uniforms:{tDiffuse:{value:null},toneMappingExposure:{value:1}},vertexShader:`
77		precision highp float;
78
79		uniform mat4 modelViewMatrix;
80		uniform mat4 projectionMatrix;
81
82		attribute vec3 position;
83		attribute vec2 uv;
84
85		varying vec2 vUv;
86
87		void main() {
88
89			vUv = uv;
90			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
91
92		}`,fragmentShader:`
93
94		precision highp float;
95
96		uniform sampler2D tDiffuse;
97
98		#include <tonemapping_pars_fragment>
99		#include <colorspace_pars_fragment>
100
101		varying vec2 vUv;
102
103		void main() {
104
105			gl_FragColor = texture2D( tDiffuse, vUv );
106
107			// tone mapping
108
109			#ifdef LINEAR_TONE_MAPPING
110
111				gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb );
112
113			#elif defined( REINHARD_TONE_MAPPING )
114
115				gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb );
116
117			#elif defined( CINEON_TONE_MAPPING )
118
119				gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb );
120
121			#elif defined( ACES_FILMIC_TONE_MAPPING )
122
123				gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb );
124
125			#elif defined( AGX_TONE_MAPPING )
126
127				gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );
128
129			#elif defined( NEUTRAL_TONE_MAPPING )
130
131				gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb );
132
133			#elif defined( CUSTOM_TONE_MAPPING )
134
135				gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb );
136
137			#endif
138
139			// color space
140
141			#ifdef SRGB_TRANSFER
142
143				gl_FragColor = sRGBTransferOETF( gl_FragColor );
144
145			#endif
146
147		}`},Oe=class extends ye{constructor(){super(),this.isOutputPass=!0,this.uniforms=V.clone(De.uniforms),this.material=new _({name:De.name,uniforms:this.uniforms,vertexShader:De.vertexShader,fragmentShader:De.fragmentShader}),this._fsQuad=new Se(this.material),this._outputColorSpace=null,this._toneMapping=null}render(e,t,n){this.uniforms.tDiffuse.value=n.texture,this.uniforms.toneMappingExposure.value=e.toneMappingExposure,(this._outputColorSpace!==e.outputColorSpace||this._toneMapping!==e.toneMapping)&&(this._outputColorSpace=e.outputColorSpace,this._toneMapping=e.toneMapping,this.material.defines={},oe.getTransfer(this._outputColorSpace)===`srgb`&&(this.material.defines.SRGB_TRANSFER=``),this._toneMapping===1?this.material.defines.LINEAR_TONE_MAPPING=``:this._toneMapping===2?this.material.defines.REINHARD_TONE_MAPPING=``:this._toneMapping===3?this.material.defines.CINEON_TONE_MAPPING=``:this._toneMapping===4?this.material.defines.ACES_FILMIC_TONE_MAPPING=``:this._toneMapping===6?this.material.defines.AGX_TONE_MAPPING=``:this._toneMapping===7?this.material.defines.NEUTRAL_TONE_MAPPING=``:this._toneMapping===5&&(this.material.defines.CUSTOM_TONE_MAPPING=``),this.material.needsUpdate=!0),this.renderToScreen===!0?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}},ke=class extends ye{constructor(e,t,n=null,r=null,i=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=r,this.clearAlpha=i,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this.isRenderPass=!0,this._oldClearColor=new T}render(e,t,n){let r=e.autoClear;e.autoClear=!1;let i,a;this.overrideMaterial!==null&&(a=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor!==null&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor,e.getClearAlpha())),this.clearAlpha!==null&&(i=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),this.clearDepth==1&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear===!0&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor!==null&&e.setClearColor(this._oldClearColor),this.clearAlpha!==null&&e.setClearAlpha(i),this.overrideMaterial!==null&&(this.scene.overrideMaterial=a),e.autoClear=r}},Ae=`<svg width="1923" height="1177" viewBox="0 0 1923 1177" fill="none" xmlns="http://www.w3.org/2000/svg">
148<g clip-path="url(#clip0_7163_2241)">
149<path d="M272 1184.5L750.735 849.072C785.687 824.583 806.5 784.586 806.5 741.908C806.5 699.054 827.484 658.916 862.674 634.459L1465.5 215.5" stroke="url
149(#paint0_linear_7163_2241)" stroke-width="32"/>
150<path d="M1179 275.5L818.76 527.736C778.079 556.221 729.619 571.5 679.957 571.5H244.779C194.82 571.5 146.086 586.962 105.265 615.763L-102 762" stroke="url(#paint1_linear_7163_2241)" stroke-width="32"/>
151<path d="M-85.2148 1161.5L1159.44 289.949" stroke="url(#paint2_linear_7163_2241)" stroke-width="33" stroke-miterlimit="10"/>
152<path d="M-99 1083.5L18.619 1000.92C52.3836 977.219 92.6354 964.5 133.89 964.5C175.281 964.5 215.659 951.697 249.488 927.847L436.73 795.834C461.958 778.048 492.069 768.5 522.937 768.5C552.95 768.5 582.27 759.472 607.086 742.591L742.4 650.538C765.297 634.962 790.697 623.431 817.495 616.448L888.848 597.854C916.4 590.674 942.469 578.689 965.855 562.449L1753.5 15.5" stroke="url(#paint3_linear_7163_2241)" stroke-width="32"/>
153<path d="M159.5 1060L619.924 735.662C650.876 713.858 686.512 699.621 723.967 694.095L733.095 692.748C769.87 687.322 804.901 673.497 835.471 652.345L1099 470" stroke="url(#paint4_linear_7163_2241)" stroke-width="32"/>
154<path d="M392 1169L1314.5 523" stroke="url(#paint5_linear_7163_2241)" stroke-width="32"/>
155<path d="M28 1563.5L506.934 1225.24C541.779 1200.63 562.5 1160.63 562.5 1117.97C562.5 1075.07 583.461 1034.86 618.641 1010.3L736.5 928" stroke="url(#paint6_linear_7163_2241)" stroke-width="32"/>
156<path d="M211 1434.5L717.78 1076.58C735.163 1064.3 745.5 1044.34 745.5 1023.06C745.5 1001.43 756.176 981.198 774.029 968.987L823.188 935.365C840.905 923.247 851.5 903.055 851.5 881.59C851.5 860.319 861.972 840.302 879.5 828.251C897.028 816.2 907.5 796.055 907.5 774.784C907.5 753.442 917.899 733.201 935.367 720.939L1191 541.5" stroke="url(#paint7_linear_7163_2241)" stroke-width="32"/>
157<path d="M64.5 1674L545.362 1335.56C564.799 1321.88 577.248 1300.36 579.414 1276.69C581.678 1251.95 595.172 1229.61 616.021 1216.09L643.612 1198.2C662.562 1185.92 674 1164.87 674 1142.28C674 1120.49 684.657 1100.07 702.537 1087.61L773 1038.5" stroke="url(#paint8_linear_7163_2241)" stroke-width="32"/>
158<path d="M694 1366L832.019 1265.97C894.822 1220.45 932 1147.58 932 1070.02V917.345C932 838.462 970.446 764.53 1035.02 719.23L1233.5 580" stroke="url(#paint9_linear_7163_2241)" stroke-width="32"/>
159<path d="M-84 1141.1L1174.19 260.07" stroke="url(#paint10_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
160<path d="M-77.2305 1144.18L1174.19 267.889" stroke="url(#paint11_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
161<path d="M-70.4727 1147.25L1174.19 275.705" stroke="url(#paint12_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
162<path d="M-63.7031 1150.33L1174.18 283.523" stroke="url(#paint13_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
163<path d="M-56.9375 1153.41L1174.17 291.342" stroke="url(#paint14_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
164<path d="M-50.1641 1156.49L1174.18 299.16" stroke="url(#paint15_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
165<path d="M161.195 1213.65L1205.42 482.812" stroke="url(#paint16_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
166<path d="M127.352 1198.26L1205.42 443.725" stroke="url(#paint17_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
167<path d="M301.336 1183.47L1246.49 521.742" stroke="url(#paint18_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
168<path d="M295.496 1177.78L1246.48 511.969" stroke="url(#paint19_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
169<path d="M289.652 1172.11L1246.49 502.197" stroke="url(#paint20_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
170<path d="M283.812 1166.42L1246.49 492.432" stroke="url(#paint21_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
171<path d="M277.969 1160.73L1246.49 482.66" stroke="url(#paint22_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
172<path d="M375.016 1161.19L1288.79 521.436" stroke="url(#paint23_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
173<path d="M379.242 1163.12L1293.02 523.357" stroke="url(#paint24_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
174<path d="M383.477 1165.04L1297.25 525.277" stroke="url(#paint25_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
175<path d="M387.703 1166.96L1301.48 527.207" stroke="url(#paint26_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
176<path d="M391.938 1168.89L1305.72 529.127" stroke="url(#paint27_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
177<path d="M396.164 1170.81L1309.94 531.049" stroke="url(#paint28_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
178<path d="M400.398 1172.73L1314.18 532.969" stroke="url(#paint29_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
179<path d="M404.625 1174.65L1318.4 534.896" stroke="url(#paint30_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
180<path d="M408.859 1176.58L1322.64 536.818" stroke="url(#paint31_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
181<path d="M23.4453 1544.17L1174.18 738.814" stroke="url(#paint32_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
182<path d="M27.6797 1546.09L1178.41 740.734" stroke="url(#paint33_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
183<path d="M31.9062 1548.02L1182.64 742.664" stroke="url(#paint34_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
184<path d="M36.1406 1549.95L1186.87 744.586" stroke="url(#paint35_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
185<path d="M40.3672 1551.87L1191.1 746.506" stroke="url(#paint36_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
186<path d="M44.6016 1553.78L1195.34 748.434" stroke="url(#paint37_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
187<path d="M48.8281 1555.71L1199.56 750.355" stroke="url(#paint38_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
188<path d="M53.0625 1557.64L1203.8 752.277" stroke="url(#paint39_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
189<path d="M57.2891 1559.56L1208.02 754.197" stroke="url(#paint40_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
190<path d="M197.324 1080.43L1119.57 434.729" stroke="url(#paint41_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
191<path d="M204.094 1083.51L1119.57 442.547" stroke="url(#paint42_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
192<path d="M210.863 1086.59L1119.56 450.363" stroke="url(#paint43_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
193<path d="M217.633 1089.66L1119.57 458.182" stroke="url(#paint44_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
194<path d="M224.398 1092.74L1119.56 466" stroke="url(#paint45_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
195<path d="M231.168 1095.82L1119.56 473.818" stroke="url(#paint46_linear_7163_2241)" stroke-width="0.84609" stroke-miterlimit="10"/>
196</g>
197<defs>
198<linearGradient id="paint0_linear_7163_2241" x1="336.5" y1="1156" x2="1429.61" y2="1146.31" gradientUnits="userSpaceOnUse">
199<stop stop-color="#00AAFF" stop-opacity="0"/>
200<stop offset="0.25" stop-color="#00AAFF" stop-opacity="0.5"/>
201<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
202</linearGradient>
203<linearGradient id="paint1_linear_7163_2241" x1="1178" y1="274" x2="314.5" y2="880" gradientUnits="userSpaceOnUse">
204<stop stop-color="#1E1F1F" stop-opacity="0"/>
205<stop offset="0.5" stop-color="#1E1F1F"/>
206<stop offset="1" stop-color="#1E1F1F" stop-opacity="0"/>
207</linearGradient>
208<linearGradient id="paint2_linear_7163_2241" x1="1151.5" y1="295" x2="14.0372" y2="1095.55" gradientUnits="userSpaceOnUse">
209<stop stop-color="#A033FF" stop-opacity="0"/>
210<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
211<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
212</linearGradient>
213<linearGradient id="paint3_linear_7163_2241" x1="55.4998" y1="1084" x2="1612.89" y2="681.721" gradientUnits="userSpaceOnUse">
214<stop stop-color="#00AAFF" stop-opacity="0"/>
215<stop offset="0.25" stop-color="#00AAFF" stop-opacity="0.5"/>
216<stop offset="0.75" stop-color="#A033FF" stop-opacity="0.5"/>
217<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
218</linearGradient>
219<linearGradient id="paint4_linear_7163_2241" x1="1091.5" y1="454.5" x2="205.128" y2="582.64" gradientUnits="userSpaceOnUse">
220<stop stop-color="#A033FF" stop-opacity="0"/>
221<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.5"/>
222<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
223</linearGradient>
224<linearGradient id="paint5_linear_7163_2241" x1="468.937" y1="1169.3" x2="1344.17" y2="1115.73" gradientUnits="userSpaceOnUse">
225<stop stop-color="#A033FF" stop-opacity="0"/>
226<stop offset="0.5" stop-color="#A033FF"/>
227<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
228</linearGradient>
229<linearGradient id="paint6_linear_7163_2241" x1="339" y1="1234" x2="734.119" y2="1256.24" gradientUnits="userSpaceOnUse">
230<stop stop-color="#00AAFF" stop-opacity="0"/>
231<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.5"/>
232<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
233</linearGradient>
234<linearGradient id="paint7_linear_7163_2241" x1="1186" y1="522.5" x2="252.122" y2="611.18" gradientUnits="userSpaceOnUse">
235<stop stop-color="#A033FF" stop-opacity="0"/>
236<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.5"/>
237<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
238</linearGradient>
239<linearGradient id="paint8_linear_7163_2241" x1="793.464" y1="994.74" x2="106.788" y2="1200.5" gradientUnits="userSpaceOnUse">
240<stop stop-color="#1E1F1F" stop-opacity="0"/>
241<stop offset="0.5" stop-color="#1E1F1F"/>
242<stop offset="1" stop-color="#1E1F1F" stop-opacity="0"/>
243</linearGradient>
244<linearGradient id="paint9_linear_7163_2241" x1="805.555" y1="1413.62" x2="1334.22" y2="1307.48" gradientUnits="userSpaceOnUse">
245<stop stop-color="#00AAFF" stop-opacity="0"/>
246<stop offset="0.25" stop-color="#00AAFF" stop-opacity="0.35"/>
247<stop offset="0.75" stop-color="#A033FF" stop-opacity="0.35"/>
248<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
249</linearGradient>
250<linearGradient id="paint10_linear_7163_2241" x1="432.652" y1="344.136" x2="521.218" y2="1065.31" gradientUnits="userSpaceOnUse">
251<stop stop-color="#A033FF" stop-opacity="0"/>
252<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
253<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
254<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
255</linearGradient>
256<linearGradient id="paint11_linear_7163_2241" x1="385.198" y1="327.248" x2="450.384" y2="1098.2" gradientUnits="userSpaceOnUse">
257<stop stop-color="#00AAFF" stop-opacity="0"/>
258<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
259<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
260<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
261</linearGradient>
262<linearGradient id="paint12_linear_7163_2241" x1="440.623" y1="358.867" x2="528.237" y2="1072.28" gradientUnits="userSpaceOnUse">
263<stop stop-color="#A033FF" stop-opacity="0"/>
264<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
265<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
266<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
267</linearGradient>
268<linearGradient id="paint13_linear_7163_2241" x1="444.61" y1="366.232" x2="531.746" y2="1075.76" gradientUnits="userSpaceOnUse">
269<stop stop-color="#A033FF" stop-opacity="0"/>
270<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
271<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
272<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
273</linearGradient>
274<linearGradient id="paint14_linear_7163_2241" x1="397.987" y1="349.737" x2="462.115" y2="1108.18" gradientUnits="userSpaceOnUse">
275<stop stop-color="#00AAFF" stop-opacity="0"/>
276<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
277<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
278<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
279</linearGradient>
280<linearGradient id="paint15_linear_7163_2241" x1="452.59" y1="380.965" x2="538.774" y2="1082.74" gradientUnits="userSpaceOnUse">
281<stop stop-color="#A033FF" stop-opacity="0"/>
282<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
283<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
284<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
285</linearGradient>
286<linearGradient id="paint16_linear_7163_2241" x1="589.988" y1="552.547" x2="663.421" y2="1150.79" gradientUnits="userSpaceOnUse">
287<stop stop-color="#A033FF" stop-opacity="0"/>
288<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
289<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.9"/>
290<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
291</linearGradient>
292<linearGradient id="paint17_linear_7163_2241" x1="570.042" y1="515.721" x2="645.857" y2="1133.36" gradientUnits="userSpaceOnUse">
293<stop stop-color="#A033FF" stop-opacity="0"/>
294<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
295<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.9"/>
296<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
297</linearGradient>
298<linearGradient id="paint18_linear_7163_2241" x1="689.445" y1="584.883" x2="755.956" y2="1126.55" gradientUnits="userSpaceOnUse">
299<stop stop-color="#A033FF" stop-opacity="0"/>
300<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
301<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.95"/>
302<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
303</linearGradient>
304<linearGradient id="paint19_linear_7163_2241" x1="680.198" y1="575.876" x2="747.102" y2="1120.81" gradientUnits="userSpaceOnUse">
305<stop stop-color="#00AAFF" stop-opacity="0"/>
306<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
307<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
308<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
309</linearGradient>
310<linearGradient id="paint20_linear_7163_2241" x1="682.559" y1="566.119" x2="749.893" y2="1114.48" gradientUnits="userSpaceOnUse">
311<stop stop-color="#A033FF" stop-opacity="0"/>
312<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
313<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.95"/>
314<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
315</linearGradient>
316<linearGradient id="paint21_linear_7163_2241" x1="673.241" y1="557.123" x2="740.965" y2="1108.75" gradientUnits="userSpaceOnUse">
317<stop stop-color="#00AAFF" stop-opacity="0"/>
318<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
319<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
320<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
321</linearGradient>
322<linearGradient id="paint22_linear_7163_2241" x1="675.674" y1="547.361" x2="743.826" y2="1102.41" gradientUnits="userSpaceOnUse">
323<stop stop-color="#A033FF" stop-opacity="0"/>
324<stop offset="0.05" stop-color="#A033FF" stop-opacity="0"/>
325<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.95"/>
326<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
327</linearGradient>
328<linearGradient id="paint23_linear_7163_2241" x1="712.678" y1="564.772" x2="760.261" y2="
3281127.63" gradientUnits="userSpaceOnUse">
329<stop stop-color="#00AAFF" stop-opacity="0"/>
330<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
331<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
332<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
333</linearGradient>
334<linearGradient id="paint24_linear_7163_2241" x1="716.904" y1="566.694" x2="764.489" y2="1129.56" gradientUnits="userSpaceOnUse">
335<stop stop-color="#00AAFF" stop-opacity="0"/>
336<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
337<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
338<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
339</linearGradient>
340<linearGradient id="paint25_linear_7163_2241" x1="721.139" y1="568.614" x2="768.723" y2="1131.48" gradientUnits="userSpaceOnUse">
341<stop stop-color="#00AAFF" stop-opacity="0"/>
342<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
343<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
344<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
345</linearGradient>
346<linearGradient id="paint26_linear_7163_2241" x1="725.365" y1="570.543" x2="772.948" y2="1133.4" gradientUnits="userSpaceOnUse">
347<stop stop-color="#00AAFF" stop-opacity="0"/>
348<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
349<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
350<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
351</linearGradient>
352<linearGradient id="paint27_linear_7163_2241" x1="729.6" y1="572.464" x2="777.184" y2="1135.33" gradientUnits="userSpaceOnUse">
353<stop stop-color="#00AAFF" stop-opacity="0"/>
354<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
355<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
356<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
357</linearGradient>
358<linearGradient id="paint28_linear_7163_2241" x1="733.826" y1="574.386" x2="781.41" y2="1137.25" gradientUnits="userSpaceOnUse">
359<stop stop-color="#00AAFF" stop-opacity="0"/>
360<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
361<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
362<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
363</linearGradient>
364<linearGradient id="paint29_linear_7163_2241" x1="738.061" y1="576.306" x2="785.645" y2="1139.17" gradientUnits="userSpaceOnUse">
365<stop stop-color="#00AAFF" stop-opacity="0"/>
366<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
367<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
368<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
369</linearGradient>
370<linearGradient id="paint30_linear_7163_2241" x1="742.287" y1="578.233" x2="789.87" y2="
3701141.09" gradientUnits="userSpaceOnUse">
371<stop stop-color="#00AAFF" stop-opacity="0"/>
372<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
373<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
374<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
375</linearGradient>
376<linearGradient id="paint31_linear_7163_2241" x1="746.522" y1="580.155" x2="794.106" y2="1143.02" gradientUnits="userSpaceOnUse">
377<stop stop-color="#00AAFF" stop-opacity="0"/>
378<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
379<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
380<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
381</linearGradient>
382<linearGradient id="paint32_linear_7163_2241" x1="448.668" y1="793.369" x2="508.547" y2="1501.93" gradientUnits="userSpaceOnUse">
383<stop stop-color="#00AAFF" stop-opacity="0"/>
384<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
385<stop offset="0.75" stop-color="#00AAFF"/>
386<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
387</linearGradient>
388<linearGradient id="paint33_linear_7163_2241" x1="500.207" y1="817.58" x2="581.126" y2="1476.83" gradientUnits="userSpaceOnUse">
389<stop stop-color="#A033FF" stop-opacity="0"/>
390<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
391<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
392</linearGradient>
393<linearGradient id="paint34_linear_7163_2241" x1="457.129" y1="797.218" x2="517.007" y2="1505.77" gradientUnits="userSpaceOnUse">
394<stop stop-color="#00AAFF" stop-opacity="0"/>
395<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
396<stop offset="0.75" stop-color="#00AAFF"/>
397<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
398</linearGradient>
399<linearGradient id="paint35_linear_7163_2241" x1="508.668" y1="821.432" x2="589.587" y2="1480.68" gradientUnits="userSpaceOnUse">
400<stop stop-color="#A033FF" stop-opacity="0"/>
401<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
402<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
403</linearGradient>
404<linearGradient id="paint36_linear_7163_2241" x1="465.59" y1="801.06" x2="525.469" y2="1509.62" gradientUnits="userSpaceOnUse">
405<stop stop-color="#00AAFF" stop-opacity="0"/>
406<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
407<stop offset="0.75" stop-color="#00AAFF"/>
408<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
409</linearGradient>
410<linearGradient id="paint37_linear_7163_2241" x1="517.129" y1="825.279" x2="598.046" y2="1484.52" gradientUnits="userSpaceOnUse">
411<stop stop-color="#A033FF" stop-opacity="0"/>
412<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
413<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
414</linearGradient>
415<linearGradient id="paint38_linear_7163_2241" x1="474.051" y1="804.909" x2="533.929" y2="1513.46" gradientUnits="userSpaceOnUse">
416<stop stop-color="#00AAFF" stop-opacity="0"/>
417<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
418<stop offset="0.75" stop-color="#00AAFF"/>
419<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
420</linearGradient>
421<linearGradient id="paint39_linear_7163_2241" x1="525.59" y1="829.123" x2="606.509" y2="1488.37" gradientUnits="userSpaceOnUse">
422<stop stop-color="#A033FF" stop-opacity="0"/>
423<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
424<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
425</linearGradient>
426<linearGradient id="paint40_linear_7163_2241" x1="482.512" y1="808.752" x2="542.391" y2="1517.31" gradientUnits="userSpaceOnUse">
427<stop stop-color="#00AAFF" stop-opacity="0"/>
428<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
429<stop offset="0.75" stop-color="#00AAFF"/>
430<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
431</linearGradient>
432<linearGradient id="paint41_linear_7163_2241" x1="538.116" y1="478.468" x2="586.143" y2="1046.56" gradientUnits="userSpaceOnUse">
433<stop stop-color="#00AAFF" stop-opacity="0"/>
434<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
435<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
436<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
437</linearGradient>
438<linearGradient id="paint42_linear_7163_2241" x1="542.384" y1="485.965" x2="590.059" y2="1049.89" gradientUnits="userSpaceOnUse">
439<stop stop-color="#00AAFF" stop-opacity="0"/>
440<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
441<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
442<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
443</linearGradient>
444<linearGradient id="paint43_linear_7163_2241" x1="584.005" y1="511.071" x2="647.955" y2="1031.86" gradientUnits="userSpaceOnUse">
445<stop stop-color="#A033FF" stop-opacity="0"/>
446<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
447<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
448</linearGradient>
449<linearGradient id="paint44_linear_7163_2241" x1="587.995" y1="518.436" x2="651.467" y2="1035.34" gradientUnits="userSpaceOnUse">
450<stop stop-color="#A033FF" stop-opacity="0"/>
451<stop offset="0.5" stop-color="#A033FF" stop-opacity="0.8"/>
452<stop offset="1" stop-color="#A033FF" stop-opacity="0"/>
453</linearGradient>
454<linearGradient id="paint45_linear_7163_2241" x1="555.182" y1="508.455" x2="601.799" y2="1059.86" gradientUnits="userSpaceOnUse">
455<stop stop-color="#00AAFF" stop-opacity="0"/>
456<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
457<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
458<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
459</linearGradient>
460<linearGradient id="paint46_linear_7163_2241" x1="559.451" y1="515.952" x2="605.715" y2="1063.19" gradientUnits="userSpaceOnUse">
461<stop stop-color="#00AAFF" stop-opacity="0"/>
462<stop offset="0.05" stop-color="#00AAFF" stop-opacity="0"/>
463<stop offset="0.5" stop-color="#00AAFF" stop-opacity="0.8"/>
464<stop offset="1" stop-color="#00AAFF" stop-opacity="0"/>
465</linearGradient>
466<clipPath id="clip0_7163_2241">
467<rect width="1923" height="1177" fill="white"/>
468</clipPath>
469</defs>
470</svg>
471`,je=`varying vec2 vUv; void main(){ vUv = uv; gl_Position = vec4(position.xy, 0.0, 1.0); }`,Me=`varying vec2 vUv;
472  uniform sampler2D tDiffuse; uniform vec2 uDir; uniform vec2 uTexel; uniform float uRadius;
473  void main(){
474    vec2 d = uDir * uTexel * uRadius;
475    vec4 c = texture2D(tDiffuse, vUv) * 0.227027;
476    c += texture2D(tDiffuse, vUv + d * 1.384615) * 0.316216;
477    c += texture2D(tDiffuse, vUv - d * 1.384615) * 0.316216;
478    c += texture2D(tDiffuse, vUv + d * 3.230769) * 0.070270;
479    c += texture2D(tDiffuse, vUv - d * 3.230769) * 0.070270;
480    gl_FragColor = c;
481  }
481`,Ne=`varying vec2 vUv; void main(){ vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); }`,Pe=`varying vec2 vUv;
482  uniform sampler2D tDiffuse; uniform sampler2D tGlow; uniform float uStrength; uniform float uLight;
483  void main(){
484    vec4 scene = texture2D(tDiffuse, vUv);
485    vec3 glow = clamp(texture2D(tGlow, vUv).rgb * uStrength, 0.0, 1.0);
486    // Dark: screen lift toward the glow color.
487    vec3 lit = 1.0 - (1.0 - scene.rgb) * (1.0 - glow);
488    // Light: colored shadow — darken every channel EXCEPT the glow's own hue, by the halo amount.
489    float amt = max(glow.r, max(glow.g, glow.b));
490    vec3 hue = amt > 0.0001 ? glow / amt : vec3(0.0);
491    vec3 shadow = scene.rgb * (1.0 - amt * (1.0 - hue));
492    vec3 rgb = mix(lit, shadow, uLight);
493    float a = max(scene.a, amt);
494    gl_FragColor = vec4(rgb, a);
495  }`;function Fe(e){return`varying vec3 vBoxPos;
496    varying vec3 vBoxNormal;
497    ${e}`.replace(`vec4 worldPos = modelMatrix * vec4(position, 1.);`,`vec4 worldPos = modelMatrix * vec4(position, 1.);
498    vBoxPos = position;
499    vBoxNormal = normal;`)}function Ie(e,{boxHalf:t,boxLen:n,boxCrossHalf:i,cubeScale:a}){return`uniform sampler2D tBackdrop;
500    uniform vec2 uResolution;
501    uniform float uEntry;
502    uniform float uExit;
503    uniform float uGlow;
504    uniform vec3 uGlowColor;
505    uniform float uCubeGlow;
506    uniform float uSat;
507    varying vec3 vBoxPos;
508    varying vec3 vBoxNormal;
509    ${e}`.replace(`#include <opaque_fragment>`,`#include <opaque_fragment>
510    {
511      // ── Beveled edges: brighten toward white near each face's borders ──
512      // Box half-extents (the cube is scaled to its rail width).
513      vec3 he = vec3(${c(t)}, ${c(i)}, ${c(i)});
514      vec3 an = abs(vBoxNormal);
515      // WORLD-unit distance to the nearest in-plane edge (0 at the edge),
516      // pair chosen by the face's dominant normal axis. Using absolute units
517      // (not normalized) keeps the bevel band the same width on every edge —
518      // otherwise the long axis (half 1.2) bevels ~5× wider than the short.
519      vec2 d2e;
520      if (an.x > an.y && an.x > an.z) d2e = he.yz - abs(vBoxPos.yz);
521      else if (an.y > an.z)           d2e = he.xz - abs(vBoxPos.xz);
522      else                            d2e = he.xy - abs(vBoxPos.xy);
523      // Distance to the face boundary, but with ROUNDED corners — the bands
524      // (glow/bevel/seam) then fillet where two edges cross instead of making
525      // a sharp square notch. Rounded-rectangle SDF: straight edges stay
526      // exactly min(d2e), only the corners round off (radius CORNER_R).
527      float CORNER_R = ${c(r.cornerRadius*a)};
528      vec2 q = vec2(CORNER_R) - d2e;
529      float distEdge = -(min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - CORNER_R);
530
531      // ── Inner colored glow (the SVG innerShadow): a wider, softer band
532      // just inside each edge that boosts the surface color IN-HUE, giving
533      // the face depth beneath the white edge line. Sits under the bevel.
534      float GLOW_W = ${c(r.glow.width*a)};
535      float GLOW_STR = ${c(r.glow.strength)};
536      float glow = 1.0 - smoothstep(0.0, GLOW_W, distEdge);
537      gl_FragColor.rgb = mix(gl_FragColor.rgb, min(gl_FragColor.rgb * ${c(r.glow.boost)}, vec3(1.0)), glow * GLOW_STR);
538
539      float BEVEL_W = ${c(r.bevel.width*a)};
540      float BEVEL_LIGHT = ${c(r.bevel.light)};
541      float BEVEL_SOLID = ${c(r.bevel.solid)};
542      float bevel = 1.0 - smoothstep(0.0, BEVEL_W, distEdge);
543      gl_FragColor.rgb = mix(gl_FragColor.rgb, vec3(1.0), bevel * BEVEL_LIGHT);
544
545      vec2 bUv = gl_FragCoord.xy / uResolution;
546      vec3 backdrop = texture2D(tBackdrop, bUv).rgb;
547      float facing = clamp(dot(normalize(vNormal), normalize(vViewPosition)), 0.0, 1.0);
548      // head-on (facing→1) = more backdrop (glassier); grazing = more surface.
549      // Edges read more solid (less backdrop) so the bevel highlight pops.
550      float glassMix = mix(${c(r.glass.grazing)}, ${c(r.glass.headOn)}, facing) * (1.0 - bevel * BEVEL_SOLID);
551      // Per-face transparency: top (+Z, world-up) / sides (±Y) / caps (±X).
552      float faceST = an.z > max(an.x, an.y)
553        ? ${c(r.faceSeeThrough.top)}
554        : (an.y > an.x ? ${c(r.faceSeeThrough.side)} : ${c(r.faceSeeThrough.cap)});
555      glassMix = clamp(glassMix * faceST, 0.0, 1.0);
556      // Surface-color glow: skip the see-through backdrop in the glow pass so the
557      // halo samples the cube's own shaded material, not the blurred scene behind it.
558      gl_FragColor.rgb = mix(gl_FragColor.rgb, backdrop, glassMix${r.haloGlow.surfaceColor?` * (1.0 - uGlow)`:``});
559
560      // ── Tip glow ── In the SVG each face gradient ramps to white at the
561      // leading end; the bloom halo then glows off that white. Done in
562      // surface color (not emissive) and toward WHITE, so every cube color
563      // blooms identically. +X is the leading end (box X maps forward along
564      // the curve). Applied last so the tip reads solid, then bloom catches it.
565      float u = clamp((vBoxPos.x + ${c(t)}) / ${c(n)}, 0.0, 1.0); // 0 tail → 1 tip
566      float TIP_START = ${c(r.tip.start)};
567      float TIP_STR = ${c(r.tip.strength)};
568      float TIP_SEAM = ${c(r.tip.seam*a)};
569      float tip = smoothstep(TIP_START, 1.0, u) * TIP_STR;
570      // Hold the glow off the face edges so a thin colored seam survives into
571      // the tip — keeps the facet division instead of one white blob.
572      tip *= smoothstep(0.0, TIP_SEAM, distEdge);
573      gl_FragColor.rgb = mix(gl_FragColor.rgb, vec3(1.0), tip);
574
575      // ── End fade: gradient pass along the cube length (tip→tail). The
576      // dissolve front is anchored to u and swept by progress, so each
577      // fragment fades when the front reaches it. uEntry: tip appears first
578      // as it emerges; uExit: tip dissolves first as it exits past the end.
579      float SWEEP = 0.45; // softness of the gradient front (in u space)
580      // Remap 0..1 progress to -SWEEP..1+SWEEP so the sweep fully clears the
581      // whole cube at the extremes (else the soft front leaves the tip/tail
582      // partly visible at progress 0/1).
583      float eIn = uEntry * (1.0 + 2.0 * SWEEP) - SWEEP;
584      float eOut = uExit * (1.0 + 2.0 * SWEEP) - SWEEP;
585      float entryA = smoothstep((1.0 - u) - SWEEP, (1.0 - u) + SWEEP, eIn);
586      float exitA = 1.0 - smoothstep((1.0 - u) - SWEEP, (1.0 - u) + SWEEP, eOut);
587      gl_FragColor.a *= entryA * exitA;
588
589      // ── Saturation ── Push the color away from its luma (uSat>1) so the cubes
590      // read vivid on the light bg; uSat=1 (dark) is a no-op.
591      {
592        float satL = dot(gl_FragColor.rgb, vec3(0.2126, 0.7152, 0.0722));
593        gl_FragColor.rgb = clamp(satL + (gl_FragColor.rgb - satL) * uSat, 0.0, 1.0);
594      }
595
596      // ── Glow pass ── Build the offscreen halo source. In flat-hue mode the
597      // cube emits its pure base color (clean, can't drift toward white/pink). In
598      // surfaceColor mode we leave the shaded color as-is (the backdrop see-through
599      // was already skipped above), so the halo tracks the cube's real appearance.
600      // Either way only the end-fade alpha is kept so the halo dissolves at the ends.
601      ${r.haloGlow.surfaceColor?``:`if (uGlow > 0.5) gl_FragColor = vec4(uGlowColor, gl_FragColor.a);`}
602      // Scale ONLY the cube's contribution to the glow buffer (independent of the rail-hover glow,
603      // which is boosted separately when rendered into the same buffer). Visible cube unaffected.
604      if (uGlow > 0.5) gl_FragColor.rgb *= uCubeGlow;
605    }`)}function Le(c,{onReady:d,onHover:f}){let p=!1,m=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,_=c.clientWidth,y=c.clientHeight;window.matchMedia(`(max-width: 768px)`).matches;let S=Math.min(window.devicePixelRatio,1.5),C=new ce,w=32,E=_/y,k=new se(-w*E/2,w*E/2,w/2,-w/2,.1,200);k.up.set(0,1,0),k.position.set(40,40,40),k.lookAt(0,0,0);let A;
605try{A=new R({alpha:!0,antialias:!0})}catch{return()=>{}}let j=le(A,()=>f?.(null));A.setPixelRatio(S),A.setSize(_,y),A.toneMapping=0,c.appendChild(A.domElement);let M=new T(526344).convertSRGBToLinear(),N=new T(15396080).convertSRGBToLinear(),I=new T,L=()=>I.copy(document.documentElement.dataset.theme===`light`?N:M);L();let V=new ne(A),H=V.fromScene(new ue,.04).texture;C.environment=H,C.environmentIntensity=r.envIntensity;let oe=new g;C.add(oe),C.add(new F(16777215,r.ambient));let G=new x(16777215,r.keyLight.intensity);G.position.set(...r.keyLight.position),C.add(G);let K=console.warn;console.warn=(...e)=>{typeof e[0]==`string`&&e[0].includes(`url access in attributes`)||K(...e)};let de=new pe().parse(Ae);console.warn=K;let fe=new DOMParser().parseFromString(Ae,`image/svg+xml`),q=e=>{let t=e.replace(`#`,``);return[Number.parseInt(t.slice(0,2),16),Number.parseInt(t.slice(2,4),16),Number.parseInt(t.slice(4,6),16)]},J=new Map;for(let e of Array.from(fe.querySelectorAll(`linearGradient`)))J.set(e.id,{x1:Number(e.getAttribute(`x1`)),y1:Number(e.getAttribute(`y1`)),x2:Number(e.getAttribute(`x2`)),y2:Number(e.getAttribute(`y2`)),stops:Array.from(e.querySelectorAll(`stop`)).map(e=>({offset:e.hasAttribute(`offset`)?Number(e.getAttribute(`offset`)):0,color:q(e.getAttribute(`stop-color`)??`#ffffff`),opacity:e.hasAttribute(`stop-opacity`)?Number(e.getAttribute(`stop-opacity`)):1}))});let Y=e=>{let t=e?.match(/url\(#(.+?)\)/)?.[1];return t?J.get(t):void 0},me=(e,t,n)=>{let r=e.x2-e.x1,i=e.y2-e.y1;return((t-e.x1)*r+(n-e.y1)*i)/(r*r+i*i||1)},he=(e,t)=>{let n=Math.max(0,Math.min(1,t)),r=e.stops[0],i=e.stops[e.stops.length-1];for(let t=0;t<e.stops.length-1;t++)if(n>=e.stops[t].offset&&n<=e.stops[t+1].offset){r=e.stops[t],i=e.stops[t+1];break}let a=Math.max(0,Math.min(1,(n-r.offset)/(i.offset-r.offset||1)));return[r.color[0]+(i.color[0]-r.color[0])*a,r.color[1]+(i.color[1]-r.color[1])*a,r.color[2]+(i.color[2]-r.color[2])*a,r.opacity+(i.opacity-r.opacity)*a]},X=(e,t)=>{let n=Y(t);if(n)return e.map(e=>he(n,me(n,e.x,e.y)));let r=t?.startsWith(`#`)?q(t):[40,44,54];return e.map(()=>[r[0],r[1],r[2],1])},ge=e=>{let t=new Uint8Array(e.length*4);e.forEach((e,n)=>{t.set([e[0],e[1],e[2],Math.round(e[3]*255)],n*4)});let n=new O(t,e.length,1,l);
605return n.colorSpace=h,n.minFilter=B,n.magFilter=B,n.wrapS=P,n.generateMipmaps=!1,n.needsUpdate=!0,n},Z=[],ve=[],ye=[],be=[],xe=[],we=[];for(let e of de.paths){let t=e.userData?.style,n=t?.stroke;if(!n||n===`none`)continue;let r=Number(t?.strokeWidth)||1;for(let t of e.subPaths)if(r>=5){let e=t.getSpacedPoints(240);if(e.length<8)continue;Z.push(e),ve.push(n),ye.push(r)}else{let e=t.getSpacedPoints(16);if(e.length<2)continue;be.push(e),xe.push(n),we.push(r)}}let Te=e=>{let t=Y(e),n=t?he(t,.5):null;return n?(.2126*n[0]+.7152*n[1]+.0722*n[2])/255:1},De=Z.map((e,t)=>X(e,ve[t])),Le=ve.map(e=>Te(e)<.2),Re=new Set(o.flat()),ze=[...o];for(let e=0;e<Z.length;e++)Re.has(e)||ze.push([e]);let Be=[],Ve=[],He=[],Ue=[];for(let e of ze){let t=[],n=[],r=!1,i=0;for(let a of e){if(!Z[a])continue;let e=Z[a],o=De[a];if(t.length){let n=t[t.length-1];n.distanceTo(e[e.length-1])<n.distanceTo(e[0])&&(e=[...e].reverse(),o=[...o].reverse())}t=t.concat(e),n=n.concat(o),r||=Le[a],i||=ye[a]}t.length<8||(Be.push(t),Ve.push(n),He.push(i),Ue.push(r))}let We=1/0,Ge=-1/0,Ke=1/0,qe=-1/0;for(let e of Be)for(let t of e)We=Math.min(We,t.x),Ge=Math.max(Ge,t.x),Ke=Math.min(Ke,t.y),qe=Math.max(qe,t.y);let Je=(We+Ge)/2,Ye=(Ke+qe)/2,Xe=Math.SQRT2,Ze=Math.sqrt(6),Qe=Be.map(e=>e.map(e=>{let t=e.x-Je,n=e.y-Ye;return new z((Xe*t+Ze*n)/2,(Ze*n-Xe*t)/2)})),$e=1/0,et=-1/0;for(let e of Qe)for(let t of e)$e=Math.min($e,t.x,t.y),et=Math.max(et,t.x,t.y);let tt=30/(et-$e),nt=Qe.map(e=>e.map(e=>new U(e.x*tt,0,e.y*tt))),rt=e=>{let t=e.x-Je,n=e.y-Ye;return new U((Xe*t+Ze*n)/2*tt,0,(Ze*n-Xe*t)/2*tt)},it=1/0,at=-1/0,ot=1/0,st=-1/0;for(let e of nt)for(let t of e){let e=(t.x-t.z)/Xe,n=(t.x+t.z)/Ze;it=Math.min(it,e),at=Math.max(at,e),ot=Math.min(ot,n),st=Math.max(st,n)}let ct=r.viewPadding;w=Math.max(st-ot,(at-it)/E)*ct,k.top=w/2,k.bottom=-w/2,k.left=-w*E/2,k.right=w*E/2,k.updateProjectionMatrix();let lt=Math.sqrt(Math.sqrt(3))*tt,ut=[],dt=[],ft={value:document.documentElement.dataset.theme===`light`?r.hover.saturateLight:1},pt={value:document.documentElement.dataset.theme===`light`?r.cubeSaturateLight:1},mt=[],ht=q(t.dark),gt=q(t.light),_t=e=>{let t=!1,n=e.map(e=>Math.abs(e[0]-ht[0])<=2&&Math.abs(e[1]-ht[1])<=2&&Math.abs(e[2]-ht[2])<=2?(t=!0,[gt[0],gt[1],gt[2],e[3]]):e);return t?n:e},vt=[];for(let e=0;e<be.length;e++){let t=be[e],n=new ee(t.map(rt),!1,`catmullrom`,.5),r=Math.max(.004,we[e]/2*lt),i=new re(n,Math.max(12,t.length),r,6,!1),a=X(t,xe[e]),o=ge(a),s=new te({map:o,transparent:!0,depthWrite:!1}),c=new D(i,s);c.renderOrder=100,oe.add(c),mt.push(s);let l=_t(a);l!==a&&vt.push({mat:s,dark:o,light:ge(l)})}let yt=new U(0,1,0),bt=r.cubeColors,xt=[],St={tBackdrop:{value:null},uResolution:{value:new z(1,1)}},Ct={value:0},wt={value:r.haloGlow.cubeGlow},Tt=-1,Et=1/0;Be.forEach((e,t)=>{if(!Ue[t])return;let n=e.reduce((e,t)=>e+t.y,0)/e.length;n<Et&&(Et=n,Tt=t)});let Dt=e=>{let t=0;for(let n=2;n<e.length;n++){let r=e[n-1].x-e[n-2].x,i=e[n-1].z-e[n-2].z,a=e[n].x-e[n-1].x,o=e[n].z-e[n-1].z,s=Math.hypot(r,i),c=Math.hypot(a,o);s<1e-6||c<1e-6||(t+=Math.acos(Math.max(-1,Math.min(1,(r*a+i*o)/(s*c)))))}return t},Ot=-1,kt=-1;nt.forEach((e,t)=>{let n=Dt(e);n>kt&&(kt=n,Ot=t)});let At=nt.map((e,t)=>t).filter(e=>e%3==0);Ot>=0&&At.length>2&&(At[2]=Ot);let jt=s??At;nt.forEach((t,n)=>{if(t.length<4)return;let i=n===Tt,a=i?10499071:bt[Math.floor(n/3)%bt.length],o=(t[0].x-t[0].z)/Xe>(t[t.length-1].x-t[t.length-1].z)/Xe,s=o?[...t].reverse():t,c=o?[...Ve[n]].reverse():Ve[n],l=ge(c),u=_t(c),d=new ee(s,!1,`catmullrom`,.5),f=d.getLength(),p=new re(d,400,He[n]/2*lt,10,!1),m=new te({map:l,transparent:!0,depthWrite:!1}),h={value:0};m.onBeforeCompile=e=>{e.uniforms.uHover=h,e.uniforms.uSat=ft,e.fragmentShader=`uniform float uHover;
606        uniform float uSat;
607        ${e.fragmentShader}`.replace(`#include <opaque_fragment>`,`#include <opaque_fragment>
608        {
609          float l = dot(gl_FragColor.rgb, vec3(0.2126, 0.7152, 0.0722));
610          vec3 sat = clamp(l + (gl_FragColor.rgb - l) * uSat, 0.0, 1.0);
611          gl_FragColor.rgb = mix(gl_FragColor.rgb, sat, uHover);
612        }`)};let g=new D(p,m);g.scale.set(1,.04,1),g.renderOrder=n,g.userData.railIdx=n,oe.add(g),ut.push(g),dt.push({mesh:g,mat:m,idx:n,dim:1,bright:1,glow:0,uHover:h}),u!==c&&vt.push({mat:m,dark:l,light:ge(u)});let _=jt.indexOf(n);if(_<0&&!i||f<4)return;let v=_>=0?_:99,y=e[v]??{},b=He[n]*lt/.5,x=2.4*b,S=x/2,C=.25*b,w=Math.min(y.fade??r.cubeFade,Math.max(.5,(f-x)*.4)),E=y.delay??r.cubeFadeDelay,O=Math.max(y.exit??r.cubeExit,E+w+3),k=s.map(e=>new U(e.x,C+r.cubeLift,e.z)),A=k.length,j=new U().subVectors(k[0],k[1]).normalize(),M=new U().subVectors(k[A-1],k[A-2]).normalize(),N=Math.max(k[0].distanceTo(k[1]),.05),P=Math.max(k[A-1].distanceTo(k[A-2]),.05),F=[],I=[];for(let e=N;e<=O;e+=N)F.push(k[0].clone().addScaledVector(j,e));for(let e=P;e<=O;e+=P)I.push(k[A-1].clone().addScaledVector(M,e));F.reverse();let L=new ee([...F,...k,...I],!1,`catmullrom`,.5),R=L.getLength(),z=O/R,B=(O+f)/R,V=w/R;L.computeFrenetFrames=e=>{let t=[],n=[],r=[];for(let i=0;i<=e;i++){let a=L.getTangentAt(i/e,new U);t.push(a),n.push(new U().crossVectors(yt,a).normalize()),r.push(yt.clone())}return{tangents:t,normals:n,binormals:r}};let H=new ie(x,C*2,C*2,64,1,1),ne=H.groups[5],W=H.getIndex();if(W&&ne){let e=Array.from(W.array);e.splice(ne.start,ne.count),H.setIndex(e),H.clearGroups()}let se=H.attributes.position,G=H.attributes.uv;
612for(let e=0;e<se.count;e++)G.setX(e,(se.getX(e)+S)/x);G.needsUpdate=!0;let K=new _e(new D(H,new ae({color:new T(a),metalness:0,roughness:.2,transmission:0,ior:1.35,specularIntensity:1,envMapIntensity:1})));K.updateCurve(0,L),oe.add(K.object3D),K.object3D.layers.enable(1);let ce=K.object3D.material;ce.transparent=!0;let le={value:1},ue={value:0},de=ce.onBeforeCompile;ce.onBeforeCompile=(e,t)=>{de.call(ce,e,t),e.uniforms.tBackdrop=St.tBackdrop,e.uniforms.uResolution=St.uResolution,e.uniforms.uEntry=le,e.uniforms.uExit=ue,e.uniforms.uGlow=Ct,e.uniforms.uGlowColor={value:new T(a).convertSRGBToLinear()},e.uniforms.uCubeGlow=wt,e.uniforms.uSat=pt,e.vertexShader=Fe(e.vertexShader),e.fragmentShader=Ie(e.fragmentShader,{boxHalf:S,boxLen:x,boxCrossHalf:C,cubeScale:b})},ce.needsUpdate=!0;let fe=K.uniforms,pe=fe.spineLength.value,q=fe.spineOffset.value/pe,J=S/pe,Y=E/R,me=z+J,he=B-J+Y,X=me-V,Z=he+V,ve=y.speed??r.cubeSpeed.base+v*.37%1*r.cubeSpeed.jitter,ye=y.periodFrames?(Z-X)/y.periodFrames:ve/R,be=X+(y.phase??v*.37%1)*(Z-X);K.uniforms.pathOffset.value=be-q,xt.push({flow:K,material:ce,baseOffset:q,minP:X,maxP:Z,entryEnd:me,exitStart:he,uEntry:le,uExit:ue,p:be,speed:ye,railIdx:n,dim:1})});let Mt=e=>{for(let t of vt)t.mat.map=e?t.light:t.dark,t.mat.needsUpdate=!0};Mt(document.documentElement.dataset.theme===`light`);let Nt=new W(_,y,{samples:5,type:v}),Q=new Ee(A,Nt);Q.setPixelRatio(S),Q.setSize(_,y),Q.addPass(new ke(C,k));let Pt=new Ce({uniforms:{tDiffuse:{value:null},tGlow:{value:null},uStrength:{value:r.haloGlow.strength},uLight:{value:+(document.documentElement.dataset.theme===`light`)}},vertexShader:Ne,fragmentShader:Pe});Q.addPass(Pt),Q.addPass(new Oe);let Ft=r.backdropDownsample,It=()=>Math.max(2,Math.floor(c.clientWidth*S/Ft)),Lt=()=>Math.max(2,Math.floor(c.clientHeight*S/Ft)),Rt={type:v,minFilter:B,magFilter:B},zt=new W(It(),Lt(),Rt),Bt=new W(It(),Lt(),{...Rt,depthBuffer:!1}),Vt=new W(It(),Lt(),{...Rt,depthBuffer:!1});St.tBackdrop.value=Vt.texture,St.uResolution.value.set(_*S,y*S);let Ht=new u({uniforms:{tDiffuse:{value:null},uDir:{value:new z(1,0)},uTexel:{value:new z(1/It(),1/Lt())},uRadius:{value:r.blurRadius}},depthTest:!1,depthWrite:!1,vertexShader:je,fragmentShader:Me}),Ut=new Se(Ht),Wt=()=>{for(let e of xt)e.flow.object3D.visible=!1;A.setRenderTarget(zt),A.setClearColor(I,1),A.clear(),A.render(C,k),Ht.uniforms.tDiffuse.value=zt.texture,Ht.uniforms.uDir.value.set(1,0),A.setRenderTarget(Bt),Ut.render(A),Ht.uniforms.tDiffuse.value=Bt.texture,Ht.uniforms.uDir.value.set(0,1),A.setRenderTarget(Vt),Ut.render(A);for(let e of xt)e.flow.object3D.visible=!0;A.setRenderTarget(null),A.setClearColor(I,1)},Gt=r.haloGlow.downsample,Kt=()=>Math.max(2,Math.floor(c.clientWidth*S/Gt)),$=()=>Math.max(2,Math.floor(c.clientHeight*S/Gt)),qt=new W(Kt(),$(),Rt),Jt=new W(Kt(),$(),{...Rt,depthBuffer:!1}),Yt=new W(Kt(),$(),{...Rt,depthBuffer:!1}),Xt=new u({uniforms:{tDiffuse:{value:null},uDir:{value:new z(1,0)},uTexel:{value:new z(1/Kt(),1/$())},uRadius:{value:r.haloGlow.radius}},depthTest:!1,depthWrite:!1,vertexShader:je,fragmentShader:Me}),Zt=new Se(Xt);Pt.uniforms.tGlow.value=Yt.texture;let Qt=()=>{Ct.value=1;for(let e of dt)e.glow>.001&&e.mat.color.setScalar(e.bright*r.hover.glow*e.glow);k.layers.set(1),A.setRenderTarget(qt),A.setClearColor(0,1),A.clear(),A.render(C,k),k.layers.set(0);for(let e of dt)e.glow>.001&&e.mat.color.setScalar(e.bright);Ct.value=0;let e=qt.texture;for(let t=0;t<r.haloGlow.iterations;t++)Xt.uniforms.tDiffuse.value=e,Xt.uniforms.uDir.value.set(1,0),A.setRenderTarget(Jt),Zt.render(A),Xt.uniforms.tDiffuse.value=Jt.texture,Xt.uniforms.uDir.value.set(0,1),A.setRenderTarget(Yt),Zt.render(A),e=Yt.texture;A.setRenderTarget(null),A.setClearColor(I,1)},$t=()=>{if(p||j.failed)return;let e=c.clientWidth,t=c.clientHeight,n=e/t;k.left=-w*n/2,k.right=w*n/2,k.top=w/2,k.bottom=-w/2,k.updateProjectionMatrix(),A.setSize(e,t),Q.setSize(e,t),zt.setSize(It(),Lt()),Bt.setSize(It(),Lt()),Vt.setSize(It(),Lt()),Ht.uniforms.uTexel.value.set(1/It(),1/Lt()),qt.setSize(Kt(),$()),Jt.setSize(Kt(),$()),Yt.setSize(Kt(),$()),Xt.uniforms.uTexel.value.set(1/Kt(),1/$()),St.uResolution.value.set(e*S,t*S),Wt()};window.addEventListener(`resize`,$t);let en=0,tn=!1,nn=()=>{tn||p||j.failed||(tn=!0,d())},rn=-1,an=new Set,on=new Set,sn=new Set(xt.map(e=>e.railIdx)),cn=1,ln=1,un=1e3/60,dn=0,fn=0,pn=document.documentElement.dataset.theme,mn=e=>
612{if(p||j.failed||(en=requestAnimationFrame(mn),dn===0&&(dn=e),fn+=e-dn,dn=e,fn<un))return;fn=Math.min(fn-un,un);let t=document.documentElement.dataset.theme;if(t!==pn){pn=t;let e=t===`light`;L(),Mt(e),Pt.uniforms.uLight.value=+!!e,ft.value=e?r.hover.saturateLight:1,pt.value=e?r.cubeSaturateLight:1,Wt()}let n=an.size>0,i=t===`light`?r.hover.dimLight:r.hover.dim,a=t===`light`?r.hover.brightnessLight:r.hover.brightness;ln+=((n?r.hover.cubeSlow:1)-ln)*r.hover.lerp;for(let e of xt){e.p+=e.speed*ln,e.p>e.maxP&&(e.p-=e.maxP-e.minP),e.flow.uniforms.pathOffset.value=e.p-e.baseOffset,e.uEntry.value=Math.max(0,Math.min(1,(e.p-e.minP)/(e.entryEnd-e.minP))),e.uExit.value=Math.max(0,Math.min(1,(e.p-e.exitStart)/(e.maxP-e.exitStart)));let t=!n||on.has(e.railIdx);e.dim+=((t?1:i)-e.dim)*r.hover.lerp,e.material.opacity=e.dim}for(let e of dt){let t=an.has(e.idx),o=!n||t?1:i,s=n&&t?a:1;e.dim+=(o-e.dim)*r.hover.lerp,e.bright+=(s-e.bright)*r.hover.lerp,e.glow+=(+!!t-e.glow)*r.hover.lerp,e.mat.opacity=e.dim,e.mat.color.setScalar(e.bright),e.uHover.value=e.glow,e.glow>.001?e.mesh.layers.enable(1):e.mesh.layers.disable(1)}cn+=((n?i:1)-cn)*r.hover.lerp;for(let e of mt)e.opacity=cn;Qt(),Q.render(),nn()},hn=!1,gn=()=>{hn||p||j.failed||(hn=!0,dn=0,fn=0,en=requestAnimationFrame(mn))},_n=()=>{hn=!1,cancelAnimationFrame(en),Sn(-1),f?.(null)};Wt();let vn;m?(Qt(),Q.render(),nn()):(vn=new IntersectionObserver(e=>{e[0]?.isIntersecting?gn():_n()},{rootMargin:`200px`}),vn.observe(c));let yn=new b,bn=new z,xn=c.closest(`section`),Sn=e=>{if(e!==rn){rn=e,an=new Set(e>=0?i.find(t=>t.includes(e))??[e]:[]),on=new Set;for(let e of an){let t=n[e];if(t)for(let e of t)on.add(e);else sn.has(e)&&on.add(e)}}},Cn=new U,wn=(e,t)=>{let n=Cn.copy(e).project(k);return{x:(n.x*.5+.5)*t.width,y:(-n.y*.5+.5)*t.height}},Tn=(e,t)=>{let n=nt[e],r=n[0],i=1/0;for(let e of n){let n=(e.x-t.x)**2+(e.z-t.z)**2;n<i&&(i=n,r=e)}return Cn.set(r.x,.3,r.z)},En=e=>{if(!hn||j.failed)return;let t=A.domElement.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;if(n<0||r<0||n>t.width||r>t.height){Sn(-1),f?.(null);return}let i=document.elementFromPoint(e.clientX,e.clientY);if(xn&&(!i||!xn.contains(i))){Sn(-1),f?.(null);return}bn.set(n/t.width*2-1,-(r/t.height)*2+1),yn.setFromCamera(bn,k);let o=yn.intersectObjects(ut,!1),s;for(let e of o)a.includes(e.object.userData.railIdx)||(!s||e.object.renderOrder>s.object.renderOrder)&&(s=e);if(!s){Sn(-1),f?.(null);return}let c=s.object.userData.railIdx;Sn(c);let l=wn(Tn(c,s.point),t);f?.({idx:c,x:l.x,y:l.y})};return m||window.addEventListener(`pointermove`,En),()=>{p=!0,j.dispose(),vn?.disconnect(),window.removeEventListener(`pointermove`,En),cancelAnimationFrame(en),window.removeEventListener(`resize`,$t),Ut.dispose(),Ht.dispose(),Zt.dispose(),Xt.dispose(),zt.dispose(),Bt.dispose(),Vt.dispose(),qt.dispose(),Jt.dispose(),Yt.dispose();for(let e of vt)e.light.dispose();Q.dispose(),H.dispose(),V.dispose(),A.dispose(),A.forceContextLoss(),A.domElement.remove()}}export{Le as createRailsScene};
613//# sourceMappingURL=rails-scene-B7T_yXUP.js.map
614//# chunkId=01a0d3ec-edd3-72e2-b47a-d7c7de674bfc
615//# debugId=3f431e2f-c564-5369-aed2-819851c9a45e

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.