vendor: 9,351 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DNrMv7f2.js","./BXE0ir2_.js","./C4gYN_lE.js","./LogoTile.B-K2MDYy.css","./index.CW0f_zsU.css","./BBifSB1m.js","./VFwqfNyr.js","./tWjw8LgI.js","./Dqy6o86G.js","./legal-notice.Czn4C2L1.css","./CipGBpuf.js","./Bmypm-7x.js","./error-404.C3V-3Mc4.css","./C9iO1Kq3.js","./error-500.dGVH929u.css"])))=>i.map(i=>d[i]); 2var rz=Object.defineProperty;var P5=n=>{throw TypeError(n)};var sz=(n,e,t)=>e in n?rz(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var he=(n,e,t)=>sz(n,typeof e!="symbol"?e+"":e,t),R5=(n,e,t)=>e.has(n)||P5("Cannot "+t);var Ne=(n,e,t)=>(R5(n,e,"read from private field"),t?t.call(n):e.get(n)),sn=(n,e,t)=>e.has(n)?P5("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),tn=(n,e,t,i)=>(R5(n,e,"write to private field"),i?i.call(n,t):e.set(n,t),t);/** 3* @vue/shared v3.5.13 4* (c) 2018-present Yuxi (Evan) You and Vue contributors 5* @license MIT 6**//*! #__NO_SIDE_EFFECTS__ */function Hb(n){const e=Object.create(null);for(const t of n.split(","))e[t]=1;return t=>t in e}const Rn={},Hf=[],bo=()=>{},oz=()=>!1,yp=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&(n.charCodeAt(2)>122||n.charCodeAt(2)<97),Vb=n=>n.startsWith("onUpdate:"),Ji=Object.assign,Gb=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},az=Object.prototype.hasOwnProperty,mn=(n,e)=>az.call(n,e),Tt=Array.isArray,Vf=n=>_p(n)==="[object Map]",v6=n=>_p(n)==="[object Set]",lz=n=>_p(n)==="[object RegExp]",Et=n=>typeof n=="function",Kn=n=>typeof n=="string",Za=n=>typeof n=="symbol",zn=n=>n!==null&&typeof n=="object",Qb=n=>(zn(n)||Et(n))&&Et(n.then)&&Et(n.catch),y6=Object.prototype.toString,_p=n=>y6.call(n),cz=n=>_p(n).slice(8,-1),_6=n=>_p(n)==="[object Object]",Wb=n=>Kn(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,Gf=Hb(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),eA=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},uz=/-(\w)/g,ro=eA(n=>n.replace(uz,(e,t)=>t?t.toUpperCase():"")),fz=/\B([A-Z])/g,Ru=eA(n=>n.replace(fz,"-$1").toLowerCase()),tA=eA(n=>n.charAt(0).toUpperCase()+n.slice(1)),A2=eA(n=>n?`on${tA(n)}`:""),Vl=(n,e)=>!Object.is(n,e),Jh=(n,...e)=>{for(let t=0;t<n.length;t++)n[t](...e)},b6=(n,e,t,i=!1)=>{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,writable:i,value:t})},dz=n=>{const e=parseFloat(n);return isNaN(e)?n:e},x6=n=>{const e=Kn(n)?Number(n):NaN;return isNaN(e)?n:e};let B5;const nA=()=>B5||(B5=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function iA(n){if(Tt(n)){const e={};for(let t=0;t<n.length;t++){const i=n[t],r=Kn(i)?gz(i):iA(i);if(r)for(const s in r)e[s]=r[s]}return e}else if(Kn(n)||zn(n))return n}const hz=/;(?![^(]*\))/g,pz=/:([^]+)/,mz=/\/\*[^]*?\*\//g;function gz(n){const e={};return n.replace(mz,"").split(hz).forEach(t=>{if(t){const i=t.split(pz);i.length>1&&(e[i[0].trim()]=i[1].trim())}}),e}function bp(n){let e="";if(Kn(n))e=n;else if(Tt(n))for(let t=0;t<n.length;t++){const i=bp(n[t]);i&&(e+=i+" ")}else if(zn(n))for(const t in n)n[t]&&(e+=t+" ");return e.trim()}function Az(n){if(!n)return null;let{class:e,style:t}=n;return e&&!Kn(e)&&(n.class=bp(e)),t&&(n.style=iA(t)),n}const vz="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",yz=Hb(vz);function C6(n){return!!n||n===""}const w6=n=>!!(n&&n.__v_isRef===!0),Pf=n=>Kn(n)?n:n==null?"":Tt(n)||zn(n)&&(n.toString===y6||!Et(n.toString))?w6(n)?Pf(n.value):JSON.stringify(n,S6,2):String(n),S6=(n,e)=>w6(e)?S6(n,e.value):Vf(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[i,r],s)=>(t[v2(i,s)+" =>"]=r,t),{})}:v6(e)?{[`Set(${e.size})`]:[...e.values()].map(t=>v2(t))}:Za(e)?v2(e):zn(e)&&!Tt(e)&&!_6(e)?String(e):e,v2=(n,e="")=>{var t;return Za(n)?`Symbol(${(t=n.description)!=null?t:e})`:n};/** 7* @vue/reactivity v3.5.13 8* (c) 2018-present Yuxi (Evan) You and Vue contributors 9* @license MIT 10**/let Wr;class E6{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Wr,!e&&Wr&&(this.index=(Wr.scopes||(Wr.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){const t=Wr;try{return Wr=this,e()}finally{Wr=t}}}on(){Wr=this}off(){Wr=this.parent}stop(e){if(this._active){this._active=!1;let t,i;for(t=0,i=this.effects.length;t<i;t++)this.effects[t].stop();for(this.effects.length=0,t=0,i=this.cleanups.length;t<i;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,i=this.scopes.length;t<i;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function _z(n){return new E6(n)}function rA(){return Wr}function Fy(n,e=!1){Wr&&Wr.cleanups.push(n)}let kn;const y2=new WeakSet;class T6{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Wr&&Wr.active&&Wr.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,y2.has(this)&&(y2.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||I6(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,D5(this),P6(this);const e=kn,t=xo;kn=this,xo=!0;try{return this.fn()}finally{R6(this),kn=e,xo=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Xb(e);this.deps=this.depsTail=void 0,D5(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?y2.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Uy(this)&&this.run()}get dirty(){return Uy(this)}}let M6=0,e0,t0;function I6(n,e=!1){if(n.flags|=8,e){n.next=t0,t0=n;return}n.next=e0,e0=n}function jb(){M6++}function qb(){if(--M6>0)return;if(t0){let e=t0;for(t0=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let n;for(;e0;){let e=e0;for(e0=void 0;e;){const t=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(i){n||(n=i)}e=t}}if(n)throw n}function P6(n){for(let e=n.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function R6(n){let e,t=n.depsTail,i=t;for(;i;){const r=i.prevDep;i.version===-1?(i===t&&(t=r),Xb(i),bz(i)):e=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=r}n.deps=e,n.depsTail=t}function Uy(n){for(let e=n.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(B6(e.dep.computed)||e.dep.version!==e.version))return!0;return!!n._dirty}function B6(n){if(n.flags&4&&!(n.flags&16)||(n.flags&=-17,n.globalVersion===P0))return;n.globalVersion=P0;const e=n.dep;if(n.flags|=2,e.version>0&&!n.isSSR&&n.deps&&!Uy(n)){n.flags&=-3;return}const t=kn,i=xo;kn=n,xo=!0;try{P6(n);const r=n.fn(n._value);(e.version===0||Vl(r,n._value))&&(n._value=r,e.version++)}catch(r){throw e.version++,r}finally{kn=t,xo=i,R6(n),n.flags&=-3}}function Xb(n,e=!1){const{dep:t,prevSub:i,nextSub:r}=n;if(i&&(i.nextSub=r,n.prevSub=void 0),r&&(r.prevSub=i,n.nextSub=void 0),t.subs===n&&(t.subs=i,!i&&t.computed)){t.computed.flags&=-5;for(let s=t.computed.deps;s;s=s.nextDep)Xb(s,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function bz(n){const{prevDep:e,nextDep:t}=n;e&&(e.nextDep=t,n.prevDep=void 0),t&&(t.prevDep=e,n.nextDep=void 0)}let xo=!0;const D6=[];function ic(){D6.push(xo),xo=!1}function rc(){const n=D6.pop();xo=n===void 0?!0:n}function D5(n){const{cleanup:e}=n;if(n.cleanup=void 0,e){const t=kn;kn=void 0;try{e()}finally{kn=t}}}let P0=0;class xz{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Yb{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!kn||!xo||kn===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==kn)t=this.activeLink=new xz(kn,this),kn.deps?(t.prevDep=kn.depsTail,kn.depsTail.nextDep=t,kn.depsTail=t):kn.deps=kn.depsTail=t,L6(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const i=t.nextDep;i.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=i),t.prevDep=kn.depsTail,t.nextDep=void 0,kn.depsTail.nextDep=t,kn.depsTail=t,kn.deps===t&&(kn.deps=i)}return t}trigger(e){this.version++,P0++,this.notify(e)}notify(e){jb();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{qb()}}}function L6(n){if(n.dep.sc++,n.sub.flags&4){const e=n.dep.computed;if(e&&!n.dep.subs){e.flags|=20;for(let i=e.deps;i;i=i.nextDep)L6(i)}const t=n.dep.subs;t!==n&&(n.prevSub=t,t&&(t.nextSub=n)),n.dep.subs=n}}const ng=new WeakMap,uu=Symbol(""),Ny=Symbol(""),R0=Symbol("");function Cr(n,e,t){if(xo&&kn){let i=ng.get(n);i||ng.set(n,i=new Map);let r=i.get(t);r||(i.set(t,r=new Yb),r.map=i,r.key=t),r.track()}}function Ba(n,e,t,i,r,s){const o=ng.get(n);if(!o){P0++;return}const a=l=>{l&&l.trigger()};
vendor: 6,686 bytes, line 10
10if(jb(),e==="clear")o.forEach(a);else{const l=Tt(n),c=l&&Wb(t);if(l&&t==="length"){const u=Number(i);o.forEach((f,h)=>{(h==="length"||h===R0||!Za(h)&&h>=u)&&a(f)})}else switch((t!==void 0||o.has(void 0))&&a(o.get(t)),c&&a(o.get(R0)),e){case"add":l?c&&a(o.get("length")):(a(o.get(uu)),Vf(n)&&a(o.get(Ny)));break;case"delete":l||(a(o.get(uu)),Vf(n)&&a(o.get(Ny)));break;case"set":Vf(n)&&a(o.get(uu));break}}qb()}function Cz(n,e){const t=ng.get(n);return t&&t.get(e)}function Yu(n){const e=an(n);return e===n?e:(Cr(e,"iterate",R0),no(n)?e:e.map(wr))}function sA(n){return Cr(n=an(n),"iterate",R0),n}const wz={__proto__:null,[Symbol.iterator](){return _2(this,Symbol.iterator,wr)},concat(...n){return Yu(this).concat(...n.map(e=>Tt(e)?Yu(e):e))},entries(){return _2(this,"entries",n=>(n[1]=wr(n[1]),n))},every(n,e){return pa(this,"every",n,e,void 0,arguments)},filter(n,e){return pa(this,"filter",n,e,t=>t.map(wr),arguments)},find(n,e){return pa(this,"find",n,e,wr,arguments)},findIndex(n,e){return pa(this,"findIndex",n,e,void 0,arguments)},findLast(n,e){return pa(this,"findLast",n,e,wr,arguments)},findLastIndex(n,e){return pa(this,"findLastIndex",n,e,void 0,arguments)},forEach(n,e){return pa(this,"forEach",n,e,void 0,arguments)},includes(...n){return b2(this,"includes",n)},indexOf(...n){return b2(this,"indexOf",n)},join(n){return Yu(this).join(n)},lastIndexOf(...n){return b2(this,"lastIndexOf",n)},map(n,e){return pa(this,"map",n,e,void 0,arguments)},pop(){return dh(this,"pop")},push(...n){return dh(this,"push",n)},reduce(n,...e){return L5(this,"reduce",n,e)},reduceRight(n,...e){return L5(this,"reduceRight",n,e)},shift(){return dh(this,"shift")},some(n,e){return pa(this,"some",n,e,void 0,arguments)},splice(...n){return dh(this,"splice",n)},toReversed(){return Yu(this).toReversed()},toSorted(n){return Yu(this).toSorted(n)},toSpliced(...n){return Yu(this).toSpliced(...n)},unshift(...n){return dh(this,"unshift",n)},values(){return _2(this,"values",wr)}};function _2(n,e,t){const i=sA(n),r=i[e]();return i!==n&&!no(n)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.value&&(s.value=t(s.value)),s}),r}const Sz=Array.prototype;function pa(n,e,t,i,r,s){const o=sA(n),a=o!==n&&!no(n),l=o[e];if(l!==Sz[e]){const f=l.apply(n,s);return a?wr(f):f}let c=t;o!==n&&(a?c=function(f,h){return t.call(this,wr(f),h,n)}:t.length>2&&(c=function(f,h){return t.call(this,f,h,n)}));const u=l.call(o,c,i);return a&&r?r(u):u}function L5(n,e,t,i){const r=sA(n);let s=t;return r!==n&&(no(n)?t.length>3&&(s=function(o,a,l){return t.call(this,o,a,l,n)}):s=function(o,a,l){return t.call(this,o,wr(a),l,n)}),r[e](s,...i)}function b2(n,e,t){const i=an(n);Cr(i,"iterate",R0);const r=i[e](...t);return(r===-1||r===!1)&&Zb(t[0])?(t[0]=an(t[0]),i[e](...t)):r}function dh(n,e,t=[]){ic(),jb();const i=an(n)[e].apply(n,t);return qb(),rc(),i}const Ez=Hb("__proto__,__v_isRef,__isVue"),O6=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(Za));function Tz(n){Za(n)||(n=String(n));const e=an(this);return Cr(e,"has",n),e.hasOwnProperty(n)}class F6{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,i){if(t==="__v_skip")return e.__v_skip;const r=this._isReadonly,s=this._isShallow;if(t==="__v_isReactive")return!r;if(t==="__v_isReadonly")return r;if(t==="__v_isShallow")return s;if(t==="__v_raw")return i===(r?s?Uz:z6:s?k6:N6).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(i)?e:void 0;const o=Tt(e);if(!r){let l;if(o&&(l=wz[t]))return l;if(t==="hasOwnProperty")return Tz}const a=Reflect.get(e,t,Vi(e)?e:i);return(Za(t)?O6.has(t):Ez(t))||(r||Cr(e,"get",t),s)?a:Vi(a)?o&&Wb(t)?a:a.value:zn(a)?r?H6(a):so(a):a}}class U6 extends F6{constructor(e=!1){super(!1,e)}set(e,t,i,r){let s=e[t];if(!this._isShallow){const l=$l(s);if(!no(i)&&!$l(i)&&(s=an(s),i=an(i)),!Tt(e)&&Vi(s)&&!Vi(i))return l?!1:(s.value=i,!0)}const o=Tt(e)&&Wb(t)?Number(t)<e.length:mn(e,t),a=Reflect.set(e,t,i,Vi(e)?e:r);return e===an(r)&&(o?Vl(i,s)&&Ba(e,"set",t,i):Ba(e,"add",t,i)),a}deleteProperty(e,t){const i=mn(e,t);e[t];const r=Reflect.deleteProperty(e,t);return r&&i&&Ba(e,"delete",t,void 0),r}has(e,t){const i=Reflect.has(e,t);return(!Za(t)||!O6.has(t))&&Cr(e,"has",t),i}ownKeys(e){return Cr(e,"iterate",Tt(e)?"length":uu),Reflect.ownKeys(e)}}class Mz extends F6{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}}const Iz=new U6,Pz=new Mz,Rz=new U6(!0);const ky=n=>n,vm=n=>Reflect.getPrototypeOf(n);function Bz(n,e,t){return function(...i){const r=this.__v_raw,s=an(r),o=Vf(s),a=n==="entries"||n===Symbol.iterator&&o,l=n==="keys"&&o,c=r[n](...i),u=t?ky:e?zy:wr;return!e&&Cr(s,"iterate",l?Ny:uu),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}},[Symbol.iterator](){return this}}}}function ym(n){return function(...e){return n==="delete"?!1:n==="clear"?void 0:this}}function Dz(n,e){const t={get(r){const s=this.__v_raw,o=an(s),a=an(r);n||(Vl(r,a)&&Cr(o,"get",r),Cr(o,"get",a));const{has:l}=vm(o),c=e?ky:n?zy:wr;if(l.call(o,r))return c(s.get(r));if(l.call(o,a))return c(s.get(a));s!==o&&s.get(r)},get size(){const r=this.__v_raw;return!n&&Cr(an(r),"iterate",uu),Reflect.get(r,"size",r)},has(r){const s=this.__v_raw,o=an(s),a=an(r);return n||(Vl(r,a)&&Cr(o,"has",r),Cr(o,"has",a)),r===a?s.has(r):s.has(r)||s.has(a)},forEach(r,s){const o=this,a=o.__v_raw,l=an(a),c=e?ky:n?zy:wr;return!n&&Cr(l,"iterate",uu),a.forEach((u,f)=>r.call(s,c(u),c(f),o))}};return Ji(t,n?{add:ym("add"),set:ym("set"),delete:ym("delete"),clear:ym("clear")}:{add(r){!e&&!no(r)&&!$l(r)&&(r=an(r));const s=an(this);return vm(s).has.call(s,r)||(s.add(r),Ba(s,"add",r,r)),this},set(r,s){!e&&!no(s)&&!$l(s)&&(s=an(s));const o=an(this),{has:a,get:l}=vm(o);let c=a.call(o,r);c||(r=an(r),c=a.call(o,r));const u=l.call(o,r);return o.set(r,s),c?Vl(s,u)&&Ba(o,"set",r,s):Ba(o,"add",r,s),this},delete(r){const s=an(this),{has:o,get:a}=vm(s);let l=o.call(s,r);l||(r=an(r),l=o.call(s,r)),a&&a.call(s,r);const c=s.delete(r);return l&&Ba(s,"delete",r,void 0),c},clear(){const r=an(this),s=r.size!==0,o=r.clear();return s&&Ba(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=Bz(r,n,e)}),t}function $b(n,e){const t=Dz(n,e);return(i,r,s)=>r==="__v_isReactive"?!n:r==="__v_isReadonly"?n:r==="__v_raw"?i:Reflect.get(mn(t,r)&&r in i?t:i,r,s)}const Lz={get:$b(!1,!1)},Oz={get:$b(!1,!0)},Fz={get:$b(!0,!1)};const N6=new WeakMap,k6=new WeakMap,z6=new WeakMap,Uz=new WeakMap;function Nz(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function kz(n){return n.__v_skip||!Object.isExtensible(n)?0:Nz(cz(n))}
vendor: 29,106 bytes, lines 10-15
10function so(n){return $l(n)?n:Kb(n,!1,Iz,Lz,N6)}function Fa(n){return Kb(n,!1,Rz,Oz,k6)}function H6(n){return Kb(n,!0,Pz,Fz,z6)}function Kb(n,e,t,i,r){if(!zn(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const s=r.get(n);if(s)return s;const o=kz(n);if(o===0)return n;const a=new Proxy(n,o===2?i:t);return r.set(n,a),a}function fu(n){return $l(n)?fu(n.__v_raw):!!(n&&n.__v_isReactive)}function $l(n){return!!(n&&n.__v_isReadonly)}function no(n){return!!(n&&n.__v_isShallow)}function Zb(n){return n?!!n.__v_raw:!1}function an(n){const e=n&&n.__v_raw;return e?an(e):n}function si(n){return!mn(n,"__v_skip")&&Object.isExtensible(n)&&b6(n,"__v_skip",!0),n}const wr=n=>zn(n)?so(n):n,zy=n=>zn(n)?H6(n):n;function Vi(n){return n?n.__v_isRef===!0:!1}function gt(n){return V6(n,!1)}function ds(n){return V6(n,!0)}function V6(n,e){return Vi(n)?n:new zz(n,e)}class zz{constructor(e,t){this.dep=new Yb,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:an(e),this._value=t?e:wr(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,i=this.__v_isShallow||no(e)||$l(e);e=i?e:an(e),Vl(e,t)&&(this._rawValue=e,this._value=i?e:wr(e),this.dep.trigger())}}function qt(n){return Vi(n)?n.value:n}function Co(n){return Et(n)?n():qt(n)}const Hz={get:(n,e,t)=>e==="__v_raw"?n:qt(Reflect.get(n,e,t)),set:(n,e,t,i)=>{const r=n[e];return Vi(r)&&!Vi(t)?(r.value=t,!0):Reflect.set(n,e,t,i)}};function G6(n){return fu(n)?n:new Proxy(n,Hz)}class Vz{constructor(e,t,i){this._object=e,this._key=t,this._defaultValue=i,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return Cz(an(this._object),this._key)}}class Gz{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Jb(n,e,t){return Vi(n)?n:Et(n)?new Gz(n):zn(n)&&arguments.length>1?Qz(n,e,t):gt(n)}function Qz(n,e,t){const i=n[e];return Vi(i)?i:new Vz(n,e,t)}class Wz{constructor(e,t,i){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Yb(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=P0-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&kn!==this)return I6(this,!0),!0}get value(){const e=this.dep.track();return B6(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function jz(n,e,t=!1){let i,r;return Et(n)?i=n:(i=n.get,r=n.set),new Wz(i,r,t)}const _m={},ig=new WeakMap;let qc;function Hy(n,e=!1,t=qc){if(t){let i=ig.get(t);i||ig.set(t,i=[]),i.push(n)}}function qz(n,e,t=Rn){const{immediate:i,deep:r,once:s,scheduler:o,augmentJob:a,call:l}=t,c=_=>r?_:no(_)||r===!1||r===0?Da(_,1):Da(_);let u,f,h,p,m=!1,v=!1;if(Vi(n)?(f=()=>n.value,m=no(n)):fu(n)?(f=()=>c(n),m=!0):Tt(n)?(v=!0,m=n.some(_=>fu(_)||no(_)),f=()=>n.map(_=>{if(Vi(_))return _.value;if(fu(_))return c(_);if(Et(_))return l?l(_,2):_()})):Et(n)?e?f=l?()=>l(n,2):n:f=()=>{if(h){ic();try{h()}finally{rc()}}const _=qc;qc=u;try{return l?l(n,3,[p]):n(p)}finally{qc=_}}:f=bo,e&&r){const _=f,T=r===!0?1/0:r;f=()=>Da(_(),T)}const A=rA(),y=()=>{u.stop(),A&&A.active&&Gb(A.effects,u)};if(s&&e){const _=e;e=(...T)=>{_(...T),y()}}let x=v?new Array(n.length).fill(_m):_m;const b=_=>{if(!(!(u.flags&1)||!u.dirty&&!_))if(e){const T=u.run();if(r||m||(v?T.some((M,I)=>Vl(M,x[I])):Vl(T,x))){h&&h();const M=qc;qc=u;try{const I=[T,x===_m?void 0:v&&x[0]===_m?[]:x,p];l?l(e,3,I):e(...I),x=T}finally{qc=M}}}else u.run()};return a&&a(b),u=new T6(f),u.scheduler=o?()=>o(b,!1):b,p=_=>Hy(_,!1,u),h=u.onStop=()=>{const _=ig.get(u);if(_){if(l)l(_,4);else for(const T of _)T();ig.delete(u)}},e?i?b(!0):x=u.run():o?o(b.bind(null,!0),!0):u.run(),y.pause=u.pause.bind(u),y.resume=u.resume.bind(u),y.stop=y,y}function Da(n,e=1/0,t){if(e<=0||!zn(n)||n.__v_skip||(t=t||new Set,t.has(n)))return n;if(t.add(n),e--,Vi(n))Da(n.value,e,t);else if(Tt(n))for(let i=0;i<n.length;i++)Da(n[i],e,t);else if(v6(n)||Vf(n))n.forEach(i=>{Da(i,e,t)});else if(_6(n)){for(const i in n)Da(n[i],e,t);for(const i of Object.getOwnPropertySymbols(n))Object.prototype.propertyIsEnumerable.call(n,i)&&Da(n[i],e,t)}return n}/** 11* @vue/runtime-core v3.5.13 12* (c) 2018-present Yuxi (Evan) You and Vue contributors 13* @license MIT 14**/function xp(n,e,t,i){try{return i?n(...i):n()}catch(r){Ud(r,e,t)}}function To(n,e,t,i){if(Et(n)){const r=xp(n,e,t,i);return r&&Qb(r)&&r.catch(s=>{Ud(s,e,t)}),r}if(Tt(n)){const r=[];for(let s=0;s<n.length;s++)r.push(To(n[s],e,t,i));return r}}function Ud(n,e,t,i=!0){const r=e?e.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:o}=e&&e.appContext.config||Rn;if(e){let a=e.parent;const l=e.proxy,c=`https://vuejs.org/error-reference/#runtime-${t}`;for(;a;){const u=a.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](n,l,c)===!1)return}a=a.parent}if(s){ic(),xp(s,null,10,[n,l,c]),rc();return}}Xz(n,t,r,i,o)}function Xz(n,e,t,i=!0,r=!1){if(r)throw n;console.error(n)}const Xr=[];let ko=-1;const Qf=[];let _l=null,wf=0;const Q6=Promise.resolve();let rg=null;function Ja(n){const e=rg||Q6;return n?e.then(this?n.bind(this):n):e}function Yz(n){let e=ko+1,t=Xr.length;for(;e<t;){const i=e+t>>>1,r=Xr[i],s=B0(r);s<n||s===n&&r.flags&2?e=i+1:t=i}return e}function ex(n){if(!(n.flags&1)){const e=B0(n),t=Xr[Xr.length-1];!t||!(n.flags&2)&&e>=B0(t)?Xr.push(n):Xr.splice(Yz(e),0,n),n.flags|=1,W6()}}function W6(){rg||(rg=Q6.then(j6))}function sg(n){Tt(n)?Qf.push(...n):_l&&n.id===-1?_l.splice(wf+1,0,n):n.flags&1||(Qf.push(n),n.flags|=1),W6()}function O5(n,e,t=ko+1){for(;t<Xr.length;t++){const i=Xr[t];if(i&&i.flags&2){if(n&&i.id!==n.uid)continue;Xr.splice(t,1),t--,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function og(n){if(Qf.length){const e=[...new Set(Qf)].sort((t,i)=>B0(t)-B0(i));if(Qf.length=0,_l){_l.push(...e);return}for(_l=e,wf=0;wf<_l.length;wf++){const t=_l[wf];t.flags&4&&(t.flags&=-2),t.flags&8||t(),t.flags&=-2}_l=null,wf=0}}const B0=n=>n.id==null?n.flags&2?-1:1/0:n.id;function j6(n){try{for(ko=0;ko<Xr.length;ko++){const e=Xr[ko];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),xp(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;ko<Xr.length;ko++){const e=Xr[ko];e&&(e.flags&=-2)}ko=-1,Xr.length=0,og(),rg=null,(Xr.length||Qf.length)&&j6()}}let Hi=null,q6=null;function ag(n){const e=Hi;return Hi=n,q6=n&&n.type.__scopeId||null,e}function Ua(n,e=Hi,t){if(!e||n._n)return n;const i=(...r)=>{i._d&&$5(-1);const s=ag(e);let o;try{o=n(...r)}finally{ag(s),i._d&&$5(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function $z(n,e){if(Hi===null)return n;const t=uA(Hi),i=n.dirs||(n.dirs=[]);for(let r=0;r<e.length;r++){let[s,o,a,l=Rn]=e[r];s&&(Et(s)&&(s={mounted:s,updated:s}),s.deep&&Da(o),i.push({dir:s,instance:t,value:o,oldValue:void 0,arg:a,modifiers:l}))}return n}function Ho(n,e,t,i){const r=n.dirs,s=e&&e.dirs;for(let o=0;o<r.length;o++){const a=r[o];s&&(a.oldValue=s[o].value);let l=a.dir[i];l&&(ic(),To(l,t,8,[n.el,a,n,e]),rc())}}const Kz=Symbol("_vte"),X6=n=>n.__isTeleport,bl=Symbol("_leaveCb"),bm=Symbol("_enterCb");function Zz(){const n={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return zs(()=>{n.isMounted=!0}),wp(()=>{n.isUnmounting=!0}),n}const Qs=[Function,Array],Y6={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Qs,onEnter:Qs,onAfterEnter:Qs,onEnterCancelled:Qs,onBeforeLeave:Qs,onLeave:Qs,onAfterLeave:Qs,onLeaveCancelled:Qs,onBeforeAppear:Qs,onAppear:Qs,onAfterAppear:Qs,onAppearCancelled:Qs},$6=n=>{const e=n.subTree;return e.component?$6(e.component):e},Jz={name:"BaseTransition",props:Y6,setup(n,{slots:e}){const t=Do(),i=Zz();return()=>{const r=e.default&&J6(e.default(),!0);if(!r||!r.length)return;const s=K6(r),o=an(n),{mode:a}=o;if(i.isLeaving)return x2(s);const l=F5(s);if(!l)return x2(s);let c=Vy(l,o,i,t,f=>c=f);l.type!==ki&&fd(l,c);let u=t.subTree&&F5(t.subTree);if(u&&u.type!==ki&&!yo(l,u)&&$6(t).type!==ki){let f=Vy(u,o,i,t);if(fd(u,f),a==="out-in"&&l.type!==ki)return i.isLeaving=!0,f.afterLeave=()=>{i.isLeaving=!1,t.job.flags&8||t.update(),delete f.afterLeave,u=void 0},x2(s);a==="in-out"&&l.type!==ki?f.delayLeave=(h,p,m)=>{const v=Z6(i,u);v[String(u.key)]=u,h[bl]=()=>{p(),h[bl]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{m(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return s}}};function K6(n){let e=n[0];if(n.length>1){for(const t of n)if(t.type!==ki){e=t;break}}return e}const eH=Jz;function Z6(n,e){const{leavingVNodes:t}=n;let i=t.get(e.type);return i||(i=Object.create(null),t.set(e.type,i)),i}function Vy(n,e,t,i,r){const{appear:s,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:m,onLeaveCancelled:v,onBeforeAppear:A,onAppear:y,onAfterAppear:x,onAppearCancelled:b}=e,_=String(n.key),T=Z6(t,n),M=(w,E)=>{w&&To(w,i,9,E)},I=(w,E)=>{const F=E[1];M(w,E),Tt(w)?w.every(L=>L.length<=1)&&F():w.length<=1&&F()},R={mode:o,persisted:a,beforeEnter(w){let E=l;if(!t.isMounted)if(s)E=A||l;else return;w[bl]&&w[bl](!0);const F=T[_];F&&yo(n,F)&&F.el[bl]&&F.el[bl](),M(E,[w])},enter(w){let E=c,F=u,L=f;if(!t.isMounted)if(s)E=y||c,F=x||u,L=b||f;else return;let z=!1;const V=w[bm]=j=>{z||(z=!0,j?M(L,[w]):M(F,[w]),R.delayedLeave&&R.delayedLeave(),w[bm]=void 0)};E?I(E,[w,V]):V()},leave(w,E){const F=String(n.key);if(w[bm]&&w[bm](!0),t.isUnmounting)return E();M(h,[w]);let L=!1;const z=w[bl]=V=>{L||(L=!0,E(),V?M(v,[w]):M(m,[w]),w[bl]=void 0,T[F]===n&&delete T[F])};T[F]=n,p?I(p,[w,z]):z()},clone(w){const E=Vy(w,e,t,i,r);return r&&r(E),E}};return R}function x2(n){if(Cp(n))return n=ja(n),n.children=null,n}function F5(n){if(!Cp(n))return X6(n.type)&&n.children?K6(n.children):n;const{shapeFlag:e,children:t}=n;if(t){if(e&16)return t[0];if(e&32&&Et(t.default))return t.default()}}function fd(n,e){n.shapeFlag&6&&n.component?(n.transition=e,fd(n.component.subTree,e)):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function J6(n,e=!1,t){let i=[],r=0;for(let s=0;s<n.length;s++){let o=n[s];const a=t==null?o.key:String(t)+String(o.key!=null?o.key:s);o.type===Ii?(o.patchFlag&128&&r++,i=i.concat(J6(o.children,e,a))):(e||o.type!==ki)&&i.push(a!=null?ja(o,{key:a}):o)}if(r>1)for(let s=0;s<i.length;s++)i[s].patchFlag=-2;return i}/*! #__NO_SIDE_EFFECTS__ */function vs(n,e){return Et(n)?Ji({name:n.name},e,{setup:n}):n}function tH(){const n=Do();return n?(n.appContext.config.idPrefix||"v")+"-"+n.ids[0]+n.ids[1]++:""}function tx(n){n.ids=[n.ids[0]+n.ids[2]+++"-",0,0]}function D0(n,e,t,i,r=!1){if(Tt(n)){n.forEach((m,v)=>D0(m,e&&(Tt(e)?e[v]:e),t,i,r));return}if(Gl(i)&&!r){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&D0(n,e,t,i.component.subTree);return}const s=i.shapeFlag&4?uA(i.component):i.el,o=r?null:s,{i:a,r:l}=n,c=e&&e.r,u=a.refs===Rn?a.refs={}:a.refs,f=a.setupState,h=an(f),p=f===Rn?()=>!1:m=>mn(h,m);if(c!=null&&c!==l&&(Kn(c)?(u[c]=null,p(c)&&(f[c]=null)):Vi(c)&&(c.value=null)),Et(l))xp(l,a,12,[o,u]);else{const m=Kn(l),v=Vi(l);if(m||v){const A=()=>{if(n.f){const y=m?p(l)?f[l]:u[l]:l.value;r?Tt(y)&&Gb(y,s):Tt(y)?y.includes(s)||y.push(s):m?(u[l]=[s],p(l)&&(f[l]=u[l])):(l.value=[s],n.k&&(u[n.k]=l.value))}else m?(u[l]=o,p(l)&&(f[l]=o)):v&&(l.value=o,n.k&&(u[n.k]=o))};o?(A.id=-1,cr(A,t)):A()}}}let U5=!1;const $u=()=>{U5||(console.error("Hydration completed but contains mismatches."),U5=!0)},nH=n=>n.namespaceURI.includes("svg")&&n.tagName!=="foreignObject",iH=n=>n.namespaceURI.includes("MathML"),xm=n=>{if(n.nodeType===1){if(nH(n))return"svg";if(iH(n))return"mathml"}},Rf=n=>n.nodeType===8;function rH(n){const{mt:e,p:t,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:a,insert:l,createComment:c}}=n,u=(b,_)=>{if(!_.hasChildNodes()){t(null,b,_),og(),_._vnode=b;return}f(_.firstChild,b,null,null,null),og(),_._vnode=b},f=(b,_,T,M,I,R=!1)=>{R=R||!!_.dynamicChildren;const w=Rf(b)&&b.data==="[",E=()=>v(b,_,T,M,I,w),{type:F,ref:L,shapeFlag:z,patchFlag:V}=_;let j=b.nodeType;_.el=b,V===-2&&(R=!1,_.dynamicChildren=null);let N=null;switch(F){case hu:j!==3?_.children===""?(l(_.el=r(""),o(b),b),N=b):N=E():(b.data!==_.children&&($u(),b.data=_.children),N=s(b));break;case ki:x(b)?(N=s(b),y(_.el=b.content.firstChild,b,T)):j!==8||w?N=E():N=s(b);break;case jf:if(w&&(b=s(b),j=b.nodeType),j===1||j===3){N=b;const Q=!_.children.length;for(let W=0;W<_.staticCount;W++)Q&&(_.children+=N.nodeType===1?N.outerHTML:N.data),W===_.staticCount-1&&(_.anchor=N),N=s(N);return w?s(N):N}else E();break;case Ii:w?N=m(b,_,T,M,I,R):N=E();break;default:if(z&1)(j!==1||_.type.toLowerCase()!==b.tagName.toLowerCase())&&!x(b)?N=E():N=h(b,_,T,M,I,R);else if(z&6){_.slotScopeIds=I;const Q=o(b);if(w?N=A(b):Rf(b)&&b.data==="teleport start"?N=A(b,b.data,"teleport end"):N=s(b),e(_,Q,null,T,M,xm(Q),R),Gl(_)&&!_.type.__asyncResolved){let W;w?(W=dn(Ii),W.anchor=N?N.previousSibling:Q.lastChild):W=b.nodeType===3?ox(""):dn("div"),W.el=b,_.component.subTree=W}}else z&64?j!==8?N=E():N=_.type.hydrate(b,_,T,M,I,R,n,p):z&128&&(N=_.type.hydrate(b,_,T,M,xm(o(b)),I,R,n,f))}return L!=null&&D0(L,null,M,_),N},h=(b,_,T,M,I,R)=>{R=R||!!_.dynamicChildren;const{type:w,props:E,patchFlag:F,shapeFlag:L,dirs:z,transition:V}=_,j=w==="input"||w==="option";if(j||F!==-1){z&&Ho(_,null,T,"created");let N=!1;if(x(b)){N=E7(null,V)&&T&&T.vnode.props&&T.vnode.props.appear;const W=b.content.firstChild;N&&V.beforeEnter(W),y(W,b,T),_.el=b=W}if(L&16&&!(E&&(E.innerHTML||E.textContent))){let W=p(b.firstChild,_,b,T,M,I,R);for(;W;){Cm(b,1)||$u();const ee=W;W=W.nextSibling,a(ee)}}else if(L&8){let W=_.children;W[0]===` 15`&&(b.tagName==="PRE"||b.tagName==="TEXTAREA")&&(W=W.slice(1)),b.textContent!==W&&(Cm(b,0)||$u(),b.textContent=_.children)}if(E){if(j||!R||F&48){const W=b.tagName.includes("-");for(const ee in E)(j&&(ee.endsWith("value")||ee==="indeterminate")||yp(ee)&&!Gf(ee)||ee[0]==="."||W)&&i(b,ee,null,E[ee],void 0,T)}else if(E.onClick)i(b,"onClick",null,E.onClick,void 0,T);else if(F&4&&fu(E.style))for(const W in E.style)E.style[W]}let Q;(Q=E&&E.onVnodeBeforeMount)&&as(Q,T,_),z&&Ho(_,null,T,"beforeMount"),((Q=E&&E.onVnodeMounted)||z||N)&&D7(()=>{Q&&as(Q,T,_),N&&V.enter(b),z&&Ho(_,null,T,"mounted")},M)}return b.nextSibling},p=(b,_,T,M,I,R,w)=>{w=w||!!_.dynamicChildren;const E=_.children,F=E.length;for(let L=0;L<F;L++){const z=w?E[L]:E[L]=Ps(E[L]),V=z.type===hu;b?(V&&!w&&L+1<F&&Ps(E[L+1]).type===hu&&(l(r(b.data.slice(z.children.length)),T,s(b)),b.data=z.children),b=f(b,z,M,I,R,w)):V&&!z.children?l(z.el=r(""),T):(Cm(T,1)||$u(),t(null,z,T,null,M,I,xm(T),R))}return b},m=(b,_,T,M,I,R)=>{const{slotScopeIds:w}=_;w&&(I=I?I.concat(w):w);const E=o(b),F=p(s(b),_,E,T,M,I,R);return F&&Rf(F)&&F.data==="]"?s(_.anchor=F):($u(),l(_.anchor=c("]"),E,F),F)},v=(b,_,T,M,I,R)=>{if(Cm(b.parentElement,1)||$u(),_.el=null,R){const F=A(b);for(;;){const L=s(b);if(L&&L!==F)a(L);else break}}const w=s(b),E=o(b);return a(b),t(null,_,E,w,T,M,xm(E),I),T&&(T.vnode.el=_.el,cA(T,_.el)),w},A=(b,_="[",T="]")=>{let M=0;for(;b;)if(b=s(b),b&&Rf(b)&&(b.data===_&&M++,b.data===T)){if(M===0)return s(b);M--}return b},y=(b,_,T)=>{const M=_.parentNode;M&&M.replaceChild(b,_);let I=T;for(;I;)I.vnode.el===_&&(I.vnode.el=I.subTree.el=b),I=I.parent},x=b=>b.nodeType===1&&b.tagName==="TEMPLATE";return[u,f]}const N5="data-allow-mismatch",sH={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function Cm(n,e){if(e===0||e===1)for(;n&&!n.hasAttribute(N5);)n=n.parentElement;const t=n&&n.getAttribute(N5);if(t==null)return!1;if(t==="")return!0;{const i=t.split(",");return e===0&&i.includes("children")?!0:t.split(",").includes(sH[e])}}nA().requestIdleCallback;nA().cancelIdleCallback;function oH(n,e){if(Rf(n)&&n.data==="["){let t=1,i=n.nextSibling;for(;i;){if(i.nodeType===1){if(e(i)===!1)break}else if(Rf(i))if(i.data==="]"){if(--t===0)break}else i.data==="["&&t++;i=i.nextSibling}}else e(n)}const Gl=n=>!!n.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function k5(n){Et(n)&&(n={loader:n});const{loader:e,loadingComponent:t,errorComponent:i,delay:r=200,hydrate:s,timeout:o,suspensible:a=!0,onError:l}=n;let c=null,u,f=0;const h=()=>(f++,c=null,p()),p=()=>{let m;return c||(m=c=e().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((A,y)=>{l(v,()=>A(h()),()=>y(v),f+1)});throw v}).then(v=>m!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return vs({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(m,v,A){const y=s?()=>{const x=s(A,b=>oH(m,b));x&&(v.bum||(v.bum=[])).push(x)}:A;u?y():p().then(()=>!v.isUnmounted&&y())},get __asyncResolved(){return u},setup(){const m=zi;if(tx(m),u)return()=>C2(u,m);const v=b=>{c=null,Ud(b,m,13,!i)};if(a&&m.suspense||hd)return p().then(b=>()=>C2(b,m)).catch(b=>(v(b),()=>i?dn(i,{error:b}):null));const A=gt(!1),y=gt(),x=gt(!!r);return r&&setTimeout(()=>{x.value=!1},r),o!=null&&setTimeout(()=>{if(!A.value&&!y.value){const b=new Error(`Async component timed out after ${o}ms.`);v(b),y.value=b}},o),p().then(()=>{A.value=!0,m.parent&&Cp(m.parent.vnode)&&m.parent.update()}).catch(b=>{v(b),y.value=b}),()=>{if(A.value&&u)return C2(u,m);if(y.value&&i)return dn(i,{error:y.value});if(t&&!x.value)return dn(t)}}})}function C2(n,e){const{ref:t,props:i,children:r,ce:s}=e.vnode,o=dn(n,i,r);return o.ref=t,o.ce=s,delete e.vnode.ce,o}const Cp=n=>n.type.__isKeepAlive,aH={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:e}){const t=Do(),i=t.ctx;if(!i.renderer)return()=>{const x=e.default&&e.default();return x&&x.length===1?x[0]:x};const r=new Map,s=new Set;let o=null;const a=t.suspense,{renderer:{p:l,m:c,um:u,o:{createElement:f}}}=i,h=f("div");i.activate=(x,b,_,T,M)=>{const I=x.component;c(x,b,_,0,a),l(I.vnode,x,b,_,I,a,T,x.slotScopeIds,M),cr(()=>{I.isDeactivated=!1,I.a&&Jh(I.a);const R=x.props&&x.props.onVnodeMounted;R&&as(R,I.parent,x)},a)},i.deactivate=x=>{const b=x.component;cg(b.m),cg(b.a),c(x,h,null,1,a),cr(()=>{b.da&&Jh(b.da);const _=x.props&&x.props.onVnodeUnmounted;_&&as(_,b.parent,x),b.isDeactivated=!0},a)};function p(x){w2(x),u(x,t,a,!0)}function m(x){r.forEach((b,_)=>{const T=Ky(b.type);T&&!x(T)&&v(_)})}function v(x){const b=r.get(x);b&&(!o||!yo(b,o))?p(b):o&&w2(o),r.delete(x),s.delete(x)}ai(()=>[n.include,n.exclude],([x,b])=>{x&&m(_=>Nh(x,_)),b&&m(_=>!Nh(b,_))},{flush:"post",deep:!0});let A=null;const y=()=>{A!=null&&(ug(t.subTree.type)?cr(()=>{r.set(A,wm(t.subTree))},t.subTree.suspense):r.set(A,wm(t.subTree)))};return zs(y),r7(y),wp(()=>{r.forEach(x=>{const{subTree:b,suspense:_}=t,T=wm(b);if(x.type===T.type&&x.key===T.key){w2(T);const M=T.component.da;M&&cr(M,_);return}p(x)})}),()=>{if(A=null,!e.default)return o=null;const x=e.default(),b=x[0];if(x.length>1)return o=null,x;if(!Su(b)||!(b.shapeFlag&4)&&!(b.shapeFlag&128))return o=null,b;let _=wm(b);if(_.type===ki)return o=null,_;const T=_.type,M=Ky(Gl(_)?_.type.__asyncResolved||{}:T),{include:I,exclude:R,max:w}=n;if(I&&(!M||!Nh(I,M))||R&&M&&Nh(R,M))return _.shapeFlag&=-257,o=_,b;const E=_.key==null?T:_.key,F=r.get(E);return _.el&&(_=ja(_),b.shapeFlag&128&&(b.ssContent=_)),A=E,F?(_.el=F.el,_.component=F.component,_.transition&&fd(_,_.transition),_.shapeFlag|=512,s.delete(E),s.add(E)):(s.add(E),w&&s.size>parseInt(w,10)&&v(s.values().next().value)),_.shapeFlag|=256,o=_,ug(b.type)?b:_}}},lH=aH;function Nh(n,e){return Tt(n)?n.some(t=>Nh(t,e)):Kn(n)?n.split(",").includes(e):lz(n)?(n.lastIndex=0,n.test(e)):!1}function e7(n,e){n7(n,"a",e)}function t7(n,e){n7(n,"da",e)}function n7(n,e,t=zi){const i=n.__wdc||(n.__wdc=()=>{let r=t;for(;r;){if(r.isDeactivated)return;r=r.parent}return n()});if(oA(e,i,t),t){let r=t.parent;for(;r&&r.parent;)Cp(r.parent.vnode)&&cH(i,e,t,r),r=r.parent}}function cH(n,e,t,i){const r=oA(e,n,i,!0);tl(()=>{Gb(i[e],r)},t)}function w2(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function wm(n){return n.shapeFlag&128?n.ssContent:n}function oA(n,e,t=zi,i=!1){if(t){const r=t[n]||(t[n]=[]),s=e.__weh||(e.__weh=(...o)=>{ic();const a=Eu(t),l=To(e,t,n,o);return a(),rc(),l});return i?r.unshift(s):r.push(s),s}}const el=n=>(e,t=zi)=>{(!hd||n==="sp")&&oA(n,(...i)=>e(...i),t)},nx=el("bm"),zs=el("m"),i7=el("bu"),r7=el("u"),wp=el("bum"),tl=el("um"),uH=el("sp"),fH=el("rtg"),dH=el("rtc");function s7(n,e=zi){oA("ec",n,e)}const o7="components";function z5(n,e){return c7(o7,n,!0,e)||n}const a7=Symbol.for("v-ndc");function l7(n){return Kn(n)?c7(o7,n,!1)||n:n||a7}function c7(n,e,t=!0,i=!1){const r=Hi||zi;if(r){const s=r.type;{const a=Ky(s,!1);if(a&&(a===e||a===ro(e)||a===tA(ro(e))))return s}const o=H5(r[n]||s[n],e)||H5(r.appContext[n],e);return!o&&i?s:o}}function H5(n,e){return n&&(n[e]||n[ro(e)]||n[tA(ro(e))])}function V5(n,e,t,i){let r;const s=t,o=Tt(n);if(o||Kn(n)){const a=o&&fu(n);let l=!1;a&&(l=!no(n),n=sA(n)),r=new Array(n.length);for(let c=0,u=n.length;c<u;c++)r[c]=e(l?wr(n[c]):n[c],c,void 0,s)}else if(typeof n=="number"){r=new Array(n);for(let a=0;a<n;a++)r[a]=e(a+1,a,void 0,s)}else if(zn(n))if(n[Symbol.iterator])r=Array.from(n,(a,l)=>e(a,l,void 0,s));else{const a=Object.keys(n);r=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];r[l]=e(n[u],u,l,s)}}else r=[];return r}function ix(n,e,t={},i,r){if(Hi.ce||Hi.parent&&Gl(Hi.parent)&&Hi.parent.ce)return di(),Ks(Ii,null,[dn("slot",t,i)],64);let s=n[e];s&&s._c&&(s._d=!1),di();const o=s&&u7(s(t)),a=t.key||o&&o.key,l=Ks(Ii,{key:(a&&!Za(a)?a:`_${e}`)+""},o||[],o&&n._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function u7(n){return n.some(e=>Su(e)?!(e.type===ki||e.type===Ii&&!u7(e.children)):!0)?n:null}const Gy=n=>n?N7(n)?uA(n):Gy(n.parent):null,n0=Ji(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Gy(n.parent),$root:n=>Gy(n.root),$host:n=>n.ce,$emit:n=>n.emit,$options:n=>h7(n),$forceUpdate:n=>n.f||(n.f=()=>{ex(n.update)}),$nextTick:n=>n.n||(n.n=Ja.bind(n.proxy)),$watch:n=>DH.bind(n)}),S2=(n,e)=>n!==Rn&&!n.__isScriptSetup&&mn(n,e),hH={get({_:n},e){if(e==="__v_skip")return!0;const{ctx:t,setupState:i,data:r,props:s,accessCache:o,type:a,appContext:l}=n;let c;if(e[0]!=="$"){const p=o[e];if(p!==void 0)switch(p){case 1:return i[e];case 2:return r[e];case 4:return t[e];case 3:return s[e]}else{if(S2(i,e))return o[e]=1,i[e];if(r!==Rn&&mn(r,e))return o[e]=2,r[e];if((c=n.propsOptions[0])&&mn(c,e))return o[e]=3,s[e];if(t!==Rn&&mn(t,e))return o[e]=4,t[e];Qy&&(o[e]=0)}}const u=n0[e];let f,h;if(u)return e==="$attrs"&&Cr(n.attrs,"get",""),u(n);if((f=a.__cssModules)&&(f=f[e]))return f;if(t!==Rn&&mn(t,e))return o[e]=4,t[e];if(h=l.config.globalProperties,mn(h,e))return h[e]},set({_:n},e,t){const{data:i,setupState:r,ctx:s}=n;return S2(r,e)?(r[e]=t,!0):i!==Rn&&mn(i,e)?(i[e]=t,!0):mn(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(s[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:i,appContext:r,propsOptions:s}},o){let a;return!!t[o]||n!==Rn&&mn(n,o)||S2(e,o)||(a=s[0])&&mn(a,o)||mn(i,o)||mn(n0,o)||mn(r.config.globalProperties,o)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:mn(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function ufe(){return pH().attrs}function pH(){const n=Do();return n.setupContext||(n.setupContext=z7(n))}function G5(n){return Tt(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}function f7(n){const e=Do();let t=n();return Yy(),Qb(t)&&(t=t.catch(i=>{throw Eu(e),i})),[t,()=>Eu(e)]}let Qy=!0;function mH(n){const e=h7(n),t=n.proxy,i=n.ctx;Qy=!1,e.beforeCreate&&Q5(e.beforeCreate,n,"bc");const{data:r,computed:s,methods:o,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:p,updated:m,activated:v,deactivated:A,beforeDestroy:y,beforeUnmount:x,destroyed:b,unmounted:_,render:T,renderTracked:M,renderTriggered:I,errorCaptured:R,serverPrefetch:w,expose:E,inheritAttrs:F,components:L,directives:z,filters:V}=e;if(c&&gH(c,i,null),o)for(const Q in o){const W=o[Q];Et(W)&&(i[Q]=W.bind(t))}if(r){const Q=r.call(t,t);zn(Q)&&(n.data=so(Q))}if(Qy=!0,s)for(const Q in s){const W=s[Q],ee=Et(W)?W.bind(t,t):Et(W.get)?W.get.bind(t,t):bo,H=!Et(W)&&Et(W.set)?W.set.bind(t):bo,ye=ii({get:ee,set:H});Object.defineProperty(i,Q,{enumerable:!0,configurable:!0,get:()=>ye.value,set:Ie=>ye.value=Ie})}if(a)for(const Q in a)d7(a[Q],i,t,Q);if(l){const Q=Et(l)?l.call(t):l;Reflect.ownKeys(Q).forEach(W=>{Va(W,Q[W])})}u&&Q5(u,n,"c");function N(Q,W){Tt(W)?W.forEach(ee=>Q(ee.bind(t))):W&&Q(W.bind(t))}if(N(nx,f),N(zs,h),N(i7,p),N(r7,m),N(e7,v),N(t7,A),N(s7,R),N(dH,M),N(fH,I),N(wp,x),N(tl,_),N(uH,w),Tt(E))if(E.length){const Q=n.exposed||(n.exposed={});E.forEach(W=>{Object.defineProperty(Q,W,{get:()=>t[W],set:ee=>t[W]=ee})})}else n.exposed||(n.exposed={});T&&n.render===bo&&(n.render=T),F!=null&&(n.inheritAttrs=F),L&&(n.components=L),z&&(n.directives=z),w&&tx(n)}function gH(n,e,t=bo){Tt(n)&&(n=Wy(n));for(const i in n){const r=n[i];let s;zn(r)?"default"in r?s=es(r.from||i,r.default,!0):s=es(r.from||i):s=es(r),Vi(s)?Object.defineProperty(e,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:o=>s.value=o}):e[i]=s}}function Q5(n,e,t){To(Tt(n)?n.map(i=>i.bind(e.proxy)):n.bind(e.proxy),e,t)}function d7(n,e,t,i){let r=i.includes(".")?I7(t,i):()=>t[i];if(Kn(n)){const s=e[n];Et(s)&&ai(r,s)}else if(Et(n))ai(r,n.bind(t));else if(zn(n))if(Tt(n))n.forEach(s=>d7(s,e,t,i));else{const s=Et(n.handler)?n.handler.bind(t):e[n.handler];Et(s)&&ai(r,s,n)}}function h7(n){const e=n.type,{mixins:t,extends:i}=e,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=n.appContext,a=s.get(e);let l;return a?l=a:!r.length&&!t&&!i?l=e:(l={},r.length&&r.forEach(c=>lg(l,c,o,!0)),lg(l,e,o)),zn(e)&&s.set(e,l),l}function lg(n,e,t,i=!1){const{mixins:r,extends:s}=e;s&&lg(n,s,t,!0),r&&r.forEach(o=>lg(n,o,t,!0));for(const o in e)if(!(i&&o==="expose")){const a=AH[o]||t&&t[o];n[o]=a?a(n[o],e[o]):e[o]}return n}const AH={data:W5,props:j5,emits:j5,methods:kh,computed:kh,beforeCreate:zr,created:zr,beforeMount:zr,mounted:zr,beforeUpdate:zr,updated:zr,beforeDestroy:zr,beforeUnmount:zr,destroyed:zr,unmounted:zr,activated:zr,deactivated:zr,errorCaptured:zr,serverPrefetch:zr,components:kh,directives:kh,watch:yH,provide:W5,inject:vH};function W5(n,e){return e?n?function(){return Ji(Et(n)?n.call(this,this):n,Et(e)?e.call(this,this):e)}:e:n}function vH(n,e){return kh(Wy(n),Wy(e))}function Wy(n){if(Tt(n)){const e={};for(let t=0;t<n.length;t++)e[n[t]]=n[t];return e}return n}function zr(n,e){return n?[...new Set([].concat(n,e))]:e}function kh(n,e){return n?Ji(Object.create(null),n,e):e}function j5(n,e){return n?Tt(n)&&Tt(e)?[...new Set([...n,...e])]:Ji(Object.create(null),G5(n),G5(e??{})):e}function yH(n,e){if(!n)return e;if(!e)return n;const t=Ji(Object.create(null),n);for(const i in e)t[i]=zr(n[i],e[i]);return t}function p7(){return{app:null,config:{isNativeTag:oz,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let _H=0;function bH(n,e){return function(i,r=null){Et(i)||(i=Ji({},i)),r!=null&&!zn(r)&&(r=null);const s=p7(),o=new WeakSet,a=[];let l=!1;const c=s.app={_uid:_H++,_component:i,_props:r,_container:null,_context:s,_instance:null,version:H7,get config(){return s.config},set config(u){},use(u,...f){return o.has(u)||(u&&Et(u.install)?(o.add(u),u.install(c,...f)):Et(u)&&(o.add(u),u(c,...f))),c},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),c},component(u,f){return f?(s.components[u]=f,c):s.components[u]},directive(u,f){return f?(s.directives[u]=f,c):s.directives[u]},mount(u,f,h){if(!l){const p=c._ceVNode||dn(i,r);return p.appContext=s,h===!0?h="svg":h===!1&&(h=void 0),f&&e?e(p,u):n(p,u,h),l=!0,c._container=u,u.__vue_app__=c,uA(p.component)}},onUnmount(u){a.push(u)},unmount(){l&&(To(a,c._instance,16),n(null,c._container),delete c._container.__vue_app__)},provide(u,f){return s.provides[u]=f,c},runWithContext(u){const f=du;du=c;try{return u()}finally{du=f}}};return c}}let du=null;function Va(n,e){if(zi){let t=zi.provides;const i=zi.parent&&zi.parent.provides;i===t&&(t=zi.provides=Object.create(i)),t[n]=e}}function es(n,e,t=!1){const i=zi||Hi;if(i||du){const r=du?du._context.provides:i?i.parent==null?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(r&&n in r)return r[n];if(arguments.length>1)return t&&Et(e)?e.call(i&&i.proxy):e}}function m7(){return!!(zi||Hi||du)}const g7={},A7=()=>Object.create(g7),v7=n=>Object.getPrototypeOf(n)===g7;function xH(n,e,t,i=!1){const r={},s=A7();n.propsDefaults=Object.create(null),y7(n,e,r,s);for(const o in n.propsOptions[0])o in r||(r[o]=void 0);t?n.props=i?r:Fa(r):n.type.props?n.props=r:n.props=s,n.attrs=s}function CH(n,e,t,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=n,a=an(r),[l]=n.propsOptions;let c=!1;if((i||o>0)&&!(o&16)){if(o&8){const u=n.vnode.dynamicProps;for(let f=0;f<u.length;f++){let h=u[f];if(lA(n.emitsOptions,h))continue;const p=e[h];if(l)if(mn(s,h))p!==s[h]&&(s[h]=p,c=!0);
vendor: 3,407 bytes, line 15
15else{const m=ro(h);r[m]=jy(l,a,m,p,n,!1)}else p!==s[h]&&(s[h]=p,c=!0)}}}else{y7(n,e,r,s)&&(c=!0);let u;for(const f in a)(!e||!mn(e,f)&&((u=Ru(f))===f||!mn(e,u)))&&(l?t&&(t[f]!==void 0||t[u]!==void 0)&&(r[f]=jy(l,a,f,void 0,n,!0)):delete r[f]);if(s!==a)for(const f in s)(!e||!mn(e,f))&&(delete s[f],c=!0)}c&&Ba(n.attrs,"set","")}function y7(n,e,t,i){const[r,s]=n.propsOptions;let o=!1,a;if(e)for(let l in e){if(Gf(l))continue;const c=e[l];let u;r&&mn(r,u=ro(l))?!s||!s.includes(u)?t[u]=c:(a||(a={}))[u]=c:lA(n.emitsOptions,l)||(!(l in i)||c!==i[l])&&(i[l]=c,o=!0)}if(s){const l=an(t),c=a||Rn;for(let u=0;u<s.length;u++){const f=s[u];t[f]=jy(r,l,f,c[f],n,!mn(c,f))}}return o}function jy(n,e,t,i,r,s){const o=n[t];if(o!=null){const a=mn(o,"default");if(a&&i===void 0){const l=o.default;if(o.type!==Function&&!o.skipFactory&&Et(l)){const{propsDefaults:c}=r;if(t in c)i=c[t];else{const u=Eu(r);i=c[t]=l.call(null,e),u()}}else i=l;r.ce&&r.ce._setProp(t,i)}o[0]&&(s&&!a?i=!1:o[1]&&(i===""||i===Ru(t))&&(i=!0))}return i}const wH=new WeakMap;function _7(n,e,t=!1){const i=t?wH:e.propsCache,r=i.get(n);if(r)return r;const s=n.props,o={},a=[];let l=!1;if(!Et(n)){const u=f=>{l=!0;const[h,p]=_7(f,e,!0);Ji(o,h),p&&a.push(...p)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!s&&!l)return zn(n)&&i.set(n,Hf),Hf;if(Tt(s))for(let u=0;u<s.length;u++){const f=ro(s[u]);q5(f)&&(o[f]=Rn)}else if(s)for(const u in s){const f=ro(u);if(q5(f)){const h=s[u],p=o[f]=Tt(h)||Et(h)?{type:h}:Ji({},h),m=p.type;let v=!1,A=!0;if(Tt(m))for(let y=0;y<m.length;++y){const x=m[y],b=Et(x)&&x.name;if(b==="Boolean"){v=!0;break}else b==="String"&&(A=!1)}else v=Et(m)&&m.name==="Boolean";p[0]=v,p[1]=A,(v||mn(p,"default"))&&a.push(f)}}const c=[o,a];return zn(n)&&i.set(n,c),c}function q5(n){return n[0]!=="$"&&!Gf(n)}const b7=n=>n[0]==="_"||n==="$stable",rx=n=>Tt(n)?n.map(Ps):[Ps(n)],SH=(n,e,t)=>{if(e._n)return e;const i=Ua((...r)=>rx(e(...r)),t);return i._c=!1,i},x7=(n,e,t)=>{const i=n._ctx;for(const r in n){if(b7(r))continue;const s=n[r];if(Et(s))e[r]=SH(r,s,i);else if(s!=null){const o=rx(s);e[r]=()=>o}}},C7=(n,e)=>{const t=rx(e);n.slots.default=()=>t},w7=(n,e,t)=>{for(const i in e)(t||i!=="_")&&(n[i]=e[i])},EH=(n,e,t)=>{const i=n.slots=A7();if(n.vnode.shapeFlag&32){const r=e._;r?(w7(i,e,t),t&&b6(i,"_",r,!0)):x7(e,i)}else e&&C7(n,e)},TH=(n,e,t)=>{const{vnode:i,slots:r}=n;let s=!0,o=Rn;if(i.shapeFlag&32){const a=e._;a?t&&a===1?s=!1:w7(r,e,t):(s=!e.$stable,x7(e,r)),o=e}else e&&(C7(n,e),o={default:1});if(s)for(const a in r)!b7(a)&&o[a]==null&&delete r[a]},cr=D7;function MH(n){return S7(n)}function IH(n){return S7(n,rH)}function S7(n,e){const t=nA();t.__VUE__=!0;const{insert:i,remove:r,patchProp:s,createElement:o,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:p=bo,insertStaticContent:m}=n,v=(q,B,le,ve=null,$=null,de=null,De=void 0,xe=null,k=!!B.dynamicChildren)=>{if(q===B)return;q&&!yo(q,B)&&(ve=Z(q),Ie(q,$,de,!0),q=null),B.patchFlag===-2&&(k=!1,B.dynamicChildren=null);const{type:D,ref:ne,shapeFlag:re}=B;switch(D){case hu:A(q,B,le,ve);break;case ki:y(q,B,le,ve);break;case jf:q==null&&x(B,le,ve,De);break;case Ii:L(q,B,le,ve,$,de,De,xe,k);break;default:re&1?T(q,B,le,ve,$,de,De,xe,k):re&6?z(q,B,le,ve,$,de,De,xe,k):(re&64||re&128)&&D.process(q,B,le,ve,$,de,De,xe,k,be)}ne!=null&&$&&D0(ne,q&&q.ref,de,B||q,!B)},A=(q,B,le,ve)=>
vendor: 4,201 bytes, line 15
15{if(q==null)i(B.el=a(B.children),le,ve);else{const $=B.el=q.el;B.children!==q.children&&c($,B.children)}},y=(q,B,le,ve)=>{q==null?i(B.el=l(B.children||""),le,ve):B.el=q.el},x=(q,B,le,ve)=>{[q.el,q.anchor]=m(q.children,B,le,ve,q.el,q.anchor)},b=({el:q,anchor:B},le,ve)=>{let $;for(;q&&q!==B;)$=h(q),i(q,le,ve),q=$;i(B,le,ve)},_=({el:q,anchor:B})=>{let le;for(;q&&q!==B;)le=h(q),r(q),q=le;r(B)},T=(q,B,le,ve,$,de,De,xe,k)=>{B.type==="svg"?De="svg":B.type==="math"&&(De="mathml"),q==null?M(B,le,ve,$,de,De,xe,k):w(q,B,$,de,De,xe,k)},M=(q,B,le,ve,$,de,De,xe)=>{let k,D;const{props:ne,shapeFlag:re,transition:ce,dirs:fe}=q;if(k=q.el=o(q.type,de,ne&&ne.is,ne),re&8?u(k,q.children):re&16&&R(q.children,k,null,ve,$,E2(q,de),De,xe),fe&&Ho(q,null,ve,"created"),I(k,q,q.scopeId,De,ve),ne){for(const Le in ne)Le!=="value"&&!Gf(Le)&&s(k,Le,null,ne[Le],de,ve);"value"in ne&&s(k,"value",null,ne.value,de),(D=ne.onVnodeBeforeMount)&&as(D,ve,q)}fe&&Ho(q,null,ve,"beforeMount");const Pe=E7($,ce);Pe&&ce.beforeEnter(k),i(k,B,le),((D=ne&&ne.onVnodeMounted)||Pe||fe)&&cr(()=>{D&&as(D,ve,q),Pe&&ce.enter(k),fe&&Ho(q,null,ve,"mounted")},$)},I=(q,B,le,ve,$)=>{if(le&&p(q,le),ve)for(let de=0;de<ve.length;de++)p(q,ve[de]);if($){let de=$.subTree;if(B===de||ug(de.type)&&(de.ssContent===B||de.ssFallback===B)){const De=$.vnode;I(q,De,De.scopeId,De.slotScopeIds,$.parent)}}},R=(q,B,le,ve,$,de,De,xe,k=0)=>{for(let D=k;D<q.length;D++){const ne=q[D]=xe?xl(q[D]):Ps(q[D]);v(null,ne,B,le,ve,$,de,De,xe)}},w=(q,B,le,ve,$,de,De)=>{const xe=B.el=q.el;let{patchFlag:k,dynamicChildren:D,dirs:ne}=B;k|=q.patchFlag&16;const re=q.props||Rn,ce=B.props||Rn;let fe;if(le&&Bc(le,!1),(fe=ce.onVnodeBeforeUpdate)&&as(fe,le,B,q),ne&&Ho(B,q,le,"beforeUpdate"),le&&Bc(le,!0),(re.innerHTML&&ce.innerHTML==null||re.textContent&&ce.textContent==null)&&u(xe,""),D?E(q.dynamicChildren,D,xe,le,ve,E2(B,$),de):De||W(q,B,xe,null,le,ve,E2(B,$),de,!1),k>0){if(k&16)F(xe,re,ce,le,$);else if(k&2&&re.class!==ce.class&&s(xe,"class",null,ce.class,$),k&4&&s(xe,"style",re.style,ce.style,$),k&8){const Pe=B.dynamicProps;for(let Le=0;Le<Pe.length;Le++){const Oe=Pe[Le],dt=re[Oe],Be=ce[Oe];(Be!==dt||Oe==="value")&&s(xe,Oe,dt,Be,$,le)}}k&1&&q.children!==B.children&&u(xe,B.children)}else!De&&D==null&&F(xe,re,ce,le,$);((fe=ce.onVnodeUpdated)||ne)&&cr(()=>{fe&&as(fe,le,B,q),ne&&Ho(B,q,le,"updated")},ve)},E=(q,B,le,ve,$,de,De)=>{for(let xe=0;xe<B.length;xe++){const k=q[xe],D=B[xe],ne=k.el&&(k.type===Ii||!yo(k,D)||k.shapeFlag&70)?f(k.el):le;v(k,D,ne,null,ve,$,de,De,!0)}},F=(q,B,le,ve,$)=>{if(B!==le){if(B!==Rn)for(const de in B)!Gf(de)&&!(de in le)&&s(q,de,B[de],null,$,ve);for(const de in le){if(Gf(de))continue;const De=le[de],xe=B[de];De!==xe&&de!=="value"&&s(q,de,xe,De,$,ve)}"value"in le&&s(q,"value",B.value,le.value,$)}},L=(q,B,le,ve,$,de,De,xe,k)=>{const D=B.el=q?q.el:a(""),ne=B.anchor=q?q.anchor:a("");let{patchFlag:re,dynamicChildren:ce,slotScopeIds:fe}=B;fe&&(xe=xe?xe.concat(fe):fe),q==null?(i(D,le,ve),i(ne,le,ve),R(B.children||[],le,ne,$,de,De,xe,k)):re>0&&re&64&&ce&&q.dynamicChildren?(E(q.dynamicChildren,ce,le,$,de,De,xe),(B.key!=null||$&&B===$.subTree)&&T7(q,B,!0)):W(q,B,le,ne,$,de,De,xe,k)},z=(q,B,le,ve,$,de,De,xe,k)=>{B.slotScopeIds=xe,q==null?B.shapeFlag&512?$.ctx.activate(B,le,ve,De,k):V(B,le,ve,$,de,De,k):j(q,B,k)},V=(q,B,le,ve,$,de,De)=>{const xe=q.component=KH(q,ve,$);if(Cp(q)&&(xe.ctx.renderer=be),ZH(xe,!1,De),xe.asyncDep){if($&&$.registerDep(xe,N,De),!q.el){const k=xe.subTree=dn(ki);y(null,k,B,le)}}else N(xe,q,B,le,$,de,De)},j=(q,B,le)=>{const ve=B.component=q.component;if(kH(q,B,le))if(ve.asyncDep&&!ve.asyncResolved){Q(ve,B,le);return}else ve.next=B,ve.update();else B.el=q.el,ve.vnode=B},N=(q,B,le,ve,$,de,De)=>{const xe=()=>{if(q.isMounted){let{next:re,bu:ce,u:fe,parent:Pe,vnode:Le}=q;{const Xe=M7(q);if(Xe){re&&(re.el=Le.el,Q(q,re,De)),Xe.asyncDep.then(()=>{q.isUnmounted||xe()});return}}let Oe=re,dt;Bc(q,!1),re?(re.el=Le.el,Q(q,re,De)):re=Le,ce&&Jh(ce),(dt=re.props&&re.props.onVnodeBeforeUpdate)&&as(dt,Pe,re,Le),Bc(q,!0);const Be=T2(q),He=q.subTree;q.subTree=Be,v(He,Be,f(He.el),Z(He),q,$,de),re.el=Be.el,Oe===null&&cA(q,Be.el),fe&&cr(fe,$),(dt=re.props&&re.props.onVnodeUpdated)&&cr(()=>as(dt,Pe,re,Le),$)}else{let re;
vendor: 19,290 bytes, line 15
15const{el:ce,props:fe}=B,{bm:Pe,m:Le,parent:Oe,root:dt,type:Be}=q,He=Gl(B);if(Bc(q,!1),Pe&&Jh(Pe),!He&&(re=fe&&fe.onVnodeBeforeMount)&&as(re,Oe,B),Bc(q,!0),ce&&rt){const Xe=()=>{q.subTree=T2(q),rt(ce,q.subTree,q,$,null)};He&&Be.__asyncHydrate?Be.__asyncHydrate(ce,q,Xe):Xe()}else{dt.ce&&dt.ce._injectChildStyle(Be);const Xe=q.subTree=T2(q);v(null,Xe,le,ve,q,$,de),B.el=Xe.el}if(Le&&cr(Le,$),!He&&(re=fe&&fe.onVnodeMounted)){const Xe=B;cr(()=>as(re,Oe,Xe),$)}(B.shapeFlag&256||Oe&&Gl(Oe.vnode)&&Oe.vnode.shapeFlag&256)&&q.a&&cr(q.a,$),q.isMounted=!0,B=le=ve=null}};q.scope.on();const k=q.effect=new T6(xe);q.scope.off();const D=q.update=k.run.bind(k),ne=q.job=k.runIfDirty.bind(k);ne.i=q,ne.id=q.uid,k.scheduler=()=>ex(ne),Bc(q,!0),D()},Q=(q,B,le)=>{B.component=q;const ve=q.vnode.props;q.vnode=B,q.next=null,CH(q,B.props,ve,le),TH(q,B.children,le),ic(),O5(q),rc()},W=(q,B,le,ve,$,de,De,xe,k=!1)=>{const D=q&&q.children,ne=q?q.shapeFlag:0,re=B.children,{patchFlag:ce,shapeFlag:fe}=B;if(ce>0){if(ce&128){H(D,re,le,ve,$,de,De,xe,k);return}else if(ce&256){ee(D,re,le,ve,$,de,De,xe,k);return}}fe&8?(ne&16&&Fe(D,$,de),re!==D&&u(le,re)):ne&16?fe&16?H(D,re,le,ve,$,de,De,xe,k):Fe(D,$,de,!0):(ne&8&&u(le,""),fe&16&&R(re,le,ve,$,de,De,xe,k))},ee=(q,B,le,ve,$,de,De,xe,k)=>{q=q||Hf,B=B||Hf;const D=q.length,ne=B.length,re=Math.min(D,ne);let ce;for(ce=0;ce<re;ce++){const fe=B[ce]=k?xl(B[ce]):Ps(B[ce]);v(q[ce],fe,le,null,$,de,De,xe,k)}D>ne?Fe(q,$,de,!0,!1,re):R(B,le,ve,$,de,De,xe,k,re)},H=(q,B,le,ve,$,de,De,xe,k)=>{let D=0;const ne=B.length;let re=q.length-1,ce=ne-1;for(;D<=re&&D<=ce;){const fe=q[D],Pe=B[D]=k?xl(B[D]):Ps(B[D]);if(yo(fe,Pe))v(fe,Pe,le,null,$,de,De,xe,k);else break;D++}for(;D<=re&&D<=ce;){const fe=q[re],Pe=B[ce]=k?xl(B[ce]):Ps(B[ce]);if(yo(fe,Pe))v(fe,Pe,le,null,$,de,De,xe,k);else break;re--,ce--}if(D>re){if(D<=ce){const fe=ce+1,Pe=fe<ne?B[fe].el:ve;for(;D<=ce;)v(null,B[D]=k?xl(B[D]):Ps(B[D]),le,Pe,$,de,De,xe,k),D++}}else if(D>ce)for(;D<=re;)Ie(q[D],$,de,!0),D++;else{const fe=D,Pe=D,Le=new Map;for(D=Pe;D<=ce;D++){const mt=B[D]=k?xl(B[D]):Ps(B[D]);mt.key!=null&&Le.set(mt.key,D)}let Oe,dt=0;const Be=ce-Pe+1;let He=!1,Xe=0;const st=new Array(Be);for(D=0;D<Be;D++)st[D]=0;for(D=fe;D<=re;D++){const mt=q[D];if(dt>=Be){Ie(mt,$,de,!0);continue}let lt;if(mt.key!=null)lt=Le.get(mt.key);else for(Oe=Pe;Oe<=ce;Oe++)if(st[Oe-Pe]===0&&yo(mt,B[Oe])){lt=Oe;break}lt===void 0?Ie(mt,$,de,!0):(st[lt-Pe]=D+1,lt>=Xe?Xe=lt:He=!0,v(mt,B[lt],le,null,$,de,De,xe,k),dt++)}const et=He?PH(st):Hf;for(Oe=et.length-1,D=Be-1;D>=0;D--){const mt=Pe+D,lt=B[mt],Rt=mt+1<ne?B[mt+1].el:ve;st[D]===0?v(null,lt,le,Rt,$,de,De,xe,k):He&&(Oe<0||D!==et[Oe]?ye(lt,le,Rt,2):Oe--)}}},ye=(q,B,le,ve,$=null)=>{const{el:de,type:De,transition:xe,children:k,shapeFlag:D}=q;if(D&6){ye(q.component.subTree,B,le,ve);return}if(D&128){q.suspense.move(B,le,ve);return}if(D&64){De.move(q,B,le,be);return}if(De===Ii){i(de,B,le);for(let re=0;re<k.length;re++)ye(k[re],B,le,ve);i(q.anchor,B,le);return}if(De===jf){b(q,B,le);return}if(ve!==2&&D&1&&xe)if(ve===0)xe.beforeEnter(de),i(de,B,le),cr(()=>xe.enter(de),$);else{const{leave:re,delayLeave:ce,afterLeave:fe}=xe,Pe=()=>i(de,B,le),Le=()=>{re(de,()=>{Pe(),fe&&fe()})};ce?ce(de,Pe,Le):Le()}else i(de,B,le)},Ie=(q,B,le,ve=!1,$=!1)=>{const{type:de,props:De,ref:xe,children:k,dynamicChildren:D,shapeFlag:ne,patchFlag:re,dirs:ce,cacheIndex:fe}=q;if(re===-2&&($=!1),xe!=null&&D0(xe,null,le,q,!0),fe!=null&&(B.renderCache[fe]=void 0),ne&256){B.ctx.deactivate(q);return}const Pe=ne&1&&ce,Le=!Gl(q);let Oe;if(Le&&(Oe=De&&De.onVnodeBeforeUnmount)&&as(Oe,B,q),ne&6)_e(q.component,le,ve);else{if(ne&128){q.suspense.unmount(le,ve);return}Pe&&Ho(q,null,B,"beforeUnmount"),ne&64?q.type.remove(q,B,le,be,ve):D&&!D.hasOnce&&(de!==Ii||re>0&&re&64)?Fe(D,B,le,!1,!0):(de===Ii&&re&384||!$&&ne&16)&&Fe(k,B,le),ve&&ze(q)}(Le&&(Oe=De&&De.onVnodeUnmounted)||Pe)&&cr(()=>{Oe&&as(Oe,B,q),Pe&&Ho(q,null,B,"unmounted")},le)},ze=q=>{const{type:B,el:le,anchor:ve,transition:$}=q;if(B===Ii){oe(le,ve);return}if(B===jf){_(q);return}const de=()=>{r(le),$&&!$.persisted&&$.afterLeave&&$.afterLeave()};if(q.shapeFlag&1&&$&&!$.persisted){const{leave:De,delayLeave:xe}=$,k=()=>De(le,de);xe?xe(q.el,de,k):k()}else de()},oe=(q,B)=>{let le;for(;q!==B;)le=h(q),r(q),q=le;r(B)},_e=(q,B,le)=>{const{bum:ve,scope:$,job:de,subTree:De,um:xe,m:k,a:D}=q;cg(k),cg(D),ve&&Jh(ve),$.stop(),de&&(de.flags|=8,Ie(De,q,B,le)),xe&&cr(xe,B),cr(()=>{q.isUnmounted=!0},B),B&&B.pendingBranch&&!B.isUnmounted&&q.asyncDep&&!q.asyncResolved&&q.suspenseId===B.pendingId&&(B.deps--,B.deps===0&&B.resolve())},Fe=(q,B,le,ve=!1,$=!1,de=0)=>{for(let De=de;De<q.length;De++)Ie(q[De],B,le,ve,$)},Z=q=>{if(q.shapeFlag&6)return Z(q.component.subTree);if(q.shapeFlag&128)return q.suspense.next();const B=h(q.anchor||q.el),le=B&&B[Kz];return le?h(le):B};let Ae=!1;const we=(q,B,le)=>{q==null?B._vnode&&Ie(B._vnode,null,null,!0):v(B._vnode||null,q,B,null,null,null,le),B._vnode=q,Ae||(Ae=!0,O5(),og(),Ae=!1)},be={p:v,um:Ie,m:ye,r:ze,mt:V,mc:R,pc:W,pbc:E,n:Z,o:n};let qe,rt;return e&&([qe,rt]=e(be)),{render:we,hydrate:qe,createApp:bH(we,qe)}}function E2({type:n,props:e},t){return t==="svg"&&n==="foreignObject"||t==="mathml"&&n==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:t}function Bc({effect:n,job:e},t){t?(n.flags|=32,e.flags|=4):(n.flags&=-33,e.flags&=-5)}function E7(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function T7(n,e,t=!1){const i=n.children,r=e.children;if(Tt(i)&&Tt(r))for(let s=0;s<i.length;s++){const o=i[s];let a=r[s];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=r[s]=xl(r[s]),a.el=o.el),!t&&a.patchFlag!==-2&&T7(o,a)),a.type===hu&&(a.el=o.el)}}function PH(n){const e=n.slice(),t=[0];let i,r,s,o,a;const l=n.length;for(i=0;i<l;i++){const c=n[i];if(c!==0){if(r=t[t.length-1],n[r]<c){e[i]=r,t.push(i);continue}for(s=0,o=t.length-1;s<o;)a=s+o>>1,n[t[a]]<c?s=a+1:o=a;c<n[t[s]]&&(s>0&&(e[i]=t[s-1]),t[s]=i)}}for(s=t.length,o=t[s-1];s-- >0;)t[s]=o,o=e[o];return t}function M7(n){const e=n.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:M7(e)}function cg(n){if(n)for(let e=0;e<n.length;e++)n[e].flags|=8}const RH=Symbol.for("v-scx"),BH=()=>es(RH);function aA(n,e){return sx(n,null,e)}function ai(n,e,t){return sx(n,e,t)}function sx(n,e,t=Rn){const{immediate:i,deep:r,flush:s,once:o}=t,a=Ji({},t),l=e&&i||!e&&s!=="post";let c;if(hd){if(s==="sync"){const p=BH();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=bo,p.resume=bo,p.pause=bo,p}}const u=zi;a.call=(p,m,v)=>To(p,u,m,v);let f=!1;s==="post"?a.scheduler=p=>{cr(p,u&&u.suspense)}:s!=="sync"&&(f=!0,a.scheduler=(p,m)=>{m?p():ex(p)}),a.augmentJob=p=>{e&&(p.flags|=4),f&&(p.flags|=2,u&&(p.id=u.uid,p.i=u))};const h=qz(n,e,a);return hd&&(c?c.push(h):l&&h()),h}function DH(n,e,t){const i=this.proxy,r=Kn(n)?n.includes(".")?I7(i,n):()=>i[n]:n.bind(i,i);let s;Et(e)?s=e:(s=e.handler,t=e);const o=Eu(this),a=sx(r,s.bind(i),t);return o(),a}function I7(n,e){const t=e.split(".");return()=>{let i=n;for(let r=0;r<t.length&&i;r++)i=i[t[r]];return i}}const LH=(n,e)=>e==="modelValue"||e==="model-value"?n.modelModifiers:n[`${e}Modifiers`]||n[`${ro(e)}Modifiers`]||n[`${Ru(e)}Modifiers`];function OH(n,e,...t){if(n.isUnmounted)return;const i=n.vnode.props||Rn;let r=t;const s=e.startsWith("update:"),o=s&&LH(i,e.slice(7));o&&(o.trim&&(r=t.map(u=>Kn(u)?u.trim():u)),o.number&&(r=t.map(dz)));let a,l=i[a=A2(e)]||i[a=A2(ro(e))];!l&&s&&(l=i[a=A2(Ru(e))]),l&&To(l,n,6,r);const c=i[a+"Once"];if(c){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,To(c,n,6,r)}}function P7(n,e,t=!1){const i=e.emitsCache,r=i.get(n);if(r!==void 0)return r;const s=n.emits;let o={},a=!1;if(!Et(n)){const l=c=>{const u=P7(c,e,!0);u&&(a=!0,Ji(o,u))};!t&&e.mixins.length&&e.mixins.forEach(l),n.extends&&l(n.extends),n.mixins&&n.mixins.forEach(l)}return!s&&!a?(zn(n)&&i.set(n,null),null):(Tt(s)?s.forEach(l=>o[l]=null):Ji(o,s),zn(n)&&i.set(n,o),o)}function lA(n,e){return!n||!yp(e)?!1:(e=e.slice(2).replace(/Once$/,""),mn(n,e[0].toLowerCase()+e.slice(1))||mn(n,Ru(e))||mn(n,e))}function T2(n){const{type:e,vnode:t,proxy:i,withProxy:r,propsOptions:[s],slots:o,attrs:a,emit:l,render:c,renderCache:u,props:f,data:h,setupState:p,ctx:m,inheritAttrs:v}=n,A=ag(n);let y,x;try{if(t.shapeFlag&4){const _=r||i,T=_;y=Ps(c.call(T,_,u,f,p,h,m)),x=a}else{const _=e;y=Ps(_.length>1?_(f,{attrs:a,slots:o,emit:l}):_(f,null)),x=e.props?a:UH(a)}}catch(_){i0.length=0,Ud(_,n,1),y=dn(ki)}let b=y;if(x&&v!==!1){const _=Object.keys(x),{shapeFlag:T}=b;_.length&&T&7&&(s&&_.some(Vb)&&(x=NH(x,s)),b=ja(b,x,!1,!0))}return t.dirs&&(b=ja(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(t.dirs):t.dirs),t.transition&&fd(b,t.transition),y=b,ag(A),y}function FH(n,e=!0){let t;for(let i=0;i<n.length;i++){const r=n[i];if(Su(r)){if(r.type!==ki||r.children==="v-if"){if(t)return;t=r}}else return}return t}const UH=n=>{let e;for(const t in n)(t==="class"||t==="style"||yp(t))&&((e||(e={}))[t]=n[t]);return e},NH=(n,e)=>{const t={};for(const i in n)(!Vb(i)||!(i.slice(9)in e))&&(t[i]=n[i]);return t};function kH(n,e,t){const{props:i,children:r,component:s}=n,{props:o,children:a,patchFlag:l}=e,c=s.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&l>=0){if(l&1024)return!0;if(l&16)return i?X5(i,o,c):!!o;if(l&8){const u=e.dynamicProps;for(let f=0;f<u.length;f++){const h=u[f];if(o[h]!==i[h]&&!lA(c,h))return!0}}}else return(r||a)&&(!a||!a.$stable)?!0:i===o?!1:i?o?X5(i,o,c):!0:!!o;return!1}function X5(n,e,t){const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!0;for(let r=0;r<i.length;r++){const s=i[r];if(e[s]!==n[s]&&!lA(t,s))return!0}return!1}function cA({vnode:n,parent:e},t){for(;e;){const i=e.subTree;if(i.suspense&&i.suspense.activeBranch===n&&(i.el=n.el),i===n)(n=e.vnode).el=t,e=e.parent;else break}}const ug=n=>n.__isSuspense;let qy=0;const zH={name:"Suspense",__isSuspense:!0,process(n,e,t,i,r,s,o,a,l,c){if(n==null)HH(e,t,i,r,s,o,a,l,c);else{if(s&&s.deps>0&&!n.suspense.isInFallback){e.suspense=n.suspense,e.suspense.vnode=e,e.el=n.el;return}VH(n,e,t,i,r,o,a,l,c)}},hydrate:GH,normalize:QH},R7=zH;function L0(n,e){const t=n.props&&n.props[e];Et(t)&&t()}function HH(n,e,t,i,r,s,o,a,l){const{p:c,o:{createElement:u}}=l,f=u("div"),h=n.suspense=B7(n,r,i,e,f,t,s,o,a,l);c(null,h.pendingBranch=n.ssContent,f,null,i,h,s,o),h.deps>0?(L0(n,"onPending"),L0(n,"onFallback"),c(null,n.ssFallback,e,t,i,null,s,o),Wf(h,n.ssFallback)):h.resolve(!1,!0)}function VH(n,e,t,i,r,s,o,a,{p:l,um:c,o:{createElement:u}}){const f=e.suspense=n.suspense;f.vnode=e,e.el=n.el;const h=e.ssContent,p=e.ssFallback,{activeBranch:m,pendingBranch:v,isInFallback:A,isHydrating:y}=f;if(v)f.pendingBranch=h,yo(h,v)?(l(v,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0?f.resolve():A&&(y||(l(m,p,t,i,r,null,s,o,a),Wf(f,p)))):(f.pendingId=qy++,y?(f.isHydrating=!1,f.activeBranch=v):c(v,r,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),A?(l(null,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0?f.resolve():(l(m,p,t,i,r,null,s,o,a),Wf(f,p))):m&&yo(h,m)?(l(m,h,t,i,r,f,s,o,a),f.resolve(!0)):(l(null,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0&&f.resolve()));else if(m&&yo(h,m))l(m,h,t,i,r,f,s,o,a),Wf(f,h);else if(L0(e,"onPending"),f.pendingBranch=h,h.shapeFlag&512?f.pendingId=h.component.suspenseId:f.pendingId=qy++,l(null,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0)f.resolve();else{const{timeout:x,pendingId:b}=f;x>0?setTimeout(()=>{f.pendingId===b&&f.fallback(p)},x):x===0&&f.fallback(p)}}function B7(n,e,t,i,r,s,o,a,l,c,u=!1){const{p:f,m:h,um:p,n:m,o:{parentNode:v,remove:A}}=c;let y;const x=WH(n);x&&e&&e.pendingBranch&&(y=e.pendingId,e.deps++);const b=n.props?x6(n.props.timeout):void 0,_=s,T={vnode:n,parent:e,parentComponent:t,namespace:o,container:i,hiddenContainer:r,deps:0,pendingId:qy++,timeout:typeof b=="number"?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(M=!1,I=!1){const{vnode:R,activeBranch:w,pendingBranch:E,pendingId:F,effects:L,parentComponent:z,container:V}=T;let j=!1;T.isHydrating?T.isHydrating=!1:M||(j=w&&E.transition&&E.transition.mode==="out-in",j&&(w.transition.afterLeave=()=>{F===T.pendingId&&(h(E,V,s===_?m(w):s,0),sg(L))}),w&&(v(w.el)===V&&(s=m(w)),p(w,z,T,!0)),j||h(E,V,s,0)),Wf(T,E),T.pendingBranch=null,T.isInFallback=!1;let N=T.parent,Q=!1;for(;N;){if(N.pendingBranch){N.effects.push(...L),Q=!0;break}N=N.parent}!Q&&!j&&sg(L),T.effects=[],x&&e&&e.pendingBranch&&y===e.pendingId&&(e.deps--,e.deps===0&&!I&&e.resolve()),L0(R,"onResolve")},fallback(M){if(!T.pendingBranch)return;const{vnode:I,activeBranch:R,parentComponent:w,container:E,namespace:F}=T;L0(I,"onFallback");const L=m(R),z=()=>{T.isInFallback&&(f(null,M,E,L,w,null,F,a,l),Wf(T,M))},V=M.transition&&M.transition.mode==="out-in";V&&(R.transition.afterLeave=z),T.isInFallback=!0,p(R,w,null,!0),V||z()},move(M,I,R){T.activeBranch&&h(T.activeBranch,M,I,R),T.container=M},next(){return T.activeBranch&&m(T.activeBranch)},registerDep(M,I,R){const w=!!T.pendingBranch;w&&T.deps++;const E=M.vnode.el;M.asyncDep.catch(F=>{Ud(F,M,0)}).then(F=>{if(M.isUnmounted||T.isUnmounted||T.pendingId!==M.suspenseId)return;M.asyncResolved=!0;const{vnode:L}=M;$y(M,F),E&&(L.el=E);const z=!E&&M.subTree.el;I(M,L,v(E||M.subTree.el),E?null:m(M.subTree),T,o,R),z&&A(z),cA(M,L.el),w&&--T.deps===0&&T.resolve()})},unmount(M,I){T.isUnmounted=!0,T.activeBranch&&p(T.activeBranch,t,M,I),T.pendingBranch&&p(T.pendingBranch,t,M,I)}};return T}function GH(n,e,t,i,r,s,o,a,l){const c=e.suspense=B7(e,i,t,n.parentNode,document.createElement("div"),null,r,s,o,a,!0),u=l(n,c.pendingBranch=e.ssContent,t,c,s,o);return c.deps===0&&c.resolve(!1,!0),u}function QH(n){const{shapeFlag:e,children:t}=n,i=e&32;n.ssContent=Y5(i?t.default:t),n.ssFallback=i?Y5(t.fallback):dn(ki)}function Y5(n){let e;if(Et(n)){const t=dd&&n._c;t&&(n._d=!1,di()),n=n(),t&&(n._d=!0,e=fs,L7())}return Tt(n)&&(n=FH(n)),n=Ps(n),e&&!n.dynamicChildren&&(n.dynamicChildren=e.filter(t=>t!==n)),n}function D7(n,e){e&&e.pendingBranch?Tt(n)?e.effects.push(...n):e.effects.push(n):sg(n)}function Wf(n,e){n.activeBranch=e;const{vnode:t,parentComponent:i}=n;let r=e.el;for(;!r&&e.component;)e=e.component.subTree,r=e.el;t.el=r,i&&i.subTree===t&&(i.vnode.el=r,cA(i,r))}function WH(n){const e=n.props&&n.props.suspensible;return e!=null&&e!==!1}const Ii=Symbol.for("v-fgt"),hu=Symbol.for("v-txt"),ki=Symbol.for("v-cmt"),jf=Symbol.for("v-stc"),i0=[];let fs=null;function di(n=!1){i0.push(fs=n?null:[])}function L7(){i0.pop(),fs=i0[i0.length-1]||null}let dd=1;function $5(n,e=!1){dd+=n,n<0&&fs&&e&&(fs.hasOnce=!0)}function O7(n){return n.dynamicChildren=dd>0?fs||Hf:null,L7(),dd>0&&fs&&fs.push(n),n}function Na(n,e,t,i,r,s){return O7(ei(n,e,t,i,r,s,!0))}function Ks(n,e,t,i,r){return O7(dn(n,e,t,i,r,!0))}function Su(n){return n?n.__v_isVNode===!0:!1}function yo(n,e){return n.type===e.type&&n.key===e.key}const F7=({key:n})=>n??null,O1=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Kn(n)||Vi(n)||Et(n)?{i:Hi,r:n,k:e,f:!!t}:n:null);function ei(n,e=null,t=null,i=0,r=null,s=n===Ii?0:1,o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&F7(e),ref:e&&O1(e),scopeId:q6,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Hi};return a?(ax(l,t),s&128&&n.normalize(l)):t&&(l.shapeFlag|=Kn(t)?8:16),dd>0&&!o&&fs&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&fs.push(l),l}const dn=jH;function jH(n,e=null,t=null,i=0,r=null,s=!1){if((!n||n===a7)&&(n=ki),Su(n)){const a=ja(n,e,!0);return t&&ax(a,t),dd>0&&!s&&fs&&(a.shapeFlag&6?fs[fs.indexOf(n)]=a:fs.push(a)),a.patchFlag=-2,a}if(tV(n)&&(n=n.__vccOpts),e){e=U7(e);let{class:a,style:l}=e;a&&!Kn(a)&&(e.class=bp(a)),zn(l)&&(Zb(l)&&!Tt(l)&&(l=Ji({},l)),e.style=iA(l))}const o=Kn(n)?1:ug(n)?128:X6(n)?64:zn(n)?4:Et(n)?2:0;return ei(n,e,t,i,r,o,s,!0)}function U7(n){return n?Zb(n)||v7(n)?Ji({},n):n:null}function ja(n,e,t=!1,i=!1){const{props:r,ref:s,patchFlag:o,children:a,transition:l}=n,c=e?XH(r||{},e):r,u={__v_isVNode:!0,__v_skip:!0,type:n.type,props:c,key:c&&F7(c),ref:e&&e.ref?t&&s?Tt(s)?s.concat(O1(e)):[s,O1(e)]:O1(e):s,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:a,target:n.target,targetStart:n.targetStart,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Ii?o===-1?16:o|16:o,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:l,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&ja(n.ssContent),ssFallback:n.ssFallback&&ja(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce};return l&&i&&fd(u,l.clone(u)),u}function ox(n=" ",e=0){return dn(hu,null,n,e)}function qH(n,e){const t=dn(jf,null,n);return t.staticCount=e,t}function ffe(n="",e=!1){return e?(di(),Ks(ki,null,n)):dn(ki,null,n)}function Ps(n){return n==null||typeof n=="boolean"?dn(ki):Tt(n)?dn(Ii,null,n.slice()):Su(n)?xl(n):dn(hu,null,String(n))}function xl(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:ja(n)}function ax(n,e){let t=0;const{shapeFlag:i}=n;if(e==null)e=null;else if(Tt(e))t=16;else if(typeof e=="object")if(i&65){const r=e.default;r&&(r._c&&(r._d=!1),ax(n,r()),r._c&&(r._d=!0));return}else{t=32;const r=e._;!r&&!v7(e)?e._ctx=Hi:r===3&&Hi&&(Hi.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else Et(e)?(e={default:e,_ctx:Hi},t=32):(e=String(e),i&64?(t=16,e=[ox(e)]):t=8);n.children=e,n.shapeFlag|=t}function XH(...n){const e={};for(let t=0;t<n.length;t++){const i=n[t];for(const r in i)if(r==="class")e.class!==i.class&&(e.class=bp([e.class,i.class]));else if(r==="style")e.style=iA([e.style,i.style]);else if(yp(r)){const s=e[r],o=i[r];o&&s!==o&&!(Tt(s)&&s.includes(o))&&(e[r]=s?[].concat(s,o):o)}else r!==""&&(e[r]=i[r])}return e}function as(n,e,t,i=null){To(n,e,7,[t,i])}const YH=p7();let $H=0;function KH(n,e,t){const i=n.type,r=(e?e.appContext:n.appContext)||YH,s={uid:$H++,vnode:n,type:i,parent:e,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new E6(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:e?e.provides:Object.create(r.provides),ids:e?e.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:_7(i,r),emitsOptions:P7(i,r),emit:null,emitted:null,propsDefaults:Rn,inheritAttrs:i.inheritAttrs,ctx:Rn,data:Rn,props:Rn,attrs:Rn,slots:Rn,refs:Rn,setupState:Rn,setupContext:null,suspense:t,suspenseId:t?t.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=e?e.root:s,s.emit=OH.bind(null,s),n.ce&&n.ce(s),s}let zi=null;const Do=()=>zi||Hi;let fg,Xy;{const n=nA(),e=(t,i)=>{let r;return(r=n[t])||(r=n[t]=[]),r.push(i),s=>{r.length>1?r.forEach(o=>o(s)):r[0](s)}};fg=e("__VUE_INSTANCE_SETTERS__",t=>zi=t),Xy=e("__VUE_SSR_SETTERS__",t=>hd=t)}const Eu=n=>{const e=zi;return fg(n),n.scope.on(),()=>{n.scope.off(),fg(e)}},Yy=()=>{zi&&zi.scope.off(),fg(null)};function N7(n){return n.vnode.shapeFlag&4}let hd=!1;function ZH(n,e=!1,t=!1){e&&Xy(e);const{props:i,children:r}
vendor: 1,479 bytes, lines 15-18
15=n.vnode,s=N7(n);xH(n,i,s,e),EH(n,r,t);const o=s?JH(n,e):void 0;return e&&Xy(!1),o}function JH(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=new Proxy(n.ctx,hH);const{setup:i}=t;if(i){ic();const r=n.setupContext=i.length>1?z7(n):null,s=Eu(n),o=xp(i,n,0,[n.props,r]),a=Qb(o);if(rc(),s(),(a||n.sp)&&!Gl(n)&&tx(n),a){if(o.then(Yy,Yy),e)return o.then(l=>{$y(n,l)}).catch(l=>{Ud(l,n,0)});n.asyncDep=o}else $y(n,o)}else k7(n)}function $y(n,e,t){Et(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:zn(e)&&(n.setupState=G6(e)),k7(n)}function k7(n,e,t){const i=n.type;n.render||(n.render=i.render||bo);{const r=Eu(n);ic();try{mH(n)}finally{rc(),r()}}}const eV={get(n,e){return Cr(n,"get",""),n[e]}};function z7(n){const e=t=>{n.exposed=t||{}};return{attrs:new Proxy(n.attrs,eV),slots:n.slots,emit:n.emit,expose:e}}function uA(n){return n.exposed?n.exposeProxy||(n.exposeProxy=new Proxy(G6(si(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in n0)return n0[t](n)},has(e,t){return t in e||t in n0}})):n.proxy}function Ky(n,e=!0){return Et(n)?n.displayName||n.name:n.name||e&&n.__name}function tV(n){return Et(n)&&"__vccOpts"in n}const ii=(n,e)=>jz(n,e,hd);function Mr(n,e,t){const i=arguments.length;return i===2?zn(e)&&!Tt(e)?Su(e)?dn(n,null,[e]):dn(n,e):dn(n,null,e):(i>3?t=Array.prototype.slice.call(arguments,2):i===3&&Su(t)&&(t=[t]),dn(n,e,t))}const H7="3.5.13";/** 16* @vue/runtime-dom v3.5.13 17* (c) 2018-present Yuxi (Evan) You and Vue contributors 18* @license MIT
19**/let Zy;const K5=typeof window<"u"&&window.trustedTypes;if(K5)try{Zy=K5.createPolicy("vue",{createHTML:n=>n})}catch{}const V7=Zy?n=>Zy.createHTML(n):n=>n,nV="http://www.w3.org/2000/svg",iV="http://www.w3.org/1998/Math/MathML",wa=typeof document<"u"?document:null,Z5=wa&&wa.createElement("template"),rV={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,i)=>{const r=e==="svg"?wa.createElementNS(nV,n):e==="mathml"?wa.createElementNS(iV,n):t?wa.createElement(n,{is:t}):wa.createElement(n);return n==="select"&&i&&i.multiple!=null&&r.setAttribute("multiple",i.multiple),r},createText:n=>wa.createTextNode(n),createComment:n=>wa.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>wa.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,i,r,s){const o=t?t.previousSibling:e.lastChild;if(r&&(r===s||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),t),!(r===s||!(r=r.nextSibling)););else{Z5.innerHTML=V7(i==="svg"?`<svg>${n}</svg>`:i==="mathml"?`<math>${n}</math>`:n);const a=Z5.content;if(i==="svg"||i==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}e.insertBefore(a,t)}return[o?o.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},al="transition",hh="animation",O0=Symbol("_vtc"),G7={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},sV=Ji({},Y6,G7),oV=n=>(n.displayName="Transition",n.props=sV,n),aV=oV((n,{slots:e})=>Mr(eH,lV(n),e)),Dc=(n,e=[])=>{Tt(n)?n.forEach(t=>t(...e)):n&&n(...e)},J5=n=>n?Tt(n)?n.some(e=>e.length>1):n.length>1:!1;function lV(n){const e={};for(const L in n)L in G7||(e[L]=n[L]);if(n.css===!1)return e;const{name:t="v",type:i,duration:r,enterFromClass:s=`${t}-enter-from`,enterActiveClass:o=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:l=s,appearActiveClass:c=o,appearToClass:u=a,leaveFromClass:f=`${t}-leave-from`,leaveActiveClass:h=`${t}-leave-active`,leaveToClass:p=`${t}-leave-to`}=n,m=cV(r),v=m&&m[0],A=m&&m[1],{onBeforeEnter:y,onEnter:x,onEnterCancelled:b,onLeave:_,onLeaveCancelled:T,onBeforeAppear:M=y,onAppear:I=x,onAppearCancelled:R=b}=e,w=(L,z,V,j)=>{L._enterCancelled=j,Lc(L,z?u:a),Lc(L,z?c:o),V&&V()},E=(L,z)=>{L._isLeaving=!1,Lc(L,f),Lc(L,p),Lc(L,h),z&&z()},F=L=>(z,V)=>{const j=L?I:x,N=()=>w(z,L,V);Dc(j,[z,N]),eC(()=>{Lc(z,L?l:s),ma(z,L?u:a),J5(j)||tC(z,i,v,N)})};return Ji(e,{onBeforeEnter(L){Dc(y,[L]),ma(L,s),ma(L,o)},onBeforeAppear(L){Dc(M,[L]),ma(L,l),ma(L,c)},onEnter:F(!1),onAppear:F(!0),onLeave(L,z){L._isLeaving=!0;const V=()=>E(L,z);ma(L,f),L._enterCancelled?(ma(L,h),rC()):(rC(),ma(L,h)),eC(()=>{L._isLeaving&&(Lc(L,f),ma(L,p),J5(_)||tC(L,i,A,V))}),Dc(_,[L,V])},onEnterCancelled(L){w(L,!1,void 0,!0),Dc(b,[L])},onAppearCancelled(L){w(L,!0,void 0,!0),Dc(R,[L])},onLeaveCancelled(L){E(L),Dc(T,[L])}})}function cV(n){if(n==null)return null;if(zn(n))return[M2(n.enter),M2(n.leave)];{const e=M2(n);return[e,e]}}function M2(n){return x6(n)}function ma(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[O0]||(n[O0]=new Set)).add(e)}function Lc(n,e){e.split(/\s+/).forEach(i=>i&&n.classList.remove(i));const t=n[O0];t&&(t.delete(e),t.size||(n[O0]=void 0))}function eC(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let uV=0;function tC(n,e,t,i){const r=n._endId=++uV,s=()=>{r===n._endId&&i()};if(t!=null)return setTimeout(s,t);const{type:o,timeout:a,propCount:l}=fV(n,e);if(!o)return i();const c=o+"end";let u=0;const f=()=>{n.removeEventListener(c,h),s()},h=p=>{p.target===n&&++u>=l&&f()};setTimeout(()=>{u<l&&f()},a+1),n.addEventListener(c,h)}function fV(n,e){const t=window.getComputedStyle(n),i=m=>(t[m]||"").split(", "),r=i(`${al}Delay`),s=i(`${al}Duration`),o=nC(r,s),a=i(`${hh}Delay`),l=i(`${hh}Duration`),c=nC(a,l);let u=null,f=0,h=0;e===al?o>0&&(u=al,f=o,h=s.length):e===hh?c>0&&(u=hh,f=c,h=l.length):(f=Math.max(o,c),u=f>0?o>c?al:hh:null,h=u?u===al?s.length:l.length:0);const p=u===al&&/\b(transform|all)(,|$)/.test(i(`${al}Property`).toString());return{type:u,timeout:f,propCount:h,hasTransform:p}}function nC(n,e){for(;n.length<e.length;)n=n.concat(n);return Math.max(...e.map((t,i)=>iC(t)+iC(n[i])))}function iC(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function rC(){return document.body.offsetHeight}function dV(n,e,t){const i=n[O0];i&&(e=(e?[e,...i]:[...i]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const dg=Symbol("_vod"),Q7=Symbol("_vsh"),hV={beforeMount(n,{value:e},{transition:t}){n[dg]=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):ph(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:i}){!e!=!t&&(i?e?(i.beforeEnter(n),ph(n,!0),i.enter(n)):i.leave(n,()=>{ph(n,!1)}):ph(n,e))},beforeUnmount(n,{value:e}){ph(n,e)}};function ph(n,e){n.style.display=e?n[dg]:"none",n[Q7]=!e}const W7=Symbol("");function dfe(n){const e=Do();if(!e)return;const t=e.ut=(r=n(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}
19"]`)).forEach(s=>hg(s,r))},i=()=>{const r=n(e.proxy);e.ce?hg(e.ce,r):Jy(e.subTree,r),t(r)};i7(()=>{sg(i)}),zs(()=>{ai(i,bo,{flush:"post"});const r=new MutationObserver(i);r.observe(e.subTree.el.parentNode,{childList:!0}),tl(()=>r.disconnect())})}function Jy(n,e){if(n.shapeFlag&128){const t=n.suspense;n=t.activeBranch,t.pendingBranch&&!t.isHydrating&&t.effects.push(()=>{Jy(t.activeBranch,e)})}for(;n.component;)n=n.component.subTree;if(n.shapeFlag&1&&n.el)hg(n.el,e);else if(n.type===Ii)n.children.forEach(t=>Jy(t,e));else if(n.type===jf){let{el:t,anchor:i}=n;for(;t&&(hg(t,e),t!==i);)t=t.nextSibling}}function hg(n,e){if(n.nodeType===1){const t=n.style;let i="";for(const r in e)t.setProperty(`--${r}`,e[r]),i+=`--${r}: ${e[r]};`;t[W7]=i}}const pV=/(^|;)\s*display\s*:/;function mV(n,e,t){const i=n.style,r=Kn(t);let s=!1;if(t&&!r){if(e)if(Kn(e))for(const o of e.split(";")){const a=o.slice(0,o.indexOf(":")).trim();t[a]==null&&F1(i,a,"")}else for(const o in e)t[o]==null&&F1(i,o,"");for(const o in t)o==="display"&&(s=!0),F1(i,o,t[o])}else if(r){if(e!==t){const o=i[W7];o&&(t+=";"+o),i.cssText=t,s=pV.test(t)}}else e&&n.removeAttribute("style");dg in n&&(n[dg]=s?i.display:"",n[Q7]&&(i.display="none"))}const sC=/\s*!important$/;function F1(n,e,t){if(Tt(t))t.forEach(i=>F1(n,e,i));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const i=gV(n,e);sC.test(t)?n.setProperty(Ru(i),t.replace(sC,""),"important"):n[i]=t}}const oC=["Webkit","Moz","ms"],I2={};function gV(n,e){const t=I2[e];if(t)return t;let i=ro(e);if(i!=="filter"&&i in n)return I2[e]=i;i=tA(i);for(let r=0;r<oC.length;r++){const s=oC[r]+i;if(s in n)return I2[e]=s}return e}const aC="http://www.w3.org/1999/xlink";function lC(n,e,t,i,r,s=yz(e)){i&&e.startsWith("xlink:")?t==null?n.removeAttributeNS(aC,e.slice(6,e.length)):n.setAttributeNS(aC,e,t):t==null||s&&!C6(t)?n.removeAttribute(e):n.setAttribute(e,s?"":Za(t)?String(t):t)}function cC(n,e,t,i,r){if(e==="innerHTML"||e==="textContent"){t!=null&&(n[e]=e==="innerHTML"?V7(t):t);return}const s=n.tagName;if(e==="value"&&s!=="PROGRESS"&&!s.includes("-")){const a=s==="OPTION"?n.getAttribute("value")||"":n.value,l=t==null?n.type==="checkbox"?"on":"":String(t);(a!==l||!("_value"in n))&&(n.value=l),t==null&&n.removeAttribute(e),n._value=t;return}let o=!1;if(t===""||t==null){const a=typeof n[e];a==="boolean"?t=C6(t):t==null&&a==="string"?(t="",o=!0):a==="number"&&(t=0,o=!0)}try{n[e]=t}catch{}o&&n.removeAttribute(r||e)}function AV(n,e,t,i){n.addEventListener(e,t,i)}function vV(n,e,t,i){n.removeEventListener(e,t,i)}const uC=Symbol("_vei");function yV(n,e,t,i,r=null){const s=n[uC]||(n[uC]={}),o=s[e];if(i&&o)o.value=i;else{const[a,l]=_V(e);if(i){const c=s[e]=CV(i,r);AV(n,a,c,l)}else o&&(vV(n,a,o,l),s[e]=void 0)}}const fC=/(?:Once|Passive|Capture)$/;function _V(n){let e;if(fC.test(n)){e={};let i;for(;i=n.match(fC);)n=n.slice(0,n.length-i[0].length),e[i[0].toLowerCase()]=!0}return[n[2]===":"?n.slice(3):Ru(n.slice(2)),e]}let P2=0;const bV=Promise.resolve(),xV=()=>P2||(bV.then(()=>P2=0),P2=Date.now());function CV(n,e){const t=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=t.attached)return;To(wV(i,t.value),e,5,[i])};return t.value=n,t.attached=xV(),t}function wV(n,e){if(Tt(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(i=>r=>!r._stopped&&i&&i(r))}else return e}const dC=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.charCodeAt(2)>96&&n.charCodeAt(2)<123,SV=(n,e,t,i,r,s)=>{const o=r==="svg";e==="class"?dV(n,i,o):e==="style"?mV(n,t,i):yp(e)?Vb(e)||yV(n,e,t,i,s):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):EV(n,e,i,o))?(cC(n,e,i),!n.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&lC(n,e,i,o,s,e!=="value")):n._isVueCE&&(/[A-Z]/.test(e)||!Kn(i))?cC(n,ro(e),i,s,e):(e==="true-value"?n._trueValue=i:e==="false-value"&&(n._falseValue=i),lC(n,e,i,o))};function EV(n,e,t,i){if(i)return!!(e==="innerHTML"||e==="textContent"||e in n&&dC(e)&&Et(t));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const r=n.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return dC(e)&&Kn(t)?!1:e in n}const j7=Ji({patchProp:SV},rV);let r0,hC=!1;function TV(){return r0||(r0=MH(j7))}function MV(){return r0=hC?r0:IH(j7),hC=!0,r0}const IV=(...n)=>{const e=TV().createApp(...n),{mount:t}=e;return e.mount=i=>{const r=X7(i);if(!r)return;const s=e._component;!Et(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=t(r,!1,q7(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},e},PV=(...n)=>{const e=MV().createApp(...n),{mount:t}=e;return e.mount=i=>{const r=X7(i);if(r)return t(r,!0,q7(r))},e};function q7(n){if(n instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&n instanceof MathMLElement)return"mathml"}function X7(n){return Kn(n)?document.querySelector(n):n}const RV=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,BV=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,DV=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function LV(n,e){if(n==="__proto__"||n==="constructor"&&e&&typeof e=="object"&&"prototype"in e){OV(n);return}return e}function OV(n){console.warn(`[destr] Dropping "${n}" key to prevent prototype pollution.`)}function pg(n,e={}
19){if(typeof n!="string")return n;const t=n.trim();if(n[0]==='"'&&n.endsWith('"')&&!n.includes("\\"))return t.slice(1,-1);if(t.length<=9){const i=t.toLowerCase();if(i==="true")return!0;if(i==="false")return!1;if(i==="undefined")return;if(i==="null")return null;if(i==="nan")return Number.NaN;if(i==="infinity")return Number.POSITIVE_INFINITY;if(i==="-infinity")return Number.NEGATIVE_INFINITY}if(!DV.test(n)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return n}try{if(RV.test(n)||BV.test(n)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(n,LV)}return JSON.parse(n)}catch(i){if(e.strict)throw i;return n}}const FV=/#/g,UV=/&/g,NV=/\//g,kV=/=/g,lx=/\+/g,zV=/%5e/gi,HV=/%60/gi,VV=/%7c/gi,GV=/%20/gi;function QV(n){return encodeURI(""+n).replace(VV,"|")}function e_(n){return QV(typeof n=="string"?n:JSON.stringify(n)).replace(lx,"%2B").replace(GV,"+").replace(FV,"%23").replace(UV,"%26").replace(HV,"`").replace(zV,"^").replace(NV,"%2F")}function R2(n){return e_(n).replace(kV,"%3D")}function mg(n=""){try{return decodeURIComponent(""+n)}catch{return""+n}}function WV(n){return mg(n.replace(lx," "))}function jV(n){return mg(n.replace(lx," "))}function Y7(n=""){const e={};n[0]==="?"&&(n=n.slice(1));for(const t of n.split("&")){const i=t.match(/([^=]+)=?(.*)/)||[];if(i.length<2)continue;const r=WV(i[1]);if(r==="__proto__"||r==="constructor")continue;const s=jV(i[2]||"");e[r]===void 0?e[r]=s:Array.isArray(e[r])?e[r].push(s):e[r]=[e[r],s]}return e}function qV(n,e){return(typeof e=="number"||typeof e=="boolean")&&(e=String(e)),e?Array.isArray(e)?e.map(t=>`${R2(n)}=${e_(t)}`).join("&"):`${R2(n)}=${e_(e)}`:R2(n)}function XV(n){return Object.keys(n).filter(e=>n[e]!==void 0).map(e=>qV(e,n[e])).filter(Boolean).join("&")}const YV=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,$7=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,$V=/^([/\\]\s*){2,}[^/\\]/,KV=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ZV=/\/$|\/\?|\/#/,JV=/^\.?\//;function ta(n,e={}){return typeof e=="boolean"&&(e={acceptRelative:e}),e.strict?YV.test(n):$7.test(n)||(e.acceptRelative?$V.test(n):!1)}function eG(n){return!!n&&KV.test(n)}function t_(n="",e){return e?ZV.test(n):n.endsWith("/")}function fA(n="",e){if(!e)return(t_(n)?n.slice(0,-1):n)||"/";if(!t_(n,!0))return n||"/";let t=n,i="";const r=n.indexOf("#");r>=0&&(t=n.slice(0,r),i=n.slice(r));const[s,...o]=t.split("?");return((s.endsWith("/")?s.slice(0,-1):s)||"/")+(o.length>0?`?${o.join("?")}`:"")+i}function gg(n="",e){if(!e)return n.endsWith("/")?n:n+"/";if(t_(n,!0))return n||"/";let t=n,i="";const r=n.indexOf("#");if(r>=0&&(t=n.slice(0,r),i=n.slice(r),!t))return i;const[s,...o]=t.split("?");return s+"/"+(o.length>0?`?${o.join("?")}`:"")+i}function tG(n=""){return n.startsWith("/")}function pC(n=""){return tG(n)?n:"/"+n}function nG(n,e){if(Z7(e)||ta(n))return n;const t=fA(e);return n.startsWith(t)?n:dA(t,n)}function mC(n,e){if(Z7(e))return n;const t=fA(e);if(!n.startsWith(t))return n;const i=n.slice(t.length);return i[0]==="/"?i:"/"+i}function K7(n,e){const t=aG(n),i={...Y7(t.search),...e};return t.search=XV(i),lG(t)}function Z7(n){return!n||n==="/"}function iG(n){return n&&n!=="/"}function dA(n,...e){let t=n||"";for(const i of e.filter(r=>iG(r)))if(t){const r=i.replace(JV,"");t=gg(t)+r}else t=i;return t}function J7(...n){var o,a,l,c;const e=/\/(?!\/)/,t=n.filter(Boolean),i=[];let r=0;for(const u of t)if(!(!u||u==="/")){for(const[f,h]of u.split(e).entries())if(!(!h||h===".")){if(h===".."){if(i.length===1&&ta(i[0]))continue;i.pop(),r--;continue}if(f===1&&((o=i[i.length-1])!=null&&o.endsWith(":/"))){i[i.length-1]+="/"+h;continue}i.push(h),r++}}let s=i.join("/");return r>=0?(a=t[0])!=null&&a.startsWith("/")&&!s.startsWith("/")?s="/"+s:(l=t[0])!=null&&l.startsWith("./")&&!s.startsWith("./")&&(s="./"+s):s="../".repeat(-1*r)+s,(c=t[t.length-1])!=null&&c.endsWith("/")&&!s.endsWith("/")&&(s+="/"),s}function rG(n){return sG(n,"https://")}function sG(n,e){let t=n.match($7);return t||(t=n.match(/^\/{2,}/)),t?e+n.slice(t[0].length):e+n}function oG(n,e,t={}){return t.trailingSlash||(n=gg(n),e=gg(e)),t.leadingSlash||(n=pC(n),e=pC(e)),t.encoding||(n=mg(n),e=mg(e)),n===e}const eT=Symbol.for("ufo:protocolRelative");function aG(n="",e){const t=n.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(t){const[,f,h=""]=t;return{protocol:f.toLowerCase(),pathname:h,href:f+h,auth:"",host:"",search:"",hash:""}}if(!ta(n,{acceptRelative:!0}))return gC(n);const[,i="",r,s=""]=n.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,o="",a=""]=s.match(/([^#/?]*)(.*)?/)||[];i==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:c,hash:u}=gC(a);return{protocol:i.toLowerCase(),auth:r?r.slice(0,Math.max(0,r.length-1)):"",host:o,pathname:l,search:c,hash:u,[eT]:!i}}function gC(n=""){const[e="",t="",i=""]=(n.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:e,search:t,hash:i}}function lG(n){const e=n.pathname||"",t=n.search?(n.search.startsWith("?")?""
19:"?")+n.search:"",i=n.hash||"",r=n.auth?n.auth+"@":"",s=n.host||"";return(n.protocol||n[eT]?(n.protocol||"")+"//":"")+r+s+e+t+i}class cG extends Error{constructor(e,t){super(e,t),this.name="FetchError",t!=null&&t.cause&&!this.cause&&(this.cause=t.cause)}}function uG(n){var l,c,u,f,h;const e=((l=n.error)==null?void 0:l.message)||((c=n.error)==null?void 0:c.toString())||"",t=((u=n.request)==null?void 0:u.method)||((f=n.options)==null?void 0:f.method)||"GET",i=((h=n.request)==null?void 0:h.url)||String(n.request)||"/",r=`[${t}] ${JSON.stringify(i)}`,s=n.response?`${n.response.status} ${n.response.statusText}`:"<no response>",o=`${r}: ${s}${e?` ${e}`:""}`,a=new cG(o,n.error?{cause:n.error}:void 0);for(const p of["request","options","response"])Object.defineProperty(a,p,{get(){return n[p]}});for(const[p,m]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,p,{get(){return n.response&&n.response[m]}});return a}const fG=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function AC(n="GET"){return fG.has(n.toUpperCase())}function dG(n){if(n===void 0)return!1;const e=typeof n;return e==="string"||e==="number"||e==="boolean"||e===null?!0:e!=="object"?!1:Array.isArray(n)?!0:n.buffer?!1:n.constructor&&n.constructor.name==="Object"||typeof n.toJSON=="function"}const hG=new Set(["image/svg","application/xml","application/xhtml","application/html"]),pG=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function mG(n=""){if(!n)return"json";const e=n.split(";").shift()||"";return pG.test(e)?"json":hG.has(e)||e.startsWith("text/")?"text":"blob"}function gG(n,e,t,i){const r=AG((e==null?void 0:e.headers)??(n==null?void 0:n.headers),t==null?void 0:t.headers,i);let s;return(t!=null&&t.query||t!=null&&t.params||e!=null&&e.params||e!=null&&e.query)&&(s={...t==null?void 0:t.params,...t==null?void 0:t.query,...e==null?void 0:e.params,...e==null?void 0:e.query}),{...t,...e,query:s,params:s,headers:r}}function AG(n,e,t){if(!e)return new t(n);const i=new t(e);if(n)for(const[r,s]of Symbol.iterator in n||Array.isArray(n)?n:new t(n))i.set(r,s);return i}async function Sm(n,e){if(e)if(Array.isArray(e))for(const t of e)await t(n);else await e(n)}const vG=new Set([408,409,425,429,500,502,503,504]),yG=new Set([101,204,205,304]);function tT(n={}){const{fetch:e=globalThis.fetch,Headers:t=globalThis.Headers,AbortController:i=globalThis.AbortController}=n;async function r(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let u;typeof a.options.retry=="number"?u=a.options.retry:u=AC(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(u>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):vG.has(f))){const h=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return h>0&&await new Promise(p=>setTimeout(p,h)),s(a.request,{...a.options,retry:u-1})}}const c=uG(a);throw Error.captureStackTrace&&Error.captureStackTrace(c,s),c}const s=async function(l,c={}){const u={request:l,options:gG(l,c,n.defaults,t),response:void 0,error:void 0};u.options.method&&(u.options.method=u.options.method.toUpperCase()),u.options.onRequest&&await Sm(u,u.options.onRequest),typeof u.request=="string"&&(u.options.baseURL&&(u.request=nG(u.request,u.options.baseURL)),u.options.query&&(u.request=K7(u.request,u.options.query),delete u.options.query),"query"in u.options&&delete u.options.query,"params"in u.options&&delete u.options.params),u.options.body&&AC(u.options.method)&&(dG(u.options.body)?(u.options.body=typeof u.options.body=="string"?u.options.body:JSON.stringify(u.options.body),u.options.headers=new t(u.options.headers||{}),u.options.headers.has("content-type")||u.options.headers.set("content-type","application/json"),u.options.headers.has("accept")||u.options.headers.set("accept","application/json")):("pipeTo"in u.options.body&&typeof u.options.body.pipeTo=="function"||typeof u.options.body.pipe=="function")&&("duplex"in u.options||(u.options.duplex="half")));let f;if(!u.options.signal&&u.options.timeout){const p=new i;f=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,p.abort(m)},u.options.timeout),u.options.signal=p.signal}try{u.response=await e(u.request,u.options)}catch(p){return u.error=p,u.options.onRequestError&&await Sm(u,u.options.onRequestError),await r(u)}finally{f&&clearTimeout(f)}if((u.response.body||u.response._bodyInit)&&!yG.has(u.response.status)&&u.options.method!=="HEAD"){const p=(u.options.parseResponse?"json":u.options.responseType)||mG(u.response.headers.get("content-type")||"");switch(p){case"json":{const m=await u.response.text(),v=u.options.parseResponse||pg;u.response._data=v(m);break}case"stream":{u.response._data=u.response.body||u.response._bodyInit;break}default:u.response._data=await u.response[p]()}}return u.options.onResponse&&await Sm(u,u.options.onResponse),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await Sm(u,u.options.onResponseError),await r(u)):u.response},o=async function(l,c){return(await s(l,c))._data};return o.raw=s,o.native=(...a)=>e(...a),o.create=(a={},l={})=>tT({...n,...l,defaults:{...n.defaults,...l.defaults,...a}}),o}const Ag=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),_G=Ag.fetch?(...n)=>Ag.fetch(...n):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),bG=Ag.Headers,xG=Ag.AbortController,CG=tT({fetch:_G,Headers:bG,AbortController:xG}),wG=CG,SG=()=>{var n;return((n=window==null?void 0:window.__NUXT__)==null?void 0:n.config)||{}},vg=SG().app,EG=()=>vg.baseURL,TG=()=>
19vg.buildAssetsDir,cx=(...n)=>J7(nT(),TG(),...n),nT=(...n)=>{const e=vg.cdnURL||vg.baseURL;return n.length?J7(e,...n):e};globalThis.__buildAssetsURL=cx,globalThis.__publicAssetsURL=nT;globalThis.$fetch||(globalThis.$fetch=wG.create({baseURL:EG()}));function n_(n,e={},t){for(const i in n){const r=n[i],s=t?`${t}:${i}`:i;typeof r=="object"&&r!==null?n_(r,e,s):typeof r=="function"&&(e[s]=r)}return e}const MG={run:n=>n()},IG=()=>MG,iT=typeof console.createTask<"u"?console.createTask:IG;function PG(n,e){const t=e.shift(),i=iT(t);return n.reduce((r,s)=>r.then(()=>i.run(()=>s(...e))),Promise.resolve())}function RG(n,e){const t=e.shift(),i=iT(t);return Promise.all(n.map(r=>i.run(()=>r(...e))))}function B2(n,e){for(const t of[...n])t(e)}class BG{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,i={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!i.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let i,r=(...s)=>(typeof i=="function"&&i(),i=void 0,r=void 0,t(...s));return i=this.hook(e,r),i}removeHook(e,t){if(this._hooks[e]){const i=this._hooks[e].indexOf(t);i!==-1&&this._hooks[e].splice(i,1),this._hooks[e].length===0&&delete this._hooks[e]}}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const i=this._hooks[e]||[];delete this._hooks[e];for(const r of i)this.hook(e,r)}deprecateHooks(e){Object.assign(this._deprecatedHooks,e);for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=n_(e),i=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of i.splice(0,i.length))r()}}removeHooks(e){const t=n_(e);for(const i in t)this.removeHook(i,t[i])}removeAllHooks(){for(const e in this._hooks)delete this._hooks[e]}callHook(e,...t){return t.unshift(e),this.callHookWith(PG,e,...t)}callHookParallel(e,...t){return t.unshift(e),this.callHookWith(RG,e,...t)}callHookWith(e,t,...i){const r=this._before||this._after?{name:t,args:i,context:{}}:void 0;this._before&&B2(this._before,r);const s=e(t in this._hooks?[...this._hooks[t]]:[],i);return s instanceof Promise?s.finally(()=>{this._after&&r&&B2(this._after,r)}):(this._after&&r&&B2(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}}function rT(){return new BG}function DG(n={}){let e,t=!1;const i=o=>{if(e&&e!==o)throw new Error("Context conflict")};let r;if(n.asyncContext){const o=n.AsyncLocalStorage||globalThis.AsyncLocalStorage;o?r=new o:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>
19{if(r){const o=r.getStore();if(o!==void 0)return o}return e};return{use:()=>{const o=s();if(o===void 0)throw new Error("Context is not available");return o},tryUse:()=>s(),set:(o,a)=>{a||i(o),e=o,t=!0},unset:()=>{e=void 0,t=!1},call:(o,a)=>{i(o),e=o;try{return r?r.run(o,a):a()}finally{t||(e=void 0)}},async callAsync(o,a){e=o;const l=()=>{e=o},c=()=>e===o?l:void 0;i_.add(c);try{const u=r?r.run(o,a):a();return t||(e=void 0),await u}finally{i_.delete(c)}}}}function LG(n={}){const e={};return{get(t,i={}){return e[t]||(e[t]=DG({...n,...i})),e[t]}}}const yg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},vC="__unctx__",OG=yg[vC]||(yg[vC]=LG()),FG=(n,e={})=>OG.get(n,e),yC="__unctx_async_handlers__",i_=yg[yC]||(yg[yC]=new Set);function qf(n){const e=[];for(const r of i_){const s=r();s&&e.push(s)}const t=()=>{for(const r of e)r()};let i=n();return i&&typeof i=="object"&&"catch"in i&&(i=i.catch(r=>{throw t(),r})),[i,t]}const r_=!1,UG=!1,NG={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},Bf={value:null,errorValue:null,deep:!0},kG=null,zG="#__nuxt",sT="nuxt-app",_C=36e5,HG="vite:preloadError";function oT(n=sT){return FG(n,{asyncContext:!1})}const VG="__nuxt_plugin";function GG(n){var r;let e=0;const t={_id:n.id||sT||"nuxt-app",_scope:_z(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.15.4"},get vue(){return t.vueApp.version}},payload:Fa({...((r=n.ssrContext)==null?void 0:r.payload)||{},data:Fa({}),state:so({}),once:new Set,_errors:Fa({})}),static:{data:{}},runWithContext(s){return t._scope.active&&!rA()?t._scope.run(()=>bC(t,s)):bC(t,s)},isHydrating:!0,deferHydration(){if(!t.isHydrating)return()=>{};e++;let s=!1;return()=>{if(!s&&(s=!0,e--,e===0))return t.isHydrating=!1,t.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Fa({}),_payloadRevivers:{},...n};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(t.payload[o],s[o]);break;default:t.payload[o]=s[o]}}t.hooks=rT(),t.hook=t.hooks.hook,t.callHook=t.hooks.callHook,t.provide=(s,o)=>{const a="$"+s;Em(t,a,o),Em(t.vueApp.config.globalProperties,a,o)},Em(t.vueApp,"$nuxt",t),Em(t.vueApp.config.globalProperties,"$nuxt",t);{window.addEventListener(HG,o=>{t.callHook("app:chunkError",{error:o.payload}),(t.isHydrating||o.payload.message.includes("Unable to preload CSS"))&&o.preventDefault()}),window.useNuxtApp=window.useNuxtApp||Tn;const s=t.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});t.hook("app:mounted",s)}const i=t.payload.config;return t.provide("config",i),t}function QG(n,e){e.hooks&&n.hooks.addHooks(e.hooks)}async function WG(n,e){if(typeof e=="function"){const{provide:t}=await n.runWithContext(()=>e(n))||{};if(t&&typeof t=="object")for(const i in t)n.provide(i,t[i])}}async function jG(n,e){const t=[],i=[],r=[],s=[];let o=0;async function a(l){var u;const c=((u=l.dependsOn)==null?void 0:u.filter(f=>e.some(h=>h._name===f)&&!t.includes(f)))??[];if(c.length>0)i.push([new Set(c),l]);else{const f=WG(n,l).then(async()=>{l._name&&(t.push(l._name),await Promise.all(i.map(async([h,p])=>{h.has(l._name)&&(h.delete(l._name),h.size===0&&(o++,await a(p)))})))});l.parallel?r.push(f.catch(h=>s.push(h))):await f}}for(const l of e)QG(n,l);for(const l of e)await a(l);if(await Promise.all(r),o)for(let l=0;l<o;l++)await Promise.all(r);if(s.length)throw s[0]}function oo(n){if(typeof n=="function")return n;const e=n._name||n.name;return delete n.name,Object.assign(n.setup||(()=>{}),n,{[VG]:!0,_name:e})}function bC(n,e,t){const i=()=>e();return oT(n._id).set(n),n.vueApp.runWithContext(i)}function qG(n){var t;let e;return m7()&&(e=(t=Do())==null?void 0:t.appContext.app.$nuxt),e=e||oT(n).tryUse(),e||null}function Tn(n){const e=qG(n);if(!e)throw new Error("[nuxt] instance unavailable");return e}function Bu(n){return Tn().$config}function Em(n,e,t){Object.defineProperty(n,e,{get:()=>t})}function XG(n,e){return{ctx:{table:n},matchAll:t=>lT(t,n)}}function aT(n){const e={};for(const t in n)e[t]=t==="dynamic"?new Map(Object.entries(n[t]).map(([i,r])=>[i,aT(r)])):new Map(Object.entries(n[t]));return e}function YG(n){return XG(aT(n))}function lT(n,e,t){n.endsWith("/")&&(n=n.slice(0,-1)||"/");const i=[];for(const[s,o]of xC(e.wildcard))(n===s||n.startsWith(s+"/"))&&i.push(o);for(const[s,o]of xC(e.dynamic))if(n.startsWith(s+"/")){const a="/"+n.slice(s.length).split("/").splice(2).join("/");i.push(...lT(a,o))}const r=e.static.get(n);
19return r&&i.push(r),i.filter(Boolean)}function xC(n){return[...n.entries()].sort((e,t)=>e[0].length-t[0].length)}function D2(n){if(n===null||typeof n!="object")return!1;const e=Object.getPrototypeOf(n);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in n?!1:Symbol.toStringTag in n?Object.prototype.toString.call(n)==="[object Module]":!0}function s_(n,e,t=".",i){if(!D2(e))return s_(n,{},t,i);const r=Object.assign({},e);for(const s in n){if(s==="__proto__"||s==="constructor")continue;const o=n[s];o!=null&&(i&&i(r,s,o,t)||(Array.isArray(o)&&Array.isArray(r[s])?r[s]=[...o,...r[s]]:D2(o)&&D2(r[s])?r[s]=s_(o,r[s],(t?`${t}.`:"")+s.toString(),i):r[s]=o))}return r}function $G(n){return(...e)=>e.reduce((t,i)=>s_(t,i,"",n),{})}const hA=$G();function KG(n,e){try{return e in n}catch{return!1}}class o_ extends Error{constructor(t,i={}){super(t,i);he(this,"statusCode",500);he(this,"fatal",!1);he(this,"unhandled",!1);he(this,"statusMessage");he(this,"data");he(this,"cause");i.cause&&!this.cause&&(this.cause=i.cause)}toJSON(){const t={message:this.message,statusCode:l_(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=cT(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}he(o_,"__h3_error__",!0);function a_(n){if(typeof n=="string")return new o_(n);if(ZG(n))return n;const e=new o_(n.message??n.statusMessage??"",{cause:n.cause||n});if(KG(n,"stack"))try{Object.defineProperty(e,"stack",{get(){return n.stack}})}catch{try{e.stack=n.stack}catch{}}if(n.data&&(e.data=n.data),n.statusCode?e.statusCode=l_(n.statusCode,e.statusCode):n.status&&(e.statusCode=l_(n.status,e.statusCode)),n.statusMessage?e.statusMessage=n.statusMessage:n.statusText&&(e.statusMessage=n.statusText),e.statusMessage){const t=e.statusMessage;cT(e.statusMessage)!==t&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return n.fatal!==void 0&&(e.fatal=n.fatal),n.unhandled!==void 0&&(e.unhandled=n.unhandled),e}function ZG(n){var e;return((e=n==null?void 0:n.constructor)==null?void 0:e.__h3_error__)===!0}const JG=/[^\u0009\u0020-\u007E]/g;function cT(n=""){return n.replace(JG,"")}function l_(n,e=200){return!n||(typeof n=="string"&&(n=Number.parseInt(n,10)),n<100||n>999)?e:n}const eQ=Symbol("layout-meta"),pA=Symbol("route"),As=()=>{var n;return(n=Tn())==null?void 0:n.$router},mA=()=>m7()?es(pA,Tn()._route):Tn()._route;const tQ=()=>{try{if(Tn()._processingMiddleware)return!0}catch{return!1}return!1},nQ=(n,e)=>{n||(n="/");const t=typeof n=="string"?n:"path"in n?c_(n):As().resolve(n).href;if(e!=null&&e.open){const{target:l="_blank",windowFeatures:c={}}=e.open,u=Object.entries(c).filter(([f,h])=>h!==void 0).map(([f,h])=>`${f.toLowerCase()}=${h}`).join(", ");return open(t,l,u),Promise.resolve()}const i=ta(t,{acceptRelative:!0}),r=(e==null?void 0:e.external)||i;if(r){if(!(e!=null&&e.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:l}=new URL(t,window.location.href);if(l&&eG(l))throw new Error(`Cannot navigate to a URL with '${l}' protocol.`)}const s=tQ();if(!r&&s)return e!=null&&e.replace?typeof n=="string"?{path:n,replace:!0}:{...n,replace:!0}:n;const o=As(),a=Tn();return r?(a._scope.stop(),e!=null&&e.replace?location.replace(t):location.href=t,s?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve()):e!=null&&e.replace?o.replace(n):o.push(n)};function c_(n){return K7(n.path||"",n.query||{})+(n.hash||"")}const uT="__nuxt_error",gA=()=>Jb(Tn().payload,"error"),Df=n=>{const e=Sp(n);try{const t=Tn(),i=gA();t.hooks.callHook("app:error",e),i.value=i.value||e}catch{throw e}return e},iQ=async(n={})=>{const e=Tn(),t=gA();e.callHook("app:error:cleared",n),n.redirect&&await As().replace(n.redirect),t.value=kG},rQ=n=>!!n&&typeof n=="object"&&uT in n,Sp=n=>{const e=a_(n);return Object.defineProperty(e,uT,{value:!0,configurable:!1,writable:!1}),e};function CC(n){const e=oQ(n),t=new ArrayBuffer(e.length),i=new DataView(t);for(let r=0;r<t.byteLength;r++)i.setUint8(r,e.charCodeAt(r));return t}const sQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
19+/";function oQ(n){n.length%4===0&&(n=n.replace(/==?$/,""));let e="",t=0,i=0;for(let r=0;r<n.length;r++)t<<=6,t|=sQ.indexOf(n[r]),i+=6,i===24&&(e+=String.fromCharCode((t&16711680)>>16),e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255),t=i=0);return i===12?(t>>=4,e+=String.fromCharCode(t)):i===18&&(t>>=2,e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255)),e}const aQ=-1,lQ=-2,cQ=-3,uQ=-4,fQ=-5,dQ=-6;function hQ(n,e){return pQ(JSON.parse(n),e)}function pQ(n,e){if(typeof n=="number")return r(n,!0);if(!Array.isArray(n)||n.length===0)throw new Error("Invalid input");const t=n,i=Array(t.length);function r(s,o=!1){if(s===aQ)return;if(s===cQ)return NaN;if(s===uQ)return 1/0;if(s===fQ)return-1/0;if(s===dQ)return-0;if(o)throw new Error("Invalid input");if(s in i)return i[s];const a=t[s];if(!a||typeof a!="object")i[s]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const l=a[0],c=e==null?void 0:e[l];if(c)return i[s]=c(r(a[1]));switch(l){case"Date":i[s]=new Date(a[1]);break;case"Set":const u=new Set;i[s]=u;for(let p=1;p<a.length;p+=1)u.add(r(a[p]));break;case"Map":const f=new Map;i[s]=f;for(let p=1;p<a.length;p+=2)f.set(r(a[p]),r(a[p+1]));break;case"RegExp":i[s]=new RegExp(a[1],a[2]);break;case"Object":i[s]=Object(a[1]);break;case"BigInt":i[s]=BigInt(a[1]);break;case"null":const h=Object.create(null);i[s]=h;for(let p=1;p<a.length;p+=2)h[a[p]]=r(a[p+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const p=globalThis[l],m=a[1],v=CC(m),A=new p(v);i[s]=A;break}case"ArrayBuffer":{const p=a[1],m=CC(p);i[s]=m;break}default:throw new Error(`Unknown type ${l}`)}}else{const l=new Array(a.length);i[s]=l;for(let c=0;c<a.length;c+=1){const u=a[c];u!==lQ&&(l[c]=r(u))}}else{const l={};i[s]=l;for(const c in a){const u=a[c];l[c]=r(u)}}return i[s]}return r(0)}function fT(n,e){const t=[],i=e.resolveKeyData||(s=>s.key),r=e.resolveValueData||(s=>s.value);for(const[s,o]of Object.entries(n))t.push(...(Array.isArray(o)?o:[o]).map(a=>{const l={key:s,value:a},c=r(l);return typeof c=="object"?fT(c,e):Array.isArray(c)?c:{[typeof e.key=="function"?e.key(l):e.key]:i(l),[typeof e.value=="function"?e.value(l):e.value]:c}}).flat());return t}function dT(n,e){return Object.entries(n).map(([t,i])=>{if(typeof i=="object"&&(i=dT(i,e)),e.resolve){const r=e.resolve({key:t,value:i});if(typeof r<"u")return r}return typeof i=="number"&&(i=i.toString()),typeof i=="string"&&e.wrapValue&&(i=i.replace(new RegExp(e.wrapValue,"g"),`\\${e.wrapValue}`),i=`${e.wrapValue}${i}${e.wrapValue}`),`${t}${e.keyValueSeparator||""}${i}`}).join(e.entrySeparator||"")}const mQ=new Set(["title","titleTemplate","script","style","noscript"]),U1=new Set(["base","meta","link","style","script","noscript"]),gQ=new Set(["title","titleTemplate","templateParams","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"]),AQ=new Set(["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"]),hT=new Set(["tagPosition","tagPriority","tagDuplicateStrategy","children","innerHTML","textContent","processTemplateParams"]),vQ=typeof window<"u";function _g(n){let e=9;for(let t=0;t<n.length;)e=Math.imul(e^n.charCodeAt(t++),9**9);return((e^e>>>9)+65536).toString(16).substring(1,8).toLowerCase()}function u_(n){if(n._h)return n._h;if(n._d)return _g(n._d);let e=`${n.tag}:${n.textContent||n.innerHTML||""}:`;for(const t in n.props)e+=`${t}:${String(n.props[t])},`;return _g(e)}const Fr=n=>({keyValue:n,metaKey:"property"}),L2=n=>({keyValue:n}),ux={appleItunesApp:{unpack:{entrySeparator:", ",resolve({key:n,value:e}){return`${ka(n)}=${e}`}}},articleExpirationTime:Fr("article:expiration_time"),articleModifiedTime:Fr("article:modified_time"),articlePublishedTime:Fr("article:published_time"),bookReleaseDate:Fr("book:release_date"),charset:{metaKey:"charset"},contentSecurityPolicy:{unpack:{entrySeparator:"; ",resolve({key:n,value:e}){return`${ka(n)} ${e}`}},metaKey:"http-equiv"},contentType:{metaKey:"http-equiv"},defaultStyle:{metaKey:"http-equiv"},fbAppId:Fr("fb:app_id"),msapplicationConfig:L2("msapplication-Config"),msapplicationTileColor:L2("msapplication-TileColor"),msapplicationTileImage:L2("msapplication-TileImage"),ogAudioSecureUrl:Fr("og:audio:secure_url"),ogAudioUrl:Fr("og:audio"),ogImageSecureUrl:Fr("og:image:secure_url"),ogImageUrl:Fr("og:image"),ogSiteName:Fr("og:site_name"),ogVideoSecureUrl:Fr("og:video:secure_url"),ogVideoUrl:Fr("og:video"),profileFirstName:Fr("profile:first_name"),profileLastName:Fr("profile:last_name"),profileUsername:Fr("profile:username"),refresh:{metaKey:"http-equiv",unpack:{entrySeparator:";",resolve({key:n,value:e}){if(n==="seconds")return`${e}`}}},robots:{unpack:{entrySeparator:", ",resolve({key:n,value:e}){return typeof e=="boolean"?`${ka(n)}`:`${ka(n)}:${e}`}}},xUaCompatible:{metaKey:"http-equiv"}},pT=new Set(["og","book","article","profile"]);function mT(n){var i;const e=ka(n),t=e.indexOf(":");return pT.has(e.substring(0,t))?"property":((i=ux[n])==null?void 0:i.metaKey)||"name"}function yQ(n){var e;return((e=ux[n])==null?void 0:e.keyValue)||ka(n)}function ka(n){const e=n.replace(/([A-Z])/g,"-$1").toLowerCase(),t=e.indexOf("-"),i=e.substring(0,t);return i==="twitter"||pT.has(i)?n.replace(/([A-Z])/g,":$1").toLowerCase():e}function f_(n){if(Array.isArray(n))return n.map(t=>f_(t));if(typeof n!="object"||Array.isArray(n))return n;const e={};for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[ka(t)]=f_(n[t]));return e}function _Q(n,e){const t=ux[e];return e==="refresh"?`${n.seconds};url=${n.url}`:dT(f_(n),{keyValueSeparator:"=",entrySeparator:", ",resolve({value:i,key:r}){if(i===null)return"";if(typeof i=="boolean")return`${r}`},...t==null?void 0:t.unpack})}const gT=new Set(["og:image","og:video","og:audio","twitter:image"]);function AT(n){const e={};for(const t in n){if(!Object.prototype.hasOwnProperty.call(n,t))continue;const i=n[t];String(i)!=="false"&&t&&(e[t]=i)}return e}function wC(n,e){const t=AT(e),i=ka(n),r=mT(i);if(gT.has(i)){const s={};for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(s[`${n}${o==="url"?"":`${o[0].toUpperCase()}${o.slice(1)}`}`]=t[o]);return fx(s).sort((o,a)=>{var l,c;return(((l=o[r])==null?void 0:l.length)||0)-(((c=a[r])==null?void 0:c.length)||0)})}return[{[r]:i,...t}]}function fx(n){const e=[],t={};for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const s=n[r];if(!Array.isArray(s)){if(typeof s=="object"&&s){if(gT.has(ka(r))){e.push(...wC(r,s));continue}t[r]=AT(s)}else t[r]=s;continue}
19for(const o of s)e.push(...typeof o=="string"?fx({[r]:o}):wC(r,o))}const i=fT(t,{key({key:r}){return mT(r)},value({key:r}){return r==="charset"?"charset":"content"},resolveKeyData({key:r}){return yQ(r)},resolveValueData({value:r,key:s}){return r===null?"_null":typeof r=="object"?_Q(r,s):typeof r=="number"?r.toString():r}});return[...e,...i].map(r=>(r.content==="_null"&&(r.content=null),r))}function bQ(n,e){return n instanceof Promise?n.then(e):e(n)}function d_(n,e,t,i){const r=i||yT(typeof e=="object"&&typeof e!="function"&&!(e instanceof Promise)?{...e}:{[n==="script"||n==="noscript"||n==="style"?"innerHTML":"textContent"]:e},n==="templateParams"||n==="titleTemplate");if(r instanceof Promise)return r.then(o=>d_(n,e,t,o));const s={tag:n,props:r};for(const o of hT){const a=s.props[o]!==void 0?s.props[o]:t[o];a!==void 0&&((!(o==="innerHTML"||o==="textContent"||o==="children")||mQ.has(s.tag))&&(s[o==="children"?"innerHTML":o]=a),delete s.props[o])}return s.props.body&&(s.tagPosition="bodyClose",delete s.props.body),s.tag==="script"&&typeof s.innerHTML=="object"&&(s.innerHTML=JSON.stringify(s.innerHTML),s.props.type=s.props.type||"application/json"),Array.isArray(s.props.content)?s.props.content.map(o=>({...s,props:{...s.props,content:o}})):s}function xQ(n,e){var i;const t=n==="class"?" ":";";return e&&typeof e=="object"&&!Array.isArray(e)&&(e=Object.entries(e).filter(([,r])=>r).map(([r,s])=>n==="style"?`${r}:${s}`:r)),(i=String(Array.isArray(e)?e.join(t):e))==null?void 0:i.split(t).filter(r=>!!r.trim()).join(t)}function vT(n,e,t,i){for(let r=i;r<t.length;r+=1){const s=t[r];if(s==="class"||s==="style"){n[s]=xQ(s,n[s]);continue}if(n[s]instanceof Promise)return n[s].then(o=>(n[s]=o,vT(n,e,t,r)));if(!e&&!hT.has(s)){const o=String(n[s]),a=s.startsWith("data-");o==="true"||o===""?n[s]=a?"true":!0:n[s]||(a&&o==="false"?n[s]="false":delete n[s])}}}function yT(n,e=!1){const t=vT(n,e,Object.keys(n),0);return t instanceof Promise?t.then(()=>n):n}const CQ=10;function _T(n,e,t){for(let i=t;i<e.length;i+=1){const r=e[i];if(r instanceof Promise)return r.then(s=>(e[i]=s,_T(n,e,i)));Array.isArray(r)?n.push(...r):n.push(r)}}function wQ(n){const e=[],t=n.resolvedInput;for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const s=t[r];
19if(!(s===void 0||!gQ.has(r))){if(Array.isArray(s)){for(const o of s)e.push(d_(r,o,n));continue}e.push(d_(r,s,n))}}if(e.length===0)return[];const i=[];return bQ(_T(i,e,0),()=>i.map((r,s)=>(r._e=n._i,n.mode&&(r._m=n.mode),r._p=(n._i<<CQ)+s,r)))}const SC=new Set(["onload","onerror","onabort","onprogress","onloadstart"]),EC={base:-10,title:10},TC={critical:-80,high:-10,low:20};function bg(n){const e=n.tagPriority;if(typeof e=="number")return e;let t=100;return n.tag==="meta"?n.props["http-equiv"]==="content-security-policy"?t=-30:n.props.charset?t=-20:n.props.name==="viewport"&&(t=-15):n.tag==="link"&&n.props.rel==="preconnect"?t=20:n.tag in EC&&(t=EC[n.tag]),e&&e in TC?t+TC[e]:t}const SQ=[{prefix:"before:",offset:-1},{prefix:"after:",offset:1}],EQ=["name","property","http-equiv"];function bT(n){const{props:e,tag:t}=n;if(AQ.has(t))return t;if(t==="link"&&e.rel==="canonical")return"canonical";if(e.charset)return"charset";if(e.id)return`${t}:id:${e.id}`;for(const i of EQ)if(e[i]!==void 0)return`${t}:${i}:${e[i]}`;return!1}const Cl="%separator";function TQ(n,e,t=!1){var r;let i;if(e==="s"||e==="pageTitle")i=n.pageTitle;else if(e.includes(".")){const s=e.indexOf(".");i=(r=n[e.substring(0,s)])==null?void 0:r[e.substring(s+1)]}else i=n[e];if(i!==void 0)return t?(i||"").replace(/"/g,'\\"'):i||""}const MQ=new RegExp(`${Cl}(?:\\s*${Cl})*`,"g");function Tm(n,e,t,i=!1){if(typeof n!="string"||!n.includes("%"))return n;let r=n;try{r=decodeURI(n)}catch{}const s=r.match(/%\w+(?:\.\w+)?/g);if(!s)return n;const o=n.includes(Cl);return n=n.replace(/%\w+(?:\.\w+)?/g,a=>{if(a===Cl||!s.includes(a))return a;const l=TQ(e,a.slice(1),i);return l!==void 0?l:a}).trim(),o&&(n.endsWith(Cl)&&(n=n.slice(0,-Cl.length)),n.startsWith(Cl)&&(n=n.slice(Cl.length)),n=n.replace(MQ,t).trim()),n}function MC(n,e){return n==null?e||null:typeof n=="function"?n(e):n}async function xT(n,e={}){const t=e.document||n.resolvedOptions.document;if(!t||!n.dirty)return;const i={shouldRender:!0,tags:[]};if(await n.hooks.callHook("dom:beforeRender",i),!!i.shouldRender)return n._domUpdatePromise||(n._domUpdatePromise=new Promise(async r=>{var f;const s=(await n.resolveTags()).map(h=>({tag:h,id:U1.has(h.tag)?u_(h):h.tag,shouldRender:!0}));let o=n._dom;if(!o){o={elMap:{htmlAttrs:t.documentElement,bodyAttrs:t.body}};const h=new Set;for(const p of["body","head"]){const m=(f=t[p])==null?void 0:f.children;for(const v of m){const A=v.tagName.toLowerCase();if(!U1.has(A))continue;const y={tag:A,props:await yT(v.getAttributeNames().reduce((T,M)=>({...T,[M]:v.getAttribute(M)}),{})),innerHTML:v.innerHTML},x=bT(y);let b=x,_=1;for(;b&&h.has(b);)b=`${x}:${_++}`;b&&(y._d=b,h.add(b)),o.elMap[v.getAttribute("data-hid")||u_(y)]=v}}}o.pendingSideEffects={...o.sideEffects},o.sideEffects={};function a(h,p,m){const v=`${h}:${p}`;o.sideEffects[v]=m,delete o.pendingSideEffects[v]}function l({id:h,$el:p,tag:m}){const v=m.tag.endsWith("Attrs");if(o.elMap[h]=p,v||(m.textContent&&m.textContent!==p.textContent&&(p.textContent=m.textContent),m.innerHTML&&m.innerHTML!==p.innerHTML&&(p.innerHTML=m.innerHTML),a(h,"el",()=>{var A;(A=o.elMap[h])==null||A.remove(),delete o.elMap[h]})),m._eventHandlers)for(const A in m._eventHandlers)Object.prototype.hasOwnProperty.call(m._eventHandlers,A)&&p.getAttribute(`data-${A}`)!==""&&((m.tag==="bodyAttrs"?t.defaultView:p).addEventListener(A.substring(2),m._eventHandlers[A].bind(p)),p.setAttribute(`data-${A}`,""));for(const A in m.props){if(!Object.prototype.hasOwnProperty.call(m.props,A))continue;const y=m.props[A],x=`attr:${A}`;if(A==="class"){if(!y)continue;for(const b of y.split(" "))v&&a(h,`${x}:${b}`,()=>p.classList.remove(b)),!p.classList.contains(b)&&p.classList.add(b)}else if(A==="style"){if(!y)continue;for(const b of y.split(";")){const _=b.indexOf(":"),T=b.substring(0,_).trim(),M=b.substring(_+1).trim();a(h,`${x}:${T}`,()=>{p.style.removeProperty(T)}),p.style.setProperty(T,M)}}else p.getAttribute(A)!==y&&p.setAttribute(A,y===!0?"":String(y)),v&&a(h,x,()=>p.removeAttribute(A))}}const c=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const h of s){const{tag:p,shouldRender:m,id:v}=h;if(m){if(p.tag==="title"){t.title=p.textContent;continue}
19h.$el=h.$el||o.elMap[v],h.$el?l(h):U1.has(p.tag)&&c.push(h)}}for(const h of c){const p=h.tag.tagPosition||"head";h.$el=t.createElement(h.tag.tag),l(h),u[p]=u[p]||t.createDocumentFragment(),u[p].appendChild(h.$el)}for(const h of s)await n.hooks.callHook("dom:renderTag",h,t,a);u.head&&t.head.appendChild(u.head),u.bodyOpen&&t.body.insertBefore(u.bodyOpen,t.body.firstChild),u.bodyClose&&t.body.appendChild(u.bodyClose);for(const h in o.pendingSideEffects)o.pendingSideEffects[h]();n._dom=o,await n.hooks.callHook("dom:rendered",{renders:s}),r()}).finally(()=>{n._domUpdatePromise=void 0,n.dirty=!1})),n._domUpdatePromise}function IQ(n,e={}){const t=e.delayFn||(i=>setTimeout(i,10));return n._domDebouncedUpdatePromise=n._domDebouncedUpdatePromise||new Promise(i=>t(()=>xT(n,e).then(()=>{delete n._domDebouncedUpdatePromise,i()})))}function PQ(n){return e=>{var i,r;const t=((r=(i=e.resolvedOptions.document)==null?void 0:i.head.querySelector('script[id="unhead:payload"]'))==null?void 0:r.innerHTML)||!1;return t&&e.push(JSON.parse(t)),{mode:"client",hooks:{"entries:updated":s=>{IQ(s,n)}}}}}const RQ=new Set(["templateParams","htmlAttrs","bodyAttrs"]),BQ={hooks:{"tag:normalise":({tag:n})=>{n.props.hid&&(n.key=n.props.hid,delete n.props.hid),n.props.vmid&&(n.key=n.props.vmid,delete n.props.vmid),n.props.key&&(n.key=n.props.key,delete n.props.key);const e=bT(n);e&&!e.startsWith("meta:og:")&&!e.startsWith("meta:twitter:")&&delete n.key;const t=e||(n.key?`${n.tag}:${n.key}`:!1);t&&(n._d=t)},"tags:resolve":n=>{const e=Object.create(null);for(const i of n.tags){const r=(i.key?`${i.tag}:${i.key}`:i._d)||u_(i),s=e[r];if(s){let a=i==null?void 0:i.tagDuplicateStrategy;if(!a&&RQ.has(i.tag)&&(a="merge"),a==="merge"){const l=s.props;l.style&&i.props.style&&(l.style[l.style.length-1]!==";"&&(l.style+=";"),i.props.style=`${l.style} ${i.props.style}`),l.class&&i.props.class?i.props.class=`${l.class} ${i.props.class}`:l.class&&(i.props.class=l.class),e[r].props={...l,...i.props};continue}else if(i._e===s._e){s._duped=s._duped||[],i._d=`${s._d}:${s._duped.length+1}`,s._duped.push(i);continue}else if(bg(i)>bg(s))continue}if(!(i.innerHTML||i.textContent||Object.keys(i.props).length!==0)&&U1.has(i.tag)){delete e[r];continue}e[r]=i}const t=[];for(const i in e){const r=e[i],s=r._duped;t.push(r),s&&(delete r._duped,t.push(...s))}n.tags=t,n.tags=n.tags.filter(i=>!(i.tag==="meta"&&(i.props.name||i.props.property)&&!i.props.content))}}},DQ=new Set(["script","link","bodyAttrs"]),LQ=n=>({hooks:{"tags:resolve":e=>{for(const t of e.tags){if(!DQ.has(t.tag))continue;const i=t.props;for(const r in i){if(r[0]!=="o"||r[1]!=="n"||!Object.prototype.hasOwnProperty.call(i,r))continue;const s=i[r];typeof s=="function"&&(n.ssr&&SC.has(r)?i[r]=`this.dataset.${r}fired = true`:delete i[r],t._eventHandlers=t._eventHandlers||{},t._eventHandlers[r]=s)}n.ssr&&t._eventHandlers&&(t.props.src||t.props.href)&&(t.key=t.key||_g(t.props.src||t.props.href))}},"dom:renderTag":({$el:e,tag:t})=>{var r,s;const i=e==null?void 0:e.dataset;if(i)for(const o in i){if(!o.endsWith("fired"))continue;const a=o.slice(0,-5);SC.has(a)&&((s=(r=t._eventHandlers)==null?void 0:r[a])==null||s.call(e,new Event(a.substring(2))))}}}}),OQ=new Set(["link","style","script","noscript"]),FQ={hooks:{"tag:normalise":({tag:n})=>{n.key&&OQ.has(n.tag)&&(n.props["data-hid"]=n._h=_g(n.key))}}},UQ={mode:"server",hooks:{"tags:beforeResolve":n=>{const e={};let t=!1;for(const i of n.tags)i._m!=="server"||i.tag!=="titleTemplate"&&i.tag!=="templateParams"&&i.tag!=="title"||(e[i.tag]=i.tag==="title"||i.tag==="titleTemplate"?i.textContent:i.props,t=!0);t&&n.tags.push({tag:"script",innerHTML:JSON.stringify(e),props:{id:"unhead:payload",type:"application/json"}})}}},NQ={hooks:{"tags:resolve":n=>{var e;for(const t of n.tags)if(typeof t.tagPriority=="string")for(const{prefix:i,offset:r}of SQ){if(!t.tagPriority.startsWith(i))continue;const s=t.tagPriority.substring(i.length),o=(e=n.tags.find(a=>a._d===s))==null?void 0:e._p;if(o!==void 0){t._p=o+r;break}}n.tags.sort((t,i)=>{const r=bg(t),s=bg(i);return r<s?-1:r>s?1:t._p-i._p})}}},kQ={meta:"content",link:"href",htmlAttrs:"lang"},zQ=["innerHTML","textContent"],HQ=n=>({hooks:{"tags:resolve":e=>{var o;const{tags:t}=e;let i;for(let a=0;a<t.length;a+=1)t[a].tag==="templateParams"&&(i=e.tags.splice(a,1)[0].props,a-=1);const r=i||{},s=r.separator||"|";delete r.separator,r.pageTitle=Tm(r.pageTitle||((o=t.find(a=>a.tag==="title"))==null?void 0:o.textContent)||"",r,s);for(const a of t){if(a.processTemplateParams===!1)continue;const l=kQ[a.tag];if(l&&typeof a.props[l]=="string")a.props[l]=Tm(a.props[l],r,s);else if(a.processTemplateParams||a.tag==="titleTemplate"||a.tag==="title")for(const c of zQ)typeof a[c]=="string"&&(a[c]=Tm(a[c],r,s,a.tag==="script"&&a.props.type.endsWith("json")))}n._templateParams=r,n._separator=s},"tags:afterResolve":({tags:e})=>{let t;for(let i=0;i<e.length;i+=1){const r=e[i];r.tag==="title"&&r.processTemplateParams!==!1&&(t=r)}t!=null&&t.textContent&&(t.textContent=Tm(t.textContent,n._templateParams,n._separator))}}}),VQ={hooks:{"tags:resolve":n=>{const{tags:e}=n;let t,i;for(let r=0;r<e.length;r+=1){const s=e[r];s.tag==="title"?t=s:s.tag==="titleTemplate"&&(i=s)}if(i&&t){const r=MC(i.textContent,t.textContent);r!==null?t.textContent=r||t.textContent:n.tags.splice(n.tags.indexOf(t),1)}else if(i){const r=MC(i.textContent);r!==null&&(i.textContent=r,i.tag="title",i=void 0)}i&&n.tags.splice(n.tags.indexOf(i),1)}}},GQ={hooks:{"tags:afterResolve":n=>{for(const e of n.tags)typeof e.innerHTML=="string"&&(e.innerHTML&&(e.props.type==="application/ld+json"||e.props.type==="application/json")?e.innerHTML=e.innerHTML.replace(/</g,"\\u003C"):e.innerHTML=e.innerHTML.replace(new RegExp(`</${e.tag}`,"g"),`<\\/${e.tag}`))}}};let CT;function QQ(n={}){const e=WQ(n);return e.use(PQ()),CT=e}function IC(n,e){return!n||n==="server"&&e||n==="client"&&!e}function WQ(n={}){const e=rT();e.addHooks(n.hooks||{}),n.document=n.document||(vQ?document:void 0);const t=!n.document,i=()=>{a.dirty=!0,e.callHook("entries:updated",a)};let r=0,s=[];const o=[],a={plugins:o,dirty:!1,resolvedOptions:n,hooks:e,headEntries(){return s},use(l){const c=typeof l=="function"?l(a):l;(!c.key||!o.some(u=>u.key===c.key))&&(o.push(c),IC(c.mode,t)&&e.addHooks(c.hooks||{}))},push(l,c){c==null||delete c.head;const u={_i:r++,input:l,...c};return IC(u.mode,t)&&(s.push(u),i()),{dispose(){s=s.filter(f=>f._i!==u._i),i()},patch(f){for(const h of s)h._i===u._i&&(h.input=u.input=f);i()}}},async resolveTags(){const l={tags:[],entries:[...s]};await e.callHook("entries:resolve",l);for(const c of l.entries){const u=c.resolvedInput||c.input;if(c.resolvedInput=await(c.transform?c.transform(u):u),c.resolvedInput)for(const f of await wQ(c)){const h={tag:f,entry:c,resolvedOptions:a.resolvedOptions};await e.callHook("tag:normalise",h),l.tags.push(h.tag)}}return await e.callHook("tags:beforeResolve",l),await e.callHook("tags:resolve",l),await e.callHook("tags:afterResolve",l),l.tags},ssr:t};return[BQ,UQ,LQ,FQ,NQ,HQ,VQ,GQ,...(n==null?void 0:n.plugins)||[]].forEac
19h(l=>a.use(l)),a.hooks.callHook("init",a),a}function jQ(){return CT}const qQ=H7[0]==="3";function XQ(n){return typeof n=="function"?n():qt(n)}function xg(n){if(n instanceof Promise||n instanceof Date||n instanceof RegExp)return n;const e=XQ(n);if(!n||!e)return e;if(Array.isArray(e))return e.map(t=>xg(t));if(typeof e=="object"){const t={};for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(i==="titleTemplate"||i[0]==="o"&&i[1]==="n"){t[i]=qt(e[i]);continue}t[i]=xg(e[i])}return t}return e}const YQ={hooks:{"entries:resolve":n=>{for(const e of n.entries)e.resolvedInput=xg(e.input)}}},wT="usehead";function $Q(n){return{install(t){qQ&&(t.config.globalProperties.$unhead=n,t.config.globalProperties.$head=n,t.provide(wT,n))}}.install}function KQ(n={}){n.domDelayFn=n.domDelayFn||(t=>Ja(()=>setTimeout(()=>t(),0)));const e=QQ(n);return e.use(YQ),e.install=$Q(e),e}const h_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},p_="__unhead_injection_handler__";function ZQ(n){h_[p_]=n}function JQ(){return p_ in h_?h_[p_]():es(wT)||jQ()}function ST(n,e={}){const t=e.head||JQ();if(t)return t.ssr?t.push(n,e):eW(t,n,e)}function eW(n,e,t={}){const i=gt(!1),r=gt({});aA(()=>{r.value=i.value?{}:xg(e)});const s=n.push(r.value,t);return ai(r,a=>{s.patch(a)}),Do()&&(wp(()=>{s.dispose()}),t7(()=>{i.value=!0}),e7(()=>{i.value=!1})),s}function tW(n,e){const{title:t,titleTemplate:i,...r}=n;return ST({title:t,titleTemplate:i,_flatMeta:r},{...e,transform(s){const o=fx({...s._flatMeta});return delete s._flatMeta,{...s,meta:o}}})}const nW="modulepreload",iW=function(n,e){return new URL(n,e).href},PC={},Sr=function(e,t,i){let r=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(t.map(c=>{if(c=iW(c,i),c in PC)return;PC[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(!!i)for(let m=o.length-1;m>=0;m--){const v=o[m];if(v.href===c&&(!u||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=u?"stylesheet":nW,u||(p.as="script"),p.crossOrigin="",p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),u)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return r.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return e().catch(s)})};let N1,k1;function rW(){return N1=$fetch(cx(`builds/meta/${Bu().app.buildId}.json`),{responseType:"json"}),N1.then(n=>{k1=YG(n.matcher)}).catch(n=>{console.error("[nuxt] Error fetching app manifest.",n)}),N1}function AA(){return N1||rW()}async function dx(n){const e=typeof n=="string"?n:n.path;if(await AA(),!k1)return console.error("[nuxt] Error creating app manifest matcher.",k1),{};try{return hA({},...k1.matchAll(e).reverse())}catch(t){return console.error("[nuxt] Error matching route rules.",t),{}}}async function RC(n,e={}){const t=await oW(n,e),i=Tn(),r=i._payloadCache=i._payloadCache||{};return t in r?r[t]||null:(r[t]=TT(n).then(s=>s?ET(t).then(o=>o||(delete r[t],null)):(r[t]=null,null)),r[t])}const sW="_payload.json";async function oW(n,e={}){const t=new URL(n,"http://localhost");if(t.host!=="localhost"||ta(t.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+n);const i=Bu(),r=e.hash||(e.fresh?Date.now():i.app.buildId),s=i.app.cdnURL,o=s&&await TT(n)?s:i.app.baseURL;return dA(o,t.pathname,sW+(r?`?${r}`:""))}async function ET(n){const e=fetch(n).then(t=>t.text().then(MT));try{return await e}catch(t){console.warn("[nuxt] Cannot load payload ",n,t)}return null}async function TT(n=mA().path){const e=Tn();return n=fA(n),(await AA()).prerendered.includes(n)?!0:e.runWithContext(async()=>{const i=await dx({path:n});return!!i.prerender&&!i.redirect})}let Oc=null;async function aW(){var i;if(Oc)return Oc;const n=document.getElementById("__NUXT_DATA__");if(!n)return{};const e=await MT(n.textContent||""),t=n.dataset.src?await ET(n.dataset.src):void 0;return Oc={...e,...t,...window.__NUXT__},(i=Oc.config)!=null&&i.public&&(Oc.config.public=so(Oc.config.public)),Oc}async function MT(n){return await hQ(n,Tn()._payloadRevivers)}function lW(n,e){Tn()._payloadRevivers[n]=e}const cW=[["NuxtError",n=>Sp(n)],["EmptyShallowRef",n=>ds(n==="_"?void 0:n==="0n"?BigInt(0):pg(n))],["EmptyRef",n=>gt(n==="_"?void 0:n==="0n"?BigInt(0):pg(n))],["ShallowRef",n=>ds(n)],["ShallowReactive",n=>Fa(n)],["Ref",n=>gt(n)],["Reactive",n=>so(n)]],uW=oo({name:"nuxt:revive-payload:client",order:-30,async setup(n){let e,t;for(const[i,r]of cW)lW(i,r);Object.assign(n.payload,([e,t]=qf(()=>n.runWithContext(aW)),e=await e,t(),e)),window.__NUXT__=n.payload}}),fW=[],dW=oo({name:"nuxt:head",enforce:"pre",setup(n){const e=KQ({plugins:fW});ZQ(()=>Tn().vueApp._context.provides.usehead),n.vueApp.use(e);{let t=!0;const i=async()=>{t=!1,await xT(e)};e.hooks.hook("dom:beforeRender",r=>{r.shouldRender=!t}),n.hooks.hook("page:start",()=>{t=!0}),n.hooks.hook("page:finish",()=>{n.isHydrating||i()}),n.hooks.hook("app:error",i),n.hooks.hook("app:suspense:resolve",i)}}});/*! 20 * vue-router v4.5.0 21 * (c) 2024 Eduardo San Martin Morote 22 * @license MIT 23 */const Sf=typeof document<"u";function IT(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function hW(n){return n.__esModule||n[Symbol.toStringTag]==="Module"||n.default&&IT(n.default)}const hn=Object.assign;function O2(n,e){const t={};for(const i in e){const r=e[i];t[i]=Mo(r)?r.map(n):n(r)}return t}const s0=()=>{},Mo=Array.isArray,PT=/#/g,pW=/&/g,mW=/\//g,gW=/=/g,AW=/\?/g,RT=/\+/g,vW=/%5B/g,yW=/%5D/g,BT=/%5E/g,_W=/%60/g,DT=/%7B/g,bW=/%7C/g,LT=/%7D/g,xW=/%20/g;function hx(n){return encodeURI(""+n).replace(bW,"|").replace(vW,"[").replace(yW,"]")}function CW(n){return hx(n).replace(DT,"{").replace(LT,"}").replace(BT,"^")}function m_(n){return hx(n).replace(RT,"%2B").replace(xW,"+").replace(PT,"%23").replace(pW,"%26").replace(_W,"`").replace(DT,"{").replace(LT,"}").replace(BT,"^")}function wW(n){return m_(n).replace(gW,"%3D")}function SW(n){return hx(n).replace(PT,"%23").replace(AW,"%3F")}function EW(n){return n==null?"":SW(n).replace(mW,"%2F")}function F0(n){try{return decodeURIComponent(""+n)}catch{}return""+n}const TW=/\/$/,MW=n=>n.replace(TW,"");function F2(n,e,t="/"){let i,r={},s="",o="";const a=e.indexOf("#");let l=e.indexOf("?");return a<l&&a>=0&&(l=-1),l>-1&&(i=e.slice(0,l),s=e.slice(l+1,a>-1?a:e.length),r=n(s)),a>-1&&(i=i||e.slice(0,a),o=e.slice(a,e.length)),i=BW(i??e,t),{fullPath:i+(s&&"?")+s+o,path:i,query:r,hash:F0(o)}}function IW(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function BC(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function PW(n,e,t){const i=e.matched.length-1,r=t.matched.length-1;return i>-1&&i===r&&pd(e.matched[i],t.matched[r])&&OT(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function pd(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function OT(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!RW(n[t],e[t]))return!1;return!0}function RW(n,e){return Mo(n)?DC(n,e):Mo(e)?DC(e,n):n===e}function DC(n,e){return Mo(e)?n.length===e.length&&n.every((t,i)=>t===e[i]):n.length===1&&n[0]===e}function BW(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),i=n.split("/"),r=i[i.length-1];(r===".."||r===".")&&i.push("");let s=t.length-1,o,a;for(o=0;o<i.length;o++)if(a=i[o],a!==".")if(a==="..")s>1&&s--;else break;return t.slice(0,s).join("/")+"/"+i.slice(o).join("/")}const Ao={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var U0;(function(n){n.pop="pop",n.push="push"})(U0||(U0={}));var o0;
vendor: 9,773 bytes, line 23
23(function(n){n.back="back",n.forward="forward",n.unknown=""})(o0||(o0={}));function DW(n){if(!n)if(Sf){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),MW(n)}const LW=/^[^#]+#/;function OW(n,e){return n.replace(LW,"#")+e}function FW(n,e){const t=document.documentElement.getBoundingClientRect(),i=n.getBoundingClientRect();return{behavior:e.behavior,left:i.left-t.left-(e.left||0),top:i.top-t.top-(e.top||0)}}const vA=()=>({left:window.scrollX,top:window.scrollY});function UW(n){let e;if("el"in n){const t=n.el,i=typeof t=="string"&&t.startsWith("#"),r=typeof t=="string"?i?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!r)return;e=FW(r,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function LC(n,e){return(history.state?history.state.position-e:-1)+n}const g_=new Map;function NW(n,e){g_.set(n,e)}function kW(n){const e=g_.get(n);return g_.delete(n),e}let zW=()=>location.protocol+"//"+location.host;function FT(n,e){const{pathname:t,search:i,hash:r}=e,s=n.indexOf("#");if(s>-1){let a=r.includes(n.slice(s))?n.slice(s).length:1,l=r.slice(a);return l[0]!=="/"&&(l="/"+l),BC(l,"")}return BC(t,n)+i+r}function HW(n,e,t,i){let r=[],s=[],o=null;const a=({state:h})=>{const p=FT(n,location),m=t.value,v=e.value;let A=0;if(h){if(t.value=p,e.value=h,o&&o===m){o=null;return}A=v?h.position-v.position:0}else i(p);r.forEach(y=>{y(t.value,m,{delta:A,type:U0.pop,direction:A?A>0?o0.forward:o0.back:o0.unknown})})};function l(){o=t.value}function c(h){r.push(h);const p=()=>{const m=r.indexOf(h);m>-1&&r.splice(m,1)};return s.push(p),p}function u(){const{history:h}=window;h.state&&h.replaceState(hn({},h.state,{scroll:vA()}),"")}function f(){for(const h of s)h();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:f}}function OC(n,e,t,i=!1,r=!1){return{back:n,current:e,forward:t,replaced:i,position:window.history.length,scroll:r?vA():null}}function VW(n){const{history:e,location:t}=window,i={value:FT(n,t)},r={value:e.state};r.value||s(i.value,{back:null,current:i.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function s(l,c,u){const f=n.indexOf("#"),h=f>-1?(t.host&&document.querySelector("base")?n:n.slice(f))+l:zW()+n+l;try{e[u?"replaceState":"pushState"](c,"",h),r.value=c}catch(p){console.error(p),t[u?"replace":"assign"](h)}}function o(l,c){const u=hn({},e.state,OC(r.value.back,l,r.value.forward,!0),c,{position:r.value.position});s(l,u,!0),i.value=l}function a(l,c){const u=hn({},r.value,e.state,{forward:l,scroll:vA()});s(u.current,u,!0);const f=hn({},OC(i.value,l,null),{position:u.position+1},c);s(l,f,!1),i.value=l}return{location:i,state:r,push:a,replace:o}}function GW(n){n=DW(n);const e=VW(n),t=HW(n,e.state,e.location,e.replace);function i(s,o=!0){o||t.pauseListeners(),history.go(s)}const r=hn({location:"",base:n,go:i,createHref:OW.bind(null,n)},e,t);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>e.state.value}),r}function QW(n){return typeof n=="string"||n&&typeof n=="object"}function UT(n){return typeof n=="string"||typeof n=="symbol"}const NT=Symbol("");var FC;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(FC||(FC={}));function md(n,e){return hn(new Error,{type:n,[NT]:!0},e)}function ga(n,e){return n instanceof Error&&NT in n&&(e==null||!!(n.type&e))}const UC="[^/]+?",WW={sensitive:!1,strict:!1,start:!0,end:!0},jW=/[.+*?^${}()[\]/\\]/g;function qW(n,e){const t=hn({},WW,e),i=[];let r=t.start?"^":"";const s=[];for(const c of n){const u=c.length?[]:[90];t.strict&&!c.length&&(r+="/");for(let f=0;f<c.length;f++){const h=c[f];let p=40+(t.sensitive?.25:0);if(h.type===0)f||(r+="/"),r+=h.value.replace(jW,"\\$&"),p+=40;else if(h.type===1){const{value:m,repeatable:v,optional:A,regexp:y}=h;s.push({name:m,repeatable:v,optional:A});const x=y||UC;if(x!==UC){p+=10;try{new RegExp(`(${x})`)}catch(_){throw new Error(`Invalid custom RegExp for param "${m}" (${x}): `+_.message)}}let b=v?`((?:${x})(?:/(?:${x}))*)`:`(${x})`;f||(b=A&&c.length<2?`(?:/${b})`:"/"+b),A&&(b+="?"),r+=b,p+=20,A&&(p+=-8),v&&(p+=-20),x===".*"&&(p+=-50)}u.push(p)}i.push(u)}if(t.strict&&t.end){const c=i.length-1;i[c][i[c].length-1]+=.7000000000000001}t.strict||(r+="/?"),t.end?r+="$":t.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,t.sensitive?"":"i");function a(c){const u=c.match(o),f={};if(!u)return null;for(let h=1;h<u.length;h++){const p=u[h]||"",m=s[h-1];f[m.name]=p&&m.repeatable?p.split("/"):p}return f}function l(c){let u="",f=!1;for(const h of n){(!f||!u.endsWith("/"))&&(u+="/"),f=!1;for(const p of h)if(p.type===0)u+=p.value;else if(p.type===1){const{value:m,repeatable:v,optional:A}=p,y=m in c?c[m]:"";if(Mo(y)&&!v)throw new Error(`Provided param "${m}" is an array but it is not repeatable (* or + modifiers)`);const x=Mo(y)?y.join("/"):y;if(!x)if(A)h.length<2&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${m}"`);u+=x}}return u||"/"}return{re:o,score:i,keys:s,parse:a,stringify:l}}function XW(n,e){let t=0;for(;t<n.length&&t<e.length;){const i=e[t]-n[t];if(i)return i;t++}return n.length<e.length?n.length===1&&n[0]===80?-1:1:n.length>e.length?e.length===1&&e[0]===80?1:-1:0}function kT(n,e){let t=0;const i=n.score,r=e.score;for(;t<i.length&&t<r.length;){const s=XW(i[t],r[t]);if(s)return s;t++}if(Math.abs(r.length-i.length)===1){if(NC(i))return 1;if(NC(r))return-1}return r.length-i.length}function NC(n){const e=n[n.length-1];return n.length>0&&e[e.length-1]<0}const YW={type:0,value:""},$W=/[a-zA-Z0-9_]/;function KW(n){if(!n)return[[]];if(n==="/")return[[YW]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(p){throw new Error(`ERR (${t})/"${c}": ${p}`)}let t=0,i=t;const r=[];let s;function o(){s&&r.push(s),s=[]}let a=0,l,c="",u="";function f(){c&&(t===0?s.push({type:0,value:c}):t===1||t===2||t===3?(s.length>1&&(l==="*"||l==="+")&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):e("Invalid state to consume buffer"),c="")}function h(){c+=l}for(;a<n.length;){if(l=n[a++],l==="\\"&&t!==2){i=t,t=4;continue}switch(t){case 0:l==="/"?(c&&f(),o()):l===":"?(f(),t=1):h();break;case 4:h(),t=i;break;case 1:l==="("?t=2:$W.test(l)?h():(f(),t=0,l!=="*"&&l!=="?"&&l!=="+"&&a--);break;case 2:l===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+l:t=3:u+=l;break;case 3:f(),t=0,l!=="*"&&l!=="?"&&l!=="+"&&a--,u="";break;default:e("Unknown state");break}}return t===2&&e(`Unfinished custom RegExp for param "${c}"`),f(),o(),r}function ZW(n,e,t){const i=qW(KW(n.path),t),r=hn(i,{record:n,parent:e,children:[],alias:[]});return e&&!r.record.aliasOf==!e.record.aliasOf&&e.children.push(r),r}function JW(n,e){const t=[],i=new Map;e=VC({strict:!1,end:!0,sensitive:!1},e);function r(f){return i.get(f)}function s(f,h,p){const m=!p,v=zC(f);v.aliasOf=p&&p.record;const A=VC(e,f),y=[v];if("alias"in f){const _=typeof f.alias=="string"?[f.alias]:f.alias;for(const T of _)y.push(zC(hn({},v,{components:p?p.record.components:v.components,path:T,aliasOf:p?p.record:v})))}let x,b;for(const _ of y){const{path:T}=_;if(h&&T[0]!=="/"){const M=h.record.path,I=M[M.length-1]==="/"?"":"/";_.path=h.record.path+(T&&I+T)}if(x=ZW(_,h,A),p?p.alias.push(x):(b=b||x,b!==x&&b.alias.push(x),m&&f.name&&!HC(x)&&o(f.name)),zT(x)&&l(x),v.children){const M=v.children;for(let I=0;I<M.length;I++)s(M[I],x,p&&p.children[I])}p=p||x}return b?()=>{o(b)}:s0}function o(f){if(UT(f)){const h=i.get(f);h&&(i.delete(f),t.splice(t.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=t.indexOf(f);h>-1&&(t.splice(h,1),f.record.name&&i.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function a(){return t}function l(f){const h=nj(f,t);t.splice(h,0,f),f.record.name&&!HC(f)&&i.set(f.record.name,f)}function c(f,h){let p,m={},v,A;if("name"in f&&f.name){if(p=i.get(f.name),!p)throw md(1,{location:f});A=p.record.name,m=hn(kC(h.params,p.keys.filter(b=>!b.optional).concat(p.parent?p.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),f.params&&kC(f.params,p.keys.map(b=>b.name))),v=p.stringify(m)}else if(f.path!=null)v=f.path,p=t.find(b=>b.re.test(v)),p&&(m=p.parse(v),A=p.record.name);else{if(p=h.name?i.get(h.name):t.find(b=>b.re.test(h.path)),!p)throw md(1,{location:f,currentLocation:h});A=p.record.name,m=hn({},h.params,f.params),v=p.stringify(m)}const y=[];let x=p;for(;x;)y.unshift(x.record),x=x.parent;return{name:A,path:v,params:m,matched:y,meta:tj(y)}}n.forEach(f=>s(f));function u(){t.length=0,i.clear()}return{addRoute:s,resolve:c,removeRoute:o,clearRoutes:u,getRoutes:a,getRecordMatcher:r}}function kC(n,e){const t={};for(const i of e)i in n&&(t[i]=n[i]);return t}function zC(n){const e={path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:n.aliasOf,beforeEnter:n.beforeEnter,props:ej(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function ej(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const i in n.components)e[i]=typeof t=="object"?t[i]:t;return e}function HC(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function tj(n){return n.reduce((e,t)=>
vendor: 4,592 bytes, line 23
23hn(e,t.meta),{})}function VC(n,e){const t={};for(const i in n)t[i]=i in e?e[i]:n[i];return t}function nj(n,e){let t=0,i=e.length;for(;t!==i;){const s=t+i>>1;kT(n,e[s])<0?i=s:t=s+1}const r=ij(n);return r&&(i=e.lastIndexOf(r,i-1)),i}function ij(n){let e=n;for(;e=e.parent;)if(zT(e)&&kT(n,e)===0)return e}function zT({record:n}){return!!(n.name||n.components&&Object.keys(n.components).length||n.redirect)}function rj(n){const e={};if(n===""||n==="?")return e;const i=(n[0]==="?"?n.slice(1):n).split("&");for(let r=0;r<i.length;++r){const s=i[r].replace(RT," "),o=s.indexOf("="),a=F0(o<0?s:s.slice(0,o)),l=o<0?null:F0(s.slice(o+1));if(a in e){let c=e[a];Mo(c)||(c=e[a]=[c]),c.push(l)}else e[a]=l}return e}function GC(n){let e="";for(let t in n){const i=n[t];if(t=wW(t),i==null){i!==void 0&&(e+=(e.length?"&":"")+t);continue}(Mo(i)?i.map(s=>s&&m_(s)):[i&&m_(i)]).forEach(s=>{s!==void 0&&(e+=(e.length?"&":"")+t,s!=null&&(e+="="+s))})}return e}function sj(n){const e={};for(const t in n){const i=n[t];i!==void 0&&(e[t]=Mo(i)?i.map(r=>r==null?null:""+r):i==null?i:""+i)}return e}const oj=Symbol(""),QC=Symbol(""),px=Symbol(""),HT=Symbol(""),A_=Symbol("");function mh(){let n=[];function e(i){return n.push(i),()=>{const r=n.indexOf(i);r>-1&&n.splice(r,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function wl(n,e,t,i,r,s=o=>o()){const o=i&&(i.enterCallbacks[r]=i.enterCallbacks[r]||[]);return()=>new Promise((a,l)=>{const c=h=>{h===!1?l(md(4,{from:t,to:e})):h instanceof Error?l(h):QW(h)?l(md(2,{from:e,to:h})):(o&&i.enterCallbacks[r]===o&&typeof h=="function"&&o.push(h),a())},u=s(()=>n.call(i&&i.instances[r],e,t,c));let f=Promise.resolve(u);n.length<3&&(f=f.then(c)),f.catch(h=>l(h))})}function U2(n,e,t,i,r=s=>s()){const s=[];for(const o of n)for(const a in o.components){let l=o.components[a];if(!(e!=="beforeRouteEnter"&&!o.instances[a]))if(IT(l)){const u=(l.__vccOpts||l)[e];u&&s.push(wl(u,t,i,o,a,r))}else{let c=l();s.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const f=hW(u)?u.default:u;o.mods[a]=u,o.components[a]=f;const p=(f.__vccOpts||f)[e];return p&&wl(p,t,i,o,a,r)()}))}}return s}function WC(n){const e=es(px),t=es(HT),i=ii(()=>{const l=qt(n.to);return e.resolve(l)}),r=ii(()=>{const{matched:l}=i.value,{length:c}=l,u=l[c-1],f=t.matched;if(!u||!f.length)return-1;const h=f.findIndex(pd.bind(null,u));if(h>-1)return h;const p=jC(l[c-2]);return c>1&&jC(u)===p&&f[f.length-1].path!==p?f.findIndex(pd.bind(null,l[c-2])):h}),s=ii(()=>r.value>-1&&fj(t.params,i.value.params)),o=ii(()=>r.value>-1&&r.value===t.matched.length-1&&OT(t.params,i.value.params));function a(l={}){if(uj(l)){const c=e[qt(n.replace)?"replace":"push"](qt(n.to)).catch(s0);return n.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:i,href:ii(()=>i.value.href),isActive:s,isExactActive:o,navigate:a}}function aj(n){return n.length===1?n[0]:n}const lj=vs({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:WC,setup(n,{slots:e}){const t=so(WC(n)),{options:i}=es(px),r=ii(()=>({[qC(n.activeClass,i.linkActiveClass,"router-link-active")]:t.isActive,[qC(n.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const s=e.default&&aj(e.default(t));return n.custom?s:Mr("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:r.value},s)}}}),cj=lj;function uj(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function fj(n,e){for(const t in e){const i=e[t],r=n[t];if(typeof i=="string"){if(i!==r)return!1}else if(!Mo(r)||r.length!==i.length||i.some((s,o)=>s!==r[o]))return!1}return!0}function jC(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const qC=(n,e,t)=>n??e??t,dj=vs({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const i=es(A_),r=ii(()=>n.route||i.value),s=es(QC,0),o=ii(()=>{let c=qt(s);const{matched:u}=r.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=ii(()=>r.value.matched[o.value]);Va(QC,ii(()=>o.value+1)),Va(oj,a),Va(A_,r);const l=gt();return ai(()=>
vendor: 4,112 bytes, line 23
23[l.value,a.value,n.name],([c,u,f],[h,p,m])=>{u&&(u.instances[f]=c,p&&p!==u&&c&&c===h&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!pd(u,p)||!h)&&(u.enterCallbacks[f]||[]).forEach(v=>v(c))},{flush:"post"}),()=>{const c=r.value,u=n.name,f=a.value,h=f&&f.components[u];if(!h)return XC(t.default,{Component:h,route:c});const p=f.props[u],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,A=Mr(h,hn({},m,e,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return XC(t.default,{Component:A,route:c})||A}}});function XC(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const VT=dj;function hj(n){const e=JW(n.routes,n),t=n.parseQuery||rj,i=n.stringifyQuery||GC,r=n.history,s=mh(),o=mh(),a=mh(),l=ds(Ao);let c=Ao;Sf&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=O2.bind(null,Z=>""+Z),f=O2.bind(null,EW),h=O2.bind(null,F0);function p(Z,Ae){let we,be;return UT(Z)?(we=e.getRecordMatcher(Z),be=Ae):be=Z,e.addRoute(be,we)}function m(Z){const Ae=e.getRecordMatcher(Z);Ae&&e.removeRoute(Ae)}function v(){return e.getRoutes().map(Z=>Z.record)}function A(Z){return!!e.getRecordMatcher(Z)}function y(Z,Ae){if(Ae=hn({},Ae||l.value),typeof Z=="string"){const B=F2(t,Z,Ae.path),le=e.resolve({path:B.path},Ae),ve=r.createHref(B.fullPath);return hn(B,le,{params:h(le.params),hash:F0(B.hash),redirectedFrom:void 0,href:ve})}let we;if(Z.path!=null)we=hn({},Z,{path:F2(t,Z.path,Ae.path).path});else{const B=hn({},Z.params);for(const le in B)B[le]==null&&delete B[le];we=hn({},Z,{params:f(B)}),Ae.params=f(Ae.params)}const be=e.resolve(we,Ae),qe=Z.hash||"";be.params=u(h(be.params));const rt=IW(i,hn({},Z,{hash:CW(qe),path:be.path})),q=r.createHref(rt);return hn({fullPath:rt,hash:qe,query:i===GC?sj(Z.query):Z.query||{}},be,{redirectedFrom:void 0,href:q})}function x(Z){return typeof Z=="string"?F2(t,Z,l.value.path):hn({},Z)}function b(Z,Ae){if(c!==Z)return md(8,{from:Ae,to:Z})}function _(Z){return I(Z)}function T(Z){return _(hn(x(Z),{replace:!0}))}function M(Z){const Ae=Z.matched[Z.matched.length-1];if(Ae&&Ae.redirect){const{redirect:we}=Ae;let be=typeof we=="function"?we(Z):we;return typeof be=="string"&&(be=be.includes("?")||be.includes("#")?be=x(be):{path:be},be.params={}),hn({query:Z.query,hash:Z.hash,params:be.path!=null?{}:Z.params},be)}}function I(Z,Ae){const we=c=y(Z),be=l.value,qe=Z.state,rt=Z.force,q=Z.replace===!0,B=M(we);if(B)return I(hn(x(B),{state:typeof B=="object"?hn({},qe,B.state):qe,force:rt,replace:q}),Ae||we);const le=we;le.redirectedFrom=Ae;let ve;return!rt&&PW(i,be,we)&&(ve=md(16,{to:le,from:be}),ye(be,be,!0,!1)),(ve?Promise.resolve(ve):E(le,be)).catch($=>ga($)?ga($,2)?$:H($):W($,le,be)).then($=>{if($){if(ga($,2))return I(hn({replace:q},x($.to),{state:typeof $.to=="object"?hn({},qe,$.to.state):qe,force:rt}),Ae||le)}else $=L(le,be,!0,q,qe);return F(le,be,$),$})}function R(Z,Ae){const we=b(Z,Ae);return we?Promise.reject(we):Promise.resolve()}function w(Z){const Ae=oe.values().next().value;return Ae&&typeof Ae.runWithContext=="function"?Ae.runWithContext(Z):Z()}function E(Z,Ae){let we;const[be,qe,rt]=pj(Z,Ae);we=U2(be.reverse(),"beforeRouteLeave",Z,Ae);for(const B of be)B.leaveGuards.forEach(le=>{we.push(wl(le,Z,Ae))});const q=R.bind(null,Z,Ae);return we.push(q),Fe(we).then(()=>{we=[];for(const B of s.list())we.push(wl(B,Z,Ae));return we.push(q),Fe(we)}).then(()=>{we=U2(qe,"beforeRouteUpdate",Z,Ae);for(const B of qe)B.updateGuards.forEach(le=>{we.push(wl(le,Z,Ae))});return we.push(q),Fe(we)}).then(()=>{we=[];for(const B of rt)if(B.beforeEnter)if(Mo(B.beforeEnter))for(const le of B.beforeEnter)we.push(wl(le,Z,Ae));else we.push(wl(B.beforeEnter,Z,Ae));return we.push(q),Fe(we)}).then(()=>(Z.matched.forEach(B=>B.enterCallbacks={}),we=U2(rt,"beforeRouteEnter",Z,Ae,w),we.push(q),Fe(we))).then(()=>{we=[];for(const B of o.list())we.push(wl(B,Z,Ae));return we.push(q),Fe(we)}).catch(B=>ga(B,8)?B:Promise.reject(B))}function F(Z,Ae,we){a.list().forEach(be=>w(()=>be(Z,Ae,we)))}function L(Z,Ae,we,be,qe){const rt=b(Z,Ae);
23if(rt)return rt;const q=Ae===Ao,B=Sf?history.state:{};we&&(be||q?r.replace(Z.fullPath,hn({scroll:q&&B&&B.scroll},qe)):r.push(Z.fullPath,qe)),l.value=Z,ye(Z,Ae,we,q),H()}let z;function V(){z||(z=r.listen((Z,Ae,we)=>{if(!_e.listening)return;const be=y(Z),qe=M(be);if(qe){I(hn(qe,{replace:!0,force:!0}),be).catch(s0);return}c=be;const rt=l.value;Sf&&NW(LC(rt.fullPath,we.delta),vA()),E(be,rt).catch(q=>ga(q,12)?q:ga(q,2)?(I(hn(x(q.to),{force:!0}),be).then(B=>{ga(B,20)&&!we.delta&&we.type===U0.pop&&r.go(-1,!1)}).catch(s0),Promise.reject()):(we.delta&&r.go(-we.delta,!1),W(q,be,rt))).then(q=>{q=q||L(be,rt,!1),q&&(we.delta&&!ga(q,8)?r.go(-we.delta,!1):we.type===U0.pop&&ga(q,20)&&r.go(-1,!1)),F(be,rt,q)}).catch(s0)}))}let j=mh(),N=mh(),Q;function W(Z,Ae,we){H(Z);const be=N.list();return be.length?be.forEach(qe=>qe(Z,Ae,we)):console.error(Z),Promise.reject(Z)}function ee(){return Q&&l.value!==Ao?Promise.resolve():new Promise((Z,Ae)=>{j.add([Z,Ae])})}function H(Z){return Q||(Q=!Z,V(),j.list().forEach(([Ae,we])=>Z?we(Z):Ae()),j.reset()),Z}function ye(Z,Ae,we,be){const{scrollBehavior:qe}=n;if(!Sf||!qe)return Promise.resolve();const rt=!we&&kW(LC(Z.fullPath,0))||(be||!we)&&history.state&&history.state.scroll||null;return Ja().then(()=>qe(Z,Ae,rt)).then(q=>q&&UW(q)).catch(q=>W(q,Z,Ae))}const Ie=Z=>r.go(Z);let ze;const oe=new Set,_e={currentRoute:l,listening:!0,addRoute:p,removeRoute:m,clearRoutes:e.clearRoutes,hasRoute:A,getRoutes:v,resolve:y,options:n,push:_,replace:T,go:Ie,back:()=>Ie(-1),forward:()=>Ie(1),beforeEach:s.add,beforeResolve:o.add,afterEach:a.add,onError:N.add,isReady:ee,install(Z){const Ae=this;Z.component("RouterLink",cj),Z.component("RouterView",VT),Z.config.globalProperties.$router=Ae,Object.defineProperty(Z.config.globalProperties,"$route",{enumerable:!0,get:()=>qt(l)}),Sf&&!ze&&l.value===Ao&&(ze=!0,_(r.location).catch(qe=>{}));const we={};for(const qe in Ao)Object.defineProperty(we,qe,{get:()=>l.value[qe],enumerable:!0});Z.provide(px,Ae),Z.provide(HT,Fa(we)),Z.provide(A_,l);const be=Z.unmount;oe.add(Z),Z.unmount=function(){oe.delete(Z),oe.size<1&&(c=Ao,z&&z(),z=null,l.value=Ao,ze=!1,Q=!1),be()}}};function Fe(Z){return Z.reduce((Ae,we)=>Ae.then(()=>w(we)),Promise.resolve())}return _e}function pj(n,e){const t=[],i=[],r=[],s=Math.max(e.matched.length,n.matched.length);for(let o=0;o<s;o++){const a=e.matched[o];a&&(n.matched.find(c=>pd(c,a))?i.push(a):t.push(a));const l=n.matched[o];l&&(e.matched.find(c=>pd(c,l))||r.push(l))}return[t,i,r]}const mj=/(:\w+)\([^)]+\)/g,gj=/(:\w+)[?+*]/g,Aj=/:\w+/g,vj=(n,e)=>e.path.replace(mj,"$1").replace(gj,"$1").replace(Aj,t=>{var i;return((i=n.params[t.slice(1)])==null?void 0:i.toString())||""}),v_=(n,e)=>{const t=n.route.matched.find(r=>{var s;return((s=r.components)==null?void 0:s.default)===n.Component.type}),i=e??(t==null?void 0:t.meta.key)??(t&&vj(n.route,t));return typeof i=="function"?i(n.route):i},yj=(n,e)=>({default:()=>n?Mr(lH,n===!0?{}:n,e):e});function mx(n){return Array.isArray(n)?n:[n]}const N2=[{name:"index",path:"/",component:()=>Sr(()=>import("./DNrMv7f2.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)},{name:"kitchen-sink",path:"/kitchen-sink",component:()=>Sr(()=>import("./BBifSB1m.js"),__vite__mapDeps([5,2,3,1,6]),import.meta.url)},{name:"legal-notice",path:"/legal-notice",component:()=>Sr(()=>import("./tWjw8LgI.js"),__vite__mapDeps([7,6,1,8,9]),import.meta.url)},{name:"put-your-hand-in-the-box-the-spirit-of-blueyard",path:"/put-your-hand-in-the-box-the-spirit-of-blueyard",component:()=>Sr(()=>import("./CipGBpuf.js"),__vite__mapDeps([10,6,1,8]),import.meta.url)}],_j=(n,e)=>({default:()=>{var t;return n?Mr(aV,n===!0?{}:n,e):(t=e.default)==null?void 0:t.call(e)}}),bj=/(:\w+)\([^)]+\)/g,xj=/(:\w+)[?+*]/g,Cj=/:\w+/g;function YC(n){const e=(n==null?void 0:n.meta.key)??n.path.replace(bj,"$1").replace(xj,"$1").replace(Cj,t=>{var i;return((i=n.params[t.slice(1)])==null?void 0:i.toString())||""});return typeof e=="function"?e(n):e}function wj(n,e){return n===e||e===Ao?!1:YC(n)!==YC(e)?!0:!n.matched.every((i,r)=>{var s,o;return i.components&&i.components.default===((o=(s=e.matched[r])==null?void 0:s.components)==null?void 0:o.default)})}const Sj={scrollBehavior(n,e,t){var c;const i=Tn(),r=((c=As().options)==null?void 0:c.scrollBehaviorType)??"auto";let s=t||void 0;const o=typeof n.meta.scrollToTop=="function"?n.meta.scrollToTop(n,e):n.meta.scrollToTop;if(!s&&e&&n&&o!==!1&&wj(n,e)&&(s={left:0,top:0}),n.path===e.path)return e.hash&&!n.hash?{left:0,top:0}:n.hash?{el:n.hash,top:$C(n.hash),behavior:r}:!1;const a=u=>!!(u.meta.pageTransition??r_),l=a(e)&&a(n)?"page:transition:finish":"page:finish";return new Promise(u=>{i.hooks.hookOnce(l,async()=>{await new Promise(f=>setTimeout(f,0)),n.hash&&(s={el:n.hash,top:$C(n.hash),behavior:r}),u(s)})})}};function $C(n){try{const e=document.querySelector(n);if(e)return(Number.parseFloat(getComputedStyle(e).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}const Ej={hashMode:!1,scrollBehaviorType:"auto"},Ws={...Ej,...Sj},Tj=async n=>{var l;let e,t;if(!((l=n.meta)!=null&&l.validate))return;const i=Tn(),r=As(),s=([e,t]=qf(()=>Promise.resolve(n.meta.validate(n))),e=await e,t(),e);if(s===!0)return;const o=Sp({statusCode:s&&s.statusCode||404,statusMessage:s&&s.statusMessage||`Page Not Found: ${n.fullPath}`,data:{path:n.fullPath}}),a=r.beforeResolve(c=>{if(a(),c===n){const u=r.afterEach(async()=>{u(),await i.runWithContext(()=>Df(o)),window==null||window.history.pushState({},"",n.fullPath)});return!1}})};function Sa(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function GT(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}/*! 24 * GSAP 3.14.2 25 * https://gsap.com 26 * 27 * @license Copyright 2008-2025, GreenSock. All rights reserved. 28 * Subject to the terms at https://gsap.com/standard-license 29 * @author: Jack Doyle, [email protected] 30*/var Us={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},gd={duration:.5,overwrite:!1,delay:0},gx,fr,Yn,Zo=1e8,Ir=1/Zo,y_=Math.PI*2,Mj=y_/4,Ij=0,QT=Math.sqrt,Pj=Math.cos,Rj=Math.sin,er=function(e){return typeof e=="string"},hi=function(e){return typeof e=="function"},qa=function(e){return typeof e=="number"},Ax=function(e){return typeof e>"u"},ea=function(e){return typeof e=="object"},hs=function(e){return e!==!1},vx=function(){return typeof window<"u"},Mm=function(e){return hi(e)||er(e)},WT=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},Pr=Array.isArray,Bj=/random\([^)]+\)/g,Dj=/,\s*/g,KC=/(?:-?\.?\d|\.)+/gi,jT=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Lf=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,k2=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,qT=/[+-]=-?[.\d]+/,Lj=/[^,'"\[\]\s]+/gi,Oj=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ri,Vo,__,yx,Ns={},Cg={},XT,YT=function(e){return(Cg=Ad(e,Ns))&&Dr},_x=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},N0=function(e,t){return!t&&console.warn(e)},$T=function(e,t){return e&&(Ns[e]=t)&&Cg&&(Cg[e]=t)||Ns},k0=function(){return 0},Fj={suppressEvents:!0,isStart:!0,kill:!1},z1={suppressEvents:!0,kill:!1},Uj={suppressEvents:!0},bx={},Ql=[],b_={},KT,Is={},z2={},ZC=30,H1=[],xx="",Cx=function(e){var t=e[0],i,r;if(ea(t)||hi(t)||(e=[e]),!(i=(t._gsap||{}).harness)){for(r=H1.length;r--&&!H1[r].targetTest(t););i=H1[r]}for(r=e.length;r--;)e[r]&&(e[r]._gsap||(e[r]._gsap=new bM(e[r],i)))||e.splice(r,1);return e},pu=function(e){return e._gsap||Cx(to(e))[0]._gsap},ZT=function(e,t,i){return(i=e[t])&&hi(i)?e[t]():Ax(i)&&e.getAttribute&&e.getAttribute(t)||i}
vendor: 4,134 bytes, line 30
30,ps=function(e,t){return(e=e.split(",")).forEach(t)||e},bi=function(e){return Math.round(e*1e5)/1e5||0},ni=function(e){return Math.round(e*1e7)/1e7||0},Xf=function(e,t){var i=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),i==="+"?e+r:i==="-"?e-r:i==="*"?e*r:e/r},Nj=function(e,t){for(var i=t.length,r=0;e.indexOf(t[r])<0&&++r<i;);return r<i},wg=function(){var e=Ql.length,t=Ql.slice(0),i,r;for(b_={},Ql.length=0,i=0;i<e;i++)r=t[i],r&&r._lazy&&(r.render(r._lazy[0],r._lazy[1],!0)._lazy=0)},wx=function(e){return!!(e._initted||e._startAt||e.add)},JT=function(e,t,i,r){Ql.length&&!fr&&wg(),e.render(t,i,!!(fr&&t<0&&wx(e))),Ql.length&&!fr&&wg()},eM=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(Lj).length<2?t:er(e)?e.trim():e},tM=function(e){return e},ks=function(e,t){for(var i in t)i in e||(e[i]=t[i]);return e},kj=function(e){return function(t,i){for(var r in i)r in t||r==="duration"&&e||r==="ease"||(t[r]=i[r])}},Ad=function(e,t){for(var i in t)e[i]=t[i];return e},JC=function n(e,t){for(var i in t)i!=="__proto__"&&i!=="constructor"&&i!=="prototype"&&(e[i]=ea(t[i])?n(e[i]||(e[i]={}),t[i]):t[i]);return e},Sg=function(e,t){var i={},r;for(r in e)r in t||(i[r]=e[r]);return i},a0=function(e){var t=e.parent||ri,i=e.keyframes?kj(Pr(e.keyframes)):ks;if(hs(e.inherit))for(;t;)i(e,t.vars.defaults),t=t.parent||t._dp;return e},zj=function(e,t){for(var i=e.length,r=i===t.length;r&&i--&&e[i]===t[i];);return i<0},nM=function(e,t,i,r,s){var o=e[r],a;if(s)for(a=t[s];o&&o[s]>a;)o=o._prev;return o?(t._next=o._next,o._next=t):(t._next=e[i],e[i]=t),t._next?t._next._prev=t:e[r]=t,t._prev=o,t.parent=t._dp=e,t},yA=function(e,t,i,r){i===void 0&&(i="_first"),r===void 0&&(r="_last");var s=t._prev,o=t._next;s?s._next=o:e[i]===t&&(e[i]=o),o?o._prev=s:e[r]===t&&(e[r]=s),t._next=t._prev=t.parent=null},Kl=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},mu=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var i=e;i;)i._dirty=1,i=i.parent;return e},Hj=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},x_=function(e,t,i,r){return e._startAt&&(fr?e._startAt.revert(z1):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},Vj=function n(e){return!e||e._ts&&n(e.parent)},ew=function(e){return e._repeat?vd(e._tTime,e=e.duration()+e._rDelay)*e:0},vd=function(e,t){var i=Math.floor(e=ni(e/t));return e&&i===e?i-1:i},Eg=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},_A=function(e){return e._end=ni(e._start+(e._tDur/Math.abs(e._ts||e._rts||Ir)||0))},bA=function(e,t){var i=e._dp;return i&&i.smoothChildTiming&&e._ts&&(e._start=ni(i._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),_A(e),i._dirty||mu(i,e)),e},iM=function(e,t){var i;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(i=Eg(e.rawTime(),t),(!t._dur||Ep(0,t.totalDuration(),i)-t._tTime>Ir)&&t.render(i,!0)),mu(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(i=e;i._dp;)i.rawTime()>=0&&i.totalTime(i._tTime),i=i._dp;e._zTime=-1e-8}},Wo=function(e,t,i,r){return t.parent&&Kl(t),t._start=ni((qa(i)?i:i||e!==ri?qs(e,i,t):e._time)+t._delay),t._end=ni(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),nM(e,t,"_first","_last",e._sort?"_start":0),C_(t)||(e._recent=t),r||iM(e,t),e._ts<0&&bA(e,e._tTime),e},rM=function(e,t){return(Ns.ScrollTrigger||_x("scrollTrigger",t))&&Ns.ScrollTrigger.create(t,e)},sM=function(e,t,i,r,s){if(Ex(e,t,s),!e._initted)return 1;if(!i&&e._pt&&!fr&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&KT!==Bs.frame)return Ql.push(e),e._lazy=[s,r],1},Gj=function n(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||n(t))},C_=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},Qj=function(e,t,i,r){var s=e.ratio,o=t<0||!t&&(!e._start&&Gj(e)&&!(!e._initted&&C_(e))||(e._ts<0||e._dp._ts<0)&&!C_(e))?0:1,a=e._rDelay,l=0,c,u,f;if(a&&e._repeat&&(l=Ep(0,e._tDur,t),u=vd(l,a),e._yoyo&&u&1&&(o=1-o),u!==vd(e._tTime,a)&&(s=1-o,e.vars.repeatRefresh&&e._initted&&e.invali
vendor: 4,926 bytes, line 30
30date())),o!==s||fr||r||e._zTime===Ir||!t&&e._zTime){if(!e._initted&&sM(e,t,r,i,l))return;for(f=e._zTime,e._zTime=t||(i?Ir:0),i||(i=t&&!f),e.ratio=o,e._from&&(o=1-o),e._time=0,e._tTime=l,c=e._pt;c;)c.r(o,c.d),c=c._next;t<0&&x_(e,t,i,!0),e._onUpdate&&!i&&Ls(e,"onUpdate"),l&&e._repeat&&!i&&e.parent&&Ls(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===o&&(o&&Kl(e,1),!i&&!fr&&(Ls(e,o?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},Wj=function(e,t,i){var r;if(i>t)for(r=e._first;r&&r._start<=i;){if(r.data==="isPause"&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=i;){if(r.data==="isPause"&&r._start<t)return r;r=r._prev}},yd=function(e,t,i,r){var s=e._repeat,o=ni(t)||0,a=e._tTime/e._tDur;return a&&!r&&(e._time*=o/e._dur),e._dur=o,e._tDur=s?s<0?1e10:ni(o*(s+1)+e._rDelay*s):o,a>0&&!r&&bA(e,e._tTime=e._tDur*a),e.parent&&_A(e),i||mu(e.parent,e),e},tw=function(e){return e instanceof $r?mu(e):yd(e,e._dur)},jj={_start:0,endTime:k0,totalDuration:k0},qs=function n(e,t,i){var r=e.labels,s=e._recent||jj,o=e.duration()>=Zo?s.endTime(!1):e._dur,a,l,c;return er(t)&&(isNaN(t)||t in r)?(l=t.charAt(0),c=t.substr(-1)==="%",a=t.indexOf("="),l==="<"||l===">"?(a>=0&&(t=t.replace(/=/,"")),(l==="<"?s._start:s.endTime(s._repeat>=0))+(parseFloat(t.substr(1))||0)*(c?(a<0?s:i).totalDuration()/100:1)):a<0?(t in r||(r[t]=o),r[t]):(l=parseFloat(t.charAt(a-1)+t.substr(a+1)),c&&i&&(l=l/100*(Pr(i)?i[0]:i).totalDuration()),a>1?n(e,t.substr(0,a-1),i)+l:o+l)):t==null?o:+t},l0=function(e,t,i){var r=qa(t[1]),s=(r?2:1)+(e<2?0:1),o=t[s],a,l;if(r&&(o.duration=t[1]),o.parent=i,e){for(a=o,l=i;l&&!("immediateRender"in a);)a=l.vars.defaults||{},l=hs(l.vars.inherit)&&l.parent;o.immediateRender=hs(a.immediateRender),e<2?o.runBackwards=1:o.startAt=t[s-1]}return new Mi(t[0],o,t[s+1])},sc=function(e,t){return e||e===0?t(e):t},Ep=function(e,t,i){return i<e?e:i>t?t:i},Er=function(e,t){return!er(e)||!(t=Oj.exec(e))?"":t[1]},qj=function(e,t,i){return sc(i,function(r){return Ep(e,t,r)})},w_=[].slice,oM=function(e,t){return e&&ea(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&ea(e[0]))&&!e.nodeType&&e!==Vo},Xj=function(e,t,i){return i===void 0&&(i=[]),e.forEach(function(r){var s;return er(r)&&!t||oM(r,1)?(s=i).push.apply(s,to(r)):i.push(r)})||i},to=function(e,t,i){return Yn&&!t&&Yn.selector?Yn.selector(e):er(e)&&!i&&(__||!_d())?w_.call((t||yx).querySelectorAll(e),0):Pr(e)?Xj(e,i):oM(e)?w_.call(e,0):e?[e]:[]},S_=function(e){return e=to(e)[0]||N0("Invalid scope")||{},function(t){var i=e.current||e.nativeElement||e;return to(t,i.querySelectorAll?i:i===e?N0("Invalid scope")||yx.createElement("div"):e)}},aM=function(e){return e.sort(function(){return .5-Math.random()})},lM=function(e){if(hi(e))return e;var t=ea(e)?e:{each:e},i=gu(t.ease),r=t.from||0,s=parseFloat(t.base)||0,o={},a=r>0&&r<1,l=isNaN(r)||a,c=t.axis,u=r,f=r;return er(r)?u=f={center:.5,edges:.5,end:1}[r]||0:!a&&l&&(u=r[0],f=r[1]),function(h,p,m){var v=(m||t).length,A=o[v],y,x,b,_,T,M,I,R,w;if(!A){if(w=t.grid==="auto"?0:(t.grid||[1,Zo])[1],!w){for(I=-1e8;I<(I=m[w++].getBoundingClientRect().left)&&w<v;);w<v&&w--}for(A=o[v]=[],y=l?Math.min(w,v)*u-.5:r%w,x=w===Zo?0:l?v*f/w-.5:r/w|0,I=0,R=Zo,M=0;M<v;M++)b=M%w-y,_=x-(M/w|0),A[M]=T=c?Math.abs(c==="y"?_:b):QT(b*b+_*_),T>I&&(I=T),T<R&&(R=T);r==="random"&&aM(A),A.max=I-R,A.min=R,A.v=v=(parseFloat(t.amount)||parseFloat(t.each)*(w>v?v-1:c?c==="y"?v/w:w:Math.max(w,v/w))||0)*(r==="edges"?-1:1),A.b=v<0?s-v:s,A.u=Er(t.amount||t.each)||0,i=i&&v<0?vM(i):i}return v=(A[h]-A.min)/A.max||0,ni(A.b+(i?i(v):v)*A.v)+A.u}},E_=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(i){var r=ni(Math.round(parseFloat(i)/e)*e*t);return(r-r%1)/t+(qa(i)?0:Er(i))}},cM=function(e,t){var i=Pr(e),r,s;return!i&&ea(e)&&(r=i=e.radius||Zo,e.values?(e=to(e.values),(s=!qa(e[0]))&&(r*=r)):e=E_(e.increment)),sc(t,i?hi(e)?function(o){return s=e(o),Math.abs(s-o)<=r?s:o}:function(o){for(var a=parseFloat(s?o.x:o),l=parseFloat(s?o.y:0),c=Zo,u=0,f=e.length,h,p;f--;)s?(h=e[f].x-a,p=e[f].y-l,h=h*h+p*p):h=Math.abs(e[f]-a),h<c&&(c=h,u=f);return u=!r||c<=r?e[u]:o,s||u===o||qa(o)?u:u+Er(o)}:E_(e))},uM=function(e,t,i,r){return sc(Pr(e)?!t:i===!0?!!(i=0):!r,function(){return Pr(e)?e[~~(Math.random()*e.length)]:(i=i||1e-5)&&(r=i<1?Math.pow(10,(i+"").length-2):1)&&Math.floor(Math.round((e-i/2+Math.random()*(t-e+i*.99))/i)*i*r)/r})},Yj=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return function(r){return t.reduce(function(s,o){return o(s)},r)}},$j=function(e,t){return function(i){return e(parseFloat(i))+(t||Er(i))}},Kj=function(e,t,i){return dM(e,t,0,1,i)},fM=function(e,t,i){return sc(i,function(r){return e[~~t(r)]})},Zj=function n(e,t,i){var r=t-e;return Pr(e)?fM(e,n(0,e.length),t):sc(i,function(s){return(r+(s-e)%r)%r+e})},Jj=function n(e,t,i){var r=t-e,s=r*2;return Pr(e)?fM(e,n(0,e.length-1),t):sc(i,function(o){return o=(s+(o-e)%s)%s||
vendor: 4,137 bytes, line 30
300,e+(o>r?s-o:o)})},z0=function(e){return e.replace(Bj,function(t){var i=t.indexOf("[")+1,r=t.substring(i||7,i?t.indexOf("]"):t.length-1).split(Dj);return uM(i?r:+r[0],i?0:+r[1],+r[2]||1e-5)})},dM=function(e,t,i,r,s){var o=t-e,a=r-i;return sc(s,function(l){return i+((l-e)/o*a||0)})},eq=function n(e,t,i,r){var s=isNaN(e+t)?0:function(p){return(1-p)*e+p*t};if(!s){var o=er(e),a={},l,c,u,f,h;if(i===!0&&(r=1)&&(i=null),o)e={p:e},t={p:t};else if(Pr(e)&&!Pr(t)){for(u=[],f=e.length,h=f-2,c=1;c<f;c++)u.push(n(e[c-1],e[c]));f--,s=function(m){m*=f;var v=Math.min(h,~~m);return u[v](m-v)},i=t}else r||(e=Ad(Pr(e)?[]:{},e));if(!u){for(l in t)Sx.call(a,e,l,"get",t[l]);s=function(m){return Ix(m,a)||(o?e.p:e)}}}return sc(i,s)},nw=function(e,t,i){var r=e.labels,s=Zo,o,a,l;for(o in r)a=r[o]-t,a<0==!!i&&a&&s>(a=Math.abs(a))&&(l=o,s=a);return l},Ls=function(e,t,i){var r=e.vars,s=r[t],o=Yn,a=e._ctx,l,c,u;if(s)return l=r[t+"Params"],c=r.callbackScope||e,i&&Ql.length&&wg(),a&&(Yn=a),u=l?s.apply(c,l):s.call(c),Yn=o,u},zh=function(e){return Kl(e),e.scrollTrigger&&e.scrollTrigger.kill(!!fr),e.progress()<1&&Ls(e,"onInterrupt"),e},Of,hM=[],pM=function(e){if(e)if(e=!e.name&&e.default||e,vx()||e.headless){var t=e.name,i=hi(e),r=t&&!i&&e.init?function(){this._props=[]}:e,s={init:k0,render:Ix,add:Sx,kill:gq,modifier:mq,rawVars:0},o={targetTest:0,get:0,getSetter:Mx,aliases:{},register:0};if(_d(),e!==r){if(Is[t])return;ks(r,ks(Sg(e,s),o)),Ad(r.prototype,Ad(s,Sg(e,o))),Is[r.prop=t]=r,e.targetTest&&(H1.push(r),bx[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}$T(t,r),e.register&&e.register(Dr,r,ms)}else hM.push(e)},Pn=255,Hh={aqua:[0,Pn,Pn],lime:[0,Pn,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,Pn],navy:[0,0,128],white:[Pn,Pn,Pn],olive:[128,128,0],yellow:[Pn,Pn,0],orange:[Pn,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[Pn,0,0],pink:[Pn,192,203],cyan:[0,Pn,Pn],transparent:[Pn,Pn,Pn,0]},H2=function(e,t,i){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(i-t)*e*6:e<.5?i:e*3<2?t+(i-t)*(2/3-e)*6:t)*Pn+.5|0},mM=function(e,t,i){var r=e?qa(e)?[e>>16,e>>8&Pn,e&Pn]:0:Hh.black,s,o,a,l,c,u,f,h,p,m;if(!r){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),Hh[e])r=Hh[e];else if(e.charAt(0)==="#"){if(e.length<6&&(s=e.charAt(1),o=e.charAt(2),a=e.charAt(3),e="#"+s+s+o+o+a+a+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return r=parseInt(e.substr(1,6),16),[r>>16,r>>8&Pn,r&Pn,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),r=[e>>16,e>>8&Pn,e&Pn]}else if(e.substr(0,3)==="hsl"){if(r=m=e.match(KC),!t)l=+r[0]%360/360,c=+r[1]/100,u=+r[2]/100,o=u<=.5?u*(c+1):u+c-u*c,s=u*2-o,r.length>3&&(r[3]*=1),r[0]=H2(l+1/3,s,o),r[1]=H2(l,s,o),r[2]=H2(l-1/3,s,o);else if(~e.indexOf("="))return r=e.match(jT),i&&r.length<4&&(r[3]=1),r}else r=e.match(KC)||Hh.transparent;r=r.map(Number)}return t&&!m&&(s=r[0]/Pn,o=r[1]/Pn,a=r[2]/Pn,f=Math.max(s,o,a),h=Math.min(s,o,a),u=(f+h)/2,f===h?l=c=0:(p=f-h,c=u>.5?p/(2-f-h):p/(f+h),l=f===s?(o-a)/p+(o<a?6:0):f===o?(a-s)/p+2:(s-o)/p+4,l*=60),r[0]=~~(l+.5),r[1]=~~(c*100+.5),r[2]=~~(u*100+.5)),i&&r.length<4&&(r[3]=1),r},gM=function(e){var t=[],i=[],r=-1;return e.split(Wl).forEach(function(s){var o=s.match(Lf)||[];t.push.apply(t,o),i.push(r+=o.length+1)}),t.c=i,t},iw=function(e,t,i){var r="",s=(e+r).match(Wl),o=t?"hsla(":"rgba(",a=0,l,c,u,f;if(!s)return e;if(s=s.map(function(h){return(h=mM(h,t,1))&&o+(t?h[0]+","+h[1]+"%,"+h[2]+"%,"+h[3]:h.join(","))+")"}),i&&(u=gM(e),l=i.c,l.join(r)!==u.c.join(r)))for(c=e.replace(Wl,"1").split(Lf),f=c.length-1;a<f;a++)r+=c[a]+(~l.indexOf(a)?s.shift()||o+"0,0,0,0)":(u.length?u:s.length?s:i).shift());if(!c)for(c=e.split(Wl),f=c.length-1;a<f;a++)r+=c[a]+s[a];return r+c[f]},Wl=function(){var n="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in Hh)n+="|"+e+"\\b";return new RegExp(n+")","gi")}(),tq=/hsl[a]?\(/,AM=function(e){var t=e.join(" "),i;if(Wl.lastIndex=0,Wl.test(t))return i=tq.test(t),e[1]=iw(e[1],i),e[0]=iw(e[0],i,gM(e[1])),!0},H0,Bs=function(){var n=Date.now,e=500,t=33,i=n(),r=i,s=1e3/240,o=s,a=[],l,c,u,f,h,p,m=function v(A){var y=n()-r,x=A===!0,b,_,T,M;
vendor: 8,661 bytes, line 30
30if((y>e||y<0)&&(i+=y-t),r+=y,T=r-i,b=T-o,(b>0||x)&&(M=++f.frame,h=T-f.time*1e3,f.time=T=T/1e3,o+=b+(b>=s?4:s-b),_=1),x||(l=c(v)),_)for(p=0;p<a.length;p++)a[p](T,h,M,A)};return f={time:0,frame:0,tick:function(){m(!0)},deltaRatio:function(A){return h/(1e3/(A||60))},wake:function(){XT&&(!__&&vx()&&(Vo=__=window,yx=Vo.document||{},Ns.gsap=Dr,(Vo.gsapVersions||(Vo.gsapVersions=[])).push(Dr.version),YT(Cg||Vo.GreenSockGlobals||!Vo.gsap&&Vo||{}),hM.forEach(pM)),u=typeof requestAnimationFrame<"u"&&requestAnimationFrame,l&&f.sleep(),c=u||function(A){return setTimeout(A,o-f.time*1e3+1|0)},H0=1,m(2))},sleep:function(){(u?cancelAnimationFrame:clearTimeout)(l),H0=0,c=k0},lagSmoothing:function(A,y){e=A||1/0,t=Math.min(y||33,e)},fps:function(A){s=1e3/(A||240),o=f.time*1e3+s},add:function(A,y,x){var b=y?function(_,T,M,I){A(_,T,M,I),f.remove(b)}:A;return f.remove(A),a[x?"unshift":"push"](b),_d(),b},remove:function(A,y){~(y=a.indexOf(A))&&a.splice(y,1)&&p>=y&&p--},_listeners:a},f}(),_d=function(){return!H0&&Bs.wake()},Jt={},nq=/^[\d.\-M][\d.\-,\s]/,iq=/["']/g,rq=function(e){for(var t={},i=e.substr(1,e.length-3).split(":"),r=i[0],s=1,o=i.length,a,l,c;s<o;s++)l=i[s],a=s!==o-1?l.lastIndexOf(","):l.length,c=l.substr(0,a),t[r]=isNaN(c)?c.replace(iq,"").trim():+c,r=l.substr(a+1).trim();return t},sq=function(e){var t=e.indexOf("(")+1,i=e.indexOf(")"),r=e.indexOf("(",t);return e.substring(t,~r&&r<i?e.indexOf(")",i+1):i)},oq=function(e){var t=(e+"").split("("),i=Jt[t[0]];return i&&t.length>1&&i.config?i.config.apply(null,~e.indexOf("{")?[rq(t[1])]:sq(e).split(",").map(eM)):Jt._CE&&nq.test(e)?Jt._CE("",e):i},vM=function(e){return function(t){return 1-e(1-t)}},yM=function n(e,t){for(var i=e._first,r;i;)i instanceof $r?n(i,t):i.vars.yoyoEase&&(!i._yoyo||!i._repeat)&&i._yoyo!==t&&(i.timeline?n(i.timeline,t):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=t)),i=i._next},gu=function(e,t){return e&&(hi(e)?e:Jt[e]||oq(e))||t},Du=function(e,t,i,r){i===void 0&&(i=function(l){return 1-t(1-l)}),r===void 0&&(r=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var s={easeIn:t,easeOut:i,easeInOut:r},o;return ps(e,function(a){Jt[a]=Ns[a]=s,Jt[o=a.toLowerCase()]=i;for(var l in s)Jt[o+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=Jt[a+"."+l]=s[l]}),s},_M=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},V2=function n(e,t,i){var r=t>=1?t:1,s=(i||(e?.3:.45))/(t<1?t:1),o=s/y_*(Math.asin(1/r)||0),a=function(u){return u===1?1:r*Math.pow(2,-10*u)*Rj((u-o)*s)+1},l=e==="out"?a:e==="in"?function(c){return 1-a(1-c)}:_M(a);return s=y_/s,l.config=function(c,u){return n(e,c,u)},l},G2=function n(e,t){t===void 0&&(t=1.70158);var i=function(o){return o?--o*o*((t+1)*o+t)+1:0},r=e==="out"?i:e==="in"?function(s){return 1-i(1-s)}:_M(i);return r.config=function(s){return n(e,s)},r};ps("Linear,Quad,Cubic,Quart,Quint,Strong",function(n,e){var t=e<5?e+1:e;Du(n+",Power"+(t-1),e?function(i){return Math.pow(i,t)}:function(i){return i},function(i){return 1-Math.pow(1-i,t)},function(i){return i<.5?Math.pow(i*2,t)/2:1-Math.pow((1-i)*2,t)/2})});Jt.Linear.easeNone=Jt.none=Jt.Linear.easeIn;Du("Elastic",V2("in"),V2("out"),V2());(function(n,e){var t=1/e,i=2*t,r=2.5*t,s=function(a){return a<t?n*a*a:a<i?n*Math.pow(a-1.5/e,2)+.75:a<r?n*(a-=2.25/e)*a+.9375:n*Math.pow(a-2.625/e,2)+.984375};Du("Bounce",function(o){return 1-s(1-o)},s)})(7.5625,2.75);Du("Expo",function(n){return Math.pow(2,10*(n-1))*n+n*n*n*n*n*n*(1-n)});Du("Circ",function(n){return-(QT(1-n*n)-1)});Du("Sine",function(n){return n===1?1:-Pj(n*Mj)+1});Du("Back",G2("in"),G2("out"),G2());Jt.SteppedEase=Jt.steps=Ns.SteppedEase={config:function(e,t){e===void 0&&(e=1);var i=1/e,r=e+(t?0:1),s=t?1:0,o=1-Ir;return function(a){return((r*Ep(0,o,a)|0)+s)*i}}};gd.ease=Jt["quad.out"];ps("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(n){return xx+=n+","+n+"Params,"});var bM=function(e,t){this.id=Ij++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:ZT,this.set=t?t.getSetter:Mx},V0=function(){function n(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,yd(this,+t.duration,1,1),this.data=t.data,Yn&&(this._ctx=Yn,Yn.data.push(this)),H0||Bs.wake()}var e=n.prototype;return e.delay=function(i){return i||i===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+i-this._delay),this._delay=i,this):this._delay},e.duration=function(i){return arguments.length?this.totalDuration(this._repeat>0?i+(i+this._rDelay)*this._repeat:i):this.totalDuration()&&this._dur},e.totalDuration=function(i){return arguments.length?(this._dirty=0,yd(this,this._repeat<0?i:(i-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(i,r){if(_d(),!arguments.length)return this._tTime;var s=this._dp;if(s&&s.smoothChildTiming&&this._ts){for(bA(this,i),!s._dp||s.parent||iM(s,this);s&&s.parent;)s.parent._time!==s._start+(s._ts>=0?s._tTime/s._ts:(s.totalDuration()-s._tTime)/-s._ts)&&s.totalTime(s._tTime,!0),s=s.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&i<this._tDur||this._ts<0&&i>0||!this._tDur&&!i)&&Wo(this._dp,this,this._start-this._delay)}return(this._tTime!==i||!this._dur&&!r||this._initted&&Math.abs(this._zTime)===Ir||!this._initted&&this._dur&&i||!i&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=i),JT(this,i,r)),this},e.time=function(i,r){return arguments.length?this.totalTime(Math.min(this.totalDuration(),i+ew(this))%(this._dur+this._rDelay)||(i?this._dur:0),r):this._time},e.totalProgress=function(i,r){return arguments.length?this.totalTime(this.totalDuration()*i,r):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(i,r){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-i:i)+ew(this),r):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(i,r){var s=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(i-1)*s,r):this._repeat?vd(this._tTime,s)+1:1},e.timeScale=function(i,r){if(!arguments.length)return this._rts===-1e-8?0:this._rts;if(this._rts===i)return this;var s=this.parent&&this._ts?Eg(this.parent._time,this):this._tTime;return this._rts=+i||0,this._ts=this._ps||i===-1e-8?0:this._rts,this.totalTime(Ep(-Math.abs(this._delay),this.totalDuration(),s),r!==!1),_A(this),Hj(this)},e.paused=function(i){return arguments.length?(this._ps!==i&&(this._ps=i,i?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(_d(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==Ir&&(this._tTime-=Ir)))),this):this._ps},e.startTime=function(i){if(arguments.length){this._start=ni(i);var r=this.parent||this._dp;return r&&(r._sort||!this.parent)&&Wo(r,this,this._start-this._delay),this}return this._start},e.endTime=function(i){return this._start+(hs(i)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(i){var r=this.parent||this._dp;return r?i&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Eg(r.rawTime(i),this):this._tTime:this._tTime},e.revert=function(i){i===void 0&&(i=Uj);var r=fr;return fr=i,wx(this)&&(this.timeline&&this.timeline.revert(i),this.totalTime(-.01,i.suppressEvents)),this.data!=="nested"&&i.kill!==!1&&this.kill(),fr=r,this},e.globalTime=function(i){for(var r=this,s=arguments.length?i:r.rawTime();r;)s=r._start+s/(Math.abs(r._ts)||1),r=r._dp;return!this.parent&&this._sat?this._sat.globalTime(i):s},e.repeat=function(i){return arguments.length?(this._repeat=i===1/0?-2:i,tw(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(i){if(arguments.length){var r=this._time;return this._rDelay=i,tw(this),r?this.time(r):this}return this._rDelay},e.yoyo=function(i){return arguments.length?(this._yoyo=i,this):this._yoyo},e.seek=function(i,r){return this.totalTime(qs(this,i),hs(r))},e.restart=function(i,r){return this.play().totalTime(i?-this._delay:0,hs(r)),this._dur||(this._zTime=-1e-8),this},e.play=function(i,r){return i!=null&&this.seek(i,r),this.reversed(!1).paused(!1)},e.reverse=function(i,r){return i!=null&&this.seek(i||this.totalDuration(),r),this.reversed(!0).paused(!1)},e.pause=function(i,r){return i!=null&&this.seek(i,r),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(i){return arguments.length?(!!i!==this.reversed()&&this.timeScale(-this._rts||(i?-1e-8:0)),this):this._rts<0}
vendor: 9,032 bytes, line 30
30,e.invalidate=function(){return this._initted=this._act=0,this._zTime=-1e-8,this},e.isActive=function(){var i=this.parent||this._dp,r=this._start,s;return!!(!i||this._ts&&this._initted&&i.isActive()&&(s=i.rawTime(!0))>=r&&s<this.endTime(!0)-Ir)},e.eventCallback=function(i,r,s){var o=this.vars;return arguments.length>1?(r?(o[i]=r,s&&(o[i+"Params"]=s),i==="onUpdate"&&(this._onUpdate=r)):delete o[i],this):o[i]},e.then=function(i){var r=this,s=r._prom;return new Promise(function(o){var a=hi(i)?i:tM,l=function(){var u=r.then;r.then=null,s&&s(),hi(a)&&(a=a(r))&&(a.then||a===r)&&(r.then=u),o(a),r.then=u};r._initted&&r.totalProgress()===1&&r._ts>=0||!r._tTime&&r._ts<0?l():r._prom=l})},e.kill=function(){zh(this)},n}();ks(V0.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-1e-8,_prom:0,_ps:!1,_rts:1});var $r=function(n){GT(e,n);function e(i,r){var s;return i===void 0&&(i={}),s=n.call(this,i)||this,s.labels={},s.smoothChildTiming=!!i.smoothChildTiming,s.autoRemoveChildren=!!i.autoRemoveChildren,s._sort=hs(i.sortChildren),ri&&Wo(i.parent||ri,Sa(s),r),i.reversed&&s.reverse(),i.paused&&s.paused(!0),i.scrollTrigger&&rM(Sa(s),i.scrollTrigger),s}var t=e.prototype;return t.to=function(r,s,o){return l0(0,arguments,this),this},t.from=function(r,s,o){return l0(1,arguments,this),this},t.fromTo=function(r,s,o,a){return l0(2,arguments,this),this},t.set=function(r,s,o){return s.duration=0,s.parent=this,a0(s).repeatDelay||(s.repeat=0),s.immediateRender=!!s.immediateRender,new Mi(r,s,qs(this,o),1),this},t.call=function(r,s,o){return Wo(this,Mi.delayedCall(0,r,s),o)},t.staggerTo=function(r,s,o,a,l,c,u){return o.duration=s,o.stagger=o.stagger||a,o.onComplete=c,o.onCompleteParams=u,o.parent=this,new Mi(r,o,qs(this,l)),this},t.staggerFrom=function(r,s,o,a,l,c,u){return o.runBackwards=1,a0(o).immediateRender=hs(o.immediateRender),this.staggerTo(r,s,o,a,l,c,u)},t.staggerFromTo=function(r,s,o,a,l,c,u,f){return a.startAt=o,a0(a).immediateRender=hs(a.immediateRender),this.staggerTo(r,s,a,l,c,u,f)},t.render=function(r,s,o){var a=this._time,l=this._dirty?this.totalDuration():this._tDur,c=this._dur,u=r<=0?0:ni(r),f=this._zTime<0!=r<0&&(this._initted||!c),h,p,m,v,A,y,x,b,_,T,M,I;if(this!==ri&&u>l&&r>=0&&(u=l),u!==this._tTime||o||f){if(a!==this._time&&c&&(u+=this._time-a,r+=this._time-a),h=u,_=this._start,b=this._ts,y=!b,f&&(c||(a=this._zTime),(r||!s)&&(this._zTime=r)),this._repeat){if(M=this._yoyo,A=c+this._rDelay,this._repeat<-1&&r<0)return this.totalTime(A*100+r,s,o);if(h=ni(u%A),u===l?(v=this._repeat,h=c):(T=ni(u/A),v=~~T,v&&v===T&&(h=c,v--),h>c&&(h=c)),T=vd(this._tTime,A),!a&&this._tTime&&T!==v&&this._tTime-T*A-this._dur<=0&&(T=v),M&&v&1&&(h=c-h,I=1),v!==T&&!this._lock){var R=M&&T&1,w=R===(M&&v&1);if(v<T&&(R=!R),a=R?0:u%c?c:u,this._lock=1,this.render(a||(I?0:ni(v*A)),s,!c)._lock=0,this._tTime=u,!s&&this.parent&&Ls(this,"onRepeat"),this.vars.repeatRefresh&&!I&&(this.invalidate()._lock=1,T=v),a&&a!==this._time||y!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(c=this._dur,l=this._tDur,w&&(this._lock=2,a=R?c:-1e-4,this.render(a,!0),this.vars.repeatRefresh&&!I&&this.invalidate()),this._lock=0,!this._ts&&!y)return this;yM(this,I)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(x=Wj(this,ni(a),ni(h)),x&&(u-=h-(h=x._start))),this._tTime=u,this._time=h,this._act=!b,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=r,a=0),!a&&u&&c&&!s&&!T&&(Ls(this,"onStart"),this._tTime!==u))return this;if(h>=a&&r>=0)for(p=this._first;p;){if(m=p._next,(p._act||h>=p._start)&&p._ts&&x!==p){if(p.parent!==this)return this.render(r,s,o);if(p.render(p._ts>0?(h-p._start)*p._ts:(p._dirty?p.totalDuration():p._tDur)+(h-p._start)*p._ts,s,o),h!==this._time||!this._ts&&!y){x=0,m&&(u+=this._zTime=-1e-8);break}}p=m}else{p=this._last;for(var E=r<0?r:h;p;){if(m=p._prev,(p._act||E<=p._end)&&p._ts&&x!==p){if(p.parent!==this)return this.render(r,s,o);if(p.render(p._ts>0?(E-p._start)*p._ts:(p._dirty?p.totalDuration():p._tDur)+(E-p._start)*p._ts,s,o||fr&&wx(p)),h!==this._time||!this._ts&&!y){x=0,m&&(u+=this._zTime=E?-1e-8:Ir);break}}p=m}}if(x&&!s&&(this.pause(),x.render(h>=a?0:-1e-8)._zTime=h>=a?1:-1,this._ts))return this._start=_,_A(this),this.render(r,s,o);this._onUpdate&&!s&&Ls(this,"onUpdate",!0),(u===l&&this._tTime>=this.totalDuration()||!u&&a)&&(_===this._start||Math.abs(b)!==Math.abs(this._ts))&&(this._lock||((r||!c)&&(u===l&&this._ts>0||!u&&this._ts<0)&&Kl(this,1),!s&&!(r<0&&!a)&&(u||a||!l)&&(Ls(this,u===l&&r>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(u<l&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(r,s){var o=this;if(qa(s)||(s=qs(this,s,r)),!(r instanceof V0)){if(Pr(r))return r.forEach(function(a){return o.add(a,s)}),this;if(er(r))return this.addLabel(r,s);if(hi(r))r=Mi.delayedCall(0,r);else return this}return this!==r?Wo(this,r,s):this},t.getChildren=function(r,s,o,a){r===void 0&&(r=!0),s===void 0&&(s=!0),o===void 0&&(o=!0),a===void 0&&(a=-1e8);for(var l=[],c=this._first;c;)c._start>=a&&(c instanceof Mi?s&&l.push(c):(o&&l.push(c),r&&l.push.apply(l,c.getChildren(!0,s,o)))),c=c._next;return l},t.getById=function(r){for(var s=this.getChildren(1,1,1),o=s.length;o--;)if(s[o].vars.id===r)return s[o]},t.remove=function(r){return er(r)?this.removeLabel(r):hi(r)?this.killTweensOf(r):(r.parent===this&&yA(this,r),r===this._recent&&(this._recent=this._last),mu(this))},t.totalTime=function(r,s){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ni(Bs.time-(this._ts>0?r/this._ts:(this.totalDuration()-r)/-this._ts))),n.prototype.totalTime.call(this,r,s),this._forcing=0,this):this._tTime},t.addLabel=function(r,s){return this.labels[r]=qs(this,s),this},t.removeLabel=function(r){return delete this.labels[r],this},t.addPause=function(r,s,o){var a=Mi.delayedCall(0,s||k0,o);return a.data="isPause",this._hasPause=1,Wo(this,a,qs(this,r))},t.removePause=function(r){var s=this._first;for(r=qs(this,r);s;)s._start===r&&s.data==="isPause"&&Kl(s),s=s._next},t.killTweensOf=function(r,s,o){for(var a=this.getTweensOf(r,o),l=a.length;l--;)Bl!==a[l]&&a[l].kill(r,s);return this},t.getTweensOf=function(r,s){for(var o=[],a=to(r),l=this._first,c=qa(s),u;l;)l instanceof Mi?Nj(l._targets,a)&&(c?(!Bl||l._initted&&l._ts)&&l.globalTime(0)<=s&&l.globalTime(l.totalDuration())>s:!s||l.isActive())&&o.push(l):(u=l.getTweensOf(a,s)).length&&o.push.apply(o,u),l=l._next;return o},t.tweenTo=function(r,s){s=s||{};var o=this,a=qs(o,r),l=s,c=l.startAt,u=l.onStart,f=l.onStartParams,h=l.immediateRender,p,m=Mi.to(o,ks({ease:s.ease||"none",lazy:!1,immediateRender:!1,time:a,overwrite:"auto",duration:s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale())||Ir,onStart:function(){if(o.pause(),!p){var A=s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale());m._dur!==A&&yd(m,A,0,1).render(m._time,!0,!0),p=1}u&&u.apply(m,f||[])}},s));return h?m.render(0):m},t.tweenFromTo=function(r,s,o){return this.tweenTo(s,ks({startAt:{time:qs(this,r)}},o))},t.recent=function(){return this._recent},t.nextLabel=function(r){return r===void 0&&(r=this._time),nw(this,qs(this,r))},t.previousLabel=function(r){return r===void 0&&(r=this._time),nw(this,qs(this,r),1)},t.currentLabel=function(r){return arguments.length?this.seek(r,!0):this.previousLabel(this._time+Ir)},t.shiftChildren=function(r,s,o){o===void 0&&(o=0);var a=this._first,l=this.labels,c;for(r=ni(r);a;)a._start>=o&&(a._start+=r,a._end+=r),a=a._next;if(s)for(c in l)l[c]>=o&&(l[c]+=r);return mu(this)},t.invalidate=function(r){var s=this._first;for(this._lock=0;s;)s.invalidate(r),s=s._next;return n.prototype.invalidate.call(this,r)},t.clear=function(r){r===void 0&&(r=!0);for(var s=this._first,o;s;)o=s._next,this.remove(s),s=o;return this._dp&&(this._time=this._tTime=this._pTime=0),r&&(this.labels={}),mu(this)},t.totalDuration=function(r){var s=0,o=this,a=o._last,l=Zo,c,u,f;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-r:r));if(o._dirty){for(f=o.parent;a;)c=a._prev,a._dirty&&a.totalDuration(),u=a._start,u>l&&o._sort&&a._ts&&!o._lock?(o._lock=1,Wo(o,a,u-a._delay,1)._lock=0):l=u,u<0&&a._ts&&(s-=u,(!f&&!o._dp||f&&f.smoothChildTiming)&&(o._start+=ni(u/o._ts),o._time-=u,o._tTime-=u),o.shiftChildren(-u,!1,-1/0),l=0),a._end>s&&a._ts&&(s=a._end),a=c;yd(o,o===ri&&o._time>s?o._time:s,1,1),o._dirty=0}return o._tDur},e.updateRoot=function(r){if(ri._ts&&(JT(ri,Eg(r,ri)),KT=Bs.frame),Bs.frame>=ZC){ZC+=Us.autoSleep||120;var s=ri._first;if((!s||!s._ts)&&Us.autoSleep&&Bs._listeners.length<2){for(;s&&!s._ts;)s=s._next;s||Bs.sleep()}}},e}(V0);ks($r.prototype,{_lock:0,_hasPause:0,_forcing:0});var aq=function(e,t,i,r,s,o,a){var l=new ms(this._pt,e,t,0,1,TM,null,s),c=0,u=0,f,h,p,m,v,A,y,x;for(l.b=i,l.e=r,i+="",r+="",(y=~r.indexOf("random("))&&(r=z0(r)),o&&(x=[i,r],o(x,e,t),i=x[0],r=x[1]),h=i.match(k2)||[];f=k2.exec(r);)m=f[0],v=r.substring(c,f.index),p?p=(p+1)%5:v.substr(-5)==="rgba("&&(p=1),m!==h[u
vendor: 3,403 bytes, line 30
30++]&&(A=parseFloat(h[u-1])||0,l._pt={_next:l._pt,p:v||u===1?v:",",s:A,c:m.charAt(1)==="="?Xf(A,m)-A:parseFloat(m)-A,m:p&&p<4?Math.round:0},c=k2.lastIndex);return l.c=c<r.length?r.substring(c,r.length):"",l.fp=a,(qT.test(r)||y)&&(l.e=0),this._pt=l,l},Sx=function(e,t,i,r,s,o,a,l,c,u){hi(r)&&(r=r(s||0,e,o));var f=e[t],h=i!=="get"?i:hi(f)?c?e[t.indexOf("set")||!hi(e["get"+t.substr(3)])?t:"get"+t.substr(3)](c):e[t]():f,p=hi(f)?c?dq:SM:Tx,m;if(er(r)&&(~r.indexOf("random(")&&(r=z0(r)),r.charAt(1)==="="&&(m=Xf(h,r)+(Er(h)||0),(m||m===0)&&(r=m))),!u||h!==r||T_)return!isNaN(h*r)&&r!==""?(m=new ms(this._pt,e,t,+h||0,r-(h||0),typeof f=="boolean"?pq:EM,0,p),c&&(m.fp=c),a&&m.modifier(a,this,e),this._pt=m):(!f&&!(t in e)&&_x(t,r),aq.call(this,e,t,h,r,p,l||Us.stringFilter,c))},lq=function(e,t,i,r,s){if(hi(e)&&(e=c0(e,s,t,i,r)),!ea(e)||e.style&&e.nodeType||Pr(e)||WT(e))return er(e)?c0(e,s,t,i,r):e;var o={},a;for(a in e)o[a]=c0(e[a],s,t,i,r);return o},xM=function(e,t,i,r,s,o){var a,l,c,u;if(Is[e]&&(a=new Is[e]).init(s,a.rawVars?t[e]:lq(t[e],r,s,o,i),i,r,o)!==!1&&(i._pt=l=new ms(i._pt,s,e,0,1,a.render,a,0,a.priority),i!==Of))for(c=i._ptLookup[i._targets.indexOf(s)],u=a._props.length;u--;)c[a._props[u]]=l;return a},Bl,T_,Ex=function n(e,t,i){var r=e.vars,s=r.ease,o=r.startAt,a=r.immediateRender,l=r.lazy,c=r.onUpdate,u=r.runBackwards,f=r.yoyoEase,h=r.keyframes,p=r.autoRevert,m=e._dur,v=e._startAt,A=e._targets,y=e.parent,x=y&&y.data==="nested"?y.vars.targets:A,b=e._overwrite==="auto"&&!gx,_=e.timeline,T,M,I,R,w,E,F,L,z,V,j,N,Q;if(_&&(!h||!s)&&(s="none"),e._ease=gu(s,gd.ease),e._yEase=f?vM(gu(f===!0?s:f,gd.ease)):0,f&&e._yoyo&&!e._repeat&&(f=e._yEase,e._yEase=e._ease,e._ease=f),e._from=!_&&!!r.runBackwards,!_||h&&!r.stagger){if(L=A[0]?pu(A[0]).harness:0,N=L&&r[L.prop],T=Sg(r,bx),v&&(v._zTime<0&&v.progress(1),t<0&&u&&a&&!p?v.render(-1,!0):v.revert(u&&m?z1:Fj),v._lazy=0),o){if(Kl(e._startAt=Mi.set(A,ks({data:"isStart",overwrite:!1,parent:y,immediateRender:!0,lazy:!v&&hs(l),startAt:null,delay:0,onUpdate:c&&function(){return Ls(e,"onUpdate")},stagger:0},o))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(fr||!a&&!p)&&e._startAt.revert(z1),a&&m&&t<=0&&i<=0){t&&(e._zTime=t);return}}else if(u&&m&&!v){if(t&&(a=!1),I=ks({overwrite:!1,data:"isFromStart",lazy:a&&!v&&hs(l),immediateRender:a,stagger:0,parent:y},T),N&&(I[L.prop]=N),Kl(e._startAt=Mi.set(A,I)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(fr?e._startAt.revert(z1):e._startAt.render(-1,!0)),e._zTime=t,!a)n(e._startAt,Ir,Ir);else if(!t)return}for(e._pt=e._ptCache=0,l=m&&hs(l)||l&&!m,M=0;M<A.length;M++){if(w=A[M],F=w._gsap||Cx(A)[M]._gsap,e._ptLookup[M]=V={},b_[F.id]&&Ql.length&&wg(),j=x===A?M:x.indexOf(w),L&&(z=new L).init(w,N||T,e,j,x)!==!1&&(e._pt=R=new ms(e._pt,w,z.name,0,1,z.render,z,0,z.priority),z._props.forEach(function(W){V[W]=R}),z.priority&&(E=1)),!L||N)for(I in T)Is[I]&&(z=xM(I,T,e,j,w,x))?z.priority&&(E=1):V[I]=R=Sx.call(e,w,I,"get",T[I],j,x,0,r.stringFilter);e._op&&e._op[M]&&e.kill(w,e._op[M]),b&&e._pt&&(Bl=e,ri.killTweensOf(w,V,e.globalTime(t)),Q=!e.parent,Bl=0),e._pt&&l&&(b_[F.id]=1)}E&&MM(e),e._onInit&&e._onInit(e)}e._onUpdate=c,e._initted=(!e._op||e._pt)&&!Q,h&&t<=0&&_.render(Zo,!0,!0)},cq=function(e,t,i,r,s,o,a,l){var c=(e._pt&&e._ptCache||(e._ptCache={}))[t],u,f,h,p;if(!c)for(c=e._ptCache[t]=[],h=e._ptLookup,p=e._targets.length;p--;){if(u=h[p][t],u&&u.d&&u.d._pt)for(u=u.d._pt;u&&u.p!==t&&u.fp!==t;)u=u._next;
vendor: 4,714 bytes, line 30
30if(!u)return T_=1,e.vars[t]="+=0",Ex(e,a),T_=0,l?N0(t+" not eligible for reset"):1;c.push(u)}for(p=c.length;p--;)f=c[p],u=f._pt||f,u.s=(r||r===0)&&!s?r:u.s+(r||0)+o*u.c,u.c=i-u.s,f.e&&(f.e=bi(i)+Er(f.e)),f.b&&(f.b=u.s+Er(f.b))},uq=function(e,t){var i=e[0]?pu(e[0]).harness:0,r=i&&i.aliases,s,o,a,l;if(!r)return t;s=Ad({},t);for(o in r)if(o in s)for(l=r[o].split(","),a=l.length;a--;)s[l[a]]=s[o];return s},fq=function(e,t,i,r){var s=t.ease||r||"power1.inOut",o,a;if(Pr(t))a=i[e]||(i[e]=[]),t.forEach(function(l,c){return a.push({t:c/(t.length-1)*100,v:l,e:s})});else for(o in t)a=i[o]||(i[o]=[]),o==="ease"||a.push({t:parseFloat(e),v:t[o],e:s})},c0=function(e,t,i,r,s){return hi(e)?e.call(t,i,r,s):er(e)&&~e.indexOf("random(")?z0(e):e},CM=xx+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",wM={};ps(CM+",id,stagger,delay,duration,paused,scrollTrigger",function(n){return wM[n]=1});var Mi=function(n){GT(e,n);function e(i,r,s,o){var a;typeof r=="number"&&(s.duration=r,r=s,s=null),a=n.call(this,o?r:a0(r))||this;var l=a.vars,c=l.duration,u=l.delay,f=l.immediateRender,h=l.stagger,p=l.overwrite,m=l.keyframes,v=l.defaults,A=l.scrollTrigger,y=l.yoyoEase,x=r.parent||ri,b=(Pr(i)||WT(i)?qa(i[0]):"length"in r)?[i]:to(i),_,T,M,I,R,w,E,F;if(a._targets=b.length?Cx(b):N0("GSAP target "+i+" not found. https://gsap.com",!Us.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=p,m||h||Mm(c)||Mm(u)){if(r=a.vars,_=a.timeline=new $r({data:"nested",defaults:v||{},targets:x&&x.data==="nested"?x.vars.targets:b}),_.kill(),_.parent=_._dp=Sa(a),_._start=0,h||Mm(c)||Mm(u)){if(I=b.length,E=h&&lM(h),ea(h))for(R in h)~CM.indexOf(R)&&(F||(F={}),F[R]=h[R]);for(T=0;T<I;T++)M=Sg(r,wM),M.stagger=0,y&&(M.yoyoEase=y),F&&Ad(M,F),w=b[T],M.duration=+c0(c,Sa(a),T,w,b),M.delay=(+c0(u,Sa(a),T,w,b)||0)-a._delay,!h&&I===1&&M.delay&&(a._delay=u=M.delay,a._start+=u,M.delay=0),_.to(w,M,E?E(T,w,b):0),_._ease=Jt.none;_.duration()?c=u=0:a.timeline=0}else if(m){a0(ks(_.vars.defaults,{ease:"none"})),_._ease=gu(m.ease||r.ease||"none");var L=0,z,V,j;if(Pr(m))m.forEach(function(N){return _.to(b,N,">")}),_.duration();else{M={};for(R in m)R==="ease"||R==="easeEach"||fq(R,m[R],M,m.easeEach);for(R in M)for(z=M[R].sort(function(N,Q){return N.t-Q.t}),L=0,T=0;T<z.length;T++)V=z[T],j={ease:V.e,duration:(V.t-(T?z[T-1].t:0))/100*c},j[R]=V.v,_.to(b,j,L),L+=j.duration;_.duration()<c&&_.to({},{duration:c-_.duration()})}}c||a.duration(c=_.duration())}else a.timeline=0;return p===!0&&!gx&&(Bl=Sa(a),ri.killTweensOf(b),Bl=0),Wo(x,Sa(a),s),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(f||!c&&!m&&a._start===ni(x._time)&&hs(f)&&Vj(Sa(a))&&x.data!=="nested")&&(a._tTime=-1e-8,a.render(Math.max(0,-u)||0)),A&&rM(Sa(a),A),a}var t=e.prototype;return t.render=function(r,s,o){var a=this._time,l=this._tDur,c=this._dur,u=r<0,f=r>l-Ir&&!u?l:r<Ir?0:r,h,p,m,v,A,y,x,b,_;if(!c)Qj(this,r,s,o);else if(f!==this._tTime||!r||o||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==u||this._lazy){if(h=f,b=this.timeline,this._repeat){if(v=c+this._rDelay,this._repeat<-1&&u)return this.totalTime(v*100+r,s,o);if(h=ni(f%v),f===l?(m=this._repeat,h=c):(A=ni(f/v),m=~~A,m&&m===A?(h=c,m--):h>c&&(h=c)),y=this._yoyo&&m&1,y&&(_=this._yEase,h=c-h),A=vd(this._tTime,v),h===a&&!o&&this._initted&&m===A)return this._tTime=f,this;m!==A&&(b&&this._yEase&&yM(b,y),this.vars.repeatRefresh&&!y&&!this._lock&&h!==v&&this._initted&&(this._lock=o=1,this.render(ni(v*m),!0).invalidate()._lock=0))}if(!this._initted){if(sM(this,u?r:h,o,s,f))return this._tTime=0,this;if(a!==this._time&&!(o&&this.vars.repeatRefresh&&m!==A))return this;if(c!==this._dur)return this.render(r,s,o)}if(this._tTime=f,this._time=h,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=x=(_||this._ease)(h/c),this._from&&(this.ratio=x=1-x),!a&&f&&!s&&!A&&(Ls(this,"onStart"),this._tTime!==f))return this;for(p=this._pt;p;)p.r(x,p.d),p=p._next;b&&b.render(r<0?r:b._dur*b._ease(h/this._dur),s,o)||this._startAt&&(this._zTime=r),this._onUpdate&&!s&&(u&&x_(this,r,s,o),Ls(this,"onUpdate")),this._repeat&&m!==A&&this.vars.onRepeat&&!s&&this.parent&&Ls(this,"onRepeat"),(f===this._tDur||!f)&&this._tTime===f&&(u&&!this._onUpdate&&x_(this,r,!0,!0),(r||!c)&&(f===this._tDur&&this._ts>0||!f&&this._ts<0)&&Kl(this,1),!s&&!(u&&!a)&&(f||a||y)&&(Ls(this,f===l?"onComplete":"onReverseComplete",!0),this._prom&&!(f<l&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(r){return(!r||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(r),n.prototype.invalidate.call(this,r)},t.resetTo=function(r,s,o,a,l){H0||Bs.wake(),this._ts||this.play();
vendor: 6,269 bytes, line 30
30var c=Math.min(this._dur,(this._dp._time-this._start)*this._ts),u;return this._initted||Ex(this,c),u=this._ease(c/this._dur),cq(this,r,s,o,a,u,c,l)?this.resetTo(r,s,o,a,1):(bA(this,0),this.parent||nM(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(r,s){if(s===void 0&&(s="all"),!r&&(!s||s==="all"))return this._lazy=this._pt=0,this.parent?zh(this):this.scrollTrigger&&this.scrollTrigger.kill(!!fr),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(r,s,Bl&&Bl.vars.overwrite!==!0)._first||zh(this),this.parent&&o!==this.timeline.totalDuration()&&yd(this,this._dur*this.timeline._tDur/o,0,1),this}var a=this._targets,l=r?to(r):a,c=this._ptLookup,u=this._pt,f,h,p,m,v,A,y;if((!s||s==="all")&&zj(a,l))return s==="all"&&(this._pt=0),zh(this);for(f=this._op=this._op||[],s!=="all"&&(er(s)&&(v={},ps(s,function(x){return v[x]=1}),s=v),s=uq(a,s)),y=a.length;y--;)if(~l.indexOf(a[y])){h=c[y],s==="all"?(f[y]=s,m=h,p={}):(p=f[y]=f[y]||{},m=s);for(v in m)A=h&&h[v],A&&((!("kill"in A.d)||A.d.kill(v)===!0)&&yA(this,A,"_pt"),delete h[v]),p!=="all"&&(p[v]=1)}return this._initted&&!this._pt&&u&&zh(this),this},e.to=function(r,s){return new e(r,s,arguments[2])},e.from=function(r,s){return l0(1,arguments)},e.delayedCall=function(r,s,o,a){return new e(s,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:r,onComplete:s,onReverseComplete:s,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:a})},e.fromTo=function(r,s,o){return l0(2,arguments)},e.set=function(r,s){return s.duration=0,s.repeatDelay||(s.repeat=0),new e(r,s)},e.killTweensOf=function(r,s,o){return ri.killTweensOf(r,s,o)},e}(V0);ks(Mi.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});ps("staggerTo,staggerFrom,staggerFromTo",function(n){Mi[n]=function(){var e=new $r,t=w_.call(arguments,0);return t.splice(n==="staggerFromTo"?5:4,0,0),e[n].apply(e,t)}});var Tx=function(e,t,i){return e[t]=i},SM=function(e,t,i){return e[t](i)},dq=function(e,t,i,r){return e[t](r.fp,i)},hq=function(e,t,i){return e.setAttribute(t,i)},Mx=function(e,t){return hi(e[t])?SM:Ax(e[t])&&e.setAttribute?hq:Tx},EM=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},pq=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},TM=function(e,t){var i=t._pt,r="";if(!e&&t.b)r=t.b;else if(e===1&&t.e)r=t.e;else{for(;i;)r=i.p+(i.m?i.m(i.s+i.c*e):Math.round((i.s+i.c*e)*1e4)/1e4)+r,i=i._next;r+=t.c}t.set(t.t,t.p,r,t)},Ix=function(e,t){for(var i=t._pt;i;)i.r(e,i.d),i=i._next},mq=function(e,t,i,r){for(var s=this._pt,o;s;)o=s._next,s.p===r&&s.modifier(e,t,i),s=o},gq=function(e){for(var t=this._pt,i,r;t;)r=t._next,t.p===e&&!t.op||t.op===e?yA(this,t,"_pt"):t.dep||(i=1),t=r;return!i},Aq=function(e,t,i,r){r.mSet(e,t,r.m.call(r.tween,i,r.mt),r)},MM=function(e){for(var t=e._pt,i,r,s,o;t;){for(i=t._next,r=s;r&&r.pr>t.pr;)r=r._next;(t._prev=r?r._prev:o)?t._prev._next=t:s=t,(t._next=r)?r._prev=t:o=t,t=i}e._pt=s},ms=function(){function n(t,i,r,s,o,a,l,c,u){this.t=i,this.s=s,this.c=o,this.p=r,this.r=a||EM,this.d=l||this,this.set=c||Tx,this.pr=u||0,this._next=t,t&&(t._prev=this)}var e=n.prototype;return e.modifier=function(i,r,s){this.mSet=this.mSet||this.set,this.set=Aq,this.m=i,this.mt=s,this.tween=r},n}();ps(xx+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(n){return bx[n]=1});Ns.TweenMax=Ns.TweenLite=Mi;Ns.TimelineLite=Ns.TimelineMax=$r;ri=new $r({sortChildren:!1,defaults:gd,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});Us.stringFilter=AM;var Au=[],V1={},vq=[],rw=0,yq=0,Q2=function(e){return(V1[e]||vq).map(function(t){return t()})},M_=function(){var e=Date.now(),t=[];e-rw>2&&(Q2("matchMediaInit"),Au.forEach(function(i){var r=i.queries,s=i.conditions,o,a,l,c;for(a in r)o=Vo.matchMedia(r[a]).matches,o&&(l=1),o!==s[a]&&(s[a]=o,c=1);c&&(i.revert(),l&&t.push(i))}),Q2("matchMediaRevert"),t.forEach(function(i){return i.onMatch(i,function(r){return i.add(null,r)})}),rw=e,Q2("matchMedia"))},IM=function(){function n(t,i){this.selector=i&&S_(i),this.data=[],this._r=[],this.isReverted=!1,this.id=yq++,t&&this.add(t)}var e=n.prototype;return e.add=function(i,r,s){hi(i)&&(s=r,r=i,i=hi);var o=this,a=function(){var c=Yn,u=o.selector,f;return c&&c!==o&&c.data.push(o),s&&(o.selector=S_(s)),Yn=o,f=r.apply(o,arguments),hi(f)&&o._r.push(f),Yn=c,o.selector=u,o.isReverted=!1,f};return o.last=a,i===hi?a(o,function(l){return o.add(null,l)}):i?o[i]=a:a},e.ignore=function(i){var r=Yn;Yn=null,i(this),Yn=r},e.getTweens=function(){var i=[];return this.data.forEach(function(r){return r instanceof n?i.push.apply(i,r.getTweens()):r instanceof Mi&&!(r.parent&&r.parent.data==="nested")&&i.push(r)}),i},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(i,r){var s=this;if(i?function(){for(var a=s.getTweens(),l=s.data.length,c;l--;)c=s.data[l],c.data==="isFlip"&&(c.revert(),c.getChildren(!0,!0,!1).forEach(function(u){return a.splice(a.indexOf(u),1)}));for(a.map(function(u){return{g:u._dur||u._delay||u._sat&&!u._sat.vars.immediateRender?u.globalTime(0):-1/0,t:u}}).sort(function(u,f){return f.g-u.g||-1/0}).forEach(function(u){return u.t.revert(i)}),l=s.data.length;l--;)c=s.data[l],c instanceof $r?c.data!=="nested"&&(c.scrollTrigger&&c.scrollTrigger.revert(),c.kill()):!(c instanceof Mi)&&c.revert&&c.revert(i);s._r.forEach(function(u){return u(i,s)}),s.isReverted=!0}():this.data.forEach(function(a){return a.kill&&a.kill()}),this.clear(),r)for(var o=Au.length;o--;)Au[o].id===this.id&&Au.splice(o,1)},e.revert=function(i){this.kill(i||{})},n}(),_q=function(){function n(t){this.contexts=[],this.scope=t,Yn&&Yn.data.push(this)}var e=n.prototype;return e.add=function(i,r,s){ea(i)||(i={matches:i});var o=new IM(0,s||this.scope),a=o.conditions={},l,c,u;Yn&&!o.selector&&(o.selector=Yn.selector),this.contexts.push(o),r=o.add("onMatch",r),o.queries=i;for(c in i)c==="all"?u=1:(l=Vo.matchMedia(i[c]),l&&(Au.indexOf(o)<0&&Au.push(o),(a[c]=l.matches)&&(u=1),l.addListener?l.addListener(M_):l.addEventListener("change",M_)));return u&&r(o,function(f){return o.add(null,f)}),this},e.revert=function(i){this.kill(i||{})}
vendor: 6,081 bytes, lines 30-37
30,e.kill=function(i){this.contexts.forEach(function(r){return r.kill(i,!0)})},n}(),Tg={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t.forEach(function(r){return pM(r)})},timeline:function(e){return new $r(e)},getTweensOf:function(e,t){return ri.getTweensOf(e,t)},getProperty:function(e,t,i,r){er(e)&&(e=to(e)[0]);var s=pu(e||{}).get,o=i?tM:eM;return i==="native"&&(i=""),e&&(t?o((Is[t]&&Is[t].get||s)(e,t,i,r)):function(a,l,c){return o((Is[a]&&Is[a].get||s)(e,a,l,c))})},quickSetter:function(e,t,i){if(e=to(e),e.length>1){var r=e.map(function(u){return Dr.quickSetter(u,t,i)}),s=r.length;return function(u){for(var f=s;f--;)r[f](u)}}e=e[0]||{};var o=Is[t],a=pu(e),l=a.harness&&(a.harness.aliases||{})[t]||t,c=o?function(u){var f=new o;Of._pt=0,f.init(e,i?u+i:u,Of,0,[e]),f.render(1,f),Of._pt&&Ix(1,Of)}:a.set(e,l);return o?c:function(u){return c(e,l,i?u+i:u,a,1)}},quickTo:function(e,t,i){var r,s=Dr.to(e,ks((r={},r[t]="+=0.1",r.paused=!0,r.stagger=0,r),i||{})),o=function(l,c,u){return s.resetTo(t,l,c,u)};return o.tween=s,o},isTweening:function(e){return ri.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=gu(e.ease,gd.ease)),JC(gd,e||{})},config:function(e){return JC(Us,e||{})},registerEffect:function(e){var t=e.name,i=e.effect,r=e.plugins,s=e.defaults,o=e.extendTimeline;(r||"").split(",").forEach(function(a){return a&&!Is[a]&&!Ns[a]&&N0(t+" effect requires "+a+" plugin.")}),z2[t]=function(a,l,c){return i(to(a),ks(l||{},s),c)},o&&($r.prototype[t]=function(a,l,c){return this.add(z2[t](a,ea(l)?l:(c=l)&&{},this),c)})},registerEase:function(e,t){Jt[e]=gu(t)},parseEase:function(e,t){return arguments.length?gu(e,t):Jt},getById:function(e){return ri.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var i=new $r(e),r,s;for(i.smoothChildTiming=hs(e.smoothChildTiming),ri.remove(i),i._dp=0,i._time=i._tTime=ri._time,r=ri._first;r;)s=r._next,(t||!(!r._dur&&r instanceof Mi&&r.vars.onComplete===r._targets[0]))&&Wo(i,r,r._start-r._delay),r=s;return Wo(ri,i,0),i},context:function(e,t){return e?new IM(e,t):Yn},matchMedia:function(e){return new _q(e)},matchMediaRefresh:function(){return Au.forEach(function(e){var t=e.conditions,i,r;for(r in t)t[r]&&(t[r]=!1,i=1);i&&e.revert()})||M_()},addEventListener:function(e,t){var i=V1[e]||(V1[e]=[]);~i.indexOf(t)||i.push(t)},removeEventListener:function(e,t){var i=V1[e],r=i&&i.indexOf(t);r>=0&&i.splice(r,1)},utils:{wrap:Zj,wrapYoyo:Jj,distribute:lM,random:uM,snap:cM,normalize:Kj,getUnit:Er,clamp:qj,splitColor:mM,toArray:to,selector:S_,mapRange:dM,pipe:Yj,unitize:$j,interpolate:eq,shuffle:aM},install:YT,effects:z2,ticker:Bs,updateRoot:$r.updateRoot,plugins:Is,globalTimeline:ri,core:{PropTween:ms,globals:$T,Tween:Mi,Timeline:$r,Animation:V0,getCache:pu,_removeLinkedListItem:yA,reverting:function(){return fr},context:function(e){return e&&Yn&&(Yn.data.push(e),e._ctx=Yn),Yn},suppressOverwrites:function(e){return gx=e}}};ps("to,from,fromTo,delayedCall,set,killTweensOf",function(n){return Tg[n]=Mi[n]});Bs.add($r.updateRoot);Of=Tg.to({},{duration:0});var bq=function(e,t){for(var i=e._pt;i&&i.p!==t&&i.op!==t&&i.fp!==t;)i=i._next;return i},xq=function(e,t){var i=e._targets,r,s,o;for(r in t)for(s=i.length;s--;)o=e._ptLookup[s][r],o&&(o=o.d)&&(o._pt&&(o=bq(o,r)),o&&o.modifier&&o.modifier(t[r],e,i[s],r))},W2=function(e,t){return{name:e,headless:1,rawVars:1,init:function(r,s,o){o._onInit=function(a){var l,c;if(er(s)&&(l={},ps(s,function(u){return l[u]=1}),s=l),t){l={};for(c in s)l[c]=t(s[c]);s=l}xq(a,s)}}}},Dr=Tg.registerPlugin({name:"attr",init:function(e,t,i,r,s){var o,a,l;this.tween=i;for(o in t)l=e.getAttribute(o)||"",a=this.add(e,"setAttribute",(l||0)+"",t[o],r,s,0,0,o),a.op=o,a.b=l,this._props.push(o)},render:function(e,t){for(var i=t._pt;i;)fr?i.set(i.t,i.p,i.b,i):i.r(e,i.d),i=i._next}},{name:"endArray",headless:1,init:function(e,t){for(var i=t.length;i--;)this.add(e,i,e[i]||0,t[i],0,0,0,0,0,1)}},W2("roundProps",E_),W2("modifiers"),W2("snap",cM))||Tg;Mi.version=$r.version=Dr.version="3.14.2";XT=1;vx()&&_d();Jt.Power0;Jt.Power1;Jt.Power2;Jt.Power3;Jt.Power4;Jt.Linear;Jt.Quad;Jt.Cubic;Jt.Quart;Jt.Quint;Jt.Strong;Jt.Elastic;Jt.Back;Jt.SteppedEase;Jt.Bounce;Jt.Sine;Jt.Expo;Jt.Circ;/*! 31 * CSSPlugin 3.14.2 32 * https://gsap.com 33 * 34 * Copyright 2008-2025, GreenSock. All rights reserved. 35 * Subject to the terms at https://gsap.com/standard-license 36 * @author: Jack Doyle, [email protected] 37*/var sw,Dl,Yf,Px,iu,ow,Rx,Cq=function(){return typeof window<"u"},Xa={},Xc=180/Math.PI,$f=Math.PI/180,Ku=Math.atan2,aw=1e8,Bx=/([A-Z])/g,wq=/(left|right|width|margin|padding|x)/i,Sq=/[\s,\(]\S/,Yo={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},I_=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Eq=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Tq=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Mq=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Iq=function(e,t){var i=t.s+t.c*e;t.set(t.t,t.p,~~(i+(i<0?-.5:.5))+t.u,t)},PM=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},RM=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},Pq=function(e,t,i){return e.style[t]=i},Rq=function(e,t,i){return e.style.setProperty(t,i)},Bq=function(e,t,i){return e._gsap[t]=i},Dq=function(e,t,i){return e._gsap.scaleX=e._gsap.scaleY=i},Lq=function(e,t,i,r,s){var o=e._gsap;o.scaleX=o.scaleY=i,o.renderTransform(s,o)},Oq=function(e,t,i,r,s){var o=e._gsap;o[t]=i,o.renderTransform(s,o)},oi="transform",gs=oi+"Origin",Fq=function n(e,t){var i=this,r=this.target,s=r.style,o=r._gsap;if(e in Xa&&s){if(this.tfm=this.tfm||{},e!=="transform")e=Yo[e]||e,~e.indexOf(",")?e.split(",").forEach(function(a){return i.tfm[a]=Ta(r,a)}):this.tfm[e]=o.x?o[e]:Ta(r,e),e===gs&&(this.tfm.zOrigin=o.zOrigin);else return Yo.transform.split(",").forEach(function(a){return n.call(i,a,t)});if(this.props.indexOf(oi)>=0)return;o.svg&&(this.svgo=r.getAttribute("data-svg-origin"),this.props.push(gs,t,"")),e=oi}
vendor: 3,444 bytes, line 37
37(s||t)&&this.props.push(e,t,s[e])},BM=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},Uq=function(){var e=this.props,t=this.target,i=t.style,r=t._gsap,s,o;for(s=0;s<e.length;s+=3)e[s+1]?e[s+1]===2?t[e[s]](e[s+2]):t[e[s]]=e[s+2]:e[s+2]?i[e[s]]=e[s+2]:i.removeProperty(e[s].substr(0,2)==="--"?e[s]:e[s].replace(Bx,"-$1").toLowerCase());if(this.tfm){for(o in this.tfm)r[o]=this.tfm[o];r.svg&&(r.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),s=Rx(),(!s||!s.isStart)&&!i[oi]&&(BM(i),r.zOrigin&&i[gs]&&(i[gs]+=" "+r.zOrigin+"px",r.zOrigin=0,r.renderTransform()),r.uncache=1)}},DM=function(e,t){var i={target:e,props:[],revert:Uq,save:Fq};return e._gsap||Dr.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(r){return i.save(r)}),i},LM,P_=function(e,t){var i=Dl.createElementNS?Dl.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):Dl.createElement(e);return i&&i.style?i:Dl.createElement(e)},Os=function n(e,t,i){var r=getComputedStyle(e);return r[t]||r.getPropertyValue(t.replace(Bx,"-$1").toLowerCase())||r.getPropertyValue(t)||!i&&n(e,bd(t)||t,1)||""},lw="O,Moz,ms,Ms,Webkit".split(","),bd=function(e,t,i){var r=t||iu,s=r.style,o=5;if(e in s&&!i)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);o--&&!(lw[o]+e in s););return o<0?null:(o===3?"ms":o>=0?lw[o]:"")+e},R_=function(){Cq()&&window.document&&(sw=window,Dl=sw.document,Yf=Dl.documentElement,iu=P_("div")||{style:{}},P_("div"),oi=bd(oi),gs=oi+"Origin",iu.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",LM=!!bd("perspective"),Rx=Dr.core.reverting,Px=1)},cw=function(e){var t=e.ownerSVGElement,i=P_("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),r=e.cloneNode(!0),s;r.style.display="block",i.appendChild(r),Yf.appendChild(i);try{s=r.getBBox()}catch{}return i.removeChild(r),Yf.removeChild(i),s},uw=function(e,t){for(var i=t.length;i--;)if(e.hasAttribute(t[i]))return e.getAttribute(t[i])},OM=function(e){var t,i;try{t=e.getBBox()}catch{t=cw(e),i=1}return t&&(t.width||t.height)||i||(t=cw(e)),t&&!t.width&&!t.x&&!t.y?{x:+uw(e,["x","cx","x1"])||0,y:+uw(e,["y","cy","y1"])||0,width:0,height:0}:t},FM=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&OM(e))},Zl=function(e,t){if(t){var i=e.style,r;t in Xa&&t!==gs&&(t=oi),i.removeProperty?(r=t.substr(0,2),(r==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),i.removeProperty(r==="--"?t:t.replace(Bx,"-$1").toLowerCase())):i.removeAttribute(t)}},Ll=function(e,t,i,r,s,o){var a=new ms(e._pt,t,i,0,1,o?RM:PM);return e._pt=a,a.b=r,a.e=s,e._props.push(i),a},fw={deg:1,rad:1,turn:1},Nq={grid:1,flex:1},Jl=function n(e,t,i,r){var s=parseFloat(i)||0,o=(i+"").trim().substr((s+"").length)||"px",a=iu.style,l=wq.test(t),c=e.tagName.toLowerCase()==="svg",u=(c?"client":"offset")+(l?"Width":"Height"),f=100,h=r==="px",p=r==="%",m,v,A,y;if(r===o||!s||fw[r]||fw[o])return s;if(o!=="px"&&!h&&(s=n(e,t,i,"px")),y=e.getCTM&&FM(e),(p||o==="%")&&(Xa[t]||~t.indexOf("adius")))return m=y?e.getBBox()[l?"width":"height"]:e[u],bi(p?s/m*f:s/100*m);if(a[l?"width":"height"]=f+(h?o:r),v=r!=="rem"&&~t.indexOf("adius")||r==="em"&&e.appendChild&&!c?e:e.parentNode,y&&(v=(e.ownerSVGElement||{}).parentNode),(!v||v===Dl||!v.appendChild)&&(v=Dl.body),A=v._gsap,A&&p&&A.width&&l&&A.time===Bs.time&&!A.uncache)return bi(s/A.width*f);if(p&&(t==="height"||t==="width")){var x=e.style[t];
vendor: 4,904 bytes, line 37
37e.style[t]=f+r,m=e[u],x?e.style[t]=x:Zl(e,t)}else(p||o==="%")&&!Nq[Os(v,"display")]&&(a.position=Os(e,"position")),v===e&&(a.position="static"),v.appendChild(iu),m=iu[u],v.removeChild(iu),a.position="absolute";return l&&p&&(A=pu(v),A.time=Bs.time,A.width=v[u]),bi(h?m*s/f:m&&s?f/m*s:0)},Ta=function(e,t,i,r){var s;return Px||R_(),t in Yo&&t!=="transform"&&(t=Yo[t],~t.indexOf(",")&&(t=t.split(",")[0])),Xa[t]&&t!=="transform"?(s=Q0(e,r),s=t!=="transformOrigin"?s[t]:s.svg?s.origin:Ig(Os(e,gs))+" "+s.zOrigin+"px"):(s=e.style[t],(!s||s==="auto"||r||~(s+"").indexOf("calc("))&&(s=Mg[t]&&Mg[t](e,t,i)||Os(e,t)||ZT(e,t)||(t==="opacity"?1:0))),i&&!~(s+"").trim().indexOf(" ")?Jl(e,t,s,i)+i:s},kq=function(e,t,i,r){if(!i||i==="none"){var s=bd(t,e,1),o=s&&Os(e,s,1);o&&o!==i?(t=s,i=o):t==="borderColor"&&(i=Os(e,"borderTopColor"))}var a=new ms(this._pt,e.style,t,0,1,TM),l=0,c=0,u,f,h,p,m,v,A,y,x,b,_,T;if(a.b=i,a.e=r,i+="",r+="",r.substring(0,6)==="var(--"&&(r=Os(e,r.substring(4,r.indexOf(")")))),r==="auto"&&(v=e.style[t],e.style[t]=r,r=Os(e,t)||r,v?e.style[t]=v:Zl(e,t)),u=[i,r],AM(u),i=u[0],r=u[1],h=i.match(Lf)||[],T=r.match(Lf)||[],T.length){for(;f=Lf.exec(r);)A=f[0],x=r.substring(l,f.index),m?m=(m+1)%5:(x.substr(-5)==="rgba("||x.substr(-5)==="hsla(")&&(m=1),A!==(v=h[c++]||"")&&(p=parseFloat(v)||0,_=v.substr((p+"").length),A.charAt(1)==="="&&(A=Xf(p,A)+_),y=parseFloat(A),b=A.substr((y+"").length),l=Lf.lastIndex-b.length,b||(b=b||Us.units[t]||_,l===r.length&&(r+=b,a.e+=b)),_!==b&&(p=Jl(e,t,v,b)||0),a._pt={_next:a._pt,p:x||c===1?x:",",s:p,c:y-p,m:m&&m<4||t==="zIndex"?Math.round:0});a.c=l<r.length?r.substring(l,r.length):""}else a.r=t==="display"&&r==="none"?RM:PM;return qT.test(r)&&(a.e=0),this._pt=a,a},dw={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},zq=function(e){var t=e.split(" "),i=t[0],r=t[1]||"50%";return(i==="top"||i==="bottom"||r==="left"||r==="right")&&(e=i,i=r,r=e),t[0]=dw[i]||i,t[1]=dw[r]||r,t.join(" ")},Hq=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var i=t.t,r=i.style,s=t.u,o=i._gsap,a,l,c;if(s==="all"||s===!0)r.cssText="",l=1;else for(s=s.split(","),c=s.length;--c>-1;)a=s[c],Xa[a]&&(l=1,a=a==="transformOrigin"?gs:oi),Zl(i,a);l&&(Zl(i,oi),o&&(o.svg&&i.removeAttribute("transform"),r.scale=r.rotate=r.translate="none",Q0(i,1),o.uncache=1,BM(r)))}},Mg={clearProps:function(e,t,i,r,s){if(s.data!=="isFromStart"){var o=e._pt=new ms(e._pt,t,i,0,0,Hq);return o.u=r,o.pr=-10,o.tween=s,e._props.push(i),1}}},G0=[1,0,0,1,0,0],UM={},NM=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},hw=function(e){var t=Os(e,oi);return NM(t)?G0:t.substr(7).match(jT).map(bi)},Dx=function(e,t){var i=e._gsap||pu(e),r=e.style,s=hw(e),o,a,l,c;return i.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,s=[l.a,l.b,l.c,l.d,l.e,l.f],s.join(",")==="1,0,0,1,0,0"?G0:s):(s===G0&&!e.offsetParent&&e!==Yf&&!i.svg&&(l=r.display,r.display="block",o=e.parentNode,(!o||!e.offsetParent&&!e.getBoundingClientRect().width)&&(c=1,a=e.nextElementSibling,Yf.appendChild(e)),s=hw(e),l?r.display=l:Zl(e,"display"),c&&(a?o.insertBefore(e,a):o?o.appendChild(e):Yf.removeChild(e))),t&&s.length>6?[s[0],s[1],s[4],s[5],s[12],s[13]]:s)},B_=function(e,t,i,r,s,o){var a=e._gsap,l=s||Dx(e,!0),c=a.xOrigin||0,u=a.yOrigin||0,f=a.xOffset||0,h=a.yOffset||0,p=l[0],m=l[1],v=l[2],A=l[3],y=l[4],x=l[5],b=t.split(" "),_=parseFloat(b[0])||0,T=parseFloat(b[1])||0,M,I,R,w;i?l!==G0&&(I=p*A-m*v)&&(R=_*(A/I)+T*(-v/I)+(v*x-A*y)/I,w=_*(-m/I)+T*(p/I)-(p*x-m*y)/I,_=R,T=w):(M=OM(e),_=M.x+(~b[0].indexOf("%")?_/100*M.width:_),T=M.y+(~(b[1]||b[0]).indexOf("%")?T/100*M.height:T)),r||r!==!1&&a.smooth?(y=_-c,x=T-u,a.xOffset=f+(y*p+x*v)-y,a.yOffset=h+(y*m+x*A)-x):a.xOffset=a.yOffset=0,a.xOrigin=_,a.yOrigin=T,a.smooth=!!r,a.origin=t,a.originIsAbsolute=!!i,e.style[gs]="0px 0px",o&&(Ll(o,a,"xOrigin",c,_),Ll(o,a,"yOrigin",u,T),Ll(o,a,"xOffset",f,a.xOffset),Ll(o,a,"yOffset",h,a.yOffset)),e.setAttribute("data-svg-origin",_+" "+T)},Q0=function(e,t){var i=e._gsap||new bM(e);if("x"in i&&!t&&!i.uncache)return i;var r=e.style,s=i.scaleX<0,o="px",a="deg",l=getComputedStyle(e),c=Os(e,gs)||"0",u,f,h,p,m,v,A,y,x,b,_,T,M,I,R,w,E,F,L,z,V,j,N,Q,W,ee,H,ye,Ie,ze,oe,_e;return u=f=h=v=A=y=x=b=_=0,p=m=1,i.svg=!!(e.getCTM&&FM(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(r[oi]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[oi]!=="none"?l[oi]:"")),r.scale=r.rotate=r.translate="none"),I=Dx(e,i.svg),i.svg&&(i.uncache?(W=e.getBBox(),c=i.xOrigin-W.x+"px "+(i.yOrigin-W.y)+"px",Q=""):Q=!t&&e.getAttribute("data-svg-origin"),B_(e,Q||c,!!Q||i.originIsAbsolute,i.smooth!==!1,I)),T=i.xOrigin||0,M=i.yOrigin||0,I!==G0&&(F=I[0],L=I[1],z=I[2],V=I[3],u=j=I[4],f=N=I[5],I.length===6?(p=Math.sqrt(F
vendor: 4,291 bytes, line 37
37*F+L*L),m=Math.sqrt(V*V+z*z),v=F||L?Ku(L,F)*Xc:0,x=z||V?Ku(z,V)*Xc+v:0,x&&(m*=Math.abs(Math.cos(x*$f))),i.svg&&(u-=T-(T*F+M*z),f-=M-(T*L+M*V))):(_e=I[6],ze=I[7],H=I[8],ye=I[9],Ie=I[10],oe=I[11],u=I[12],f=I[13],h=I[14],R=Ku(_e,Ie),A=R*Xc,R&&(w=Math.cos(-R),E=Math.sin(-R),Q=j*w+H*E,W=N*w+ye*E,ee=_e*w+Ie*E,H=j*-E+H*w,ye=N*-E+ye*w,Ie=_e*-E+Ie*w,oe=ze*-E+oe*w,j=Q,N=W,_e=ee),R=Ku(-z,Ie),y=R*Xc,R&&(w=Math.cos(-R),E=Math.sin(-R),Q=F*w-H*E,W=L*w-ye*E,ee=z*w-Ie*E,oe=V*E+oe*w,F=Q,L=W,z=ee),R=Ku(L,F),v=R*Xc,R&&(w=Math.cos(R),E=Math.sin(R),Q=F*w+L*E,W=j*w+N*E,L=L*w-F*E,N=N*w-j*E,F=Q,j=W),A&&Math.abs(A)+Math.abs(v)>359.9&&(A=v=0,y=180-y),p=bi(Math.sqrt(F*F+L*L+z*z)),m=bi(Math.sqrt(N*N+_e*_e)),R=Ku(j,N),x=Math.abs(R)>2e-4?R*Xc:0,_=oe?1/(oe<0?-oe:oe):0),i.svg&&(Q=e.getAttribute("transform"),i.forceCSS=e.setAttribute("transform","")||!NM(Os(e,oi)),Q&&e.setAttribute("transform",Q))),Math.abs(x)>90&&Math.abs(x)<270&&(s?(p*=-1,x+=v<=0?180:-180,v+=v<=0?180:-180):(m*=-1,x+=x<=0?180:-180)),t=t||i.uncache,i.x=u-((i.xPercent=u&&(!t&&i.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-u)?-50:0)))?e.offsetWidth*i.xPercent/100:0)+o,i.y=f-((i.yPercent=f&&(!t&&i.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-f)?-50:0)))?e.offsetHeight*i.yPercent/100:0)+o,i.z=h+o,i.scaleX=bi(p),i.scaleY=bi(m),i.rotation=bi(v)+a,i.rotationX=bi(A)+a,i.rotationY=bi(y)+a,i.skewX=x+a,i.skewY=b+a,i.transformPerspective=_+o,(i.zOrigin=parseFloat(c.split(" ")[2])||!t&&i.zOrigin||0)&&(r[gs]=Ig(c)),i.xOffset=i.yOffset=0,i.force3D=Us.force3D,i.renderTransform=i.svg?Gq:LM?kM:Vq,i.uncache=0,i},Ig=function(e){return(e=e.split(" "))[0]+" "+e[1]},j2=function(e,t,i){var r=Er(t);return bi(parseFloat(t)+parseFloat(Jl(e,"x",i+"px",r)))+r},Vq=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,kM(e,t)},Fc="0deg",gh="0px",Uc=") ",kM=function(e,t){var i=t||this,r=i.xPercent,s=i.yPercent,o=i.x,a=i.y,l=i.z,c=i.rotation,u=i.rotationY,f=i.rotationX,h=i.skewX,p=i.skewY,m=i.scaleX,v=i.scaleY,A=i.transformPerspective,y=i.force3D,x=i.target,b=i.zOrigin,_="",T=y==="auto"&&e&&e!==1||y===!0;if(b&&(f!==Fc||u!==Fc)){var M=parseFloat(u)*$f,I=Math.sin(M),R=Math.cos(M),w;M=parseFloat(f)*$f,w=Math.cos(M),o=j2(x,o,I*w*-b),a=j2(x,a,-Math.sin(M)*-b),l=j2(x,l,R*w*-b+b)}A!==gh&&(_+="perspective("+A+Uc),(r||s)&&(_+="translate("+r+"%, "+s+"%) "),(T||o!==gh||a!==gh||l!==gh)&&(_+=l!==gh||T?"translate3d("+o+", "+a+", "+l+") ":"translate("+o+", "+a+Uc),c!==Fc&&(_+="rotate("+c+Uc),u!==Fc&&(_+="rotateY("+u+Uc),f!==Fc&&(_+="rotateX("+f+Uc),(h!==Fc||p!==Fc)&&(_+="skew("+h+", "+p+Uc),(m!==1||v!==1)&&(_+="scale("+m+", "+v+Uc),x.style[oi]=_||"translate(0, 0)"},Gq=function(e,t){var i=t||this,r=i.xPercent,s=i.yPercent,o=i.x,a=i.y,l=i.rotation,c=i.skewX,u=i.skewY,f=i.scaleX,h=i.scaleY,p=i.target,m=i.xOrigin,v=i.yOrigin,A=i.xOffset,y=i.yOffset,x=i.forceCSS,b=parseFloat(o),_=parseFloat(a),T,M,I,R,w;l=parseFloat(l),c=parseFloat(c),u=parseFloat(u),u&&(u=parseFloat(u),c+=u,l+=u),l||c?(l*=$f,c*=$f,T=Math.cos(l)*f,M=Math.sin(l)*f,I=Math.sin(l-c)*-h,R=Math.cos(l-c)*h,c&&(u*=$f,w=Math.tan(c-u),w=Math.sqrt(1+w*w),I*=w,R*=w,u&&(w=Math.tan(u),w=Math.sqrt(1+w*w),T*=w,M*=w)),T=bi(T),M=bi(M),I=bi(I),R=bi(R)):(T=f,R=h,M=I=0),(b&&!~(o+"").indexOf("px")||_&&!~(a+"").indexOf("px"))&&(b=Jl(p,"x",o,"px"),_=Jl(p,"y",a,"px")),(m||v||A||y)&&(b=bi(b+m-(m*T+v*I)+A),_=bi(_+v-(m*M+v*R)+y)),(r||s)&&(w=p.getBBox(),b=bi(b+r/100*w.width),_=bi(_+s/100*w.height)),w="matrix("+T+","+M+","+I+","+R+","+b+","+_+")",p.setAttribute("transform",w),x&&(p.style[oi]=w)},Qq=function(e,t,i,r,s){var o=360,a=er(s),l=parseFloat(s)*(a&&~s.indexOf("rad")?Xc:1),c=l-r,u=r+c+"deg",f,h;return a&&(f=s.split("_")[1],f==="short"&&(c%=o,c!==c%(o/2)&&(c+=c<0?o:-360)),f==="cw"&&c<0?c=(c+o*aw)%o-~~(c/o)*o:f==="ccw"&&c>0&&(c=(c-o*aw)%o-~~(c/o)*o)),e._pt=h=new ms(e._pt,t,i,r,c,Eq),h.e=u,h.u="deg",e._props.push(i),h},pw=function(e,t){for(var i in t)e[i]=t[i];return e},Wq=function(e,t,i){var r=pw({},i._gsap),s="perspective,force3D,transformOrigin,svgOrigin",o=i.style,a,l,c,u,f,h,p,m;r.svg?(c=i.getAttribute("transform"),i.setAttribute("transform",""),o[oi]=t,a=Q0(i,1),Zl(i,oi),i.setAttribute("transform",c)):(c=getComputedStyle(i)[oi],o[oi]=t,a=Q0(i,1),o[oi]=c);for(l in Xa)c=r[l],u=a[l],c!==u&&s.indexOf(l)<0&&(p=Er(c),m=Er(u),f=p!==m?Jl(i,l,c,m):parseFloat(c),h=
vendor: 4,633 bytes, line 37
37parseFloat(u),e._pt=new ms(e._pt,a,l,f,h-f,I_),e._pt.u=m||0,e._props.push(l));pw(a,r)};ps("padding,margin,Width,Radius",function(n,e){var t="Top",i="Right",r="Bottom",s="Left",o=(e<3?[t,i,r,s]:[t+s,t+i,r+i,r+s]).map(function(a){return e<2?n+a:"border"+a+n});Mg[e>1?"border"+n:n]=function(a,l,c,u,f){var h,p;if(arguments.length<4)return h=o.map(function(m){return Ta(a,m,c)}),p=h.join(" "),p.split(h[0]).length===5?h[0]:p;h=(u+"").split(" "),p={},o.forEach(function(m,v){return p[m]=h[v]=h[v]||h[(v-1)/2|0]}),a.init(l,p,f)}});var Lx={name:"css",register:R_,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,i,r,s){var o=this._props,a=e.style,l=i.vars.startAt,c,u,f,h,p,m,v,A,y,x,b,_,T,M,I,R,w;Px||R_(),this.styles=this.styles||DM(e),R=this.styles.props,this.tween=i;for(v in t)if(v!=="autoRound"&&(u=t[v],!(Is[v]&&xM(v,t,i,r,e,s)))){if(p=typeof u,m=Mg[v],p==="function"&&(u=u.call(i,r,e,s),p=typeof u),p==="string"&&~u.indexOf("random(")&&(u=z0(u)),m)m(this,e,v,u,i)&&(I=1);else if(v.substr(0,2)==="--")c=(getComputedStyle(e).getPropertyValue(v)+"").trim(),u+="",Wl.lastIndex=0,Wl.test(c)||(A=Er(c),y=Er(u),y?A!==y&&(c=Jl(e,v,c,y)+y):A&&(u+=A)),this.add(a,"setProperty",c,u,r,s,0,0,v),o.push(v),R.push(v,0,a[v]);else if(p!=="undefined"){if(l&&v in l?(c=typeof l[v]=="function"?l[v].call(i,r,e,s):l[v],er(c)&&~c.indexOf("random(")&&(c=z0(c)),Er(c+"")||c==="auto"||(c+=Us.units[v]||Er(Ta(e,v))||""),(c+"").charAt(1)==="="&&(c=Ta(e,v))):c=Ta(e,v),h=parseFloat(c),x=p==="string"&&u.charAt(1)==="="&&u.substr(0,2),x&&(u=u.substr(2)),f=parseFloat(u),v in Yo&&(v==="autoAlpha"&&(h===1&&Ta(e,"visibility")==="hidden"&&f&&(h=0),R.push("visibility",0,a.visibility),Ll(this,a,"visibility",h?"inherit":"hidden",f?"inherit":"hidden",!f)),v!=="scale"&&v!=="transform"&&(v=Yo[v],~v.indexOf(",")&&(v=v.split(",")[0]))),b=v in Xa,b){if(this.styles.save(v),w=u,p==="string"&&u.substring(0,6)==="var(--"){if(u=Os(e,u.substring(4,u.indexOf(")"))),u.substring(0,5)==="calc("){var E=e.style.perspective;e.style.perspective=u,u=Os(e,"perspective"),E?e.style.perspective=E:Zl(e,"perspective")}f=parseFloat(u)}if(_||(T=e._gsap,T.renderTransform&&!t.parseTransform||Q0(e,t.parseTransform),M=t.smoothOrigin!==!1&&T.smooth,_=this._pt=new ms(this._pt,a,oi,0,1,T.renderTransform,T,0,-1),_.dep=1),v==="scale")this._pt=new ms(this._pt,T,"scaleY",T.scaleY,(x?Xf(T.scaleY,x+f):f)-T.scaleY||0,I_),this._pt.u=0,o.push("scaleY",v),v+="X";else if(v==="transformOrigin"){R.push(gs,0,a[gs]),u=zq(u),T.svg?B_(e,u,0,M,0,this):(y=parseFloat(u.split(" ")[2])||0,y!==T.zOrigin&&Ll(this,T,"zOrigin",T.zOrigin,y),Ll(this,a,v,Ig(c),Ig(u)));continue}else if(v==="svgOrigin"){B_(e,u,1,M,0,this);continue}else if(v in UM){Qq(this,T,v,h,x?Xf(h,x+u):u);continue}else if(v==="smoothOrigin"){Ll(this,T,"smooth",T.smooth,u);continue}else if(v==="force3D"){T[v]=u;continue}else if(v==="transform"){Wq(this,u,e);continue}}else v in a||(v=bd(v)||v);if(b||(f||f===0)&&(h||h===0)&&!Sq.test(u)&&v in a)A=(c+"").substr((h+"").length),f||(f=0),y=Er(u)||(v in Us.units?Us.units[v]:A),A!==y&&(h=Jl(e,v,c,y)),this._pt=new ms(this._pt,b?T:a,v,h,(x?Xf(h,x+f):f)-h,!b&&(y==="px"||v==="zIndex")&&t.autoRound!==!1?Iq:I_),this._pt.u=y||0,b&&w!==u?(this._pt.b=c,this._pt.e=w,this._pt.r=Mq):A!==y&&y!=="%"&&(this._pt.b=c,this._pt.r=Tq);else if(v in a)kq.call(this,e,v,c,x?x+u:u);else if(v in e)this.add(e,v,c||e[v],x?x+u:u,r,s);else if(v!=="parseTransform"){_x(v,u);continue}b||(v in a?R.push(v,0,a[v]):typeof e[v]=="function"?R.push(v,2,e[v]()):R.push(v,1,c||e[v])),o.push(v)}}I&&MM(this)},render:function(e,t){if(t.tween._time||!Rx())for(var i=t._pt;i;)i.r(e,i.d),i=i._next;else t.styles.revert()},get:Ta,aliases:Yo,getSetter:function(e,t,i){var r=Yo[t];return r&&r.indexOf(",")<0&&(t=r),t in Xa&&t!==gs&&(e._gsap.x||Ta(e,"x"))?i&&ow===i?t==="scale"?Dq:Bq:(ow=i||{})&&(t==="scale"?Lq:Oq):e.style&&!Ax(e.style[t])?Pq:~t.indexOf("-")?Rq:Mx(e,t)},core:{_removeProperty:Zl,_getMatrix:Dx}};Dr.utils.checkPrefix=bd;Dr.core.getStyleSaver=DM;(function(n,e,t,i){var r=ps(n+","+e+","+t,function(s){Xa[s]=1});ps(e,function(s){Us.units[s]="deg",UM[s]=1}),Yo[r[13]]=n+","+e,ps(i,function(s){var o=s.split(":");Yo[o[1]]=r[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");ps("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(n){Us.units[n]="px"});Dr.registerPlugin(Lx);var dr=Dr.registerPlugin(Lx)||Dr;dr.core.Tween;const jq={onLeave:(n,e)=>
37{dr.to(n,{opacity:0,duration:.5}).then(e)},onBeforeEnter:n=>{n.style.opacity="0"},onEnter:n=>dr.to(n,{opacity:1,duration:.5})};var qq=0;function Xq(){return qq++}var Sl=typeof window<"u",mw=Sl&&window.requestAnimationFrame,gw=Sl&&window.cancelAnimationFrame,Yq=class{constructor(n=Number.POSITIVE_INFINITY){he(this,"callbacks");he(this,"fps");he(this,"time");he(this,"lastTickDate");this.callbacks=[],this.fps=n,this.time=0,this.lastTickDate=performance.now()}get executionTime(){return 1e3/this.fps}dispatch(n,e){var t;for(let i=0;i<this.callbacks.length;i++)(t=this.callbacks[i])==null||t.callback(n,e)}raf(n,e){if(this.time+=e,this.fps===Number.POSITIVE_INFINITY)this.dispatch(n,e);else if(this.time>=this.executionTime){this.time=this.time%this.executionTime;const t=n-this.lastTickDate;this.lastTickDate=n,this.dispatch(n,t)}}add({callback:n,priority:e}){typeof n!="function"&&console.error("Tempus.add: callback is not a function");const t=Xq();return this.callbacks.push({callback:n,priority:e,uid:t}),this.callbacks.sort((i,r)=>i.priority-r.priority),()=>this.remove(t)}remove(n){this.callbacks=this.callbacks.filter(({uid:e})=>n!==e)}},$q=class{constructor(){he(this,"framerates");he(this,"time");he(this,"raf",n=>{if(!Sl)return;requestAnimationFrame(this.raf,!0);const e=n-this.time;this.time=n;for(const t of Object.values(this.framerates))t.raf(n,e)});this.framerates={},this.time=Sl?performance.now():0,Sl&&requestAnimationFrame(this.raf)}add(n,{priority:e=0,fps:t=Number.POSITIVE_INFINITY}={}){if(Sl&&typeof t=="number")return this.framerates[t]||(this.framerates[t]=new Yq(t)),this.framerates[t].add({callback:n,priority:e})}patch(){Sl&&(window.requestAnimationFrame=(n,{priority:e=0,fps:t=Number.POSITIVE_INFINITY}={})=>n===this.raf||!n.toString().includes("requestAnimationFrame(")?mw(n):(n.__tempusPatched||(n.__tempusPatched=!0,n.__tempusUnsubscribe=this.add(n,{priority:e,fps:t})),n.__tempusUnsubscribe),window.cancelAnimationFrame=n=>{if(typeof n=="function"){n==null||n();return}return gw(n)})}unpatch(){Sl&&(window.requestAnimationFrame=mw,window.cancelAnimationFrame=gw)}},zM=new $q;function Ox(n){return rA()?(Fy(n),!0):!1}const HM=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Kq=n=>n!=null,Zq=Object.prototype.toString,Jq=n=>Zq.call(n)==="[object Object]",Yc=()=>{},eX=tX();function tX(){var n,e;return HM&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function VM(n){return Do()}function G1(n){return Array.isArray(n)?n:[n]}function xA(n,e=!0,t){VM()?zs(n,t):e?n():Ja(n)}function nX(n,e){VM()&&tl(n,e)}function iX(n,e,t){return ai(n,e,{...t,immediate:!0})}const Nd=HM?window:void 0;function ru(n){var e;const t=Co(n);return(e=t==null?void 0:t.$el)!=null?e:t}function Kr(...n){const e=[],t=()=>{e.forEach(a=>a()),e.length=0},i=(a,l,c,u)=>(a.addEventListener(l,c,u),()=>a.removeEventListener(l,c,u)),r=ii(()=>{const a=G1(Co(n[0])).filter(l=>l!=null);return a.every(l=>typeof l!="string")?a:void 0}),s=iX(()=>{var a,l;return[(l=(a=r.value)==null?void 0:a.map(c=>ru(c)))!=null?l:[Nd].filter(c=>c!=null),G1(Co(r.value?n[1]:n[0])),G1(qt(r.value?n[2]:n[1])),Co(r.value?n[3]:n[2])]},([a,l,c,u])=>{if(t(),!(a!=null&&a.length)||!(l!=null&&l.length)||!(c!=null&&c.length))return;const f=Jq(u)?{...u}:u;e.push(...a.flatMap(h=>l.flatMap(p=>c.map(m=>i(h,p,m,f)))))},{flush:"post"}),o=()=>{s(),t()};return Ox(t),o}let Aw=!1;function rX(n,e,t={}){const{window:i=Nd,ignore:r=[],capture:s=!0,detectIframe:o=!1,controls:a=!1}=t;if(!i)return a?{stop:Yc,cancel:Yc,trigger:Yc}:Yc;if(eX&&!Aw){Aw=!0;const A={passive:!0};Array.from(i.document.body.children).forEach(y=>Kr(y,"click",Yc,A)),Kr(i.document.documentElement,"click",Yc,A)}let l=!0;const c=A=>Co(r).some(y=>{if(typeof y=="string")return Array.from(i.document.querySelectorAll(y)).some(x=>x===A.target||A.composedPath().includes(x));{const x=ru(y);return x&&(A.target===x||A.composedPath().includes(x))}});function u(A){const y=Co(A);return y&&y.$.subTree.shapeFlag===16}function f(A,y){const x=Co(A),b=x.$.subTree&&x.$.subTree.children;return b==null||!Array.isArray(b)?!1:b.some(_=>_.el===y.target||y.composedPath().includes(_.el))}const h=A=>{const y=ru(n);if(A.target!=null&&!(!(y instanceof Element)&&u(n)&&f(n,A))&&!(!y||y===A.target||A.composedPath().includes(y))){if("detail"in A&&A.detail===0&&(l=!c(A)),!l){l=!0;return}e(A)}};let p=!1;const m=[Kr(i,"click",A=>{p||(p=!0,setTimeout(()=>{p=!1},0),h(A))},{passive:!0,capture:s}),Kr(i,"pointerdown",A=>{const y=ru(n);l=!c(A)&&!!(y&&!A.composedPath().includes(y))},{passive:!0}),o&&Kr(i,"blur",A=>{setTimeout(()=>{var y;const x=ru(n);((y=i.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(x!=null&&x.contains(i.document.activeElement))&&e(A)},0)},{passive:!0}
37)].filter(Boolean),v=()=>m.forEach(A=>A());return a?{stop:v,cancel:()=>{l=!1},trigger:A=>{l=!0,h(A),l=!1}}:v}function sX(){const n=ds(!1),e=Do();return e&&zs(()=>{n.value=!0},e),n}function oX(n){const e=sX();return ii(()=>(e.value,!!n()))}function aX(n,e,t={}){const{window:i=Nd,...r}=t;let s;const o=oX(()=>i&&"MutationObserver"in i),a=()=>{s&&(s.disconnect(),s=void 0)},l=ii(()=>{const h=Co(n),p=G1(h).map(ru).filter(Kq);return new Set(p)}),c=ai(()=>l.value,h=>{a(),o.value&&h.size&&(s=new MutationObserver(e),h.forEach(p=>s.observe(p,r)))},{immediate:!0,flush:"post"}),u=()=>s==null?void 0:s.takeRecords(),f=()=>{c(),a()};return Ox(f),{isSupported:o,stop:f,takeRecords:u}}function lX(n,e,t={}){const{window:i=Nd,document:r=i==null?void 0:i.document,flush:s="sync"}=t;if(!i||!r)return Yc;let o;const a=u=>{o==null||o(),o=u},l=aA(()=>{const u=ru(n);if(u){const{stop:f}=aX(r,h=>{h.map(m=>[...m.removedNodes]).flat().some(m=>m===u||m.contains(u))&&e(h)},{window:i,childList:!0,subtree:!0});a(f)}},{flush:s}),c=()=>{l(),a()};return Ox(c),c}function cX(n={}){var e;const{window:t=Nd,deep:i=!0,triggerOnRemoval:r=!1}=n,s=(e=n.document)!=null?e:t==null?void 0:t.document,o=()=>{var c;let u=s==null?void 0:s.activeElement;if(i)for(;u!=null&&u.shadowRoot;)u=(c=u==null?void 0:u.shadowRoot)==null?void 0:c.activeElement;return u},a=gt(),l=()=>{a.value=o()};if(t){const c={capture:!0,passive:!0};Kr(t,"blur",u=>{u.relatedTarget===null&&l()},c),Kr(t,"focus",l,c)}return r&&lX(a,l,{document:s}),l(),a}const uX={page:n=>[n.pageX,n.pageY],client:n=>[n.clientX,n.clientY],screen:n=>[n.screenX,n.screenY],movement:n=>n instanceof MouseEvent?[n.movementX,n.movementY]:null};function fX(n={}){const{type:e="page",touch:t=!0,resetOnTouchEnds:i=!1,initialValue:r={x:0,y:0},window:s=Nd,target:o=s,scroll:a=!0,eventFilter:l}=n;let c=null,u=0,f=0;const h=ds(r.x),p=ds(r.y),m=ds(null),v=typeof e=="function"?e:uX[e],A=I=>{const R=v(I);c=I,R&&([h.value,p.value]=R,m.value="mouse"),s&&(u=s.scrollX,f=s.scrollY)},y=I=>{if(I.touches.length>0){const R=v(I.touches[0]);R&&([h.value,p.value]=R,m.value="touch")}},x=()=>{if(!c||!s)return;const I=v(c);c instanceof MouseEvent&&I&&(h.value=I[0]+s.scrollX-u,p.value=I[1]+s.scrollY-f)},b=()=>{h.value=r.x,p.value=r.y},_=l?I=>l(()=>A(I),{}):I=>A(I),T=l?I=>l(()=>y(I),{}):I=>y(I),M=l?()=>l(()=>x(),{}):()=>x();if(o){const I={passive:!0};Kr(o,["mousemove","dragover"],_,I),t&&e!=="movement"&&(Kr(o,["touchstart","touchmove"],T,I),i&&Kr(o,"touchend",b,I)),a&&e==="page"&&Kr(s,"scroll",M,I)}return{x:h,y:p,sourceType:m}}/*! 38 * paths 3.14.2 39 * https://gsap.com 40 * 41 * Copyright 2008-2025, GreenSock. All rights reserved. 42 * Subject to the terms at https://gsap.com/standard-license 43 * @author: Jack Doyle, [email protected] 44*/var dX=/[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/ig,hX=/[\+\-]?\d*\.?\d+e[\+\-]?\d+/ig,pX=Math.PI/180,Im=Math.sin,Pm=Math.cos,u0=Math.abs,Ah=Math.sqrt,mX=function(e){return typeof e=="number"},vw=1e5,ll=function(e){return Math.round(e*vw)/vw||0},yw=function(e){return e.closed=Math.abs(e[0]-e[e.length-2])<.001&&Math.abs(e[1]-e[e.length-1])<.001};function gX(n,e,t,i,r,s,o){for(var a=n.length,l,c,u,f,h;--a>-1;)for(l=n[a],c=l.length,u=0;u<c;u+=2)f=l[u],h=l[u+1],l[u]=f*e+h*i+s,l[u+1]=f*t+h*r+o;return n._dirty=1,n}function AX(n,e,t,i,r,s,o,a,l){if(!(n===a&&e===l)){t=u0(t),i=u0(i);var c=r%360*pX,u=Pm(c),f=Im(c),h=Math.PI,p=h*2,m=(n-a)/2,v=(e-l)/2,A=u*m+f*v,y=-f*m+u*v,x=A*A,b=y*y,_=x/(t*t)+b/(i*i);_>1&&(t=Ah(_)*t,i=Ah(_)*i);var T=t*t,M=i*i,I=(T*M-T*b-M*x)/(T*b+M*x);I<0&&(I=0);var R=(s===o?-1:1)*Ah(I),w=R*(t*y/i),E=R*-(i*A/t),F=(n+a)/2,L=(e+l)/2,z=F+(u*w-f*E),V=L+(f*w+u*E),j=(A-w)/t,N=(y-E)/i,Q=(-A-w)/t,W=(-y-E)/i,ee=j*j+N*N,H=(N<0?-1:1)*Math.acos(j/Ah(ee)),ye=(j*W-N*Q<0?-1:1)*Math.acos((j*Q+N*W)/Ah(ee*(Q*Q+W*W)));isNaN(ye)&&(ye=h),!o&&ye>0?ye-=p:o&&ye<0&&(ye+=p),H%=p,ye%=p;var Ie=Math.ceil(u0(ye)/(p/4)),ze=[],oe=ye/Ie,_e=4/3*Im(oe/2)/(1+Pm(oe/2)),Fe=u*t,Z=f*t,Ae=f*-i,we=u*i,be;for(be=0;be<Ie;be++)r=H+be*oe,A=Pm(r),y=Im(r),j=Pm(r+=oe),N=Im(r),ze.push(A-_e*y,y+_e*A,j+_e*N,N-_e*j,j,N);for(be=0;be<ze.length;be+=2)A=ze[be],y=ze[be+1],ze[be]=A*Fe+y*Ae+z,ze[be+1]=A*Z+y*we+V;return ze[be-2]=a,ze[be-1]=l,ze}}function vX(n){var e=(n+"").replace(hX,function(w){var E=+w;return E<1e-4&&E>-1e-4?0:E}).match(dX)||[],t=[],i=0,r=0,s=2/3,o=e.length,a=0,l="ERROR: malformed path: "+n,c,u,f,h,p,m,v,A,y,x,b,_,T,M,I,R=function(E,F,L,z){x=(L-E)/3,b=(z-F)/3,v.push(E+x,F+b,L-x,z-b,L,z)};if(!n||!isNaN(e[0])||isNaN(e[1]))return console.log(l),t;for(c=0;c<o;c++)if(T=p,isNaN(e[c])?(p=e[c].toUpperCase(),m=p!==e[c]):c--,f=+e[c+1],h=+e[c+2],m&&(f+=i,h+=r),c||(A=f,y=h),p==="M")v&&(v.length<8?t.length-=1:a+=v.length,yw(v)),i=A=f,r=y=h,v=[f,h],t.push(v),c+=2,p="L";else if(p==="C")v||(v=[0,0]),m||(i=r=0),v.push(f,h,i+e[c+3]*1,r+e[c+4]*1,i+=e[c+5]*1,r+=e[c+6]*1),c+=6;else if(p==="S")x=i,b=r,(T==="C"||T==="S")&&(x+=i-v[v.length-4],b+=r-v[v.length-3]),m||(i=r=0),v.push(x,b,f,h,i+=e[c+3]*1,r+=e[c+4]*1),c+=4;else if(p==="Q")x=i+(f-i)*s,b=r+(h-r)*s,m||(i=r=0),i+=e[c+3]*1,r+=e[c+4]*1,v.push(x,b,i+(f-i)*s,r+(h-r)*s,i,r),c+=4;else if(p==="T")x=i-v[v.length-4],b=r-v[v.length-3],v.push(i+x,r+b,f+(i+x*1.5-f)*s,h+(r+b*1.5-h)*s,i=f,r=h),c+=2;else if(p==="H")R(i,r,i=f,r),c+=1;
44else if(p==="V")R(i,r,i,r=f+(m?r-i:0)),c+=1;else if(p==="L"||p==="Z")p==="Z"&&(f=A,h=y,v.closed=!0),(p==="L"||u0(i-f)>.5||u0(r-h)>.5)&&(R(i,r,f,h),p==="L"&&(c+=2)),i=f,r=h;else if(p==="A"){if(M=e[c+4],I=e[c+5],x=e[c+6],b=e[c+7],u=7,M.length>1&&(M.length<3?(b=x,x=I,u--):(b=I,x=M.substr(2),u-=2),I=M.charAt(1),M=M.charAt(0)),_=AX(i,r,+e[c+1],+e[c+2],+e[c+3],+M,+I,(m?i:0)+x*1,(m?r:0)+b*1),c+=u,_)for(u=0;u<_.length;u++)v.push(_[u]);i=v[v.length-2],r=v[v.length-1]}else console.log(l);return c=v.length,c<6?(t.pop(),c=0):yw(v),t.totalPoints=a+c,t}function yX(n){mX(n[0])&&(n=[n]);var e="",t=n.length,i,r,s,o;for(r=0;r<t;r++){for(o=n[r],e+="M"+ll(o[0])+","+ll(o[1])+" C",i=o.length,s=2;s<i;s++)e+=ll(o[s++])+","+ll(o[s++])+" "+ll(o[s++])+","+ll(o[s++])+" "+ll(o[s++])+","+ll(o[s])+" ";o.closed&&(e+="z")}return e}/*! 45 * CustomEase 3.14.2 46 * https://gsap.com 47 * 48 * @license Copyright 2008-2025, GreenSock. All rights reserved. 49 * Subject to the terms at https://gsap.com/standard-license 50 * @author: Jack Doyle, [email protected] 51*/var cs,GM,QM=function(){return cs||typeof window<"u"&&(cs=window.gsap)&&cs.registerPlugin&&cs},_w=function(){cs=QM(),cs?(cs.registerEase("_CE",Ol.create),GM=1):console.warn("Please gsap.registerPlugin(CustomEase)")},_X=1e20,Rm=function(e){return~~(e*1e3+(e<0?-.5:.5))/1e3},bX=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/gi,xX=/[cLlsSaAhHvVtTqQ]/g,CX=function(e){var t=e.length,i=_X,r;for(r=1;r<t;r+=6)+e[r]<i&&(i=+e[r]);return i},wX=function(e,t,i){!i&&i!==0&&(i=Math.max(+e[e.length-1],+e[1]));var r=+e[0]*-1,s=-i,o=e.length,a=1/(+e[o-2]+r),l=-t||(Math.abs(+e[o-1]-+e[1])<.01*(+e[o-2]-+e[0])?CX(e)+s:+e[o-1]+s),c;for(l?l=1/l:l=-a,c=0;c<o;c+=2)e[c]=(+e[c]+r)*a,e[c+1]=(+e[c+1]+s)*l},SX=function n(e,t,i,r,s,o,a,l,c,u,f){var h=(e+i)/2,p=(t+r)/2,m=(i+s)/2,v=(r+o)/2,A=(s+a)/2,y=(o+l)/2,x=(h+m)/2,b=(
51p+v)/2,_=(m+A)/2,T=(v+y)/2,M=(x+_)/2,I=(b+T)/2,R=a-e,w=l-t,E=Math.abs((i-a)*w-(r-l)*R),F=Math.abs((s-a)*w-(o-l)*R),L;return u||(u=[{x:e,y:t},{x:a,y:l}],f=1),u.splice(f||u.length-1,0,{x:M,y:I}),(E+F)*(E+F)>c*(R*R+w*w)&&(L=u.length,n(e,t,h,p,x,b,M,I,c,u,f),n(M,I,_,T,A,y,a,l,c,u,f+1+(u.length-L))),u},Ol=function(){function n(t,i,r){GM||_w(),this.id=t,this.setData(i,r)}var e=n.prototype;return e.setData=function(i,r){r=r||{},i=i||"0,0,1,1";var s=i.match(bX),o=1,a=[],l=[],c=r.precision||1,u=c<=1,f,h,p,m,v,A,y,x,b;if(this.data=i,(xX.test(i)||~i.indexOf("M")&&i.indexOf("C")<0)&&(s=vX(i)[0]),f=s.length,f===4)s.unshift(0,0),s.push(1,1),f=8;else if((f-2)%6)throw"Invalid CustomEase";for((+s[0]!=0||+s[f-2]!=1)&&wX(s,r.height,r.originY),this.segment=s,m=2;m<f;m+=6)h={x:+s[m-2],y:+s[m-1]},p={x:+s[m+4],y:+s[m+5]},a.push(h,p),SX(h.x,h.y,+s[m],+s[m+1],+s[m+2],+s[m+3],p.x,p.y,1/(c*2e5),a,a.length-1);for(f=a.length,m=0;m<f;m++)y=a[m],x=a[m-1]||y,(y.x>x.x||x.y!==y.y&&x.x===y.x||y===x)&&y.x<=1?(x.cx=y.x-x.x,x.cy=y.y-x.y,x.n=y,x.nx=y.x,u&&m>1&&Math.abs(x.cy/x.cx-a[m-2].cy/a[m-2].cx)>2&&(u=0),x.cx<o&&(x.cx?o=x.cx:(x.cx=.001,m===f-1&&(x.x-=.001,o=Math.min(o,.001),u=0)))):(a.splice(m--,1),f--);if(f=1/o+1|0,v=1/f,A=0,y=a[0],u){for(m=0;m<f;m++)b=m*v,y.nx<b&&(y=a[++A]),h=y.y+(b-y.x)/y.cx*y.cy,l[m]={x:b,cx:v,y:h,cy:0,nx:9},m&&(l[m-1].cy=h-l[m-1].y);A=a[a.length-1],l[f-1].cy=A.y-h,l[f-1].cx=A.x-l[l.length-1].x}else{for(m=0;m<f;m++)y.nx<m*v&&(y=a[++A]),l[m]=y;A<a.length-1&&(l[m-1]=a[a.length-2])}return this.ease=function(_){var T=l[_*f|0]||l[f-1];return T.nx<_&&(T=T.n),T.y+(_-T.x)/T.cx*T.cy},this.ease.custom=this,this.id&&cs&&cs.registerEase(this.id,this.ease),this},e.getSVGData=function(i){return n.getSVGData(this,i)},n.create=function(i,r,s){return new n(i,r,s).ease},n.register=function(i){cs=i,_w()},n.get=function(i){return cs.parseEase(i)},n.getSVGData=function(i,r){r=r||{};var s=r.width||100,o=r.height||100,a=r.x||0,l=(r.y||0)+o,c=cs.utils.toArray(r.path)[0],u,f,h,p,m,v,A,y,x,b;if(r.invert&&(o=-o,l=0),typeof i=="string"&&(i=cs.parseEase(i)),i.custom&&(i=i.custom),i instanceof n)u=yX(gX([i.segment.slice(0)],s,0,0,-o,a,l));else{for(u=[a,l],A=Math.max(5,(r.precision||1)*200),p=1/A,A+=2,y=5/A,x=Rm(a+p*s),b=Rm(l+i(p)*-o),f=(b-l)/(x-a),h=2;h<A;h++)m=Rm(a+h*p*s),v=Rm(l+i(h*p)*-o),(Math.abs((v-b)/(m-x)-f)>y||h===A-1)&&(u.push(x,b),f=(v-b)/(m-x)),x=m,b=v;u="M"+u.join(",")}return c&&c.setAttribute("d",u),u},n}();Ol.version="3.14.2";Ol.headless=!0;QM()&&cs.registerPlugin(Ol);function EX(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}}function TX(n,e,t){return e&&EX(n.prototype,e),n}/*! 52 * Observer 3.14.2 53 * https://gsap.com 54 * 55 * @license Copyright 2008-2025, GreenSock. All rights reserved. 56 * Subject to the terms at https://gsap.com/standard-license 57 * @author: Jack Doyle, [email protected] 58*/var ur,Q1,Ds,Fl,Ul,Kf,WM,$c,f0,jM,za,go,qM,XM=function(){return ur||typeof window<"u"&&(ur=window.gsap)&&ur.registerPlugin&&ur},YM=1,Ff=[],Ht=[],Jo=[],d0=Date.now,D_=function(e,t){return t},MX=function(){var e=f0.core,t=e.bridge||{},i=e._scrollers,r=e._proxies;i.push.apply(i,Ht),r.push.apply(r,Jo),Ht=i,Jo=r,D_=function(o,a){return t[o](a)}},jl=function(e,t){return~Jo.indexOf(e)&&Jo[Jo.indexOf(e)+1][t]},h0=function(e){return!!~jM.indexOf(e)},Hr=function(e,t,i,r,s){return e.addEventListener(t,i,{passive:r!==!1,capture:!!s})},Ur=function(e,t,i,r){return e.removeEventListener(t,i,!!r)},Bm="scrollLeft",Dm="scrollTop",L_=function(){return za&&za.isPressed||Ht.cache++},Pg=function(e,t){var i=function r(s){if(s||s===0){YM&&(Ds.history.scrollRestoration="manual");var o=za&&za.isPressed;s=r.v=Math.round(s)||(za&&za.iOS?1:0),e(s),r.cacheID=Ht.cache,o&&D_("ss",s)}else(t||Ht.cache!==r.cacheID||D_("ref"))&&(r.cacheID=Ht.cache,r.v=e());return r.v+r.offset};return i.offset=0,e&&i},Zr={s:Bm,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:Pg(function(n){return arguments.length?Ds.scrollTo(n,Ni.sc()):Ds.pageXOffset||Fl[Bm]||Ul[Bm]||Kf[Bm]||0})},Ni={s:Dm,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Zr,
vendor: 8,688 bytes, lines 58-65
58sc:Pg(function(n){return arguments.length?Ds.scrollTo(Zr.sc(),n):Ds.pageYOffset||Fl[Dm]||Ul[Dm]||Kf[Dm]||0})},ls=function(e,t){return(t&&t._ctx&&t._ctx.selector||ur.utils.toArray)(e)[0]||(typeof e=="string"&&ur.config().nullTargetWarn!==!1?console.warn("Element not found:",e):null)},IX=function(e,t){for(var i=t.length;i--;)if(t[i]===e||t[i].contains(e))return!0;return!1},ec=function(e,t){var i=t.s,r=t.sc;h0(e)&&(e=Fl.scrollingElement||Ul);var s=Ht.indexOf(e),o=r===Ni.sc?1:2;!~s&&(s=Ht.push(e)-1),Ht[s+o]||Hr(e,"scroll",L_);var a=Ht[s+o],l=a||(Ht[s+o]=Pg(jl(e,i),!0)||(h0(e)?r:Pg(function(c){return arguments.length?e[i]=c:e[i]})));return l.target=e,a||(l.smooth=ur.getProperty(e,"scrollBehavior")==="smooth"),l},O_=function(e,t,i){var r=e,s=e,o=d0(),a=o,l=t||50,c=Math.max(500,l*3),u=function(m,v){var A=d0();v||A-o>l?(s=r,r=m,a=o,o=A):i?r+=m:r=s+(m-s)/(A-a)*(o-a)},f=function(){s=r=i?0:r,a=o=0},h=function(m){var v=a,A=s,y=d0();return(m||m===0)&&m!==r&&u(m),o===a||y-a>c?0:(r+(i?A:-A))/((i?y:o)-v)*1e3};return{update:u,reset:f,getVelocity:h}},vh=function(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e},bw=function(e){var t=Math.max.apply(Math,e),i=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(i)?t:i},$M=function(){f0=ur.core.globals().ScrollTrigger,f0&&f0.core&&MX()},KM=function(e){return ur=e||XM(),!Q1&&ur&&typeof document<"u"&&document.body&&(Ds=window,Fl=document,Ul=Fl.documentElement,Kf=Fl.body,jM=[Ds,Fl,Ul,Kf],ur.utils.clamp,qM=ur.core.context||function(){},$c="onpointerenter"in Kf?"pointer":"mouse",WM=xi.isTouch=Ds.matchMedia&&Ds.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Ds||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?2:0,go=xi.eventTypes=("ontouchstart"in Ul?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in Ul?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return YM=0},500),$M(),Q1=1),Q1};Zr.op=Ni;Ht.cache=0;var xi=function(){function n(t){this.init(t)}var e=n.prototype;return e.init=function(i){Q1||KM(ur)||console.warn("Please gsap.registerPlugin(Observer)"),f0||$M();var r=i.tolerance,s=i.dragMinimum,o=i.type,a=i.target,l=i.lineHeight,c=i.debounce,u=i.preventDefault,f=i.onStop,h=i.onStopDelay,p=i.ignore,m=i.wheelSpeed,v=i.event,A=i.onDragStart,y=i.onDragEnd,x=i.onDrag,b=i.onPress,_=i.onRelease,T=i.onRight,M=i.onLeft,I=i.onUp,R=i.onDown,w=i.onChangeX,E=i.onChangeY,F=i.onChange,L=i.onToggleX,z=i.onToggleY,V=i.onHover,j=i.onHoverEnd,N=i.onMove,Q=i.ignoreCheck,W=i.isNormalizer,ee=i.onGestureStart,H=i.onGestureEnd,ye=i.onWheel,Ie=i.onEnable,ze=i.onDisable,oe=i.onClick,_e=i.scrollSpeed,Fe=i.capture,Z=i.allowClicks,Ae=i.lockAxis,we=i.onLockAxis;this.target=a=ls(a)||Ul,this.vars=i,p&&(p=ur.utils.toArray(p)),r=r||1e-9,s=s||0,m=m||1,_e=_e||1,o=o||"wheel,touch,pointer",c=c!==!1,l||(l=parseFloat(Ds.getComputedStyle(Kf).lineHeight)||22);var be,qe,rt,q,B,le,ve,$=this,de=0,De=0,xe=i.passive||!u&&i.passive!==!1,k=ec(a,Zr),D=ec(a,Ni),ne=k(),re=D(),ce=~o.indexOf("touch")&&!~o.indexOf("pointer")&&go[0]==="pointerdown",fe=h0(a),Pe=a.ownerDocument||Fl,Le=[0,0,0],Oe=[0,0,0],dt=0,Be=function(){return dt=d0()},He=function(ot,Mt){return($.event=ot)&&p&&IX(ot.target,p)||Mt&&ce&&ot.pointerType!=="touch"||Q&&Q(ot,Mt)},Xe=function(){$._vx.reset(),$._vy.reset(),qe.pause(),f&&f($)},st=function(){var ot=$.deltaX=bw(Le),Mt=$.deltaY=bw(Oe),Ze=Math.abs(ot)>=r,wt=Math.abs(Mt)>=r;F&&(Ze||wt)&&F($,ot,Mt,Le,Oe),Ze&&(T&&$.deltaX>0&&T($),M&&$.deltaX<0&&M($),w&&w($),L&&$.deltaX<0!=de<0&&L($),de=$.deltaX,Le[0]=Le[1]=Le[2]=0),wt&&(R&&$.deltaY>0&&R($),I&&$.deltaY<0&&I($),E&&E($),z&&$.deltaY<0!=De<0&&z($),De=$.deltaY,Oe[0]=Oe[1]=Oe[2]=0),(q||rt)&&(N&&N($),rt&&(A&&rt===1&&A($),x&&x($),rt=0),q=!1),le&&!(le=!1)&&we&&we($),B&&(ye($),B=!1),be=0},et=function(ot,Mt,Ze){Le[Ze]+=ot,Oe[Ze]+=Mt,$._vx.update(ot),$._vy.update(Mt),c?be||(be=requestAnimationFrame(st)):st()},mt=function(ot,Mt){Ae&&!ve&&($.axis=ve=Math.abs(ot)>Math.abs(Mt)?"x":"y",le=!0),ve!=="y"&&(Le[2]+=ot,$._vx.update(ot,!0)),ve!=="x"&&(Oe[2]+=Mt,$._vy.update(Mt,!0)),c?be||(be=requestAnimationFrame(st)):st()},lt=function(ot){if(!He(ot,1)){ot=vh(ot,u);var Mt=ot.clientX,Ze=ot.clientY,wt=Mt-$.x,ct=Ze-$.y,bt=$.isDragging;$.x=Mt,$.y=Ze,(bt||(wt||ct)&&(Math.abs($.startX-Mt)>=s||Math.abs($.startY-Ze)>=s))&&(rt||(rt=bt?2:1),bt||($.isDragging=!0),mt(wt,ct))}},Rt=$.onPress=function($e){He($e,1)||$e&&$e.button||($.axis=ve=null,qe.pause(),$.isPressed=!0,$e=vh($e),de=De=0,$.startX=$.x=$e.clientX,$.startY=$.y=$e.clientY,$._vx.reset(),$._vy.reset(),Hr(W?a:Pe,go[1],lt,xe,!0),$.deltaX=$.deltaY=0,b&&b($))},te=$.onRelease=function($e){if(!He($e,1)){Ur(W?a:Pe,go[1],lt,!0);var ot=!isNaN($.y-$.startY),Mt=$.isDragging,Ze=Mt&&(Math.abs($.x-$.startX)>3||Math.abs($.y-$.startY)>3),wt=vh($e);!Ze&&ot&&($._vx.reset(),$._vy.reset(),u&&Z&&ur.delayedCall(.08,function(){if(d0()-dt>300&&!$e.defaultPrevented){if($e.target.click)$e.target.click();else if(Pe.createEvent){var ct=Pe.createEvent("MouseEvents");ct.initMouseEvent("click",!0,!0,Ds,1,wt.screenX,wt.screenY,wt.clientX,wt.clientY,!1,!1,!1,!1,0,null),$e.target.dispatchEvent(ct)}}})),$.isDragging=$.isGesturing=$.isPressed=!1,f&&Mt&&!W&&qe.restart(!0),rt&&st(),y&&Mt&&y($),_&&_($,Ze)}},We=function(ot){return ot.touches&&ot.touches.length>1&&($.isGesturing=!0)&&ee(ot,$.isDragging)},Ce=function(){return($.isGesturing=!1)||H($)},Me=function(ot){if(!He(ot)){var Mt=k(),Ze=D();et((Mt-ne)*_e,(Ze-re)*_e,1),ne=Mt,re=Ze,f&&qe.restart(!0)}},je=function(ot){if(!He(ot)){ot=vh(ot,u),ye&&(B=!0);var Mt=(ot.deltaMode===1?l:ot.deltaMode===2?Ds.innerHeight:1)*m;et(ot.deltaX*Mt,ot.deltaY*Mt,0),f&&!W&&qe.restart(!0)}},Ye=function(ot){if(!He(ot)){var Mt=ot.clientX,Ze=ot.clientY,wt=Mt-$.x,ct=Ze-$.y;$.x=Mt,$.y=Ze,q=!0,f&&qe.restart(!0),(wt||ct)&&mt(wt,ct)}},_t=function(ot){$.event=ot,V($)},jt=function(ot){$.event=ot,j($)},Bn=function(ot){return He(ot)||vh(ot,u)&&oe($)};qe=$._dc=ur.delayedCall(h||.25,Xe).pause(),$.deltaX=$.deltaY=0,$._vx=O_(0,50,!0),$._vy=O_(0,50,!0),$.scrollX=k,$.scrollY=D,$.isDragging=$.isGesturing=$.isPressed=!1,qM(this),$.enable=function($e){return $.isEnabled||(Hr(fe?Pe:a,"scroll",L_),o.indexOf("scroll")>=0&&Hr(fe?Pe:a,"scroll",Me,xe,Fe),o.indexOf("wheel")>=0&&Hr(a,"wheel",je,xe,Fe),(o.indexOf("touch")>=0&&WM||o.indexOf("pointer")>=0)&&(Hr(a,go[0],Rt,xe,Fe),Hr(Pe,go[2],te),Hr(Pe,go[3],te),Z&&Hr(a,"click",Be,!0,!0),oe&&Hr(a,"click",Bn),ee&&Hr(Pe,"gesturestart",We),H&&Hr(Pe,"gestureend",Ce),V&&Hr(a,$c+"enter",_t),j&&Hr(a,$c+"leave",jt),N&&Hr(a,$c+"move",Ye)),$.isEnabled=!0,$.isDragging=$.isGesturing=$.isPressed=q=rt=!1,$._vx.reset(),$._vy.reset(),ne=k(),re=D(),$e&&$e.type&&Rt($e),Ie&&Ie($)),$},$.disable=function(){$.isEnabled&&(Ff.filter(function($e){return $e!==$&&h0($e.target)}).length||Ur(fe?Pe:a,"scroll",L_),$.isPressed&&($._vx.reset(),$._vy.reset(),Ur(W?a:Pe,go[1],lt,!0)),Ur(fe?Pe:a,"scroll",Me,Fe),Ur(a,"wheel",je,Fe),Ur(a,go[0],Rt,Fe),Ur(Pe,go[2],te),Ur(Pe,go[3],te),Ur(a,"click",Be,!0),Ur(a,"click",Bn),Ur(Pe,"gesturestart",We),Ur(Pe,"gestureend",Ce),Ur(a,$c+"enter",_t),Ur(a,$c+"leave",jt),Ur(a,$c+"move",Ye),$.isEnabled=$.isPressed=$.isDragging=!1,ze&&ze($))},$.kill=$.revert=function(){$.disable();var $e=Ff.indexOf($);$e>=0&&Ff.splice($e,1),za===$&&(za=0)},Ff.push($),W&&h0(a)&&(za=$),$.enable(v)},TX(n,[{key:"velocityX",get:function(){return this._vx.getVelocity()}},{key:"velocityY",get:function(){return this._vy.getVelocity()}}]),n}();xi.version="3.14.2";xi.create=function(n){return new xi(n)};xi.register=KM;xi.getAll=function(){return Ff.slice()};xi.getById=function(n){return Ff.filter(function(e){return e.vars.id===n})[0]};XM()&&ur.registerPlugin(xi);/*! 59 * ScrollTrigger 3.14.2 60 * https://gsap.com 61 * 62 * @license Copyright 2008-2025, GreenSock. All rights reserved. 63 * Subject to the terms at https://gsap.com/standard-license 64 * @author: Jack Doyle, [email protected] 65*/var at,Ef,zt,Nn,Rs,pn,Fx,Rg,W0,p0,Vh,Lm,_r,CA,F_,jr,xw,Cw,Tf,ZM,q2,JM,Gr,U_,eI,tI,vl,N_,Ux,Zf,Nx,m0,k_,X2,Om=1,xr=Date.now,Y2=xr(),io=0,Gh=0,ww=function(e,t,i){var r=Ts(e)&&(e.substr(0,6)==="clamp("||e.indexOf("max")>-1);return i["_"+t+"Clamp"]=r,r?e.substr(6,e.length-7):e},Sw=function(e,t){return t&&(!Ts(e)||e.substr(0,6)!=="clamp(")?"clamp("+e+")":e},PX=function n(){return Gh&&requestAnimationFrame(n)},Ew=function(){return CA=1},Tw=function(){return CA=0},Go=function(e){return e},Qh=function(e){return Math.round(e*1e5)/1e5||0},nI=function(){return typeof window<"u"},iI=function(){return at||nI()&&(at=window.gsap)&&at.registerPlugin&&at},Tu=function(e){return!!~Fx.indexOf(e)},rI=function(e){return(e==="Height"?Nx:zt["inner"+e])||Rs["client"+e]||pn["client"+e]}
vendor: 4,310 bytes, line 65
65,sI=function(e){return jl(e,"getBoundingClientRect")||(Tu(e)?function(){return Y1.width=zt.innerWidth,Y1.height=Nx,Y1}:function(){return La(e)})},RX=function(e,t,i){var r=i.d,s=i.d2,o=i.a;return(o=jl(e,"getBoundingClientRect"))?function(){return o()[r]}:function(){return(t?rI(s):e["client"+s])||0}},BX=function(e,t){return!t||~Jo.indexOf(e)?sI(e):function(){return Y1}},$o=function(e,t){var i=t.s,r=t.d2,s=t.d,o=t.a;return Math.max(0,(i="scroll"+r)&&(o=jl(e,i))?o()-sI(e)()[s]:Tu(e)?(Rs[i]||pn[i])-rI(r):e[i]-e["offset"+r])},Fm=function(e,t){for(var i=0;i<Tf.length;i+=3)(!t||~t.indexOf(Tf[i+1]))&&e(Tf[i],Tf[i+1],Tf[i+2])},Ts=function(e){return typeof e=="string"},Tr=function(e){return typeof e=="function"},Wh=function(e){return typeof e=="number"},Kc=function(e){return typeof e=="object"},yh=function(e,t,i){return e&&e.progress(t?0:1)&&i&&e.pause()},$2=function(e,t){if(e.enabled){var i=e._ctx?e._ctx.add(function(){return t(e)}):t(e);i&&i.totalTime&&(e.callbackAnimation=i)}},Zu=Math.abs,oI="left",aI="top",kx="right",zx="bottom",vu="width",yu="height",g0="Right",A0="Left",v0="Top",y0="Bottom",Ti="padding",Ys="margin",xd="Width",Hx="Height",Fi="px",$s=function(e){return zt.getComputedStyle(e)},DX=function(e){var t=$s(e).position;e.style.position=t==="absolute"||t==="fixed"?t:"relative"},Mw=function(e,t){for(var i in t)i in e||(e[i]=t[i]);return e},La=function(e,t){var i=t&&$s(e)[F_]!=="matrix(1, 0, 0, 1, 0, 0)"&&at.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),r=e.getBoundingClientRect();return i&&i.progress(0).kill(),r},Bg=function(e,t){var i=t.d2;return e["offset"+i]||e["client"+i]||0},lI=function(e){var t=[],i=e.labels,r=e.duration(),s;for(s in i)t.push(i[s]/r);return t},LX=function(e){return function(t){return at.utils.snap(lI(e),t)}},Vx=function(e){var t=at.utils.snap(e),i=Array.isArray(e)&&e.slice(0).sort(function(r,s){return r-s});return i?function(r,s,o){o===void 0&&(o=.001);var a;if(!s)return t(r);if(s>0){for(r-=o,a=0;a<i.length;a++)if(i[a]>=r)return i[a];return i[a-1]}else for(a=i.length,r+=o;a--;)if(i[a]<=r)return i[a];return i[0]}:function(r,s,o){o===void 0&&(o=.001);var a=t(r);return!s||Math.abs(a-r)<o||a-r<0==s<0?a:t(s<0?r-e:r+e)}},OX=function(e){return function(t,i){return Vx(lI(e))(t,i.direction)}},Um=function(e,t,i,r){return i.split(",").forEach(function(s){return e(t,s,r)})},$i=function(e,t,i,r,s){return e.addEventListener(t,i,{passive:!r,capture:!!s})},Yi=function(e,t,i,r){return e.removeEventListener(t,i,!!r)},Nm=function(e,t,i){i=i&&i.wheelHandler,i&&(e(t,"wheel",i),e(t,"touchmove",i))},Iw={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},km={toggleActions:"play",anticipatePin:0},Dg={top:0,left:0,center:.5,bottom:1,right:1},W1=function(e,t){if(Ts(e)){var i=e.indexOf("="),r=~i?+(e.charAt(i-1)+1)*parseFloat(e.substr(i+1)):0;~i&&(e.indexOf("%")>i&&(r*=t/100),e=e.substr(0,i-1)),e=r+(e in Dg?Dg[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e},zm=function(e,t,i,r,s,o,a,l){var c=s.startColor,u=s.endColor,f=s.fontSize,h=s.indent,p=s.fontWeight,m=Nn.createElement("div"),v=Tu(i)||jl(i,"pinType")==="fixed",A=e.indexOf("scroller")!==-1,y=v?pn:i,x=e.indexOf("start")!==-1,b=x?c:u,_="border-color:"+b+";font-size:"+f+";color:"+b+";font-weight:"+p+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return _+="position:"+((A||l)&&v?"fixed;":"absolute;"),(A||l||!v)&&(_+=(r===Ni?kx:zx)+":"+(o+parseFloat(h))+"px;"),a&&(_+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),m._isStart=x,m.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),m.style.cssText=_,m.innerText=t||t===0?e+"-"+t:e,y.children[0]?y.insertBefore(m,y.children[0]):y.appendChild(m),m._offset=m["offset"+r.op.d2],j1(m,0,r,x),m},j1=function(e,t,i,r){var s={display:"block"},o=i[r?"os2":"p2"],a=i[r?"p2":"os2"];e._isFlipped=r,s[i.a+"Percent"]=r?-100:0,s[i.a]=r?"1px":0,s["border"+o+xd]=1,s["border"+a+xd]=0,s[i.p]=t+"px",at.set(e,s)},Nt=[],z_={},j0,Pw=function(){return xr()-io>34&&(j0||(j0=requestAnimationFrame(Ga)))},Ju=function(){(!Gr||!Gr.isPressed||Gr.startX>pn.clientWidth)&&(Ht.cache++,Gr?j0||(j0=requestAnimationFrame(Ga)):Ga(),io||Iu("scrollStart"),io=xr())}
vendor: 4,142 bytes, line 65
65,K2=function(){tI=zt.innerWidth,eI=zt.innerHeight},jh=function(e){Ht.cache++,(e===!0||!_r&&!JM&&!Nn.fullscreenElement&&!Nn.webkitFullscreenElement&&(!U_||tI!==zt.innerWidth||Math.abs(zt.innerHeight-eI)>zt.innerHeight*.25))&&Rg.restart(!0)},Mu={},FX=[],cI=function n(){return Yi(Pt,"scrollEnd",n)||su(!0)},Iu=function(e){return Mu[e]&&Mu[e].map(function(t){return t()})||FX},Es=[],uI=function(e){for(var t=0;t<Es.length;t+=5)(!e||Es[t+4]&&Es[t+4].query===e)&&(Es[t].style.cssText=Es[t+1],Es[t].getBBox&&Es[t].setAttribute("transform",Es[t+2]||""),Es[t+3].uncache=1)},fI=function(){return Ht.forEach(function(e){return Tr(e)&&++e.cacheID&&(e.rec=e())})},Gx=function(e,t){var i;for(jr=0;jr<Nt.length;jr++)i=Nt[jr],i&&(!t||i._ctx===t)&&(e?i.kill(1):i.revert(!0,!0));m0=!0,t&&uI(t),t||Iu("revert")},dI=function(e,t){Ht.cache++,(t||!qr)&&Ht.forEach(function(i){return Tr(i)&&i.cacheID++&&(i.rec=0)}),Ts(e)&&(zt.history.scrollRestoration=Ux=e)},qr,_u=0,Rw,UX=function(){if(Rw!==_u){var e=Rw=_u;requestAnimationFrame(function(){return e===_u&&su(!0)})}},hI=function(){pn.appendChild(Zf),Nx=!Gr&&Zf.offsetHeight||zt.innerHeight,pn.removeChild(Zf)},Bw=function(e){return W0(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach(function(t){return t.style.display=e?"none":"block"})},su=function(e,t){if(Rs=Nn.documentElement,pn=Nn.body,Fx=[zt,Nn,Rs,pn],io&&!e&&!m0){$i(Pt,"scrollEnd",cI);return}hI(),qr=Pt.isRefreshing=!0,m0||fI();var i=Iu("refreshInit");ZM&&Pt.sort(),t||Gx(),Ht.forEach(function(r){Tr(r)&&(r.smooth&&(r.target.style.scrollBehavior="auto"),r(0))}),Nt.slice(0).forEach(function(r){return r.refresh()}),m0=!1,Nt.forEach(function(r){if(r._subPinOffset&&r.pin){var s=r.vars.horizontal?"offsetWidth":"offsetHeight",o=r.pin[s];r.revert(!0,1),r.adjustPinSpacing(r.pin[s]-o),r.refresh()}}),k_=1,Bw(!0),Nt.forEach(function(r){var s=$o(r.scroller,r._dir),o=r.vars.end==="max"||r._endClamp&&r.end>s,a=r._startClamp&&r.start>=s;(o||a)&&r.setPositions(a?s-1:r.start,o?Math.max(a?s:r.start+1,s):r.end,!0)}),Bw(!1),k_=0,i.forEach(function(r){return r&&r.render&&r.render(-1)}),Ht.forEach(function(r){Tr(r)&&(r.smooth&&requestAnimationFrame(function(){return r.target.style.scrollBehavior="smooth"}),r.rec&&r(r.rec))}),dI(Ux,1),Rg.pause(),_u++,qr=2,Ga(2),Nt.forEach(function(r){return Tr(r.vars.onRefresh)&&r.vars.onRefresh(r)}),qr=Pt.isRefreshing=!1,Iu("refresh")},H_=0,q1=1,_0,Ga=function(e){if(e===2||!qr&&!m0){Pt.isUpdating=!0,_0&&_0.update(0);var t=Nt.length,i=xr(),r=i-Y2>=50,s=t&&Nt[0].scroll();if(q1=H_>s?-1:1,qr||(H_=s),r&&(io&&!CA&&i-io>200&&(io=0,Iu("scrollEnd")),Vh=Y2,Y2=i),q1<0){for(jr=t;jr-- >0;)Nt[jr]&&Nt[jr].update(0,r);q1=1}else for(jr=0;jr<t;jr++)Nt[jr]&&Nt[jr].update(0,r);Pt.isUpdating=!1}j0=0},V_=[oI,aI,zx,kx,Ys+y0,Ys+g0,Ys+v0,Ys+A0,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],X1=V_.concat([vu,yu,"boxSizing","max"+xd,"max"+Hx,"position",Ys,Ti,Ti+v0,Ti+g0,Ti+y0,Ti+A0]),NX=function(e,t,i){Jf(i);var r=e._gsap;if(r.spacerIsNative)Jf(r.spacerState);else if(e._gsap.swappedIn){var s=t.parentNode;s&&(s.insertBefore(e,t),s.removeChild(t))}e._gsap.swappedIn=!1},Z2=function(e,t,i,r){if(!e._gsap.swappedIn){for(var s=V_.length,o=t.style,a=e.style,l;s--;)l=V_[s],o[l]=i[l];o.position=i.position==="absolute"?"absolute":"relative",i.display==="inline"&&(o.display="inline-block"),a[zx]=a[kx]="auto",o.flexBasis=i.flexBasis||"auto",o.overflow="visible",o.boxSizing="border-box",o[vu]=Bg(e,Zr)+Fi,o[yu]=Bg(e,Ni)+Fi,o[Ti]=a[Ys]=a[aI]=a[oI]="0",Jf(r),a[vu]=a["max"+xd]=i[vu],a[yu]=a["max"+Hx]=i[yu],a[Ti]=i[Ti],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}},kX=/([A-Z])/g,Jf=function(e){if(e){var t=e.t.style,i=e.length,r=0,s,o;for((e.t._gsap||at.core.getCache(e.t)).uncache=1;r<i;r+=2)o=e[r+1],s=e[r],o?t[s]=o:t[s]&&t.removeProperty(s.replace(kX,"-$1").toLowerCase())}},Hm=function(e){for(var t=X1.length,i=e.style,r=[],s=0;s<t;s++)r.push(X1[s],i[X1[s]]);return r.t=e,r},zX=function(e,t,i){for(var r=[],s=e.length,o=i?8:0,a;o<s;
vendor: 4,617 bytes, line 65
65o+=2)a=e[o],r.push(a,a in t?t[a]:e[o+1]);return r.t=e.t,r},Y1={left:0,top:0},Dw=function(e,t,i,r,s,o,a,l,c,u,f,h,p,m){Tr(e)&&(e=e(l)),Ts(e)&&e.substr(0,3)==="max"&&(e=h+(e.charAt(4)==="="?W1("0"+e.substr(3),i):0));var v=p?p.time():0,A,y,x;if(p&&p.seek(0),isNaN(e)||(e=+e),Wh(e))p&&(e=at.utils.mapRange(p.scrollTrigger.start,p.scrollTrigger.end,0,h,e)),a&&j1(a,i,r,!0);else{Tr(t)&&(t=t(l));var b=(e||"0").split(" "),_,T,M,I;x=ls(t,l)||pn,_=La(x)||{},(!_||!_.left&&!_.top)&&$s(x).display==="none"&&(I=x.style.display,x.style.display="block",_=La(x),I?x.style.display=I:x.style.removeProperty("display")),T=W1(b[0],_[r.d]),M=W1(b[1]||"0",i),e=_[r.p]-c[r.p]-u+T+s-M,a&&j1(a,M,r,i-M<20||a._isStart&&M>20),i-=i-M}if(m&&(l[m]=e||-.001,e<0&&(e=0)),o){var R=e+i,w=o._isStart;A="scroll"+r.d2,j1(o,R,r,w&&R>20||!w&&(f?Math.max(pn[A],Rs[A]):o.parentNode[A])<=R+1),f&&(c=La(a),f&&(o.style[r.op.p]=c[r.op.p]-r.op.m-o._offset+Fi))}return p&&x&&(A=La(x),p.seek(h),y=La(x),p._caScrollDist=A[r.p]-y[r.p],e=e/p._caScrollDist*h),p&&p.seek(v),p?e:Math.round(e)},HX=/(webkit|moz|length|cssText|inset)/i,Lw=function(e,t,i,r){if(e.parentNode!==t){var s=e.style,o,a;if(t===pn){e._stOrig=s.cssText,a=$s(e);for(o in a)!+o&&!HX.test(o)&&a[o]&&typeof s[o]=="string"&&o!=="0"&&(s[o]=a[o]);s.top=i,s.left=r}else s.cssText=e._stOrig;at.core.getCache(e).uncache=1,t.appendChild(e)}},pI=function(e,t,i){var r=t,s=r;return function(o){var a=Math.round(e());return a!==r&&a!==s&&Math.abs(a-r)>3&&Math.abs(a-s)>3&&(o=a,i&&i()),s=r,r=Math.round(o),r}},Vm=function(e,t,i){var r={};r[t.p]="+="+i,at.set(e,r)},Ow=function(e,t){var i=ec(e,t),r="_scroll"+t.p2,s=function o(a,l,c,u,f){var h=o.tween,p=l.onComplete,m={};c=c||i();var v=pI(i,c,function(){h.kill(),o.tween=0});return f=u&&f||0,u=u||a-c,h&&h.kill(),l[r]=a,l.inherit=!1,l.modifiers=m,m[r]=function(){return v(c+u*h.ratio+f*h.ratio*h.ratio)},l.onUpdate=function(){Ht.cache++,o.tween&&Ga()},l.onComplete=function(){o.tween=0,p&&p.call(h)},h=o.tween=at.to(e,l),h};return e[r]=i,i.wheelHandler=function(){return s.tween&&s.tween.kill()&&(s.tween=0)},$i(e,"wheel",i.wheelHandler),Pt.isTouch&&$i(e,"touchmove",i.wheelHandler),s},Pt=function(){function n(t,i){Ef||n.register(at)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),N_(this),this.init(t,i)}var e=n.prototype;return e.init=function(i,r){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),!Gh){this.update=this.refresh=this.kill=Go;return}i=Mw(Ts(i)||Wh(i)||i.nodeType?{trigger:i}:i,km);var s=i,o=s.onUpdate,a=s.toggleClass,l=s.id,c=s.onToggle,u=s.onRefresh,f=s.scrub,h=s.trigger,p=s.pin,m=s.pinSpacing,v=s.invalidateOnRefresh,A=s.anticipatePin,y=s.onScrubComplete,x=s.onSnapComplete,b=s.once,_=s.snap,T=s.pinReparent,M=s.pinSpacer,I=s.containerAnimation,R=s.fastScrollEnd,w=s.preventOverlaps,E=i.horizontal||i.containerAnimation&&i.horizontal!==!1?Zr:Ni,F=!f&&f!==0,L=ls(i.scroller||zt),z=at.core.getCache(L),V=Tu(L),j=("pinType"in i?i.pinType:jl(L,"pinType")||V&&"fixed")==="fixed",N=[i.onEnter,i.onLeave,i.onEnterBack,i.onLeaveBack],Q=F&&i.toggleActions.split(" "),W="markers"in i?i.markers:km.markers,ee=V?0:parseFloat($s(L)["border"+E.p2+xd])||0,H=this,ye=i.onRefreshInit&&function(){return i.onRefreshInit(H)},Ie=RX(L,V,E),ze=BX(L,V),oe=0,_e=0,Fe=0,Z=ec(L,E),Ae,we,be,qe,rt,q,B,le,ve,$,de,De,xe,k,D,ne,re,ce,fe,Pe,Le,Oe,dt,Be,He,Xe,st,et,mt,lt,Rt,te,We,Ce,Me,je,Ye,_t,jt;if(H._startClamp=H._endClamp=!1,H._dir=E,A*=45,H.scroller=L,H.scroll=I?I.time.bind(I):Z,qe=Z(),H.vars=i,r=r||i.animation,"refreshPriority"in i&&(ZM=1,i.refreshPriority===-9999&&(_0=H)),z.tweenScroll=z.tweenScroll||{top:Ow(L,Ni),left:Ow(L,Zr)},H.tweenTo=Ae=z.tweenScroll[E.p],H.scrubDuration=function(Ze){We=Wh(Ze)&&Ze,We?te?te.duration(Ze):te=at.to(r,{ease:"expo",totalProgress:"+=0",inherit:!1,duration:We,paused:!0,onComplete:function(){return y&&y(H)}}):(te&&te.progress(1).kill(),te=0)},r&&(r.vars.lazy=!1,r._initted&&!H.isReverted||r.vars.immediateRender!==!1&&i.immediateRender!==!1&&r.duration()&&r.render(0,!0,!0),H.animation=r.pause(),r.scrollTrigger=H,H.scrubDuration(f),lt=0,l||(l=r.vars.id)),_&&((!Kc(_)||_.push)&&(_={snapTo:_}),"scrollBehavior"in pn.style&&at.set(V?[pn,Rs]:L,{scrollBehavior:"auto"}),Ht.forEach(function(Ze){return Tr(Ze)&&Ze.target===(V?Nn.scrollingElement||Rs:L)&&(Ze.smooth=!1)}),be=Tr(_.snapTo)?_.snapTo:_.snapTo==="labels"?LX(r):_.snapTo==="labelsDirectional"?OX(r):_.directional!==!1?function(Ze,wt){return Vx(_.snapTo)(Ze,xr()-_e<500?0:wt.direction)}:at.utils.snap(_.snapTo),Ce=_.duration||{min:.1,max:2},Ce=Kc(Ce)?p0(Ce.min,Ce.max):p0(Ce,Ce),Me=at.delayedCall(_.delay||We/2||.1,function(){var Ze=Z(),wt=xr()-_e<500,
vendor: 6,290 bytes, line 65
65ct=Ae.tween;if((wt||Math.abs(H.getVelocity())<10)&&!ct&&!CA&&oe!==Ze){var bt=(Ze-q)/k,Vn=r&&!F?r.totalProgress():bt,Bt=wt?0:(Vn-Rt)/(xr()-Vh)*1e3||0,$t=at.utils.clamp(-bt,1-bt,Zu(Bt/2)*Bt/.185),Qn=bt+(_.inertia===!1?0:$t),ln,cn,Ft=_,tr=Ft.onStart,rn=Ft.onInterrupt,ci=Ft.onComplete;if(ln=be(Qn,H),Wh(ln)||(ln=Qn),cn=Math.max(0,Math.round(q+ln*k)),Ze<=B&&Ze>=q&&cn!==Ze){if(ct&&!ct._initted&&ct.data<=Zu(cn-Ze))return;_.inertia===!1&&($t=ln-bt),Ae(cn,{duration:Ce(Zu(Math.max(Zu(Qn-Vn),Zu(ln-Vn))*.185/Bt/.05||0)),ease:_.ease||"power3",data:Zu(cn-Ze),onInterrupt:function(){return Me.restart(!0)&&rn&&rn(H)},onComplete:function(){H.update(),oe=Z(),r&&!F&&(te?te.resetTo("totalProgress",ln,r._tTime/r._tDur):r.progress(ln)),lt=Rt=r&&!F?r.totalProgress():H.progress,x&&x(H),ci&&ci(H)}},Ze,$t*k,cn-Ze-$t*k),tr&&tr(H,Ae.tween)}}else H.isActive&&oe!==Ze&&Me.restart(!0)}).pause()),l&&(z_[l]=H),h=H.trigger=ls(h||p!==!0&&p),jt=h&&h._gsap&&h._gsap.stRevert,jt&&(jt=jt(H)),p=p===!0?h:ls(p),Ts(a)&&(a={targets:h,className:a}),p&&(m===!1||m===Ys||(m=!m&&p.parentNode&&p.parentNode.style&&$s(p.parentNode).display==="flex"?!1:Ti),H.pin=p,we=at.core.getCache(p),we.spacer?D=we.pinState:(M&&(M=ls(M),M&&!M.nodeType&&(M=M.current||M.nativeElement),we.spacerIsNative=!!M,M&&(we.spacerState=Hm(M))),we.spacer=ce=M||Nn.createElement("div"),ce.classList.add("pin-spacer"),l&&ce.classList.add("pin-spacer-"+l),we.pinState=D=Hm(p)),i.force3D!==!1&&at.set(p,{force3D:!0}),H.spacer=ce=we.spacer,mt=$s(p),Be=mt[m+E.os2],Pe=at.getProperty(p),Le=at.quickSetter(p,E.a,Fi),Z2(p,ce,mt),re=Hm(p)),W){De=Kc(W)?Mw(W,Iw):Iw,$=zm("scroller-start",l,L,E,De,0),de=zm("scroller-end",l,L,E,De,0,$),fe=$["offset"+E.op.d2];var Bn=ls(jl(L,"content")||L);le=this.markerStart=zm("start",l,Bn,E,De,fe,0,I),ve=this.markerEnd=zm("end",l,Bn,E,De,fe,0,I),I&&(_t=at.quickSetter([le,ve],E.a,Fi)),!j&&!(Jo.length&&jl(L,"fixedMarkers")===!0)&&(DX(V?pn:L),at.set([$,de],{force3D:!0}),Xe=at.quickSetter($,E.a,Fi),et=at.quickSetter(de,E.a,Fi))}if(I){var $e=I.vars.onUpdate,ot=I.vars.onUpdateParams;I.eventCallback("onUpdate",function(){H.update(0,0,1),$e&&$e.apply(I,ot||[])})}if(H.previous=function(){return Nt[Nt.indexOf(H)-1]},H.next=function(){return Nt[Nt.indexOf(H)+1]},H.revert=function(Ze,wt){if(!wt)return H.kill(!0);var ct=Ze!==!1||!H.enabled,bt=_r;ct!==H.isReverted&&(ct&&(je=Math.max(Z(),H.scroll.rec||0),Fe=H.progress,Ye=r&&r.progress()),le&&[le,ve,$,de].forEach(function(Vn){return Vn.style.display=ct?"none":"block"}),ct&&(_r=H,H.update(ct)),p&&(!T||!H.isActive)&&(ct?NX(p,ce,D):Z2(p,ce,$s(p),He)),ct||H.update(ct),_r=bt,H.isReverted=ct)},H.refresh=function(Ze,wt,ct,bt){if(!((_r||!H.enabled)&&!wt)){if(p&&Ze&&io){$i(n,"scrollEnd",cI);return}!qr&&ye&&ye(H),_r=H,Ae.tween&&!ct&&(Ae.tween.kill(),Ae.tween=0),te&&te.pause(),v&&r&&(r.revert({kill:!1}).invalidate(),r.getChildren?r.getChildren(!0,!0,!1).forEach(function(xt){return xt.vars.immediateRender&&xt.render(0,!0,!0)}):r.vars.immediateRender&&r.render(0,!0,!0)),H.isReverted||H.revert(!0,!0),H._subPinOffset=!1;var Vn=Ie(),Bt=ze(),$t=I?I.duration():$o(L,E),Qn=k<=.01||!k,ln=0,cn=bt||0,Ft=Kc(ct)?ct.end:i.end,tr=i.endTrigger||h,rn=Kc(ct)?ct.start:i.start||(i.start===0||!h?0:p?"0 0":"0 100%"),ci=H.pinnedContainer=i.pinnedContainer&&ls(i.pinnedContainer,H),hr=h&&Math.max(0,Nt.indexOf(H))||0,Zn=hr,Jn,G,ae,ge,pe,se,Ue,Je,tt,it,pt,yt,ht;for(W&&Kc(ct)&&(yt=at.getProperty($,E.p),ht=at.getProperty(de,E.p));Zn-- >0;)se=Nt[Zn],se.end||se.refresh(0,1)||(_r=H),Ue=se.pin,Ue&&(Ue===h||Ue===p||Ue===ci)&&!se.isReverted&&(it||(it=[]),it.unshift(se),se.revert(!0,!0)),se!==Nt[Zn]&&(hr--,Zn--);for(Tr(rn)&&(rn=rn(H)),rn=ww(rn,"start",H),q=Dw(rn,h,Vn,E,Z(),le,$,H,Bt,ee,j,$t,I,H._startClamp&&"_startClamp")||(p?-.001:0),Tr(Ft)&&(Ft=Ft(H)),Ts(Ft)&&!Ft.indexOf("+=")&&(~Ft.indexOf(" ")?Ft=(Ts(rn)?rn.split(" ")[0]:"")+Ft:(ln=W1(Ft.substr(2),Vn),Ft=Ts(rn)?rn:(I?at.utils.mapRange(0,I.duration(),I.scrollTrigger.start,I.scrollTrigger.end,q):q)+ln,tr=h)),Ft=ww(Ft,"end",H),B=Math.max(q,Dw(Ft||(tr?"100% 0":$t),tr,Vn,E,Z()+ln,ve,de,H,Bt,ee,j,$t,I,H._endClamp&&"_endClamp"))||-.001,ln=0,Zn=hr;Zn--;)se=Nt[Zn]||{},Ue=se.pin,Ue&&se.start-se._pinPush<=q&&!I&&se.end>0&&(Jn=se.end-(H._startClamp?Math.max(0,se.start):se.start),(Ue===h&&se.start-se._pinPush<q||Ue===ci)&&isNaN(rn)&&(ln+=Jn*(1-se.progress)),Ue===p&&(cn+=Jn));if(q+=ln,B+=ln,H._startClamp&&(H._startClamp+=ln),H._endClamp&&!qr&&(H._endClamp=B||-.001,B=Math.min(B,$o(L,E))),k=B-q||(q-=.01)&&.001,Qn&&(Fe=at.utils.clamp(0,1,at.utils.normalize(q,B,je))),H._pinPush=cn,le&&ln&&(Jn={},Jn[E.a]="+="+ln,ci&&(Jn[E.p]="-="+Z()),at.set([le,ve],Jn)),p&&!(k_&&H.end>=$o(L,E)))Jn=$s(p),ge=E===Ni,ae=Z(),Oe=parseFloat(Pe(E.a))+cn,!$t&&B>1&&(pt=(V?Nn.scrollingElement||Rs:L).style,pt={style:pt,value:pt["overflow"+E.a.toUpperCase()]},V&&$s(pn)["overflow"+E.a.toUpperCase()]!=="scroll"&&(pt.style["overflow"+E.a.toUpperCase()]="scroll")),Z2(p,ce,Jn),re=Hm(p),G=La(p,!0),Je=j&&ec(L,ge?Zr:Ni)(),m?(He=[m+E.os2,k+cn+Fi],He.t=ce,Zn=m===Ti?Bg(p,E)+k+cn:0,Zn&&(He.push(E.d,Zn+Fi),ce.style.flexBasis!=="auto"&&(ce.style.flexBasis=Zn+Fi)),Jf(He),ci&&Nt.forEach(function(xt){xt.pin===ci&&xt.vars.pinSpacing!==!1&&(xt._subPinOffset=!0)}),j&&Z(je)):(Zn=Bg(p,E),Zn&&ce.style.flexBasis!=="auto"&&(ce.style.flexBasis=Zn+Fi)),j&&(pe={top:G.top+(ge?ae-q:Je)+Fi,left:G.left+(ge?Je:ae-q)+Fi,boxSizing:"border-box",position:"fixed"},pe[vu]=pe["max"+xd]=Math.ceil(G.width)+Fi,pe[yu]=pe["max"+Hx]=Math.ceil(G.height)+Fi,pe[Ys]=pe[Ys+v0]=pe[Ys+g0]=pe[Ys+y0]=pe[Ys+A0]="0",pe[Ti]=Jn[Ti],pe[Ti+v0]=Jn[Ti+v0],pe[Ti+g0]=Jn[Ti+g0],pe[Ti+y0]=Jn[Ti+y0],pe[Ti+A0]=Jn[Ti+A0],ne=zX(D,pe,T),qr&&Z(0)),r?(tt=r._initted,q2(1),r.render(r.duration(),!0,!0),dt=Pe(E.a)-Oe+k+cn,st=Math.abs(k-dt)>1,j&&st&&ne.splice(ne.length-2,2),r.render(0,!0,!0),tt||r.invalidate(!0),r.parent||r.totalTime(r.totalTime()),q2(0)):dt=k,pt&&(pt.value?pt.style["overflow"+E.a.toUpperCase()]=pt.value:pt.style.removeProperty("overflow-"+E.a));else if(h&&Z()&&!I)for(G=h.parentNode;G&&G!==pn;)G._pinOffset&&(q-=G._pinOffset,B-=G._pinOffset),G=G.parentNode;it&&it.forEach(function(xt){return xt.revert(!1,!0)}),H.start=q,H.end=B,qe=rt=qr?je:Z(),!I&&!qr&&(qe<je&&Z(je),H.scroll.rec=0),H.revert(!1,!0),_e=xr(),Me&&(oe=-1,Me.restart(!0)),_r=0,r&&F&&(r._initted||Ye)&&r.progress()!==Ye&&r.progress(Ye||0,!0).render(r.t
vendor: 9,613 bytes, line 65
65ime(),!0,!0),(Qn||Fe!==H.progress||I||v||r&&!r._initted)&&(r&&!F&&(r._initted||Fe||r.vars.immediateRender!==!1)&&r.totalProgress(I&&q<-.001&&!Fe?at.utils.normalize(q,B,0):Fe,!0),H.progress=Qn||(qe-q)/k===Fe?0:Fe),p&&m&&(ce._pinOffset=Math.round(H.progress*dt)),te&&te.invalidate(),isNaN(yt)||(yt-=at.getProperty($,E.p),ht-=at.getProperty(de,E.p),Vm($,E,yt),Vm(le,E,yt-(bt||0)),Vm(de,E,ht),Vm(ve,E,ht-(bt||0))),Qn&&!qr&&H.update(),u&&!qr&&!xe&&(xe=!0,u(H),xe=!1)}},H.getVelocity=function(){return(Z()-rt)/(xr()-Vh)*1e3||0},H.endAnimation=function(){yh(H.callbackAnimation),r&&(te?te.progress(1):r.paused()?F||yh(r,H.direction<0,1):yh(r,r.reversed()))},H.labelToScroll=function(Ze){return r&&r.labels&&(q||H.refresh()||q)+r.labels[Ze]/r.duration()*k||0},H.getTrailing=function(Ze){var wt=Nt.indexOf(H),ct=H.direction>0?Nt.slice(0,wt).reverse():Nt.slice(wt+1);return(Ts(Ze)?ct.filter(function(bt){return bt.vars.preventOverlaps===Ze}):ct).filter(function(bt){return H.direction>0?bt.end<=q:bt.start>=B})},H.update=function(Ze,wt,ct){if(!(I&&!ct&&!Ze)){var bt=qr===!0?je:H.scroll(),Vn=Ze?0:(bt-q)/k,Bt=Vn<0?0:Vn>1?1:Vn||0,$t=H.progress,Qn,ln,cn,Ft,tr,rn,ci,hr;if(wt&&(rt=qe,qe=I?Z():bt,_&&(Rt=lt,lt=r&&!F?r.totalProgress():Bt)),A&&p&&!_r&&!Om&&io&&(!Bt&&q<bt+(bt-rt)/(xr()-Vh)*A?Bt=1e-4:Bt===1&&B>bt+(bt-rt)/(xr()-Vh)*A&&(Bt=.9999)),Bt!==$t&&H.enabled){if(Qn=H.isActive=!!Bt&&Bt<1,ln=!!$t&&$t<1,rn=Qn!==ln,tr=rn||!!Bt!=!!$t,H.direction=Bt>$t?1:-1,H.progress=Bt,tr&&!_r&&(cn=Bt&&!$t?0:Bt===1?1:$t===1?2:3,F&&(Ft=!rn&&Q[cn+1]!=="none"&&Q[cn+1]||Q[cn],hr=r&&(Ft==="complete"||Ft==="reset"||Ft in r))),w&&(rn||hr)&&(hr||f||!r)&&(Tr(w)?w(H):H.getTrailing(w).forEach(function(ae){return ae.endAnimation()})),F||(te&&!_r&&!Om?(te._dp._time-te._start!==te._time&&te.render(te._dp._time-te._start),te.resetTo?te.resetTo("totalProgress",Bt,r._tTime/r._tDur):(te.vars.totalProgress=Bt,te.invalidate().restart())):r&&r.totalProgress(Bt,!!(_r&&(_e||Ze)))),p){if(Ze&&m&&(ce.style[m+E.os2]=Be),!j)Le(Qh(Oe+dt*Bt));else if(tr){if(ci=!Ze&&Bt>$t&&B+1>bt&&bt+1>=$o(L,E),T)if(!Ze&&(Qn||ci)){var Zn=La(p,!0),Jn=bt-q;Lw(p,pn,Zn.top+(E===Ni?Jn:0)+Fi,Zn.left+(E===Ni?0:Jn)+Fi)}else Lw(p,ce);Jf(Qn||ci?ne:re),st&&Bt<1&&Qn||Le(Oe+(Bt===1&&!ci?dt:0))}}_&&!Ae.tween&&!_r&&!Om&&Me.restart(!0),a&&(rn||b&&Bt&&(Bt<1||!X2))&&W0(a.targets).forEach(function(ae){return ae.classList[Qn||b?"add":"remove"](a.className)}),o&&!F&&!Ze&&o(H),tr&&!_r?(F&&(hr&&(Ft==="complete"?r.pause().totalProgress(1):Ft==="reset"?r.restart(!0).pause():Ft==="restart"?r.restart(!0):r[Ft]()),o&&o(H)),(rn||!X2)&&(c&&rn&&$2(H,c),N[cn]&&$2(H,N[cn]),b&&(Bt===1?H.kill(!1,1):N[cn]=0),rn||(cn=Bt===1?1:3,N[cn]&&$2(H,N[cn]))),R&&!Qn&&Math.abs(H.getVelocity())>(Wh(R)?R:2500)&&(yh(H.callbackAnimation),te?te.progress(1):yh(r,Ft==="reverse"?1:!Bt,1))):F&&o&&!_r&&o(H)}if(et){var G=I?bt/I.duration()*(I._caScrollDist||0):bt;Xe(G+($._isFlipped?1:0)),et(G)}_t&&_t(-bt/I.duration()*(I._caScrollDist||0))}},H.enable=function(Ze,wt){H.enabled||(H.enabled=!0,$i(L,"resize",jh),V||$i(L,"scroll",Ju),ye&&$i(n,"refreshInit",ye),Ze!==!1&&(H.progress=Fe=0,qe=rt=oe=Z()),wt!==!1&&H.refresh())},H.getTween=function(Ze){return Ze&&Ae?Ae.tween:te},H.setPositions=function(Ze,wt,ct,bt){if(I){var Vn=I.scrollTrigger,Bt=I.duration(),$t=Vn.end-Vn.start;Ze=Vn.start+$t*Ze/Bt,wt=Vn.start+$t*wt/Bt}H.refresh(!1,!1,{start:Sw(Ze,ct&&!!H._startClamp),end:Sw(wt,ct&&!!H._endClamp)},bt),H.update()},H.adjustPinSpacing=function(Ze){if(He&&Ze){var wt=He.indexOf(E.d)+1;He[wt]=parseFloat(He[wt])+Ze+Fi,He[1]=parseFloat(He[1])+Ze+Fi,Jf(He)}},H.disable=function(Ze,wt){if(Ze!==!1&&H.revert(!0,!0),H.enabled&&(H.enabled=H.isActive=!1,wt||te&&te.pause(),je=0,we&&(we.uncache=1),ye&&Yi(n,"refreshInit",ye),Me&&(Me.pause(),Ae.tween&&Ae.tween.kill()&&(Ae.tween=0)),!V)){for(var ct=Nt.length;ct--;)if(Nt[ct].scroller===L&&Nt[ct]!==H)return;Yi(L,"resize",jh),V||Yi(L,"scroll",Ju)}},H.kill=function(Ze,wt){H.disable(Ze,wt),te&&!wt&&te.kill(),l&&delete z_[l];var ct=Nt.indexOf(H);ct>=0&&Nt.splice(ct,1),ct===jr&&q1>0&&jr--,ct=0,Nt.forEach(function(bt){return bt.scroller===H.scroller&&(ct=1)}),ct||qr||(H.scroll.rec=0),r&&(r.scrollTrigger=null,Ze&&r.revert({kill:!1}),wt||r.kill()),le&&[le,ve,$,de].forEach(function(bt){return bt.parentNode&&bt.parentNode.removeChild(bt)}),_0===H&&(_0=0),p&&(we&&(we.uncache=1),ct=0,Nt.forEach(function(bt){return bt.pin===p&&ct++}),ct||(we.spacer=0)),i.onKill&&i.onKill(H)},Nt.push(H),H.enable(!1,!1),jt&&jt(H),r&&r.add&&!k){var Mt=H.update;H.update=function(){H.update=Mt,Ht.cache++,q||B||H.refresh()},at.delayedCall(.01,H.update),k=.01,q=B=0}else H.refresh();p&&UX()},n.register=function(i){return Ef||(at=i||iI(),nI()&&window.document&&n.enable(),Ef=Gh),Ef},n.defaults=function(i){if(i)for(var r in i)km[r]=i[r];return km},n.disable=function(i,r){Gh=0,Nt.forEach(function(o){return o[r?"kill":"disable"](i)}),Yi(zt,"wheel",Ju),Yi(Nn,"scroll",Ju),clearInterval(Lm),Yi(Nn,"touchcancel",Go),Yi(pn,"touchstart",Go),Um(Yi,Nn,"pointerdown,touchstart,mousedown",Ew),Um(Yi,Nn,"pointerup,touchend,mouseup",Tw),Rg.kill(),Fm(Yi);for(var s=0;s<Ht.length;s+=3)Nm(Yi,Ht[s],Ht[s+1]),Nm(Yi,Ht[s],Ht[s+2])},n.enable=function(){if(zt=window,Nn=document,Rs=Nn.documentElement,pn=Nn.body,at&&(W0=at.utils.toArray,p0=at.utils.clamp,N_=at.core.context||Go,q2=at.core.suppressOverwrites||Go,Ux=zt.history.scrollRestoration||"auto",H_=zt.pageYOffset||0,at.core.globals("ScrollTrigger",n),pn)){Gh=1,Zf=document.createElement("div"),Zf.style.height="100vh",Zf.style.position="absolute",hI(),PX(),xi.register(at),n.isTouch=xi.isTouch,vl=xi.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),U_=xi.isTouch===1,$i(zt,"wheel",Ju),Fx=[zt,Nn,Rs,pn],at.matchMedia?(n.matchMedia=function(c){var u=at.matchMedia(),f;for(f in c)u.add(f,c[f]);return u},at.addEventListener("matchMediaInit",function(){fI(),Gx()}),at.addEventListener("matchMediaRevert",function(){return uI()}),at.addEventListener("matchMedia",function(){su(0,1),Iu("matchMedia")}),at.matchMedia().add("(orientation: portrait)",function(){return K2(),K2})):console.warn("Requires GSAP 3.11.0 or later"),K2(),$i(Nn,"scroll",Ju);var i=pn.hasAttribute("style"),r=pn.style,s=r.borderTopStyle,o=at.core.Animation.prototype,a,l;for(o.revert||Object.defineProperty(o,"revert",{value:function(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",a=La(pn),Ni.m=Math.round(a.top+Ni.sc())||0,Zr.m=Math.round(a.left+Zr.sc())||0,s?r.borderTopStyle=s:r.removeProperty("border-top-style"),i||(pn.setAttribute("style",""),pn.removeAttribute("style")),Lm=setInterval(Pw,250),at.delayedCall(.5,function(){return Om=0}),$i(Nn,"touchcancel",Go),$i(pn,"touchstart",Go),Um($i,Nn,"pointerdown,touchstart,mousedown",Ew),Um($i,Nn,"pointerup,touchend,mouseup",Tw),F_=at.utils.checkPrefix("transform"),X1.push(F_),Ef=xr(),Rg=at.delayedCall(.2,su).pause(),Tf=[Nn,"visibilitychange",function(){var c=zt.innerWidth,u=zt.innerHeight;Nn.hidden?(xw=c,Cw=u):(xw!==c||Cw!==u)&&jh()},Nn,"DOMContentLoaded",su,zt,"load",su,zt,"resize",jh],Fm($i),Nt.forEach(function(c){return c.enable(0,1)}),l=0;l<Ht.length;l+=3)Nm(Yi,Ht[l],Ht[l+1]),Nm(Yi,Ht[l],Ht[l+2])}},n.config=function(i){"limitCallbacks"in i&&(X2=!!i.limitCallbacks);var r=i.syncInterval;r&&clearInterval(Lm)||(Lm=r)&&setInterval(Pw,r),"ignoreMobileResize"in i&&(U_=n.isTouch===1&&i.ignoreMobileResize),"autoRefreshEvents"in i&&(Fm(Yi)||Fm($i,i.autoRefreshEvents||"none"),JM=(i.autoRefreshEvents+"").indexOf("resize")===-1)},n.scrollerProxy=function(i,r){var s=ls(i),o=Ht.indexOf(s),a=Tu(s);~o&&Ht.splice(o,a?6:2),r&&(a?Jo.unshift(zt,r,pn,r,Rs,r):Jo.unshift(s,r))},n.clearMatchMedia=function(i){Nt.forEach(function(r){return r._ctx&&r._ctx.query===i&&r._ctx.kill(!0,!0)})},n.isInViewport=function(i,r,s){var o=(Ts(i)?ls(i):i).getBoundingClientRect(),a=o[s?vu:yu]*r||0;return s?o.right-a>0&&o.left+a<zt.innerWidth:o.bottom-a>0&&o.top+a<zt.innerHeight},n.positionInViewport=function(i,r,s){Ts(i)&&(i=ls(i));var o=i.getBoundingClientRect(),a=o[s?vu:yu],l=r==null?a/2:r in Dg?Dg[r]*a:~r.indexOf("%")?parseFloat(r)*a/100:parseFloat(r)||0;return s?(o.left+l)/zt.innerWidth:(o.top+l)/zt.innerHeight},n.killAll=function(i){if(Nt.slice(0).forEach(function(s){return s.vars.id!=="ScrollSmoother"&&s.kill()}),i!==!0){var r=Mu.killAll||[];Mu={},r.forEach(function(s){return s()})}},n}();Pt.version="3.14.2";Pt.saveStyles=function(n){return n?W0(n).forEach(function(e){if(e&&e.style){var t=Es.indexOf(e);t>=0&&Es.splice(t,5),Es.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),at.core.getCache(e),N_())}}):Es};Pt.revert=function(n,e){return Gx(!n,e)};Pt.create=function(n,e){return new Pt(n,e)};Pt.refresh=function(n){return n?jh(!0):(Ef||Pt.register())&&su(!0)};Pt.update=function(n){return++Ht.cache&&Ga(n===!0?2:0)};Pt.clearScrollMemory=dI;Pt.maxScroll=function(n,e){return $o(n,e?Zr:Ni)};Pt.getScrollFunc=function(n,e){return ec(ls(n),e?Zr:Ni)};Pt.getById=function(n){return z_[n]};Pt.getAll=function(){return Nt.filter(function(n){return n.vars.id!=="ScrollSmoother"})};Pt.isScrolling=function(){return!!io};Pt.snapDirectional=Vx;Pt.addEventListener=function(n,e){var t=Mu[n]||(Mu[n]=[]);~t.indexOf(e)||t.push(e)};Pt.removeEventListener=function(n,e){var t=Mu[n],i=t&&t.indexOf(e);i>=0&&t.splice(i,1)};Pt.batch=function(n,e){var t=[],i={},r=e.interval||.016,s=e.batchMax||1e9,o=function(c,u){var f=[],h=[],p=at.delayedCall(r,function(){u(f,h),f=[],h=[]}).pause();return function(m){f.length||p.restart(!0),f.push(m.trigger),h.push(m),s<=f.length&&p.progress(1)}},a;for(a in e)i[a]=a.substr(0,2)==="on"&&Tr(e[a])&&a!=="onRefreshInit"?o(a,e[a]):e[a];return Tr(s)&&(s=s(),$i(Pt,"refresh",function(){return s=e.batchMax()}
vendor: 2,740 bytes, line 65
65)),W0(n).forEach(function(l){var c={};for(a in i)c[a]=i[a];c.trigger=l,t.push(Pt.create(c))}),t};var Fw=function(e,t,i,r){return t>r?e(r):t<0&&e(0),i>r?(r-t)/(i-t):i<0?t/(t-i):1},J2=function n(e,t){t===!0?e.style.removeProperty("touch-action"):e.style.touchAction=t===!0?"auto":t?"pan-"+t+(xi.isTouch?" pinch-zoom":""):"none",e===Rs&&n(pn,t)},Gm={auto:1,scroll:1},VX=function(e){var t=e.event,i=e.target,r=e.axis,s=(t.changedTouches?t.changedTouches[0]:t).target,o=s._gsap||at.core.getCache(s),a=xr(),l;if(!o._isScrollT||a-o._isScrollT>2e3){for(;s&&s!==pn&&(s.scrollHeight<=s.clientHeight&&s.scrollWidth<=s.clientWidth||!(Gm[(l=$s(s)).overflowY]||Gm[l.overflowX]));)s=s.parentNode;o._isScroll=s&&s!==i&&!Tu(s)&&(Gm[(l=$s(s)).overflowY]||Gm[l.overflowX]),o._isScrollT=a}(o._isScroll||r==="x")&&(t.stopPropagation(),t._gsapAllow=!0)},mI=function(e,t,i,r){return xi.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:r=r&&VX,onPress:r,onDrag:r,onScroll:r,onEnable:function(){return i&&$i(Nn,xi.eventTypes[0],Nw,!1,!0)},onDisable:function(){return Yi(Nn,xi.eventTypes[0],Nw,!0)}})},GX=/(input|label|select|textarea)/i,Uw,Nw=function(e){var t=GX.test(e.target.tagName);(t||Uw)&&(e._gsapAllow=!0,Uw=t)},QX=function(e){Kc(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var t=e,i=t.normalizeScrollX,r=t.momentum,s=t.allowNestedScroll,o=t.onRelease,a,l,c=ls(e.target)||Rs,u=at.core.globals().ScrollSmoother,f=u&&u.get(),h=vl&&(e.content&&ls(e.content)||f&&e.content!==!1&&!f.smooth()&&f.content()),p=ec(c,Ni),m=ec(c,Zr),v=1,A=(xi.isTouch&&zt.visualViewport?zt.visualViewport.scale*zt.visualViewport.width:zt.outerWidth)/zt.innerWidth,y=0,x=Tr(r)?function(){return r(a)}:function(){return r||2.8},b,_,T=mI(c,e.type,!0,s),M=function(){return _=!1},I=Go,R=Go,w=function(){l=$o(c,Ni),R=p0(vl?1:0,l),i&&(I=p0(0,$o(c,Zr))),b=_u},E=function(){h._gsap.y=Qh(parseFloat(h._gsap.y)+p.offset)+"px",h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(h._gsap.y)+", 0, 1)",p.offset=p.cacheID=0},F=function(){if(_){requestAnimationFrame(M);var W=Qh(a.deltaY/2),ee=R(p.v-W);if(h&&ee!==p.v+p.offset){p.offset=ee-p.v;var H=Qh((parseFloat(h&&h._gsap.y)||0)-p.offset);h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+H+", 0, 1)",h._gsap.y=H+"px",p.cacheID=Ht.cache,Ga()}return!0}p.offset&&E(),_=!0},L,z,V,j,N=function(){w(),L.isActive()&&L.vars.scrollY>l&&(p()>l?L.progress(1)&&p(l):L.resetTo("scrollY",l))};return h&&at.set(h,{y:"+=0"}),e.ignoreCheck=function(Q){return vl&&Q.type==="touchmove"&&F()||v>1.05&&Q.type!=="touchstart"||a.isGesturing||Q.touches&&Q.touches.length>1},e.onPress=function(){_=!1;var Q=v;
65v=Qh((zt.visualViewport&&zt.visualViewport.scale||1)/A),L.pause(),Q!==v&&J2(c,v>1.01?!0:i?!1:"x"),z=m(),V=p(),w(),b=_u},e.onRelease=e.onGestureStart=function(Q,W){if(p.offset&&E(),!W)j.restart(!0);else{Ht.cache++;var ee=x(),H,ye;i&&(H=m(),ye=H+ee*.05*-Q.velocityX/.227,ee*=Fw(m,H,ye,$o(c,Zr)),L.vars.scrollX=I(ye)),H=p(),ye=H+ee*.05*-Q.velocityY/.227,ee*=Fw(p,H,ye,$o(c,Ni)),L.vars.scrollY=R(ye),L.invalidate().duration(ee).play(.01),(vl&&L.vars.scrollY>=l||H>=l-1)&&at.to({},{onUpdate:N,duration:ee})}o&&o(Q)},e.onWheel=function(){L._ts&&L.pause(),xr()-y>1e3&&(b=0,y=xr())},e.onChange=function(Q,W,ee,H,ye){if(_u!==b&&w(),W&&i&&m(I(H[2]===W?z+(Q.startX-Q.x):m()+W-H[1])),ee){p.offset&&E();var Ie=ye[2]===ee,ze=Ie?V+Q.startY-Q.y:p()+ee-ye[1],oe=R(ze);Ie&&ze!==oe&&(V+=oe-ze),p(oe)}(ee||W)&&Ga()},e.onEnable=function(){J2(c,i?!1:"x"),Pt.addEventListener("refresh",N),$i(zt,"resize",N),p.smooth&&(p.target.style.scrollBehavior="auto",p.smooth=m.smooth=!1),T.enable()},e.onDisable=function(){J2(c,!0),Yi(zt,"resize",N),Pt.removeEventListener("refresh",N),T.kill()},e.lockAxis=e.lockAxis!==!1,a=new xi(e),a.iOS=vl,vl&&!p()&&p(1),vl&&at.ticker.add(Go),j=a._dc,L=at.to(a,{ease:"power4",paused:!0,inherit:!1,scrollX:i?"+=0.1":"+=0",scrollY:"+=0.1",modifiers:{scrollY:pI(p,p(),function(){return L.pause()})},onUpdate:Ga,onComplete:j.vars.onComplete}),a};Pt.sort=function(n){if(Tr(n))return Nt.sort(n);var e=zt.pageYOffset||0;return Pt.getAll().forEach(function(t){return t._sortY=t.trigger?e+t.trigger.getBoundingClientRect().top:t.start+zt.innerHeight}),Nt.sort(n||function(t,i){return(t.vars.refreshPriority||0)*-1e6+(t.vars.containerAnimation?1e6:t._sortY)-((i.vars.containerAnimation?1e6:i._sortY)+(i.vars.refreshPriority||0)*-1e6)})};Pt.observe=function(n){return new xi(n)};Pt.normalizeScroll=function(n){if(typeof n>"u")return Gr;if(n===!0&&Gr)return Gr.enable();if(n===!1){Gr&&Gr.kill(),Gr=n;return}var e=n instanceof xi?n:QX(n);return Gr&&Gr.target===e.target&&Gr.kill(),Tu(e.target)&&(Gr=e),e};Pt.core={_getVelocityProp:O_,_inputObserver:mI,_scrollers:Ht,_proxies:Jo,bridge:{ss:function(){io||Iu("scrollStart"),io=xr()},ref:function(){return _r}}};iI()&&at.registerPlugin(Pt);/*! 66 * SplitText 3.14.2 67 * https://gsap.com 68 * 69 * @license Copyright 2025, GreenSock. All rights reserved. Subject to the terms at https://gsap.com/standard-license. 70 * @author: Jack Doyle 71 */let _h,ef,kw=typeof Symbol=="function"?Symbol():"_split",G_,WX=()=>G_||X0.register(window.gsap),zw=typeof Intl<"u"&&"Segmenter"in Intl?new Intl.Segmenter:0,q0=n=>typeof n=="string"?q0(document.querySelectorAll(n)):"length"in n?Array.from(n).reduce((e,t)=>(typeof t=="string"?e.push(...q0(t)):e.push(t),e),[]):[n],Hw=n=>q0(n).filter(e=>e instanceof HTMLElement),Q_=[],e3=function(){},jX={add:n=>n()},qX=/\s+/g,Vw=new RegExp("\\p{RI}\\p{RI}|\\p{Emoji}(\\p{EMod}|\\u{FE0F}\\u{20E3}?|[\\u{E0020}-\\u{E007E}]+\\u{E007F})?(\\u{200D}\\p{Emoji}(\\p{EMod}|\\u{FE0F}\\u{20E3}?|[\\u{E0020}-\\u{E007E}]+\\u{E007F})?)*|.","gu"),Lg={left:0,top:0,width:0,height:0},XX=(n,e)=>{for(;++e<n.length&&n[e]===Lg;);return n[e]||Lg},Gw=({element:n,html:e,ariaL:t,ariaH:i})=>{n.innerHTML=e,t?n.setAttribute("aria-label",t):n.removeAttribute("aria-label"),i?n.setAttribute("aria-hidden",i):n.removeAttribute("aria-hidden")},Qw=(n,e)=>{if(e){let t=new Set(n.join("").match(e)||Q_),i=n.length,r,s,o,a;if(t.size)for(;--i>-1;){s=n[i];for(o of t)if(o.startsWith(s)&&o.length>s.length){for(r=0,a=s;o.startsWith(a+=n[i+ ++r])&&a.length<o.length;);if(r&&a.length===o.length){n[i]=o,n.splice(i+1,r);break}}}}return n},Ww=n=>window.getComputedStyle(n).display==="inline"&&(n.style.display="inline-block"),tf=(n,e,t)=>e.insertBefore(typeof n=="string"?document.createTextNode(n):n,t),W_=(n,e,t)=>{let i=e[n+"sClass"]||"",{tag:r="div",aria:s="auto",propIndex:o=!1}=e,a=n==="line"?"block":"inline-block",l=i.indexOf("++")>-1,c=u=>{let f=document.createElement(r),h=t.length+1;return i&&(f.className=i+(l?" "+i+h:"")),o&&f.style.setProperty("--"+n,h+""),s!=="none"&&f.setAttribute("aria-hidden","true"),r!=="span"&&(f.style.position="relative",f.style.display=a),f.textContent=u,t.push(f),f};return l&&(i=i.replace("++","")),c.collection=t,c},YX=(n,e,t,i)=>{let r=W_("line",t,i),s=window.getComputedStyle(n).textAlign||"left";return(o,a)=>{let l=r("");for(l.style.textAlign=s,n.insertBefore(l,e[o]);o<a;o++)l.appendChild(e[o]);l.normalize()}},gI=(n,e,t,i,r,s,o,a,l,c)=>{var u;let f=Array.from(n.childNodes),h=0,{wordDelimiter:p,reduceWhiteSpace:m=!0,prepareText:v}=e,A=n.getBoundingClientRect(),y=A,x=!m&&window.getComputedStyle(n).whiteSpace.substring(0,3)==="pre",b=0,_=t.collection,T,M,I,R,w,E,F,L,z,V,j,N,Q,W,ee,H,ye,Ie;for(typeof p=="object"?(I=p.delimiter||p,M=p.replaceWith||""):M=p===""?"":p||" ",T=M!==" ";h<f.length;h++)if(R=f[h],R.nodeType===3){for(ee=R.textContent||"",m?ee=ee.replace(qX," "):x&&(ee=ee.replace(/\n/g,M+` 72`)),v&&(ee=v(ee,n)),R.textContent=ee,w=M||I?ee.split(I||M):ee.match(a)||Q_,ye=w[w.length-1],L=T?ye.slice(-1)===" ":!ye,ye||w.pop(),y=A,F=T?w[0].charAt(0)===" ":!w[0],F&&tf(" ",n,R),w[0]||w.shift(),Qw(w,l),s&&c||(R.textContent=""),z=1;z<=w.length;z++)if(H=w[z-1],!m&&x&&H.charAt(0)===`
73`&&((u=R.previousSibling)==null||u.remove(),tf(document.createElement("br"),n,R),H=H.slice(1)),!m&&H==="")tf(M,n,R);else if(H===" ")n.insertBefore(document.createTextNode(" "),R);else{if(T&&H.charAt(0)===" "&&tf(" ",n,R),b&&z===1&&!F&&_.indexOf(b.parentNode)>-1?(E=_[_.length-1],E.appendChild(document.createTextNode(i?"":H))):(E=t(i?"":H),tf(E,n,R),b&&z===1&&!F&&E.insertBefore(b,E.firstChild)),i)for(j=zw?Qw([...zw.segment(H)].map(ze=>ze.segment),l):H.match(a)||Q_,Ie=0;Ie<j.length;Ie++)E.appendChild(j[Ie]===" "?document.createTextNode(" "):i(j[Ie]));if(s&&c){if(ee=R.textContent=ee.substring(H.length+1,ee.length),V=E.getBoundingClientRect(),V.top>y.top&&V.left<=y.left){for(N=n.cloneNode(),Q=n.childNodes[0];Q&&Q!==E;)W=Q,Q=Q.nextSibling,N.appendChild(W);n.parentNode.insertBefore(N,n),r&&Ww(N)}y=V}(z<w.length||L)&&tf(z>=w.length?" ":T&&H.slice(-1)===" "?" "+M:M,n,R)}n.removeChild(R),b=0}else R.nodeType===1&&(o&&o.indexOf(R)>-1?(_.indexOf(R.previousSibling)>-1&&_[_.length-1].appendChild(R),b=R):(gI(R,e,t,i,r,s,o,a,l,!0),b=0),r&&Ww(R))};const AI=class vI{constructor(e,t){this.isSplit=!1,WX(),this.elements=Hw(e),this.chars=[],this.words=[],this.lines=[],this.masks=[],this.vars=t,this.elements.forEach(o=>{var a;t.overwrite!==!1&&((a=o[kw])==null||a._data.orig.filter(({element:l})=>l===o).forEach(Gw)),o[kw]=this}),this._split=()=>this.isSplit&&this.split(this.vars);let i=[],r,s=()=>{let o=i.length,a;for(;o--;){a=i[o];let l=a.element.offsetWidth;if(l!==a.width){a.width=l,this._split();return}}};this._data={orig:i,obs:typeof ResizeObserver<"u"&&new ResizeObserver(()=>{clearTimeout(r),r=setTimeout(s,200)})},e3(this),this.split(t)}split(e){return(this._ctx||jX).add(()=>{this.isSplit&&this.revert(),this.vars=e=e||this.vars||{};let{type:t="chars,words,lines",aria:i="auto",deepSlice:r=!0,smartWrap:s,onSplit:o,autoSplit:a=!1,specialChars:l,mask:c}=this.vars,u=t.indexOf("lines")>-1,f=t.indexOf("chars")>-1,h=t.indexOf("words")>-1,p=f&&!h&&!u,m=l&&("push"in l?new RegExp("(?:"+l.join("|")+")","gu"):l),v=m?new RegExp(m.source+"|"+Vw.source,"gu"):Vw,A=!!e.ignore&&Hw(e.ignore),{orig:y,animTime:x,obs:b}=this._data,_;(f||h||u)&&(this.elements.forEach((T,M)=>{y[M]={element:T,html:T.innerHTML,ariaL:T.getAttribute("aria-label"),ariaH:T.getAttribute("aria-hidden")},i==="auto"?T.setAttribute("aria-label",(T.textContent||"").trim()):i==="hidden"&&T.setAttribute("aria-hidden","true");let I=[],R=[],w=[],E=f?W_("char",e,I):null,F=W_("word",e,R),L,z,V,j;if(gI(T,e,F,E,p,r&&(u||p),A,v,m,!1),u){let N=q0(T.childNodes),Q=YX(T,N,e,w),W,ee=[],H=0,ye=N.map(oe=>oe.nodeType===1?oe.getBoundingClientRect():Lg),Ie=Lg,ze;for(L=0;L<N.length;L++)W=N[L],W.nodeType===1&&(W.nodeName==="BR"?((!L||N[L-1].nodeName!=="BR")&&(ee.push(W),Q(H,L+1)),H=L+1,Ie=XX(ye,L)):(ze=ye[L],L&&ze.top>Ie.top&&ze.left<Ie.left+Ie.width-1&&(Q(H,L),H=L),Ie=ze));H<L&&Q(H,L),ee.forEach(oe=>{var _e;return(_e=oe.parentNode)==null?void 0:_e.removeChild(oe)})}if(!h){for(L=0;L<R.length;L++)if(z=R[L],f||!z.nextSibling||z.nextSibling.nodeType!==3)if(s&&!u){for(V=document.createElement("span"),V.style.whiteSpace="nowrap";z.firstChild;)V.appendChild(z.firstChild);z.replaceWith(V)}else z.replaceWith(...z.childNodes);else j=z.nextSibling,j&&j.nodeType===3&&(j.textContent=(z.textContent||"")+(j.textContent||""),z.remove());R.length=0,T.normalize()}this.lines.push(...w),this.words.push(...R),this.chars.push(...I)}),c&&this[c]&&this.masks.push(...this[c].map(T=>{let M=T.cloneNode();return T.replaceWith(M),M.appendChild(T),T.className&&(M.className=T.className.trim()+"-mask"),M.style.overflow="clip",M}))),this.isSplit=!0,ef&&u&&(a?ef.addEventListener("loadingdone",this._split):ef.status==="loading"&&console.warn("SplitText c
73alled before fonts loaded")),(_=o&&o(this))&&_.totalTime&&(this._data.anim=x?_.totalTime(x):_),u&&a&&this.elements.forEach((T,M)=>{y[M].width=T.offsetWidth,b&&b.observe(T)})}),this}kill(){let{obs:e}=this._data;e&&e.disconnect(),ef==null||ef.removeEventListener("loadingdone",this._split)}revert(){var e,t;if(this.isSplit){let{orig:i,anim:r}=this._data;this.kill(),i.forEach(Gw),this.chars.length=this.words.length=this.lines.length=i.length=this.masks.length=0,this.isSplit=!1,r&&(this._data.animTime=r.totalTime(),r.revert()),(t=(e=this.vars).onRevert)==null||t.call(e,this)}return this}static create(e,t){return new vI(e,t)}static register(e){_h=_h||e||window.gsap,_h&&(q0=_h.utils.toArray,e3=_h.core.context||e3),!G_&&window.innerWidth>0&&(ef=document.fonts,G_=!0)}};AI.version="3.14.2";let X0=AI;var vo=Dr.registerPlugin(Lx)||Dr;vo.core.Tween;function j_(n){n.forEach(e=>{e()})}function $X(n,e=300){let t;return function(...i){clearTimeout(t),t=setTimeout(function(){n(...i)},e)}}let jw=!1;const Nl=new Set;function oc(n,e){return Nl.add(n),e&&n(),xA(()=>{jw||(window.addEventListener("resize",$X(()=>j_(Nl),100)),jw=!0)}),nX(()=>{Nl.delete(n)}),{remove:()=>{Nl.delete(n)}}}const yI=gt(0),_I=gt(0);let q_=!1;const qw=()=>{yI.value=window.innerWidth,_I.value=window.innerHeight,q_=!0};function bI(){return q_||oc(qw),xA(()=>{q_||qw()}),{width:yI,height:_I}}function KX(n,e){const t=gt(document.createElement("div")),i=gt(document.createElement("div")),{height:r}=bI(),s=gt(0),o=gt(0),a=gt(40),l=gt(0),c=gt(0),u=gt(0),f=gt(!1),h=()=>{if(s.value=(n.limit+r.value)/r.value,s.value<=1){i.value.style.height="0";return}a.value=Math.max(r.value/s.value,40),i.value.style.height=`${a.value}px`,o.value=r.value-a.value},p=()=>{var I;return(I=t.value)==null?void 0:I.classList.replace("opacity-0","opacity-30")},m=()=>{var I;return(I=t.value)==null?void 0:I.classList.replace("opacity-30","opacity-0")},v=()=>{n.on("scroll",()=>{l.value=n.scroll/n.limit*(r.value-a.value)});const I=n.dimensions.onWrapperResize;n.dimensions.onWrapperResize=()=>{I(),setTimeout(h,1)}},A=()=>{t.value.classList.add("fixed","top-0","right-0","h-full","w-[20px]","z-[999]","opacity-0","transition-opacity","duration-100","hover:opacity-30","has-[:hover]:!opacity-80","touch:!hidden"),i.value.classList.add("py-6","mx-auto","w-[10px]","cursor-grab"),i.value.innerHTML='<div class="bg-scrollbar roun
73ded-[10px] w-full h-full"></div>',t.value.appendChild(i.value),document.body.appendChild(t.value)},y=()=>{i.value.style.transform=`translate(0px, ${l.value}px)`,Math.abs(n.velocity)>0?p():m()},x=()=>{ai(e,I=>t.value.style.display=I?"none":"block"),ai(l,y),ai(f,()=>{document.body.style.userSelect=f.value?"none":"",document.body.classList.toggle("cursor-grabbing",f.value),i.value.classList.toggle("cursor-grabbing",f.value)})},b=I=>{c.value=I.clientY,u.value=I.clientY,f.value=!0,t.value.classList.add("!opacity-80")},_=I=>{!f.value||n.isStopped||(c.value=I.clientY,l.value-=u.value-c.value,l.value=Math.min(Math.max(l.value,0),o.value),u.value=c.value,n.scrollTo(l.value/o.value*n.limit,{immediate:!0}))},T=()=>{f.value=!1,t.value.classList.remove("!opacity-80")},M=()=>{Kr(i,"mousedown",b),Kr(window,"mousemove",_),Kr(window,"mouseup",T)};v(),A(),x(),M()}let Xw=!1;const X_=gt(!1),yl=gt();ai(yl,n=>{Xw||!n||(n.on("scroll",Pt.update),zM.add(e=>{n&&n.raf(e)},{priority:-1}),Pt.defaults({scroller:n==null?void 0:n.options.wrapper}),n.options.wrapper&&Pt.scrollerProxy(n.options.wrapper,{scrollTop:e=>(e&&n.scrollTo(e,{immediate:!0}),n.options.wrapper.scrollTop),getBoundingClientRect(){const{width:e,height:t}=bI();return{top:0,left:0,width:e.value,height:t.value}}}),KX(n,X_),Xw=!0)});function wA(n){return yl.value,{Lenis:yl,lockScroll:()=>{var e;(e=yl.value)==null||e.stop(),X_.value=!0},unlockScroll:()=>{var e;(e=yl.value)==null||e.start(),X_.value=!1},scrollTo:(e,t)=>{var i;(i=yl.value)==null||i.scrollTo(qt(e),t)},setLenisInstance:e=>{yl.value||(yl.value=e)}}}const bh=gt([]),t3=gt(!1),n3=gt(0),i3=gt(0),ZX=()=>{document!=null&&document.fonts&&jo(document.fonts.ready);const n=document==null?void 0:document.querySelectorAll('img:not([loading="lazy"])');n&&n.forEach(e=>{jo(new Promise((t,i)=>{e.complete?e.naturalWidth!==0?t(e):i(new Error("Image not loaded",{cause:e})):(e.addEventListener("load",()=>{t(e)},{once:!0}),e.addEventListener("error",r=>{i(new Error("Image not loaded",{cause:r}))},{once:!0}))}))})};function jo(n){return n&&bh.value.push(n),{promise:n,isLoaded:t3,progress:i3,checkIfLoaded:()=>(t3.value=!1,n3.value=0,i3.value=0,ZX(),bh.value.forEach(e=>{e.then(()=>{n3.value++,i3.value=Math.floor(n3.value/bh.value.length*100)})}),Promise.allSettled(bh.value).then(()=>{t3.value=!0,bh.value=[]}))}}const{scrollTo:Yw,lockScroll:JX,unlockScroll:eY,Lenis:tY}=wA(),{checkIfLoaded:nY}=jo(),iY=(n,e)=>{const t={css:!1,name:"default",mode:"out-in"},i=jq;t.onBeforeLeave=r=>{typeof(i==null?void 0:i.onBeforeLeave)<"u"&&(i==null||i.onBeforeLeave(r))},t.onLeave=(r,s)=>{JX(),i==null||i.onLeave(r,s)},t.onBeforeEnter=r=>{typeof(i==null?void 0:i.onBeforeEnter)<"u"&&(i==null||i.onBeforeEnter(r))},t.onEnter=(r,s)=>{Yw("top",{force:!0,immediate:!0}),nY().then(()=>{eY(),i==null||i.onEnter(r).then(()=>{Ja().then(()=>{const o=window.location.hash;o&&setTimeout(()=>{const a=Number(o.replace("#section-","")),l=document.querySelector(`[data-section="${a}"]`);l&&tY.value&&Yw(l,{duration:2,force:!0})},50)}),s()})})},e.meta.pageTransition=t,n.meta.pageTransition=t},rY=async n=>{let e,t;const i=([e,t]=qf(()=>dx({path:n.path})),e=await e,t(),e);if(i.redirect)return ta(i.redirect,{acceptRelative:!0})?(window.location.href=i.redirect,!1):i.redirect},sY=[Tj,iY,rY],b0={};function oY(n,e,t){const{pathname:i,search:r,hash:s}=e,o=n.indexOf("#");if(o>-1){const c=s.includes(n.slice(o))?n.slice(o).length:1;let u=s.slice(c);return u[0]!=="/"&&(u="/"+u),mC(u,"")}const a=mC(i,n),l=!t||oG(a,t,{trailingSlash:!0})?a:t;return l+(l.includes("?")?"":r)+s}const aY=oo({name:"nuxt:router",enforce:"pre",async setup(n){var A;let e,t,i=Bu().app.baseURL;const r=((A=Ws.history)==null?void 0:A.call(Ws,i))??GW(i),s=Ws.routes?([e,t]=qf(()=>Ws.routes(N2)),e=await e,t(),e??N2):N2;let o;const a=hj({...Ws,scrollBehavior:(y,x,b)=>{if(x===Ao){o=b;return}if(Ws.scrollBehavior){if(a.options.scrollBehavior=Ws.scrollBehavior,"scrollRestoration"in window.history){const _=a.beforeEach(()=>{_(),window.history.scrollRestoration="manual"})}return Ws.scrollBehavior(y,Ao,o||b)}},history:r,routes:s});Ws.routes&&Ws.routes,"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),n.vueApp.use(a);const l=ds(a.currentRoute.value);
73a.afterEach((y,x)=>{l.value=x}),Object.defineProperty(n.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const c=oY(i,window.location,n.payload.path),u=ds(a.currentRoute.value),f=()=>{u.value=a.currentRoute.value};n.hook("page:finish",f),a.afterEach((y,x)=>{var b,_,T,M;((_=(b=y.matched[0])==null?void 0:b.components)==null?void 0:_.default)===((M=(T=x.matched[0])==null?void 0:T.components)==null?void 0:M.default)&&f()});const h={};for(const y in u.value)Object.defineProperty(h,y,{get:()=>u.value[y],enumerable:!0});n._route=Fa(h),n._middleware=n._middleware||{global:[],named:{}};const p=gA();a.afterEach(async(y,x,b)=>{delete n._processingMiddleware,!n.isHydrating&&p.value&&await n.runWithContext(iQ),b&&await n.callHook("page:loading:end")});try{[e,t]=qf(()=>a.isReady()),await e,t()}catch(y){[e,t]=qf(()=>n.runWithContext(()=>Df(y))),await e,t()}const m=c!==a.currentRoute.value.fullPath?a.resolve(c):a.currentRoute.value;f();const v=n.payload.state._layout;return a.beforeEach(async(y,x)=>{var b;await n.callHook("page:loading:start"),y.meta=so(y.meta),n.isHydrating&&v&&!$l(y.meta.layout)&&(y.meta.layout=v),n._processingMiddleware=!0;{const _=new Set([...sY,...n._middleware.global]);for(const T of y.matched){const M=T.meta.middleware;if(M)for(const I of mx(M))_.add(I)}{const T=await n.runWithContext(()=>dx({path:y.path}));if(T.appMiddleware)for(const M in T.appMiddleware)T.appMiddleware[M]?_.add(M):_.delete(M)}for(const T of _){const M=typeof T=="string"?n._middleware.named[T]||await((b=b0[T])==null?void 0:b.call(b0).then(R=>R.default||R)):T;if(!M)throw new Error(`Unknown route middleware: '${T}'.`);const I=await n.runWithContext(()=>M(y,x));if(!n.payload.serverRendered&&n.isHydrating&&(I===!1||I instanceof Error)){const R=I||a_({statusCode:404,statusMessage:`Page Not Found: ${c}`});return await n.runWithContext(()=>Df(R)),!1}if(I!==!0&&(I||I===!1))return I}}}),a.onError(async()=>{delete n._processingMiddleware,await n.callHook("page:loading:end")}),a.afterEach(async(y,x)=>{y.matched.length===0&&await n.runWithContext(()=>Df(a_({statusCode:404,fatal:!1,statusMessage:`Page not found: ${y.fullPath}`,data:{path:y.fullPath}})))}),n.hooks.hookOnce("app:created",async()=>{try{"name"in m&&(m.name=void 0),await a.replace({...m,force:!0}),a.options.scrollBehavior=Ws.scrollBehavior}catch(y){await n.runWithContext(()=>Df(y))}}),{provide:{router:a}}}}),Y_=globalThis.requestIdleCallback||(n=>{const e=Date.now(),t={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-e))};return setTimeout(()=>{n(t)},1)}),lY=globalThis.cancelIdleCallback||(n=>{clearTimeout(n)}),SA=n=>{const e=Tn();e.isHydrating?e.hooks.hookOnce("app:suspense:resolve",()=>{Y_(()=>n())}):Y_(()=>n())},cY=n=>n==="defer"||n===!1;function uY(...n){var v;const e=typeof n[n.length-1]=="string"?n.pop():void 0;typeof n[0]!="string"&&n.unshift(e);let[t,i,r={}]=n;if(typeof t!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof i!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=Tn(),o=i,a=()=>Bf.value,l=()=>s.isHydrating?s.payload.data[t]:s.static.data[t];r.server=r.server??!0,r.default=r.default??a,r.getCachedData=r.getCachedData??l,r.lazy=r.lazy??!1,r.immediate=r.immediate??!0,r.deep=r.deep??Bf.deep,r.dedupe=r.dedupe??"cancel";const c=r.getCachedData(t,s),u=c!=null;if(!s._asyncData[t]||!r.immediate){(v=s.payload._errors)[t]??(v[t]=Bf.errorValue);const A=r.deep?gt:ds;s._asyncData[t]={data:A(u?c:r.default()),pending:gt(!u),error:Jb(s.payload._errors,t),status:gt("idle"),_default:r.default}}const f={...s._asyncData[t]};delete f._default,f.refresh=f.execute=(A={})=>{if(s._asyncDataPromises[t]){if(cY(A.dedupe??r.dedupe))return s._asyncDataPromises[t];s._asyncDataPromises[t].cancelled=!0}if(A._initial||s.isHydrating&&A._initial!==!1){const x=A._initial?c:r.getCachedData(t,s);if(x!=null)return Promise.resolve(x)}f.pending.value=!0,f.status.value="pending";const y=new Promise((x,b)=>{try{x(o(s))}catch(_){b(_)}}).then(async x=>{if(y.cancelled)return s._asyncDataPromises[t];let b=x;r.transform&&(b=await r.transform(x)),r.pick&&(b=dY(b,r.pick)),s.payload.data[t]=b,f.data.value=b,f.error.value=Bf.errorValue,f.status.value="success"}).catch(x=>
73{if(y.cancelled)return s._asyncDataPromises[t];f.error.value=Sp(x),f.data.value=qt(r.default()),f.status.value="error"}).finally(()=>{y.cancelled||(f.pending.value=!1,delete s._asyncDataPromises[t])});return s._asyncDataPromises[t]=y,s._asyncDataPromises[t]},f.clear=()=>fY(s,t);const h=()=>f.refresh({_initial:!0}),p=r.server!==!1&&s.payload.serverRendered;{const A=Do();if(A&&p&&r.immediate&&!A.sp&&(A.sp=[]),A&&!A._nuxtOnBeforeMountCbs){A._nuxtOnBeforeMountCbs=[];const b=A._nuxtOnBeforeMountCbs;nx(()=>{b.forEach(_=>{_()}),b.splice(0,b.length)}),tl(()=>b.splice(0,b.length))}p&&s.isHydrating&&(f.error.value||c!=null)?(f.pending.value=!1,f.status.value=f.error.value?"error":"success"):A&&(s.payload.serverRendered&&s.isHydrating||r.lazy)&&r.immediate?A._nuxtOnBeforeMountCbs.push(h):r.immediate&&h();const y=rA();if(r.watch){const b=ai(r.watch,()=>f.refresh());y&&Fy(b)}const x=s.hook("app:data:refresh",async b=>{(!b||b.includes(t))&&await f.refresh()});y&&Fy(x)}const m=Promise.resolve(s._asyncDataPromises[t]).then(()=>f);return Object.assign(m,f),m}function fY(n,e){e in n.payload.data&&(n.payload.data[e]=void 0),e in n.payload._errors&&(n.payload._errors[e]=Bf.errorValue),n._asyncData[e]&&(n._asyncData[e].data.value=void 0,n._asyncData[e].error.value=Bf.errorValue,n._asyncData[e].pending.value=!1,n._asyncData[e].status.value="idle"),e in n._asyncDataPromises&&(n._asyncDataPromises[e]&&(n._asyncDataPromises[e].cancelled=!0),n._asyncDataPromises[e]=void 0)}function dY(n,e){const t={};for(const i of e)t[i]=n[i];return t}const hY="$s";function pY(...n){const e=typeof n[n.length-1]=="string"?n.pop():void 0;typeof n[0]!="string"&&n.unshift(e);const[t,i]=n;if(!t||typeof t!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+t);if(i!==void 0&&typeof i!="function")throw new Error("[nuxt] [useState] init must be a function: "+i);const r=hY+t,s=Tn(),o=Jb(s.payload.state,r);if(o.value===void 0&&i){const a=i();if(Vi(a))return s.payload.state[r]=a,a;o.value=a}return o}const $w=Object.freeze({ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1,excludeKeys:void 0,excludeValues:void 0,replacer:void 0});function mY(n,e){e?e={...$w,...e}:e=$w;const t=xI(e);return t.dispatch(n),t.toString()}const gY=Object.freeze(["prototype","__proto__","constructor"]);function xI(n){let e="",t=new Map;const i=r=>{e+=r};return{toString(){return e},getContext(){return t},dispatch(r){return n.replacer&&(r=n.replacer(r)),this[r===null?"null":typeof r](r)},object(r){if(r&&typeof r.toJSON=="function")return this.object(r.toJSON());const s=Object.prototype.toString.call(r);let o="";const a=s.length;a<10?o="unknown:["+s+"]":o=s.slice(8,a-1),o=o.toLowerCase();let l=null;if((l=t.get(r))===void 0)t.set(r,t.size);else return this.dispatch("[CIRCULAR:"+l+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(r))return i("buffer:"),i(r.toString("utf8"));if(o!=="object"&&o!=="function"&&o!=="asyncfunction")this[o]?this[o](r):n.ignoreUnknown||this.unkown(r,o);else{let c=Object.keys(r);n.unorderedObjects&&(c=c.sort());let u=[];n.respectType!==!1&&!Kw(r)&&(u=gY),n.excludeKeys&&(c=c.filter(h=>!n.excludeKeys(h)),u=u.filter(h=>!n.excludeKeys(h))),i("object:"+(c.length+u.length)+":");const f=h=>{this.dispatch(h),i(":"),n.excludeValues||this.dispatch(r[h]),i(",")};for(const h of c)f(h);for(const h of u)f(h)}},array(r,s){if(s=s===void 0?n.unorderedArrays!==!1:s,i("array:"+r.length+":"),!s||r.length<=1){for(const l of r)this.dispatch(l);return}const o=new Map,a=r.map(l=>{const c=xI(n);c.dispatch(l);for(const[u,f]of c.getContext())o.set(u,f);return c.toString()});return t=o,a.sort(),this.array(a,!1)},date(r){return i("date:"+r.toJSON())},symbol(r){return i("symbol:"+r.toString())},unkown(r,s){if(i(s),!!r&&(i(":"),r&&typeof r.entries=="function"))return this.array(Array.from(r.entries()),!0)},error(r){return i("error:"+r.toString())},boolean(r){return i("bool:"+r)},string(r){i("string:"+r.length+":"),i(r)},function(r){i("fn:"),Kw(r)?this.dispatch("[native]"):this.dispatch(r.toString()),n.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(r.name)),n.respectFunctionProperties&&this.object(r)},number(r){return i("number:"+r)},xml(r){return i("xml:"+r.toString())},null(){return i("Null")},undefined(){return i("Undefined")},regexp(r){return i("regex:"+r.toString())},uint8array(r){return i("uint8array:"),this.dispatch(Array.prototype.slice.call(r))},uint8clampedarray(r){return i("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(r))},int8array(r){return i("int8array:"),this.dispatch(Array.prototype.slice.call(r))},uint16array(r){return i("uint16array:"),this.dispatch(Array.prototype.slice.call(r))},int16array(r){return i("int16array:"),this.dispatch(Array.prototype.slice.call(r))},uint32array(r){return i("uint32array:"),this.dispatch(Array.prototype.slice.call(r))},int32array(r){return i("int32array:"),this.dispatch(Array.prototype.slice.call(r))},float32array(r){return i("float32array:"),this.dispatch(Array.prototype.slice.call(r))},float64array(r){return i("float64array:"),this.dispatch(Array.prototype.slice.call(r))},arraybuffer(r){return i("arraybuffer:"),this.dispatch(new Uint8Array(r))},url(r){return i("url:"+r.toString())},map(r){i("map:");const s=[...r];return this.array(s,n.unorderedSets!==!1)},set(r){i("set:");const s=[...r];return this.array(s,n.unorderedSets!==!1)},file(r){return i("file:"),this.dispatch([r.name,r.size,r.type,r.lastModfied])},blob(){if(n.ignoreUnknown)return i("[blob]");throw new Error(`Hashing Blob objects is currently not supported 74Use "options.replacer" or "options.ignoreUnknown" 75`)},domwindow(){return i("domwindow")},bigint(r){return i("bigint:"+r.toString())},process(){return i("process")},timer(){return i("timer")},pipe(){return i("pipe")},tcp(){return i("tcp")},udp(){return i("udp")},tty(){return i("tty")},statwatcher(){return i("statwatcher")},securecontext(){return i("securecontext")},connection(){return i("connection")},zlib(){return i("zlib")}
75,context(){return i("context")},nodescript(){return i("nodescript")},httpparser(){return i("httpparser")},dataview(){return i("dataview")},signal(){return i("signal")},fsevent(){return i("fsevent")},tlswrap(){return i("tlswrap")}}}const CI="[native code] }",AY=CI.length;function Kw(n){return typeof n!="function"?!1:Function.prototype.toString.call(n).slice(-AY)===CI}var vY=Object.defineProperty,yY=(n,e,t)=>e in n?vY(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Uf=(n,e,t)=>(yY(n,typeof e!="symbol"?e+"":e,t),t);class ql{constructor(e,t){Uf(this,"words"),Uf(this,"sigBytes"),e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}toString(e){return(e||_Y).stringify(this)}concat(e){if(this.clamp(),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){const i=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=i<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new ql([...this.words])}}const _Y={stringify(n){const e=[];for(let t=0;t<n.sigBytes;t++){const i=n.words[t>>>2]>>>24-t%4*8&255;e.push((i>>>4).toString(16),(i&15).toString(16))}return e.join("")}},bY={stringify(n){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=[];for(let i=0;i<n.sigBytes;i+=3){const r=n.words[i>>>2]>>>24-i%4*8&255,s=n.words[i+1>>>2]>>>24-(i+1)%4*8&255,o=n.words[i+2>>>2]>>>24-(i+2)%4*8&255,a=r<<16|s<<8|o;for(let l=0;l<4&&i*8+l*6<n.sigBytes*8;l++)t.push(e.charAt(a>>>6*(3-l)&63))}return t.join("")}},xY={parse(n){const e=n.length,t=[];for(let i=0;i<e;i++)t[i>>>2]|=(n.charCodeAt(i)&255)<<24-i%4*8;return new ql(t,e)}},CY={parse(n){return xY.parse(unescape(encodeURIComponent(n)))}};class wY{constructor(){Uf(this,"_data",new ql),Uf(this,"_nDataBytes",0),Uf(this,"_minBufferSize",0),Uf(this,"blockSize",512/32)}reset(){this._data=new ql,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=CY.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,t){}_process(e){let t,i=this._data.sigBytes/(this.blockSize*4);e?i=Math.ceil(i):i=Math.max((i|0)-this._minBufferSize,0);const r=i*this.blockSize,s=Math.min(r*4,this._data.sigBytes);if(r){for(let o=0;o<r;o+=this.blockSize)this._doProcessBlock(this._data.words,o);t=this._data.words.splice(0,r),this._data.sigBytes-=s}return new ql(t,s)}}class SY extends wY{update(e){return this._append(e),this._process(),this}finalize(e){e&&this._append(e)}}var EY=Object.defineProperty,TY=(n,e,t)=>e in n?EY(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,MY=(n,e,t)=>(TY(n,e+"",t),t);const Zw=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],IY=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],Nc=[];class PY extends SY{constructor(){super(...arguments),MY(this,"_hash",new ql([...Zw]))}reset(){super.reset(),this._hash=new ql([...Zw])}_doProcessBlock(e,t){const i=this._hash.words;let r=i[0],s=i[1],o=i[2],a=i[3],l=i[4],c=i[5],u=i[6],f=i[7];for(let h=0;h<64;h++){if(h<16)Nc[h]=e[t+h]|0;else{const b=Nc[h-15],_=(b<<25|b>>>7)^(b<<14|b>>>18)^b>>>3,T=Nc[h-2],M=(T<<15|T>>>17)^(T<<13|T>>>19)^T>>>10;Nc[h]=_+Nc[h-7]+M+Nc[h-16]}const p=l&c^~l&u,m=r&s^r&o^s&o,v=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),A=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),y=f+A+p+IY[h]+Nc[h],x=v+m;f=u,u=c,c=l,l=a+y|0,a=o,o=s,s=r,r=y+x|0}i[0]=i[0]+r|0,i[1]=i[1]+s|0,i[2]=i[2]+o|0,i[3]=i[3]+a|0,i[4]=i[4]+l|0,i[5]=i[5]+c|0,i[6]=i[6]+u|
750,i[7]=i[7]+f|0}finalize(e){super.finalize(e);const t=this._nDataBytes*8,i=this._data.sigBytes*8;return this._data.words[i>>>5]|=128<<24-i%32,this._data.words[(i+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(i+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function RY(n){return new PY().finalize(n).toString(bY)}function BY(n,e={}){const t=typeof n=="string"?n:mY(n,e);return RY(t).slice(0,10)}async function wI(n,e=As()){const{path:t,matched:i}=e.resolve(n);if(!i.length||(e._routePreloaded||(e._routePreloaded=new Set),e._routePreloaded.has(t)))return;const r=e._preloadPromises=e._preloadPromises||[];if(r.length>4)return Promise.all(r).then(()=>wI(n,e));e._routePreloaded.add(t);const s=i.map(o=>{var a;return(a=o.components)==null?void 0:a.default}).filter(o=>typeof o=="function");for(const o of s){const a=Promise.resolve(o()).catch(()=>{}).finally(()=>r.splice(r.indexOf(a)));r.push(a)}await Promise.all(r)}function DY(n={}){const e=n.path||window.location.pathname;let t={};try{t=pg(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(n.force||(t==null?void 0:t.path)!==e||(t==null?void 0:t.expires)<Date.now()){try{sessionStorage.setItem("nuxt:reload",JSON.stringify({path:e,expires:Date.now()+(n.ttl??1e4)}))}catch{}if(n.persistState)try{sessionStorage.setItem("nuxt:reload:state",JSON.stringify({state:Tn().payload.state}))}catch{}window.location.pathname!==e?window.location.href=e:window.location.reload()}}const LY=(...n)=>n.find(e=>e!==void 0);function OY(n){const e=n.componentName||"NuxtLink";function t(s){return typeof s=="string"&&s.startsWith("#")}function i(s,o){if(!s||n.trailingSlash!=="append"&&n.trailingSlash!=="remove")return s;if(typeof s=="string")return Jw(s,n.trailingSlash);const a="path"in s&&s.path!==void 0?s.path:o(s).path;return{...s,name:void 0,path:Jw(a,n.trailingSlash)}}function r(s){const o=As(),a=Bu(),l=ii(()=>!!s.target&&s.target!=="_self"),c=ii(()=>{const A=s.to||s.href||"";return typeof A=="string"&&ta(A,{acceptRelative:!0})}),u=z5("RouterLink"),f=typeof u!="string"?u.useLink:void 0,h=ii(()=>{if(s.external)return!0;const A=s.to||s.href||"";return typeof A=="object"?!1:A===""||c.value}),p=ii(()=>{const A=s.to||s.href||"";return h.value?A:i(A,o.resolve)}),m=h.value||f==null?void 0:f({...s,to:p}),v=ii(()=>{var A;if(!p.value||c.value||t(p.value))return p.value;if(h.value){const y=typeof p.value=="object"&&"path"in p.value?c_(p.value):p.value,x=typeof y=="object"?o.resolve(y).href:y;return i(x,o.resolve)}return typeof p.value=="object"?((A=o.resolve(p.value))==null?void 0:A.href)??null:i(dA(a.app.baseURL,p.value),o.resolve)});return{to:p,hasTarget:l,isAbsoluteUrl:c,isExternal:h,href:v,isActive:(m==null?void 0:m.isActive)??ii(()=>p.value===o.currentRoute.value.path),isExactActive:(m==null?void 0:m.isExactActive)??ii(()=>p.value===o.currentRoute.value.path),route:(m==null?void 0:m.route)??ii(()=>o.resolve(p.value)),async navigate(){await nQ(v.value,{replace:s.replace,external:h.value||l.value})}}}return vs({name:e,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:r,setup(s,{slots:o}){const a=As(),{to:l,href:c,navigate:u,isExternal:f,hasTarget:h,isAbsoluteUrl:p}=r(s),m=gt(!1),v=gt(null),A=b=>{var _;v.value=s.custom?(_=b==null?void 0:b.$el)==null?void 0:_.nextElementSibling:b==null?void 0:b.$el};function y(b){var _,T;return!m.value&&(typeof s.prefetchOn=="string"?s.prefetchOn===b:((_=s.prefetchOn)==null?void 0:_[b])??((T=n.prefetchOn)==null?void 0:T[b]))&&(s.prefetch??n.prefetch)!==!1&&s.noPrefetch!==!0&&s.target!=="_blank"&&!NY()}async function x(b=Tn()){if(m.value)return;m.value=!0;const _=typeof l.value=="string"?l.value:f.value?c_(l.value):a.resolve(l.value).fullPath,T=f.value?new URL(_,window.location.href).href:_;await Promise.all([b.hooks.callHook("link:prefetch",T).catch(()=>{}),!f.value&&!h.value&&wI(l.value,a).catch(()=>{})])}if(y("visibility")){const b=Tn();let _,T=null;zs(()=>{const M=FY();SA(()=>
75{_=Y_(()=>{var I;(I=v==null?void 0:v.value)!=null&&I.tagName&&(T=M.observe(v.value,async()=>{T==null||T(),T=null,await x(b)}))})})}),wp(()=>{_&&lY(_),T==null||T(),T=null})}return()=>{var T;if(!f.value&&!h.value&&!t(l.value)){const M={ref:A,to:l.value,activeClass:s.activeClass||n.activeClass,exactActiveClass:s.exactActiveClass||n.exactActiveClass,replace:s.replace,ariaCurrentValue:s.ariaCurrentValue,custom:s.custom};return s.custom||(y("interaction")&&(M.onPointerenter=x.bind(null,void 0),M.onFocus=x.bind(null,void 0)),m.value&&(M.class=s.prefetchedClass||n.prefetchedClass),M.rel=s.rel||void 0),Mr(z5("RouterLink"),M,o.default)}const b=s.target||null,_=LY(s.noRel?"":s.rel,n.externalRelAttribute,p.value||h.value?"noopener noreferrer":"")||null;return s.custom?o.default?o.default({href:c.value,navigate:u,prefetch:x,get route(){if(!c.value)return;const M=new URL(c.value,window.location.href);return{path:M.pathname,fullPath:M.pathname,get query(){return Y7(M.search)},hash:M.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:c.value}},rel:_,target:b,isExternal:f.value||h.value,isActive:!1,isExactActive:!1}):null:Mr("a",{ref:v,href:c.value||null,rel:_,target:b},(T=o.default)==null?void 0:T.call(o))}}})}const SI=OY(NG);function Jw(n,e){const t=e==="append"?gg:fA;return ta(n)&&!n.startsWith("http")?n:t(n,!0)}function FY(){const n=Tn();if(n._observer)return n._observer;let e=null;const t=new Map,i=(s,o)=>(e||(e=new IntersectionObserver(a=>{for(const l of a){const c=t.get(l.target);(l.isIntersecting||l.intersectionRatio>0)&&c&&c()}})),t.set(s,o),e.observe(s),()=>{t.delete(s),e==null||e.unobserve(s),t.size===0&&(e==null||e.disconnect(),e=null)});return n._observer={observe:i}}const UY=/2g/;function NY(){const n=navigator.connection;return!!(n&&(n.saveData||UY.test(n.effectiveType)))}function kY(n){typeof n.indexable<"u"&&(n.indexable=String(n.indexable)!=="false"),typeof n.trailingSlash<"u"&&!n.trailingSlash&&(n.trailingSlash=String(n.trailingSlash)!=="false"),n.url&&!ta(String(n.url),{acceptRelative:!0,strict:!1})&&(n.url=rG(String(n.url)));const e=Object.keys(n).sort((i,r)=>i.localeCompare(r)),t={};for(const i of e)t[i]=n[i];return t}function zY(n){const t=[];function i(s){if(!s||typeof s!="object"||Object.keys(s).length===0)return()=>{};s._context;const o={};for(const l in s){const c=s[l];typeof c<"u"&&c!==""&&(o[l]=c)}let a;return Object.keys(o).filter(l=>!l.startsWith("_")).length>0&&(a=t.push(o)),()=>{typeof a<"u"&&t.splice(a-1,1)}}function r(s){var a;const o={};s!=null&&s.debug&&(o._context={}),o._priority={};for(const l in t.sort((c,u)=>(c._priority||0)-(u._priority||0)))for(const c in t[l]){const u=c,f=s!=null&&s.resolveRefs?Co(t[l][c]):t[l][c];!c.startsWith("_")&&typeof f<"u"&&(o[c]=f,typeof t[l]._priority<"u"&&t[l]._priority!==-1&&(o._priority[u]=t[l]._priority),s!=null&&s.debug&&(o._context[u]=((a=t[l]._context)==null?void 0:a[u])||t[l]._context||"anonymous"))}return s!=null&&s.skipNormalize?o:kY(o)}return{stack:t,push:i,get:r}}const HY=oo({name:"nuxt-site-config:init",enforce:"pre",async setup(n){var i;const e=zY(),t=pY("site-config");{const r=t.value||window.__NUXT_SITE_CONFIG__||{};for(const s in r)s[0]!=="_"&&e.push({[s]:r[s],_priority:((i=r._priority)==null?void 0:i[s])||-1})}return{provide:{nuxtSiteConfig:e}}}}),VY=oo({name:"nuxt:payload",setup(n){As().beforeResolve(async(e,t)=>{if(e.path===t.path)return;const i=await RC(e.path);i&&Object.assign(n.static.data,i.data)}),SA(()=>{var e;n.hooks.hook("link:prefetch",async t=>{const{hostname:i}=new URL(t,window.location.href);i===window.location.hostname&&await RC(t)}),((e=navigator.connection)==null?void 0:e.effectiveType)!=="slow-2g"&&setTimeout(AA,1e3)})}}),GY=oo(()=>{const n=As();SA(()=>{n.beforeResolve(async()=>{await new Promise(e=>{setTimeout(e,100),requestAnimationFrame(()=>{setTimeout(e,0)})})})})}),QY=oo(n=>{let e;async function t(){const i=await AA();e&&clearTimeout(e),e=setTimeout(t,_C);try{const r=await $fetch(cx("builds/latest.json")+`?${Date.now()}`);r.id!==i.id&&n.hooks.callHook("app:manifest:update",r)}catch{}}SA(()=>{e=setTimeout(t,_C)})}),WY=oo({name:"nuxt:chunk-reload",setup(n){const e=As(),t=Bu(),i=new Set;e.beforeEach(()=>{i.clear()}),n.hook("app:chunkError",({error:s})=>{i.add(s)});function r(s){const a="href"in s&&s.href[0]==="#"?t.app.baseURL+s.href:dA(t.app.baseURL,s.fullPath);DY({path:a,persistState:!0})}n.hook("app:manifest:update",()=>{e.beforeResolve(r)}),e.onError((s,o)=>{i.has(s)&&r(o)})}}),jY=oo({name:"nuxt:global-components"}),Qm={},qY=oo({name:"nuxt:prefetch",setup(n){const e=As();n.hooks.hook("app:mounted",()=>{e.beforeEach(async t=>{var r;const i=(r=t==null?void 0:t.meta)==null?void 0:r.layout;i&&typeof Qm[i]=="function"&&await Qm[i]()})}),n.hooks.hook("link:prefetch",t=>{if(ta(t))return;const i=e.resolve(t);if(!i)return;const r=i.meta.layout;let s=mx(i.meta.middleware);s=s.filter(o=>
vendor: 7,267 bytes, lines 75-79
75typeof o=="string");for(const o of s)typeof b0[o]=="function"&&b0[o]();r&&typeof Qm[r]=="function"&&Qm[r]()})}});/** 76 * @license 77 * Copyright 2010-2025 Three.js Authors 78 * SPDX-License-Identifier: MIT 79 */const Qx="173",ed={ROTATE:0,DOLLY:1,PAN:2},Nf={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},XY=0,eS=1,YY=2,EI=1,$Y=2,zo=3,Io=0,Rr=1,Zs=2,wo=0,bu=1,Y0=2,$_=3,K_=4,TI=5,eu=100,KY=101,ZY=102,JY=103,e$=104,t$=200,n$=201,i$=202,r$=203,Z_=204,J_=205,s$=206,o$=207,a$=208,l$=209,c$=210,u$=211,f$=212,d$=213,h$=214,eb=0,tb=1,nb=2,Cd=3,ib=4,rb=5,sb=6,ob=7,MI=0,p$=1,m$=2,Xl=0,II=1,PI=2,RI=3,BI=4,DI=5,LI=6,OI=7,tS="attached",g$="detached",Wx=300,tc=301,wd=302,Ya=303,ab=304,EA=306,ts=1e3,ti=1001,Sd=1002,Br=1003,FI=1004,qh=1005,Yt=1006,$1=1007,Fs=1008,jx=1008,Ki=1009,UI=1010,NI=1011,$0=1012,qx=1013,Pu=1014,Zt=1015,nn=1016,Xx=1017,Yx=1018,Ed=1020,kI=35902,zI=1021,HI=1022,pi=1023,VI=1024,GI=1025,td=1026,Td=1027,kl=1028,$x=1029,ou=1030,Kx=1031,Zx=1033,K1=33776,x0=33777,Z1=33778,C0=33779,Og=35840,lb=35841,Fg=35842,cb=35843,Ug=36196,Ng=37492,kg=37496,K0=37808,ub=37809,fb=37810,db=37811,Z0=37812,hb=37813,pb=37814,mb=37815,gb=37816,Ab=37817,vb=37818,yb=37819,_b=37820,bb=37821,w0=36492,xb=36494,zg=36495,QI=36283,Cb=36284,wb=36285,Sb=36286,J0=2300,ep=2301,r3=2302,nS=2400,iS=2401,rS=2402,A$=2500,v$=0,WI=1,Eb=2,y$=3200,Jx=3201,jI=0,_$=1,qo="",En="srgb",mi="srgb-linear",Hg="linear",yn="srgb",nf=7680,sS=519,b$=512,x$=513,C$=514,qI=515,w$=516,S$=517,E$=518,T$=519,Tb=35044,oS="300 es",Ko=2e3,Vg=2001;class ac{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){const i=this._listeners;return i===void 0?!1:i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){const i=this._listeners;if(i===void 0)return;const r=i[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const i=t[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let s=0,o=r.length;s<o;s++)r[s].call(this,e);e.target=null}}}const vr=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let aS=1234567;const S0=Math.PI/180,Md=180/Math.PI;function So(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(vr[n&255]+vr[n>>8&255]+vr[n>>16&255]+vr[n>>24&255]+"-"+vr[e&255]+vr[e>>8&255]+"-"+vr[e>>16&15|64]+vr[e>>24&255]+"-"+vr[t&63|128]+vr[t>>8&255]+"-"+vr[t>>16&255]+vr[t>>24&255]+vr[i&255]+vr[i>>8&255]+vr[i>>16&255]+vr[i>>24&255]).toLowerCase()}function Ot(n,e,t){return Math.max(e,Math.min(t,n))}function e4(n,e){return(n%e+e)%e}function M$(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function I$(n,e,t){return n!==e?(t-n)/(e-n):0}function E0(n,e,t){return(1-t)*n+t*e}function P$(n,e,t,i){return E0(n,e,1-Math.exp(-t*i))}function R$(n,e=1){return e-Math.abs(e4(n,e*2)-e)}function B$(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function D$(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function L$(n,e){return n+Math.floor(Math.random()*(e-n+1))}function O$(n,e){return n+Math.random()*(e-n)}function F$(n){return n*(.5-Math.random())}function U$(n){n!==void 0&&(aS=n);let e=aS+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function N$(n){return n*S0}function k$(n){return n*Md}function z$(n){return(n&n-1)===0&&n!==0}function H$(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function V$(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function G$(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),c=s((e+i)/2),u=o((e+i)/2),f=s((e-i)/2),h=o((e-i)/2),p=s((i-e)/2),m=o((i-e)/2);switch(r){case"XYX":n.set(a*u,l*f,l*h,a*c);break;case"YZY":n.set(l*h,a*u,l*f,a*c);break;case"ZXZ":n.set(l*f,l*h,a*u,a*c);break;case"XZX":n.set(a*u,l*m,l*p,a*c);break;case"YXY":n.set(l*p,a*u,l*m,a*c);break;case"ZYZ":n.set(l*m,l*p,a*u,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function _o(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function _n(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const gn={DEG2RAD:S0,RAD2DEG:Md,generateUUID:So,clamp:Ot,euclideanModulo:e4,mapLinear:M$,inverseLerp:I$,lerp:E0,damp:P$,pingpong:R$,smoothstep:B$,smootherstep:D$,randInt:L$,randFloat:O$,randFloatSpread:F$,seededRandom:U$,degToRad:N$,radToDeg:k$,isPowerOfTwo:z$,ceilPowerOfTwo:H$,floorPowerOfTwo:V$,setQuaternionFromProperEuler:G$,normalize:_n,denormalize:_o};class Re{constructor(e=0,t=0){Re.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}
vendor: 7,575 bytes, line 79
79sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Ot(this.x,e.x,t.x),this.y=Ot(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Ot(this.x,e,t),this.y=Ot(this.y,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Ot(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Ot(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Lt{constructor(e,t,i,r,s,o,a,l,c){Lt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c)}set(e,t,i,r,s,o,a,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]=a,u[3]=t,u[4]=s,u[5]=l,u[6]=i,u[7]=o,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],c=i[1],u=i[4],f=i[7],h=i[2],p=i[5],m=i[8],v=r[0],A=r[3],y=r[6],x=r[1],b=r[4],_=r[7],T=r[2],M=r[5],I=r[8];return s[0]=o*v+a*x+l*T,s[3]=o*A+a*b+l*M,s[6]=o*y+a*_+l*I,s[1]=c*v+u*x+f*T,s[4]=c*A+u*b+f*M,s[7]=c*y+u*_+f*I,s[2]=h*v+p*x+m*T,s[5]=h*A+p*b+m*M,s[8]=h*y+p*_+m*I,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t*o*u-t*a*c-i*s*u+i*a*l+r*s*c-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],f=u*o-a*c,h=a*l-u*s,p=c*s-o*l,m=t*f+i*h+r*p;if(m===0)return this.set(0,0,0,0,0,0,0,0,0);const v=1/m;return e[0]=f*v,e[1]=(r*c-u*i)*v,e[2]=(a*i-r*o)*v,e[3]=h*v,e[4]=(u*t-r*l)*v,e[5]=(r*s-a*t)*v,e[6]=p*v,e[7]=(i*l-c*t)*v,e[8]=(o*t-i*s)*v,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(i*l,i*c,-i*(l*o+c*a)+o+e,-r*c,r*l,-r*(-c*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(s3.makeScale(e,t)),this}rotate(e){return this.premultiply(s3.makeRotation(-e)),this}translate(e,t){return this.premultiply(s3.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const s3=new Lt;function XI(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}function tp(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function Q$(){const n=tp("canvas");return n.style.display="block",n}const lS={};function Mf(n){n in lS||(lS[n]=!0,console.warn(n))}function W$(n,e,t){return new Promise(function(i,r){function s(){switch(n.clientWaitSync(e,n.SYNC_FLUSH_COMMANDS_BIT,0)){case n.WAIT_FAILED:r();break;case n.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:i()}}setTimeout(s,t)})}function j$(n){const e=n.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function q$(n){const e=n.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const cS=new Lt().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),uS=new Lt().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function X$(){const n={enabled:!0,workingColorSpace:mi,spaces:{},convert:function(r,s,o){return this.enabled===!1||s===o||!s||!o||(this.spaces[s].transfer===yn&&(r.r=Qa(r.r),r.g=Qa(r.g),r.b=Qa(r.b)),this.spaces[s].primaries!==this.spaces[o].primaries&&(r.applyMatrix3(this.spaces[s].toXYZ),r.applyMatrix3(this.spaces[o].fromXYZ)),this.spaces[o].transfer===yn&&(r.r=nd(r.r),r.g=nd(r.g),r.b=nd(r.b))),r},fromWorkingColorSpace:function(r,s){return this.convert(r,this.workingColorSpace,s)},toWorkingColorSpace:function(r,s){return this.convert(r,s,this.workingColorSpace)},getPrimaries:function(r){return this.spaces[r].primaries},getTransfer:function(r){return r===qo?Hg:this.spaces[r].transfer},getLuminanceCoefficients:function(r,s=this.workingColorSpace){return r.fromArray(this.spaces[s].luminanceCoefficients)},define:function(r){Object.assign(this.spaces,r)},_getMatrix:function(r,s,o){return r.copy(this.spaces[s].toXYZ).multiply(this.spaces[o].fromXYZ)},_getDrawingBufferColorSpace:function(r){return this.space
vendor: 4,544 bytes, line 79
79s[r].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(r=this.workingColorSpace){return this.spaces[r].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],i=[.3127,.329];return n.define({[mi]:{primaries:e,whitePoint:i,transfer:Hg,toXYZ:cS,fromXYZ:uS,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:En},outputColorSpaceConfig:{drawingBufferColorSpace:En}},[En]:{primaries:e,whitePoint:i,transfer:yn,toXYZ:cS,fromXYZ:uS,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:En}}}),n}const Xt=X$();function Qa(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function nd(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let rf;class Y${static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{rf===void 0&&(rf=tp("canvas")),rf.width=e.width,rf.height=e.height;const i=rf.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=rf}return t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=tp("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let o=0;o<s.length;o++)s[o]=Qa(s[o]/255)*255;return i.putImageData(r,0,0),t}else if(e.data){const t=e.data.slice(0);for(let i=0;i<t.length;i++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[i]=Math.floor(Qa(t[i]/255)*255):t[i]=Qa(t[i]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let $$=0;class YI{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:$$++}),this.uuid=So(),this.data=e,this.dataReady=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const i={uuid:this.uuid,url:""},r=this.data;if(r!==null){let s;if(Array.isArray(r)){s=[];for(let o=0,a=r.length;o<a;o++)r[o].isDataTexture?s.push(o3(r[o].image)):s.push(o3(r[o]))}else s=o3(r);i.url=s}return t||(e.images[this.uuid]=i),i}}function o3(n){return typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&n instanceof ImageBitmap?Y$.getDataURL(n):n.data?{data:Array.from(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let K$=0;class xn extends ac{constructor(e=xn.DEFAULT_IMAGE,t=xn.DEFAULT_MAPPING,i=ti,r=ti,s=Yt,o=Fs,a=pi,l=Ki,c=xn.DEFAULT_ANISOTROPY,u=qo){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:K$++}),this.uuid=So(),this.name="",this.source=new YI(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=i,this.wrapT=r,this.magFilter=s,this.minFilter=o,this.anisotropy=c,this.format=a,this.internalFormat=null,this.type=l,this.offset=new Re(0,0),this.repeat=new Re(1,1),this.center=new Re(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Lt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=u,this.userData={},this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.pmremVersion=0}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace
vendor: 5,622 bytes, line 79
79=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const i={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Wx)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ts:e.x=e.x-Math.floor(e.x);break;case ti:e.x=e.x<0?0:1;break;case Sd:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ts:e.y=e.y-Math.floor(e.y);break;case ti:e.y=e.y<0?0:1;break;case Sd:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}xn.DEFAULT_IMAGE=null;xn.DEFAULT_MAPPING=Wx;xn.DEFAULT_ANISOTROPY=1;class Vt{constructor(e=0,t=0,i=0,r=1){Vt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*s,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*s,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*s,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const l=e.elements,c=l[0],u=l[4],f=l[8],h=l[1],p=l[5],m=l[9],v=l[2],A=l[6],y=l[10];if(Math.abs(u-h)<.01&&Math.abs(f-v)<.01&&Math.abs(m-A)<.01){if(Math.abs(u+h)<.1&&Math.abs(f+v)<.1&&Math.abs(m+A)<.1&&Math.abs(c+p+y-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const b=(c+1)/2,_=(p+1)/2,T=(y+1)/2,M=(u+h)/4,I=(f+v)/4,R=(m+A)/4;return b>_&&b>T?b<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(b),r=M/i,s=I/i):_>T?_<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(_),i=M/r,s=R/r):T<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(T),i=I/s,r=R/s),this.set(i,r,s,t),this}let x=Math.sqrt((A-m)*(A-m)+(f-v)*(f-v)+(h-u)*(h-u));return Math.abs(x)<.001&&(x=1),this.x=(A-m)/x,this.y=(f-v)/x,this.z=(h-u)/x,this.w=Math.acos((c+p+y-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Ot(this.x,e.x,t.x),this.y=Ot(this.y,e.y,t.y),this.z=Ot(this.z,e.z,t.z),this.w=Ot(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Ot(this.x,e,t),this.y=Ot(this.y,e,t),this.z=Ot(this.z,e,t),this.w=Ot(this.w,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Ot(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}
vendor: 5,152 bytes, line 79
79round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Z$ extends ac{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Vt(0,0,e,t),this.scissorTest=!1,this.viewport=new Vt(0,0,e,t);const r={width:e,height:t,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Yt,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},i);const s=new xn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace);s.flipY=!1,s.generateMipmaps=i.generateMipmaps,s.internalFormat=i.internalFormat,this.textures=[];const o=i.count;for(let a=0;a<o;a++)this.textures[a]=s.clone(),this.textures[a].isRenderTargetTexture=!0,this.textures[a].renderTarget=this;this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.resolveDepthBuffer=i.resolveDepthBuffer,this.resolveStencilBuffer=i.resolveStencilBuffer,this._depthTexture=null,this.depthTexture=i.depthTexture,this.samples=i.samples}get texture(){return this.textures[0]}set texture(e){this.textures[0]=e}set depthTexture(e){this._depthTexture!==null&&(this._depthTexture.renderTarget=null),e!==null&&(e.renderTarget=this),this._depthTexture=e}get depthTexture(){return this._depthTexture}setSize(e,t,i=1){if(this.width!==e||this.height!==t||this.depth!==i){this.width=e,this.height=t,this.depth=i;for(let r=0,s=this.textures.length;r<s;r++)this.textures[r].image.width=e,this.textures[r].image.height=t,this.textures[r].image.depth=i;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let i=0,r=e.textures.length;i<r;i++)this.textures[i]=e.textures[i].clone(),this.textures[i].isRenderTargetTexture=!0,this.textures[i].renderTarget=this;const t=Object.assign({},e.texture.image);return this.texture.source=new YI(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.resolveDepthBuffer=e.resolveDepthBuffer,this.resolveStencilBuffer=e.resolveStencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class li extends Z${constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class $I extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Br,this.minFilter=Br,this.wrapR=ti,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class KI extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Br,this.minFilter=Br,this.wrapR=ti,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Xn{constructor(e=0,t=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=i,this._w=r}static slerpFlat(e,t,i,r,s,o,a){let l=i[r+0],c=i[r+1],u=i[r+2],f=i[r+3];const h=s[o+0],p=s[o+1],m=s[o+2],v=s[o+3];if(a===0){e[t+0]=l,e[t+1]=c,e[t+2]=u,e[t+3]=f;return}if(a===1){e[t+0]=h,e[t+1]=p,e[t+2]=m,e[t+3]=v;return}if(f!==v||l!==h||c!==p||u!==m){let A=1-a;const y=l*h+c*p+u*m+f*v,x=y>=0?1:-1,b=1-y*y;if(b>Number.EPSILON){const T=Math.sqrt(b),M=Math.atan2(T,y*x);A=Math.sin(A*M)/T,a=Math.sin(a*M)/T}const _=a*x;if(l=l*A+h*_,c=c*A+p*_,u=u*A+m*_,f=f*A+v*_,A===1-a){const T=1/Math.sqrt(l*l+c*c+u*u+f*f);
vendor: 4,532 bytes, line 79
79l*=T,c*=T,u*=T,f*=T}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],c=i[r+2],u=i[r+3],f=s[o],h=s[o+1],p=s[o+2],m=s[o+3];return e[t]=a*m+u*f+l*p-c*h,e[t+1]=l*m+u*h+c*f-a*p,e[t+2]=c*m+u*p+a*h-l*f,e[t+3]=u*m-a*f-l*h-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(i/2),u=a(r/2),f=a(s/2),h=l(i/2),p=l(r/2),m=l(s/2);switch(o){case"XYZ":this._x=h*u*f+c*p*m,this._y=c*p*f-h*u*m,this._z=c*u*m+h*p*f,this._w=c*u*f-h*p*m;break;case"YXZ":this._x=h*u*f+c*p*m,this._y=c*p*f-h*u*m,this._z=c*u*m-h*p*f,this._w=c*u*f+h*p*m;break;case"ZXY":this._x=h*u*f-c*p*m,this._y=c*p*f+h*u*m,this._z=c*u*m+h*p*f,this._w=c*u*f-h*p*m;break;case"ZYX":this._x=h*u*f-c*p*m,this._y=c*p*f+h*u*m,this._z=c*u*m-h*p*f,this._w=c*u*f+h*p*m;break;case"YZX":this._x=h*u*f+c*p*m,this._y=c*p*f+h*u*m,this._z=c*u*m-h*p*f,this._w=c*u*f-h*p*m;break;case"XZY":this._x=h*u*f-c*p*m,this._y=c*p*f-h*u*m,this._z=c*u*m+h*p*f,this._w=c*u*f+h*p*m;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],c=t[2],u=t[6],f=t[10],h=i+a+f;if(h>0){const p=.5/Math.sqrt(h+1);this._w=.25/p,this._x=(u-l)*p,this._y=(s-c)*p,this._z=(o-r)*p}else if(i>a&&i>f){const p=2*Math.sqrt(1+i-a-f);this._w=(u-l)/p,this._x=.25*p,this._y=(r+o)/p,this._z=(s+c)/p}else if(a>f){const p=2*Math.sqrt(1+a-i-f);this._w=(s-c)/p,this._x=(r+o)/p,this._y=.25*p,this._z=(l+u)/p}else{const p=2*Math.sqrt(1+f-i-a);this._w=(o-r)/p,this._x=(s+c)/p,this._y=(l+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return i<Number.EPSILON?(i=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ot(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,c=t._z,u=t._w;return this._x=i*u+o*a+r*c-s*l,this._y=r*u+o*l+s*a-i*c,this._z=s*u+o*c+i*l-r*a,this._w=o*u-i*a-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const p=1-t;return this._w=p*o+t*this._w,this._x=p*i+t*this._x,this._y=p*r+t*this._y,this._z=p*s+t*this._z,this.normalize(),this}const c=Math.sqrt(l),u=Math.atan2(c,a),f=Math.sin((1-t)*u)/c,h=Math.sin(t*u)/c;return this._w=o*f+this._w*h,this._x=i*f+this._x*h,this._y=r*f+this._y*h,this._z=s*f+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),i=Math.random(),r
vendor: 9,794 bytes, line 79
79=Math.sqrt(1-i),s=Math.sqrt(i);return this.set(r*Math.sin(e),r*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class K{constructor(e=0,t=0,i=0){K.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(fS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(fS.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*r-a*i),u=2*(a*t-s*r),f=2*(s*i-o*t);return this.x=t+l*c+o*f-a*u,this.y=i+l*u+a*c-s*f,this.z=r+l*f+s*u-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Ot(this.x,e.x,t.x),this.y=Ot(this.y,e.y,t.y),this.z=Ot(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Ot(this.x,e,t),this.y=Ot(this.y,e,t),this.z=Ot(this.z,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Ot(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,o=t.x,a=t.y,l=t.z;return this.x=r*l-s*a,this.y=s*o-i*l,this.z=i*a-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return a3.copy(this).projectOnVector(e),this.sub(a3)}reflect(e){return this.sub(a3.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Ot(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,i=Math.sqrt(1-t*t);return this.x=i*Math.cos(e),this.y=t,this.z=i*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const a3=new K,fS=new Xn;class Hs{constructor(e=new K(1/0,1/0,1/0),t=new K(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t+=3)this.expandByPoint(ho.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,i=e.count;t<i;t++)this.expandByPoint(ho.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=ho.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const i=e.geometry;if(i!==void 0){const s=i.getAttribute("position");if(t===!0&&s!==void 0&&e.isInstancedMesh!==!0)for(let o=0,a=s.count;o<a;o++)e.isMesh===!0?e.getVertexPosition(o,ho):ho.fromBufferAttribute(s,o),ho.applyMatrix4(e.matrixWorld),this.expandByPoint(ho);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),Wm.copy(e.boundingBox)):(i.boundingBox===null&&i.computeBoundingBox(),Wm.copy(i.boundingBox)),Wm.applyMatrix4(e.matrixWorld),this.union(Wm)}const r=e.children;for(let s=0,o=r.length;s<o;s++)this.expandByObject(r[s],t);return this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,ho),ho.distanceToSquared(e.center)<=e.radius*e.radiu
vendor: 19,829 bytes, line 79
79s}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(xh),jm.subVectors(this.max,xh),sf.subVectors(e.a,xh),of.subVectors(e.b,xh),af.subVectors(e.c,xh),cl.subVectors(of,sf),ul.subVectors(af,of),kc.subVectors(sf,af);let t=[0,-cl.z,cl.y,0,-ul.z,ul.y,0,-kc.z,kc.y,cl.z,0,-cl.x,ul.z,0,-ul.x,kc.z,0,-kc.x,-cl.y,cl.x,0,-ul.y,ul.x,0,-kc.y,kc.x,0];return!l3(t,sf,of,af,jm)||(t=[1,0,0,0,1,0,0,0,1],!l3(t,sf,of,af,jm))?!1:(qm.crossVectors(cl,ul),t=[qm.x,qm.y,qm.z],l3(t,sf,of,af,jm))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ho).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(ho).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Aa[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Aa[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Aa[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Aa[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Aa[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Aa[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Aa[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Aa[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Aa),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Aa=[new K,new K,new K,new K,new K,new K,new K,new K],ho=new K,Wm=new Hs,sf=new K,of=new K,af=new K,cl=new K,ul=new K,kc=new K,xh=new K,jm=new K,qm=new K,zc=new K;function l3(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){zc.fromArray(n,s);const a=r.x*Math.abs(zc.x)+r.y*Math.abs(zc.y)+r.z*Math.abs(zc.z),l=e.dot(zc),c=t.dot(zc),u=i.dot(zc);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>a)return!1}return!0}const J$=new Hs,Ch=new K,c3=new K;class ao{constructor(e=new K,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):J$.setFromPoints(e).getCenter(i);let r=0;for(let s=0,o=e.length;s<o;s++)r=Math.max(r,i.distanceToSquared(e[s]));return this.radius=Math.sqrt(r),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const i=this.center.distanceToSquared(e);return t.copy(e),i>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Ch.subVectors(e,this.center);const t=Ch.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Ch,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(c3.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ch.copy(e.center).add(c3)),this.expandByPoint(Ch.copy(e.center).sub(c3))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const va=new K,u3=new K,Xm=new K,fl=new K,f3=new K,Ym=new K,d3=new K;class kd{constructor(e=new K,t=new K(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,va)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=va.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(va.copy(this.origin).addScaledVector(this.direction,t),va.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){u3.copy(e).add(t).multiplyScalar(.5),Xm.copy(t).sub(e).normalize(),fl.copy(this.origin).sub(u3);const s=e.distanceTo(t)*.5,o=-this.direction.dot(Xm),a=fl.dot(this.direction),l=-fl.dot(Xm),c=fl.lengthSq(),u=Math.abs(1-o*o);let f,h,p,m;if(u>0)if(f=o*l-a,h=o*a-l,m=s*u,f>=0)if(h>=-m)if(h<=m){const v=1/u;f*=v,h*=v,p=f*(f+o*h+2*a)+h*(o*f+h+2*l)+c}else h=s,f=Math.max(0,-(o*h+a)),p=-f*f+h*(h+2*l)+c;else h=-s,f=Math.max(0,-(o*h+a)),p=-f*f+h*(h+2*l)+c;else h<=-m?(f=Math.max(0,-(-o*s+a)),h=f>0?-s:Math.min(Math.max(-s,-l),s),p=-f*f+h*(h+2*l)+c):h<=m?(f=0,h=Math.min(Math.max(-s,-l),s),p=h*(h+2*l)+c):(f=Math.max(0,-(o*s+a)),h=f>0?s:Math.min(Math.max(-s,-l),s),p=-f*f+h*(h+2*l)+c);else h=o>0?-s:s,f=Math.max(0,-(o*h+a)),p=-f*f+h*(h+2*l)+c;return i&&i.copy(this.origin).addScaledVector(this.direction,f),r&&r.copy(u3).addScaledVector(Xm,h),p}intersectSphere(e,t){va.subVectors(e.center,this.origin);const i=va.dot(this.direction),r=va.dot(va)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const c=1/this.direction.x,u=1/this.direction.y,f=1/this.direction.z,h=this.origin;return c>=0?(i=(e.min.x-h.x)*c,r=(e.max.x-h.x)*c):(i=(e.max.x-h.x)*c,r=(e.min.x-h.x)*c),u>=0?(s=(e.min.y-h.y)*u,o=(e.max.y-h.y)*u):(s=(e.max.y-h.y)*u,o=(e.min.y-h.y)*u),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o<r||isNaN(r))&&(r=o),f>=0?(a=(e.min.z-h.z)*f,l=(e.max.z-h.z)*f):(a=(e.max.z-h.z)*f,l=(e.min.z-h.z)*f),i>l||a>r)||((a>i||i!==i)&&(i=a),(l<r||r!==r)&&(r=l),r<0)?null:this.at(i>=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,va)!==null}intersectTriangle(e,t,i,r,s){f3.subVectors(t,e),Ym.subVectors(i,e),d3.crossVectors(f3,Ym);let o=this.direction.dot(d3),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;fl.subVectors(this.origin,e);const l=a*this.direction.dot(Ym.crossVectors(fl,Ym));if(l<0)return null;const c=a*this.direction.dot(f3.cross(fl));if(c<0||l+c>o)return null;const u=-a*fl.dot(d3);return u<0?null:this.at(u/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Ct{constructor(e,t,i,r,s,o,a,l,c,u,f,h,p,m,v,A){Ct.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c,u,f,h,p,m,v,A)}set(e,t,i,r,s,o,a,l,c,u,f,h,p,m,v,A){const y=this.elements;return y[0]=e,y[4]=t,y[8]=i,y[12]=r,y[1]=s,y[5]=o,y[9]=a,y[13]=l,y[2]=c,y[6]=u,y[10]=f,y[14]=h,y[3]=p,y[7]=m,y[11]=v,y[15]=A,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Ct().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/lf.setFromMatrixColumn(e,0).length(),s=1/lf.setFromMatrixColumn(e,1).length(),o=1/lf.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),c=Math.sin(r),u=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const h=o*u,p=o*f,m=a*u,v=a*f;t[0]=l*u,t[4]=-l*f,t[8]=c,t[1]=p+m*c,t[5]=h-v*c,t[9]=-a*l,t[2]=v-h*c,t[6]=m+p*c,t[10]=o*l}else if(e.order==="YXZ"){const h=l*u,p=l*f,m=c*u,v=c*f;t[0]=h+v*a,t[4]=m*a-p,t[8]=o*c,t[1]=o*f,t[5]=o*u,t[9]=-a,t[2]=p*a-m,t[6]=v+h*a,t[10]=o*l}else if(e.order==="ZXY"){const h=l*u,p=l*f,m=c*u,v=c*f;t[0]=h-v*a,t[4]=-o*f,t[8]=m+p*a,t[1]=p+m*a,t[5]=o*u,t[9]=v-h*a,t[2]=-o*c,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const h=o*u,p=o*f,m=a*u,v=a*f;t[0]=l*u,t[4]=m*c-p,t[8]=h*c+v,t[1]=l*f,t[5]=v*c+h,t[9]=p*c-m,t[2]=-c,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const h=o*l,p=o*c,m=a*l,v=a*c;t[0]=l*u,t[4]=v-h*f,t[8]=m*f+p,t[1]=f,t[5]=o*u,t[9]=-a*u,t[2]=-c*u,t[6]=p*f+m,t[10]=h-v*f}else if(e.order==="XZY"){const h=o*l,p=o*c,m=a*l,v=a*c;t[0]=l*u,t[4]=-f,t[8]=c*u,t[1]=h*f+v,t[5]=o*u,t[9]=p*f-m,t[2]=m*f-p,t[6]=a*u,t[10]=v*f+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(eK,e,tK)}lookAt(e,t,i){const r=this.elements;return ws.subVectors(e,t),ws.lengthSq()===0&&(ws.z=1),ws.normalize(),dl.crossVectors(i,ws),dl.lengthSq()===0&&(Math.abs(i.z)===1?ws.x+=1e-4:ws.z+=1e-4,ws.normalize(),dl.crossVectors(i,ws)),dl.normalize(),$m.crossVectors(ws,dl),r[0]=dl.x,r[4]=$m.x,r[8]=ws.x,r[1]=dl.y,r[5]=$m.y,r[9]=ws.y,r[2]=dl.z,r[6]=$m.z,r[10]=ws.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],c=i[12],u=i[1],f=i[5],h=i[9],p=i[13],m=i[2],v=i[6],A=i[10],y=i[14],x=i[3],b=i[7],_=i[11],T=i[15],M=r[0],I=r[4],R=r[8],w=r[12],E=r[1],F=r[5],L=r[9],z=r[13],V=r[2],j=r[6],N=r[10],Q=r[14],W=r[3],ee=r[7],H=r[11],ye=r[15];return s[0]=o*M+a*E+l*V+c*W,s[4]=o*I+a*F+l*j+c*ee,s[8]=o*R+a*L+l*N+c*H,s[12]=o*w+a*z+l*Q+c*ye,s[1]=u*M+f*E+h*V+p*W,s[5]=u*I+f*F+h*j+p*ee,s[9]=u*R+f*L+h*N+p*H,s[13]=u*w+f*z+h*Q+p*ye,s[2]=m*M+v*E+A*V+y*W,s[6]=m*I+v*F+A*j+y*ee,s[10]=m*R+v*L+A*N+y*H,s[14]=m*w+v*z+A*Q+y*ye,s[3]=x*M+b*E+_*V+T*W,s[7]=x*I+b*F+_*j+T*ee,s[11]=x*R+b*L+_*N+T*H,s[15]=x*w+b*z+_*Q+T*ye,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],u=e[2],f=e[6],h=e[10],p=e[14],m=e[3],v=e[7],A=e[11],y=e[15];return m*(+s*l*f-r*c*f-s*a*h+i*c*h+r*a*p-i*l*p)+v*(+t*l*p-t*c*h+s*o*h-r*o*p+r*c*u-s*l*u)+A*(+t*c*f-t*a*p-s*o*f+i*o*p+s*a*u-i*c*u)+y*(-r*a*u-t*l*f+t*a*h+r*o*f-i*o*h+i*l*u)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],m=e[12],v=e[13],A=e[14],y=e[15],x=f*A*c-v*h*c+v*l*p-a*A*p-f*l*y+a*h*y,b=m*h*c-u*A*c-m*l*p+o*A*p+u*l*y-o*h*y,_=u*v*c-m*f*c+m*a*p-o*v*p-u*a*y+o*f*y,T=m*f*l-u*v*l-m*a*h+o*v*h+u*a*A-o*f*A,M=t*x+i*b+r*_+s*T;if(M===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const I=1/M;return e[0]=x*I,e[1]=(v*h*s-f*A*s-v*r*p+i*A*p+f*r*y-i*h*y)*I,e[2]=(a*A*s-v*l*s+v*r*c-i*A*c-a*r*y+i*l*y)*I,e[3]=(f*l*s-a*h*s-f*r*c+i*h*c+a*r*p-i*l*p)*I,e[4]=b*I,e[5]=(u*A*s-m*h*s+m*r*p-t*A*p-u*r*y+t*h*y)*I,e[6]=(m*l*s-o*A*s-m*r*c+t*A*c+o*r*y-t*l*y)*I,e[7]=(o*h*s-u*l*s+u*r*c-t*h*c-o*r*p+t*l*p)*I,e[8]=_*I,e[9]=(m*f*s-u*v*s-m*i*p+t*v*p+u*i*y-t*f*y)*I,e[10]=(o*v*s-m*a*s+m*i*c-t*v*c-o*i*y+t*a*y)*I,e[11]=(u*a*s-o*f*s-u*i*c+t*f*c+o*i*p-t*a*p)*I,e[12]=T*I,e[13]=(u*v*r-m*f*r+m*i*h-t*v*h-u*i*A+t*f*A)*I,e[14]=(m*a*r-o*v*r-m*i*l+t*v*l+o*i*A-t*a*A)*I,e[15]=(o*f*r-u*a*r+u*i*l-t*f*l-o*i*h+t*a*h)*I,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,c=s*o,u=s*a;return this.set(c*o+i,c*a-r*l,c*l+r*a,0,c*a+r*l,u*a+i,u*l-r*o,0,c*l-r*a,u*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,c=s+s,u=o+o,f=a+a,h=s*c,p=s*u,m=s*f,v=o*u,A=o*f,y=a*f,x=l*c,b=l*u,_=l*f,T=i.x,M=i.y,I=i.z;return r[0]=(1-(v+y))*T,r[1]=(p+_)*T,r[2]=(m-b)*T,r[3]=0,r[4]=(p-_)*M,r[5]=(1-(h+y))*M,r[6]=(A+x)*M,r[7]=0,r[8]=(m+b)*I,r[9]=(A-x)*I,r[10]=(1-(h+v))*I,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=lf.set(r[0],r[1],r[2]).length();const o=lf.set(r[4],r[5],r[6]).length(),a=lf.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],po.copy(this);const c=1/s,u=1/o,f=1/a;return po.elements[0]*=c,po.elements[1]*=c,po.elements[2]*=c,po.elements[4]*=u,po.elements[5]*=u,po.elements[6]*=u,po.elements[8]*=f,po.elements[9]*=f,po.elements[10]*=f,t.setFromRotationMatrix(po),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Ko){const l=this.elements,c=2*s/(t-e),u=2*s/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r);let p,m;if(a===Ko)p=-(o+s)/(o-s),m=-2*o*s/(o-s);else if(a===Vg)p=-o/(o-s),m=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=u,l[9]=h,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=m,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Ko){const l=this.elements,c=1/(t-e),u=1/(i-r),f=1/(o-s),h=(t+e)*c,p=(i+r)*u;let m,v;if(a===Ko)m=(o+s)*f,v=-2*f;else if(a===Vg)m=s*f,v=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-h,l[1]=0,l[5]=2*u,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=v,l[14]=-m,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const lf=new K,po=new Ct,eK=new K(0,0,0),tK=new K(1,1,1),dl=new K,$m=new K,ws=new K,dS=new Ct,hS=new Xn;class Pi{constructor(e=0,t=0,i=0,r=Pi.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],c=r[5],u=r[9],f=r[2],h=r[6],p=r[10];switch(t){case"XYZ":this._y=Math.asin(Ot(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(h,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ot(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ot(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-f,p),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ot(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(h,p),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Ot(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-Ot(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(h,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return dS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(dS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return hS.setFromEuler(this),this.setFromQuaternion(hS,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Pi.DEFAULT_ORDER="XYZ";class t4{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}
vendor: 5,575 bytes, line 79
79isEnabled(e){return(this.mask&(1<<e|0))!==0}}let nK=0;const pS=new K,cf=new Xn,ya=new Ct,Km=new K,wh=new K,iK=new K,rK=new Xn,mS=new K(1,0,0),gS=new K(0,1,0),AS=new K(0,0,1),vS={type:"added"},sK={type:"removed"},uf={type:"childadded",child:null},h3={type:"childremoved",child:null};class Wt extends ac{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:nK++}),this.uuid=So(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=Wt.DEFAULT_UP.clone();const e=new K,t=new Pi,i=new Xn,r=new K(1,1,1);function s(){i.setFromEuler(t,!1)}function o(){t.setFromQuaternion(i,void 0,!1)}t._onChange(s),i._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new Ct},normalMatrix:{value:new Lt}}),this.matrix=new Ct,this.matrixWorld=new Ct,this.matrixAutoUpdate=Wt.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=Wt.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new t4,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return cf.setFromAxisAngle(e,t),this.quaternion.multiply(cf),this}rotateOnWorldAxis(e,t){return cf.setFromAxisAngle(e,t),this.quaternion.premultiply(cf),this}rotateX(e){return this.rotateOnAxis(mS,e)}rotateY(e){return this.rotateOnAxis(gS,e)}rotateZ(e){return this.rotateOnAxis(AS,e)}translateOnAxis(e,t){return pS.copy(e).applyQuaternion(this.quaternion),this.position.add(pS.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(mS,e)}translateY(e){return this.translateOnAxis(gS,e)}translateZ(e){return this.translateOnAxis(AS,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(ya.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?Km.copy(e):Km.set(e,t,i);const r=this.parent;this.updateWorldMatrix(!0,!1),wh.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?ya.lookAt(wh,Km,this.up):ya.lookAt(Km,wh,this.up),this.quaternion.setFromRotationMatrix(ya),r&&(ya.extractRotation(r.matrixWorld),cf.setFromRotationMatrix(ya),this.quaternion.premultiply(cf.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.removeFromParent(),e.parent=this,this.children.push(e),e.dispatchEvent(vS),uf.child=e,this.dispatchEvent(uf),uf.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(sK),h3.child=e,this.dispatchEvent(h3),h3.child=null),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),ya.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),ya.multiply(e.parent.matrixWorld)),e.applyMatrix4(ya),e.removeFromParent(),e.parent=this,this.children.push(e),e.updateWorldMatrix(!1,!0),e.dispatchEvent(vS),uf.child=e,this.dispatchEvent(uf),uf.child=null,this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let i=0,r=this.children.length;i<r;i++){const o=this.children[i].getObjectByProperty(e,t);if(o!==void 0)return o}}getObjectsByProperty(e,t,i=[]){this[e]===t&&i.push(this);const r=this.children;for(let s=0,o=r.length;s<o;s++)r[s].getObjectsByProperty(e,t,i);return i}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(wh,e,iK),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(wh,rK,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix
vendor: 7,437 bytes, line 79
79):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].updateMatrixWorld(e)}updateWorldMatrix(e,t){const i=this.parent;if(e===!0&&i!==null&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),t===!0){const r=this.children;for(let s=0,o=r.length;s<o;s++)r[s].updateWorldMatrix(!1,!0)}}toJSON(e){const t=e===void 0||typeof e=="string",i={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});const r={};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.castShadow===!0&&(r.castShadow=!0),this.receiveShadow===!0&&(r.receiveShadow=!0),this.visible===!1&&(r.visible=!1),this.frustumCulled===!1&&(r.frustumCulled=!1),this.renderOrder!==0&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let c=0,u=l.length;c<u;c++){const f=l[c];s(e.shapes,f)}else s(e.shapes,l)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const a=[];for(let l=0,c=this.material.length;l<c;l++)a.push(s(e.materials,this.material[l]));r.material=a}else r.material=s(e.materials,this.material);if(this.children.length>0){r.children=[];for(let a=0;a<this.children.length;a++)r.children.push(this.children[a].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let a=0;a<this.animations.length;a++){const l=this.animations[a];r.animations.push(s(e.animations,l))}}if(t){const a=o(e.geometries),l=o(e.materials),c=o(e.textures),u=o(e.images),f=o(e.shapes),h=o(e.skeletons),p=o(e.animations),m=o(e.nodes);a.length>0&&(i.geometries=a),l.length>0&&(i.materials=l),c.length>0&&(i.textures=c),u.length>0&&(i.images=u),f.length>0&&(i.shapes=f),h.length>0&&(i.skeletons=h),p.length>0&&(i.animations=p),m.length>0&&(i.nodes=m)}return i.object=r,i;function o(a){const l=[];for(const c in a){const u=a[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i<e.children.length;i++){const r=e.children[i];this.add(r.clone())}return this}}Wt.DEFAULT_UP=new K(0,1,0);Wt.DEFAULT_MATRIX_AUTO_UPDATE=!0;Wt.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const mo=new K,_a=new K,p3=new K,ba=new K,ff=new K,df=new K,yS=new K,m3=new K,g3=new K,A3=new K,v3=new Vt,y3=new Vt,_3=new Vt;class Js{constructor(e=new K,t=new K,i=new K){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,r){r.subVectors(i,t),mo.subVectors(e,t),r.cross(mo);const s=r.lengthSq();return s>0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){mo.subVectors(r,t),_a.subVectors(i,t),p3.subVectors(e,t);const o=mo.dot(mo),a=mo.dot(_a),l=mo.dot(p3),c=_a.dot(_a),u=_a.dot(p3),f=o*c-a*a;if(f===0)return s.set(0,0,0),null;const h=1/f,p=(c*l-a*u)*h,m=(o*u-a*l)*h;return s.set(1-p-m,m,p)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,ba)===null?!1:ba.x>=0&&ba.y>=0&&ba.x+ba.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,ba)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,ba.x),l.addScaledVector(o,ba.y),l.addScaledVector(a,ba.z),l)}static getInterpolatedAttribute(e,t,i,r,s,o){return v3.setScalar(0),y3.setScalar(0),_3.setScalar(0),v3.fromBufferAttribute(e,t),y3.fromBufferAttribute(e,i),_3.fromBufferAttribute(e,r),o.setScalar(0),o.addScaledVector(v3,s.x),o.addScaledVector(y3,s.y),o.addScaledVector(_3,s.z),o}static isFrontFacing(e,t,i,r){return mo.subVectors(i,t),_a.subVectors(e,t),mo.cross(_a).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return mo.subVectors(this.c,this.b),_a.subVectors(this.a,this.b),mo.cross(_a).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Js.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Js.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return Js.getInterpolation(e,this.a,this.b,this.c,t,i,r,s
vendor: 7,150 bytes, line 79
79)}containsPoint(e){return Js.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Js.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let o,a;ff.subVectors(r,i),df.subVectors(s,i),m3.subVectors(e,i);const l=ff.dot(m3),c=df.dot(m3);if(l<=0&&c<=0)return t.copy(i);g3.subVectors(e,r);const u=ff.dot(g3),f=df.dot(g3);if(u>=0&&f<=u)return t.copy(r);const h=l*f-u*c;if(h<=0&&l>=0&&u<=0)return o=l/(l-u),t.copy(i).addScaledVector(ff,o);A3.subVectors(e,s);const p=ff.dot(A3),m=df.dot(A3);if(m>=0&&p<=m)return t.copy(s);const v=p*c-l*m;if(v<=0&&c>=0&&m<=0)return a=c/(c-m),t.copy(i).addScaledVector(df,a);const A=u*m-p*f;if(A<=0&&f-u>=0&&p-m>=0)return yS.subVectors(s,r),a=(f-u)/(f-u+(p-m)),t.copy(r).addScaledVector(yS,a);const y=1/(A+v+h);return o=v*y,a=h*y,t.copy(i).addScaledVector(ff,o).addScaledVector(df,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const ZI={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},hl={h:0,s:0,l:0},Zm={h:0,s:0,l:0};function b3(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class ke{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=En){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Xt.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=Xt.workingColorSpace){return this.r=e,this.g=t,this.b=i,Xt.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=Xt.workingColorSpace){if(e=e4(e,1),t=Ot(t,0,1),i=Ot(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,o=2*i-s;this.r=b3(o,s,e+1/3),this.g=b3(o,s,e),this.b=b3(o,s,e-1/3)}return Xt.toWorkingColorSpace(this,r),this}setStyle(e,t=En){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=r[1],a=r[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=En){const i=ZI[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Qa(e.r),this.g=Qa(e.g),this.b=Qa(e.b),this}copyLinearToSRGB(e){return this.r=nd(e.r),this.g=nd(e.g),this.b=nd(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=En){return Xt.fromWorkingColorSpace(yr.copy(this),e),Math.round(Ot(yr.r*255,0,255))*65536+Math.round(Ot(yr.g*255,0,255))*256+Math.round(Ot(yr.b*255,0,255))}getHexString(e=En){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Xt.workingColorSpace){Xt.fromWorkingColorSpace(yr.copy(this),t);const i=yr.r,r=yr.g,s=yr.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,c;const u=(a+o)/2;if(a===o)l=0,c=0;else{const f=o-a;switch(c=u<=.5?f/(o+a):f/(2-o-a),o){case i:l=(r-s)/f+(r<s?6:0);break;case r:l=(s-i)/f+2;break;case s:l=(i-r)/f+4;break}l/=6}return e.h=l,e.s=c,e.l=u,e}getRGB(e,t=Xt.workingColorSpace){return Xt.fromWorkingColorSpace(yr.copy(this),t),e.r=yr.r,e.g=yr.g,e.b
vendor: 3,447 bytes, line 79
79=yr.b,e}getStyle(e=En){Xt.fromWorkingColorSpace(yr.copy(this),e);const t=yr.r,i=yr.g,r=yr.b;return e!==En?`color(${e} ${t.toFixed(3)} ${i.toFixed(3)} ${r.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(i*255)},${Math.round(r*255)})`}offsetHSL(e,t,i){return this.getHSL(hl),this.setHSL(hl.h+e,hl.s+t,hl.l+i)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,i){return this.r=e.r+(t.r-e.r)*i,this.g=e.g+(t.g-e.g)*i,this.b=e.b+(t.b-e.b)*i,this}lerpHSL(e,t){this.getHSL(hl),e.getHSL(Zm);const i=E0(hl.h,Zm.h,t),r=E0(hl.s,Zm.s,t),s=E0(hl.l,Zm.l,t);return this.setHSL(i,r,s),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,i=this.g,r=this.b,s=e.elements;return this.r=s[0]*t+s[3]*i+s[6]*r,this.g=s[1]*t+s[4]*i+s[7]*r,this.b=s[2]*t+s[5]*i+s[8]*r,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const yr=new ke;ke.NAMES=ZI;let oK=0;class Eo extends ac{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:oK++}),this.uuid=So(),this.name="",this.type="Material",this.blending=bu,this.side=Io,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=Z_,this.blendDst=J_,this.blendEquation=eu,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new ke(0,0,0),this.blendAlpha=0,this.depthFunc=Cd,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=sS,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=nf,this.stencilZFail=nf,this.stencilZPass=nf,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};
vendor: 8,832 bytes, line 79
79i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==bu&&(i.blending=this.blending),this.side!==Io&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==Z_&&(i.blendSrc=this.blendSrc),this.blendDst!==J_&&(i.blendDst=this.blendDst),this.blendEquation!==eu&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Cd&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==sS&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==nf&&(i.stencilFail=this.stencilFail),this.stencilZFail!==nf&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==nf&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(t){const s=r(e.textures),o=r(e.images);s.length>0&&(i.textures=s),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipSh
vendor: 11,037 bytes, line 79
79adows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class Jr extends Eo{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ke(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pi,this.combine=MI,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Oa=aK();function aK(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(i[l]=1024>>-c-14,i[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(i[l]=c+15<<10,i[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;for(;(c&8388608)===0;)c<<=1,u-=8388608;c&=-8388609,u+=947912704,s[l]=c|u}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function lK(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Ot(n,-65504,65504),Oa.floatView[0]=n;const e=Oa.uint32View[0],t=e>>23&511;return Oa.baseTable[t]+((e&8388607)>>Oa.shiftTable[t])}function cK(n){const e=n>>10;return Oa.uint32View[0]=Oa.mantissaTable[Oa.offsetTable[e]+(n&1023)]+Oa.exponentTable[e],Oa.floatView[0]}const Jm={toHalfFloat:lK,fromHalfFloat:cK},Si=new K,e1=new Re;let uK=0;class Gi{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:uK++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=Tb,this.updateRanges=[],this.gpuType=Zt,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r<s;r++)this.array[e+r]=t.array[i+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,i=this.count;t<i;t++)e1.fromBufferAttribute(this,t),e1.applyMatrix3(e),this.setXY(t,e1.x,e1.y);else if(this.itemSize===3)for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.applyMatrix3(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}applyMatrix4(e){for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.applyMatrix4(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.applyNormalMatrix(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.transformDirection(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let i=this.array[e*this.itemSize+t];return this.normalized&&(i=_o(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=_n(i,this.array)),this.array[e*this.itemSize+t]=i,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=_o(t,this.array)),t}setX(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=_o(t,this.array)),t}setY(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=_o(t,this.array)),t}setZ(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=_o(t,this.array)),t}setW(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,i){return e*=this.itemSize,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array)),this.array[e+0]=t,this.array[e+1]=i,this}setXYZ(e,t,i,r){return e*=this.itemSize,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e*=this.itemSize,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array),s=_n(s,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this.array[e+3]=s,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==Tb&&(e.usage=this.usage),e}}class JI extends Gi{constructor(e,t,i){super(new Uint16Array(e),t,i)}}class eP extends Gi{constructor(e,t,i){super(new Uint32Array(e),t,i)}}class en extends Gi{constructor(e,t,i){super(new Float32Array(e),t,i)}}let fK=0;const js=new Ct,x3=new Wt,hf=new K,Ss=new Hs,Sh=new Hs,Xi=new K;class Hn extends ac{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:fK++}),this.uuid=So(),this.name="",this.type="BufferGeometry",this.index=null,this.indirect=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(XI(e)?eP:JI)(e,1):this.index=e,this}setIndirect(e){return this.indirect=e,this}getIndirect(){return this.indirect}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const i=this.attributes.normal;if(i!==void 0){const s=new Lt().getNormalMatrix(e);i.applyNormalMatrix(s),i.needsUpdate=!0}const r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return js.makeRotationFromQuaternion(e),this.applyMatrix4(js),this}rotateX(e){return js.makeRotationX(e),this.applyMatrix4(js),this}rotateY(e){return js.makeRotationY(e),this.applyMatrix4(js),this}rotateZ(e){return js.makeRotationZ(e),this.applyMatrix4(js),this}translate(e,t,i){return js.makeTranslation(e,t,i),this.applyMatrix4(js),this}scale(e,t,i){return js.makeScale(e,t,i),this.applyMatrix4(js),this}lookAt(e){return x3.lookAt(e),x3.updateMatrix(),this.applyMatrix4(x3.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(hf).negate(),this.translate(hf.x,hf.y,hf.z),this}setFromPoints(e){const t=this.getAttribute("position");if(t===void 0){const i=[];for(let r=0,s=e.length;r<s;r++){const o=e[r];i.push(o.x,o.y,o.z||0)}this.setAttribute("position",new en(i,3))}else{const i=Math.min(e.length,t.count);for(let r=0;r<i;r++){const s=e[r];t.setXYZ(r,s.x,s.y,s.z||0)}e.length>t.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Hs);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new K(-1/0,-1/0,-1/0),new K(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let i=0,r=t.length;i<r;i++){const s=t[i];Ss.setFromBufferAttribute(s),this.morphTargetsRelative?(Xi.addVectors(this.boundingBox.min,Ss.min),this.boundingBox.expandByPoint(Xi),Xi.addVectors(this.boundingBox.max,Ss.max),this.boundingBox.expandByPoint(Xi)):(this.boundingBox.expandByPoint(Ss.min),this.boundingBox.expandByPoint(Ss.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new ao);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.",this),this.boundingSphere.set(new K,1/0);return}if(e){const i=this.boundingSphere.center;if(Ss.setFromBufferAttribute(e),t)for(let s=0,o=t.length;s<o;s++){const a=t[s];Sh.setFromBufferAttribute(a),this.morphTargetsRelative?(Xi.addVectors(Ss.min,Sh.min),Ss.exp
vendor: 7,661 bytes, line 79
79andByPoint(Xi),Xi.addVectors(Ss.max,Sh.max),Ss.expandByPoint(Xi)):(Ss.expandByPoint(Sh.min),Ss.expandByPoint(Sh.max))}Ss.getCenter(i);let r=0;for(let s=0,o=e.count;s<o;s++)Xi.fromBufferAttribute(e,s),r=Math.max(r,i.distanceToSquared(Xi));if(t)for(let s=0,o=t.length;s<o;s++){const a=t[s],l=this.morphTargetsRelative;for(let c=0,u=a.count;c<u;c++)Xi.fromBufferAttribute(a,c),l&&(hf.fromBufferAttribute(e,c),Xi.add(hf)),r=Math.max(r,i.distanceToSquared(Xi))}this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const i=t.position,r=t.normal,s=t.uv;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new Gi(new Float32Array(4*i.count),4));const o=this.getAttribute("tangent"),a=[],l=[];for(let R=0;R<i.count;R++)a[R]=new K,l[R]=new K;const c=new K,u=new K,f=new K,h=new Re,p=new Re,m=new Re,v=new K,A=new K;function y(R,w,E){c.fromBufferAttribute(i,R),u.fromBufferAttribute(i,w),f.fromBufferAttribute(i,E),h.fromBufferAttribute(s,R),p.fromBufferAttribute(s,w),m.fromBufferAttribute(s,E),u.sub(c),f.sub(c),p.sub(h),m.sub(h);const F=1/(p.x*m.y-m.x*p.y);isFinite(F)&&(v.copy(u).multiplyScalar(m.y).addScaledVector(f,-p.y).multiplyScalar(F),A.copy(f).multiplyScalar(p.x).addScaledVector(u,-m.x).multiplyScalar(F),a[R].add(v),a[w].add(v),a[E].add(v),l[R].add(A),l[w].add(A),l[E].add(A))}let x=this.groups;x.length===0&&(x=[{start:0,count:e.count}]);for(let R=0,w=x.length;R<w;++R){const E=x[R],F=E.start,L=E.count;for(let z=F,V=F+L;z<V;z+=3)y(e.getX(z+0),e.getX(z+1),e.getX(z+2))}const b=new K,_=new K,T=new K,M=new K;function I(R){T.fromBufferAttribute(r,R),M.copy(T);const w=a[R];b.copy(w),b.sub(T.multiplyScalar(T.dot(w))).normalize(),_.crossVectors(M,w);const F=_.dot(l[R])<0?-1:1;o.setXYZW(R,b.x,b.y,b.z,F)}for(let R=0,w=x.length;R<w;++R){const E=x[R],F=E.start,L=E.count;for(let z=F,V=F+L;z<V;z+=3)I(e.getX(z+0)),I(e.getX(z+1)),I(e.getX(z+2))}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let i=this.getAttribute("normal");if(i===void 0)i=new Gi(new Float32Array(t.count*3),3),this.setAttribute("normal",i);else for(let h=0,p=i.count;h<p;h++)i.setXYZ(h,0,0,0);const r=new K,s=new K,o=new K,a=new K,l=new K,c=new K,u=new K,f=new K;if(e)for(let h=0,p=e.count;h<p;h+=3){const m=e.getX(h+0),v=e.getX(h+1),A=e.getX(h+2);r.fromBufferAttribute(t,m),s.fromBufferAttribute(t,v),o.fromBufferAttribute(t,A),u.subVectors(o,s),f.subVectors(r,s),u.cross(f),a.fromBufferAttribute(i,m),l.fromBufferAttribute(i,v),c.fromBufferAttribute(i,A),a.add(u),l.add(u),c.add(u),i.setXYZ(m,a.x,a.y,a.z),i.setXYZ(v,l.x,l.y,l.z),i.setXYZ(A,c.x,c.y,c.z)}else for(let h=0,p=t.count;h<p;h+=3)r.fromBufferAttribute(t,h+0),s.fromBufferAttribute(t,h+1),o.fromBufferAttribute(t,h+2),u.subVectors(o,s),f.subVectors(r,s),u.cross(f),i.setXYZ(h+0,u.x,u.y,u.z),i.setXYZ(h+1,u.x,u.y,u.z),i.setXYZ(h+2,u.x,u.y,u.z);this.normalizeNormals(),i.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,i=e.count;t<i;t++)Xi.fromBufferAttribute(e,t),Xi.normalize(),e.setXYZ(t,Xi.x,Xi.y,Xi.z)}toNonIndexed(){function e(a,l){const c=a.array,u=a.itemSize,f=a.normalized,h=new c.constructor(l.length*u);let p=0,m=0;for(let v=0,A=l.length;v<A;v++){a.isInterleavedBufferAttribute?p=l[v]*a.data.stride+a.offset:p=l[v]*u;for(let y=0;y<u;y++)h[m++]=c[p++]}return new Gi(h,u,f)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new Hn,i=this.index.array,r=this.attributes;for(const a in r){const l=r[a],c=e(l,i);t.setAttribute(a,c)}const s=this.morphAttributes;for(const a in s){const l=[],c=s[a];for(let u=0,f=c.length;u<f;u++){const h=c[u],p=e(h,i);l.push(p)}t.morphAttributes[a]=l}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let a=0,l=o.length;a<l;a++){const c=o[a];t.addGroup(c.start,c.count,c.materialIndex)}return t}toJSON(){const e={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const c=i[l];e.data.attributes[l]=c.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],u=[];for(let f=0,h=c.length;f<h;f++){const p=c[f];u.push(p.toJSON(e.data))}u.length>0&&(r[l]=u,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const c in r){const u=r[c];this.setAttribute(c,u.clone(t))}const s=e.morphAttributes;for(const c in s){const u=[],f=s[c];for(let h=0,p=f.length;h<p;h++)u.push(f[h].clone(t));this.morphAttributes[c]=u}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let c=0,u=o.length;c<u;c++){const f=o[c];this.addGroup(f.start,f.count,f.materialIndex)}const a=e.boundingBox;a!==null&&(this.boundingBox=a.clone());const l=e.boundingSphere;return l!==null&&(this.boundingSphere=l.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const _S=new Ct,Hc=new kd,t1=new ao,bS=new K,n1=new K,i1=new K,r1=new K,C3=new K,s1=new K,xS=new K,o1=new K;class Qe extends Wt{constructor(e=new Hn,t=new Jr){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s<o;s++){const a=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=s}}}}getVertexPosition(e,t){const i=this.geometry,r=i.attributes.position,s=i.morphAttributes.position,o=i.morphTargetsRelative;t.fromBufferAttribute(r,e);const a=this.morphTargetInfluences;if(s&&a){s1.set(0,0,0);for(let l=0,c=s.length;l<c;l++){const u=a[l],f=s[l];u!==0&&(C3.fromBufferAttribute(f,e),o?s1.addScaledVector(C3,u):s1.addScaledVector(C3.sub(t),u))}t.add(s1)}return t}raycast(e,t){const i=this.geometry,r=this.material,s=this.matrixWorld;r!==void 0&&(i.boundingSphere===null&&i.computeBoundingSphere(),t1.c
vendor: 4,758 bytes, lines 79-83
79opy(i.boundingSphere),t1.applyMatrix4(s),Hc.copy(e.ray).recast(e.near),!(t1.containsPoint(Hc.origin)===!1&&(Hc.intersectSphere(t1,bS)===null||Hc.origin.distanceToSquared(bS)>(e.far-e.near)**2))&&(_S.copy(s).invert(),Hc.copy(e.ray).applyMatrix4(_S),!(i.boundingBox!==null&&Hc.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Hc)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,u=s.attributes.uv1,f=s.attributes.normal,h=s.groups,p=s.drawRange;if(a!==null)if(Array.isArray(o))for(let m=0,v=h.length;m<v;m++){const A=h[m],y=o[A.materialIndex],x=Math.max(A.start,p.start),b=Math.min(a.count,Math.min(A.start+A.count,p.start+p.count));for(let _=x,T=b;_<T;_+=3){const M=a.getX(_),I=a.getX(_+1),R=a.getX(_+2);r=a1(this,y,e,i,c,u,f,M,I,R),r&&(r.faceIndex=Math.floor(_/3),r.face.materialIndex=A.materialIndex,t.push(r))}}else{const m=Math.max(0,p.start),v=Math.min(a.count,p.start+p.count);for(let A=m,y=v;A<y;A+=3){const x=a.getX(A),b=a.getX(A+1),_=a.getX(A+2);r=a1(this,o,e,i,c,u,f,x,b,_),r&&(r.faceIndex=Math.floor(A/3),t.push(r))}}else if(l!==void 0)if(Array.isArray(o))for(let m=0,v=h.length;m<v;m++){const A=h[m],y=o[A.materialIndex],x=Math.max(A.start,p.start),b=Math.min(l.count,Math.min(A.start+A.count,p.start+p.count));for(let _=x,T=b;_<T;_+=3){const M=_,I=_+1,R=_+2;r=a1(this,y,e,i,c,u,f,M,I,R),r&&(r.faceIndex=Math.floor(_/3),r.face.materialIndex=A.materialIndex,t.push(r))}}else{const m=Math.max(0,p.start),v=Math.min(l.count,p.start+p.count);for(let A=m,y=v;A<y;A+=3){const x=A,b=A+1,_=A+2;r=a1(this,o,e,i,c,u,f,x,b,_),r&&(r.faceIndex=Math.floor(A/3),t.push(r))}}}}function dK(n,e,t,i,r,s,o,a){let l;if(e.side===Rr?l=i.intersectTriangle(o,s,r,!0,a):l=i.intersectTriangle(r,s,o,e.side===Io,a),l===null)return null;o1.copy(a),o1.applyMatrix4(n.matrixWorld);const c=t.ray.origin.distanceTo(o1);return c<t.near||c>t.far?null:{distance:c,point:o1.clone(),object:n}}function a1(n,e,t,i,r,s,o,a,l,c){n.getVertexPosition(a,n1),n.getVertexPosition(l,i1),n.getVertexPosition(c,r1);const u=dK(n,e,t,i,n1,i1,r1,xS);if(u){const f=new K;Js.getBarycoord(xS,n1,i1,r1,f),r&&(u.uv=Js.getInterpolatedAttribute(r,a,l,c,f,new Re)),s&&(u.uv1=Js.getInterpolatedAttribute(s,a,l,c,f,new Re)),o&&(u.normal=Js.getInterpolatedAttribute(o,a,l,c,f,new K),u.normal.dot(i.direction)>0&&u.normal.multiplyScalar(-1));const h={a,b:l,c,normal:new K,materialIndex:0};Js.getNormal(n1,i1,r1,h.normal),u.face=h,u.barycoord=f}return u}class fi extends Hn{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],u=[],f=[];let h=0,p=0;m("z","y","x",-1,-1,i,t,e,o,s,0),m("z","y","x",1,-1,i,t,-e,o,s,1),m("x","z","y",1,1,e,i,t,r,o,2),m("x","z","y",1,-1,e,i,-t,r,o,3),m("x","y","z",1,-1,e,t,i,r,s,4),m("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new en(c,3)),this.setAttribute("normal",new en(u,3)),this.setAttribute("uv",new en(f,2));function m(v,A,y,x,b,_,T,M,I,R,w){const E=_/I,F=T/R,L=_/2,z=T/2,V=M/2,j=I+1,N=R+1;let Q=0,W=0;const ee=new K;for(let H=0;H<N;H++){const ye=H*F-z;for(let Ie=0;Ie<j;Ie++){const ze=Ie*E-L;ee[v]=ze*x,ee[A]=ye*b,ee[y]=V,c.push(ee.x,ee.y,ee.z),ee[v]=0,ee[A]=0,ee[y]=M>0?1:-1,u.push(ee.x,ee.y,ee.z),f.push(Ie/I),f.push(1-H/R),Q+=1}}for(let H=0;H<R;H++)for(let ye=0;ye<I;ye++){const Ie=h+ye+j*H,ze=h+ye+j*(H+1),oe=h+(ye+1)+j*(H+1),_e=h+(ye+1)+j*H;l.push(Ie,ze,_e),l.push(ze,oe,_e),W+=6}a.addGroup(p,W,w),p+=W,h+=Q}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new fi(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function Id(n){const e={};for(const t in n){e[t]={};for(const i in n[t]){const r=n[t][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][i]=null):e[t][i]=r.clone():Array.isArray(r)?e[t][i]=r.slice():e[t][i]=r}}return e}function Vr(n){const e={};for(let t=0;t<n.length;t++){const i=Id(n[t]);for(const r in i)e[r]=i[r]}return e}function hK(n){const e=[];for(let t=0;t<n.length;t++)e.push(n[t].clone());return e}function tP(n){const e=n.getRenderTarget();return e===null?n.outputColorSpace:e.isXRRenderTarget===!0?e.texture.colorSpace:Xt.workingColorSpace}const Po={clone:Id,merge:Vr};var pK=`void main() { 80 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 81}`,mK=`void main() { 82 gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); 83}`;
vendor: 7,294 bytes, line 83
83class Cn extends Eo{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=pK,this.fragmentShader=mK,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Id(e.uniforms),this.uniformsGroups=hK(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class TA extends Wt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ct,this.projectionMatrix=new Ct,this.projectionMatrixInverse=new Ct,this.coordinateSystem=Ko}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const pl=new K,CS=new Re,wS=new Re;class Zi extends TA{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Md*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(S0*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Md*2*Math.atan(Math.tan(S0*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){pl.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(pl.x,pl.y).multiplyScalar(-e/pl.z),pl.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(pl.x,pl.y).multiplyScalar(-e/pl.z)}getViewSize(e,t){return this.getViewBounds(e,CS,wS),t.subVectors(wS,CS)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(S0*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/c,r*=o.width/l,i*=o.height/c}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const pf=-90,mf=1;class nP extends Wt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Zi(pf,mf,e,t);r.layers=this.layers,this.add(r);const s=new Zi(pf,mf,e,t);s.layers=this.layers,this.add(s);const o=new Zi(pf,mf,e,t);o.layers=this.layers,this.add(o);const a=new Zi(pf,mf,e,t);a.layers=this.layers,this.add(a);const l=new Zi(pf,mf,e,t);l.layers=this.layers,this.add(l);const c=new Zi(pf,mf,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const c of t)this.remove(c);if(e===Ko)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Vg)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,u]=this.children,f=e.getRenderTarget(),h=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),m=e.xr.enabled;e.xr.enabled=!1;const v=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,c),i.texture.generateMipmaps=v,e.setRenderTarget(i,5,r),e.render(t,u),e.setRenderTarget(f,h,p),e.xr.enabled=m,i.texture.needsPMREMUpdate=!0}}class np extends xn{constructor(e,t,i,r,s,o,a,l,c,u){e=e!==void 0?e:[],t=t!==void 0?t:tc,super(e,t,i,r,s,o,a,l,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class Gg extends li{constructor(e=1,t={}
vendor: 8,226 bytes, lines 83-118
83){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];this.texture=new np(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Yt}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` 84 85 varying vec3 vWorldDirection; 86 87 vec3 transformDirection( in vec3 dir, in mat4 matrix ) { 88 89 return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); 90 91 } 92 93 void main() { 94 95 vWorldDirection = transformDirection( position, modelMatrix ); 96 97 #include <begin_vertex> 98 #include <project_vertex> 99 100 } 101 `,fragmentShader:` 102 103 uniform sampler2D tEquirect; 104 105 varying vec3 vWorldDirection; 106 107 #include <common> 108 109 void main() { 110 111 vec3 direction = normalize( vWorldDirection ); 112 113 vec2 sampleUV = equirectUv( direction ); 114 115 gl_FragColor = texture2D( tEquirect, sampleUV ); 116 117 } 118 `},r=new fi(5,5,5),s=new Cn({name:"CubemapFromEquirect",uniforms:Id(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Rr,blending:wo});s.uniforms.tEquirect.value=t;const o=new Qe(r,s),a=t.minFilter;return t.minFilter===Fs&&(t.minFilter=Yt),new nP(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(s)}}class Ha extends Wt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const gK={type:"move"};class w3{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ha,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ha,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new K,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new K),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ha,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new K,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new K),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const v of e.hand.values()){const A=t.getJointPose(v,i),y=this._getHandJoint(c,v);A!==null&&(y.matrix.fromArray(A.transform.matrix),y.matrix.decompose(y.position,y.rotation,y.scale),y.matrixWorldNeedsUpdate=!0,y.jointRadius=A.radius),y.visible=A!==null}const u=c.joints["index-finger-tip"],f=c.joints["thumb-tip"],h=u.position.distanceTo(f.position),p=.02,m=.005;c.inputState.pinching&&h>p+m?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&h<=p-m&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(gK)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new Ha;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}class Wa extends Wt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Pi,this.environmentIntensity=1,this.environmentRotation=new Pi,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class n4{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Tb,this.updateRanges=[],this.version=0,this.uuid=So()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;r<s;r++)this.array[e+r]=t.array[i+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=So()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=So()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Nr=new K;class fn{constructor(e,t,i,r=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=r}
vendor: 10,732 bytes, line 118
118get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;t<i;t++)Nr.fromBufferAttribute(this,t),Nr.applyMatrix4(e),this.setXYZ(t,Nr.x,Nr.y,Nr.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Nr.fromBufferAttribute(this,t),Nr.applyNormalMatrix(e),this.setXYZ(t,Nr.x,Nr.y,Nr.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Nr.fromBufferAttribute(this,t),Nr.transformDirection(e),this.setXYZ(t,Nr.x,Nr.y,Nr.z);return this}getComponent(e,t){let i=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(i=_o(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=_n(i,this.array)),this.data.array[e*this.data.stride+this.offset+t]=i,this}setX(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=_o(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=_o(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=_o(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=_o(t,this.array)),t}setXY(e,t,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e=e*this.data.stride+this.offset,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array),s=_n(s,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this.data.array[e+3]=s,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return new Gi(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new fn(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class iP extends Eo{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new ke(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}let gf;const Eh=new K,Af=new K,vf=new K,yf=new Re,Th=new Re,rP=new Ct,l1=new K,Mh=new K,c1=new K,SS=new Re,S3=new Re,ES=new Re;class _f extends Wt{constructor(e=new iP){if(super(),this.isSprite=!0,this.type="Sprite",gf===void 0){gf=new Hn;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new n4(t,5);gf.setIndex([0,1,2,0,2,3]),gf.setAttribute("position",new fn(i,3,0,!1)),gf.setAttribute("uv",new fn(i,2,3,!1))}this.geometry=gf,this.material=e,this.center=new Re(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),Af.setFromMatrixScale(this.matrixWorld),rP.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),vf.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&Af.multiplyScalar(-vf.z);const i=this.material.rotation;let r,s;i!==0&&(s=Math.cos(i),r=Math.sin(i));const o=this.center;u1(l1.set(-.5,-.5,0),vf,o,Af,r,s),u1(Mh.set(.5,-.5,0),vf,o,Af,r,s),u1(c1.set(.5,.5,0),vf,o,Af,r,s),SS.set(0,0),S3.set(1,0),ES.set(1,1);let a=e.ray.intersectTriangle(l1,Mh,c1,!1,Eh);if(a===null&&(u1(Mh.set(-.5,.5,0),vf,o,Af,r,s),S3.set(0,1),a=e.ray.intersectTriangle(l1,c1,Mh,!1,Eh),a===null))return;const l=e.ray.origin.distanceTo(Eh);l<e.near||l>e.far||t.push({distance:l,point:Eh.clone(),uv:Js.getInterpolation(Eh,l1,Mh,c1,SS,S3,ES,new Re),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function u1(n,e,t,i,r,s){yf.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(Th.x=s*yf.x-r*yf.y,Th.y=r*yf.x+s*yf.y):Th.copy(yf),n.copy(e),n.x+=Th.x,n.y+=Th.y,n.applyMatrix4(rP)}const TS=new K,MS=new Vt,IS=new Vt,AK=new K,PS=new Ct,f1=new K,E3=new ao,RS=new Ct,T3=new kd;class vK extends Qe{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=tS,this.bindMatrix=new Ct,this.bindMatrixInverse=new Ct,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new Hs),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,f1),this.boundingBox.expandByPoint(f1)}computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new ao),this.boundingSphere.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,f1),this.boundingSphere.expandByPoint(f1)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){const i=this.material,r=this.matrixWorld;i!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),E3.copy(this.boundingSphere),E3.applyMatrix4(r),e.ray.intersectsSphere(E3)!==!1&&(RS.copy(r).invert(),T3.copy(e.ray).applyMatrix4(RS),!(this.boundingBox!==null&&T3.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(e,t,T3)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Vt,t=this.geometry.attributes.skinWeight;for(let i=0,r=t.count;i<r;i++){e.fromBufferAttribute(t,i);const s=1/e.manhattanLength();s!==1/0?e.multiplyScalar(s):e.set(1,0,0,0),t.setXYZW(i,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===tS?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===g$?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(e,t){const i=this.skeleton,r=this.geometry;MS.fromBufferAttribute(r.attributes.skinIndex,e),IS.fromBufferAttribute(r.attributes.skinWeight,e),TS.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let s=0;s<4;s++){const o=IS.getComponent(s);if(o!==0){const a=MS.getComponent(s);PS.multiplyMatrices(i.bones[a].matrixWorld,i.boneInverses[a]),t.addScaledVector(AK.copy(TS).applyMatrix4(PS),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}class sP extends Wt{constructor(){super(),this.isBone=!0,this.type="Bone"}}class zd extends xn{constructor(e=null,t=1,i=1,r,s,o,a,l,c=Br,u=Br,f,h){super(null,o,a,l,c,u,r,s,f,h),this.isDataTexture=!0,this.image={data:e,width:t,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const BS=new Ct,yK=new Ct;class i4{constructor(e=[],t=[]){this.uuid=So(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let i=0,r=this.bones.length;i<r;i++)this.boneInverses.push(new Ct)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const i=new Ct;this.bones[e]&&i.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(i)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&i.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&(i.parent&&i.parent.isBone?(i.matrix.copy(i.parent.matrixWorld).invert(),i.matrix.multiply(i.matrixWorld)):i.matrix.copy(i.matrixWorld),i.matrix.decompose(i.position,i.quaternion,i.scale))}}update(){const e=this.bones,t=this.boneInverses,i=this.boneMatrices,r=this.boneTexture;for(let s=0,o=e.length;s<o;s++){const a=e[s]?e[s].matrixWorld:yK;BS.multiplyMatrices(a,t[s]),BS.toArray(i,s*16)}r!==null&&(r.needsUpdate=!0)}clone(){return new i4(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const i=new zd(t,e,e,pi,Zt);return i.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=i,this}getBoneByName(e){for(let t=0,i=this.bones.length;t<i;t++){const r=this.bones[t];if(r.name===e)return r}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;
vendor: 9,199 bytes, line 118
118for(let i=0,r=e.bones.length;i<r;i++){const s=e.bones[i];let o=t[s];o===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",s),o=new sP),this.bones.push(o),this.boneInverses.push(new Ct().fromArray(e.boneInverses[i]))}return this.init(),this}toJSON(){const e={metadata:{version:4.6,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,i=this.boneInverses;for(let r=0,s=t.length;r<s;r++){const o=t[r];e.bones.push(o.uuid);const a=i[r];e.boneInverses.push(a.toArray())}return e}}class Ro extends Gi{constructor(e,t,i,r=1){super(e,t,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const bf=new Ct,DS=new Ct,d1=[],LS=new Hs,_K=new Ct,Ih=new Qe,Ph=new ao;class Tp extends Qe{constructor(e,t,i){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Ro(new Float32Array(i*16),16),this.instanceColor=null,this.morphTexture=null,this.count=i,this.boundingBox=null,this.boundingSphere=null;for(let r=0;r<i;r++)this.setMatrixAt(r,_K)}computeBoundingBox(){const e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new Hs),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,bf),LS.copy(e.boundingBox).applyMatrix4(bf),this.boundingBox.union(LS)}computeBoundingSphere(){const e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new ao),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,bf),Ph.copy(e.boundingSphere).applyMatrix4(bf),this.boundingSphere.union(Ph)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone()),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}getMorphAt(e,t){const i=t.morphTargetInfluences,r=this.morphTexture.source.data.data,s=i.length+1,o=e*s+1;for(let a=0;a<i.length;a++)i[a]=r[o+a]}raycast(e,t){const i=this.matrixWorld,r=this.count;if(Ih.geometry=this.geometry,Ih.material=this.material,Ih.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),Ph.copy(this.boundingSphere),Ph.applyMatrix4(i),e.ray.intersectsSphere(Ph)!==!1))for(let s=0;s<r;s++){this.getMatrixAt(s,bf),DS.multiplyMatrices(i,bf),Ih.matrixWorld=DS,Ih.raycast(e,d1);for(let o=0,a=d1.length;o<a;o++){const l=d1[o];l.instanceId=s,l.object=this,t.push(l)}d1.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new Ro(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}setMorphAt(e,t){const i=t.morphTargetInfluences,r=i.length+1;this.morphTexture===null&&(this.morphTexture=new zd(new Float32Array(r*this.count),r,this.count,kl,Zt));const s=this.morphTexture.source.data.data;let o=0;for(let c=0;c<i.length;c++)o+=i[c];const a=this.geometry.morphTargetsRelative?1:1-o,l=r*e;s[l]=a,s.set(i,l+1)}updateMorphTargets(){}dispose(){return this.dispatchEvent({type:"dispose"}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null),this}}const M3=new K,bK=new K,xK=new Lt;class El{constructor(e=new K(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=M3.subVectors(i,t).cross(bK.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(M3),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||xK.getNormalMatrix(e),r=this.coplanarPoint(M3).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Vc=new ao,h1=new K;class r4{constructor(e=new El,t=new El,i=new El,r=new El,s=new El,o=new El){this.planes=[e,t,i,r,s,o]}set(e,t,i,r,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(r),a[4].copy(s),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Ko){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],c=r[4],u=r[5],f=r[6],h=r[7],p=r[8],m=r[9],v=r[10],A=r[11],y=r[12],x=r[13],b=r[14],_=r[15];if(i[0].setComponents(l-s,h-c,A-p,_-y).normalize(),i[1].setComponents(l+s,h+c,A+p,_+y).normalize(),i[2].setComponents(l+o,h+u,A+m,_+x).normalize(),i[3].setComponents(l-o,h-u,A-m,_-x).normalize(),i[4].setComponents(l-a,h-f,A-v,_-b).normalize(),t===Ko)i[5].setComponents(l+a,h+f,A+v,_+b).normalize();else if(t===Vg)i[5].setComponents(a,f,v,b).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Vc.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Vc.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Vc)}intersectsSprite(e){return Vc.center.set(0,0,0),Vc.radius=.7071067811865476,Vc.applyMatrix4(e.matrixWorld),this.intersectsSphere(Vc)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)<r)return!1;return!0}intersectsBox(e){const t=this.planes;for(let i=0;i<6;i++){const r=t[i];if(h1.x=r.normal.x>0?e.max.x:e.min.x,h1.y=r.normal.y>0?e.max.y:e.min.y,h1.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(h1)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}class Lu extends Eo{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new ke(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const Qg=new K,Wg=new K,OS=new Ct,Rh=new kd,p1=new ao,I3=new K,FS=new K;class Ms extends Wt{constructor(e=new Hn,t=new Lu){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[0];for(let r=1,s=t.count;r<s;r++)Qg.fromBufferAttribute(t,r-1),Wg.fromBufferAttribute(t,r),i[r]=i[r-1],i[r]+=Qg.distanceTo(Wg);e.setAttribute("lineDistance",new en(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,s=e.params.Line.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),p1.copy(i.boundingSphere),p1.applyMatrix4(r),p1.radius+=s,e.ray.intersectsSphere(p1)===!1)return;OS.copy(r).invert(),Rh.copy(e.ray).applyMatrix4(OS);const a=s/((this.scale.x+this.scale.y+this.scale.z)/3),l=a*a,c=this.isLineSegments?2:1,u=i.index,h=i.attributes.position;if(u!==null){const p=Math.max(0,o.start),m=Math.min(u.count,o.start+o.count);for(let v=p,A=m-1;v<A;v+=c){const y=u.getX(v),x=u.getX(v+1),b=m1(this,e,Rh,l,y,x,v);b&&t.push(b)}if(this.isLineLoop){const v=u.getX(m-1),A=u.getX(p),y=m1(this,e,Rh,l,v,A,m-1);
vendor: 5,068 bytes, line 118
118y&&t.push(y)}}else{const p=Math.max(0,o.start),m=Math.min(h.count,o.start+o.count);for(let v=p,A=m-1;v<A;v+=c){const y=m1(this,e,Rh,l,v,v+1,v);y&&t.push(y)}if(this.isLineLoop){const v=m1(this,e,Rh,l,m-1,p,m-1);v&&t.push(v)}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s<o;s++){const a=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=s}}}}}function m1(n,e,t,i,r,s,o){const a=n.geometry.attributes.position;if(Qg.fromBufferAttribute(a,r),Wg.fromBufferAttribute(a,s),t.distanceSqToSegment(Qg,Wg,I3,FS)>i)return;I3.applyMatrix4(n.matrixWorld);const c=e.ray.origin.distanceTo(I3);if(!(c<e.near||c>e.far))return{distance:c,point:FS.clone().applyMatrix4(n.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:n}}const US=new K,NS=new K;class MA extends Ms{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,s=t.count;r<s;r+=2)US.fromBufferAttribute(t,r),NS.fromBufferAttribute(t,r+1),i[r]=r===0?0:i[r-1],i[r+1]=i[r]+US.distanceTo(NS);e.setAttribute("lineDistance",new en(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class CK extends Ms{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class oP extends Eo{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new ke(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const kS=new Ct,Mb=new kd,g1=new ao,A1=new K;class wK extends Wt{constructor(e=new Hn,t=new oP){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,s=e.params.Points.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),g1.copy(i.boundingSphere),g1.applyMatrix4(r),g1.radius+=s,e.ray.intersectsSphere(g1)===!1)return;kS.copy(r).invert(),Mb.copy(e.ray).applyMatrix4(kS);const a=s/((this.scale.x+this.scale.y+this.scale.z)/3),l=a*a,c=i.index,f=i.attributes.position;if(c!==null){const h=Math.max(0,o.start),p=Math.min(c.count,o.start+o.count);for(let m=h,v=p;m<v;m++){const A=c.getX(m);A1.fromBufferAttribute(f,A),zS(A1,A,l,r,e,t,this)}}else{const h=Math.max(0,o.start),p=Math.min(f.count,o.start+o.count);for(let m=h,v=p;m<v;m++)A1.fromBufferAttribute(f,m),zS(A1,m,l,r,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s<o;s++){const a=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=s}}}}}function zS(n,e,t,i,r,s,o){const a=Mb.distanceSqToPoint(n);if(a<t){const l=new K;Mb.closestPointToPoint(n,l),l.applyMatrix4(i);const c=r.ray.origin.distanceTo(l);if(c<r.near||c>r.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class IA extends xn{constructor(e,t,i,r,s,o,a,l,c,u,f,h){super(null,o,a,l,c,u,r,s,f,h),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class SK extends IA{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=ti,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class EK extends IA{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,tc),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class TK extends xn{constructor(e,t,i,r,s,o,a,l,c){super(e,t,i,r,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class aP extends xn{constructor(e,t,i,r,s,o,a,l,c,u=td){if(u!==td&&u!==Td)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&u===td&&(i=Pu),i===void 0&&u===Td&&(i=Ed),super(null,r,s,o,a,l,u,i,c),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=a!==void 0?a:Br,this.minFilter=l!==void 0?l:Br,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class ar extends Hn{constructor(e=1,t=1,i=1,r=32,s=1,o=!1,a=0,l=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiu
vendor: 28,599 bytes, line 118
118sTop:e,radiusBottom:t,height:i,radialSegments:r,heightSegments:s,openEnded:o,thetaStart:a,thetaLength:l};const c=this;r=Math.floor(r),s=Math.floor(s);const u=[],f=[],h=[],p=[];let m=0;const v=[],A=i/2;let y=0;x(),o===!1&&(e>0&&b(!0),t>0&&b(!1)),this.setIndex(u),this.setAttribute("position",new en(f,3)),this.setAttribute("normal",new en(h,3)),this.setAttribute("uv",new en(p,2));function x(){const _=new K,T=new K;let M=0;const I=(t-e)/i;for(let R=0;R<=s;R++){const w=[],E=R/s,F=E*(t-e)+e;for(let L=0;L<=r;L++){const z=L/r,V=z*l+a,j=Math.sin(V),N=Math.cos(V);T.x=F*j,T.y=-E*i+A,T.z=F*N,f.push(T.x,T.y,T.z),_.set(j,I,N).normalize(),h.push(_.x,_.y,_.z),p.push(z,1-E),w.push(m++)}v.push(w)}for(let R=0;R<r;R++)for(let w=0;w<s;w++){const E=v[w][R],F=v[w+1][R],L=v[w+1][R+1],z=v[w][R+1];(e>0||w!==0)&&(u.push(E,F,z),M+=3),(t>0||w!==s-1)&&(u.push(F,L,z),M+=3)}c.addGroup(y,M,0),y+=M}function b(_){const T=m,M=new Re,I=new K;let R=0;const w=_===!0?e:t,E=_===!0?1:-1;for(let L=1;L<=r;L++)f.push(0,A*E,0),h.push(0,E,0),p.push(.5,.5),m++;const F=m;for(let L=0;L<=r;L++){const V=L/r*l+a,j=Math.cos(V),N=Math.sin(V);I.x=w*N,I.y=A*E,I.z=w*j,f.push(I.x,I.y,I.z),h.push(0,E,0),M.x=j*.5+.5,M.y=N*.5*E+.5,p.push(M.x,M.y),m++}for(let L=0;L<r;L++){const z=T+L,V=F+L;_===!0?u.push(V,V+1,z):u.push(V+1,V,z),R+=3}c.addGroup(y,R,_===!0?1:2),y+=R}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new ar(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class s4 extends Hn{constructor(e=[],t=[],i=1,r=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:i,detail:r};const s=[],o=[];a(r),c(i),u(),this.setAttribute("position",new en(s,3)),this.setAttribute("normal",new en(s.slice(),3)),this.setAttribute("uv",new en(o,2)),r===0?this.computeVertexNormals():this.normalizeNormals();function a(x){const b=new K,_=new K,T=new K;for(let M=0;M<t.length;M+=3)p(t[M+0],b),p(t[M+1],_),p(t[M+2],T),l(b,_,T,x)}function l(x,b,_,T){const M=T+1,I=[];for(let R=0;R<=M;R++){I[R]=[];const w=x.clone().lerp(_,R/M),E=b.clone().lerp(_,R/M),F=M-R;for(let L=0;L<=F;L++)L===0&&R===M?I[R][L]=w:I[R][L]=w.clone().lerp(E,L/F)}for(let R=0;R<M;R++)for(let w=0;w<2*(M-R)-1;w++){const E=Math.floor(w/2);w%2===0?(h(I[R][E+1]),h(I[R+1][E]),h(I[R][E])):(h(I[R][E+1]),h(I[R+1][E+1]),h(I[R+1][E]))}}function c(x){const b=new K;for(let _=0;_<s.length;_+=3)b.x=s[_+0],b.y=s[_+1],b.z=s[_+2],b.normalize().multiplyScalar(x),s[_+0]=b.x,s[_+1]=b.y,s[_+2]=b.z}function u(){const x=new K;for(let b=0;b<s.length;b+=3){x.x=s[b+0],x.y=s[b+1],x.z=s[b+2];const _=A(x)/2/Math.PI+.5,T=y(x)/Math.PI+.5;o.push(_,1-T)}m(),f()}function f(){for(let x=0;x<o.length;x+=6){const b=o[x+0],_=o[x+2],T=o[x+4],M=Math.max(b,_,T),I=Math.min(b,_,T);M>.9&&I<.1&&(b<.2&&(o[x+0]+=1),_<.2&&(o[x+2]+=1),T<.2&&(o[x+4]+=1))}}function h(x){s.push(x.x,x.y,x.z)}function p(x,b){const _=x*3;b.x=e[_+0],b.y=e[_+1],b.z=e[_+2]}function m(){const x=new K,b=new K,_=new K,T=new K,M=new Re,I=new Re,R=new Re;for(let w=0,E=0;w<s.length;w+=9,E+=6){x.set(s[w+0],s[w+1],s[w+2]),b.set(s[w+3],s[w+4],s[w+5]),_.set(s[w+6],s[w+7],s[w+8]),M.set(o[E+0],o[E+1]),I.set(o[E+2],o[E+3]),R.set(o[E+4],o[E+5]),T.copy(x).add(b).add(_).divideScalar(3);const F=A(T);v(M,E+0,x,F),v(I,E+2,b,F),v(R,E+4,_,F)}}function v(x,b,_,T){T<0&&x.x===1&&(o[b]=x.x-1),_.x===0&&_.z===0&&(o[b]=T/2/Math.PI+.5)}function A(x){return Math.atan2(x.z,-x.x)}function y(x){return Math.atan2(-x.y,Math.sqrt(x.x*x.x+x.z*x.z))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new s4(e.vertices,e.indices,e.radius,e.details)}}class kf extends s4{constructor(e=1,t=0){const i=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],r=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(i,r,e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new kf(e.radius,e.detail)}}class lo extends Hn{constructor(e=1,t=1,i=1,r=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:i,heightSegments:r};const s=e/2,o=t/2,a=Math.floor(i),l=Math.floor(r),c=a+1,u=l+1,f=e/a,h=t/l,p=[],m=[],v=[],A=[];for(let y=0;y<u;y++){const x=y*h-o;for(let b=0;b<c;b++){const _=b*f-s;m.push(_,-x,0),v.push(0,0,1),A.push(b/a),A.push(1-y/l)}}for(let y=0;y<l;y++)for(let x=0;x<a;x++){const b=x+c*y,_=x+c*(y+1),T=x+1+c*(y+1),M=x+1+c*y;p.push(b,_,M),p.push(_,T,M)}this.setIndex(p),this.setAttribute("position",new en(m,3)),this.setAttribute("normal",new en(v,3)),this.setAttribute("uv",new en(A,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new lo(e.width,e.height,e.widthSegments,e.heightSegments)}}class Hd extends Hn{constructor(e=1,t=32,i=16,r=0,s=Math.PI*2,o=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:i,phiStart:r,phiLength:s,thetaStart:o,thetaLength:a},t=Math.max(3,Math.floor(t)),i=Math.max(2,Math.floor(i));const l=Math.min(o+a,Math.PI);let c=0;const u=[],f=new K,h=new K,p=[],m=[],v=[],A=[];for(let y=0;y<=i;y++){const x=[],b=y/i;let _=0;y===0&&o===0?_=.5/t:y===i&&l===Math.PI&&(_=-.5/t);for(let T=0;T<=t;T++){const M=T/t;f.x=-e*Math.cos(r+M*s)*Math.sin(o+b*a),f.y=e*Math.cos(o+b*a),f.z=e*Math.sin(r+M*s)*Math.sin(o+b*a),m.push(f.x,f.y,f.z),h.copy(f).normalize(),v.push(h.x,h.y,h.z),A.push(M+_,1-b),x.push(c++)}u.push(x)}for(let y=0;y<i;y++)for(let x=0;x<t;x++){const b=u[y][x+1],_=u[y][x],T=u[y+1][x],M=u[y+1][x+1];(y!==0||o>0)&&p.push(b,_,M),(y!==i-1||l<Math.PI)&&p.push(_,T,M)}this.setIndex(p),this.setAttribute("position",new en(m,3)),this.setAttribute("normal",new en(v,3)),this.setAttribute("uv",new en(A,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Hd(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class tu extends Hn{constructor(e=1,t=.4,i=12,r=48,s=Math.PI*2){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:i,tubularSegments:r,arc:s},i=Math.floor(i),r=Math.floor(r);const o=[],a=[],l=[],c=[],u=new K,f=new K,h=new K;for(let p=0;p<=i;p++)for(let m=0;m<=r;m++){const v=m/r*s,A=p/i*Math.PI*2;f.x=(e+t*Math.cos(A))*Math.cos(v),f.y=(e+t*Math.cos(A))*Math.sin(v),f.z=t*Math.sin(A),a.push(f.x,f.y,f.z),u.x=e*Math.cos(v),u.y=e*Math.sin(v),h.subVectors(f,u).normalize(),l.push(h.x,h.y,h.z),c.push(m/r),c.push(p/i)}for(let p=1;p<=i;p++)for(let m=1;m<=r;m++){const v=(r+1)*p+m-1,A=(r+1)*(p-1)+m-1,y=(r+1)*(p-1)+m,x=(r+1)*p+m;o.push(v,A,x),o.push(A,y,x)}this.setIndex(o),this.setAttribute("position",new en(a,3)),this.setAttribute("normal",new en(l,3)),this.setAttribute("uv",new en(c,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new tu(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class MK extends Hn{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],i=new Set,r=new K,s=new K;if(e.index!==null){const o=e.attributes.position,a=e.index;let l=e.groups;l.length===0&&(l=[{start:0,count:a.count,materialIndex:0}]);for(let c=0,u=l.length;c<u;++c){const f=l[c],h=f.start,p=f.count;for(let m=h,v=h+p;m<v;m+=3)for(let A=0;A<3;A++){const y=a.getX(m+A),x=a.getX(m+(A+1)%3);r.fromBufferAttribute(o,y),s.fromBufferAttribute(o,x),HS(r,s,i)===!0&&(t.push(r.x,r.y,r.z),t.push(s.x,s.y,s.z))}}}else{const o=e.attributes.position;for(let a=0,l=o.count/3;a<l;a++)for(let c=0;c<3;c++){const u=3*a+c,f=3*a+(c+1)%3;r.fromBufferAttribute(o,u),s.fromBufferAttribute(o,f),HS(r,s,i)===!0&&(t.push(r.x,r.y,r.z),t.push(s.x,s.y,s.z))}}this.setAttribute("position",new en(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function HS(n,e,t){const i=`${n.x},${n.y},${n.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${n.x},${n.y},${n.z}`;return t.has(i)===!0||t.has(r)===!0?!1:(t.add(i),t.add(r),!0)}class IK extends Cn{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class o4 extends Eo{constructor(e){super(),this.isMeshStandardMaterial=!0,this.type="MeshStandardMaterial",this.defines={STANDARD:""},this.color=new ke(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ke(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=jI,this.normalScale=new Re(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pi,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class co extends o4{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Re(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Ot(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new ke(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new ke(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new ke(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class PK extends Eo{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=y$,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class RK extends Eo{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}function v1(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function BK(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function DK(n){function e(r,s){return n[r]-n[s]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function VS(n,e,t){const i=n.length,r=new n.constructor(i);for(let s=0,o=0;o!==i;++s){const a=t[s]*e;for(let l=0;l!==e;++l)r[o++]=n[a+l]}return r}function lP(n,e,t,i){let r=1,s=n[0];for(;s!==void 0&&s[i]===void 0;)s=n[r++];if(s===void 0)return;let o=s[i];if(o!==void 0)if(Array.isArray(o))do o=s[i],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=n[r++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[i],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=n[r++];while(s!==void 0);else do o=s[i],o!==void 0&&(e.push(s.time),t.push(o)),s=n[r++];while(s!==void 0)}class Mp{constructor(e,t,i,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r!==void 0?r:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let i=this._cachedIndex,r=t[i],s=t[i-1];n:{e:{let o;t:{i:if(!(e<r)){for(let a=i+2;;){if(r===void 0){if(e<s)break i;return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===a)break;if(s=r,r=t[++i],e<r)break e}o=t.length;break t}if(!(e>=s)){const a=t[1];e<a&&(i=2,s=a);for(let l=i-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===l)break;if(r=s,s=t[--i-1],e>=s)break e}o=i,i=0;break t}break n}for(;i<o;){const a=i+o>>>1;e<t[a]?o=a:i=a+1}if(r=t[i],s=t[i-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,s,r)}return this.interpolate_(i,s,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,s=e*r;for(let o=0;o!==r;++o)t[o]=i[s+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class LK extends Mp{constructor(e,t,i,r){super(e,t,i,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:nS,endingEnd:nS}}intervalChanged_(e,t,i){const r=this.parameterPositions;let s=e-2,o=e+1,a=r[s],l=r[o];if(a===void 0)switch(this.getSettings_().endingStart){case iS:s=e,a=2*t-i;break;case rS:s=r.length-2,a=t+r[s]-r[s+1];break;default:s=e,a=i}if(l===void 0)switch(this.getSettings_().endingEnd){case iS:o=e,l=2*i-t;break;case rS:o=1,l=i+r[1]-r[0];break;default:o=e-1,l=t}const c=(i-t)*.5,u=this.valueSize;this._weightPrev=c/(t-a),this._weightNext=c/(l-i),this._offsetPrev=s*u,this._offsetNext=o*u}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=e*a,c=l-a,u=this._offsetPrev,f=this._offsetNext,h=this._weightPrev,p=this._weightNext,m=(i-t)/(r-t),v=m*m,A=v*m,y=-h*A+2*h*v-h*m,x=(1+h)*A+(-1.5-2*h)*v+(-.5+h)*m+1,b=(-1-p)*A+(1.5+p)*v+.5*m,_=p*A-p*v;for(let T=0;T!==a;++T)s[T]=y*o[u+T]+x*o[c+T]+b*o[l+T]+_*o[f+T];return s}}class OK extends Mp{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=e*a,c=l-a,u=(i-t)/(r-t),f=1-u;for(let h=0;h!==a;++h)s[h]=o[c+h]*f+o[l+h]*u;return s}}class FK extends Mp{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class na{constructor(e,t,i,r){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=v1(t,this.TimeBufferType),this.values=v1(i,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let i;if(t.toJSON!==this.toJSON)i=t.toJSON(e);else{i={name:e.name,times:v1(e.times,Array),values:v1(e.values,Array)};const r=e.getInterpolation();r!==e.DefaultInterpolation&&(i.interpolation=r)}return i.type=e.ValueTypeName,i}InterpolantFactoryMethodDiscrete(e){return new FK(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new OK(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new LK(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case J0:t=this.InterpolantFactoryMethodDiscrete;break;case ep:t=this.InterpolantFactoryMethodLinear;break;case r3:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){const i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return J0;case this.InterpolantFactoryMethodLinear:return ep;case this.InterpolantFactoryMethodSmooth:return r3}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]+=e}return this}scale(e){if(e!==1){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]*=e}return this}trim(e,t){const i=this.times,r=i.length;let s=0,o=r-1;for(;s!==r&&i[s]<e;)++s;for(;o!==-1&&i[o]>t;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=i.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=i[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(r!==void 0&&BK(r))for(let a=0,l=r.length;a!==l;++a){const c=r[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===r3,s=e.length-1;let o=1;for(let a=1;a<s;++a){let l=!1;const c=e[a],u=e[a+1];if(c!==u&&(a!==1||c!==e[0]))if(r)l=!0;else{const f=a*i,h=f-i,p=f+i;for(let m=0;m!==i;++m){const v=t[f+m];if(v!==t[h+m]||v!==t[p+m]){l=!0;break}}}if(l){if(a!==o){e[o]=e[a];const f=a*i,h=o*i;for(let p=0;p!==i;++p)t[h+p]=t[f+p]}++o}}if(s>0){e[o]=e[s];for(let a=s*i,l=o*i,c=0;c!==i;++c)t[l+c]=t[a+c];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}na.prototype.TimeBufferType=Float32Array;na.prototype.ValueBufferType=Float32Array;na.prototype.DefaultInterpolation=ep;class Vd extends na{constructor(e,t,i){super(e,t,i)}}Vd.prototype.ValueTypeName="bool";Vd.prototype.ValueBufferType=Array;Vd.prototype.DefaultInterpolation=J0;Vd.prototype.InterpolantFactoryMethodLinear=void 0;Vd.prototype.InterpolantFactoryMethodSmooth=void 0;class cP extends na{}cP.prototype.ValueTypeName="color";class Pd extends na{}Pd.prototype.ValueTypeName="number";class UK extends Mp{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let c=e*a;for(let u=c+a;c!==u;c+=4)Xn.slerpFlat(s,0,o,c-a,o,c,l);return s}}class Rd extends na{InterpolantFactoryMethodLinear(e){return new UK(this.times,this.values,this.getValueSize(),e)}}Rd.prototype.ValueTypeName="quaternion";Rd.prototype.InterpolantFactoryMethodSmooth=void 0;class Gd extends na{constructor(e,t,i){super(e,t,i)}}Gd.prototype.ValueTypeName="string";Gd.prototype.ValueBufferType=Array;Gd.prototype.DefaultInterpolation=J0;Gd.prototype.InterpolantFactoryMethodLinear=void 0;Gd.prototype.InterpolantFactoryMethodSmooth=void 0;class Bd extends na{}Bd.prototype.ValueTypeName="vector";class NK{constructor(e="",t=-1,i=[],r=A$){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=So(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,a=i.length;o!==a;++o)t.push(zK(i[o]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=i.length;s!==o;++s)t.push(na.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a<s;a++){let l=[],c=[];l.push((a+s-1)%s,a,(a+1)%s),c.push(0,1,0);const u=DK(l);l=VS(l,1,u),c=VS(c,1,u),!r&&l[0]===0&&(l.push(s),c.push(c[0])),o.push(new Pd(".morphTargetInfluences["+t[a].name+"]",l,c).scale(1/i))}return new this(e,-1,o)}static findByName(e,t){let i=e;if(!Array.isArray(e)){const r=e;i=r.geometry&&r.geometry.animations||r.animations}for(let r=0;r<i.length;r++)if(i[r].name===t)return i[r];return null}static CreateClipsFromMorphTargetSequences(e,t,i){const r={},s=/^([\w-]*?)([\d]+)$/;for(let a=0,l=e.length;a<l;a++){const c=e[a],u=c.name.match(s);if(u&&u.length>1){const f=u[1];let h=r[f];h||(r[f]=h=[]),h.push(c)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(f,h,p,m,v){if(p.length!==0){const A=[],y=[];lP(p,A,y,m),A.length!==0&&v.push(new f(h,A,y))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let f=0;f<c.length;f++){const h=c[f].keys;if(!(!h||h.length===0))if(h[0].morphTargets){const p={};let m;for(m=0;m<h.length;m++)if(h[m].morphTargets)for(let v=0;v<h[m].morphTargets.length;v++)p[h[m].morphTargets[v]]=-1;for(const v in p){const A=[],y=[];for(let x=0;x!==h[m].morphTargets.length;++x){const b=h[m];A.push(b.time),y.push(b.morphTarget===v?1:0)}r.push(new Pd(".morphTargetInfluence["+v+"]",A,y))}l=p.length*o}else{const p=".bones["+t[f].name+"]";i(Bd,p+".position",h,"pos",r),i(Rd,p+".quaternion",h,"rot",r),i(Bd,p+".scale",h,"scl",r)}}return r.length===0?null:new this(s,l,r,a)}resetDuration(){const e=this.tracks;let t=0;for(let i=0,r=e.length;i!==r;++i){const s=this.tracks[i];t=Math.max(t,s.times[s.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function kK(n){switch(n.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Pd;case"vector":case"vector2":case"vector3":case"vector4":return Bd;case"color":return cP;case"quaternion":return Rd;case"bool":case"boolean":return Vd;case"string":return Gd}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+n)}function zK(n){if(n.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=kK(n.type);if(n.times===void 0){const t=[],i=[];lP(n.keys,t,i,"value"),n.times=t,n.values=i}return e.parse!==void 0?e.parse(n):new e(n.name,n.times,n.values,n.interpolation)}const zl={enabled:!1,files:{},add:function(n,e){this.enabled!==!1&&(this.files[n]=e)},get:function(n){if(this.enabled!==!1)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}};class HK{constructor(e,t,i){const r=this;let s=!1,o=0,a=0,l;const c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(u){a++,s===!1&&r.onStart!==void 0&&r.onStart(u,o,a),s=!0},this.itemEnd=function(u){o++,r.onProgress!==void 0&&r.onProgress(u,o,a),o===a&&(s=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(u){r.onError!==void 0&&r.onError(u)},this.resolveURL=function(u){return l?l(u):u},this.setURLModifier=function(u){return l=u,this},this.addHandler=function(u,f){return c.push(u,f),this},this.removeHandler=function(u){const f=c.indexOf(u);return f!==-1&&c.splice(f,2),this},this.getHandler=function(u){for(let f=0,h=c.length;f<h;f+=2){const p=c[f],m=c[f+1];if(p.global&&(p.lastIndex=0),p.test(u))return m}return null}}}const VK=new HK;class ia{constructor(e){this.manager=e!==void 0?e:VK,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const i=this;return new Promise(function(r,s){i.load(e,r,t,s)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}ia.DEFAULT_MATERIAL_NAME="__DEFAULT";const xa={};class GK extends Error{constructor(e,t){super(e),this.response=t}}class Yl extends ia{constructor(e){super(e)}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=zl.get(e);if(s!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(s),this.manager.itemEnd(e)},0),s;if(xa[e]!==void 0){xa[e].push({onLoad:t,onProgress:i,onError:r});return}xa[e]=[],xa[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=xa[e],f=c.body.getReader(),h=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),p=h?parseInt(h):0,m=p!==0;let v=0;const A=new ReadableStream({start(y){x();function x(){f.read().then(({done:b,value:_})=>
vendor: 1,926 bytes, line 118
118{if(b)y.close();else{v+=_.byteLength;const T=new ProgressEvent("progress",{lengthComputable:m,loaded:v,total:p});for(let M=0,I=u.length;M<I;M++){const R=u[M];R.onProgress&&R.onProgress(T)}y.enqueue(_),x()}},b=>{y.error(b)})}}});return new Response(A)}else throw new GK(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,a));case"json":return c.json();default:if(a===void 0)return c.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),h=f&&f[1]?f[1].toLowerCase():void 0,p=new TextDecoder(h);return c.arrayBuffer().then(m=>p.decode(m))}}}).then(c=>{zl.add(e,c);const u=xa[e];delete xa[e];for(let f=0,h=u.length;f<h;f++){const p=u[f];p.onLoad&&p.onLoad(c)}}).catch(c=>{const u=xa[e];if(u===void 0)throw this.manager.itemError(e),c;delete xa[e];for(let f=0,h=u.length;f<h;f++){const p=u[f];p.onError&&p.onError(c)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class uP extends ia{constructor(e){super(e)}load(e,t,i,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=zl.get(e);if(o!==void 0)return s.manager.itemStart(e),setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o;const a=tp("img");function l(){u(),zl.add(e,this),t&&t(this),s.manager.itemEnd(e)}function c(f){u(),r&&r(f),s.manager.itemError(e),s.manager.itemEnd(e)}function u(){a.removeEventListener("load",l,!1),a.removeEventListener("error",c,!1)}return a.addEventListener("load",l,!1),a.addEventListener("error",c,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin),s.manager.itemStart(e),a.src=e,a}}class QK extends ia{constructor(e){super(e)}load(e,t,i,r){const s=new np;
vendor: 6,174 bytes, line 118
118s.colorSpace=En;const o=new uP(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);let a=0;function l(c){o.load(e[c],function(u){s.images[c]=u,a++,a===6&&(s.needsUpdate=!0,t&&t(s))},void 0,r)}for(let c=0;c<e.length;++c)l(c);return s}}class WK extends ia{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new zd,a=new Yl(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(s.withCredentials),a.load(e,function(l){let c;try{c=s.parse(l)}catch(u){if(r!==void 0)r(u);else{console.error(u);return}}c.image!==void 0?o.image=c.image:c.data!==void 0&&(o.image.width=c.width,o.image.height=c.height,o.image.data=c.data),o.wrapS=c.wrapS!==void 0?c.wrapS:ti,o.wrapT=c.wrapT!==void 0?c.wrapT:ti,o.magFilter=c.magFilter!==void 0?c.magFilter:Yt,o.minFilter=c.minFilter!==void 0?c.minFilter:Yt,o.anisotropy=c.anisotropy!==void 0?c.anisotropy:1,c.colorSpace!==void 0&&(o.colorSpace=c.colorSpace),c.flipY!==void 0&&(o.flipY=c.flipY),c.format!==void 0&&(o.format=c.format),c.type!==void 0&&(o.type=c.type),c.mipmaps!==void 0&&(o.mipmaps=c.mipmaps,o.minFilter=Fs),c.mipmapCount===1&&(o.minFilter=Yt),c.generateMipmaps!==void 0&&(o.generateMipmaps=c.generateMipmaps),o.needsUpdate=!0,t&&t(o,c)},i,r),o}}class fP extends ia{constructor(e){super(e)}load(e,t,i,r){const s=new xn,o=new uP(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(a){s.image=a,s.needsUpdate=!0,t!==void 0&&t(s)},i,r),s}}class PA extends Wt{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new ke(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}}const P3=new Ct,GS=new K,QS=new K;class a4{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Re(512,512),this.map=null,this.mapPass=null,this.matrix=new Ct,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new r4,this._frameExtents=new Re(1,1),this._viewportCount=1,this._viewports=[new Vt(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;GS.setFromMatrixPosition(e.matrixWorld),t.position.copy(GS),QS.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(QS),t.updateMatrixWorld(),P3.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(P3),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(P3)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class jK extends a4{constructor(){super(new Zi(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,i=Md*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,s=e.distance||t.far;(i!==t.fov||r!==t.aspect||s!==t.far)&&(t.fov=i,t.aspect=r,t.far=s,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class qK extends PA{constructor(e,t,i=0,r=Math.PI/3,s=0,o=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(Wt.DEFAULT_UP),this.updateMatrix(),this.target=new Wt,this.distance=i,this.angle=r,this.penumbra=s,this.decay=o,this.map=null,this.shadow=new jK}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const WS=new Ct,Bh=new K,R3=new K;class XK extends a4{constructor(){super(new Zi(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Re(4,2),this._viewportCount=6,this._viewports=[new Vt(2,1,1,1),new Vt(0,1,1,1),new Vt(3,1,1,1),new Vt(1,1,1,1),new Vt(3,0,1,1),new Vt(1,0,1,1)],this._cubeDirections=[new K(1,0,0),new K(-1,0,0),new K(0,0,1),new K(0,0,-1),new K(0,1,0),new K(0,-1,0)],this._cubeUps=[new K(0,1,0),new K(0,1,0),new K(0,1,0),new K(0,1,0),new K(0,0,1),new K(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,r=this.matrix,s=e.distance||i.far;s!==i.far&&(i.far=s,i.updateProjectionMatrix()),Bh.setFromMatrixPosition(e.matrixWorld),i.position.copy(Bh),R3.copy(i.position),R3.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(R3),i.updateMatrixWorld(),r.makeTranslation(-Bh.x,-Bh.y,-Bh.z),WS.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(WS)}}class YK extends PA{constructor(e,t,i=0,r=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=r,this.shadow=new XK}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class Ou extends TA{constructor(e=-1,t=1,i=1,r=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="Orthogra
118phicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,o=i+e,a=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=u*this.view.offsetY,l=a-u*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}class $K extends a4{constructor(){super(new Ou(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class jg extends PA{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(Wt.DEFAULT_UP),this.updateMatrix(),this.target=new Wt,this.shadow=new $K}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class KK extends PA{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class T0{static decodeText(e){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i<r;i++)t+=String.fromCharCode(e[i]);try{return decodeURIComponent(escape(t))}catch{return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class ZK extends Hn{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class JK extends ia{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=zl.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(c=>{t&&t(c),s.manager.itemEnd(e)}).catch(c=>{r&&r(c)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return zl.add(e,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),zl.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});zl.add(e,l),s.manager.itemStart(e)}}class eZ extends Zi{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e,this.index=0}}class dP{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=jS(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=jS();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function jS(){return performance.now()}const l4="\\[\\]\\.:\\/",tZ=new RegExp("["+l4+"]","g"),c4="[^"+l4+"]",nZ="[^"+l4.replace("\\.","")+"]",iZ=/((?:WC+[\/:])*)/.source.replace("WC",c4),rZ=/(WCOD+)?/.source.replace("WCOD",nZ),sZ=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",c4),oZ=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",c4),aZ=new RegExp("^"+iZ+rZ+sZ+oZ+"$"),lZ=["material","materials","bones","map"];class cZ{constructor(e,t,i){const r=i||bn.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class bn{constructor(e,t,i){this.path=t,this.parsedPath=i||bn.parseTrackName(t),this.node=bn.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new bn.Composite(e,t,i):new bn(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(tZ,"")}static parseTrackName(e){const t=aZ.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=i.nodeName.substring(r+1);lZ.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o<s.length;o++){const a=s[o];if(a.name===t||a.uuid===t)return a;const l=i(a.children);if(l)return l}return null},r=i(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)e[t++]=i[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++];this.targetObject.needsUpdate=!0}
vendor: 9,581 bytes, line 118
118_setValue_array_setMatrixWorldNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath,i=t.objectName,r=t.propertyName;let s=t.propertyIndex;if(e||(e=bn.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let c=t.objectIndex;switch(i){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let u=0;u<e.length;u++)if(e[u].name===c){c=u;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[i]}if(c!==void 0){if(e[c]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[c]}}const o=e[r];if(o===void 0){const c=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+c+"."+r+" but it wasn't found.",e);return}let a=this.Versioning.None;this.targetObject=e,e.isMaterial===!0?a=this.Versioning.NeedsUpdate:e.isObject3D===!0&&(a=this.Versioning.MatrixWorldNeedsUpdate);let l=this.BindingType.Direct;if(s!==void 0){if(r==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[s]!==void 0&&(s=e.morphTargetDictionary[s])}l=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=s}else o.fromArray!==void 0&&o.toArray!==void 0?(l=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(l=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=r;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}bn.Composite=cZ;bn.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};bn.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};bn.prototype.GetterByBindingType=[bn.prototype._getValue_direct,bn.prototype._getValue_array,bn.prototype._getValue_arrayElement,bn.prototype._getValue_toArray];bn.prototype.SetterByBindingTypeAndVersioning=[[bn.prototype._setValue_direct,bn.prototype._setValue_direct_setNeedsUpdate,bn.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[bn.prototype._setValue_array,bn.prototype._setValue_array_setNeedsUpdate,bn.prototype._setValue_array_setMatrixWorldNeedsUpdate],[bn.prototype._setValue_arrayElement,bn.prototype._setValue_arrayElement_setNeedsUpdate,bn.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[bn.prototype._setValue_fromArray,bn.prototype._setValue_fromArray_setNeedsUpdate,bn.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class Yr extends n4{constructor(e,t,i=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}const qS=new Ct;class u4{constructor(e,t,i=0,r=1/0){this.ray=new kd(e,t),this.near=i,this.far=r,this.camera=null,this.layers=new t4,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}setFromXRController(e){return qS.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(qS),this}intersectObject(e,t=!0,i=[]){return Ib(e,this,i,t),i.sort(XS),i}intersectObjects(e,t=!0,i=[]){for(let r=0,s=e.length;r<s;r++)Ib(e[r],this,i,t);return i.sort(XS),i}}function XS(n,e){return n.distance-e.distance}function Ib(n,e,t,i){let r=!0;if(n.layers.test(e.layers)&&n.raycast(e,t)===!1&&(r=!1),r===!0&&i===!0){const s=n.children;for(let o=0,a=s.length;o<a;o++)Ib(s[o],e,t,!0)}}class YS{constructor(e=1,t=0,i=0){return this.radius=e,this.phi=t,this.theta=i,this}set(e,t,i){return this.radius=e,this.phi=t,this.theta=i,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Ot(this.phi,1e-6,Math.PI-1e-6),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+t*t+i*i),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,i),this.phi=Math.acos(Ot(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}const $S=new K,y1=new K;class uZ{constructor(e=new K,t=new K){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){$S.subVectors(e,this.start),y1.subVectors(this.end,this.start);const i=y1.dot(y1);let s=y1.dot($S)/i;return t&&(s=Ot(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}class hP extends MA{constructor(e=10,t=10,i=4473924,r=8947848){i=new ke(i),r=new ke(r);const s=t/2,o=e/t,a=e/2,l=[],c=[];for(let h=0,p=0,m=-a;h<=t;h++,m+=o){l.push(-a,0,m,a,0,m),l.push(m,0,-a,m,0,a);const v=h===s?i:r;v.toArray(c,p),p+=3,v.toArray(c,p),p+=3,v.toArray(c,p),p+=3,v.toArray(c,p),p+=3}const u=new Hn;u.setAttribute("position",new en(l,3)),u.setAttribute("color",new en(c,3));const f=new Lu({vertexColors:!0,toneMapped:!1});super(u,f),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const KS=new K,_1=new K,ZS=new K;class JS extends Wt{constructor(e,t,i){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,this.type="DirectionalLightHelper",t===void 0&&(t=1);let r=new Hn;r.setAttribute("position",new en([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const s=new Lu({fog:!1,toneMapped:!1});this.lightPlane=new Ms(r,s),this.add(this.lightPlane),r=new Hn,r.setAttribute("position",new en([0,0,0,0,0,1],3)),this.targetLine=new Ms(r,s),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),KS.setFromMatrixPosition(this.light.matrixWorld),_1.setFromMatrixPosition(this.light.target.matrixWorld),ZS.subVectors(_1,KS),this.lightPlane.lookAt(_1),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(_1),this.targetLine.scale.z
118=ZS.length()}}const b1=new K,ui=new TA;class f4 extends MA{constructor(e){const t=new Hn,i=new Lu({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],s=[],o={};a("n1","n2"),a("n2","n4"),a("n4","n3"),a("n3","n1"),a("f1","f2"),a("f2","f4"),a("f4","f3"),a("f3","f1"),a("n1","f1"),a("n2","f2"),a("n3","f3"),a("n4","f4"),a("p","n1"),a("p","n2"),a("p","n3"),a("p","n4"),a("u1","u2"),a("u2","u3"),a("u3","u1"),a("c","t"),a("p","c"),a("cn1","cn2"),a("cn3","cn4"),a("cf1","cf2"),a("cf3","cf4");function a(m,v){l(m),l(v)}function l(m){r.push(0,0,0),s.push(0,0,0),o[m]===void 0&&(o[m]=[]),o[m].push(r.length/3-1)}t.setAttribute("position",new en(r,3)),t.setAttribute("color",new en(s,3)),super(t,i),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update();const c=new ke(16755200),u=new ke(16711680),f=new ke(43775),h=new ke(16777215),p=new ke(3355443);this.setColors(c,u,f,h,p)}setColors(e,t,i,r,s){const a=this.geometry.getAttribute("color");a.setXYZ(0,e.r,e.g,e.b),a.setXYZ(1,e.r,e.g,e.b),a.setXYZ(2,e.r,e.g,e.b),a.setXYZ(3,e.r,e.g,e.b),a.setXYZ(4,e.r,e.g,e.b),a.setXYZ(5,e.r,e.g,e.b),a.setXYZ(6,e.r,e.g,e.b),a.setXYZ(7,e.r,e.g,e.b),a.setXYZ(8,e.r,e.g,e.b),a.setXYZ(9,e.r,e.g,e.b),a.setXYZ(10,e.r,e.g,e.b),a.setXYZ(11,e.r,e.g,e.b),a.setXYZ(12,e.r,e.g,e.b),a.setXYZ(13,e.r,e.g,e.b),a.setXYZ(14,e.r,e.g,e.b),a.setXYZ(15,e.r,e.g,e.b),a.setXYZ(16,e.r,e.g,e.b),a.setXYZ(17,e.r,e.g,e.b),a.setXYZ(18,e.r,e.g,e.b),a.setXYZ(19,e.r,e.g,e.b),a.setXYZ(20,e.r,e.g,e.b),a.setXYZ(21,e.r,e.g,e.b),a.setXYZ(22,e.r,e.g,e.b),a.setXYZ(23,e.r,e.g,e.b),a.setXYZ(24,t.r,t.g,t.b),a.setXYZ(25,t.r,t.g,t.b),a.setXYZ(26,t.r,t.g,t.b),a.setXYZ(27,t.r,t.g,t.b),a.setXYZ(28,t.r,t.g,t.b),a.setXYZ(29,t.r,t.g,t.b),a.setXYZ(30,t.r,t.g,t.b),a.setXYZ(31,t.r,t.g,t.b),a.setXYZ(32,i.r,i.g,i.b),a.setXYZ(33,i.r,i.g,i.b),a.setXYZ(34,i.r,i.g,i.b),a.setXYZ(35,i.r,i.g,i.b),a.setXYZ(36,i.r,i.g,i.b),a.setXYZ(37,i.r,i.g,i.b),a.setXYZ(38,r.r,r.g,r.b),a.setXYZ(39,r.r,r.g,r.b),a.setXYZ(40,s.r,s.g,s.b),a.setXYZ(41,s.r,s.g,s.b),a.setXYZ(42,s.r,s.g,s.b),a.setXYZ(43,s.r,s.g,s.b),a.setXYZ(44,s.r,s.g,s.b),a.setXYZ(45,s.r,s.g,s.b),a.setXYZ(46,s.r,s.g,s.b),a.setXYZ(47,s.r,s.g,s.b),a.setXYZ(48,s.r,s.g,s.b),a.setXYZ(49,s.r,s.g,s.b),a.needsUpdate=!0}update(){const e=this.geometry,t=this.pointMap,i=1,r=1;ui.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);const s=this.camera.coordinateSystem===Ko?-1:0;yi("c",t,e,ui,0,0,s),yi("t",t,e,ui,0,0,1),yi("n1",t,e,ui,-1,-1,s),yi("n2",t,e,ui,i,-1,s),yi("n3",t,e,ui,-1,r,s),yi("n4",t,e,ui,i,r,s),yi("f1",t,e,ui,-1,-1,1),yi("f2",t,e,ui,i,-1,1),yi("f3",t,e,ui,-1,r,1),yi("f4",t,e,ui,i,r,1),yi("u1",t,e,ui,i*.7,r*1.1,s),yi("u2",t,e,ui,-1*.7,r*1.1,s),yi("u3",t,e,ui,0,r*2,s),yi("cf1",t,e,ui,-1,0,1),yi("cf2",t,e,ui,i,0,1),yi("cf3",t,e,ui,0,-1,1),yi("cf4",t,e,ui,0,r,1),yi("cn1",t,e,ui,-1,0,s),yi("cn2",t,e,ui,i,0,s),yi("cn3",t,e,ui,0,-1,s),yi("cn4",t,e,ui,0,r,s),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}}function yi(n,e,t,i,r,s,o){b1.set(r,s,o).unproject(i);const a=e[n];if(a!==void 0){const l=t.getAttribute("position");for(let c=0,u=a.length;c<u;c++)l.setXYZ(a[c],b1.x,b1.y,b1.z)}}class fZ extends MA{constructor(e,t=16776960){const i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],s=new Hn;s.setIndex(new Gi(i,1)),s.setAttribute("position",new en(r,3)),super(s,new Lu({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}}class pP extends ac{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(){}disconnect(){}dispose(){}update(){}}function e8(n,e,t,i){const r=dZ(i);switch(t){case zI:return n*e;case VI:return n*e;case GI:return n*e*2;case kl:return n*e/r.components*r.byteLength;case $x:return n*e/r.components*r.byteLength;case ou:return n*e*2/r.components*r.byteLength;case Kx:return n*e*2/r.components*r.byteLength;case HI:return n*e*3/r.components*r.byteLength;case pi:return n*e*4/r.components*r.byteLength;case Zx:return n*e*4/r.components*r.byteLength;case K1:case x0:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*8;case Z1:case C0:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case lb:case cb:return Math.max(n,16)*Math.max(e,8)/4;case Og:case Fg:return Math.max(n,8)*Math.max(e,8)/2;case Ug:case Ng:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*8;case kg:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case K0:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case ub:return Math.floor((n+4)/5)*Math.floor((e+3)/4)*16;case fb:return Math.floor((n+4)/5)*Math.floor((e+4)/5)*16;case db:return Math.floor((n+5)/6)*Math.floor((e+4)/5)*16;case Z0:return Math.floor((n+5)/6)*Math.floor((e+5)/6)*16;case hb:return Math.floor((n+7)/8)*Math.floor((e+4)/5)*16;case pb:return Math.floor((n+7)/8)*Math.floor((e+5)/6)*16;case mb:return Math.floor((n+7)/8)*Math.floor((e+7)/8)*16;case gb:return Math.floor((n+9)/10)*Math.floor((e+4)/5)*16;case Ab:return Math.floor((n+9)/10)*Math.floor((e+5)/6)*16;case vb:return Math.floor((n+9)/10)*Math.floor((e+7)/8)*16;case yb:return Math.floor((n+9)/10)*Math.floor((e+9)/10)*16;case _b:return Math.floor((n+11)/12)*Math.floor((e+9)/10)*16;case bb:return Math.floor((n+11)/12)*Math.floor((e+11)/12)*16;case w0:case xb:case zg:return Math.ceil(n/4)*Math.ceil(e/4)*16;case QI:case Cb:return Math.ceil(n/4)*Math.ceil(e/4)*8;case wb:case Sb:return Math.ceil(n/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function dZ(n){switch(n){case Ki:case UI:return{byteLength:1,components:1};case $0:case NI:case nn:return{byteLength:2,components:1};case Xx:case Yx:return{byteLength:2,components:4};case Pu:case qx:case Zt:return{byteLength:4,components:1};case kI:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${n}.`)}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Qx}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Qx);/** 119 * @license 120 * Copyright 2010-2025 Three.js Authors 121 * SPDX-License-Identifier: MIT 122 */function mP(){let n=null,e=!1,t=null,i=null;function r(s,o){t(s,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function hZ(n){const e=new WeakMap;function t(a,l){const c=a.array,u=a.usage,f=c.byteLength,h=n.createBuffer();n.bindBuffer(l,h),n.bufferData(l,c,u),a.onUploadCallback();let p;if(c instanceof Float32Array)p=n.FLOAT;else if(c instanceof Uint16Array)a.isFloat16BufferAttribute?p=n.HALF_FLOAT:p=n.UNSIGNED_SHORT;else if(c instanceof Int16Array)p=n.SHORT;else if(c instanceof Uint32Array)p=n.UNSIGNED_INT;else if(c instanceof Int32Array)p=n.INT;else if(c instanceof Int8Array)p=n.BYTE;else if(c instanceof Uint8Array)p=n.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)p=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:h,type:p,bytesPerElement:c.BYTES_PER_ELEMENT,version:a.version,size:f}}function i(a,l,c){const u=l.array,f=l.updateRanges;if(n.bindBuffer(c,a),f.length===0)n.bufferSubData(c,0,u);else{f.sort((p,m)=>p.start-m.start);let h=0;for(let p=1;p<f.length;p++){const m=f[h],v=f[p];v.start<=m.start+m.count+1?m.count=Math.max(m.count,v.start+v.count-m.start):(++h,f[h]=v)}f.length=h+1;for(let p=0,m=f.length;p<m;p++){const v=f[p];n.bufferSubData(c,v.start*u.BYTES_PER_ELEMENT,u,v.start,v.count)}l.clearUpdateRanges()}l.onUploadCallback()}function r(a){return a.isInterleavedBufferAttribute&&(a=a.data),e.get(a)}function s(a){a.isInterleavedBufferAttribute&&(a=a.data);const l=e.get(a);l&&(n.deleteBuffer(l.buffer),e.delete(a))}function o(a,l){if(a.isInterleavedBufferAttribute&&(a=a.data),a.isGLBufferAttribute){const u=e.get(a);(!u||u.version<a.version)&&e.set(a,{buffer:a.buffer,type:a.type,bytesPerElement:a.elementSize,version:a.version});return}const c=e.get(a);if(c===void 0)e.set(a,t(a,l));else if(c.version<a.version){if(c.size!==a.array.byteLength)throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.");i(c.buffer,a,l),c.version=a.version}}return{get:r,remove:s,update:o}}var pZ=`#ifdef USE_ALPHAHASH 123 if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard; 124#endif`,mZ=`#ifdef USE_ALPHAHASH 125 const float ALPHA_HASH_SCALE = 0.05; 126 float hash2D( vec2 value ) { 127 return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) ); 128 } 129 float hash3D( vec3 value ) { 130 return hash2D( vec2( hash2D( value.xy ), value.z ) ); 131 } 132 float getAlphaHashThreshold( vec3 position ) { 133 float maxDeriv = max( 134 length( dFdx( position.xyz ) ), 135 length( dFdy( position.xyz ) ) 136 ); 137 float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv ); 138 vec2 pixScales = vec2( 139 exp2( floor( log2( pixScale ) ) ), 140 exp2( ceil( log2( pixScale ) ) ) 141 ); 142 vec2 alpha = vec2( 143 hash3D( floor( pixScales.x * position.xyz ) ), 144 hash3D( floor( pixScales.y * position.xyz ) ) 145 ); 146 float lerpFactor = fract( log2( pixScale ) ); 147 float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y; 148 float a = min( lerpFactor, 1.0 - lerpFactor ); 149 vec3 cases = vec3( 150 x * x / ( 2.0 * a * ( 1.0 - a ) ), 151 ( x - 0.5 * a ) / ( 1.0 - a ), 152 1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) ) 153 ); 154 float threshold = ( x < ( 1.0 - a ) ) 155 ? ( ( x < a ) ? cases.x : cases.y ) 156 : cases.z; 157 return clamp( threshold , 1.0e-6, 1.0 ); 158 } 159#endif`,gZ=`#ifdef USE_ALPHAMAP 160 diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g; 161#endif`,AZ=`#ifdef USE_ALPHAMAP 162 uniform sampler2D alphaMap; 163#endif`,vZ=`#ifdef USE_ALPHATEST 164 #ifdef ALPHA_TO_COVERAGE 165 diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a ); 166 if ( diffuseColor.a == 0.0 ) discard; 167 #else 168 if ( diffuseColor.a < alphaTest ) discard; 169 #endif 170#endif`,yZ=`#ifdef USE_ALPHATEST 171 uniform float alphaTest; 172#endif`,_Z=`#ifdef USE_AOMAP 173 float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0; 174 reflectedLight.indirectDiffuse *= ambientOcclusion; 175 #if defined( USE_CLEARCOAT ) 176 clearcoatSpecularIndirect *= ambientOcclusion; 177 #endif 178 #if defined( USE_SHEEN ) 179 sheenSpecularIndirect *= ambientOcclusion; 180 #endif 181 #if defined( USE_ENVMAP ) && defined( STANDARD )
182 float dotNV = saturate( dot( geometryNormal, geometryViewDir ) ); 183 reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness ); 184 #endif 185#endif`,bZ=`#ifdef USE_AOMAP 186 uniform sampler2D aoMap; 187 uniform float aoMapIntensity; 188#endif`,xZ=`#ifdef USE_BATCHING 189 #if ! defined( GL_ANGLE_multi_draw ) 190 #define gl_DrawID _gl_DrawID 191 uniform int _gl_DrawID; 192 #endif 193 uniform highp sampler2D batchingTexture; 194 uniform highp usampler2D batchingIdTexture; 195 mat4 getBatchingMatrix( const in float i ) { 196 int size = textureSize( batchingTexture, 0 ).x; 197 int j = int( i ) * 4; 198 int x = j % size; 199 int y = j / size; 200 vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 ); 201 vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 ); 202 vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 ); 203 vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 ); 204 return mat4( v1, v2, v3, v4 ); 205 } 206 float getIndirectIndex( const in int i ) { 207 int size = textureSize( batchingIdTexture, 0 ).x; 208 int x = i % size; 209 int y = i / size; 210 return float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r ); 211 } 212#endif 213#ifdef USE_BATCHING_COLOR 214 uniform sampler2D batchingColorTexture; 215 vec3 getBatchingColor( const in float i ) { 216 int size = textureSize( batchingColorTexture, 0 ).x; 217 int j = int( i ); 218 int x = j % size; 219 int y = j / size; 220 return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb; 221 } 222#endif`,CZ=`#ifdef USE_BATCHING 223 mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) ); 224#endif`,wZ=`vec3 transformed = vec3( position ); 225#ifdef USE_ALPHAHASH 226 vPosition = vec3( position ); 227#endif`,SZ=`vec3 objectNormal = vec3( normal ); 228#ifdef USE_TANGENT 229 vec3 objectTangent = vec3( tangent.xyz ); 230#endif`,EZ=`float G_BlinnPhong_Implicit( ) { 231 return 0.25; 232} 233float D_BlinnPhong( const in float shininess, const in float dotNH ) { 234 return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess ); 235} 236vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) { 237 vec3 halfDir = normalize( lightDir + viewDir ); 238 float dotNH = saturate( dot( normal, halfDir ) ); 239 float dotVH = saturate( dot( viewDir, halfDir ) ); 240 vec3 F = F_Schlick( specularColor, 1.0, dotVH ); 241 float G = G_BlinnPhong_Implicit( ); 242 float D = D_BlinnPhong( shininess, dotNH ); 243 return F * ( G * D ); 244} // validated`,TZ=`#ifdef USE_IRIDESCENCE 245 const mat3 XYZ_TO_REC709 = mat3( 246 3.2404542, -0.9692660, 0.0556434, 247 -1.5371385, 1.8760108, -0.2040259, 248 -0.4985314, 0.0415560, 1.0572252 249 ); 250 vec3 Fresnel0ToIor( vec3 fresnel0 ) { 251 vec3 sqrtF0 = sqrt( fresnel0 ); 252 return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 ); 253 } 254 vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) { 255 return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) ); 256 } 257 float IorToFresnel0( float transmittedIor, float incidentIor ) { 258 return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor )); 259 } 260 vec3 evalSensitivity( float OPD, vec3 shift ) { 261 float phase = 2.0 * PI * OPD * 1.0e-9; 262 vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 ); 263 vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 ); 264 vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 ); 265 vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var ); 266 xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) ); 267 xyz /= 1.0685e-7; 268 vec3 rgb = XYZ_TO_REC709 * xyz; 269 return rgb; 270 } 271 vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) { 272 vec3 I; 273 float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) ); 274 float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) ); 275 float cosTheta2Sq = 1.0 - sinTheta2Sq; 276 if ( cosTheta2Sq < 0.0 ) { 277 return vec3( 1.0 ); 278 } 279 float cosTheta2 = sqrt( cosTheta2Sq ); 280 float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );
281 float R12 = F_Schlick( R0, 1.0, cosTheta1 ); 282 float T121 = 1.0 - R12; 283 float phi12 = 0.0; 284 if ( iridescenceIOR < outsideIOR ) phi12 = PI; 285 float phi21 = PI - phi12; 286 vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR ); 287 vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 ); 288 vec3 phi23 = vec3( 0.0 ); 289 if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI; 290 if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI; 291 if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI; 292 float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2; 293 vec3 phi = vec3( phi21 ) + phi23; 294 vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 ); 295 vec3 r123 = sqrt( R123 ); 296 vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 ); 297 vec3 C0 = R12 + Rs; 298 I = C0; 299 vec3 Cm = Rs - T121; 300 for ( int m = 1; m <= 2; ++ m ) { 301 Cm *= r123; 302 vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi ); 303 I += Cm * Sm; 304 } 305 return max( I, vec3( 0.0 ) ); 306 } 307#endif`,MZ=`#ifdef USE_BUMPMAP 308 uniform sampler2D bumpMap; 309 uniform float bumpScale; 310 vec2 dHdxy_fwd() { 311 vec2 dSTdx = dFdx( vBumpMapUv ); 312 vec2 dSTdy = dFdy( vBumpMapUv ); 313 float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x; 314 float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll; 315 float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll; 316 return vec2( dBx, dBy ); 317 } 318 vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) { 319 vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) ); 320 vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) ); 321 vec3 vN = surf_norm; 322 vec3 R1 = cross( vSigmaY, vN ); 323 vec3 R2 = cross( vN, vSigmaX ); 324 float fDet = dot( vSigmaX, R1 ) * faceDirection; 325 vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); 326 return normalize( abs( fDet ) * surf_norm - vGrad ); 327 } 328#endif`,IZ=`#if NUM_CLIPPING_PLANES > 0 329 vec4 plane; 330 #ifdef ALPHA_TO_COVERAGE 331 float distanceToPlane, distanceGradient; 332 float clipOpacity = 1.0; 333 #pragma unroll_loop_start 334 for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 335 plane = clippingPlanes[ i ]; 336 distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; 337 distanceGradient = fwidth( distanceToPlane ) / 2.0; 338 clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); 339 if ( clipOpacity == 0.0 ) discard; 340 } 341 #pragma unroll_loop_end 342 #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 343 float unionClipOpacity = 1.0; 344 #pragma unroll_loop_start 345 for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 346 plane = clippingPlanes[ i ]; 347 distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; 348 distanceGradient = fwidth( distanceToPlane ) / 2.0; 349 unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); 350 } 351 #pragma unroll_loop_end 352 clipOpacity *= 1.0 - unionClipOpacity; 353 #endif 354 diffuseColor.a *= clipOpacity; 355 if ( diffuseColor.a == 0.0 ) discard; 356 #else 357 #pragma unroll_loop_start 358 for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 359 plane = clippingPlanes[ i ]; 360 if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; 361 } 362 #pragma unroll_loop_end 363 #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 364 bool clipped = true; 365 #pragma unroll_loop_start 366 for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 367 plane = clippingPlanes[ i ]; 368 clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; 369 } 370 #pragma unroll_loop_end 371 if ( clipped ) discard; 372 #endif 373 #endif 374#endif`,PZ=`#if NUM_CLIPPING_PLANES > 0 375 varying vec3 vClipPosition; 376 uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; 377#endif`,RZ=`#if NUM_CLIPPING_PLANES > 0 378 varying vec3 vClipPosition; 379#endif`,BZ=`#if NUM_CLIPPING_PLANES > 0 380 vClipPosition = - mvPosition.xyz; 381#endif`,DZ=`#if defined( USE_COLOR_ALPHA ) 382 diffuseColor *= vColor; 383#elif defined( USE_COLOR ) 384 diffuseColor.rgb *= vColor; 385#endif`,LZ=`#if defined( USE_COLOR_ALPHA ) 386 varying vec4 vColor; 387#elif defined( USE_COLOR ) 388 varying vec3 vColor; 389#endif`,OZ=`#if defined( USE_COLOR_ALPHA ) 390 varying vec4 vColor; 391#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) 392 varying vec3 vColor; 393#endif`,FZ=`#if defined( USE_COLOR_ALPHA ) 394 vColor = vec4( 1.0 ); 395#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) 396 vColor = vec3( 1.0 ); 397#endif 398#ifdef USE_COLOR 399 vColor *= color; 400#endif 401#ifdef USE_INSTANCING_COLOR 402 vColor.xyz *= instanceColor.xyz; 403#endif 404#ifdef USE_BATCHING_COLOR 405 vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); 406 vColor.xyz *= batchingColor.xyz; 407#endif`,UZ=`#define PI 3.141592653589793 408#define PI2 6.283185307179586 409#define PI_HALF 1.5707963267948966 410#define RECIPROCAL_PI 0.3183098861837907 411#define RECIPROCAL_PI2 0.15915494309189535 412#define EPSILON 1e-6 413#ifndef saturate 414#define saturate( a ) clamp( a, 0.0, 1.0 ) 415#endif 416#define whiteComplement( a ) ( 1.0 - saturate( a ) ) 417float pow2( const in float x ) { return x*x; } 418vec3 pow2( const in vec3 x ) { return x*x; } 419float pow3( const in float x ) { return x*x*x; } 420float pow4( const in float x ) { float x2 = x*x; return x2*x2; } 421float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } 422float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } 423highp float rand( const in vec2 uv ) { 424 const highp float a = 12.9898, b = 78.233, c = 43758.5453; 425 highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); 426 return fract( sin( sn ) * c ); 427} 428#ifdef HIGH_PRECISION 429 float precisionSafeLength( vec3 v ) { return length( v ); } 430#else 431 float precisionSafeLength( vec3 v ) { 432 float maxComponent = max3( abs( v ) ); 433 return length( v / maxComponent ) * maxComponent; 434 } 435#endif 436struct IncidentLight { 437 vec3 color; 438 vec3 direction; 439 bool visible; 440}; 441struct ReflectedLight { 442 vec3 directDiffuse; 443 vec3 directSpecular; 444 vec3 indirectDiffuse; 445 vec3 indirectSpecular; 446}; 447#ifdef USE_ALPHAHASH 448 varying vec3 vPosition; 449#endif 450vec3 transformDirection( in vec3 dir, in mat4 matrix ) { 451 return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); 452} 453vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { 454 return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); 455} 456mat3 transposeMat3( const in mat3 m ) { 457 mat3 tmp; 458 tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); 459 tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); 460 tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); 461 return tmp; 462} 463bool isPerspectiveMatrix( mat4 m ) { 464 return m[ 2 ][ 3 ] == - 1.0; 465} 466vec2 equirectUv( in vec3 dir ) { 467 float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; 468 float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; 469 return vec2( u, v ); 470}
471vec3 BRDF_Lambert( const in vec3 diffuseColor ) { 472 return RECIPROCAL_PI * diffuseColor; 473} 474vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 475 float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); 476 return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); 477} 478float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { 479 float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); 480 return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); 481} // validated`,NZ=`#ifdef ENVMAP_TYPE_CUBE_UV 482 #define cubeUV_minMipLevel 4.0 483 #define cubeUV_minTileSize 16.0 484 float getFace( vec3 direction ) { 485 vec3 absDirection = abs( direction ); 486 float face = - 1.0; 487 if ( absDirection.x > absDirection.z ) { 488 if ( absDirection.x > absDirection.y ) 489 face = direction.x > 0.0 ? 0.0 : 3.0; 490 else 491 face = direction.y > 0.0 ? 1.0 : 4.0; 492 } else { 493 if ( absDirection.z > absDirection.y ) 494 face = direction.z > 0.0 ? 2.0 : 5.0; 495 else 496 face = direction.y > 0.0 ? 1.0 : 4.0; 497 } 498 return face; 499 } 500 vec2 getUV( vec3 direction, float face ) { 501 vec2 uv; 502 if ( face == 0.0 ) { 503 uv = vec2( direction.z, direction.y ) / abs( direction.x ); 504 } else if ( face == 1.0 ) { 505 uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); 506 } else if ( face == 2.0 ) { 507 uv = vec2( - direction.x, direction.y ) / abs( direction.z ); 508 } else if ( face == 3.0 ) { 509 uv = vec2( - direction.z, direction.y ) / abs( direction.x ); 510 } else if ( face == 4.0 ) { 511 uv = vec2( - direction.x, direction.z ) / abs( direction.y ); 512 } else { 513 uv = vec2( direction.x, direction.y ) / abs( direction.z ); 514 } 515 return 0.5 * ( uv + 1.0 ); 516 } 517 vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { 518 float face = getFace( direction ); 519 float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); 520 mipInt = max( mipInt, cubeUV_minMipLevel ); 521 float faceSize = exp2( mipInt ); 522 highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; 523 if ( face > 2.0 ) { 524 uv.y += faceSize; 525 face -= 3.0; 526 } 527 uv.x += face * faceSize; 528 uv.x += filterInt * 3.0 * cubeUV_minTileSize; 529 uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); 530 uv.x *= CUBEUV_TEXEL_WIDTH; 531 uv.y *= CUBEUV_TEXEL_HEIGHT; 532 #ifdef texture2DGradEXT 533 return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; 534 #else 535 return texture2D( envMap, uv ).rgb; 536 #endif 537 } 538 #define cubeUV_r0 1.0 539 #define cubeUV_m0 - 2.0 540 #define cubeUV_r1 0.8 541 #define cubeUV_m1 - 1.0 542 #define cubeUV_r4 0.4 543 #define cubeUV_m4 2.0 544 #define cubeUV_r5 0.305 545 #define cubeUV_m5 3.0 546 #define cubeUV_r6 0.21 547 #define cubeUV_m6 4.0 548 float roughnessToMip( float roughness ) { 549 float mip = 0.0; 550 if ( roughness >= cubeUV_r1 ) { 551 mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; 552 } else if ( roughness >= cubeUV_r4 ) { 553 mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; 554 } else if ( roughness >= cubeUV_r5 ) { 555 mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; 556 } else if ( roughness >= cubeUV_r6 ) { 557 mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; 558 } else { 559 mip = - 2.0 * log2( 1.16 * roughness ); } 560 return mip; 561 } 562 vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { 563 float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); 564 float mipF = fract( mip ); 565 float mipInt = floor( mip ); 566 vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); 567 if ( mipF == 0.0 ) { 568 return vec4( color0, 1.0 ); 569 } else { 570 vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); 571 return vec4( mix( color0, color1, mipF ), 1.0 ); 572 } 573 } 574#endif`,kZ=`vec3 transformedNormal = objectNormal; 575#ifdef USE_TANGENT 576 vec3 transformedTangent = objectTangent; 577#endif 578#ifdef USE_BATCHING 579 mat3 bm = mat3( batchingMatrix ); 580 transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); 581 transformedNormal = bm * transformedNormal; 582 #ifdef USE_TANGENT 583 transformedTangent = bm * transformedTangent; 584 #endif 585#endif 586#ifdef USE_INSTANCING 587 mat3 im = mat3( instanceMatrix ); 588 transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); 589 transformedNormal = im * transformedNormal; 590 #ifdef USE_TANGENT 591 transformedTangent = im * transformedTangent; 592 #endif 593#endif 594transformedNormal = normalMatrix * transformedNormal; 595#ifdef FLIP_SIDED 596 transformedNormal = - transformedNormal; 597#endif 598#ifdef USE_TANGENT 599 transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; 600 #ifdef FLIP_SIDED 601 transformedTangent = - transformedTangent; 602 #endif 603#endif`,zZ=`#ifdef USE_DISPLACEMENTMAP 604 uniform sampler2D displacementMap; 605 uniform float displacementScale; 606 uniform float displacementBias; 607#endif`,HZ=`#ifdef USE_DISPLACEMENTMAP 608 transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + dis
608placementBias ); 609#endif`,VZ=`#ifdef USE_EMISSIVEMAP 610 vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); 611 #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE 612 emissiveColor = sRGBTransferEOTF( emissiveColor ); 613 #endif 614 totalEmissiveRadiance *= emissiveColor.rgb; 615#endif`,GZ=`#ifdef USE_EMISSIVEMAP 616 uniform sampler2D emissiveMap; 617#endif`,QZ="gl_FragColor = linearToOutputTexel( gl_FragColor );",WZ=`vec4 LinearTransferOETF( in vec4 value ) { 618 return value; 619} 620vec4 sRGBTransferEOTF( in vec4 value ) { 621 return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a ); 622} 623vec4 sRGBTransferOETF( in vec4 value ) { 624 return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); 625}`,jZ=`#ifdef USE_ENVMAP 626 #ifdef ENV_WORLDPOS 627 vec3 cameraToFrag; 628 if ( isOrthographic ) { 629 cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); 630 } else { 631 cameraToFrag = normalize( vWorldPosition - cameraPosition ); 632 } 633 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 634 #ifdef ENVMAP_MODE_REFLECTION 635 vec3 reflectVec = reflect( cameraToFrag, worldNormal ); 636 #else 637 vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); 638 #endif 639 #else 640 vec3 reflectVec = vReflect; 641 #endif 642 #ifdef ENVMAP_TYPE_CUBE 643 vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); 644 #else 645 vec4 envColor = vec4( 0.0 ); 646 #endif 647 #ifdef ENVMAP_BLENDING_MULTIPLY 648 outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); 649 #elif defined( ENVMAP_BLENDING_MIX ) 650 outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); 651 #elif defined( ENVMAP_BLENDING_ADD ) 652 outgoingLight += envColor.xyz * specularStrength * reflectivity; 653 #endif 654#endif`,qZ=`#ifdef USE_ENVMAP 655 uniform float envMapIntensity; 656 uniform float flipEnvMap; 657 uniform mat3 envMapRotation; 658 #ifdef ENVMAP_TYPE_CUBE 659 uniform samplerCube envMap; 660 #else 661 uniform sampler2D envMap; 662 #endif 663 664#endif`,XZ=`#ifdef USE_ENVMAP 665 uniform float reflectivity; 666 #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) 667 #define ENV_WORLDPOS 668 #endif 669 #ifdef ENV_WORLDPOS 670 varying vec3 vWorldPosition; 671 uniform float refractionRatio; 672 #else 673 varying vec3 vReflect; 674 #endif 675#endif`,YZ=`#ifdef USE_ENVMAP 676 #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) 677 #define ENV_WORLDPOS 678 #endif 679 #ifdef ENV_WORLDPOS 680 681 varying vec3 vWorldPosition; 682 #else 683 varying vec3 vReflect; 684 uniform float refractionRatio; 685 #endif 686#endif`,$Z=`#ifdef USE_ENVMAP 687 #ifdef ENV_WORLDPOS 688 vWorldPosition = worldPosition.xyz; 689 #else 690 vec3 cameraToVertex; 691 if ( isOrthographic ) { 692 cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); 693 } else {
694 cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); 695 } 696 vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 697 #ifdef ENVMAP_MODE_REFLECTION 698 vReflect = reflect( cameraToVertex, worldNormal ); 699 #else 700 vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); 701 #endif 702 #endif 703#endif`,KZ=`#ifdef USE_FOG 704 vFogDepth = - mvPosition.z; 705#endif`,ZZ=`#ifdef USE_FOG 706 varying float vFogDepth; 707#endif`,JZ=`#ifdef USE_FOG 708 #ifdef FOG_EXP2 709 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); 710 #else 711 float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); 712 #endif 713 gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); 714#endif`,eJ=`#ifdef USE_FOG 715 uniform vec3 fogColor; 716 varying float vFogDepth; 717 #ifdef FOG_EXP2 718 uniform float fogDensity; 719 #else 720 uniform float fogNear; 721 uniform float fogFar; 722 #endif 723#endif`,tJ=`#ifdef USE_GRADIENTMAP 724 uniform sampler2D gradientMap; 725#endif 726vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 727 float dotNL = dot( normal, lightDirection ); 728 vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); 729 #ifdef USE_GRADIENTMAP 730 return vec3( texture2D( gradientMap, coord ).r ); 731 #else 732 vec2 fw = fwidth( coord ) * 0.5; 733 return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); 734 #endif 735}`,nJ=`#ifdef USE_LIGHTMAP 736 uniform sampler2D lightMap; 737 uniform float lightMapIntensity; 738#endif`,iJ=`LambertMaterial material; 739material.diffuseColor = diffuseColor.rgb; 740material.specularStrength = specularStrength;`,rJ=`varying vec3 vViewPosition; 741struct LambertMaterial { 742 vec3 diffuseColor; 743 float specularStrength; 744}; 745void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { 746 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 747 vec3 irradiance = dotNL * directLight.color; 748 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 749} 750void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { 751 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 752} 753#define RE_Direct RE_Direct_Lambert 754#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,sJ=`uniform bool receiveShadow; 755uniform vec3 ambientLightColor; 756#if defined( USE_LIGHT_PROBES ) 757 uniform vec3 lightProbe[ 9 ]; 758#endif 759vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { 760 float x = normal.x, y = normal.y, z = normal.z; 761 vec3 result = shCoefficients[ 0 ] * 0.886227; 762 result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; 763 result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; 764 result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; 765 result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; 766 result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; 767 result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); 768 result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; 769 result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); 770 return result; 771} 772vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { 773 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 774 vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); 775 return irradiance; 776} 777vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { 778 vec3 irradiance = ambientLightColor; 779 return irradiance; 780} 781float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { 782 float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); 783 if ( cutoffDistance > 0.0 ) { 784 distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); 785 } 786 return distanceFalloff; 787} 788float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { 789 return smoothstep( coneCosine, penumbraCosine, angleCosine ); 790} 791#if NUM_DIR_LIGHTS > 0 792 struct DirectionalLight { 793 vec3 direction; 794 vec3 color; 795 }; 796 uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; 797 void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { 798 light.color = directionalLight.color; 799 light.direction = directionalLight.direction; 800 light.visible = true; 801 } 802#endif 803#if NUM_POINT_LIGHTS > 0 804 struct PointLight { 805 vec3 position; 806 vec3 color; 807 float distance; 808 float decay; 809 }; 810 uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; 811 void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { 812 vec3 lVector = pointLight.position - geometryPosition; 813 light.direction = normalize( lVector ); 814 float lightDistance = length( lVector ); 815 light.color = pointLight.color; 816 light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); 817 light.visible = ( light.color != vec3( 0.0 ) ); 818 } 819#endif
820#if NUM_SPOT_LIGHTS > 0 821 struct SpotLight { 822 vec3 position; 823 vec3 direction; 824 vec3 color; 825 float distance; 826 float decay; 827 float coneCos; 828 float penumbraCos; 829 }; 830 uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; 831 void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { 832 vec3 lVector = spotLight.position - geometryPosition; 833 light.direction = normalize( lVector ); 834 float angleCos = dot( light.direction, spotLight.direction ); 835 float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); 836 if ( spotAttenuation > 0.0 ) { 837 float lightDistance = length( lVector ); 838 light.color = spotLight.color * spotAttenuation; 839 light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); 840 light.visible = ( light.color != vec3( 0.0 ) ); 841 } else { 842 light.color = vec3( 0.0 ); 843 light.visible = false; 844 } 845 } 846#endif 847#if NUM_RECT_AREA_LIGHTS > 0 848 struct RectAreaLight { 849 vec3 color; 850 vec3 position; 851 vec3 halfWidth; 852 vec3 halfHeight; 853 }; 854 uniform sampler2D ltc_1; uniform sampler2D ltc_2; 855 uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; 856#endif 857#if NUM_HEMI_LIGHTS > 0 858 struct HemisphereLight { 859 vec3 direction; 860 vec3 skyColor; 861 vec3 groundColor; 862 }; 863 uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; 864 vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { 865 float dotNL = dot( normal, hemiLight.direction ); 866 float hemiDiffuseWeight = 0.5 * dotNL + 0.5; 867 vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); 868 return irradiance; 869 } 870#endif`,oJ=`#ifdef USE_ENVMAP 871 vec3 getIBLIrradiance( const in vec3 normal ) { 872 #ifdef ENVMAP_TYPE_CUBE_UV 873 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 874 vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); 875 return PI * envMapColor.rgb * envMapIntensity; 876 #else 877 return vec3( 0.0 ); 878 #endif 879 } 880 vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { 881 #ifdef ENVMAP_TYPE_CUBE_UV 882 vec3 reflectVec = reflect( - viewDir, normal ); 883 reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); 884 reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); 885 vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); 886 return envMapColor.rgb * envMapIntensity; 887 #else 888 return vec3( 0.0 ); 889 #endif 890 } 891 #ifdef USE_ANISOTROPY 892 vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { 893 #ifdef ENVMAP_TYPE_CUBE_UV 894 vec3 bentNormal = cross( bitangent, viewDir ); 895 bentNormal = normalize( cross( bentNormal, bitangent ) ); 896 bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); 897 return getIBLRadiance( viewDir, bentNormal, roughness ); 898 #else 899 return vec3( 0.0 ); 900 #endif 901 } 902 #endif 903#endif`,aJ=`ToonMaterial material; 904material.diffuseColor = diffuseColor.rgb;`,lJ=`varying vec3 vViewPosition; 905struct ToonMaterial { 906 vec3 diffuseColor; 907}; 908void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { 909 vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; 910 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 911} 912void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { 913 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 914} 915#define RE_Direct RE_Direct_Toon 916#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,cJ=`BlinnPhongMaterial material; 917material.diffuseColor = diffuseColor.rgb; 918material.specularColor = specular; 919material.specularShininess = shininess; 920material.specularStrength = specularStrength;`,uJ=`varying vec3 vViewPosition; 921struct BlinnPhongMaterial { 922 vec3 diffuseColor; 923 vec3 specularColor; 924 float specularShininess; 925 float specularStrength; 926}; 927void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
928 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 929 vec3 irradiance = dotNL * directLight.color; 930 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 931 reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; 932} 933void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { 934 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 935} 936#define RE_Direct RE_Direct_BlinnPhong 937#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,fJ=`PhysicalMaterial material; 938material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); 939vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); 940float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); 941material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; 942material.roughness = min( material.roughness, 1.0 ); 943#ifdef IOR 944 material.ior = ior; 945 #ifdef USE_SPECULAR 946 float specularIntensityFactor = specularIntensity; 947 vec3 specularColorFactor = specularColor; 948 #ifdef USE_SPECULAR_COLORMAP 949 specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; 950 #endif 951 #ifdef USE_SPECULAR_INTENSITYMAP 952 specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; 953 #endif 954 material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); 955 #else 956 float specularIntensityFactor = 1.0; 957 vec3 specularColorFactor = vec3( 1.0 ); 958 material.specularF90 = 1.0; 959 #endif 960 material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); 961#else 962 material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); 963 material.specularF90 = 1.0; 964#endif 965#ifdef USE_CLEARCOAT 966 material.clearcoat = clearcoat; 967 material.clearcoatRoughness = clearcoatRoughness; 968 material.clearcoatF0 = vec3( 0.04 ); 969 material.clearcoatF90 = 1.0; 970 #ifdef USE_CLEARCOATMAP 971 material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; 972 #endif 973 #ifdef USE_CLEARCOAT_ROUGHNESSMAP 974 material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; 975 #endif 976 material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); 977 material.clearcoatRoughness += geometryRoughness; 978 material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); 979#endif 980#ifdef USE_DISPERSION 981 material.dispersion = dispersion; 982#endif 983#ifdef USE_IRIDESCENCE 984 material.iridescence = iridescence; 985 material.iridescenceIOR = iridescenceIOR; 986 #ifdef USE_IRIDESCENCEMAP 987 material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; 988 #endif 989 #ifdef USE_IRIDESCENCE_THICKNESSMAP 990 material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; 991 #else 992 material.iridescenceThickness = iridescenceThicknessMaximum; 993 #endif 994#endif 995#ifdef USE_SHEEN 996 material.sheenColor = sheenColor; 997 #ifdef USE_SHEEN_COLORMAP 998 material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; 999 #endif 1000 material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); 1001 #ifdef USE_SHEEN_ROUGHNESSMAP 1002 material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; 1003 #endif 1004#endif 1005#ifdef USE_ANISOTROPY 1006 #ifdef USE_ANISOTROPYMAP 1007 mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); 1008 vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; 1009 vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; 1010 #else 1011 vec2 anisotropyV = anisotropyVector; 1012 #endif 1013 material.anisotropy = length( anisotropyV ); 1014 if( material.anisotropy == 0.0 ) { 1015 anisotropyV = vec2( 1.0, 0.0 ); 1016 } else { 1017 anisotropyV /= material.anisotropy; 1018 material.anisotropy = saturate( material.anisotropy ); 1019 } 1020 material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );
1021 material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; 1022 material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; 1023#endif`,dJ
vendor: 14,687 bytes, lines 1023-1324
1023=`struct PhysicalMaterial { 1024 vec3 diffuseColor; 1025 float roughness; 1026 vec3 specularColor; 1027 float specularF90; 1028 float dispersion; 1029 #ifdef USE_CLEARCOAT 1030 float clearcoat; 1031 float clearcoatRoughness; 1032 vec3 clearcoatF0; 1033 float clearcoatF90; 1034 #endif 1035 #ifdef USE_IRIDESCENCE 1036 float iridescence; 1037 float iridescenceIOR; 1038 float iridescenceThickness; 1039 vec3 iridescenceFresnel; 1040 vec3 iridescenceF0; 1041 #endif 1042 #ifdef USE_SHEEN 1043 vec3 sheenColor; 1044 float sheenRoughness; 1045 #endif 1046 #ifdef IOR 1047 float ior; 1048 #endif 1049 #ifdef USE_TRANSMISSION 1050 float transmission; 1051 float transmissionAlpha; 1052 float thickness; 1053 float attenuationDistance; 1054 vec3 attenuationColor; 1055 #endif 1056 #ifdef USE_ANISOTROPY 1057 float anisotropy; 1058 float alphaT; 1059 vec3 anisotropyT; 1060 vec3 anisotropyB; 1061 #endif 1062}; 1063vec3 clearcoatSpecularDirect = vec3( 0.0 ); 1064vec3 clearcoatSpecularIndirect = vec3( 0.0 ); 1065vec3 sheenSpecularDirect = vec3( 0.0 ); 1066vec3 sheenSpecularIndirect = vec3(0.0 ); 1067vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { 1068 float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); 1069 float x2 = x * x; 1070 float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); 1071 return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); 1072} 1073float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { 1074 float a2 = pow2( alpha ); 1075 float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); 1076 float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); 1077 return 0.5 / max( gv + gl, EPSILON ); 1078} 1079float D_GGX( const in float alpha, const in float dotNH ) { 1080 float a2 = pow2( alpha ); 1081 float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; 1082 return RECIPROCAL_PI * a2 / pow2( denom ); 1083} 1084#ifdef USE_ANISOTROPY 1085 float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { 1086 float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); 1087 float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); 1088 float v = 0.5 / ( gv + gl ); 1089 return saturate(v); 1090 } 1091 float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { 1092 float a2 = alphaT * alphaB; 1093 highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); 1094 highp float v2 = dot( v, v ); 1095 float w2 = a2 / v2; 1096 return RECIPROCAL_PI * a2 * pow2 ( w2 ); 1097 } 1098#endif 1099#ifdef USE_CLEARCOAT 1100 vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { 1101 vec3 f0 = material.clearcoatF0; 1102 float f90 = material.clearcoatF90; 1103 float roughness = material.clearcoatRoughness; 1104 float alpha = pow2( roughness ); 1105 vec3 halfDir = normalize( lightDir + viewDir ); 1106 float dotNL = saturate( dot( normal, lightDir ) ); 1107 float dotNV = saturate( dot( normal, viewDir ) ); 1108 float dotNH = saturate( dot( normal, halfDir ) ); 1109 float dotVH = saturate( dot( viewDir, halfDir ) ); 1110 vec3 F = F_Schlick( f0, f90, dotVH ); 1111 float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); 1112 float D = D_GGX( alpha, dotNH ); 1113 return F * ( V * D ); 1114 } 1115#endif 1116vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { 1117 vec3 f0 = material.specularColor; 1118 float f90 = material.specularF90; 1119 float roughness = material.roughness; 1120 float alpha = pow2( roughness ); 1121 vec3 halfDir = normalize( lightDir + viewDir ); 1122 float dotNL = saturate( dot( normal, lightDir ) ); 1123 float dotNV = saturate( dot( normal, viewDir ) ); 1124 float dotNH = saturate( dot( normal, halfDir ) ); 1125 float dotVH = saturate( dot( viewDir, halfDir ) ); 1126 vec3 F = F_Schlick( f0, f90, dotVH ); 1127 #ifdef USE_IRIDESCENCE 1128 F = mix( F, material.iridescenceFresnel, material.iridescence ); 1129 #endif 1130 #ifdef USE_ANISOTROPY 1131 float dotTL = dot( material.anisotropyT, lightDir ); 1132 float dotTV = dot( material.anisotropyT, viewDir ); 1133 float dotTH = dot( material.anisotropyT, halfDir ); 1134 float dotBL = dot( material.anisotropyB, lightDir ); 1135 float dotBV = dot( material.anisotropyB, viewDir ); 1136 float dotBH = dot( material.anisotropyB, halfDir ); 1137 float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); 1138 float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); 1139 #else 1140 float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); 1141 float D = D_GGX( alpha, dotNH ); 1142 #endif 1143 return F * ( V * D ); 1144} 1145vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { 1146 const float LUT_SIZE = 64.0; 1147 const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; 1148 const float LUT_BIAS = 0.5 / LUT_SIZE; 1149 float dotNV = saturate( dot( N, V ) ); 1150 vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); 1151 uv = uv * LUT_SCALE + LUT_BIAS; 1152 return uv; 1153} 1154float LTC_ClippedSphereFormFactor( const in vec3 f ) { 1155 float l = length( f ); 1156 return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); 1157} 1158vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { 1159 float x = dot( v1, v2 ); 1160 float y = abs( x ); 1161 float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; 1162 float b = 3.4175940 + ( 4.1616724 + y ) * y; 1163 float v = a / b; 1164 float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; 1165 return cross( v1, v2 ) * theta_sintheta; 1166} 1167vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { 1168 vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; 1169 vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; 1170 vec3 lightNormal = cross( v1, v2 ); 1171 if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); 1172 vec3 T1, T2; 1173 T1 = normalize( V - N * dot( V, N ) ); 1174 T2 = - cross( N, T1 ); 1175 mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); 1176 vec3 coords[ 4 ]; 1177 coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); 1178 coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); 1179 coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); 1180 coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); 1181 coords[ 0 ] = normalize( coords[ 0 ] ); 1182 coords[ 1 ] = normalize( coords[ 1 ] ); 1183 coords[ 2 ] = normalize( coords[ 2 ] ); 1184 coords[ 3 ] = normalize( coords[ 3 ] ); 1185 vec3 vectorFormFactor = vec3( 0.0 ); 1186 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); 1187 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); 1188 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); 1189 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); 1190 float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); 1191 return vec3( result ); 1192} 1193#if defined( USE_SHEEN ) 1194float D_Charlie( float roughness, float dotNH ) { 1195 float alpha = pow2( roughness ); 1196 float invAlpha = 1.0 / alpha; 1197 float cos2h = dotNH * dotNH; 1198 float sin2h = max( 1.0 - cos2h, 0.0078125 ); 1199 return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); 1200} 1201float V_Neubelt( float dotNV, float dotNL ) { 1202 return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); 1203} 1204vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { 1205 vec3 halfDir = normalize( lightDir + viewDir ); 1206 float dotNL = saturate( dot( normal, lightDir ) ); 1207 float dotNV = saturate( dot( normal, viewDir ) ); 1208 float dotNH = saturate( dot( normal, halfDir ) ); 1209 float D = D_Charlie( sheenRoughness, dotNH ); 1210 float V = V_Neubelt( dotNV, dotNL ); 1211 return sheenColor * ( D * V ); 1212} 1213#endif 1214float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { 1215 float dotNV = saturate( dot( normal, viewDir ) ); 1216 float r2 = roughness * roughness; 1217 float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; 1218 float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; 1219 float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); 1220 return saturate( DG * RECIPROCAL_PI ); 1221} 1222vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { 1223 float dotNV = saturate( dot( normal, viewDir ) ); 1224 const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); 1225 const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); 1226 vec4 r = roughness * c0 + c1; 1227 float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; 1228 vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; 1229 return fab; 1230} 1231vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { 1232 vec2 fab = DFGApprox( normal, viewDir, roughness ); 1233 return specularColor * fab.x + specularF90 * fab.y; 1234} 1235#ifdef USE_IRIDESCENCE 1236void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { 1237#else 1238void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { 1239#endif 1240 vec2 fab = DFGApprox( normal, viewDir, roughness ); 1241 #ifdef USE_IRIDESCENCE 1242 vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); 1243 #else 1244 vec3 Fr = specularColor; 1245 #endif 1246 vec3 FssEss = Fr * fab.x + specularF90 * fab.y; 1247 float Ess = fab.x + fab.y; 1248 float Ems = 1.0 - Ess; 1249 vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); 1250 singleScatter += FssEss; 1251 multiScatter += Fms * Ems; 1252} 1253#if NUM_RECT_AREA_LIGHTS > 0 1254 void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1255 vec3 normal = geometryNormal; 1256 vec3 viewDir = geometryViewDir; 1257 vec3 position = geometryPosition; 1258 vec3 lightPos = rectAreaLight.position; 1259 vec3 halfWidth = rectAreaLight.halfWidth; 1260 vec3 halfHeight = rectAreaLight.halfHeight; 1261 vec3 lightColor = rectAreaLight.color; 1262 float roughness = material.roughness; 1263 vec3 rectCoords[ 4 ]; 1264 rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; 1265 rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; 1266 rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; 1267 vec2 uv = LTC_Uv( normal, viewDir, roughness ); 1268 vec4 t1 = texture2D( ltc_1, uv ); 1269 vec4 t2 = texture2D( ltc_2, uv ); 1270 mat3 mInv = mat3( 1271 vec3( t1.x, 0, t1.y ), 1272 vec3( 0, 1, 0 ), 1273 vec3( t1.z, 0, t1.w ) 1274 ); 1275 vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); 1276 reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); 1277 reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); 1278 } 1279#endif 1280void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1281 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 1282 vec3 irradiance = dotNL * directLight.color; 1283 #ifdef USE_CLEARCOAT 1284 float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); 1285 vec3 ccIrradiance = dotNLcc * directLight.color; 1286 clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); 1287 #endif 1288 #ifdef USE_SHEEN 1289 sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); 1290 #endif 1291 reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); 1292 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 1293} 1294void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1295 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 1296} 1297void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { 1298 #ifdef USE_CLEARCOAT 1299 clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); 1300 #endif 1301 #ifdef USE_SHEEN 1302 sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); 1303 #endif 1304 vec3 singleScattering = vec3( 0.0 ); 1305 vec3 multiScattering = vec3( 0.0 ); 1306 vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; 1307 #ifdef USE_IRIDESCENCE 1308 computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); 1309 #else 1310 computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); 1311 #endif 1312 vec3 totalScattering = singleScattering + multiScattering; 1313 vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); 1314 reflectedLight.indirectSpecular += radiance * singleScattering; 1315 reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; 1316 reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; 1317} 1318#define RE_Direct RE_Direct_Physical 1319#define RE_Direct_RectArea RE_Direct_RectArea_Physical 1320#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical 1321#define RE_IndirectSpecular RE_IndirectSpecular_Physical 1322float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { 1323 return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); 1324}`,
1324hJ=` 1325vec3 geometryPosition = - vViewPosition; 1326vec3 geometryNormal = normal; 1327vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); 1328vec3 geometryClearcoatNormal = vec3( 0.0 ); 1329#ifdef USE_CLEARCOAT 1330 geometryClearcoatNormal = clearcoatNormal; 1331#endif 1332#ifdef USE_IRIDESCENCE 1333 float dotNVi = saturate( dot( normal, geometryViewDir ) ); 1334 if ( material.iridescenceThickness == 0.0 ) { 1335 material.iridescence = 0.0; 1336 } else { 1337 material.iridescence = saturate( material.iridescence ); 1338 } 1339 if ( material.iridescence > 0.0 ) { 1340 material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); 1341 material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); 1342 } 1343#endif 1344IncidentLight directLight; 1345#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) 1346 PointLight pointLight; 1347 #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 1348 PointLightShadow pointLightShadow; 1349 #endif 1350 #pragma unroll_loop_start 1351 for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { 1352 pointLight = pointLights[ i ]; 1353 getPointLightInfo( pointLight, geometryPosition, directLight ); 1354 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) 1355 pointLightShadow = pointLightShadows[ i ]; 1356 directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; 1357 #endif 1358 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1359 } 1360 #pragma unroll_loop_end 1361#endif 1362#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) 1363 SpotLight spotLight; 1364 vec4 spotColor; 1365 vec3 spotLightCoord; 1366 bool inSpotLightMap; 1367 #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 1368 SpotLightShadow spotLightShadow; 1369 #endif 1370 #pragma unroll_loop_start 1371 for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { 1372 spotLight = spotLights[ i ]; 1373 getSpotLightInfo( spotLight, geometryPosition, directLight ); 1374 #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) 1375 #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX 1376 #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1377 #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS 1378 #else 1379 #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) 1380 #endif 1381 #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) 1382 spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; 1383 inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); 1384 spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); 1385 directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; 1386 #endif 1387 #undef SPOT_LIGHT_MAP_INDEX 1388 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1389 spotLightShadow = spotLightShadows[ i ]; 1390 directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; 1391 #endif 1392 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1393 } 1394 #pragma unroll_loop_end 1395#endif 1396#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) 1397 DirectionalLight directionalLight; 1398 #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 1399 DirectionalLightShadow directionalLightShadow; 1400 #endif 1401 #pragma unroll_loop_start 1402 for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { 1403 directionalLight = directionalLights[ i ]; 1404 getDirectionalLightInfo( directionalLight, directLight ); 1405 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) 1406 directionalLightShadow = directionalLightShadows[ i ]; 1407 directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; 1408 #endif 1409 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1410 } 1411 #pragma unroll_loop_end 1412#endif 1413#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) 1414 RectAreaLight rectAreaLight; 1415 #pragma unroll_loop_start 1416 for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { 1417 rectAreaLight = rectAreaLights[ i ]; 1418 RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1419 } 1420 #pragma unroll_loop_end 1421#endif 1422#if defined( RE_IndirectDiffuse ) 1423 vec3 iblIrradiance = vec3( 0.0 ); 1424 vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); 1425 #if defined( USE_LIGHT_PROBES ) 1426 irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); 1427 #endif 1428 #if ( NUM_HEMI_LIGHTS > 0 ) 1429 #pragma unroll_loop_start 1430 for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { 1431 irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); 1432 } 1433 #pragma unroll_loop_end 1434 #endif 1435#endif 1436#if defined( RE_IndirectSpecular ) 1437 vec3 radiance = vec3( 0.0 ); 1438 vec3 clearcoatRadiance = vec3( 0.0 ); 1439#endif`,pJ=`#if defined( RE_IndirectDiffuse ) 1440 #ifdef USE_LIGHTMAP 1441 vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); 1442 vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; 1443 irradiance += lightMapIrradiance; 1444 #endif 1445 #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) 1446 iblIrradiance += getIBLIrradiance( geometryNormal ); 1447 #endif 1448#endif 1449#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) 1450 #ifdef USE_ANISOTROPY 1451 radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); 1452 #else 1453 radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); 1454 #endif 1455 #ifdef USE_CLEARCOAT 1456 clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); 1457 #endif 1458#endif`,mJ=`#if defined( RE_IndirectDiffuse ) 1459 RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1460#endif 1461#if defined( RE_IndirectSpecular ) 1462 RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1463#endif`,gJ=`#if defined( USE_LOGDEPTHBUF ) 1464 gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; 1465#endif`,AJ=`#if defined( USE_LOGDEPTHBUF ) 1466 uniform float logDepthBufFC; 1467 varying float vFragDepth; 1468 varying float vIsPerspective; 1469#endif`,vJ=`#ifdef USE_LOGDEPTHBUF 1470 varying float vFragDepth; 1471 varying float vIsPerspective; 1472#endif`,yJ=`#ifdef USE_LOGDEPTHBUF 1473 vFragDepth = 1.0 + gl_Position.w; 1474 vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); 1475#endif`,_J=`#ifdef USE_MAP 1476 vec4 sampledDiffuseColor = texture2D( map, vMapUv ); 1477 #ifdef DECODE_VIDEO_TEXTURE 1478 sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); 1479 #endif 1480 diffuseColor *= sampledDiffuseColor; 1481#endif`,bJ=`#ifdef USE_MAP 1482 uniform sampler2D map; 1483#endif`,xJ=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) 1484 #if defined( USE_POINTS_UV ) 1485 vec2 uv = vUv; 1486 #else 1487 vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; 1488 #endif 1489#endif 1490#ifdef USE_MAP 1491 diffuseColor *= texture2D( map, uv ); 1492#endif 1493#ifdef USE_ALPHAMAP 1494 diffuseColor.a *= texture2D( alphaMap, uv ).g; 1495#endif`,CJ=`#if defined( USE_POINTS_UV ) 1496 varying vec2 vUv; 1497#else 1498 #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) 1499 uniform mat3 uvTransform; 1500 #endif 1501#endif 1502#ifdef USE_MAP 1503 uniform sampler2D map; 1504#endif 1505#ifdef USE_ALPHAMAP 1506 uniform sampler2D alphaMap; 1507#endif`,wJ=`float metalnessFactor = metalness; 1508#ifdef USE_METALNESSMAP 1509 vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); 1510 metalnessFactor *= texelMetalness.b; 1511#endif`,SJ=`#ifdef USE_METALNESSMAP 1512 uniform sampler2D metalnessMap; 1513#endif`,EJ=`#ifdef USE_INSTANCING_MORPH 1514 float morphTargetInfluences[ MORPHTARGETS_COUNT ]; 1515 float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; 1516 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1517 morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; 1518 } 1519#endif`,TJ=`#if defined( USE_MORPHCOLORS ) 1520 vColor *= morphTargetBaseInfluence; 1521 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1522 #if defined( USE_COLOR_ALPHA ) 1523 if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; 1524 #elif defined( USE_COLOR ) 1525 if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; 1526 #endif 1527 } 1528#endif`,MJ=`#ifdef USE_MORPHNORMALS 1529 objectNormal *= morphTargetBaseInfluence; 1530 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1531 if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; 1532 } 1533#endif`,IJ=`#ifdef USE_MORPHTARGETS 1534 #ifndef USE_INSTANCING_MORPH 1535 uniform float morphTargetBaseInfluence; 1536 uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; 1537 #endif 1538 uniform sampler2DArray morphTargetsTexture; 1539 uniform ivec2 morphTargetsTextureSize; 1540 vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { 1541 int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; 1542 int y = texelIndex / morphTargetsTextureSize.x; 1543 int x = texelIndex - y * morphTargetsTextureSize.x; 1544 ivec3 morphUV = ivec3( x, y, morphTargetIndex ); 1545 return texelFetch( morphTargetsTexture, morphUV, 0 ); 1546 } 1547#endif`,PJ=`#ifdef USE_MORPHTARGETS 1548 transformed *= morphTargetBaseInfluence; 1549 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1550 if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; 1551 } 1552#endif`,RJ=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; 1553#ifdef FLAT_SHADED 1554 vec3 fdx = dFdx( vViewPosition ); 1555 vec3 fdy = dFdy( vViewPosition ); 1556 vec3 normal = normalize( cross( fdx, fdy ) ); 1557#else 1558 vec3 normal = normalize( vNormal ); 1559 #ifdef DOUBLE_SIDED 1560 normal *= faceDirection; 1561 #endif 1562#endif 1563#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) 1564 #ifdef USE_TANGENT 1565 mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); 1566 #else 1567 mat3 tbn = getTangentFrame( - vViewPosition, normal, 1568 #if defined( USE_NORMALMAP ) 1569 vNormalMapUv 1570 #elif defined( USE_CLEARCOAT_NORMALMAP ) 1571 vClearcoatNormalMapUv 1572 #else 1573 vUv 1574 #endif 1575 ); 1576 #endif 1577 #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) 1578 tbn[0] *= faceDirection; 1579 tbn[1] *= faceDirection; 1580 #endif 1581#endif 1582#ifdef USE_CLEARCOAT_NORMALMAP 1583 #ifdef USE_TANGENT 1584 mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); 1585 #else 1586 mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); 1587 #endif 1588 #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) 1589 tbn2[0] *= faceDirection; 1590 tbn2[1] *= faceDirection; 1591 #endif 1592#endif 1593vec3 nonPerturbedNormal = normal;`,BJ=`#ifdef USE_NORMALMAP_OBJECTSPACE 1594 normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; 1595 #ifdef FLIP_SIDED 1596 normal = - normal; 1597 #endif 1598 #ifdef DOUBLE_SIDED 1599 normal = normal * faceDirection; 1600 #endif 1601 normal = normalize( normalMatrix * normal ); 1602#elif defined( USE_NORMALMAP_TANGENTSPACE ) 1603 vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; 1604 mapN.xy *= normalScale; 1605 normal = normalize( tbn * mapN ); 1606#elif defined( USE_BUMPMAP )
1607 normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); 1608#endif`,DJ=`#ifndef FLAT_SHADED 1609 varying vec3 vNormal; 1610 #ifdef USE_TANGENT 1611 varying vec3 vTangent; 1612 varying vec3 vBitangent; 1613 #endif 1614#endif`,LJ=`#ifndef FLAT_SHADED 1615 varying vec3 vNormal; 1616 #ifdef USE_TANGENT 1617 varying vec3 vTangent; 1618 varying vec3 vBitangent; 1619 #endif 1620#endif`,OJ=`#ifndef FLAT_SHADED 1621 vNormal = normalize( transformedNormal ); 1622 #ifdef USE_TANGENT 1623 vTangent = normalize( transformedTangent ); 1624 vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); 1625 #endif 1626#endif`,FJ=`#ifdef USE_NORMALMAP 1627 uniform sampler2D normalMap; 1628 uniform vec2 normalScale; 1629#endif 1630#ifdef USE_NORMALMAP_OBJECTSPACE 1631 uniform mat3 normalMatrix; 1632#endif 1633#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) 1634 mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { 1635 vec3 q0 = dFdx( eye_pos.xyz ); 1636 vec3 q1 = dFdy( eye_pos.xyz ); 1637 vec2 st0 = dFdx( uv.st ); 1638 vec2 st1 = dFdy( uv.st ); 1639 vec3 N = surf_norm; 1640 vec3 q1perp = cross( q1, N ); 1641 vec3 q0perp = cross( N, q0 ); 1642 vec3 T = q1perp * st0.x + q0perp * st1.x; 1643 vec3 B = q1perp * st0.y + q0perp * st1.y; 1644 float det = max( dot( T, T ), dot( B, B ) ); 1645 float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); 1646 return mat3( T * scale, B * scale, N ); 1647 } 1648#endif`,UJ=`#ifdef USE_CLEARCOAT 1649 vec3 clearcoatNormal = nonPerturbedNormal; 1650#endif`,NJ=`#ifdef USE_CLEARCOAT_NORMALMAP 1651 vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; 1652 clearcoatMapN.xy *= clearcoatNormalScale; 1653 clearcoatNormal = normalize( tbn2 * clearcoatMapN ); 1654#endif`,kJ=`#ifdef USE_CLEARCOATMAP 1655 uniform sampler2D clearcoatMap; 1656#endif 1657#ifdef USE_CLEARCOAT_NORMALMAP 1658 uniform sampler2D clearcoatNormalMap; 1659 uniform vec2 clearcoatNormalScale; 1660#endif 1661#ifdef USE_CLEARCOAT_ROUGHNESSMAP 1662 uniform sampler2D clearcoatRoughnessMap; 1663#endif`,zJ=`#ifdef USE_IRIDESCENCEMAP 1664 uniform sampler2D iridescenceMap; 1665#endif 1666#ifdef USE_IRIDESCENCE_THICKNESSMAP 1667 uniform sampler2D iridescenceThicknessMap; 1668#endif`,HJ=`#ifdef OPAQUE 1669diffuseColor.a = 1.0; 1670#endif 1671#ifdef USE_TRANSMISSION 1672diffuseColor.a *= material.transmissionAlpha; 1673#endif 1674gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,VJ=`vec3 packNormalToRGB( const in vec3 normal ) { 1675 return normalize( normal ) * 0.5 + 0.5; 1676} 1677vec3 unpackRGBToNormal( const in vec3 rgb ) { 1678 return 2.0 * rgb.xyz - 1.0; 1679} 1680const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.; 1681const float Inv255 = 1. / 255.; 1682const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 ); 1683const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g ); 1684const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b ); 1685const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a ); 1686vec4 packDepthToRGBA( const in float v ) { 1687 if( v <= 0.0 ) 1688 return vec4( 0., 0., 0., 0. ); 1689 if( v >= 1.0 ) 1690 return vec4( 1., 1., 1., 1. ); 1691 float vuf; 1692 float af = modf( v * PackFactors.a, vuf ); 1693 float bf = modf( vuf * ShiftRight8, vuf ); 1694 float gf = modf( vuf * ShiftRight8, vuf ); 1695 return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af ); 1696} 1697vec3 packDepthToRGB( const in float v ) { 1698 if( v <= 0.0 ) 1699 return vec3( 0., 0., 0. ); 1700 if( v >= 1.0 ) 1701 return vec3( 1., 1., 1. ); 1702 float vuf; 1703 float bf = modf( v * PackFactors.b, vuf ); 1704 float gf = modf( vuf * ShiftRight8, vuf ); 1705 return vec3( vuf * Inv255, gf * PackUpscale, bf ); 1706} 1707vec2 packDepthToRG( const in float v ) { 1708 if( v <= 0.0 ) 1709 return vec2( 0., 0. ); 1710 if( v >= 1.0 ) 1711 return vec2( 1., 1. ); 1712 float vuf; 1713 float gf = modf( v * 256., vuf ); 1714 return vec2( vuf * Inv255, gf ); 1715} 1716float unpackRGBAToDepth( const in vec4 v ) { 1717 return dot( v, UnpackFactors4 ); 1718} 1719float unpackRGBToDepth( const in vec3 v ) { 1720 return dot( v, UnpackFactors3 ); 1721} 1722float unpackRGToDepth( const in vec2 v ) { 1723 return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g; 1724} 1725vec4 pack2HalfToRGBA( const in vec2 v ) {
1726 vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); 1727 return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); 1728} 1729vec2 unpackRGBATo2Half( const in vec4 v ) { 1730 return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); 1731} 1732float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { 1733 return ( viewZ + near ) / ( near - far ); 1734} 1735float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { 1736 return depth * ( near - far ) - near; 1737} 1738float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { 1739 return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); 1740} 1741float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { 1742 return ( near * far ) / ( ( far - near ) * depth - far ); 1743}`,GJ=`#ifdef PREMULTIPLIED_ALPHA 1744 gl_FragColor.rgb *= gl_FragColor.a; 1745#endif`,QJ=`vec4 mvPosition = vec4( transformed, 1.0 ); 1746#ifdef USE_BATCHING 1747 mvPosition = batchingMatrix * mvPosition; 1748#endif 1749#ifdef USE_INSTANCING 1750 mvPosition = instanceMatrix * mvPosition; 1751#endif 1752mvPosition = modelViewMatrix * mvPosition; 1753gl_Position = projectionMatrix * mvPosition;`,WJ=`#ifdef DITHERING 1754 gl_FragColor.rgb = dithering( gl_FragColor.rgb ); 1755#endif`,jJ=`#ifdef DITHERING 1756 vec3 dithering( vec3 color ) { 1757 float grid_position = rand( gl_FragCoord.xy ); 1758 vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); 1759 dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); 1760 return color + dither_shift_RGB; 1761 } 1762#endif`,qJ=`float roughnessFactor = roughness; 1763#ifdef USE_ROUGHNESSMAP 1764 vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); 1765 roughnessFactor *= texelRoughness.g; 1766#endif`,XJ=`#ifdef USE_ROUGHNESSMAP 1767 uniform sampler2D roughnessMap; 1768#endif`,YJ=
vendor: 8,887 bytes, lines 1768-1954
1768`#if NUM_SPOT_LIGHT_COORDS > 0 1769 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; 1770#endif 1771#if NUM_SPOT_LIGHT_MAPS > 0 1772 uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; 1773#endif 1774#ifdef USE_SHADOWMAP 1775 #if NUM_DIR_LIGHT_SHADOWS > 0 1776 uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; 1777 varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; 1778 struct DirectionalLightShadow { 1779 float shadowIntensity; 1780 float shadowBias; 1781 float shadowNormalBias; 1782 float shadowRadius; 1783 vec2 shadowMapSize; 1784 }; 1785 uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; 1786 #endif 1787 #if NUM_SPOT_LIGHT_SHADOWS > 0 1788 uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; 1789 struct SpotLightShadow { 1790 float shadowIntensity; 1791 float shadowBias; 1792 float shadowNormalBias; 1793 float shadowRadius; 1794 vec2 shadowMapSize; 1795 }; 1796 uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; 1797 #endif 1798 #if NUM_POINT_LIGHT_SHADOWS > 0 1799 uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; 1800 varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; 1801 struct PointLightShadow { 1802 float shadowIntensity; 1803 float shadowBias; 1804 float shadowNormalBias; 1805 float shadowRadius; 1806 vec2 shadowMapSize; 1807 float shadowCameraNear; 1808 float shadowCameraFar; 1809 }; 1810 uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; 1811 #endif 1812 float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { 1813 return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); 1814 } 1815 vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { 1816 return unpackRGBATo2Half( texture2D( shadow, uv ) ); 1817 } 1818 float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ 1819 float occlusion = 1.0; 1820 vec2 distribution = texture2DDistribution( shadow, uv ); 1821 float hard_shadow = step( compare , distribution.x ); 1822 if (hard_shadow != 1.0 ) { 1823 float distance = compare - distribution.x ; 1824 float variance = max( 0.00000, distribution.y * distribution.y ); 1825 float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); 1826 } 1827 return occlusion; 1828 } 1829 float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { 1830 float shadow = 1.0; 1831 shadowCoord.xyz /= shadowCoord.w; 1832 shadowCoord.z += shadowBias; 1833 bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; 1834 bool frustumTest = inFrustum && shadowCoord.z <= 1.0; 1835 if ( frustumTest ) { 1836 #if defined( SHADOWMAP_TYPE_PCF ) 1837 vec2 texelSize = vec2( 1.0 ) / shadowMapSize; 1838 float dx0 = - texelSize.x * shadowRadius; 1839 float dy0 = - texelSize.y * shadowRadius; 1840 float dx1 = + texelSize.x * shadowRadius; 1841 float dy1 = + texelSize.y * shadowRadius; 1842 float dx2 = dx0 / 2.0; 1843 float dy2 = dy0 / 2.0; 1844 float dx3 = dx1 / 2.0; 1845 float dy3 = dy1 / 2.0; 1846 shadow = ( 1847 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + 1848 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + 1849 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + 1850 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + 1851 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + 1852 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + 1853 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + 1854 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + 1855 texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + 1856 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + 1857 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + 1858 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + 1859 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + 1860 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + 1861 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + 1862 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + 1863 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) 1864 ) * ( 1.0 / 17.0 ); 1865 #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) 1866 vec2 texelSize = vec2( 1.0 ) / shadowMapSize; 1867 float dx = texelSize.x; 1868 float dy = texelSize.y; 1869 vec2 uv = shadowCoord.xy; 1870 vec2 f = fract( uv * shadowMapSize + 0.5 ); 1871 uv -= f * texelSize; 1872 shadow = ( 1873 texture2DCompare( shadowMap, uv, shadowCoord.z ) + 1874 texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + 1875 texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + 1876 texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + 1877 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), 1878 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), 1879 f.x ) + 1880 mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), 1881 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), 1882 f.x ) + 1883 mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), 1884 texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), 1885 f.y ) + 1886 mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), 1887 texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), 1888 f.y ) + 1889 mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), 1890 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), 1891 f.x ), 1892 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), 1893 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), 1894 f.x ), 1895 f.y ) 1896 ) * ( 1.0 / 9.0 ); 1897 #elif defined( SHADOWMAP_TYPE_VSM ) 1898 shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); 1899 #else 1900 shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); 1901 #endif 1902 } 1903 return mix( 1.0, shadow, shadowIntensity ); 1904 } 1905 vec2 cubeToUV( vec3 v, float texelSizeY ) { 1906 vec3 absV = abs( v ); 1907 float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); 1908 absV *= scaleToCube; 1909 v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); 1910 vec2 planar = v.xy; 1911 float almostATexel = 1.5 * texelSizeY; 1912 float almostOne = 1.0 - almostATexel; 1913 if ( absV.z >= almostOne ) { 1914 if ( v.z > 0.0 ) 1915 planar.x = 4.0 - v.x; 1916 } else if ( absV.x >= almostOne ) { 1917 float signX = sign( v.x ); 1918 planar.x = v.z * signX + 2.0 * signX; 1919 } else if ( absV.y >= almostOne ) { 1920 float signY = sign( v.y ); 1921 planar.x = v.x + 2.0 * signY + 2.0; 1922 planar.y = v.z * signY - 2.0; 1923 } 1924 return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); 1925 } 1926 float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { 1927 float shadow = 1.0; 1928 vec3 lightToPosition = shadowCoord.xyz; 1929 1930 float lightToPositionLength = length( lightToPosition ); 1931 if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { 1932 float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; 1933 vec3 bd3D = normalize( lightToPosition ); 1934 vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); 1935 #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) 1936 vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; 1937 shadow = ( 1938 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + 1939 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + 1940 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + 1941 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + 1942 texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + 1943 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + 1944 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + 1945 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + 1946 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) 1947 ) * ( 1.0 / 9.0 ); 1948 #else 1949 shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); 1950 #endif 1951 } 1952 return mix( 1.0, shadow, shadowIntensity ); 1953 } 1954#endif`,
1954$J=`#if NUM_SPOT_LIGHT_COORDS > 0 1955 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; 1956 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; 1957#endif 1958#ifdef USE_SHADOWMAP 1959 #if NUM_DIR_LIGHT_SHADOWS > 0 1960 uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; 1961 varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; 1962 struct DirectionalLightShadow { 1963 float shadowIntensity; 1964 float shadowBias; 1965 float shadowNormalBias; 1966 float shadowRadius; 1967 vec2 shadowMapSize; 1968 }; 1969 uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; 1970 #endif 1971 #if NUM_SPOT_LIGHT_SHADOWS > 0 1972 struct SpotLightShadow { 1973 float shadowIntensity; 1974 float shadowBias; 1975 float shadowNormalBias; 1976 float shadowRadius; 1977 vec2 shadowMapSize; 1978 }; 1979 uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; 1980 #endif 1981 #if NUM_POINT_LIGHT_SHADOWS > 0 1982 uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; 1983 varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; 1984 struct PointLightShadow { 1985 float shadowIntensity; 1986 float shadowBias; 1987 float shadowNormalBias; 1988 float shadowRadius; 1989 vec2 shadowMapSize; 1990 float shadowCameraNear; 1991 float shadowCameraFar; 1992 }; 1993 uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; 1994 #endif 1995#endif`,KJ=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) 1996 vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 1997 vec4 shadowWorldPosition; 1998#endif 1999#if defined( USE_SHADOWMAP ) 2000 #if NUM_DIR_LIGHT_SHADOWS > 0 2001 #pragma unroll_loop_start 2002 for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { 2003 shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); 2004 vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; 2005 } 2006 #pragma unroll_loop_end 2007 #endif 2008 #if NUM_POINT_LIGHT_SHADOWS > 0 2009 #pragma unroll_loop_start 2010 for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { 2011 shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); 2012 vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; 2013 } 2014 #pragma unroll_loop_end 2015 #endif 2016#endif 2017#if NUM_SPOT_LIGHT_COORDS > 0 2018 #pragma unroll_loop_start 2019 for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { 2020 shadowWorldPosition = worldPosition; 2021 #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 2022 shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; 2023 #endif 2024 vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; 2025 } 2026 #pragma unroll_loop_end 2027#endif`,ZJ=`float getShadowMask() { 2028 float shadow = 1.0; 2029 #ifdef USE_SHADOWMAP 2030 #if NUM_DIR_LIGHT_SHADOWS > 0 2031 DirectionalLightShadow directionalLight; 2032 #pragma unroll_loop_start 2033 for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { 2034 directionalLight = directionalLightShadows[ i ]; 2035 shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; 2036 } 2037 #pragma unroll_loop_end 2038 #endif 2039 #if NUM_SPOT_LIGHT_SHADOWS > 0 2040 SpotLightShadow spotLight; 2041 #pragma unroll_loop_start 2042 for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { 2043 spotLight = spotLightShadows[ i ]; 2044 shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; 2045 } 2046 #pragma unroll_loop_end 2047 #endif 2048 #if NUM_POINT_LIGHT_SHADOWS > 0 2049 PointLightShadow pointLight; 2050 #pragma unroll_loop_start 2051 for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { 2052 pointLight = pointLightShadows[ i ]; 2053 shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; 2054 } 2055 #pragma unroll_loop_end 2056 #endif 2057 #endif 2058 return shadow; 2059}`,JJ=`#ifdef USE_SKINNING 2060 mat4 boneMatX = getBoneMatrix( skinIndex.x ); 2061 mat4 boneMatY = getBoneMatrix( skinIndex.y ); 2062 mat4 boneMatZ = getBoneMatrix( skinIndex.z ); 2063 mat4 boneMatW = getBoneMatrix( skinIndex.w ); 2064#endif`,eee=`#ifdef USE_SKINNING 2065 uniform mat4 bindMatrix; 2066 uniform mat4 bindMatrixInverse; 2067 uniform highp sampler2D boneTexture; 2068 mat4 getBoneMatrix( const in float i ) { 2069 int size = textureSize( boneTexture, 0 ).x; 2070 int j = int( i ) * 4; 2071 int x = j % size; 2072 int y = j / size; 2073 vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); 2074 vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); 2075 vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); 2076 vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); 2077 return mat4( v1, v2, v3, v4 ); 2078 } 2079#endif`,tee=`#ifdef USE_SKINNING 2080 vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); 2081 vec4 skinned = vec4( 0.0 ); 2082 skinned += boneMatX * skinVertex * skinWeight.x; 2083 skinned += boneMatY * skinVertex * skinWeight.y; 2084 skinned += boneMatZ * skinVertex * skinWeight.z; 2085 skinned += boneMatW * skinVertex * skinWeight.w; 2086 transformed = ( bindMatrixInverse * skinned ).xyz; 2087#endif`,nee=`#ifdef USE_SKINNING 2088 mat4 skinMatrix = mat4( 0.0 ); 2089 skinMatrix += skinWeight.x * boneMatX; 2090 skinMatrix += skinWeight.y * boneMatY; 2091 skinMatrix += skinWeight.z * boneMatZ; 2092 skinMatrix += skinWeight.w * boneMatW; 2093 skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; 2094 objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; 2095 #ifdef USE_TANGENT 2096 objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; 2097 #endif 2098#endif`,iee=`float specularStrength; 2099#ifdef USE_SPECULARMAP 2100 vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); 2101 specularStrength = texelSpecular.r; 2102#else 2103 specularStrength = 1.0; 2104#endif`,ree=`#ifdef USE_SPECULARMAP 2105 uniform sampler2D specularMap; 2106#endif`,see=`#if defined( TONE_MAPPING ) 2107 gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); 2108#endif`,oee=`#ifndef saturate 2109#define saturate( a ) clamp( a, 0.0, 1.0 ) 2110#endif 2111uniform float toneMappingExposure; 2112vec3 LinearToneMapping( vec3 color ) { 2113 return saturate( toneMappingExposure * color ); 2114} 2115vec3 ReinhardToneMapping( vec3 color ) { 2116 color *= toneMappingExposure; 2117 return saturate( color / ( vec3( 1.0 ) + color ) ); 2118} 2119vec3 CineonToneMapping( vec3 color ) { 2120 color *= toneMappingExposure; 2121 color = max( vec3( 0.0 ), color - 0.004 ); 2122 return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); 2123} 2124vec3 RRTAndODTFit( vec3 v ) { 2125 vec3 a = v * ( v + 0.0245786 ) - 0.000090537; 2126 vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; 2127 return a / b; 2128} 2129vec3 ACESFilmicToneMapping( vec3 color ) { 2130 const mat3 ACESInputMat = mat3( 2131 vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), 2132 vec3( 0.04823, 0.01566, 0.83777 ) 2133 ); 2134 const mat3 ACESOutputMat = mat3( 2135 vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), 2136 vec3( -0.07367, -0.00605, 1.07602 ) 2137 ); 2138 color *= toneMappingExposure / 0.6; 2139 color = ACESInputMat * color; 2140 color = RRTAndODTFit( color ); 2141 color = ACESOutputMat * color; 2142 return saturate( color ); 2143} 2144const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( 2145 vec3( 1.6605, - 0.1246, - 0.0182 ), 2146 vec3( - 0.5876, 1.1329, - 0.1006 ), 2147 vec3( - 0.0728, - 0.0083, 1.1187 ) 2148); 2149const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( 2150 vec3( 0.6274, 0.0691, 0.0164 ), 2151 vec3( 0.3293, 0.9195, 0.0880 ), 2152 vec3( 0.0433, 0.0113, 0.8956 ) 2153); 2154vec3 agxDefaultContrastApprox( vec3 x ) { 2155 vec3 x2 = x * x; 2156 vec3 x4 = x2 * x2; 2157 return + 15.5 * x4 * x2 2158 - 40.14 * x4 * x 2159 + 31.96 * x4 2160 - 6.868 * x2 * x 2161 + 0.4298 * x2 2162 + 0.1191 * x 2163 - 0.00232; 2164} 2165vec3 AgXToneMapping( vec3 color ) { 2166 const mat3 AgXInsetMatrix = mat3( 2167 vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), 2168 vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), 2169 vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) 2170 );
2171 const mat3 AgXOutsetMatrix = mat3( 2172 vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), 2173 vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), 2174 vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) 2175 ); 2176 const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; 2177 color *= toneMappingExposure; 2178 color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; 2179 color = AgXInsetMatrix * color; 2180 color = max( color, 1e-10 ); color = log2( color ); 2181 color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); 2182 color = clamp( color, 0.0, 1.0 ); 2183 color = agxDefaultContrastApprox( color ); 2184 color = AgXOutsetMatrix * color; 2185 color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); 2186 color = LINEAR_REC2020_TO_LINEAR_SRGB * color; 2187 color = clamp( color, 0.0, 1.0 ); 2188 return color; 2189} 2190vec3 NeutralToneMapping( vec3 color ) { 2191 const float StartCompression = 0.8 - 0.04; 2192 const float Desaturation = 0.15; 2193 color *= toneMappingExposure; 2194 float x = min( color.r, min( color.g, color.b ) ); 2195 float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; 2196 color -= offset; 2197 float peak = max( color.r, max( color.g, color.b ) ); 2198 if ( peak < StartCompression ) return color; 2199 float d = 1. - StartCompression; 2200 float newPeak = 1. - d * d / ( peak + d - StartCompression ); 2201 color *= newPeak / peak; 2202 float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); 2203 return mix( color, vec3( newPeak ), g ); 2204} 2205vec3 CustomToneMapping( vec3 color ) { return color; }`,aee=`#ifdef USE_TRANSMISSION 2206 material.transmission = transmission; 2207 material.transmissionAlpha = 1.0; 2208 material.thickness = thickness; 2209 material.attenuationDistance = attenuationDistance; 2210 material.attenuationColor = attenuationColor; 2211 #ifdef USE_TRANSMISSIONMAP 2212 material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; 2213 #endif 2214 #ifdef USE_THICKNESSMAP 2215 material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; 2216 #endif 2217 vec3 pos = vWorldPosition; 2218 vec3 v = normalize( cameraPosition - pos ); 2219 vec3 n = inverseTransformDirection( normal, viewMatrix ); 2220 vec4 transmitted = getIBLVolumeRefraction( 2221 n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, 2222 pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness, 2223 material.attenuationColor, material.attenuationDistance ); 2224 material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); 2225 totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); 2226#endif`,lee=`#ifdef USE_TRANSMISSION 2227 uniform float transmission; 2228 uniform float thickness; 2229 uniform float attenuationDistance; 2230 uniform vec3 attenuationColor; 2231 #ifdef USE_TRANSMISSIONMAP 2232 uniform sampler2D transmissionMap; 2233 #endif 2234 #ifdef USE_THICKNESSMAP 2235 uniform sampler2D thicknessMap; 2236 #endif 2237 uniform vec2 transmissionSamplerSize; 2238 uniform sampler2D transmissionSamplerMap; 2239 uniform mat4 modelMatrix; 2240 uniform mat4 projectionMatrix; 2241 varying vec3 vWorldPosition; 2242 float w0( float a ) { 2243 return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); 2244 } 2245 float w1( float a ) { 2246 return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); 2247 } 2248 float w2( float a ){ 2249 return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); 2250 } 2251 float w3( float a ) { 2252 return ( 1.0 / 6.0 ) * ( a * a * a ); 2253 } 2254 float g0( float a ) { 2255 return w0( a ) + w1( a ); 2256 } 2257 float g1( float a ) { 2258 return w2( a ) + w3( a ); 2259 } 2260 float h0( float a ) { 2261 return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); 2262 } 2263 float h1( float a ) { 2264 return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); 2265 } 2266 vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { 2267 uv = uv * texelSize.zw + 0.5; 2268 vec2 iuv = floor( uv ); 2269 vec2 fuv = fract( uv ); 2270 float g0x = g0( fuv.x ); 2271 float g1x = g1( fuv.x ); 2272 float h0x = h0( fuv.x ); 2273 float h1x = h1( fuv.x ); 2274 float h0y = h0( fuv.y ); 2275 float h1y = h1( fuv.y ); 2276 vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 2277 vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 2278 vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 2279 vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 2280 return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + 2281 g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); 2282 } 2283 vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { 2284 vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); 2285 vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); 2286 vec2 fLodSizeInv = 1.0 / fLodSize; 2287 vec2 cLodSizeInv = 1.0 / cLodSize; 2288 vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); 2289 vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); 2290 return mix( fSample, cSample, fract( lod ) ); 2291 } 2292 vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { 2293 vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); 2294 vec3 modelScale; 2295 modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); 2296 modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); 2297 modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); 2298 return normalize( refractionVector ) * thickness * modelScale; 2299 } 2300 float applyIorToRoughness( const in float roughness, const in float ior ) { 2301 return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); 2302 } 2303 vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { 2304 float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); 2305 return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); 2306 } 2307 vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { 2308 if ( isinf( attenuationDistance ) ) { 2309 return vec3( 1.0 ); 2310 } else { 2311 vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; 2312 vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; 2313 } 2314 } 2315 vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, 2316 const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, 2317 const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, 2318 const in vec3 attenuationColor, const in float attenuationDistance ) { 2319 vec4 transmittedLight; 2320 vec3 transmittance; 2321 #ifdef USE_DISPERSION 2322 float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; 2323 vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); 2324 for ( int i = 0; i < 3; i ++ ) { 2325 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); 2326 vec3 refractedRayExit = position + transmissionRay; 2327 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 2328 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 2329 refractionCoords += 1.0; 2330 refractionCoords /= 2.0; 2331 vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); 2332 transmittedLight[ i ] = transmissionSample[ i ]; 2333 transmittedLight.a += transmissionSample.a; 2334 transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; 2335 } 2336 transmittedLight.a /= 3.0; 2337 #else 2338 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); 2339 vec3 refractedRayExit = position + transmissionRay; 2340 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 2341 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 2342 refractionCoords += 1.0; 2343 refractionCoords /= 2.0; 2344 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); 2345 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); 2346 #endif 2347 vec3 attenuatedColor = transmittance * transmittedLight.rgb; 2348 vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); 2349 float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; 2350 return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); 2351 } 2352#endif`,cee=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2353 varying vec2 vUv; 2354#endif 2355#ifdef USE_MAP 2356 varying vec2 vMapUv; 2357#endif 2358#ifdef USE_ALPHAMAP
2359 varying vec2 vAlphaMapUv; 2360#endif 2361#ifdef USE_LIGHTMAP 2362 varying vec2 vLightMapUv; 2363#endif 2364#ifdef USE_AOMAP 2365 varying vec2 vAoMapUv; 2366#endif 2367#ifdef USE_BUMPMAP 2368 varying vec2 vBumpMapUv; 2369#endif 2370#ifdef USE_NORMALMAP 2371 varying vec2 vNormalMapUv; 2372#endif 2373#ifdef USE_EMISSIVEMAP 2374 varying vec2 vEmissiveMapUv; 2375#endif 2376#ifdef USE_METALNESSMAP 2377 varying vec2 vMetalnessMapUv; 2378#endif 2379#ifdef USE_ROUGHNESSMAP 2380 varying vec2 vRoughnessMapUv; 2381#endif 2382#ifdef USE_ANISOTROPYMAP 2383 varying vec2 vAnisotropyMapUv; 2384#endif 2385#ifdef USE_CLEARCOATMAP 2386 varying vec2 vClearcoatMapUv; 2387#endif 2388#ifdef USE_CLEARCOAT_NORMALMAP 2389 varying vec2 vClearcoatNormalMapUv; 2390#endif 2391#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2392 varying vec2 vClearcoatRoughnessMapUv; 2393#endif 2394#ifdef USE_IRIDESCENCEMAP 2395 varying vec2 vIridescenceMapUv; 2396#endif 2397#ifdef USE_IRIDESCENCE_THICKNESSMAP 2398 varying vec2 vIridescenceThicknessMapUv; 2399#endif 2400#ifdef USE_SHEEN_COLORMAP 2401 varying vec2 vSheenColorMapUv; 2402#endif 2403#ifdef USE_SHEEN_ROUGHNESSMAP 2404 varying vec2 vSheenRoughnessMapUv; 2405#endif 2406#ifdef USE_SPECULARMAP 2407 varying vec2 vSpecularMapUv; 2408#endif 2409#ifdef USE_SPECULAR_COLORMAP 2410 varying vec2 vSpecularColorMapUv; 2411#endif 2412#ifdef USE_SPECULAR_INTENSITYMAP 2413 varying vec2 vSpecularIntensityMapUv; 2414#endif 2415#ifdef USE_TRANSMISSIONMAP 2416 uniform mat3 transmissionMapTransform; 2417 varying vec2 vTransmissionMapUv; 2418#endif 2419#ifdef USE_THICKNESSMAP 2420 uniform mat3 thicknessMapTransform; 2421 varying vec2 vThicknessMapUv; 2422#endif`,uee=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2423 varying vec2 vUv; 2424#endif 2425#ifdef USE_MAP 2426 uniform mat3 mapTransform; 2427 varying vec2 vMapUv; 2428#endif 2429#ifdef USE_ALPHAMAP 2430 uniform mat3 alphaMapTransform; 2431 varying vec2 vAlphaMapUv; 2432#endif 2433#ifdef USE_LIGHTMAP 2434 uniform mat3 lightMapTransform; 2435 varying vec2 vLightMapUv; 2436#endif 2437#ifdef USE_AOMAP 2438 uniform mat3 aoMapTransform; 2439 varying vec2 vAoMapUv; 2440#endif 2441#ifdef USE_BUMPMAP 2442 uniform mat3 bumpMapTransform; 2443 varying vec2 vBumpMapUv; 2444#endif 2445#ifdef USE_NORMALMAP 2446 uniform mat3 normalMapTransform; 2447 varying vec2 vNormalMapUv; 2448#endif 2449#ifdef USE_DISPLACEMENTMAP 2450 uniform mat3 displacementMapTransform; 2451 varying vec2 vDisplacementMapUv; 2452#endif 2453#ifdef USE_EMISSIVEMAP 2454 uniform mat3 emissiveMapTransform; 2455 varying vec2 vEmissiveMapUv; 2456#endif 2457#ifdef USE_METALNESSMAP 2458 uniform mat3 metalnessMapTransform; 2459 varying vec2 vMetalnessMapUv; 2460#endif 2461#ifdef USE_ROUGHNESSMAP 2462 uniform mat3 roughnessMapTransform; 2463 varying vec2 vRoughnessMapUv; 2464#endif 2465#ifdef USE_ANISOTROPYMAP 2466 uniform mat3 anisotropyMapTransform; 2467 varying vec2 vAnisotropyMapUv; 2468#endif 2469#ifdef USE_CLEARCOATMAP 2470 uniform mat3 clearcoatMapTransform; 2471 varying vec2 vClearcoatMapUv; 2472#endif 2473#ifdef USE_CLEARCOAT_NORMALMAP 2474 uniform mat3 clearcoatNormalMapTransform; 2475 varying vec2 vClearcoatNormalMapUv; 2476#endif 2477#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2478 uniform mat3 clearcoatRoughnessMapTransform; 2479 varying vec2 vClearcoatRoughnessMapUv; 2480#endif 2481#ifdef USE_SHEEN_COLORMAP 2482 uniform mat3 sheenColorMapTransform; 2483 varying vec2 vSheenColorMapUv; 2484#endif 2485#ifdef USE_SHEEN_ROUGHNESSMAP 2486 uniform mat3 sheenRoughnessMapTransform; 2487 varying vec2 vSheenRoughnessMapUv; 2488#endif 2489#ifdef USE_IRIDESCENCEMAP 2490 uniform mat3 iridescenceMapTransform; 2491 varying vec2 vIridescenceMapUv; 2492#endif 2493#ifdef USE_IRIDESCENCE_THICKNESSMAP 2494 uniform mat3 iridescenceThicknessMapTransform; 2495 varying vec2 vIridescenceThicknessMapUv; 2496#endif 2497#ifdef USE_SPECULARMAP 2498 uniform mat3 specularMapTransform; 2499 varying vec2 vSpecularMapUv; 2500#endif 2501#ifdef USE_SPECULAR_COLORMAP 2502 uniform mat3 specularColorMapTransform; 2503 varying vec2 vSpecularColorMapUv; 2504#endif 2505#ifdef USE_SPECULAR_INTENSITYMAP 2506 uniform mat3 specularIntensityMapTransform; 2507 varying vec2 vSpecularIntensityMapUv; 2508#endif 2509#ifdef USE_TRANSMISSIONMAP 2510 uniform mat3 transmissionMapTransform; 2511 varying vec2 vTransmissionMapUv; 2512#endif 2513#ifdef USE_THICKNESSMAP 2514 uniform mat3 thicknessMapTransform; 2515 varying vec2 vThicknessMapUv; 2516#endif`,fee=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2517 vUv = vec3( uv, 1 ).xy; 2518#endif 2519#ifdef USE_MAP 2520 vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; 2521#endif 2522#ifdef USE_ALPHAMAP 2523 vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; 2524#endif 2525#ifdef USE_LIGHTMAP 2526 vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; 2527#endif 2528#ifdef USE_AOMAP 2529 vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; 2530#endif 2531#ifdef USE_BUMPMAP 2532 vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; 2533#endif 2534#ifdef USE_NORMALMAP 2535 vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; 2536#endif 2537#ifdef USE_DISPLACEMENTMAP 2538 vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; 2539#endif 2540#ifdef USE_EMISSIVEMAP 2541 vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; 2542#endif 2543#ifdef USE_METALNESSMAP 2544 vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; 2545#endif 2546#ifdef USE_ROUGHNESSMAP 2547 vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; 2548#endif 2549#ifdef USE_ANISOTROPYMAP 2550 vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; 2551#endif 2552#ifdef USE_CLEARCOATMAP 2553 vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; 2554#endif 2555#ifdef USE_CLEARCOAT_NORMALMAP 2556 vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; 2557#endif 2558#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2559 vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; 2560#endif
2561#ifdef USE_IRIDESCENCEMAP 2562 vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; 2563#endif 2564#ifdef USE_IRIDESCENCE_THICKNESSMAP 2565 vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; 2566#endif 2567#ifdef USE_SHEEN_COLORMAP 2568 vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; 2569#endif 2570#ifdef USE_SHEEN_ROUGHNESSMAP 2571 vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; 2572#endif 2573#ifdef USE_SPECULARMAP 2574 vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; 2575#endif 2576#ifdef USE_SPECULAR_COLORMAP 2577 vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; 2578#endif 2579#ifdef USE_SPECULAR_INTENSITYMAP 2580 vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; 2581#endif 2582#ifdef USE_TRANSMISSIONMAP 2583 vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; 2584#endif 2585#ifdef USE_THICKNESSMAP 2586 vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; 2587#endif`,dee=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 2588 vec4 worldPosition = vec4( transformed, 1.0 ); 2589 #ifdef USE_BATCHING 2590 worldPosition = batchingMatrix * worldPosition; 2591 #endif 2592 #ifdef USE_INSTANCING 2593 worldPosition = instanceMatrix * worldPosition; 2594 #endif 2595 worldPosition = modelMatrix * worldPosition; 2596#endif`;const hee=`varying vec2 vUv; 2597uniform mat3 uvTransform; 2598void main() { 2599 vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 2600 gl_Position = vec4( position.xy, 1.0, 1.0 ); 2601}`,pee=`uniform sampler2D t2D; 2602uniform float backgroundIntensity; 2603varying vec2 vUv; 2604void main() { 2605 vec4 texColor = texture2D( t2D, vUv ); 2606 #ifdef DECODE_VIDEO_TEXTURE 2607 texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); 2608 #endif 2609 texColor.rgb *= backgroundIntensity; 2610 gl_FragColor = texColor; 2611 #include <tonemapping_fragment> 2612 #include <colorspace_fragment> 2613}`,mee=`varying vec3 vWorldDirection; 2614#include <common> 2615void main() { 2616 vWorldDirection = transformDirection( position, modelMatrix ); 2617 #include <begin_vertex> 2618 #include <project_vertex> 2619 gl_Position.z = gl_Position.w; 2620}`,gee=`#ifdef ENVMAP_TYPE_CUBE 2621 uniform samplerCube envMap; 2622#elif defined( ENVMAP_TYPE_CUBE_UV ) 2623 uniform sampler2D envMap; 2624#endif 2625uniform float flipEnvMap; 2626uniform float backgroundBlurriness; 2627uniform float backgroundIntensity; 2628uniform mat3 backgroundRotation; 2629varying vec3 vWorldDirection; 2630#include <cube_uv_reflection_fragment> 2631void main() { 2632 #ifdef ENVMAP_TYPE_CUBE 2633 vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); 2634 #elif defined( ENVMAP_TYPE_CUBE_UV ) 2635 vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); 2636 #else 2637 vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 2638 #endif 2639 texColor.rgb *= backgroundIntensity; 2640 gl_FragColor = texColor; 2641 #include <tonemapping_fragment> 2642 #include <colorspace_fragment> 2643}`,Aee=`varying vec3 vWorldDirection; 2644#include <common> 2645void main() { 2646 vWorldDirection = transformDirection( position, modelMatrix ); 2647 #include <begin_vertex> 2648 #include <project_vertex> 2649 gl_Position.z = gl_Position.w; 2650}`,vee=`uniform samplerCube tCube; 2651uniform float tFlip; 2652uniform float opacity; 2653varying vec3 vWorldDirection; 2654void main() { 2655 vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); 2656 gl_FragColor = texColor; 2657 gl_FragColor.a *= opacity; 2658 #include <tonemapping_fragment> 2659 #include <colorspace_fragment> 2660}`,yee=`#include <common> 2661#include <batching_pars_vertex> 2662#include <uv_pars_vertex> 2663#include <displacementmap_pars_vertex> 2664#include <morphtarget_pars_vertex> 2665#include <skinning_pars_vertex> 2666#include <logdepthbuf_pars_vertex> 2667#include <clipping_planes_pars_vertex> 2668varying vec2 vHighPrecisionZW; 2669void main() { 2670 #include <uv_vertex> 2671 #include <batching_vertex> 2672 #include <skinbase_vertex> 2673 #include <morphinstance_vertex> 2674 #ifdef USE_DISPLACEMENTMAP 2675 #include <beginnormal_vertex> 2676 #include <morphnormal_vertex> 2677 #include <skinnormal_vertex> 2678 #endif 2679 #include <begin_vertex> 2680 #include <morphtarget_vertex> 2681 #include <skinning_vertex> 2682 #include <displacementmap_vertex> 2683 #include <project_vertex> 2684 #include <logdepthbuf_vertex> 2685 #include <clipping_planes_vertex> 2686 vHighPrecisionZW = gl_Position.zw; 2687}`,_ee=`#if DEPTH_PACKING == 3200 2688 uniform float opacity; 2689#endif 2690#include <common> 2691#include <packing> 2692#include <uv_pars_fragment> 2693#include <map_pars_fragment> 2694#include <alphamap_pars_fragment> 2695#include <alphatest_pars_fragment> 2696#include <alphahash_pars_fragment> 2697#include <logdepthbuf_pars_fragment> 2698#include <clipping_planes_pars_fragment> 2699varying vec2 vHighPrecisionZW; 2700void main() { 2701 vec4 diffuseColor = vec4( 1.0 ); 2702 #include <clipping_planes_fragment> 2703 #if DEPTH_PACKING == 3200 2704 diffuseColor.a = opacity; 2705 #endif 2706 #include <map_fragment> 2707 #include <alphamap_fragment> 2708 #include <alphatest_fragment> 2709 #include <alphahash_fragment> 2710 #include <logdepthbuf_fragment> 2711 float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; 2712 #if DEPTH_PACKING == 3200 2713 gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); 2714 #elif DEPTH_PACKING == 3201 2715 gl_FragColor = packDepthToRGBA( fragCoordZ ); 2716 #elif DEPTH_PACKING == 3202 2717 gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 ); 2718 #elif DEPTH_PACKING == 3203 2719 gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); 2720 #endif 2721}`,bee=`#define DISTANCE 2722varying vec3 vWorldPosition; 2723#include <common> 2724#include <batching_pars_vertex> 2725#include <uv_pars_vertex> 2726#include <displacementmap_pars_vertex> 2727#include <morphtarget_pars_vertex> 2728#include <skinning_pars_vertex> 2729#include <clipping_planes_pars_vertex> 2730void main() { 2731 #include <uv_vertex> 2732 #include <batching_vertex> 2733 #include <skinbase_vertex> 2734 #include <morphinstance_vertex> 2735 #ifdef USE_DISPLACEMENTMAP 2736 #include <beginnormal_vertex> 2737 #include <morphnormal_vertex> 2738 #include <skinnormal_vertex> 2739 #endif 2740 #include <begin_vertex> 2741 #include <morphtarget_vertex> 2742 #include <skinning_vertex> 2743 #include <displacementmap_vertex> 2744 #include <project_vertex> 2745 #include <worldpos_vertex> 2746 #include <clipping_planes_vertex> 2747 vWorldPosition = worldPosition.xyz; 2748}`,xee=`#define DISTANCE 2749uniform vec3 referencePosition; 2750uniform float nearDistance; 2751uniform float farDistance; 2752varying vec3 vWorldPosition; 2753#include <common> 2754#include <packing> 2755#include <uv_pars_fragment> 2756#include <map_pars_fragment> 2757#include <alphamap_pars_fragment> 2758#include <alphatest_pars_fragment> 2759#include <alphahash_pars_fragment> 2760#include <clipping_planes_pars_fragment> 2761void main () { 2762 vec4 diffuseColor = vec4( 1.0 ); 2763 #include <clipping_planes_fragment> 2764 #include <map_fragment> 2765 #include <alphamap_fragment> 2766 #include <alphatest_fragment> 2767 #include <alphahash_fragment> 2768 float dist = length( vWorldPosition - referencePosition ); 2769 dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); 2770 dist = saturate( dist ); 2771 gl_FragColor = packDepthToRGBA( dist ); 2772}`,Cee=`varying vec3 vWorldDirection; 2773#include <common> 2774void main() { 2775 vWorldDirection = transformDirection( position, modelMatrix ); 2776 #include <begin_vertex> 2777 #include <project_vertex> 2778}`,wee=`uniform sampler2D tEquirect; 2779varying vec3 vWorldDirection; 2780#include <common> 2781void main() { 2782 vec3 direction = normalize( vWorldDirection ); 2783 vec2 sampleUV = equirectUv( direction ); 2784 gl_FragColor = texture2D( tEquirect, sampleUV ); 2785 #include <tonemapping_fragment> 2786 #include <colorspace_fragment> 2787}`,See=`uniform float scale; 2788attribute float lineDistance; 2789varying float vLineDistance; 2790#include <common> 2791#include <uv_pars_vertex> 2792#include <color_pars_vertex> 2793#include <fog_pars_vertex> 2794#include <morphtarget_pars_vertex> 2795#include <logdepthbuf_pars_vertex> 2796#include <clipping_planes_pars_vertex> 2797void main() { 2798 vLineDistance = scale * lineDistance; 2799 #include <uv_vertex> 2800 #include <color_vertex> 2801 #include <morphinstance_vertex> 2802 #include <morphcolor_vertex> 2803 #include <begin_vertex> 2804 #include <morphtarget_vertex> 2805 #include <project_vertex> 2806 #include <logdepthbuf_vertex> 2807 #include <clipping_planes_vertex> 2808 #include <fog_vertex> 2809}`,Eee=`uniform vec3 diffuse; 2810uniform float opacity; 2811uniform float dashSize; 2812uniform float totalSize; 2813varying float vLineDistance; 2814#include <common> 2815#include <color_pars_fragment> 2816#include <uv_pars_fragment> 2817#include <map_pars_fragment> 2818#include <fog_pars_fragment> 2819#include <logdepthbuf_pars_fragment> 2820#include <clipping_planes_pars_fragment> 2821void main() { 2822 vec4 diffuseColor = vec4( diffuse, opacity ); 2823 #include <clipping_planes_fragment> 2824 if ( mod( vLineDistance, totalSize ) > dashSize ) { 2825 discard; 2826 } 2827 vec3 outgoingLight = vec3( 0.0 ); 2828 #include <logdepthbuf_fragment> 2829 #include <map_fragment> 2830 #include <color_fragment> 2831 outgoingLight = diffuseColor.rgb; 2832 #include <opaque_fragment> 2833 #include <tonemapping_fragment> 2834 #include <colorspace_fragment> 2835 #include <fog_fragment> 2836 #include <premultiplied_alpha_fragment> 2837}`,Tee=`#include <common> 2838#include <batching_pars_vertex> 2839#include <uv_pars_vertex> 2840#include <envmap_pars_vertex> 2841#include <color_pars_vertex> 2842#include <fog_pars_vertex> 2843#include <morphtarget_pars_vertex> 2844#include <skinning_pars_vertex> 2845#include <logdepthbuf_pars_vertex> 2846#include <clipping_planes_pars_vertex> 2847void main() { 2848 #include <uv_vertex> 2849 #include <color_vertex> 2850 #include <morphinstance_vertex> 2851 #include <morphcolor_vertex> 2852 #include <batching_vertex> 2853 #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) 2854 #include <beginnormal_vertex> 2855 #include <morphnormal_vertex> 2856 #include <skinbase_vertex> 2857 #include <skinnormal_vertex> 2858 #include <defaultnormal_vertex> 2859 #endif 2860 #include <begin_vertex> 2861 #include <morphtarget_vertex> 2862 #include <skinning_vertex> 2863 #include <project_vertex> 2864 #include <logdepthbuf_vertex> 2865 #include <clipping_planes_vertex> 2866 #include <worldpos_vertex> 2867 #include <envmap_vertex> 2868 #include <fog_vertex> 2869}`,Mee=`uniform vec3 diffuse; 2870uniform float opacity; 2871#ifndef FLAT_SHADED 2872 varying vec3 vNormal; 2873#endif 2874#include <common> 2875#include <dithering_pars_fragment> 2876#include <color_pars_fragment> 2877#include <uv_pars_fragment> 2878#include <map_pars_fragment> 2879#include <alphamap_pars_fragment> 2880#include <alphatest_pars_fragment> 2881#include <alphahash_pars_fragment> 2882#include <aomap_pars_fragment> 2883#include <lightmap_pars_fragment> 2884#include <envmap_common_pars_fragment> 2885#include <envmap_pars_fragment> 2886#include <fog_pars_fragment> 2887#include <specularmap_pars_fragment> 2888#include <logdepthbuf_pars_fragment> 2889#include <clipping_planes_pars_fragment> 2890void main() { 2891 vec4 diffuseColor = vec4( diffuse, opacity ); 2892 #include <clipping_planes_fragment> 2893 #include <logdepthbuf_fragment> 2894 #include <map_fragment> 2895 #include <color_fragment> 2896 #include <alphamap_fragment> 2897 #include <alphatest_fragment> 2898 #include <alphahash_fragment> 2899 #include <specularmap_fragment> 2900 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 2901 #ifdef USE_LIGHTMAP 2902 vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); 2903 reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; 2904 #else 2905 reflectedLight.indirectDiffuse += vec3( 1.0 ); 2906 #endif 2907 #include <aomap_fragment> 2908 reflectedLight.indirectDiffuse *= diffuseColor.rgb; 2909 vec3 outgoingLight = reflectedLight.indirectDiffuse; 2910 #include <envmap_fragment> 2911 #include <opaque_fragment> 2912 #include <tonemapping_fragment> 2913 #include <colorspace_fragment> 2914 #include <fog_fragment> 2915 #include <premultiplied_alpha_fragment> 2916 #include <dithering_fragment> 2917}`,Iee=`#define LAMBERT 2918varying vec3 vViewPosition; 2919#include <common> 2920#include <batching_pars_vertex> 2921#include <uv_pars_vertex> 2922#include <displacementmap_pars_vertex> 2923#include <envmap_pars_vertex> 2924#include <color_pars_vertex> 2925#include <fog_pars_vertex> 2926#include <normal_pars_vertex> 2927#include <morphtarget_pars_vertex> 2928#include <skinning_pars_vertex> 2929#include <shadowmap_pars_vertex> 2930#include <logdepthbuf_pars_vertex> 2931#include <clipping_planes_pars_vertex> 2932void main() { 2933 #include <uv_vertex> 2934 #include <color_vertex> 2935 #include <morphinstance_vertex> 2936 #include <morphcolor_vertex> 2937 #include <batching_vertex> 2938 #include <beginnormal_vertex> 2939 #include <morphnormal_vertex> 2940 #include <skinbase_vertex> 2941 #include <skinnormal_vertex> 2942 #include <defaultnormal_vertex> 2943 #include <normal_vertex> 2944 #include <begin_vertex> 2945 #include <morphtarget_vertex> 2946 #include <skinning_vertex> 2947 #include <displacementmap_vertex> 2948 #include <project_vertex> 2949 #include <logdepthbuf_vertex> 2950 #include <clipping_planes_vertex> 2951 vViewPosition = - mvPosition.xyz; 2952 #include <worldpos_vertex> 2953 #include <envmap_vertex> 2954 #include <shadowmap_vertex> 2955 #include <fog_vertex> 2956}`,Pee=`#define LAMBERT 2957uniform vec3 diffuse; 2958uniform vec3 emissive; 2959uniform float opacity; 2960#include <common> 2961#include <packing> 2962#include <dithering_pars_fragment> 2963#include <color_pars_fragment> 2964#include <uv_pars_fragment> 2965#include <map_pars_fragment> 2966#include <alphamap_pars_fragment> 2967#include <alphatest_pars_fragment> 2968#include <alphahash_pars_fragment> 2969#include <aomap_pars_fragment> 2970#include <lightmap_pars_fragment> 2971#include <emissivemap_pars_fragment> 2972#include <envmap_common_pars_fragment> 2973#include <envmap_pars_fragment> 2974#include <fog_pars_fragment> 2975#include <bsdfs> 2976#include <lights_pars_begin> 2977#include <normal_pars_fragment> 2978#include <lights_lambert_pars_fragment> 2979#include <shadowmap_pars_fragment> 2980#include <bumpmap_pars_fragment> 2981#include <normalmap_pars_fragment> 2982#include <specularmap_pars_fragment> 2983#include <logdepthbuf_pars_fragment> 2984#include <clipping_planes_pars_fragment> 2985void main() { 2986 vec4 diffuseColor = vec4( diffuse, opacity ); 2987 #include <clipping_planes_fragment> 2988 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 2989 vec3 totalEmissiveRadiance = emissive; 2990 #include <logdepthbuf_fragment> 2991 #include <map_fragment> 2992 #include <color_fragment> 2993 #include <alphamap_fragment> 2994 #include <alphatest_fragment> 2995 #include <alphahash_fragment> 2996 #include <specularmap_fragment> 2997 #include <normal_fragment_begin> 2998 #include <normal_fragment_maps> 2999 #include <emissivemap_fragment> 3000 #include <lights_lambert_fragment> 3001 #include <lights_fragment_begin> 3002 #include <lights_fragment_maps> 3003 #include <lights_fragment_end> 3004 #include <aomap_fragment> 3005 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; 3006 #include <envmap_fragment> 3007 #include <opaque_fragment> 3008 #include <tonemapping_fragment> 3009 #include <colorspace_fragment> 3010 #include <fog_fragment> 3011 #include <premultiplied_alpha_fragment> 3012 #include <dithering_fragment> 3013}`,Ree=`#define MATCAP 3014varying vec3 vViewPosition; 3015#include <common> 3016#include <batching_pars_vertex> 3017#include <uv_pars_vertex> 3018#include <color_pars_vertex> 3019#include <displacementmap_pars_vertex> 3020#include <fog_pars_vertex> 3021#include <normal_pars_vertex> 3022#include <morphtarget_pars_vertex> 3023#include <skinning_pars_vertex> 3024#include <logdepthbuf_pars_vertex> 3025#include <clipping_planes_pars_vertex> 3026void main() { 3027 #include <uv_vertex> 3028 #include <color_vertex> 3029 #include <morphinstance_vertex> 3030 #include <morphcolor_vertex> 3031 #include <batching_vertex> 3032 #include <beginnormal_vertex> 3033 #include <morphnormal_vertex> 3034 #include <skinbase_vertex> 3035 #include <skinnormal_vertex> 3036 #include <defaultnormal_vertex> 3037 #include <normal_vertex> 3038 #include <begin_vertex> 3039 #include <morphtarget_vertex> 3040 #include <skinning_vertex> 3041 #include <displacementmap_vertex> 3042 #include <project_vertex> 3043 #include <logdepthbuf_vertex> 3044 #include <clipping_planes_vertex> 3045 #include <fog_vertex> 3046 vViewPosition = - mvPosition.xyz; 3047}`,Bee=`#define MATCAP 3048uniform vec3 diffuse; 3049uniform float opacity; 3050uniform sampler2D matcap; 3051varying vec3 vViewPosition; 3052#include <common> 3053#include <dithering_pars_fragment> 3054#include <color_pars_fragment> 3055#include <uv_pars_fragment> 3056#include <map_pars_fragment> 3057#include <alphamap_pars_fragment> 3058#include <alphatest_pars_fragment> 3059#include <alphahash_pars_fragment> 3060#include <fog_pars_fragment> 3061#include <normal_pars_fragment> 3062#include <bumpmap_pars_fragment> 3063#include <normalmap_pars_fragment> 3064#include <logdepthbuf_pars_fragment> 3065#include <clipping_planes_pars_fragme
3065nt> 3066void main() { 3067 vec4 diffuseColor = vec4( diffuse, opacity ); 3068 #include <clipping_planes_fragment> 3069 #include <logdepthbuf_fragment> 3070 #include <map_fragment> 3071 #include <color_fragment> 3072 #include <alphamap_fragment> 3073 #include <alphatest_fragment> 3074 #include <alphahash_fragment> 3075 #include <normal_fragment_begin> 3076 #include <normal_fragment_maps> 3077 vec3 viewDir = normalize( vViewPosition ); 3078 vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); 3079 vec3 y = cross( viewDir, x ); 3080 vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; 3081 #ifdef USE_MATCAP 3082 vec4 matcapColor = texture2D( matcap, uv ); 3083 #else 3084 vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); 3085 #endif 3086 vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; 3087 #include <opaque_fragment> 3088 #include <tonemapping_fragment> 3089 #include <colorspace_fragment> 3090 #include <fog_fragment> 3091 #include <premultiplied_alpha_fragment> 3092 #include <dithering_fragment> 3093}`,Dee=`#define NORMAL 3094#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3095 varying vec3 vViewPosition; 3096#endif 3097#include <common> 3098#include <batching_pars_vertex> 3099#include <uv_pars_vertex> 3100#include <displacementmap_pars_vertex> 3101#include <normal_pars_vertex> 3102#include <morphtarget_pars_vertex> 3103#include <skinning_pars_vertex> 3104#include <logdepthbuf_pars_vertex> 3105#include <clipping_planes_pars_vertex> 3106void main() { 3107 #include <uv_vertex> 3108 #include <batching_vertex> 3109 #include <beginnormal_vertex> 3110 #include <morphinstance_vertex> 3111 #include <morphnormal_vertex> 3112 #include <skinbase_vertex> 3113 #include <skinnormal_vertex> 3114 #include <defaultnormal_vertex> 3115 #include <normal_vertex> 3116 #include <begin_vertex> 3117 #include <morphtarget_vertex> 3118 #include <skinning_vertex> 3119 #include <displacementmap_vertex> 3120 #include <project_vertex> 3121 #include <logdepthbuf_vertex> 3122 #include <clipping_planes_vertex> 3123#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3124 vViewPosition = - mvPosition.xyz; 3125#endif 3126}`,Lee=`#define NORMAL 3127uniform float opacity; 3128#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3129 varying vec3 vViewPosition; 3130#endif 3131#include <packing> 3132#include <uv_pars_fragment> 3133#include <normal_pars_fragment> 3134#include <bumpmap_pars_fragment> 3135#include <normalmap_pars_fragment> 3136#include <logdepthbuf_pars_fragment> 3137#include <clipping_planes_pars_fragment> 3138void main() { 3139 vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); 3140 #include <clipping_planes_fragment> 3141 #include <logdepthbuf_fragment> 3142 #include <normal_fragment_begin> 3143 #include <normal_fragment_maps> 3144 gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); 3145 #ifdef OPAQUE 3146 gl_FragColor.a = 1.0; 3147 #endif 3148}`,Oee=`#define PHONG 3149varying vec3 vViewPosition; 3150#include <common> 3151#include <batching_pars_vertex> 3152#include <uv_pars_vertex> 3153#include <displacementmap_pars_vertex> 3154#include <envmap_pars_vertex> 3155#include <color_pars_vertex> 3156#include <fog_pars_vertex> 3157#include <normal_pars_vertex> 3158#include <morphtarget_pars_vertex> 3159#include <skinning_pars_vertex> 3160#include <shadowmap_pars_vertex> 3161#include <logdepthbuf_pars_vertex> 3162#include <clipping_planes_pars_vertex> 3163void main() { 3164 #include <uv_vertex> 3165 #include <color_vertex> 3166 #include <morphcolor_vertex> 3167 #include <batching_vertex> 3168 #include <beginnormal_vertex> 3169 #include <morphinstance_vertex> 3170 #include <morphnormal_vertex> 3171 #include <skinbase_vertex> 3172 #include <skinnormal_vertex> 3173 #include <defaultnormal_vertex> 3174 #include <normal_vertex> 3175 #include <begin_vertex> 3176 #include <morphtarget_vertex> 3177 #include <skinning_vertex> 3178 #include <displacementmap_vertex> 3179 #include <project_vertex> 3180 #include <logdepthbuf_vertex> 3181 #include <clipping_planes_vertex> 3182 vViewPosition = - mvPosition.xyz; 3183 #include <worldpos_vertex> 3184 #include <envmap_vertex> 3185 #include <shadowmap_vertex> 3186 #include <fog_vertex> 3187}`,Fee=`#define PHONG 3188uniform vec3 diffuse; 3189uniform vec3 emissive; 3190uniform vec3 specular; 3191uniform float shininess; 3192uniform float opacity; 3193#include <common> 3194#include <packing> 3195#include <dithering_pars_fragment> 3196#include <color_pars_fragment> 3197#include <uv_pars_fragment> 3198#include <map_pars_fragment> 3199#include <alphamap_pars_fragment> 3200#include <alphatest_pars_fragment> 3201#include <alphahash_pars_fragment> 3202#include <aomap_pars_fragment> 3203#include <lightmap_pars_fragment> 3204#include <emissivemap_pars_fragment> 3205#include <envmap_common_pars_fragment> 3206#include <envmap_pars_fragment> 3207#include <fog_pars_fragment> 3208#include <bsdfs> 3209#include <lights_pars_begin> 3210#include <normal_pars_fragment> 3211#include <lights_phong_pars_fragment> 3212#include <shadowmap_pars_fragment> 3213#include <bumpmap_pars_fragment> 3214#include <normalmap_pars_fragment> 3215#include <specularmap_pars_fragment> 3216#include <logdepthbuf_pars_fragment> 3217#include <clipping_planes_pars_fragment> 3218void main() { 3219 vec4 diffuseColor = vec4( diffuse, opacity ); 3220 #include <clipping_planes_fragment> 3221 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3222 vec3 totalEmissiveRadiance = emissive; 3223 #include <logdepthbuf_fragment> 3224 #include <map_fragment> 3225 #include <color_fragment> 3226 #include <alphamap_fragment> 3227 #include <alphatest_fragment> 3228 #include <alphahash_fragment> 3229 #include <specularmap_fragment> 3230 #include <normal_fragment_begin> 3231 #include <normal_fragment_maps> 3232 #include <emissivemap_fragment> 3233 #include <lights_phong_fragment> 3234 #include <lights_fragment_begin> 3235 #include <lights_fragment_maps> 3236 #include <lights_fragment_end> 3237 #include <aomap_fragment> 3238 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; 3239 #include <envmap_fragment> 3240 #include <opaque_fragment> 3241 #include <tonemapping_fragment> 3242 #include <colorspace_fragment> 3243 #include <fog_fragment> 3244 #include <premultiplied_alpha_fragment> 3245 #include <dithering_fragment> 3246}`,Uee=`#define STANDARD 3247varying vec3 vViewPosition; 3248#ifdef USE_TRANSMISSION 3249 varying vec3 vWorldPosition; 3250#endif 3251#include <common> 3252#include <batching_pars_vertex> 3253#include <uv_pars_vertex> 3254#include <displacementmap_pars_vertex> 3255#include <color_pars_vertex> 3256#include <fog_pars_vertex> 3257#include <normal_pars_vertex> 3258#include <morphtarget_pars_vertex> 3259#include <skinning_pars_vertex> 3260#include <shadowmap_pars_vertex> 3261#include <logdepthbuf_pars_vertex> 3262#include <clipping_planes_pars_vertex> 3263void main() { 3264 #include <uv_vertex> 3265 #include <color_vertex> 3266 #include <morphinstance_vertex> 3267 #include <morphcolor_vertex> 3268 #include <batching_vertex> 3269 #include <beginnormal_vertex> 3270 #include <morphnormal_vertex> 3271 #include <skinbase_vertex> 3272 #include <skinnormal_vertex> 3273 #include <defaultnormal_vertex> 3274 #include <normal_vertex> 3275 #include <begin_vertex> 3276 #include <morphtarget_vertex> 3277 #include <skinning_vertex> 3278 #include <displacementmap_vertex> 3279 #include <project_vertex> 3280 #include <logdepthbuf_vertex> 3281 #include <clipping_planes_vertex> 3282 vViewPosition = - mvPosition.xyz; 3283 #include <worldpos_vertex> 3284 #include <shadowmap_vertex> 3285 #include <fog_vertex> 3286#ifdef USE_TRANSMISSION 3287 vWorldPosition = worldPosition.xyz; 3288#endif 3289}`,Nee=`#define STANDARD 3290#ifdef PHYSICAL 3291 #define IOR 3292 #define USE_SPECULAR 3293#endif 3294uniform vec3 diffuse; 3295uniform vec3 emissive; 3296uniform float roughness; 3297uniform float metalness; 3298uniform float opacity; 3299#ifdef IOR 3300 uniform float ior; 3301#endif 3302#ifdef USE_SPECULAR 3303 uniform float specularIntensity; 3304 uniform vec3 specularColor; 3305 #ifdef USE_SPECULAR_COLORMAP 3306 uniform sampler2D specularColorMap; 3307 #endif 3308 #ifdef USE_SPECULAR_INTENSITYMAP 3309 uniform sampler2D specularIntensityMap; 3310 #endif 3311#endif 3312#ifdef USE_CLEARCOAT 3313 uniform float clearcoat; 3314 uniform float clearcoatRoughness; 3315#endif 3316#ifdef USE_DISPERSION 3317 uniform float dispersion; 3318#endif
3319#ifdef USE_IRIDESCENCE 3320 uniform float iridescence; 3321 uniform float iridescenceIOR; 3322 uniform float iridescenceThicknessMinimum; 3323 uniform float iridescenceThicknessMaximum; 3324#endif 3325#ifdef USE_SHEEN 3326 uniform vec3 sheenColor; 3327 uniform float sheenRoughness; 3328 #ifdef USE_SHEEN_COLORMAP 3329 uniform sampler2D sheenColorMap; 3330 #endif 3331 #ifdef USE_SHEEN_ROUGHNESSMAP 3332 uniform sampler2D sheenRoughnessMap; 3333 #endif 3334#endif 3335#ifdef USE_ANISOTROPY 3336 uniform vec2 anisotropyVector; 3337 #ifdef USE_ANISOTROPYMAP 3338 uniform sampler2D anisotropyMap; 3339 #endif 3340#endif 3341varying vec3 vViewPosition; 3342#include <common> 3343#include <packing> 3344#include <dithering_pars_fragment> 3345#include <color_pars_fragment> 3346#include <uv_pars_fragment> 3347#include <map_pars_fragment> 3348#include <alphamap_pars_fragment> 3349#include <alphatest_pars_fragment> 3350#include <alphahash_pars_fragment> 3351#include <aomap_pars_fragment> 3352#include <lightmap_pars_fragment> 3353#include <emissivemap_pars_fragment> 3354#include <iridescence_fragment> 3355#include <cube_uv_reflection_fragment> 3356#include <envmap_common_pars_fragment> 3357#include <envmap_physical_pars_fragment> 3358#include <fog_pars_fragment> 3359#include <lights_pars_begin> 3360#include <normal_pars_fragment> 3361#include <lights_physical_pars_fragment> 3362#include <transmission_pars_fragment> 3363#include <shadowmap_pars_fragment> 3364#include <bumpmap_pars_fragment> 3365#include <normalmap_pars_fragment> 3366#include <clearcoat_pars_fragment> 3367#include <iridescence_pars_fragment> 3368#include <roughnessmap_pars_fragment> 3369#include <metalnessmap_pars_fragment> 3370#include <logdepthbuf_pars_fragment> 3371#include <clipping_planes_pars_fragment> 3372void main() { 3373 vec4 diffuseColor = vec4( diffuse, opacity ); 3374 #include <clipping_planes_fragment> 3375 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3376 vec3 totalEmissiveRadiance = emissive; 3377 #include <logdepthbuf_fragment> 3378 #include <map_fragment> 3379 #include <color_fragment> 3380 #include <alphamap_fragment> 3381 #include <alphatest_fragment> 3382 #include <alphahash_fragment> 3383 #include <roughnessmap_fragment> 3384 #include <metalnessmap_fragment> 3385 #include <normal_fragment_begin> 3386 #include <normal_fragment_maps> 3387 #include <clearcoat_normal_fragment_begin> 3388 #include <clearcoat_normal_fragment_maps> 3389 #include <emissivemap_fragment> 3390 #include <lights_physical_fragment> 3391 #include <lights_fragment_begin> 3392 #include <lights_fragment_maps> 3393 #include <lights_fragment_end> 3394 #include <aomap_fragment> 3395 vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; 3396 vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; 3397 #include <transmission_fragment> 3398 vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; 3399 #ifdef USE_SHEEN 3400 float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); 3401 outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; 3402 #endif 3403 #ifdef USE_CLEARCOAT 3404 float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); 3405 vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); 3406 outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; 3407 #endif 3408 #include <opaque_fragment> 3409 #include <tonemapping_fragment> 3410 #include <colorspace_fragment> 3411 #include <fog_fragment> 3412 #include <premultiplied_alpha_fragment> 3413 #include <dithering_fragment> 3414}`,kee=`#define TOON 3415varying vec3 vViewPosition; 3416#include <common> 3417#include <batching_pars_vertex> 3418#include <uv_pars_vertex> 3419#include <displacementmap_pars_vertex> 3420#include <color_pars_vertex> 3421#include <fog_pars_vertex> 3422#include <normal_pars_vertex> 3423#include <morphtarget_pars_vertex> 3424#include <skinning_pars_vertex> 3425#include <shadowmap_pars_vertex> 3426#include <logdepthbuf_pars_vertex> 3427#include <clipping_planes_pars_vertex> 3428void main() { 3429 #include <uv_vertex> 3430 #include <color_vertex> 3431 #include <morphinstance_vertex> 3432 #include <morphcolor_vertex> 3433 #include <batching_vertex> 3434 #include <beginnormal_vertex> 3435 #include <morphnormal_vertex> 3436 #include <skinbase_vertex> 3437 #include <skinnormal_vertex> 3438 #include <defaultnormal_vertex> 3439 #include <normal_vertex> 3440 #include <begin_vertex> 3441 #include <morphtarget_vertex> 3442 #include <skinning_vertex> 3443 #include <displacementmap_vertex> 3444 #include <project_vertex> 3445 #include <logdepthbuf_vertex> 3446 #include <clipping_planes_vertex> 3447 vViewPosition = - mvPosition.xyz; 3448 #include <worldpos_vertex> 3449 #include <shadowmap_vertex> 3450 #include <fog_vertex> 3451}`,zee=`#define TOON 3452uniform vec3 diffuse; 3453uniform vec3 emissive; 3454uniform float opacity; 3455#include <common> 3456#include <packing> 3457#include <dithering_pars_fragment> 3458#include <color_pars_fragment> 3459#include <uv_pars_fragment> 3460#include <map_pars_fragment> 3461#include <alphamap_pars_fragment> 3462#include <alphatest_pars_fragment> 3463#include <alphahash_pars_fragment> 3464#include <aomap_pars_fragment> 3465#include <lightmap_pars_fragment> 3466#include <emissivemap_pars_fragment> 3467#include <gradientmap_pars_fragment> 3468#include <fog_pars_fragment> 3469#include <bsdfs> 3470#include <lights_pars_begin> 3471#include <normal_pars_fragment> 3472#include <lights_toon_pars_fragment> 3473#include <shadowmap_pars_fragment> 3474#include <bumpmap_pars_fragment> 3475#include <normalmap_pars_fragment> 3476#include <logdepthbuf_pars_fragment> 3477#include <clipping_planes_pars_fragment> 3478void main() { 3479 vec4 diffuseColor = vec4( diffuse, opacity ); 3480 #include <clipping_planes_fragment> 3481 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3482 vec3 totalEmissiveRadiance = emissive; 3483 #include <logdepthbuf_fragment> 3484 #include <map_fragment> 3485 #include <color_fragment> 3486 #include <alphamap_fragment> 3487 #include <alphatest_fragment> 3488 #include <alphahash_fragment> 3489 #include <normal_fragment_begin> 3490 #include <normal_fragment_maps> 3491 #include <emissivemap_fragment> 3492 #include <lights_toon_fragment> 3493 #include <lights_fragment_begin> 3494 #include <lights_fragment_maps> 3495 #include <lights_fragment_end> 3496 #include <aomap_fragment> 3497 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; 3498 #include <opaque_fragment> 3499 #include <tonemapping_fragment> 3500 #include <colorspace_fragment> 3501 #include <fog_fragment> 3502 #include <premultiplied_alpha_fragment> 3503 #include <dithering_fragment> 3504}`,Hee=`uniform float size; 3505uniform float scale; 3506#include <common> 3507#include <color_pars_vertex> 3508#include <fog_pars_vertex> 3509#include <morphtarget_pars_vertex> 3510#include <logdepthbuf_pars_vertex> 3511#include <clipping_planes_pars_vertex> 3512#ifdef USE_POINTS_UV 3513 varying vec2 vUv; 3514 uniform mat3 uvTransform; 3515#endif 3516void main() { 3517 #ifdef USE_POINTS_UV 3518 vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 3519 #endif 3520 #include <color_vertex> 3521 #include <morphinstance_vertex> 3522 #include <morphcolor_vertex> 3523 #include <begin_vertex> 3524 #include <morphtarget_vertex> 3525 #include <project_vertex> 3526 gl_PointSize = size; 3527 #ifdef USE_SIZEATTENUATION 3528 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 3529 if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); 3530 #endif 3531 #include <logdepthbuf_vertex> 3532 #include <clipping_planes_vertex> 3533 #include <worldpos_vertex> 3534 #include <fog_vertex> 3535}`,Vee=`uniform vec3 diffuse; 3536uniform float opacity; 3537#include <common> 3538#include <color_pars_fragment> 3539#include <map_particle_pars_fragment> 3540#include <alphatest_pars_fragment> 3541#include <alphahash_pars_fragment> 3542#include <fog_pars_fragment> 3543#include <logdepthbuf_pars_fragment> 3544#include <clipping_planes_pars_fragment> 3545void main() { 3546 vec4 diffuseColor = vec4( diffuse, opacity ); 3547 #include <clipping_planes_fragment> 3548 vec3 outgoingLight = vec3( 0.0 ); 3549 #include <logdepthbuf_fragment> 3550 #include <map_particle_fragment> 3551 #include <color_fragment> 3552 #include <alphatest_fragment> 3553 #include <alphahash_fragment> 3554 outgoingLight = diffuseColor.rgb; 3555 #include <opaque_fragment> 3556 #include <tonemapping_fragment> 3557 #include <colorspace_fragment> 3558 #include <fog_fragment> 3559 #include <premultiplied_alpha_fragment> 3560}`,Gee=`#include <common> 3561#include <batching_pars_vertex> 3562#include <fog_pars_vertex> 3563#include <morphtarget_pars_vertex> 3564#include <skinning_pars_vertex> 3565#include <logdepthbuf_pars_vertex> 3566#include <shadowmap_pars_vertex> 3567void main() { 3568 #include <batching_vertex> 3569 #include <beginnormal_vertex> 3570 #include <morphinstance_vertex> 3571 #include <morphnormal_vertex> 3572 #include <skinbase_vertex> 3573 #include <skinnormal_vertex> 3574 #include <defaultnormal_vertex> 3575 #include <begin_vertex> 3576 #include <morphtarget_vertex> 3577 #include <skinning_vertex> 3578 #include <project_vertex> 3579 #include <logdepthbuf_vertex> 3580 #include <worldpos_vertex> 3581 #include <shadowmap_vertex> 3582 #include <fog_vertex> 3583}`,Qee=`uniform vec3 color; 3584uniform float opacity; 3585#include <common> 3586#include <packing> 3587#include <fog_pars_fragment> 3588#include <bsdfs> 3589#include <lights_pars_begin> 3590#include <logdepthbuf_pars_fragment> 3591#include <shadowmap_pars_fragment> 3592#include <shadowmask_pars_fragment> 3593void main() { 3594 #include <logdepthbuf_fragment> 3595 gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); 3596 #include <tonemapping_fragment> 3597 #include <colorspace_fragment> 3598 #include <fog_fragment> 3599}`,Wee=`uniform float rotation; 3600uniform vec2 center; 3601#include <common> 3602#include <uv_pars_vertex> 3603#include <fog_pars_vertex> 3604#include <logdepthbuf_pars_vertex> 3605#include <clipping_planes_pars_vertex> 3606void main() { 3607 #include <uv_vertex> 3608 vec4 mvPosition = modelViewMatrix[ 3 ]; 3609 vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) ); 3610 #ifndef USE_SIZEATTENUATION 3611 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 3612 if ( isPerspective ) scale *= - mvPosition.z; 3613 #endif 3614 vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; 3615 vec2 rotatedPosition; 3616 rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; 3617 rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; 3618 mvPosition.xy += rotatedPosition; 3619 gl_Position = projectionMatrix * mvPosition; 3620 #include <logdepthbuf_vertex> 3621 #include <clipping_planes_vertex> 3622 #include <fog_vertex> 3623}`,jee=`uniform vec3 diffuse; 3624uniform float opacity; 3625#include <common> 3626#include <uv_pars_fragment> 3627#include <map_pars_fragment> 3628#include <alphamap_pars_fragment> 3629#include <alphatest_pars_fragment> 3630#include <alphahash_pars_fragment> 3631#include <fog_pars_fragment> 3632#include <logdepthbuf_pars_fragment> 3633#include <clipping_planes_pars_fragment> 3634void main() { 3635 vec4 diffuseColor = vec4( diffuse, opacity ); 3636 #include <clipping_planes_fragment> 3637 vec3 outgoingLight = vec3( 0.0 ); 3638 #include <logdepthbuf_fragment> 3639 #include <map_fragment> 3640 #include <alphamap_fragment> 3641 #include <alphatest_fragment> 3642 #include <alphahash_fragment> 3643 outgoingLight = diffuseColor.rgb; 3644 #include <opaque_fragment> 3645 #include <tonemapping_fragment> 3646 #include <colorspace_fragment> 3647 #include <fog_fragment> 3648}
3648`,ut={alphahash_fragment:pZ,alphahash_pars_fragment:mZ,alphamap_fragment:gZ,alphamap_pars_fragment:AZ,alphatest_fragment:vZ,alphatest_pars_fragment:yZ,aomap_fragment:_Z,aomap_pars_fragment:bZ,batching_pars_vertex:xZ,batching_vertex:CZ,begin_vertex:wZ,beginnormal_vertex:SZ,bsdfs:EZ,iridescence_fragment:TZ,bumpmap_pars_fragment:MZ,clipping_planes_fragment:IZ,clipping_planes_pars_fragment:PZ,clipping_planes_pars_vertex:RZ,clipping_planes_vertex:BZ,color_fragment:DZ,color_pars_fragment:LZ,color_pars_vertex:OZ,color_vertex:FZ,common:UZ,cube_uv_reflection_fragment:NZ,defaultnormal_vertex:kZ,displacementmap_pars_vertex:zZ,displacementmap_vertex:HZ,emissivemap_fragment:VZ,emissivemap_pars_fragment:GZ,colorspace_fragment:QZ,colorspace_pars_fragment:WZ,envmap_fragment:jZ,envmap_common_pars_fragment:qZ,envmap_pars_fragment:XZ,envmap_pars_vertex:YZ,envmap_physical_pars_fragment:oJ,envmap_vertex:$Z,fog_vertex:KZ,fog_pars_vertex:ZZ,fog_fragment:JZ,fog_pars_fragment:eJ,gradientmap_pars_fragment:tJ,lightmap_pars_fragment:nJ,lights_lambert_fragment:iJ,lights_lambert_pars_fragment:rJ,lights_pars_begin:sJ,lights_toon_fragment:aJ,lights_toon_pars_fragment:lJ,lights_phong_fragment:cJ,lights_phong_pars_fragment:uJ,lights_physical_fragment:fJ,lights_physical_pars_fragment:dJ,lights_fragment_begin:hJ,lights_fragment_maps:pJ,lights_fragment_end:mJ,logdepthbuf_fragment:gJ,logdepthbuf_pars_fragment:AJ,logdepthbuf_pars_vertex:vJ,logdepthbuf_vertex:yJ,map_fragment:_J,map_pars_fragment:bJ,map_particle_fragment:xJ,map_particle_pars_fragment:CJ,metalnessmap_fragment:wJ,metalnessmap_pars_fragment:SJ,morphinstance_vertex:EJ,morphcolor_vertex:TJ,morphnormal_vertex:MJ,morphtarget_pars_vertex:IJ,morphtarget_vertex:PJ,normal_fragment_begin:RJ,normal_fragment_maps:BJ,normal_pars_fragment:DJ,normal_pars_vertex:LJ,normal_vertex:OJ,normalmap_pars_fragment:FJ,clearcoat_normal_fragment_begin:UJ,clearcoat_normal_fragment_maps:NJ,clearcoat_pars_fragment:kJ,iridescence_pars_fragment:zJ,opaque_fragment:HJ,packing:VJ,premultiplied_alpha_fragment:GJ,project_vertex:QJ,dithering_fragment:WJ,dithering_pars_fragment:jJ,roughnessmap_fragment:qJ,roughnessmap_pars_fragment:XJ,shadowmap_pars_fragment:YJ,shadowmap_pars_vertex:$J,shadowmap_vertex:KJ,shadowmask_pars_fragment:ZJ,skinbase_vertex:JJ,skinning_pars_vertex:eee,skinning_vertex:tee,skinnormal_vertex:nee,specularmap_fragment:iee,specularmap_pars_fragment:ree,tonemapping_fragment:see,tonemapping_pars_fragment:oee,transmission_fragment:aee,transmission_pars_fragment:lee,uv_pars_fragment:cee,uv_pars_vertex:uee,uv_vertex:fee,worldpos_vertex:dee,background_vert:hee,background_frag:pee,backgroundCube_vert:mee,backgroundCube_frag:gee,cube_vert:Aee,cube_frag:vee,depth_vert:yee,depth_frag:_ee,distanceRGBA_vert:bee,distanceRGBA_frag:xee,equirect_vert:Cee,equirect_frag:wee,linedashed_vert:See,linedashed_frag:Eee,meshbasic_vert:Tee,meshbasic_frag:Mee,meshlambert_vert:Iee,meshlambert_frag:Pee,meshmatcap_vert:Ree,meshmatcap_frag:Bee,meshnormal_vert:Dee,meshnormal_frag:Lee,meshphong_vert:Oee,meshphong_frag:Fee,meshphysical_vert:Uee,meshphysical_frag:Nee,meshtoon_vert:kee,meshtoon_frag:zee,points_vert:Hee,points_frag:Vee,shadow_vert:Gee,shadow_frag:Qee,sprite_vert:Wee,sprite_frag:jee},Ke={common:{diffuse:{value:new ke(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Lt},alphaMap:{value:null},alphaMapTransform:{value:new Lt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Lt}},envmap:{envMap:{value:null},envMapRotation:{value:new Lt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Lt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Lt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Lt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Lt},normalScale:{value:new Re(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Lt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Lt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Lt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Lt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ke(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new ke(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Lt},alphaTest:{value:0},uvTransform:{value:new Lt}},sprite:{diffuse:{value:new ke(16777215)},opacity:{value:1},center:{value:new Re(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Lt},alphaMap:{value:null},alphaMapTransform:{value:new Lt},alphaTest:{value:0}}},us={basic:{uniforms:Vr([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.fog]),vertexShader:ut.meshbasic_vert,fragmentShader:ut.meshbasic_frag},lambert:{uniforms:Vr([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)}}]),vertexShader:ut.meshlambert_vert,fragmentShader:ut.meshlambert_frag},phong:{uniforms:Vr([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)},specular:{value:new ke(1118481)},shininess:{value:30}}]),vertexShader:ut.meshphong_vert,fragmentShader:ut.meshphong_frag},standard:{uniforms:Vr([Ke.common,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.roughnessmap,Ke.metalnessmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ut.meshphysical_vert,fragmentShader:ut.meshphysical_frag},toon:{uniforms:Vr([Ke.common,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.gradientmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)}}]),vertexShader:ut.meshtoon_vert,fragmentShader:ut.meshtoon_frag},matcap:{uniforms:Vr([Ke.common,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,{matc
vendor: 5,266 bytes, line 3648
3648ap:{value:null}}]),vertexShader:ut.meshmatcap_vert,fragmentShader:ut.meshmatcap_frag},points:{uniforms:Vr([Ke.points,Ke.fog]),vertexShader:ut.points_vert,fragmentShader:ut.points_frag},dashed:{uniforms:Vr([Ke.common,Ke.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ut.linedashed_vert,fragmentShader:ut.linedashed_frag},depth:{uniforms:Vr([Ke.common,Ke.displacementmap]),vertexShader:ut.depth_vert,fragmentShader:ut.depth_frag},normal:{uniforms:Vr([Ke.common,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,{opacity:{value:1}}]),vertexShader:ut.meshnormal_vert,fragmentShader:ut.meshnormal_frag},sprite:{uniforms:Vr([Ke.sprite,Ke.fog]),vertexShader:ut.sprite_vert,fragmentShader:ut.sprite_frag},background:{uniforms:{uvTransform:{value:new Lt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ut.background_vert,fragmentShader:ut.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Lt}},vertexShader:ut.backgroundCube_vert,fragmentShader:ut.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ut.cube_vert,fragmentShader:ut.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ut.equirect_vert,fragmentShader:ut.equirect_frag},distanceRGBA:{uniforms:Vr([Ke.common,Ke.displacementmap,{referencePosition:{value:new K},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ut.distanceRGBA_vert,fragmentShader:ut.distanceRGBA_frag},shadow:{uniforms:Vr([Ke.lights,Ke.fog,{color:{value:new ke(0)},opacity:{value:1}}]),vertexShader:ut.shadow_vert,fragmentShader:ut.shadow_frag}};us.physical={uniforms:Vr([us.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Lt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Lt},clearcoatNormalScale:{value:new Re(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Lt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Lt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Lt},sheen:{value:0},sheenColor:{value:new ke(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Lt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Lt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Lt},transmissionSamplerSize:{value:new Re},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Lt},attenuationDistance:{value:0},attenuationColor:{value:new ke(0)},specularColor:{value:new ke(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Lt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Lt},anisotropyVector:{value:new Re},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Lt}}]),vertexShader:ut.meshphysical_vert,fragmentShader:ut.meshphysical_frag};const x1={r:0,b:0,g:0},Gc=new Pi,qee=new Ct;function Xee(n,e,t,i,r,s,o){const a=new ke(0);let l=s===!0?0:1,c,u,f=null,h=0,p=null;function m(b){let _=b.isScene===!0?b.background:null;return _&&_.isTexture&&(_=(b.backgroundBlurriness>0?t:e).get(_)),_}function v(b){let _=!1;const T=m(b);T===null?y(a,l):T&&T.isColor&&(y(T,1),_=!0);const M=n.xr.getEnvironmentBlendMode();M==="additive"?i.buffers.color.setClear(0,0,0,1,o):M==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&(i.buffers.depth.setTest(!0),i.buffers.depth.setMask(!0),i.buffers.color.setMask(!0),n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil))}function A(b,_){const T=m(_);T&&(T.isCubeTexture||T.mapping===EA)?(u===void 0&&(u=new Qe(new fi(1,1,1),new Cn({name:"BackgroundCubeMaterial",uniforms:Id(us.backgroundCube.uniforms),vertexShader:us.backgroundCube.vertexShader,fragmentShader:us.backgroundCube.fragmentShader,side:Rr,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(M,I,R){this.matrixWorld.copyPosition(R.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),Gc.copy(_.backgroundRotation),Gc.x*=-1,Gc.y*=-1,Gc.z*=-1,T.isCubeTexture&&T.isRenderTargetTexture===!1&&(Gc.y*=-1,Gc.z*=-1),u.material.uniforms.envMap.value=T,u.material.uniforms.flipEnvMap.value=T.isCubeTexture&&T.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=_.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=_.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(qee.makeRotationFromEuler(Gc)),u.material.toneMapped=Xt.getTransfer(T.colorSpace)!==yn,(f!==T||h!==T.version||p!==n.toneMapping)&&(u.material.needsUpdate=!0,f=T,h=T.version,p=n.toneMapping),u.layers.enableAll(),b.unshift(u,u.geometry,u.material,0,0,null)):T&&T.isTexture&&(c===void 0&&(c=new Qe(new lo(2,2),new Cn({name:"Backgroun
3648dMaterial",uniforms:Id(us.background.uniforms),vertexShader:us.background.vertexShader,fragmentShader:us.background.fragmentShader,side:Io,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(c)),c.material.uniforms.t2D.value=T,c.material.uniforms.backgroundIntensity.value=_.backgroundIntensity,c.material.toneMapped=Xt.getTransfer(T.colorSpace)!==yn,T.matrixAutoUpdate===!0&&T.updateMatrix(),c.material.uniforms.uvTransform.value.copy(T.matrix),(f!==T||h!==T.version||p!==n.toneMapping)&&(c.material.needsUpdate=!0,f=T,h=T.version,p=n.toneMapping),c.layers.enableAll(),b.unshift(c,c.geometry,c.material,0,0,null))}function y(b,_){b.getRGB(x1,tP(n)),i.buffers.color.setClear(x1.r,x1.g,x1.b,_,o)}function x(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),c!==void 0&&(c.geometry.dispose(),c.material.dispose(),c=void 0)}return{getClearColor:function(){return a},setClearColor:function(b,_=1){a.set(b),l=_,y(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(b){l=b,y(a,l)},render:v,addToRenderList:A,dispose:x}}function Yee(n,e){const t=n.getParameter(n.MAX_VERTEX_ATTRIBS),i={},r=h(null);let s=r,o=!1;function a(E,F,L,z,V){let j=!1;const N=f(z,L,F);s!==N&&(s=N,c(s.object)),j=p(E,z,L,V),j&&m(E,z,L,V),V!==null&&e.update(V,n.ELEMENT_ARRAY_BUFFER),(j||o)&&(o=!1,_(E,F,L,z),V!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.get(V).buffer))}function l(){return n.createVertexArray()}function c(E){return n.bindVertexArray(E)}function u(E){return n.deleteVertexArray(E)}function f(E,F,L){const z=L.wireframe===!0;let V=i[E.id];V===void 0&&(V={},i[E.id]=V);let j=V[F.id];j===void 0&&(j={},V[F.id]=j);let N=j[z];return N===void 0&&(N=h(l()),j[z]=N),N}function h(E){const F=[],L=[],z=[];for(let V=0;V<t;V++)F[V]=0,L[V]=0,z[V]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:F,enabledAttributes:L,attributeDivisors:z,object:E,attributes:{},index:null}}function p(E,F,L,z){const V=s.attributes,j=F.attributes;let N=0;const Q=L.getAttributes();for(const W in Q)if(Q[W].location>=0){const H=V[W];let ye=j[W];if(ye===void 0&&(W==="instanceMatrix"&&E.instanceMatrix&&(ye=E.instanceMatrix),W==="instanceColor"&&E.instanceColor&&(ye=E.instanceColor)),H===void 0||H.attribute!==ye||ye&&H.data!==ye.data)return!0;N++}return s.attributesNum!==N||s.index!==z}function m(E,F,L,z){const V={},j=F.attributes;let N=0;const Q=L.getAttributes();for(const W in Q)if(Q[W].location>=0){let H=j[W];H===void 0&&(W==="instanceMatrix"&&E.instanceMatrix&&(H=E.instanceMatrix),W==="instanceColor"&&E.instanceColor&&(H=E.instanceColor));const ye={};ye.attribute=H,H&&H.data&&(ye.data=H.data),V[W]=ye,N++}s.attributes=V,s.attributesNum=N,s.index=z}function v(){const E=s.newAttributes;for(let F=0,L=E.length;F<L;F++)E[F]=0}function A(E){y(E,0)}function y(E,F){const L=s.newAttributes,z=s.enabledAttributes,V=s.attributeDivisors;L[E]=1,z[E]===0&&(n.enableVertexAttribArray(E),z[E]=1),V[E]!==F&&(n.vertexAttribDivisor(E,F),V[E]=F)}function x(){const E=s.newAttributes,F=s.enabledAttributes;for(let L=0,z=F.length;L<z;L++)F[L]!==E[L]&&(n.disableVertexAttribArray(L),F[L]=0)}function b(E,F,L,z,V,j,N){N===!0?n.vertexAttribIPointer(E,F,L,V,j):n.vertexAttribPointer(E,F,L,z,V,j)}function _(E,F,L,z){v();const V=z.attributes,j=L.getAttributes(),N=F.defaultAttributeValues;for(const Q in j){const W=j[Q];if(W.location>=0){let ee=V[Q];if(ee===void 0&&(Q==="instanceMatrix"&&E.instanceMatrix&&(ee=E.instanceMatrix),Q==="instanceColor"&&E.instanceColor&&(ee=E.instanceColor)),ee!==void 0){const H=ee.normalized,ye=ee.itemSize,Ie=e.get(ee);if(Ie===void 0)continue;const ze=Ie.buffer,oe=Ie.type,_e=Ie.bytesPerElement,Fe=oe===n.INT||oe===n.UNSIGNED_INT||ee.gpuType===qx;if(ee.isInterleavedBufferAttribute){const Z=ee.data,Ae=Z.stride,we=ee.offset;if(Z.isInstancedInterleavedBuffer){for(let be=0;be<W.locationSize;be++)y(W.location+be,Z.meshPerAttribute);E.isInstancedMesh!==!0&&z._maxInstanceCount===void 0&&(z._maxInstanceCount=Z.meshPerAttribute*Z.count)}else for(let be=0;be<W.locationSize;be++)A(W.location+be);n.bindBuffer(n.ARRAY_BUFFER,ze);for(let be=0;be<W.locationSize;be++)b(W.location+be,ye/W.locationSize,oe,H,Ae*_e,(we+ye/W.locationSize*be)*_e,Fe)}else{if(ee.isInstancedBufferAttribute){for(let Z=0;Z<W.locationSize;Z++)y(W.location+Z,ee.meshPerAttribute);E.isInstancedMesh!==!0&&z._maxInstanceCount===void 0&&(z._maxInstanceCount=ee.meshPerAttribute*ee.count)}else for(let Z=0;Z<W.locationSize;Z++)A(W.location+Z);n.bindBuffer(n.ARRAY_BUFFER,ze);for(let Z=0;Z<W.locationSize;Z++)b(W.location+Z,ye/W.locationSize,oe,H,ye*_e,ye/W.locationSize*Z*_e,Fe)}}else if(N!==void 0){const H=N[Q];if(H!==void 0)switch(H.length){case 2:n.vertexAttrib2fv(W.location,H);break;case 3:n.vertexAttrib3fv(W.location,H);break;case 4:n.vertexAttrib4fv(W.location,H);break;default:n.vertexAttrib1fv(W.location,H)}}}}x()}function T(){R();for(const E in i){const F=i[E];for(const L in F){const z=F[L];for(const V in z)u(z[V].object),delete z[V];delete F[L]}delete i[E]}}function M(E){if(i[E.id]===void 0)return;const F=i[E.id];for(const L in F){const z=F[L];for(const V in z)u(z[V].object),delete z[V];delete F[L]}delete i[E.id]}function I(E){for(const F in i){const L=i[F];if(L[E.id]===void 0)continue;const z=L[E.id];for(const V in z)u(z[V].object),delete z[V];delete L[E.id]}}function R(){w(),o=!0,s!==r&&(s=r,c(s.object))}function w(){r.geometry=null,r.program=null,r.wireframe=!1}return{setup:a,reset:R,resetDefaultState:w,dispose:T,releaseStatesOfGeometry:M,releaseStatesOfProgram:I,initAttributes:v,enableAttribute:A,disableUnusedAttributes:x}}function $ee(n,e,t){let i;function r(c){i=c}function s(c,u){n.drawArrays(i,c,u),t.update(u,i,1)}function o(c,u,f){f!==0&&(n.drawArraysInstanced(i,c,u,f),t.update(u,i,f))}function a(c,u,f){if(f===0)return;e.get("WEBGL_multi_draw").multiDrawArraysWEBGL(i,c,0,u,0,f);let p=0;for(let m=0;m<f;m++)p+=u[m];t.update(p,i,1)}function l(c,u,f,h){if(f===0)return;const p=e.get("WEBGL_multi_draw");if(p===null)for(let m=0;m<c.length;m++)o(c[m],u[m],h[m]);
vendor: 12,416 bytes, lines 3648-3723
3648else{p.multiDrawArraysInstancedWEBGL(i,c,0,u,0,h,0,f);let m=0;for(let v=0;v<f;v++)m+=u[v]*h[v];t.update(m,i,1)}}this.setMode=r,this.render=s,this.renderInstances=o,this.renderMultiDraw=a,this.renderMultiDrawInstances=l}function Kee(n,e,t,i){let r;function s(){if(r!==void 0)return r;if(e.has("EXT_texture_filter_anisotropic")===!0){const I=e.get("EXT_texture_filter_anisotropic");r=n.getParameter(I.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function o(I){return!(I!==pi&&i.convert(I)!==n.getParameter(n.IMPLEMENTATION_COLOR_READ_FORMAT))}function a(I){const R=I===nn&&(e.has("EXT_color_buffer_half_float")||e.has("EXT_color_buffer_float"));return!(I!==Ki&&i.convert(I)!==n.getParameter(n.IMPLEMENTATION_COLOR_READ_TYPE)&&I!==Zt&&!R)}function l(I){if(I==="highp"){if(n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.HIGH_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";I="mediump"}return I==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=t.precision!==void 0?t.precision:"highp";const u=l(c);u!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",u,"instead."),c=u);const f=t.logarithmicDepthBuffer===!0,h=t.reverseDepthBuffer===!0&&e.has("EXT_clip_control"),p=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),v=n.getParameter(n.MAX_TEXTURE_SIZE),A=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),y=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),b=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),T=m>0,M=n.getParameter(n.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:c,logarithmicDepthBuffer:f,reverseDepthBuffer:h,maxTextures:p,maxVertexTextures:m,maxTextureSize:v,maxCubemapSize:A,maxAttributes:y,maxVertexUniforms:x,maxVaryings:b,maxFragmentUniforms:_,vertexTextures:T,maxSamples:M}}function Zee(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new El,a=new Lt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,h){const p=f.length!==0||h||i!==0||r;return r=h,i=f.length,p},this.beginShadows=function(){s=!0,u(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,h){t=u(f,h,0)},this.setState=function(f,h,p){const m=f.clippingPlanes,v=f.clipIntersection,A=f.clipShadows,y=n.get(f);if(!r||m===null||m.length===0||s&&!A)s?u(null):c();else{const x=s?0:i,b=x*4;let _=y.clippingState||null;l.value=_,_=u(m,h,b,p);for(let T=0;T!==b;++T)_[T]=t[T];y.clippingState=_,this.numIntersection=v?this.numPlanes:0,this.numPlanes+=x}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function u(f,h,p,m){const v=f!==null?f.length:0;let A=null;if(v!==0){if(A=l.value,m!==!0||A===null){const y=p+v*4,x=h.matrixWorldInverse;a.getNormalMatrix(x),(A===null||A.length<y)&&(A=new Float32Array(y));for(let b=0,_=p;b!==v;++b,_+=4)o.copy(f[b]).applyMatrix4(x,a),o.normal.toArray(A,_),A[_+3]=o.constant}l.value=A,l.needsUpdate=!0}return e.numPlanes=v,e.numIntersection=0,A}}function Jee(n){let e=new WeakMap;function t(o,a){return a===Ya?o.mapping=tc:a===ab&&(o.mapping=wd),o}function i(o){if(o&&o.isTexture){const a=o.mapping;if(a===Ya||a===ab)if(e.has(o)){const l=e.get(o).texture;return t(l,o.mapping)}else{const l=o.image;if(l&&l.height>0){const c=new Gg(l.height);return c.fromEquirectangularTexture(n,o),e.set(o,c),o.addEventListener("dispose",r),t(c.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}const zf=4,t8=[.125,.215,.35,.446,.526,.582],nu=20,B3=new Ou,n8=new ke;let D3=null,L3=0,O3=0,F3=!1;const Zc=(1+Math.sqrt(5))/2,xf=1/Zc,i8=[new K(-Zc,xf,0),new K(Zc,xf,0),new K(-xf,0,Zc),new K(xf,0,Zc),new K(0,Zc,-xf),new K(0,Zc,xf),new K(-1,1,-1),new K(1,1,-1),new K(-1,1,1),new K(1,1,1)];class Pb{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){D3=this._renderer.getRenderTarget(),L3=this._renderer.getActiveCubeFace(),O3=this._renderer.getActiveMipmapLevel(),F3=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=o8(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=s8(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(D3,L3,O3),this._renderer.xr.enabled=F3,e.scissorTest=!1,C1(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===tc||e.mapping===wd?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),D3=this._renderer.getRenderTarget(),L3=this._renderer.getActiveCubeFace(),O3=this._renderer.getActiveMipmapLevel(),F3=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;const i=t||this._allocateTargets();return this._textureToCubeUV(e,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,i={magFilter:Yt,minFilter:Yt,generateMipmaps:!1,type:nn,format:pi,colorSpace:mi,depthBuffer:!1},r=r8(e,t,i);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=r8(e,t,i);const{_lodMax:s}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=ete(s)),this._blurMaterial=tte(s,e,t)}return r}_compileMaterial(e){const t=new Qe(this._lodPlanes[0],e);this._renderer.compile(t,B3)}_sceneToCubeUV(e,t,i,r){const a=new Zi(90,1,t,i),l=[1,-1,1,1,1,1],c=[1,1,1,-1,-1,-1],u=this._renderer,f=u.autoClear,h=u.toneMapping;u.getClearColor(n8),u.toneMapping=Xl,u.autoClear=!1;const p=new Jr({name:"PMREM.Background",side:Rr,depthWrite:!1,depthTest:!1}),m=new Qe(new fi,p);let v=!1;const A=e.background;A?A.isColor&&(p.color.copy(A),e.background=null,v=!0):(p.color.copy(n8),v=!0);for(let y=0;y<6;y++){const x=y%3;x===0?(a.up.set(0,l[y],0),a.lookAt(c[y],0,0)):x===1?(a.up.set(0,0,l[y]),a.lookAt(0,c[y],0)):(a.up.set(0,l[y],0),a.lookAt(0,0,c[y]));const b=this._cubeSize;C1(r,x*b,y>2?b:0,b,b),u.setRenderTarget(r),v&&u.render(m,a),u.render(e,a)}m.geometry.dispose(),m.material.dispose(),u.toneMapping=h,u.autoClear=f,e.background=A}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===tc||e.mapping===wd;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=o8()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=s8());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Qe(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;C1(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,B3)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;s<r;s++){const o=Math.sqrt(this._sigmas[s]*this._sigmas[s]-this._sigmas[s-1]*this._sigmas[s-1]),a=i8[(r-s-1)%i8.length];this._blur(e,s-1,s,o,a)}t.autoClear=i}_blur(e,t,i,r,s){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,i,r,"latitudinal",s),this._halfBlur(o,e,i,i,r,"longitudinal",s)}_halfBlur(e,t,i,r,s,o,a){const l=this._renderer,c=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const u=3,f=new Qe(this._lodPlanes[r],c),h=c.uniforms,p=this._sizeLods[i]-1,m=isFinite(s)?Math.PI/(2*p):2*Math.PI/(2*nu-1),v=s/m,A=isFinite(s)?1+Math.floor(u*v):nu;A>nu&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${A} samples when the maximum is set to ${nu}`);const y=[];let x=0;for(let I=0;I<nu;++I){const R=I/v,w=Math.exp(-R*R/2);y.push(w),I===0?x+=w:I<A&&(x+=2*w)}for(let I=0;I<y.length;I++)y[I]=y[I]/x;h.envMap.value=e.texture,h.samples.value=A,h.weights.value=y,h.latitudinal.value=o==="latitudinal",a&&(h.poleAxis.value=a);const{_lodMax:b}=this;h.dTheta.value=m,h.mipInt.value=b-i;const _=this._sizeLods[r],T=3*_*(r>b-zf?r-b+zf:0),M=4*(this._cubeSize-_);C1(t,T,M,3*_,2*_),l.setRenderTarget(t),l.render(f,B3)}}function ete(n){const e=[],t=[],i=[];let r=n;const s=n-zf+1+t8.length;for(let o=0;o<s;o++){const a=Math.pow(2,r);t.push(a);let l=1/a;o>n-zf?l=t8[o-n+zf-1]:o===0&&(l=0),i.push(l);const c=1/(a-2),u=-c,f=1+c,h=[u,u,f,u,f,f,u,u,f,f,u,f],p=6,m=6,v=3,A=2,y=1,x=new Float32Array(v*m*p),b=new Float32Array(A*m*p),_=new Float32Array(y*m*p);for(let M=0;M<p;M++){const I=M%3*2/3-1,R=M>2?0:-1,w=[I,R,0,I+2/3,R,0,I+2/3,R+1,0,I,R,0,I+2/3,R+1,0,I,R+1,0];x.set(w,v*m*M),b.set(h,A*m*M);const E=[M,M,M,M,M,M];_.set(E,y*m*M)}const T=new Hn;T.setAttribute("position",new Gi(x,v)),T.setAttribute("uv",new Gi(b,A)),T.setAttribute("faceIndex",new Gi(_,y)),e.push(T),r>zf&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function r8(n,e,t){const i=new li(n,e,t);return i.texture.mapping=EA,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function C1(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function tte(n,e,t){const i=new Float32Array(nu),r=new K(0,1,0);return new Cn({name:"SphericalGaussianBlur",defines:{n:nu,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:d4(),fragmentShader:` 3649 3650 precision mediump float; 3651 precision mediump int; 3652 3653 varying vec3 vOutputDirection; 3654 3655 uniform sampler2D envMap; 3656 uniform int samples; 3657 uniform float weights[ n ]; 3658 uniform bool latitudinal; 3659 uniform float dTheta; 3660 uniform float mipInt; 3661 uniform vec3 poleAxis; 3662 3663 #define ENVMAP_TYPE_CUBE_UV 3664 #include <cube_uv_reflection_fragment> 3665 3666 vec3 getSample( float theta, vec3 axis ) { 3667 3668 float cosTheta = cos( theta ); 3669 // Rodrigues' axis-angle rotation 3670 vec3 sampleDirection = vOutputDirection * cosTheta 3671 + cross( axis, vOutputDirection ) * sin( theta ) 3672 + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); 3673 3674 return bilinearCubeUV( envMap, sampleDirection, mipInt ); 3675 3676 } 3677 3678 void main() { 3679 3680 vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); 3681 3682 if ( all( equal( axis, vec3( 0.0 ) ) ) ) { 3683 3684 axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); 3685 3686 } 3687 3688 axis = normalize( axis ); 3689 3690 gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 3691 gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); 3692 3693 for ( int i = 1; i < n; i++ ) { 3694 3695 if ( i >= samples ) { 3696 3697 break; 3698 3699 } 3700 3701 float theta = dTheta * float( i ); 3702 gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); 3703 gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); 3704 3705 } 3706 3707 } 3708 `,blending:wo,depthTest:!1,depthWrite:!1})}function s8(){return new Cn({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:d4(),fragmentShader:` 3709 3710 precision mediump float; 3711 precision mediump int; 3712 3713 varying vec3 vOutputDirection; 3714 3715 uniform sampler2D envMap; 3716 3717 #include <common> 3718 3719 void main() { 3720 3721 vec3 outputDirection = normalize( vOutputDirection ); 3722 vec2 uv = equirectUv( outputDirection ); 3723
3724 gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); 3725 3726 } 3727 `,blending:wo,depthTest:!1,depthWrite:!1})}function o8(){return new Cn({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:d4(),fragmentShader:` 3728 3729 precision mediump float; 3730 precision mediump int; 3731 3732 uniform float flipEnvMap; 3733 3734 varying vec3 vOutputDirection; 3735 3736 uniform samplerCube envMap; 3737 3738 void main() { 3739 3740 gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); 3741 3742 } 3743 `,blending:wo,depthTest:!1,depthWrite:!1})}function d4(){return` 3744 3745 precision mediump float; 3746 precision mediump int; 3747 3748 attribute float faceIndex; 3749 3750 varying vec3 vOutputDirection; 3751 3752 // RH coordinate system; PMREM face-indexing convention 3753 vec3 getDirection( vec2 uv, float face ) { 3754 3755 uv = 2.0 * uv - 1.0; 3756 3757 vec3 direction = vec3( uv, 1.0 ); 3758 3759 if ( face == 0.0 ) { 3760 3761 direction = direction.zyx; // ( 1, v, u ) pos x 3762 3763 } else if ( face == 1.0 ) { 3764 3765 direction = direction.xzy; 3766 direction.xz *= -1.0; // ( -u, 1, -v ) pos y 3767 3768 } else if ( face == 2.0 ) { 3769 3770 direction.x *= -1.0; // ( -u, v, 1 ) pos z 3771 3772 } else if ( face == 3.0 ) { 3773 3774 direction = direction.zyx; 3775 direction.xz *= -1.0; // ( -1, v, -u ) neg x 3776 3777 } else if ( face == 4.0 ) { 3778 3779 direction = direction.xzy; 3780 direction.xy *= -1.0; // ( -u, -1, v ) neg y 3781 3782 } else if ( face == 5.0 ) { 3783 3784 direction.z *= -1.0; // ( u, v, -1 ) neg z 3785 3786 } 3787 3788 return direction; 3789 3790 } 3791 3792 void main() { 3793 3794 vOutputDirection = getDirection( uv, faceIndex ); 3795 gl_Position = vec4( position, 1.0 ); 3796 3797 } 3798 `}function nte(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,c=l===Ya||l===ab,u=l===tc||l===wd;if(c||u){let f=e.get(a);const h=f!==void 0?f.texture.pmremVersion:0;if(a.isRenderTargetTexture&&a.pmremVersion!==h)return t===null&&(t=new Pb(n)),f=c?t.fromEquirectangular(a,f):t.fromCubemap(a,f),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),f.texture;if(f!==void 0)return f.texture;{const p=a.image;return c&&p&&p.height>0||u&&p&&r(p)?(t===null&&(t=new Pb(n)),f=c?t.fromEquirectangular(a):t.fromCubemap(a),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),a.addEventListener("dispose",s),f.texture):null}}}return a}function r(a){let l=0;const c=6;for(let u=0;u<c;u++)a[u]!==void 0&&l++;return l===c}function s(a){const l=a.target;l.removeEventListener("dispose",s);const c=e.get(l);c!==void 0&&(e.delete(l),c.dispose())}function o(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:i,dispose:o}}function ite(n){const e={};function t(i){if(e[i]!==void 0)return e[i];let r;switch(i){case"WEBGL_depth_texture":r=n.getExtension("WEBGL_depth_texture")||n.getExtension("MOZ_WEBGL_depth_texture")||n.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=n.getExtension("WEBGL_compressed_texture_s3tc")||n.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=n.getExtension("WEBGL_compressed_texture_pvrtc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=n.getExtension(i)}return e[i]=r,r}return{has:function(i){return t(i)!==null},init:function(){t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance"),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture"),t("WEBGL_render_shared_exponent")},get:function(i){const r=t(i);return r===null&&Mf("THREE.WebGLRenderer: "+i+" extension not supported."),r}}}function rte(n,e,t,i){const r={},s=new WeakMap;function o(f){const h=f.target;h.index!==null&&e.remove(h.index);for(const m in h.attributes)e.remove(h.attributes[m]);h.removeEventListener("dispose",o),delete r[h.id];const p=s.get(h);p&&(e.remove(p),s.delete(h)),i.releaseStatesOfGeometry(h),h.isInstancedBufferGeometry===!0&&delete h._maxInstanceCount,t.memory.geometries--}function a(f,h){return r[h.id]===!0||(h.addEventListener("dispose",o),r[h.id]=!0,t.memory.geometries++),h}function l(f){const h=f.attributes;for(const p in h)e.update(h[p],n.ARRAY_BUFFER)}function c(f){const h=[],p=f.index,m=f.attributes.position;let v=0;if(p!==null){const x=p.array;v=p.version;for(let b=0,_=x.length;b<_;b+=3){const T=x[b+0],M=x[b+1],I=x[b+2];h.push(T,M,M,I,I,T)}}else if(m!==void 0){const x=m.array;v=m.version;for(let b=0,_=x.length/3-1;b<_;b+=3){const T=b+0,M=b+1,I=b+2;h.push(T,M,M,I,I,T)}}else return;const A=new(XI(h)?eP:JI)(h,1);A.version=v;const y=s.get(f);y&&e.remove(y),s.set(f,A)}function u(f){const h=s.get(f);if(h){const p=f.index;p!==null&&h.version<p.version&&c(f)}else c(f);return s.get(f)}return{get:a,update:l,getWireframeAttribute:u}}function ste(n,e,t){let i;function r(h){i=h}let s,o;function a(h){s=h.type,o=h.bytesPerElement}function l(h,p){n.drawElements(i,p,s,h*o),t.update(p,i,1)}function c(h,p,m){m!==0&&(n.drawElementsInstanced(i,p,s,h*o,m),t.update(p,i,m))}function u(h,p,m){if(m===0)return;e.get("WEBGL_multi_draw").multiDrawElementsWEBGL(i,p,0,s,h,0,m);let A=0;for(let y=0;y<m;y++)A+=p[y];t.update(A,i,1)}function f(h,p,m,v){if(m===0)return;const A=e.get("WEBGL_multi_draw");if(A===null)for(let y=0;y<h.length;y++)c(h[y]/o,p[y],v[y]);
vendor: 18,630 bytes, lines 3798-3833
3798else{A.multiDrawElementsInstancedWEBGL(i,p,0,s,h,0,v,0,m);let y=0;for(let x=0;x<m;x++)y+=p[x]*v[x];t.update(y,i,1)}}this.setMode=r,this.setIndex=a,this.render=l,this.renderInstances=c,this.renderMultiDraw=u,this.renderMultiDrawInstances=f}function ote(n){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function i(s,o,a){switch(t.calls++,o){case n.TRIANGLES:t.triangles+=a*(s/3);break;case n.LINES:t.lines+=a*(s/2);break;case n.LINE_STRIP:t.lines+=a*(s-1);break;case n.LINE_LOOP:t.lines+=a*s;break;case n.POINTS:t.points+=a*s;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",o);break}}function r(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:r,update:i}}function ate(n,e,t){const i=new WeakMap,r=new Vt;function s(o,a,l){const c=o.morphTargetInfluences,u=a.morphAttributes.position||a.morphAttributes.normal||a.morphAttributes.color,f=u!==void 0?u.length:0;let h=i.get(a);if(h===void 0||h.count!==f){let w=function(){I.dispose(),i.delete(a),a.removeEventListener("dispose",w)};h!==void 0&&h.texture.dispose();const p=a.morphAttributes.position!==void 0,m=a.morphAttributes.normal!==void 0,v=a.morphAttributes.color!==void 0,A=a.morphAttributes.position||[],y=a.morphAttributes.normal||[],x=a.morphAttributes.color||[];let b=0;p===!0&&(b=1),m===!0&&(b=2),v===!0&&(b=3);let _=a.attributes.position.count*b,T=1;_>e.maxTextureSize&&(T=Math.ceil(_/e.maxTextureSize),_=e.maxTextureSize);const M=new Float32Array(_*T*4*f),I=new $I(M,_,T,f);I.type=Zt,I.needsUpdate=!0;const R=b*4;for(let E=0;E<f;E++){const F=A[E],L=y[E],z=x[E],V=_*T*4*E;for(let j=0;j<F.count;j++){const N=j*R;p===!0&&(r.fromBufferAttribute(F,j),M[V+N+0]=r.x,M[V+N+1]=r.y,M[V+N+2]=r.z,M[V+N+3]=0),m===!0&&(r.fromBufferAttribute(L,j),M[V+N+4]=r.x,M[V+N+5]=r.y,M[V+N+6]=r.z,M[V+N+7]=0),v===!0&&(r.fromBufferAttribute(z,j),M[V+N+8]=r.x,M[V+N+9]=r.y,M[V+N+10]=r.z,M[V+N+11]=z.itemSize===4?r.w:1)}}h={count:f,texture:I,size:new Re(_,T)},i.set(a,h),a.addEventListener("dispose",w)}if(o.isInstancedMesh===!0&&o.morphTexture!==null)l.getUniforms().setValue(n,"morphTexture",o.morphTexture,t);else{let p=0;for(let v=0;v<c.length;v++)p+=c[v];const m=a.morphTargetsRelative?1:1-p;l.getUniforms().setValue(n,"morphTargetBaseInfluence",m),l.getUniforms().setValue(n,"morphTargetInfluences",c)}l.getUniforms().setValue(n,"morphTargetsTexture",h.texture,t),l.getUniforms().setValue(n,"morphTargetsTextureSize",h.size)}return{update:s}}function lte(n,e,t,i){let r=new WeakMap;function s(l){const c=i.render.frame,u=l.geometry,f=e.get(l,u);if(r.get(f)!==c&&(e.update(f),r.set(f,c)),l.isInstancedMesh&&(l.hasEventListener("dispose",a)===!1&&l.addEventListener("dispose",a),r.get(l)!==c&&(t.update(l.instanceMatrix,n.ARRAY_BUFFER),l.instanceColor!==null&&t.update(l.instanceColor,n.ARRAY_BUFFER),r.set(l,c))),l.isSkinnedMesh){const h=l.skeleton;r.get(h)!==c&&(h.update(),r.set(h,c))}return f}function o(){r=new WeakMap}function a(l){const c=l.target;c.removeEventListener("dispose",a),t.remove(c.instanceMatrix),c.instanceColor!==null&&t.remove(c.instanceColor)}return{update:s,dispose:o}}const gP=new xn,a8=new aP(1,1),AP=new $I,vP=new KI,yP=new np,l8=[],c8=[],u8=new Float32Array(16),f8=new Float32Array(9),d8=new Float32Array(4);function Qd(n,e,t){const i=n[0];if(i<=0||i>0)return n;const r=e*t;let s=l8[r];if(s===void 0&&(s=new Float32Array(r),l8[r]=s),e!==0){i.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=t,n[o].toArray(s,a)}return s}function Qi(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t<i;t++)if(n[t]!==e[t])return!1;return!0}function Wi(n,e){for(let t=0,i=e.length;t<i;t++)n[t]=e[t]}function RA(n,e){let t=c8[e];t===void 0&&(t=new Int32Array(e),c8[e]=t);for(let i=0;i!==e;++i)t[i]=n.allocateTextureUnit();return t}function cte(n,e){const t=this.cache;t[0]!==e&&(n.uniform1f(this.addr,e),t[0]=e)}function ute(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Qi(t,e))return;n.uniform2fv(this.addr,e),Wi(t,e)}}function fte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(n.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(Qi(t,e))return;n.uniform3fv(this.addr,e),Wi(t,e)}}function dte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Qi(t,e))return;n.uniform4fv(this.addr,e),Wi(t,e)}}function hte(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Qi(t,e))return;n.uniformMatrix2fv(this.addr,!1,e),Wi(t,e)}else{if(Qi(t,i))return;d8.set(i),n.uniformMatrix2fv(this.addr,!1,d8),Wi(t,i)}}function pte(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Qi(t,e))return;n.uniformMatrix3fv(this.addr,!1,e),Wi(t,e)}else{if(Qi(t,i))return;f8.set(i),n.uniformMatrix3fv(this.addr,!1,f8),Wi(t,i)}}function mte(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Qi(t,e))return;n.uniformMatrix4fv(this.addr,!1,e),Wi(t,e)}else{if(Qi(t,i))return;u8.set(i),n.uniformMatrix4fv(this.addr,!1,u8),Wi(t,i)}}function gte(n,e){const t=this.cache;t[0]!==e&&(n.uniform1i(this.addr,e),t[0]=e)}function Ate(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Qi(t,e))return;n.uniform2iv(this.addr,e),Wi(t,e)}}function vte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Qi(t,e))return;n.uniform3iv(this.addr,e),Wi(t,e)}}function yte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Qi(t,e))return;n.uniform4iv(this.addr,e),Wi(t,e)}}function _te(n,e){const t=this.cache;t[0]!==e&&(n.uniform1ui(this.addr,e),t[0]=e)}function bte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Qi(t,e))return;n.uniform2uiv(this.addr,e),Wi(t,e)}}function xte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Qi(t,e))return;n.uniform3uiv(this.addr,e),Wi(t,e)}}function Cte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Qi(t,e))return;n.uniform4uiv(this.addr,e),Wi(t,e)}}function wte(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r);let s;this.type===n.SAMPLER_2D_SHADOW?(a8.compareFunction=qI,s=a8):s=gP,t.setTexture2D(e||s,r)}function Ste(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture3D(e||vP,r)}function Ete(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTextureCube(e||yP,r)}function Tte(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture2DArray(e||AP,r)}function Mte(n){switch(n){case 5126:return cte;case 35664:return ute;case 35665:return fte;case 35666:return dte;case 35674:return hte;case 35675:return pte;case 35676:return mte;case 5124:case 35670:return gte;case 35667:case 35671:return Ate;case 35668:case 35672:return vte;case 35669:case 35673:return yte;case 5125:return _te;case 36294:return bte;case 36295:return xte;case 36296:return Cte;case 35678:case 36198:case 36298:case 36306:case 35682:return wte;case 35679:case 36299:case 36307:return Ste;case 35680:case 36300:case 36308:case 36293:return Ete;case 36289:case 36303:case 36311:case 36292:return Tte}}function Ite(n,e){n.uniform1fv(this.addr,e)}function Pte(n,e){const t=Qd(e,this.size,2);n.uniform2fv(this.addr,t)}function Rte(n,e){const t=Qd(e,this.size,3);n.uniform3fv(this.addr,t)}function Bte(n,e){const t=Qd(e,this.size,4);n.uniform4fv(this.addr,t)}function Dte(n,e){const t=Qd(e,this.size,4);n.uniformMatrix2fv(this.addr,!1,t)}function Lte(n,e){const t=Qd(e,this.size,9);n.uniformMatrix3fv(this.addr,!1,t)}function Ote(n,e){const t=Qd(e,this.size,16);n.uniformMatrix4fv(this.addr,!1,t)}function Fte(n,e){n.uniform1iv(this.addr,e)}function Ute(n,e){n.uniform2iv(this.addr,e)}function Nte(n,e){n.uniform3iv(this.addr,e)}function kte(n,e){n.uniform4iv(this.addr,e)}function zte(n,e){n.uniform1uiv(this.addr,e)}function Hte(n,e){n.uniform2uiv(this.addr,e)}function Vte(n,e){n.uniform3uiv(this.addr,e)}function Gte(n,e){n.uniform4uiv(this.addr,e)}function Qte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTexture2D(e[o]||gP,s[o])}function Wte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTexture3D(e[o]||vP,s[o])}function jte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTextureCube(e[o]||yP,s[o])}function qte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTexture2DArray(e[o]||AP,s[o])}function Xte(n){switch(n){case 5126:return Ite;case 35664:return Pte;case 35665:return Rte;case 35666:return Bte;case 35674:return Dte;case 35675:return Lte;case 35676:return Ote;case 5124:case 35670:return Fte;case 35667:case 35671:return Ute;case 35668:case 35672:return Nte;case 35669:case 35673:return kte;case 5125:return zte;case 36294:return Hte;case 36295:return Vte;case 36296:return Gte;case 35678:case 36198:case 36298:case 36306:case 35682:return Qte;case 35679:case 36299:case 36307:return Wte;case 35680:case 36300:case 36308:case 36293:return jte;case 36289:case 36303:case 36311:case 36292:return qte}}class Yte{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.setValue=Mte(t.type)}}class $te{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=Xte(t.type)}}class Kte{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,i){const r=this.seq;for(let s=0,o=r.length;s!==o;++s){const a=r[s];a.setValue(e,t[a.id],i)}}}const U3=/(\w+)(\])?(\[|\.)?/g;function h8(n,e){n.seq.push(e),n.map[e.id]=e}function Zte(n,e,t){const i=n.name,r=i.length;for(U3.lastIndex=0;;){const s=U3.exec(i),o=U3.lastIndex;let a=s[1];const l=s[2]==="]",c=s[3];if(l&&(a=a|0),c===void 0||c==="["&&o+2===r){h8(t,c===void 0?new Yte(a,n,e):new $te(a,n,e));break}else{let f=t.map[a];f===void 0&&(f=new Kte(a),h8(t,f)),t=f}}}class J1{constructor(e,t){this.seq=[],this.map={};const i=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let r=0;r<i;++r){const s=e.getActiveUniform(t,r),o=e.getUniformLocation(t,s.name);Zte(s,o,this)}}setValue(e,t,i,r){const s=this.map[t];s!==void 0&&s.setValue(e,i,r)}setOptional(e,t,i){const r=t[i];r!==void 0&&this.setValue(e,i,r)}static upload(e,t,i,r){for(let s=0,o=t.length;s!==o;++s){const a=t[s],l=i[a.id];l.needsUpdate!==!1&&a.setValue(e,l.value,r)}}static seqWithValue(e,t){const i=[];for(let r=0,s=e.length;r!==s;++r){const o=e[r];o.id in t&&i.push(o)}return i}}function p8(n,e,t){const i=n.createShader(e);return n.shaderSource(i,t),n.compileShader(i),i}const Jte=37297;let ene=0;function tne(n,e){const t=n.split(` 3799`),i=[],r=Math.max(e-6,0),s=Math.min(e+6,t.length);for(let o=r;o<s;o++){const a=o+1;i.push(`${a===e?">":" "} ${a}: ${t[o]}`)}return i.join(` 3800`)}const m8=new Lt;function nne(n){Xt._getMatrix(m8,Xt.workingColorSpace,n);const e=`mat3( ${m8.elements.map(t=>t.toFixed(4))} )`;switch(Xt.getTransfer(n)){case Hg:return[e,"LinearTransferOETF"];case yn:return[e,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",n),[e,"LinearTransferOETF"]}}function g8(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const o=parseInt(s[1]);return t.toUpperCase()+` 3801 3802`+r+` 3803 3804`+tne(n.getShaderSource(e),o)}else return r}function ine(n,e){const t=nne(e);return[`vec4 ${n}( vec4 value ) {`,` return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(` 3805`)}function rne(n,e){let t;switch(e){case II:t="Linear";break;case PI:t="Reinhard";break;case RI:t="Cineon";break;case BI:t="ACESFilmic";break;case LI:t="AgX";break;case OI:t="Neutral";break;case DI:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const w1=new K;function sne(){Xt.getLuminanceCoefficients(w1);const n=w1.x.toFixed(4),e=w1.y.toFixed(4),t=w1.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${n}, ${e}, ${t} );`," return dot( weights, rgb );","}"].join(` 3806`)}function one(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Xh).join(` 3807`)}function ane(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` 3808`)}function lne(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const s=n.getActiveAttrib(e,r),o=s.name;let a=1;s.type===n.FLOAT_MAT2&&(a=2),s.type===n.FLOAT_MAT3&&(a=3),s.type===n.FLOAT_MAT4&&(a=4),t[o]={type:s.type,location:n.getAttribLocation(e,o),locationSize:a}}return t}function Xh(n){return n!==""}function A8(n,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return n.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function v8(n,e){return n.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const cne=/^[ \t]*#include +<([\w\d./]+)>/gm;function Rb(n){return n.replace(cne,fne)}const une=new Map;function fne(n,e){let t=ut[e];if(t===void 0){const i=une.get(e);if(i!==void 0)t=ut[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return Rb(t)}const dne=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function y8(n){return n.replace(dne,hne)}function hne(n,e,t,i){let r="";for(let s=parseInt(e);s<parseInt(t);s++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+s+" ]").replace(/UNROLLED_LOOP_INDEX/g,s);return r}function _8(n){let e=`precision ${n.precision} float; 3809 precision ${n.precision} int; 3810 precision ${n.precision} sampler2D; 3811 precision ${n.precision} samplerCube; 3812 precision ${n.precision} sampler3D; 3813 precision ${n.precision} sampler2DArray; 3814 precision ${n.precision} sampler2DShadow; 3815 precision ${n.precision} samplerCubeShadow; 3816 precision ${n.precision} sampler2DArrayShadow; 3817 precision ${n.precision} isampler2D; 3818 precision ${n.precision} isampler3D; 3819 precision ${n.precision} isamplerCube; 3820 precision ${n.precision} isampler2DArray; 3821 precision ${n.precision} usampler2D; 3822 precision ${n.precision} usampler3D; 3823 precision ${n.precision} usamplerCube; 3824 precision ${n.precision} usampler2DArray; 3825 `;return n.precision==="highp"?e+=` 3826#define HIGH_PRECISION`:n.precision==="mediump"?e+=` 3827#define MEDIUM_PRECISION`:n.precision==="lowp"&&(e+=` 3828#define LOW_PRECISION`),e}function pne(n){let e="SHADOWMAP_TYPE_BASIC";return n.shadowMapType===EI?e="SHADOWMAP_TYPE_PCF":n.shadowMapType===$Y?e="SHADOWMAP_TYPE_PCF_SOFT":n.shadowMapType===zo&&(e="SHADOWMAP_TYPE_VSM"),e}function mne(n){let e="ENVMAP_TYPE_CUBE";if(n.envMap)switch(n.envMapMode){case tc:case wd:e="ENVMAP_TYPE_CUBE";break;case EA:e="ENVMAP_TYPE_CUBE_UV";break}return e}function gne(n){let e="ENVMAP_MODE_REFLECTION";if(n.envMap)switch(n.envMapMode){case wd:e="ENVMAP_MODE_REFRACTION";break}return e}function Ane(n){let e="ENVMAP_BLENDING_NONE";if(n.envMap)switch(n.combine){case MI:e="ENVMAP_BLENDING_MULTIPLY";break;case p$:e="ENVMAP_BLENDING_MIX";break;case m$:e="ENVMAP_BLENDING_ADD";break}return e}function vne(n){const e=n.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),7*16)),texelHeight:i,maxMip:t}}function yne(n,e,t,i){const r=n.getContext(),s=t.defines;let o=t.vertexShader,a=t.fragmentShader;const l=pne(t),c=mne(t),u=gne(t),f=Ane(t),h=vne(t),p=one(t),m=ane(s),v=r.createProgram();let A,y,x=t.glslVersion?"#version "+t.glslVersion+` 3829`:"";t.isRawShaderMaterial?(A=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m].filter(Xh).join(` 3830`),A.length>0&&(A+=` 3831`),y=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m].filter(Xh).join(` 3832`),y.length>0&&(y+=` 3833`)):(A=[_8(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IR
3833IDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` 3834`].filter(Xh).join(` 3835`),y=[_8(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+u:"",t.envMap?"#define "+f:"",h?"#define CUBEUV_TEXEL_WIDTH "+h.texelWidth:"",h?"#define CUBEUV_TEXEL_HEIGHT "+h.texelHeight:"",h?"#define CUBEUV_MAX_MIP "+h.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IR
3835IDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Xl?"#define TONE_MAPPING":"",t.toneMapping!==Xl?ut.tonemapping_pars_fragment:"",t.toneMapping!==Xl?rne("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",ut.colorspace_pars_fragment,ine("linearToOutputTexel",t.outputColorSpace),sne(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` 3836`].filter(Xh).join(` 3837`)),o=Rb(o),o=A8(o,t),o=v8(o,t),a=Rb(a),a=A8(a,t),a=v8(a,t),o=y8(o),a=y8(a),t.isRawShaderMaterial!==!0&&(x=`#version 300 es 3838`,A=[p,"#define attribute in","#define varying out","#define texture2D texture"].join(` 3839`)+` 3840`+A,y=["#define varying in",t.glslVersion===oS?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===oS?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` 3841`)+` 3842`+y);const b=x+A+o,_=x+y+a,T=p8(r,r.VERTEX_SHADER,b),M=p8(r,r.FRAGMENT_SHADER,_);r.attachShader(v,T),r.attachShader(v,M),t.index0AttributeName!==void 0?r.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(v,0,"position"),r.linkProgram(v);function I(F){if(n.debug.checkShaderErrors){const L=r.getProgramInfoLog(v).trim(),z=r.getShaderInfoLog(T).trim(),V=r.getShaderInfoLog(M).trim();let j=!0,N=!0;if(r.getProgramParameter(v,r.LINK_STATUS)===!1)if(j=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,v,T,M);else{const Q=g8(r,T,"vertex"),W=g8(r,M,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(v,r.VALIDATE_STATUS)+` 3843 3844Material Name: `+F.name+` 3845Material Type: `+F.type+` 3846 3847Program Info Log: `+L+` 3848`+Q+` 3849`+W)}else L!==""?console.warn("THREE.WebGLProgram: Program Info Log:",L):(z===""||V==="")&&(N=!1);N&&(F.diagnostics={runnable:j,programLog:L,vertexShader:{log:z,prefix:A},fragmentShader:{log:V,prefix:y}})}r.deleteShader(T),r.deleteShader(M),R=new J1(r,v),w=lne(r,v)}let R;this.getUniforms=function(){return R===void 0&&I(this),R};let w;this.getAttributes=function(){return w===void 0&&I(this),w};let E=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=r.getProgramParameter(v,Jte)),E},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(v),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=ene++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=T,this.fragmentShader=M,this}let _ne=0;class bne{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new xne(e),t.set(e,i)),i}}class xne{constructor(e){this.id=_ne++,this.code=e,this.usedTimes=0}}function Cne(n,e,t,i,r,s,o){const a=new t4,l=new bne,c=new Set,u=[],f=r.logarithmicDepthBuffer,h=r.vertexTextures;let p=r.precision;const m={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function v(w){return c.add(w),w===0?"uv":`uv${w}`}function A(w,E,F,L,z){const V=L.fog,j=z.geometry,N=w.isMeshStandardMaterial?L.environment:null,Q=(w.isMeshStandardMaterial?t:e).get(w.envMap||N),W=Q&&Q.mapping===EA?Q.image.height:null,ee=m[w.type];w.precision!==null&&(p=r.getMaxPrecision(w.precision),p!==w.precision&&console.warn("THREE.WebGLProgram.getParameters:",w.precision,"not supported, using",p,"instead."));const H=j.morphAttributes.position||j.morphAttributes.normal||j.morphAttributes.color,ye=H!==void 0?H.length:0;let Ie=0;j.morphAttributes.position!==void 0&&(Ie=1),j.morphAttributes.normal!==void 0&&(Ie=2),j.morphAttributes.color!==void 0&&(Ie=3);let ze,oe,_e,Fe;if(ee){const $e=us[ee];ze=$e.vertexShader,oe=$e.fragmentShader}else ze=w.vertexShader,oe=w.fragmentShader,l.update(w),_e=l.getVertexShaderID(w),Fe=l.getFragmentShaderID(w);const Z=n.getRenderTarget(),Ae=n.state.buffers.depth.getReversed(),we=z.isInstancedMesh===!0,be=z.isBatchedMesh===!0,qe=!!w.map,rt=!!w.matcap,q=!!Q,B=!!w.aoMap,le=!!w.lightMap,ve=!!w.bumpMap,$=!!w.normalMap,de=!!w.displacementMap,De=!!w.emissiveMap,xe=!!w.metalnessMap,k=!!w.roughnessMap,D=w.anisotropy>0,ne=w.clearcoat>0,re=w.dispersion>0,ce=w.iridescence>0,fe=w.sheen>0,Pe=w.transmission>0,Le=D&&!!w.anisotropyMap,Oe=ne&&!!w.clearcoatMap,dt=ne&&!!w.clearcoatNormalMap,Be=ne&&!!w.clearcoatRoughnessMap,He=ce&&!!w.iridescenceMap,Xe=ce&&!!w.iridescenceThicknessMap,st=fe&&!!w.sheenColorMap,et=fe&&!!w.sheenRoughnessMap,mt=!!w.specularMap,lt=!!w.specularColorMap,Rt=!!w.specularIntensityMap,te=Pe&&!!w.transmissionMap,We=Pe&&!!w.thicknessMap,Ce=!!w.gradientMap,Me=!!w.alphaMap,je=w.alphaTest>0,Ye=!!w.alphaHash,_t=!!w.extensions;let jt=Xl;w.toneMapped&&(Z===null||Z.isXRRenderTarget===!0)&&(jt=n.toneMapping);const Bn={shaderID:ee,shaderType:w.type,shaderName:w.name,vertexShader:ze,fragmentShader:oe,defines:w.defines,customVertexShaderID:_e,customFragmentShaderID:Fe,isRawShaderMaterial:w.isRawShaderMaterial===!0,glslVersion:w.glslVersion,precision:p,batching:be,batchingColor:be&&z._colorsTexture!==null,instancing:we,instancingColor:we&&z.instanceColor!==null,instancingMorph:we&&z.morphTexture!==null,supportsVertexTextures:h,outputColorSpace:Z===null?n.outputColorSpace:Z.isXRRenderTarget===!0?Z.texture.colorSpace:mi,alphaToCoverage:!!w.alphaToCoverage,map:qe,matcap:rt,envMap:q,envMapMode:q&&Q.mapping,envMapCubeUVHeight:W,aoMap:B,lightMap:le,bumpMap:ve,normalMap:$,displacementMap:h&&de,emissiveMap:De,normalMapObjectSpace:$&&w.normalMapType===_$,normalMapTangentSpace:$&&w.normalMapType===jI,metalnessMap:xe,roughnessMap:k,anisotropy:D,anisotropyMap:Le,clearcoat:ne,clearcoatMap:Oe,clearcoatNormalMap:dt,clearcoatRoughnessMap:Be,dispersion:re,iridescence:ce,iridescenceMap:He,iridescenceThicknessMap:Xe,sheen:fe,sheenColorMap:st,sheenRoughnessMap:et,specularMap:mt,specularColorMap:lt,specularIntensityMap:Rt,transmission:Pe,transmissionMap:te,thicknessMap:We,gradientMap:Ce,opaque:w.transparent===!1&&w.blending===bu&&w.alphaToCoverage===!1,alphaMap:Me,alphaTest:je,alphaHash:Ye,combine:w.combine,mapUv:qe&&v(w.map.channel),aoMapUv:B&&v(w.aoMap.channel),lightMapUv:le&&v(w.lightMap.channel),bumpMapUv:ve&&v(w.bumpMap.channel),normalMapUv:$&&v(w.normalMap.channel),displacementMapUv:de&&v(w.displacementMap.channel),emissiveMapUv:De&&v(w.emissiveMap.channel),metalnessMapUv:xe&&v(w.metalnessMap.channel),roughnessMapUv:k&&v(w.roughnessMap.channel),anisotropyMapUv:Le&&v(w.anisotropyMap.channel),clearcoatMapUv:Oe&&v(w.clearcoatMap.channel),clearcoatNormalMapUv:dt&&v(w.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Be&&v(w.clearcoatRoughnessMap.channel),iridescenceMapUv:He&&v(w.iridescenceMap.channel),iridescenceThicknessMapUv:Xe&&v(w.iridescenceThicknessMap.channel),sheenColorMapUv:st&&v(w.sheenColorMap.channel),sheenRoughnessMapUv:et&&v(w.sheenRoughnessMap.channel),specularMapUv:mt&&v(w.specularMap.channel),specularColorMapUv:lt&&v(w.specularColorMap.channel),specularIntensityMapUv:Rt&&v(w.specularIntensityMap.channel),transmissionMapUv:te&&v(w.transmissionMap.channel),thicknessMapUv:We&&v(w.thicknessMap.channel),alphaMapUv:Me&&v(w.alphaMap.channel),vertexTangents:!!j.attributes.tangent&&($||D),vertexColors:w.vertexColors,vertexAlphas:w.vertexColors===!0&&!!j.attributes.color&&j.attributes.color.itemSize===4,pointsUvs:z.isPoints===!0&&!!j.attributes.uv&&(qe||Me),fog:!!V,useFog:w.fog===!0,fogExp2:!!V&&V.isFogExp2,flatShading:w.flatShading===!0,sizeAttenuation:w.sizeAttenuation===!0,logarithmicDepthBuffer:f,reverseDepthBuffer:Ae,skinning:z.isSkinnedMesh===!0,morphTargets:j.morphAttributes.position!==void 0,morphNormals:j.morphAttributes.normal!==void 0,morphColors:j.morphAttributes.color!==void 0,morphTargetsCount:ye,morphTextureStride:Ie,numDirLights:E.directional.length,numPointLights:E.point.length,numSpotLights:E.spot.length,numSpotLightMaps:E.spotLightMap.length,numRectAreaLights:E.rectArea.length,numHemiLights:E.hemi.length,numDirLightShadows:E.directionalShadowMap.length,numPointLightShadows:E.pointShadowMap.length,numSpotLightShadows:E.spotShadowMap.length,numSpotLightShadowsWithMaps:E.numSpotLightShadowsWithMaps,numLightProbes:E.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:w.dithering,shadowMapEnabled:n.shadowMap.enabled&&F.length>0,shadowMapType:n.shadowMap.type,toneMapping:jt,decodeVideoTexture:qe&&w.map.isVideoTexture===!0&&Xt.getTransfer(w.map.colorSpace)===yn,decodeVideoTextureEmissive:De&&w.emissiveMap.isVideoTexture===!0&&Xt.getTransfer(w.emissiveMap.colorSpace)===yn,premultipliedAlpha:w.premultipliedAlpha,doubleSided:w.side===Zs,flipSided:w.side===Rr,useDepthPacking:w.depthPacking>=0,depthPacking:w.depthPacking||0,index0AttributeName:w.index0AttributeName,extensionCl
vendor: 20,373 bytes, lines 3849-3877
3849ipCullDistance:_t&&w.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(_t&&w.extensions.multiDraw===!0||be)&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:w.customProgramCacheKey()};return Bn.vertexUv1s=c.has(1),Bn.vertexUv2s=c.has(2),Bn.vertexUv3s=c.has(3),c.clear(),Bn}function y(w){const E=[];if(w.shaderID?E.push(w.shaderID):(E.push(w.customVertexShaderID),E.push(w.customFragmentShaderID)),w.defines!==void 0)for(const F in w.defines)E.push(F),E.push(w.defines[F]);return w.isRawShaderMaterial===!1&&(x(E,w),b(E,w),E.push(n.outputColorSpace)),E.push(w.customProgramCacheKey),E.join()}function x(w,E){w.push(E.precision),w.push(E.outputColorSpace),w.push(E.envMapMode),w.push(E.envMapCubeUVHeight),w.push(E.mapUv),w.push(E.alphaMapUv),w.push(E.lightMapUv),w.push(E.aoMapUv),w.push(E.bumpMapUv),w.push(E.normalMapUv),w.push(E.displacementMapUv),w.push(E.emissiveMapUv),w.push(E.metalnessMapUv),w.push(E.roughnessMapUv),w.push(E.anisotropyMapUv),w.push(E.clearcoatMapUv),w.push(E.clearcoatNormalMapUv),w.push(E.clearcoatRoughnessMapUv),w.push(E.iridescenceMapUv),w.push(E.iridescenceThicknessMapUv),w.push(E.sheenColorMapUv),w.push(E.sheenRoughnessMapUv),w.push(E.specularMapUv),w.push(E.specularColorMapUv),w.push(E.specularIntensityMapUv),w.push(E.transmissionMapUv),w.push(E.thicknessMapUv),w.push(E.combine),w.push(E.fogExp2),w.push(E.sizeAttenuation),w.push(E.morphTargetsCount),w.push(E.morphAttributeCount),w.push(E.numDirLights),w.push(E.numPointLights),w.push(E.numSpotLights),w.push(E.numSpotLightMaps),w.push(E.numHemiLights),w.push(E.numRectAreaLights),w.push(E.numDirLightShadows),w.push(E.numPointLightShadows),w.push(E.numSpotLightShadows),w.push(E.numSpotLightShadowsWithMaps),w.push(E.numLightProbes),w.push(E.shadowMapType),w.push(E.toneMapping),w.push(E.numClippingPlanes),w.push(E.numClipIntersection),w.push(E.depthPacking)}function b(w,E){a.disableAll(),E.supportsVertexTextures&&a.enable(0),E.instancing&&a.enable(1),E.instancingColor&&a.enable(2),E.instancingMorph&&a.enable(3),E.matcap&&a.enable(4),E.envMap&&a.enable(5),E.normalMapObjectSpace&&a.enable(6),E.normalMapTangentSpace&&a.enable(7),E.clearcoat&&a.enable(8),E.iridescence&&a.enable(9),E.alphaTest&&a.enable(10),E.vertexColors&&a.enable(11),E.vertexAlphas&&a.enable(12),E.vertexUv1s&&a.enable(13),E.vertexUv2s&&a.enable(14),E.vertexUv3s&&a.enable(15),E.vertexTangents&&a.enable(16),E.anisotropy&&a.enable(17),E.alphaHash&&a.enable(18),E.batching&&a.enable(19),E.dispersion&&a.enable(20),E.batchingColor&&a.enable(21),w.push(a.mask),a.disableAll(),E.fog&&a.enable(0),E.useFog&&a.enable(1),E.flatShading&&a.enable(2),E.logarithmicDepthBuffer&&a.enable(3),E.reverseDepthBuffer&&a.enable(4),E.skinning&&a.enable(5),E.morphTargets&&a.enable(6),E.morphNormals&&a.enable(7),E.morphColors&&a.enable(8),E.premultipliedAlpha&&a.enable(9),E.shadowMapEnabled&&a.enable(10),E.doubleSided&&a.enable(11),E.flipSided&&a.enable(12),E.useDepthPacking&&a.enable(13),E.dithering&&a.enable(14),E.transmission&&a.enable(15),E.sheen&&a.enable(16),E.opaque&&a.enable(17),E.pointsUvs&&a.enable(18),E.decodeVideoTexture&&a.enable(19),E.decodeVideoTextureEmissive&&a.enable(20),E.alphaToCoverage&&a.enable(21),w.push(a.mask)}function _(w){const E=m[w.type];let F;if(E){const L=us[E];F=Po.clone(L.uniforms)}else F=w.uniforms;return F}function T(w,E){let F;for(let L=0,z=u.length;L<z;L++){const V=u[L];if(V.cacheKey===E){F=V,++F.usedTimes;break}}return F===void 0&&(F=new yne(n,E,w,s),u.push(F)),F}function M(w){if(--w.usedTimes===0){const E=u.indexOf(w);u[E]=u[u.length-1],u.pop(),w.destroy()}}function I(w){l.remove(w)}function R(){l.dispose()}return{getParameters:A,getProgramCacheKey:y,getUniforms:_,acquireProgram:T,releaseProgram:M,releaseShaderCache:I,programs:u,dispose:R}}function wne(){let n=new WeakMap;function e(o){return n.has(o)}function t(o){let a=n.get(o);return a===void 0&&(a={},n.set(o,a)),a}function i(o){n.delete(o)}function r(o,a,l){n.get(o)[a]=l}function s(){n=new WeakMap}return{has:e,get:t,remove:i,update:r,dispose:s}}function Sne(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.material.id!==e.material.id?n.material.id-e.material.id:n.z!==e.z?n.z-e.z:n.id-e.id}function b8(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?e.z-n.z:n.id-e.id}function x8(){const n=[];let e=0;const t=[],i=[],r=[];function s(){e=0,t.length=0,i.length=0,r.length=0}function o(f,h,p,m,v,A){let y=n[e];return y===void 0?(y={id:f.id,object:f,geometry:h,material:p,groupOrder:m,renderOrder:f.renderOrder,z:v,group:A},n[e]=y):(y.id=f.id,y.object=f,y.geometry=h,y.material=p,y.groupOrder=m,y.renderOrder=f.renderOrder,y.z=v,y.group=A),e++,y}function a(f,h,p,m,v,A){const y=o(f,h,p,m,v,A);p.transmission>0?i.push(y):p.transparent===!0?r.push(y):t.push(y)}function l(f,h,p,m,v,A){const y=o(f,h,p,m,v,A);p.transmission>0?i.unshift(y):p.transparent===!0?r.unshift(y):t.unshift(y)}function c(f,h){t.length>1&&t.sort(f||Sne),i.length>1&&i.sort(h||b8),r.length>1&&r.sort(h||b8)}function u(){for(let f=e,h=n.length;f<h;f++){const p=n[f];if(p.id===null)break;p.id=null,p.object=null,p.geometry=null,p.material=null,p.group=null}}return{opaque:t,transmissive:i,transparent:r,init:s,push:a,unshift:l,finish:u,sort:c}}function Ene(){let n=new WeakMap;function e(i,r){const s=n.get(i);let o;return s===void 0?(o=new x8,n.set(i,[o])):r>=s.length?(o=new x8,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function Tne(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new K,color:new ke};break;case"SpotLight":t={position:new K,direction:new K,color:new ke,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new K,color:new ke,distance:0,decay:0};break;case"HemisphereLight":t={direction:new K,skyColor:new ke,groundColor:new ke};break;case"RectAreaLight":t={color:new ke,position:new K,halfWidth:new K,halfHeight:new K};break}return n[e.id]=t,t}}}function Mne(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Re};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Re};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Re,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let Ine=0;function Pne(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function Rne(n){const e=new Tne,t=Mne(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)i.probe.push(new K);const r=new K,s=new Ct,o=new Ct;function a(c){let u=0,f=0,h=0;for(let w=0;w<9;w++)i.probe[w].set(0,0,0);let p=0,m=0,v=0,A=0,y=0,x=0,b=0,_=0,T=0,M=0,I=0;c.sort(Pne);for(let w=0,E=c.length;w<E;w++){const F=c[w],L=F.color,z=F.intensity,V=F.distance,j=F.shadow&&F.shadow.map?F.shadow.map.texture:null;if(F.isAmbientLight)u+=L.r*z,f+=L.g*z,h+=L.b*z;else if(F.isLightProbe){for(let N=0;N<9;N++)i.probe[N].addScaledVector(F.sh.coefficients[N],z);I++}else if(F.isDirectionalLight){const N=e.get(F);if(N.color.copy(F.color).multiplyScalar(F.intensity),F.castShadow){const Q=F.shadow,W=t.get(F);W.shadowIntensity=Q.intensity,W.shadowBias=Q.bias,W.shadowNormalBias=Q.normalBias,W.shadowRadius=Q.radius,W.shadowMapSize=Q.mapSize,i.directionalShadow[p]=W,i.directionalShadowMap[p]=j,i.directionalShadowMatrix[p]=F.shadow.matrix,x++}i.directional[p]=N,p++}else if(F.isSpotLight){const N=e.get(F);N.position.setFromMatrixPosition(F.matrixWorld),N.color.copy(L).multiplyScalar(z),N.distance=V,N.coneCos=Math.cos(F.angle),N.penumbraCos=Math.cos(F.angle*(1-F.penumbra)),N.decay=F.decay,i.spot[v]=N;const Q=F.shadow;if(F.map&&(i.spotLightMap[T]=F.map,T++,Q.updateMatrices(F),F.castShadow&&M++),i.spotLightMatrix[v]=Q.matrix,F.castShadow){const W=t.get(F);W.shadowIntensity=Q.intensity,W.shadowBias=Q.bias,W.shadowNormalBias=Q.normalBias,W.shadowRadius=Q.radius,W.shadowMapSize=Q.mapSize,i.spotShadow[v]=W,i.spotShadowMap[v]=j,_++}v++}else if(F.isRectAreaLight){const N=e.get(F);N.color.copy(L).multiplyScalar(z),N.halfWidth.set(F.width*.5,0,0),N.halfHeight.set(0,F.height*.5,0),i.rectArea[A]=N,A++}else if(F.isPointLight){const N=e.get(F);if(N.color.copy(F.color).multiplyScalar(F.intensity),N.distance=F.distance,N.decay=F.decay,F.castShadow){const Q=F.shadow,W=t.get(F);W.shadowIntensity=Q.intensity,W.shadowBias=Q.bias,W.shadowNormalBias=Q.normalBias,W.shadowRadius=Q.radius,W.shadowMapSize=Q.mapSize,W.shadowCameraNear=Q.camera.near,W.shadowCameraFar=Q.camera.far,i.pointShadow[m]=W,i.pointShadowMap[m]=j,i.pointShadowMatrix[m]=F.shadow.matrix,b++}i.point[m]=N,m++}else if(F.isHemisphereLight){const N=e.get(F);N.skyColor.copy(F.color).multiplyScalar(z),N.groundColor.copy(F.groundColor).multiplyScalar(z),i.hemi[y]=N,y++}}A>0&&(n.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=Ke.LTC_FLOAT_1,i.rectAreaLTC2=Ke.LTC_FLOAT_2):(i.rectAreaLTC1=Ke.LTC_HALF_1,i.rectAreaLTC2=Ke.LTC_HALF_2)),i.ambient[0]=u,i.ambient[1]=f,i.ambient[2]=h;const R=i.hash;(R.directionalLength!==p||R.pointLength!==m||R.spotLength!==v||R.rectAreaLength!==A||R.hemiLength!==y||R.numDirectionalShadows!==x||R.numPointShadows!==b||R.numSpotShadows!==_||R.numSpotMaps!==T||R.numLightProbes!==I)&&(i.directional.length=p,i.spot.length=v,i.rectArea.length=A,i.point.length=m,i.hemi.length=y,i.directionalShadow.length=x,i.directionalShadowMap.length=x,i.pointShadow.length=b,i.pointShadowMap.length=b,i.spotShadow.length=_,i.spotShadowMap.length=_,i.directionalShadowMatrix.length=x,i.pointShadowMatrix.length=b,i.spotLightMatrix.length=_+T-M,i.spotLightMap.length=T,i.numSpotLightShadowsWithMaps=M,i.numLightProbes=I,R.directionalLength=p,R.pointLength=m,R.spotLength=v,R.rectAreaLength=A,R.hemiLength=y,R.numDirectionalShadows=x,R.numPointShadows=b,R.numSpotShadows=_,R.numSpotMaps=T,R.numLightProbes=I,i.version=Ine++)}function l(c,u){let f=0,h=0,p=0,m=0,v=0;const A=u.matrixWorldInverse;for(let y=0,x=c.length;y<x;y++){const b=c[y];if(b.isDirectionalLight){const _=i.directional[f];_.direction.setFromMatrixPosition(b.matrixWorld),r.setFromMatrixPosition(b.target.matrixWorld),_.direction.sub(r),_.direction.transformDirection(A),f++}else if(b.isSpotLight){const _=i.spot[p];_.position.setFromMatrixPosition(b.matrixWorld),_.position.applyMatrix4(A),_.direction.setFromMatrixPosition(b.matrixWorld),r.setFromMatrixPosition(b.target.matrixWorld),_.direction.sub(r),_.direction.transformDirection(A),p++}else if(b.isRectAreaLight){const _=i.rectArea[m];_.position.setFromMatrixPosition(b.matrixWorld),_.position.applyMatrix4(A),o.identity(),s.copy(b.matrixWorld),s.premultiply(A),o.extractRotation(s),_.halfWidth.set(b.width*.5,0,0),_.halfHeight.set(0,b.height*.5,0),_.halfWidth.applyMatrix4(o),_.halfHeight.applyMatrix4(o),m++}else if(b.isPointLight){const _=i.point[h];_.position.setFromMatrixPosition(b.matrixWorld),_.position.applyMatrix4(A),h++}else if(b.isHemisphereLight){const _=i.hemi[v];_.direction.setFromMatrixPosition(b.matrixWorld),_.direction.transformDirection(A),v++}}}return{setup:a,setupView:l,state:i}}function C8(n){const e=new Rne(n),t=[],i=[];function r(u){c.camera=u,t.length=0,i.length=0}function s(u){t.push(u)}function o(u){i.push(u)}function a(){e.setup(t)}function l(u){e.setupView(t,u)}const c={lightsArray:t,shadowsArray:i,camera:null,lights:e,transmissionRenderTarget:{}};return{init:r,state:c,setupLights:a,setupLightsView:l,pushLight:s,pushShadow:o}}function Bne(n){let e=new WeakMap;function t(r,s=0){const o=e.get(r);let a;return o===void 0?(a=new C8(n),e.set(r,[a])):s>=o.length?(a=new C8(n),o.push(a)):a=o[s],a}function i(){e=new WeakMap}return{get:t,dispose:i}}const Dne=`void main() { 3850 gl_Position = vec4( position, 1.0 ); 3851}`,Lne=`uniform sampler2D shadow_pass; 3852uniform vec2 resolution; 3853uniform float radius; 3854#include <packing> 3855void main() { 3856 const float samples = float( VSM_SAMPLES ); 3857 float mean = 0.0; 3858 float squared_mean = 0.0; 3859 float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); 3860 float uvStart = samples <= 1.0 ? 0.0 : - 1.0; 3861 for ( float i = 0.0; i < samples; i ++ ) { 3862 float uvOffset = uvStart + i * uvStride; 3863 #ifdef HORIZONTAL_PASS 3864 vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); 3865 mean += distribution.x; 3866 squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; 3867 #else 3868 float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); 3869 mean += depth; 3870 squared_mean += depth * depth; 3871 #endif 3872 } 3873 mean = mean / samples; 3874 squared_mean = squared_mean / samples; 3875 float std_dev = sqrt( squared_mean - mean * mean ); 3876 gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); 3877}`;function One(n,e,t){let i=new r4;const r=new Re,s=new Re,o=new Vt,a=new PK({depthPacking:Jx}),l=new RK,c={},u=t.maxTextureSize,f={[Io]:Rr,[Rr]:Io,[Zs]:Zs},h=new Cn({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Re},radius:{value:4}},vertexShader:Dne,fragmentShader:Lne}),p=h.clone();p.defines.HORIZONTAL_PASS=1;const m=new Hn;m.setAttribute("position",new Gi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new Qe(m,h),A=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=EI;let y=this.type;this.render=function(M,I,R){if(A.enabled===!1||A.autoUpdate===!1&&A.needsUpdate===!1||M.length===0)return;const w=n.getRenderTarget(),E=n.getActiveCubeFace(),F=n.getActiveMipmapLevel(),L=n.state;L.setBlending(wo),L.buffers.color.setClear(1,1,1,1),L.buffers.depth.setTest(!0),L.setScissorTest(!1);const z=y!==zo&&this.type===zo,V=y===zo&&this.type!==zo;for(let j=0,N=M.length;j<N;j++){const Q=M[j],W=Q.shadow;if(W===void 0){console.warn("THREE.WebGLShadowMap:",Q,"has no shadow.");continue}if(W.autoUpdate===!1&&W.needsUpdate===!1)continue;r.copy(W.mapSize);const ee=W.getFrameExtents();if(r.multiply(ee),s.copy(W.mapSize),(r.x>u||r.y>u)&&(r.x>u&&(s.x=Math.floor(u/ee.x),r.x=s.x*ee.x,W.mapSize.x=s.x),r.y>u&&(s.y=Math.floor(u/ee.y),r.y=s.y*ee.y,W.mapSize.y=s.y)),W.map===null||z===!0||V===!0){const ye=this.type!==zo?{minFilter:Br,magFilter:Br}:{};W.map!==null&&W.map.dispose(),W.map=new li(r.x,r.y,ye),W.map.texture.name=Q.name+".shadowMap",W.camera.updateProjectionMatrix()}n.setRenderTarget(W.map),n.clear();const H=W.getViewportCount();for(let ye=0;ye<H;ye++){const Ie=W.getViewport(ye);o.set(s.x*Ie.x,s.y*Ie.y,s.x*Ie.z,s.y*Ie.w),L.viewport(o),W.updateMatrices(Q,ye),i=W.getFrustum(),_(I,R,W.camera,Q,this.type)}W.isPointLightShadow!==!0&&this.type===zo&&x(W,R),W.needsUpdate=!1}y=this.type,A.needsUpdate=!1,n.setRenderTarget(w,E,F)};function x(M,I){const R=e.update(v);h.defines.VSM_SAMPLES!==M.blurSamples&&(h.defines.VSM_SAMPLES=M.blurSamples,p.defines.VSM_SAMPLES=M.blurSamples,h.needsUpdate=!0,p.needsUpdate=!0),M.mapPass===null&&(M.mapPass=new li(r.x,r.y)),h.uniforms.shadow_pass.value=M.map.texture,h.uniforms.resolution.value=M.mapSize,h.uniforms.radius.value=M.radius,n.setRenderTarget(M.mapPass),n.clear(),n.renderBufferDirect(I,null,R,h,v,null),p.uniforms.shadow_pass.value=M.mapPass.texture,p.uniforms.resolution.value=M.mapSize,p.uniforms.radius.value=M.radius,n.setRenderTarget(M.map),n.clear(),n.renderBufferDirect(I,null,R,p,v,null)}function b(M,I,R,w){let E=null;const F=R.isPointLight===!0?M.customDistanceMaterial:M.customDepthMaterial;if(F!==void 0)E=F;else if(E=R.isPointLight===!0?l:a,n.localClippingEnabled&&I.clipShadows===!0&&Array.isArray(I.clippingPlanes)&&I.clippingPlanes.length!==0||I.displacementMap&&I.displacementScale!==0||I.alphaMap&&I.alphaTest>0||I.map&&I.alphaTest>0){const L=E.uuid,z=I.uuid;let V=c[L];V===void 0&&(V={},c[L]=V);let j=V[z];j===void 0&&(j=E.clone(),V[z]=j,I.addEventListener("dispose",T)),E=j}if(E.visible=I.visible,E.wireframe=I.wireframe,w===zo?E.side=I.shadowSide!==null?I.shadowSide:I.side:E.side=I.shadowSide!==null?I.shadowSide:f[I.side],E.alphaMap=I.alphaMap,E.alphaTest=I.alphaTest,E.map=I.map,E.clipShadows=I.clipShadows,E.clippingPlanes=I.clippingPlanes,E.clipIntersection=I.clipIntersection,E.displacementMap=I.displacementMap,E.displacementScale=I.displacementScale,E.displacementBias=I.displacementBias,E.wireframeLinewidth=I.wireframeLinewidth,E.linewidth=I.linewidth,R.isPointLight===!0&&E.isMeshDistanceMaterial===!0){const L=n.properties.get(E);L.light=R}return E}function _(M,I,R,w,E){if(M.visible===!1)return;if(M.layers.test(I.layers)&&(M.isMesh||M.isLine||M.isPoints)&&(M.castShadow||M.receiveShadow&&E===zo)&&(!M.frustumCulled||i.intersectsObject(M))){M.modelViewMatrix.multiplyMatrices(R.matrixWorldInverse,M.matrixWorld);const z=e.update(M),V=M.material;if(Array.isArray(V)){const j=z.groups;for(let N=0,Q=j.length;N<Q;N++){const W=j[N],ee=V[W.materialIndex];if(ee&&ee.visible){const H=b(M,ee,w,E);M.onBeforeShadow(n,M,I,R,z,H,W),n.renderBufferDirect(R,null,z,H,M,W),M.onAfterShadow(n,M,I,R,z,H,W)}}}else if(V.visible){const j=b(M,V,w,E);M.onBeforeShadow(n,M,I,R,z,j,null),n.renderBufferDirect(R,null,z,j,M,null),M.onAfterShadow(n,M,I,R,z,j,null)}}const L=M.children;for(let z=0,V=L.length;z<V;z++)_(L[z],I,R,w,E)}function T(M){M.target.removeEventListener("dispose",T);for(const R in c){const w=c[R],E=M.target.uuid;E in w&&(w[E].dispose(),delete w[E])}}}const Fne={[eb]:tb,[nb]:sb,[ib]:ob,[Cd]:rb,[tb]:eb,[sb]:nb,[ob]:ib,[rb]:Cd};function Une(n,e){function t(){let te=!1;const We=new Vt;let Ce=null;const Me=new Vt(0,0,0,0);return{setMask:function(je){Ce!==je&&!te&&(n.colorMask(je,je,je,je),Ce=je)},setLocked:function(je){te=je},setClear:function(je,Ye,_t,jt,Bn){Bn===!0&&(je*=jt,Ye*=jt,_t*=jt),We.set(je,Ye,_t,jt),Me.equals(We)===!1&&(n.clearColor(je,Ye,_t,jt),Me.copy(We))},reset:function(){te=!1,Ce=null,Me.set(-1,0,0,0)}}}function i(){let te=!1,We=!1,Ce=null,Me=null,je=null;return{setReversed:function(Ye){if(We!==Ye){const _t=e.get("EXT_clip_control");We?_t.clipControlEXT(_t.LOWER_LEFT_EXT,_t.ZERO_TO_ONE_EXT):_t.clipControlEXT(_t.LOWER_LEFT_EXT,_t.NEGATIVE_ONE_TO_ONE_EXT);const jt=je;je=null,this.setClear(jt)}We=Ye},getReversed:function(){return We},setTest:function(Ye){Ye?Z(n.DEPTH_TEST):Ae(n.DEPTH_TEST)},setMask:function(Ye){Ce!==Ye&&!te&&(n.depthMask(Ye),Ce=Ye)},setFunc:function(Ye){if(We&&(Ye=Fne[Ye]),Me!==Ye){switch(Ye){case eb:n.depthFunc(n.NEVER);break;case tb:n.depthFunc(n.ALWAYS);break;case nb:n.depthFunc(n.LESS);break;case Cd:n.depthFunc(n.LEQUAL);break;case ib:n.depthFunc(n.EQUAL);break;case rb:n.depthFunc(n.GEQUAL);break;case sb:n.depthFunc(n.GREATER);break;case ob:n.depthFunc(n.NOTEQUAL);break;default:n.depthFunc(n.LEQUAL)}Me=Ye}},setLocked:function(Ye){te=Ye},setClear:function(Ye){je!==Ye&&(We&&(Ye=1-Ye),n.clearDepth(Ye),je=Ye)},reset:function(){te=!1,Ce=null,Me=null,je=null,We=!1}}}function r(){let te=!1,We=null,Ce=null,Me=null,je=null,Ye=null,_t=null,jt=null,Bn=null;return{setTest:function($e){te||($e?Z(n.STENCIL_TEST):Ae(n.STENCIL_TEST))},setMask:function($e){We!==$e&&!te&&(n.stencilMask($e),We=$e)},setFunc:function($e,ot,Mt){(Ce!==$e||Me!==ot||je!==Mt)&&(n.stencilFunc($e,ot,Mt),Ce=$e,Me=ot,je=Mt)},setOp:function($e,ot,Mt){(Ye!==$e||_t!==ot||jt!==Mt)&&(n.stencilOp($e,ot,Mt),Ye=$e,_t=ot,jt=Mt)},setLocked:function($e){te=$e},setClear:function($e){Bn!==$e&&(n.clearStencil($e),Bn=$e)},reset:function(){te=!1,We=null,Ce=null,Me=null,je=null,Ye=null,_t=null,jt=null,Bn=null}}}const s=new t,o=new i,a=new r,l=new WeakMap,c=new WeakMap;let u={},f={},h=new WeakMap,p=[],m=null,v=!1,A=null,y=null,x=null,b=null,_=null,T=null,M=null,I=new ke(0,0,0),R=0,w=!1,E=null,F=null,
vendor: 6,750 bytes, line 3877
3877L=null,z=null,V=null;const j=n.getParameter(n.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let N=!1,Q=0;const W=n.getParameter(n.VERSION);W.indexOf("WebGL")!==-1?(Q=parseFloat(/^WebGL (\d)/.exec(W)[1]),N=Q>=1):W.indexOf("OpenGL ES")!==-1&&(Q=parseFloat(/^OpenGL ES (\d)/.exec(W)[1]),N=Q>=2);let ee=null,H={};const ye=n.getParameter(n.SCISSOR_BOX),Ie=n.getParameter(n.VIEWPORT),ze=new Vt().fromArray(ye),oe=new Vt().fromArray(Ie);function _e(te,We,Ce,Me){const je=new Uint8Array(4),Ye=n.createTexture();n.bindTexture(te,Ye),n.texParameteri(te,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(te,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let _t=0;_t<Ce;_t++)te===n.TEXTURE_3D||te===n.TEXTURE_2D_ARRAY?n.texImage3D(We,0,n.RGBA,1,1,Me,0,n.RGBA,n.UNSIGNED_BYTE,je):n.texImage2D(We+_t,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,je);return Ye}const Fe={};Fe[n.TEXTURE_2D]=_e(n.TEXTURE_2D,n.TEXTURE_2D,1),Fe[n.TEXTURE_CUBE_MAP]=_e(n.TEXTURE_CUBE_MAP,n.TEXTURE_CUBE_MAP_POSITIVE_X,6),Fe[n.TEXTURE_2D_ARRAY]=_e(n.TEXTURE_2D_ARRAY,n.TEXTURE_2D_ARRAY,1,1),Fe[n.TEXTURE_3D]=_e(n.TEXTURE_3D,n.TEXTURE_3D,1,1),s.setClear(0,0,0,1),o.setClear(1),a.setClear(0),Z(n.DEPTH_TEST),o.setFunc(Cd),ve(!1),$(eS),Z(n.CULL_FACE),B(wo);function Z(te){u[te]!==!0&&(n.enable(te),u[te]=!0)}function Ae(te){u[te]!==!1&&(n.disable(te),u[te]=!1)}function we(te,We){return f[te]!==We?(n.bindFramebuffer(te,We),f[te]=We,te===n.DRAW_FRAMEBUFFER&&(f[n.FRAMEBUFFER]=We),te===n.FRAMEBUFFER&&(f[n.DRAW_FRAMEBUFFER]=We),!0):!1}function be(te,We){let Ce=p,Me=!1;if(te){Ce=h.get(We),Ce===void 0&&(Ce=[],h.set(We,Ce));const je=te.textures;if(Ce.length!==je.length||Ce[0]!==n.COLOR_ATTACHMENT0){for(let Ye=0,_t=je.length;Ye<_t;Ye++)Ce[Ye]=n.COLOR_ATTACHMENT0+Ye;Ce.length=je.length,Me=!0}}else Ce[0]!==n.BACK&&(Ce[0]=n.BACK,Me=!0);Me&&n.drawBuffers(Ce)}function qe(te){return m!==te?(n.useProgram(te),m=te,!0):!1}const rt={[eu]:n.FUNC_ADD,[KY]:n.FUNC_SUBTRACT,[ZY]:n.FUNC_REVERSE_SUBTRACT};rt[JY]=n.MIN,rt[e$]=n.MAX;const q={[t$]:n.ZERO,[n$]:n.ONE,[i$]:n.SRC_COLOR,[Z_]:n.SRC_ALPHA,[c$]:n.SRC_ALPHA_SATURATE,[a$]:n.DST_COLOR,[s$]:n.DST_ALPHA,[r$]:n.ONE_MINUS_SRC_COLOR,[J_]:n.ONE_MINUS_SRC_ALPHA,[l$]:n.ONE_MINUS_DST_COLOR,[o$]:n.ONE_MINUS_DST_ALPHA,[u$]:n.CONSTANT_COLOR,[f$]:n.ONE_MINUS_CONSTANT_COLOR,[d$]:n.CONSTANT_ALPHA,[h$]:n.ONE_MINUS_CONSTANT_ALPHA};function B(te,We,Ce,Me,je,Ye,_t,jt,Bn,$e){if(te===wo){v===!0&&(Ae(n.BLEND),v=!1);return}if(v===!1&&(Z(n.BLEND),v=!0),te!==TI){if(te!==A||$e!==w){if((y!==eu||_!==eu)&&(n.blendEquation(n.FUNC_ADD),y=eu,_=eu),$e)switch(te){case bu:n.blendFuncSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Y0:n.blendFunc(n.ONE,n.ONE);break;case $_:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case K_:n.blendFuncSeparate(n.ZERO,n.SRC_COLOR,n.ZERO,n.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",te);break}else switch(te){case bu:n.blendFuncSeparate(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Y0:n.blendFunc(n.SRC_ALPHA,n.ONE);break;case $_:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case K_:n.blendFunc(n.ZERO,n.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",te);break}x=null,b=null,T=null,M=null,I.set(0,0,0),R=0,A=te,w=$e}return}je=je||We,Ye=Ye||Ce,_t=_t||Me,(We!==y||je!==_)&&(n.blendEquationSeparate(rt[We],rt[je]),y=We,_=je),(Ce!==x||Me!==b||Ye!==T||_t!==M)&&(n.blendFuncSeparate(q[Ce],q[Me],q[Ye],q[_t]),x=Ce,b=Me,T=Ye,M=_t),(jt.equals(I)===!1||Bn!==R)&&(n.blendColor(jt.r,jt.g,jt.b,Bn),I.copy(jt),R=Bn),A=te,w=!1}function le(te,We){te.side===Zs?Ae(n.CULL_FACE):Z(n.CULL_FACE);let Ce=te.side===Rr;We&&(Ce=!Ce),ve(Ce),te.blending===bu&&te.transparent===!1?B(wo):B(te.blending,te.blendEquation,te.blendSrc,te.blendDst,te.blendEquationAlpha,te.blendSrcAlpha,te.blendDstAlpha,te.blendColor,te.blendAlpha,te.premultipliedAlpha),o.setFunc(te.depthFunc),o.setTest(te.depthTest),o.setMask(te.depthWrite),s.setMask(te.colorWrite);const Me=te.stencilWrite;a.setTest(Me),Me&&(a.setMask(te.stencilWriteMask),a.setFunc(te.stencilFunc,te.stencilRef,te.stencilFuncMask),a.setOp(te.stencilFail,te.stencilZFail,te.stencilZPass)),De(te.polygonOffset,te.polygonOffsetFactor,te.polygonOffsetUnits),te.alphaToCoverage===!0?Z(n.SAMPLE_ALPHA_TO_COVERAGE):Ae(n.SAMPLE_ALPHA_TO_COVERAGE)}function ve(te){E!==te&&(te?n.frontFace(n.CW):n.frontFace(n.CCW),E=te)}function $(te){te!==XY?(Z(n.CULL_FACE),te!==F&&(te===eS?n.cullFace(n.BACK):te===YY?n.cullFace(n.FRONT):n.cullFace(n.FRONT_AND_BACK))):Ae(n.CULL_FACE),F=te}function de(te){te!==L&&(N&&n.lineWidth(te),L=te)}function De(te,We,Ce){te?(Z(n.POLYGON_OFFSET_FILL),(z!==We||V!==Ce)&&(n.polygonOffset(We,Ce),z=We,V=Ce)):Ae(n.POLYGON_OFFSET_FILL)}function xe(te){te?Z(n.SCISSOR_TEST):Ae(n.SCISSOR_TEST)}function k(te){te===void 0&&(te=n.TEXTURE0+j-1),ee!==te&&(n.activeTexture(te),ee=te)}function D(te,We,Ce){Ce===void 0&&(ee===null?Ce=n.TEXTURE0+j-1:Ce=ee);let Me=H[Ce];Me===void 0&&(Me={type:void 0,texture:void 0},H[Ce]=Me),(Me.type!==te||Me.texture!==We)&&(ee!==Ce&&(n.activeTexture(Ce),ee=Ce),n.bindTexture(te,We||Fe[te]),Me.type=te,Me.texture=We)}function ne(){const te=H[ee];te!==void 0&&te.type!==void 0&&(n.bindTexture(te.type,null),te.type=void 0,te.texture=void 0)}function re(){try{n.compressedTexImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function ce(){try{n.compressedTexImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function fe(){try{n.texSubImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Pe(){try{n.texSubImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Le(){try{n.compressedTexSubImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Oe(){try{n.compressedTexSubImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function dt(){try{n.texStorage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Be(){try{n.texStorage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function He(){try{n.texImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Xe(){try{n.texImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function st(te){ze.equals(te)===!1&&(n.scissor(te.x,te.y,te.z,te.w),ze.copy(te))}function et(te){oe.equals(te)===!1&&(n.viewport(te.x,te.y,te.z,te.w),oe.copy(te))}function mt(te,We){let Ce=c.get(We);Ce===void 0&&(Ce=new WeakMap,c.set(We,Ce));let Me=Ce.get(te);Me===void 0&&(Me=n.getUniformBlockIndex(We,te.name),Ce.set(te,Me))}function lt(te,We){const Me=c.get(We).get(te);l.get(We)!==Me&&(n.uniformBlockBinding(We,Me,te.__bindingPointIndex),l.set(We,Me))}
vendor: 7,725 bytes, line 3877
3877function Rt(){n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.DEPTH_TEST),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SCISSOR_TEST),n.disable(n.STENCIL_TEST),n.disable(n.SAMPLE_ALPHA_TO_COVERAGE),n.blendEquation(n.FUNC_ADD),n.blendFunc(n.ONE,n.ZERO),n.blendFuncSeparate(n.ONE,n.ZERO,n.ONE,n.ZERO),n.blendColor(0,0,0,0),n.colorMask(!0,!0,!0,!0),n.clearColor(0,0,0,0),n.depthMask(!0),n.depthFunc(n.LESS),o.setReversed(!1),n.clearDepth(1),n.stencilMask(4294967295),n.stencilFunc(n.ALWAYS,0,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.KEEP),n.clearStencil(0),n.cullFace(n.BACK),n.frontFace(n.CCW),n.polygonOffset(0,0),n.activeTexture(n.TEXTURE0),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.useProgram(null),n.lineWidth(1),n.scissor(0,0,n.canvas.width,n.canvas.height),n.viewport(0,0,n.canvas.width,n.canvas.height),u={},ee=null,H={},f={},h=new WeakMap,p=[],m=null,v=!1,A=null,y=null,x=null,b=null,_=null,T=null,M=null,I=new ke(0,0,0),R=0,w=!1,E=null,F=null,L=null,z=null,V=null,ze.set(0,0,n.canvas.width,n.canvas.height),oe.set(0,0,n.canvas.width,n.canvas.height),s.reset(),o.reset(),a.reset()}return{buffers:{color:s,depth:o,stencil:a},enable:Z,disable:Ae,bindFramebuffer:we,drawBuffers:be,useProgram:qe,setBlending:B,setMaterial:le,setFlipSided:ve,setCullFace:$,setLineWidth:de,setPolygonOffset:De,setScissorTest:xe,activeTexture:k,bindTexture:D,unbindTexture:ne,compressedTexImage2D:re,compressedTexImage3D:ce,texImage2D:He,texImage3D:Xe,updateUBOMapping:mt,uniformBlockBinding:lt,texStorage2D:dt,texStorage3D:Be,texSubImage2D:fe,texSubImage3D:Pe,compressedTexSubImage2D:Le,compressedTexSubImage3D:Oe,scissor:st,viewport:et,reset:Rt}}function Nne(n,e,t,i,r,s,o){const a=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,l=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new Re,u=new WeakMap;let f;const h=new WeakMap;let p=!1;try{p=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function m(k,D){return p?new OffscreenCanvas(k,D):tp("canvas")}function v(k,D,ne){let re=1;const ce=xe(k);if((ce.width>ne||ce.height>ne)&&(re=ne/Math.max(ce.width,ce.height)),re<1)if(typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&k instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&k instanceof ImageBitmap||typeof VideoFrame<"u"&&k instanceof VideoFrame){const fe=Math.floor(re*ce.width),Pe=Math.floor(re*ce.height);f===void 0&&(f=m(fe,Pe));const Le=D?m(fe,Pe):f;return Le.width=fe,Le.height=Pe,Le.getContext("2d").drawImage(k,0,0,fe,Pe),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+ce.width+"x"+ce.height+") to ("+fe+"x"+Pe+")."),Le}else return"data"in k&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+ce.width+"x"+ce.height+")."),k;return k}function A(k){return k.generateMipmaps}function y(k){n.generateMipmap(k)}function x(k){return k.isWebGLCubeRenderTarget?n.TEXTURE_CUBE_MAP:k.isWebGL3DRenderTarget?n.TEXTURE_3D:k.isWebGLArrayRenderTarget||k.isCompressedArrayTexture?n.TEXTURE_2D_ARRAY:n.TEXTURE_2D}function b(k,D,ne,re,ce=!1){if(k!==null){if(n[k]!==void 0)return n[k];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+k+"'")}let fe=D;if(D===n.RED&&(ne===n.FLOAT&&(fe=n.R32F),ne===n.HALF_FLOAT&&(fe=n.R16F),ne===n.UNSIGNED_BYTE&&(fe=n.R8)),D===n.RED_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.R8UI),ne===n.UNSIGNED_SHORT&&(fe=n.R16UI),ne===n.UNSIGNED_INT&&(fe=n.R32UI),ne===n.BYTE&&(fe=n.R8I),ne===n.SHORT&&(fe=n.R16I),ne===n.INT&&(fe=n.R32I)),D===n.RG&&(ne===n.FLOAT&&(fe=n.RG32F),ne===n.HALF_FLOAT&&(fe=n.RG16F),ne===n.UNSIGNED_BYTE&&(fe=n.RG8)),D===n.RG_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.RG8UI),ne===n.UNSIGNED_SHORT&&(fe=n.RG16UI),ne===n.UNSIGNED_INT&&(fe=n.RG32UI),ne===n.BYTE&&(fe=n.RG8I),ne===n.SHORT&&(fe=n.RG16I),ne===n.INT&&(fe=n.RG32I)),D===n.RGB_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.RGB8UI),ne===n.UNSIGNED_SHORT&&(fe=n.RGB16UI),ne===n.UNSIGNED_INT&&(fe=n.RGB32UI),ne===n.BYTE&&(fe=n.RGB8I),ne===n.SHORT&&(fe=n.RGB16I),ne===n.INT&&(fe=n.RGB32I)),D===n.RGBA_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.RGBA8UI),ne===n.UNSIGNED_SHORT&&(fe=n.RGBA16UI),ne===n.UNSIGNED_INT&&(fe=n.RGBA32UI),ne===n.BYTE&&(fe=n.RGBA8I),ne===n.SHORT&&(fe=n.RGBA16I),ne===n.INT&&(fe=n.RGBA32I)),D===n.RGB&&ne===n.UNSIGNED_INT_5_9_9_9_REV&&(fe=n.RGB9_E5),D===n.RGBA){const Pe=ce?Hg:Xt.getTransfer(re);ne===n.FLOAT&&(fe=n.RGBA32F),ne===n.HALF_FLOAT&&(fe=n.RGBA16F),ne===n.UNSIGNED_BYTE&&(fe=Pe===yn?n.SRGB8_ALPHA8:n.RGBA8),ne===n.UNSIGNED_SHORT_4_4_4_4&&(fe=n.RGBA4),ne===n.UNSIGNED_SHORT_5_5_5_1&&(fe=n.RGB5_A1)}return(fe===n.R16F||fe===n.R32F||fe===n.RG16F||fe===n.RG32F||fe===n.RGBA16F||fe===n.RGBA32F)&&e.get("EXT_color_buffer_float"),fe}function _(k,D){let ne;return k?D===null||D===Pu||D===Ed?ne=n.DEPTH24_STENCIL8:D===Zt?ne=n.DEPTH32F_STENCIL8:D===$0&&(ne=n.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):D===null||D===Pu||D===Ed?ne=n.DEPTH_COMPONENT24:D===Zt?ne=n.DEPTH_COMPONENT32F:D===$0&&(ne=n.DEPTH_COMPONENT16),ne}function T(k,D){return A(k)===!0||k.isFramebufferTexture&&k.minFilter!==Br&&k.minFilter!==Yt?Math.log2(Math.max(D.width,D.height))+1:k.mipmaps!==void 0&&k.mipmaps.length>0?k.mipmaps.length:k.isCompressedTexture&&Array.isArray(k.image)?D.mipmaps.length:1}function M(k){const D=k.target;D.removeEventListener("dispose",M),R(D),D.isVideoTexture&&u.delete(D)}function I(k){const D=k.target;D.removeEventListener("dispose",I),E(D)}function R(k){const D=i.get(k);if(D.__webglInit===void 0)return;const ne=k.source,re=h.get(ne);if(re){const ce=re[D.__cacheKey];ce.usedTimes--,ce.usedTimes===0&&w(k),Object.keys(re).length===0&&h.delete(ne)}i.remove(k)}function w(k){const D=i.get(k);n.deleteTexture(D.__webglTexture);const ne=k.source,re=h.get(ne);delete re[D.__cacheKey],o.memory.textures--}function E(k){const D=i.get(k);if(k.depthTexture&&(k.depthTexture.dispose(),i.remove(k.depthTexture)),k.isWebGLCubeRenderTarget)for(let re=0;re<6;re++){if(Array.isArray(D.__webglFramebuffer[re]))for(let ce=0;ce<D.__webglFramebuffer[re].length;ce++)n.deleteFramebuffer(D.__webglFramebuffer[re][ce]);else n.deleteFramebuffer(D.__webglFramebuffer[re]);D.__webglDepthbuffer&&n.deleteRenderbuffer(D.__webglDepthbuffer[re])}else{if(Array.isArray(D.__webglFramebuffer))for(let re=0;re<D.__webglFramebuffer.length;re++)n.deleteFramebuffer(D.__webglFramebuffer[re]);else n.deleteFramebuffer(D.__webglFramebuffer);if(D.__webglDepthbuffer&&n.deleteRenderbuffer(D.__webglDepthbuffer),D.__webglMultisampledFramebuffer&&n.deleteFramebuffer(D.__webglMultisampledFramebuffer),D.__webglColorRenderbuffer)for(let re=0;re<D.__webglColorRenderbuffer.length;re++)D.__webglColorRenderbuffer[re]&&n.deleteRenderbuffer(D.__webglColorRenderbuffer[re]);D.__webglDepthRenderbuffer&&n.deleteRenderbuffer(D.__webglDepthRenderbuffer)}const ne=k.textures;for(let re=0,ce=ne.length;re<ce;re++){const fe=i.get(ne[re]);fe.__webglTexture&&(n.deleteTexture(fe.__webglTexture),o.memory.textures--),i.remove(ne[re])}i.remove(k)}let F=0;function L(){F=0}function z(){const k=F;return k>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+k+" texture units while this GPU supports only "+r.maxTextures),F+=1,k}function V(k){const D=[];return D.push(k.wrapS),D.push(k.wrapT),D.push(k.wrapR||0),D.push(k.magFilter),D.push(k.minFilter),D.push(k.anisotropy),D.push(k.internalFormat),D.push(k.format),D.push(k.type),D.push(k.generateMipmaps),D.push(k.premultiplyAlpha),D.push(k.flipY),D.push(k.unpackAlignment),D.push(k.colorSpace),D.join()}function j(k,D){const ne=i.get(k);
vendor: 3,222 bytes, line 3877
3877if(k.isVideoTexture&&de(k),k.isRenderTargetTexture===!1&&k.version>0&&ne.__version!==k.version){const re=k.image;if(re===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(re.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{oe(ne,k,D);return}}t.bindTexture(n.TEXTURE_2D,ne.__webglTexture,n.TEXTURE0+D)}function N(k,D){const ne=i.get(k);if(k.version>0&&ne.__version!==k.version){oe(ne,k,D);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ne.__webglTexture,n.TEXTURE0+D)}function Q(k,D){const ne=i.get(k);if(k.version>0&&ne.__version!==k.version){oe(ne,k,D);return}t.bindTexture(n.TEXTURE_3D,ne.__webglTexture,n.TEXTURE0+D)}function W(k,D){const ne=i.get(k);if(k.version>0&&ne.__version!==k.version){_e(ne,k,D);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ne.__webglTexture,n.TEXTURE0+D)}const ee={[ts]:n.REPEAT,[ti]:n.CLAMP_TO_EDGE,[Sd]:n.MIRRORED_REPEAT},H={[Br]:n.NEAREST,[FI]:n.NEAREST_MIPMAP_NEAREST,[qh]:n.NEAREST_MIPMAP_LINEAR,[Yt]:n.LINEAR,[$1]:n.LINEAR_MIPMAP_NEAREST,[Fs]:n.LINEAR_MIPMAP_LINEAR},ye={[b$]:n.NEVER,[T$]:n.ALWAYS,[x$]:n.LESS,[qI]:n.LEQUAL,[C$]:n.EQUAL,[E$]:n.GEQUAL,[w$]:n.GREATER,[S$]:n.NOTEQUAL};function Ie(k,D){if(D.type===Zt&&e.has("OES_texture_float_linear")===!1&&(D.magFilter===Yt||D.magFilter===$1||D.magFilter===qh||D.magFilter===Fs||D.minFilter===Yt||D.minFilter===$1||D.minFilter===qh||D.minFilter===Fs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),n.texParameteri(k,n.TEXTURE_WRAP_S,ee[D.wrapS]),n.texParameteri(k,n.TEXTURE_WRAP_T,ee[D.wrapT]),(k===n.TEXTURE_3D||k===n.TEXTURE_2D_ARRAY)&&n.texParameteri(k,n.TEXTURE_WRAP_R,ee[D.wrapR]),n.texParameteri(k,n.TEXTURE_MAG_FILTER,H[D.magFilter]),n.texParameteri(k,n.TEXTURE_MIN_FILTER,H[D.minFilter]),D.compareFunction&&(n.texParameteri(k,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(k,n.TEXTURE_COMPARE_FUNC,ye[D.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(D.magFilter===Br||D.minFilter!==qh&&D.minFilter!==Fs||D.type===Zt&&e.has("OES_texture_float_linear")===!1)return;if(D.anisotropy>1||i.get(D).__currentAnisotropy){const ne=e.get("EXT_texture_filter_anisotropic");n.texParameterf(k,ne.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(D.anisotropy,r.getMaxAnisotropy())),i.get(D).__currentAnisotropy=D.anisotropy}}}function ze(k,D){let ne=!1;k.__webglInit===void 0&&(k.__webglInit=!0,D.addEventListener("dispose",M));const re=D.source;let ce=h.get(re);ce===void 0&&(ce={},h.set(re,ce));const fe=V(D);if(fe!==k.__cacheKey){ce[fe]===void 0&&(ce[fe]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ne=!0),ce[fe].usedTimes++;const Pe=ce[k.__cacheKey];Pe!==void 0&&(ce[k.__cacheKey].usedTimes--,Pe.usedTimes===0&&w(D)),k.__cacheKey=fe,k.__webglTexture=ce[fe].texture}return ne}function oe(k,D,ne){let re=n.TEXTURE_2D;(D.isDataArrayTexture||D.isCompressedArrayTexture)&&(re=n.TEXTURE_2D_ARRAY),D.isData3DTexture&&(re=n.TEXTURE_3D);const ce=ze(k,D),fe=D.source;t.bindTexture(re,k.__webglTexture,n.TEXTURE0+ne);const Pe=i.get(fe);if(fe.version!==Pe.__version||ce===!0){t.activeTexture(n.TEXTURE0+ne);
vendor: 21,998 bytes, line 3877
3877const Le=Xt.getPrimaries(Xt.workingColorSpace),Oe=D.colorSpace===qo?null:Xt.getPrimaries(D.colorSpace),dt=D.colorSpace===qo||Le===Oe?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,D.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,D.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,dt);let Be=v(D.image,!1,r.maxTextureSize);Be=De(D,Be);const He=s.convert(D.format,D.colorSpace),Xe=s.convert(D.type);let st=b(D.internalFormat,He,Xe,D.colorSpace,D.isVideoTexture);Ie(re,D);let et;const mt=D.mipmaps,lt=D.isVideoTexture!==!0,Rt=Pe.__version===void 0||ce===!0,te=fe.dataReady,We=T(D,Be);if(D.isDepthTexture)st=_(D.format===Td,D.type),Rt&&(lt?t.texStorage2D(n.TEXTURE_2D,1,st,Be.width,Be.height):t.texImage2D(n.TEXTURE_2D,0,st,Be.width,Be.height,0,He,Xe,null));else if(D.isDataTexture)if(mt.length>0){lt&&Rt&&t.texStorage2D(n.TEXTURE_2D,We,st,mt[0].width,mt[0].height);for(let Ce=0,Me=mt.length;Ce<Me;Ce++)et=mt[Ce],lt?te&&t.texSubImage2D(n.TEXTURE_2D,Ce,0,0,et.width,et.height,He,Xe,et.data):t.texImage2D(n.TEXTURE_2D,Ce,st,et.width,et.height,0,He,Xe,et.data);D.generateMipmaps=!1}else lt?(Rt&&t.texStorage2D(n.TEXTURE_2D,We,st,Be.width,Be.height),te&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,Be.width,Be.height,He,Xe,Be.data)):t.texImage2D(n.TEXTURE_2D,0,st,Be.width,Be.height,0,He,Xe,Be.data);else if(D.isCompressedTexture)if(D.isCompressedArrayTexture){lt&&Rt&&t.texStorage3D(n.TEXTURE_2D_ARRAY,We,st,mt[0].width,mt[0].height,Be.depth);for(let Ce=0,Me=mt.length;Ce<Me;Ce++)if(et=mt[Ce],D.format!==pi)if(He!==null)if(lt){if(te)if(D.layerUpdates.size>0){const je=e8(et.width,et.height,D.format,D.type);for(const Ye of D.layerUpdates){const _t=et.data.subarray(Ye*je/et.data.BYTES_PER_ELEMENT,(Ye+1)*je/et.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,Ce,0,0,Ye,et.width,et.height,1,He,_t)}D.clearLayerUpdates()}else t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,Ce,0,0,0,et.width,et.height,Be.depth,He,et.data)}else t.compressedTexImage3D(n.TEXTURE_2D_ARRAY,Ce,st,et.width,et.height,Be.depth,0,et.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else lt?te&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,Ce,0,0,0,et.width,et.height,Be.depth,He,Xe,et.data):t.texImage3D(n.TEXTURE_2D_ARRAY,Ce,st,et.width,et.height,Be.depth,0,He,Xe,et.data)}else{lt&&Rt&&t.texStorage2D(n.TEXTURE_2D,We,st,mt[0].width,mt[0].height);for(let Ce=0,Me=mt.length;Ce<Me;Ce++)et=mt[Ce],D.format!==pi?He!==null?lt?te&&t.compressedTexSubImage2D(n.TEXTURE_2D,Ce,0,0,et.width,et.height,He,et.data):t.compressedTexImage2D(n.TEXTURE_2D,Ce,st,et.width,et.height,0,et.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):lt?te&&t.texSubImage2D(n.TEXTURE_2D,Ce,0,0,et.width,et.height,He,Xe,et.data):t.texImage2D(n.TEXTURE_2D,Ce,st,et.width,et.height,0,He,Xe,et.data)}else if(D.isDataArrayTexture)if(lt){if(Rt&&t.texStorage3D(n.TEXTURE_2D_ARRAY,We,st,Be.width,Be.height,Be.depth),te)if(D.layerUpdates.size>0){const Ce=e8(Be.width,Be.height,D.format,D.type);for(const Me of D.layerUpdates){const je=Be.data.subarray(Me*Ce/Be.data.BYTES_PER_ELEMENT,(Me+1)*Ce/Be.data.BYTES_PER_ELEMENT);t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,Me,Be.width,Be.height,1,He,Xe,je)}D.clearLayerUpdates()}else t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,Be.width,Be.height,Be.depth,He,Xe,Be.data)}else t.texImage3D(n.TEXTURE_2D_ARRAY,0,st,Be.width,Be.height,Be.depth,0,He,Xe,Be.data);else if(D.isData3DTexture)lt?(Rt&&t.texStorage3D(n.TEXTURE_3D,We,st,Be.width,Be.height,Be.depth),te&&t.texSubImage3D(n.TEXTURE_3D,0,0,0,0,Be.width,Be.height,Be.depth,He,Xe,Be.data)):t.texImage3D(n.TEXTURE_3D,0,st,Be.width,Be.height,Be.depth,0,He,Xe,Be.data);else if(D.isFramebufferTexture){if(Rt)if(lt)t.texStorage2D(n.TEXTURE_2D,We,st,Be.width,Be.height);else{let Ce=Be.width,Me=Be.height;for(let je=0;je<We;je++)t.texImage2D(n.TEXTURE_2D,je,st,Ce,Me,0,He,Xe,null),Ce>>=1,Me>>=1}}else if(mt.length>0){if(lt&&Rt){const Ce=xe(mt[0]);t.texStorage2D(n.TEXTURE_2D,We,st,Ce.width,Ce.height)}for(let Ce=0,Me=mt.length;Ce<Me;Ce++)et=mt[Ce],lt?te&&t.texSubImage2D(n.TEXTURE_2D,Ce,0,0,He,Xe,et):t.texImage2D(n.TEXTURE_2D,Ce,st,He,Xe,et);D.generateMipmaps=!1}else if(lt){if(Rt){const Ce=xe(Be);t.texStorage2D(n.TEXTURE_2D,We,st,Ce.width,Ce.height)}te&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,He,Xe,Be)}else t.texImage2D(n.TEXTURE_2D,0,st,He,Xe,Be);A(D)&&y(re),Pe.__version=fe.version,D.onUpdate&&D.onUpdate(D)}k.__version=D.version}function _e(k,D,ne){if(D.image.length!==6)return;const re=ze(k,D),ce=D.source;t.bindTexture(n.TEXTURE_CUBE_MAP,k.__webglTexture,n.TEXTURE0+ne);const fe=i.get(ce);if(ce.version!==fe.__version||re===!0){t.activeTexture(n.TEXTURE0+ne);const Pe=Xt.getPrimaries(Xt.workingColorSpace),Le=D.colorSpace===qo?null:Xt.getPrimaries(D.colorSpace),Oe=D.colorSpace===qo||Pe===Le?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,D.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,D.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,Oe);const dt=D.isCompressedTexture||D.image[0].isCompressedTexture,Be=D.image[0]&&D.image[0].isDataTexture,He=[];for(let Me=0;Me<6;Me++)!dt&&!Be?He[Me]=v(D.image[Me],!0,r.maxCubemapSize):He[Me]=Be?D.image[Me].image:D.image[Me],He[Me]=De(D,He[Me]);const Xe=He[0],st=s.convert(D.format,D.colorSpace),et=s.convert(D.type),mt=b(D.internalFormat,st,et,D.colorSpace),lt=D.isVideoTexture!==!0,Rt=fe.__version===void 0||re===!0,te=ce.dataReady;let We=T(D,Xe);Ie(n.TEXTURE_CUBE_MAP,D);let Ce;if(dt){lt&&Rt&&t.texStorage2D(n.TEXTURE_CUBE_MAP,We,mt,Xe.width,Xe.height);for(let Me=0;Me<6;Me++){Ce=He[Me].mipmaps;for(let je=0;je<Ce.length;je++){const Ye=Ce[je];D.format!==pi?st!==null?lt?te&&t.compressedTexSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,0,0,Ye.width,Ye.height,st,Ye.data):t.compressedTexImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,mt,Ye.width,Ye.height,0,Ye.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,0,0,Ye.width,Ye.height,st,et,Ye.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,mt,Ye.width,Ye.height,0,st,et,Ye.data)}}}else{if(Ce=D.mipmaps,lt&&Rt){Ce.length>0&&We++;const Me=xe(He[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,We,mt,Me.width,Me.height)}for(let Me=0;Me<6;Me++)if(Be){lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,0,0,He[Me].width,He[Me].height,st,et,He[Me].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,mt,He[Me].width,He[Me].height,0,st,et,He[Me].data);for(let je=0;je<Ce.length;je++){const _t=Ce[je].image[Me].image;lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,0,0,_t.width,_t.height,st,et,_t.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,mt,_t.width,_t.height,0,st,et,_t.data)}}else{lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,0,0,st,et,He[Me]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,mt,st,et,He[Me]);for(let je=0;je<Ce.length;je++){const Ye=Ce[je];lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,0,0,st,et,Ye.image[Me]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,mt,st,et,Ye.image[Me])}}}A(D)&&y(n.TEXTURE_CUBE_MAP),fe.__version=ce.version,D.onUpdate&&D.onUpdate(D)}k.__version=D.version}function Fe(k,D,ne,re,ce,fe){const Pe=s.convert(ne.format,ne.colorSpace),Le=s.convert(ne.type),Oe=b(ne.internalFormat,Pe,Le,ne.colorSpace),dt=i.get(D),Be=i.get(ne);if(Be.__renderTarget=D,!dt.__hasExternalTextures){const He=Math.max(1,D.width>>fe),Xe=Math.max(1,D.height>>fe);ce===n.TEXTURE_3D||ce===n.TEXTURE_2D_ARRAY?t.texImage3D(ce,fe,Oe,He,Xe,D.depth,0,Pe,Le,null):t.texImage2D(ce,fe,Oe,He,Xe,0,Pe,Le,null)}t.bindFramebuffer(n.FRAMEBUFFER,k),$(D)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,re,ce,Be.__webglTexture,0,ve(D)):(ce===n.TEXTURE_2D||ce>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&ce<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,re,ce,Be.__webglTexture,fe),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Z(k,D,ne){if(n.bindRenderbuffer(n.RENDERBUFFER,k),D.depthBuffer){const re=D.depthTexture,ce=re&&re.isDepthTexture?re.type:null,fe=_(D.stencilBuffer,ce),Pe=D.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Le=ve(D);$(D)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Le,fe,D.width,D.height):ne?n.renderbufferStorageMultisample(n.RENDERBUFFER,Le,fe,D.width,D.height):n.renderbufferStorage(n.RENDERBUFFER,fe,D.width,D.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,Pe,n.RENDERBUFFER,k)}else{const re=D.textures;for(let ce=0;ce<re.length;ce++){const fe=re[ce],Pe=s.convert(fe.format,fe.colorSpace),Le=s.convert(fe.type),Oe=b(fe.internalFormat,Pe,Le,fe.colorSpace),dt=ve(D);ne&&$(D)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,dt,Oe,D.width,D.height):$(D)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,dt,Oe,D.width,D.height):n.renderbufferStorage(n.RENDERBUFFER,Oe,D.width,D.height)}}n.bindRenderbuffer(n.RENDERBUFFER,null)}function Ae(k,D){if(D&&D.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(n.FRAMEBUFFER,k),!(D.depthTexture&&D.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const re=i.get(D.depthTexture);re.__renderTarget=D,(!re.__webglTexture||D.depthTexture.image.width!==D.width||D.depthTexture.image.height!==D.height)&&(D.depthTexture.image.width=D.width,D.depthTexture.image.height=D.height,D.depthTexture.needsUpdate=!0),j(D.depthTexture,0);const ce=re.__webglTexture,fe=ve(D);if(D.depthTexture.format===td)$(D)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,ce,0,fe):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,ce,0);else if(D.depthTexture.format===Td)$(D)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,ce,0,fe):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,ce,0);else throw new Error("Unknown depthTexture format")}function we(k){const D=i.get(k),ne=k.isWebGLCubeRenderTarget===!0;if(D.__boundDepthTexture!==k.depthTexture){const re=k.depthTexture;if(D.__depthDisposeCallback&&D.__depthDisposeCallback(),re){const ce=()=>{delete D.__boundDepthTexture,delete D.__depthDisposeCallback,re.removeEventListener("dispose",ce)};re.addEventListener("dispose",ce),D.__depthDisposeCallback=ce}D.__boundDepthTexture=re}if(k.depthTexture&&!D.__autoAllocateDepthBuffer){if(ne)throw new Error("target.depthTexture not supported in Cube render targets");Ae(D.__webglFramebuffer,k)}else if(ne){D.__webglDepthbuffer=[];for(let re=0;re<6;re++)if(t.bindFramebuffer(n.FRAMEBUFFER,D.__webglFramebuffer[re]),D.__webglDepthbuffer[re]===void 0)D.__webglDepthbuffer[re]=n.createRenderbuffer(),Z(D.__webglDepthbuffer[re],k,!1);else{const ce=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,fe=D.__webglDepthbuffer[re];n.bindRenderbuffer(n.RENDERBUFFER,fe),n.framebufferRenderbuffer(n.FRAMEBUFFER,ce,n.RENDERBUFFER,fe)}}else if(t.bindFramebuffer(n.FRAMEBUFFER,D.__webglFramebuffer),D.__webglDepthbuffer===void 0)D.__webglDepthbuffer=n.createRenderbuffer(),Z(D.__webglDepthbuffer,k,!1);else{const re=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,ce=D.__webglDepthbuffer;n.bindRenderbuffer(n.RENDERBUFFER,ce),n.framebufferRenderbuffer(n.FRAMEBUFFER,re,n.RENDERBUFFER,ce)}t.bindFramebuffer(n.FRAMEBUFFER,null)}function be(k,D,ne){const re=i.get(k);D!==void 0&&Fe(re.__webglFramebuffer,k,k.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,0),ne!==void 0&&we(k)}function qe(k){const D=k.texture,ne=i.get(k),re=i.get(D);k.addEventListener("dispose",I);const ce=k.textures,fe=k.isWebGLCubeRenderTarget===!0,Pe=ce.length>1;if(Pe||(re.__webglTexture===void 0&&(re.__webglTexture=n.createTexture()),re.__version=D.version,o.memory.textures++),fe){ne.__webglFramebuffer=[];for(let Le=0;Le<6;Le++)if(D.mipmaps&&D.mipmaps.length>0){ne.__webglFramebuffer[Le]=[];for(let Oe=0;Oe<D.mipmaps.length;Oe++)ne.__webglFramebuffer[Le][Oe]=n.createFramebuffer()}else ne.__webglFramebuffer[Le]=n.createFramebuffer()}else{if(D.mipmaps&&D.mipmaps.length>0){ne.__webglFramebuffer=[];for(let Le=0;Le<D.mipmaps.length;Le++)ne.__webglFramebuffer[Le]=n.createFramebuffer()}else ne.__webglFramebuffer=n.createFramebuffer();if(Pe)for(let Le=0,Oe=ce.length;Le<Oe;Le++){const dt=i.get(ce[Le]);dt.__webglTexture===void 0&&(dt.__webglTexture=n.createTexture(),o.memory.textures++)}if(k.samples>0&&$(k)===!1){ne.__webglMultisampledFramebuffer=n.createFramebuffer(),ne.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ne.__webglMultisampledFramebuffer);for(let Le=0;Le<ce.length;Le++){const Oe=ce[Le];ne.__webglColorRenderbuffer[Le]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,ne.__webglColorRenderbuffer[Le]);const dt=s.convert(Oe.format,Oe.colorSpace),Be=s.convert(Oe.type),He=b(Oe.internalFormat,dt,Be,Oe.colorSpace,k.isXRRenderTarget===!0),Xe=ve(k);n.renderbufferStorageMultisample(n.RENDERBUFFER,Xe,He,k.width,k.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Le,n.RENDERBUFFER,ne.__webglColorRenderbuffer[Le])}n.bindRenderbuffer(n.RENDERBUFFER,null),k.depthBuffer&&(ne.__webglDepthRenderbuffer=n.createRenderbuffer(),Z(ne.__webglDepthRenderbuffer,k,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(fe){t.bindTexture(n.TEXTURE_CUBE_MAP,re.__webglTexture),Ie(n.TEXTURE_CUBE_MAP,D);for(let Le=0;Le<6;Le++)if(D.mipmaps&&D.mipmaps.length>0)for(let Oe=0;Oe<D.mipmaps.length;Oe++)Fe(ne.__webglFramebuffer[Le][Oe],k,D,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Le,Oe);else Fe(ne.__webglFramebuffer[Le],k,D,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Le,0);A(D)&&y(n.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(Pe){for(let Le=0,Oe=ce.length;Le<Oe;Le++){const dt=ce[Le],Be=i.get(dt);t.bindTexture(n.TEXTURE_2D,Be.__webglTexture),Ie(n.TEXTURE_2D,dt),Fe(ne.__webglFramebuffer,k,dt,n.COLOR_ATTACHMENT0+Le,n.TEXTURE_2D,0),A(dt)&&y(n.TEXTURE_2D)}t.unbindTexture()}else{let Le=n.TEXTURE_2D;if((k.isWebGL3DRenderTarget||k.isWebGLArrayRenderTarget)&&(Le=k.isWebGL3DRenderTarget?n.TEXTURE_3D:n.TEXTURE_2D_ARRAY),t.bindTexture(Le,re.__webglTexture),Ie(Le,D),D.mipmaps&&D.mipmaps.length>0)for(let Oe=0;Oe<D.mipmaps.length;Oe++)Fe(ne.__webglFramebuffer[Oe],k,D,n.COLOR_ATTACHMENT0,Le,Oe);else Fe(ne.__webglFramebuffer,k,D,n.COLOR_ATTACHMENT0,Le,0);A(D)&&y(Le),t.unbindTexture()}k.depthBuffer&&we(k)}function rt(k){const D=k.textures;for(let ne=0,re=D.length;ne<re;ne++){const ce=D[ne];if(A(ce)){const fe=x(k),Pe=i.get(ce).__webglTexture;t.bindTexture(fe,Pe),y(fe),t.unbindTexture()}}}const q=[],B=[];function le(k){if(k.samples>0){if($(k)===!1){const D=k.textures,ne=k.width,re=k.height;let ce=n.COLOR_BUFFER_BIT;const fe=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Pe=i.get(k),Le=D.length>1;if(Le)for(let Oe=0;Oe<D.length;Oe++)t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.RENDERBUFFER,null),t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.TEXTURE_2D,null,0);t.bindFramebuffer(n.READ_FRAMEBUFFER,Pe.__webglMultisampledFramebuffer),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Pe.__webglFramebuffer);for(let Oe=0;Oe<D.length;Oe++){if(k.resolveDepthBuffer&&(k.depthBuffer&&(ce|=n.DEPTH_BUFFER_BIT),k.stencilBuffer&&k.resolveStencilBuffer&&(ce|=n.STENCIL_BUFFER_BIT)),Le){n.framebufferRenderbuffer(n.READ_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,Pe.__webglColorRenderbuffer[Oe]);const dt=i.get(D[Oe]).__webglTexture;n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,dt,0)}n.blitFramebuffer(0,0,ne,re,0,0,ne,re,ce,n.NEAREST),l===!0&&(q.length=0,B.length=0,q.push(n.COLOR_ATTACHMENT0+Oe),k.depthBuffer&&k.resolveDepthBuffer===!1&&(q.push(fe),B.push(fe),n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,B)),n.invalidateFramebuffer(n.READ_FRAMEBUFFER,q))}if(t.bindFramebuffer(n.READ_FRAMEBUFFER,null),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),Le)for(let Oe=0;Oe<D.length;Oe++){t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.RENDERBUFFER,Pe.__webglColorRenderbuffer[Oe]);const dt=i.get(D[Oe]).__webglTexture;t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.TEXTURE_2D,dt,0)}t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Pe.__webglMultisampledFramebuffer)}else if(k.depthBuffer&&k.resolveDepthBuffer===!1&&l){const D=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT;n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,[D])}}}function ve(k){return Math.min(r.maxSamples,k.samples)}function $(k){const D=i.get(k);return k.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&D.__useRenderToTexture!==!1}function de(k){const D=o.render.frame;u.get(k)!==D&&(u.set(k,D),k.update())}function De(k,D){const ne=k.colorSpace,re=k.format,ce=k.type;return k.isCompressedTexture===!0||k.isVideoTexture===!0||ne!==mi&&ne!==qo&&(Xt.getTransfer(ne)===yn?(re!==pi||ce!==Ki)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ne)),D}function xe(k){return typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement?(c.width=k.naturalWidth||k.width,c.height=k.naturalHeight||k.height):typeof VideoFrame<"u"&&k instanceof VideoFrame?(c.width=k.displayWidth,c.height=k.displayHeight):(c.width=k.width,c.height=k.height),c}this.allocateTextureUnit=z,this.resetTextureUnits=L,this.setTexture2D=j,this.setTexture2DArray=N,this.setTexture3D=Q,this.setTextureCube=W,this.rebindTextures=be,this.setupRenderTarget=qe,this.updateRenderTargetMipmap=rt,this.updateMultisampleRenderTarget=le,this.setupDepthRenderbuffer=we,this.setupFrameBufferTexture=Fe,this.useMultisampledRTT=$}function kne(n,e){function t(i,r=qo){let s;const o=Xt.getTransfer(r);if(i===Ki)return n.UNSIGNED_BYTE;if(i===Xx)return n.UNSIGNED_SHORT_4_4_4_4;if(i===Yx)return n.UNSIGNED_SHORT_5_5_5_1;if(i===kI)return n.UNSIGNED_INT_5_9_9_9_REV;if(i===UI)return n.BYTE;if(i===NI)return n.SHORT;if(i===$0)return n.UNSIGNED_SHORT;if(i===qx)return n.INT;if(i===Pu)return n.UNSIGNED_INT;if(i===Zt)return n.FLOAT;if(i===nn)return n.HALF_FLOAT;if(i===zI)return n.ALPHA;if(i===HI)return n.RGB;if(i===pi)return n.RGBA;if(i===VI)return n.LUMINANCE;if(i===GI)return n.LUMINANCE_ALPHA;if(i===td)return n.DEPTH_COMPONENT;if(i===Td)return n.DEPTH_STENCIL;if(i===kl)return n.RED;if(i===$x)return n.RED_INTEGER;if(i===ou)return n.RG;if(i===Kx)return n.RG_INTEGER;if(i===Zx)return n.RGBA_INTEGER;if(i===K1||i===x0||i===Z1||i===C0)if(o===yn)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===K1)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===x0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===Z1)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===C0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===K1)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===x0)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===Z1)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===C0)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===Og||i===lb||i===Fg||i===cb)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===Og)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===lb)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Fg)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===cb)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Ug||i===Ng||i===kg)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===Ug||i===Ng)return o===yn?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===kg)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===K0||i===ub||i===fb||i===db||i===Z0||i===hb||i===pb||i===mb||i===gb||i===Ab||i===vb||i===yb||i===_b||i===bb)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===K0)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===ub)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===fb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===db)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Z0)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===hb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===pb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===mb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===gb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===Ab)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===vb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===yb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===_b)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===bb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===w0||i===xb||i===zg)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===w0)return o===yn?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===xb)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===zg)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===QI||i===Cb||i===wb||i===Sb)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===w0)return s.COMPRESSED_RED_RGT
vendor: 9,995 bytes, lines 3877-3901
3877C1_EXT;if(i===Cb)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===wb)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===Sb)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===Ed?n.UNSIGNED_INT_24_8:n[i]!==void 0?n[i]:null}return{convert:t}}const zne=` 3878void main() { 3879 3880 gl_Position = vec4( position, 1.0 ); 3881 3882}`,Hne=` 3883uniform sampler2DArray depthColor; 3884uniform float depthWidth; 3885uniform float depthHeight; 3886 3887void main() { 3888 3889 vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); 3890 3891 if ( coord.x >= 1.0 ) { 3892 3893 gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; 3894 3895 } else { 3896 3897 gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; 3898 3899 } 3900 3901}`;class Vne{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new xn,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!==i.depthNear||t.depthFar!==i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,i=new Cn({vertexShader:zne,fragmentShader:Hne,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Qe(new lo(20,20),i)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class Gne extends ac{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,c=null,u=null,f=null,h=null,p=null,m=null;const v=new Vne,A=t.getContextAttributes();let y=null,x=null;const b=[],_=[],T=new Re;let M=null;const I=new Zi;I.viewport=new Vt;const R=new Zi;R.viewport=new Vt;const w=[I,R],E=new eZ;let F=null,L=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(oe){let _e=b[oe];return _e===void 0&&(_e=new w3,b[oe]=_e),_e.getTargetRaySpace()},this.getControllerGrip=function(oe){let _e=b[oe];return _e===void 0&&(_e=new w3,b[oe]=_e),_e.getGripSpace()},this.getHand=function(oe){let _e=b[oe];return _e===void 0&&(_e=new w3,b[oe]=_e),_e.getHandSpace()};function z(oe){const _e=_.indexOf(oe.inputSource);if(_e===-1)return;const Fe=b[_e];Fe!==void 0&&(Fe.update(oe.inputSource,oe.frame,c||o),Fe.dispatchEvent({type:oe.type,data:oe.inputSource}))}function V(){r.removeEventListener("select",z),r.removeEventListener("selectstart",z),r.removeEventListener("selectend",z),r.removeEventListener("squeeze",z),r.removeEventListener("squeezestart",z),r.removeEventListener("squeezeend",z),r.removeEventListener("end",V),r.removeEventListener("inputsourceschange",j);for(let oe=0;oe<b.length;oe++){const _e=_[oe];_e!==null&&(_[oe]=null,b[oe].disconnect(_e))}F=null,L=null,v.reset(),e.setRenderTarget(y),p=null,h=null,f=null,r=null,x=null,ze.stop(),i.isPresenting=!1,e.setPixelRatio(M),e.setSize(T.width,T.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(oe){s=oe,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(oe){a=oe,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return c||o},this.setReferenceSpace=function(oe){c=oe},this.getBaseLayer=function(){return h!==null?h:p},this.getBinding=function(){return f},this.getFrame=function(){return m},this.getSession=function(){return r},this.setSession=async function(oe){if(r=oe,r!==null){if(y=e.getRenderTarget(),r.addEventListener("select",z),r.addEventListener("selectstart",z),r.addEventListener("selectend",z),r.addEventListener("squeeze",z),r.addEventListener("squeezestart",z),r.addEventListener("squeezeend",z),r.addEventListener("end",V),r.addEventListener("inputsourceschange",j),A.xrCompatible!==!0&&await t.makeXRCompatible(),M=e.getPixelRatio(),e.getSize(T),typeof XRWebGLBinding<"u"&&"createProjectionLayer"in XRWebGLBinding.prototype){let Fe=null,Z=null,Ae=null;A.depth&&(Ae=A.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,Fe=A.stencil?Td:td,Z=A.stencil?Ed:Pu);const we={colorFormat:t.RGBA8,depthFormat:Ae,scaleFactor:s};f=new XRWebGLBinding(r,t),h=f.createProjectionLayer(we),r.updateRenderState({layers:[h]}),e.setPixelRatio(1),e.setSize(h.textureWidth,h.textureHeight,!1),x=new li(h.textureWidth,h.textureHeight,{format:pi,type:Ki,depthTexture:new aP(h.textureWidth,h.textureHeight,Z,void 0,void 0,void 0,void 0,void 0,void 0,Fe),stencilBuffer:A.stencil,colorSpace:e.outputColorSpace,samples:A.antialias?4:0,resolveDepthBuffer:h.ignoreDepthValues===!1})}else{const Fe={antialias:A.antialias,alpha:!0,depth:A.depth,stencil:A.stencil,framebufferScaleFactor:s};p=new XRWebGLLayer(r,t,Fe),r.updateRenderState({baseLayer:p}),e.setPixelRatio(1),e.setSize(p.framebufferWidth,p.framebufferHeight,!1),x=new li(p.framebufferWidth,p.framebufferHeight,{format:pi,type:Ki,colorSpace:e.outputColorSpace,stencilBuffer:A.stencil})}x.isXRRenderTarget=!0,this.setFoveation(l),c=null,o=await r.requestReferenceSpace(a),ze.setContext(r),ze.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return v.getDepthTexture()};function j(oe){for(let _e=0;_e<oe.removed.length;_e++){const Fe=oe.removed[_e],Z=_.indexOf(Fe);Z>=0&&(_[Z]=null,b[Z].disconnect(Fe))}for(let _e=0;_e<oe.added.length;_e++){const Fe=oe.added[_e];let Z=_.indexOf(Fe);if(Z===-1){for(let we=0;we<b.length;we++)if(we>=_.length){_.push(Fe),Z=we;break}else if(_[we]===null){_[we]=Fe,Z=we;break}if(Z===-1)break}const Ae=b[Z];Ae&&Ae.connect(Fe)}}const N=new K,Q=new K;function W(oe,_e,Fe){N.setFromMatrixPosition(_e.matrixWorld),Q.setFromMatrixPosition(Fe.matrixWorld);const Z=N.distanceTo(Q),Ae=_e.projectionMatrix.elements,we=Fe.projectionMatrix.elements,be=Ae[14]/(Ae[10]-1),qe=Ae[14]/(Ae[10]+1),rt=(Ae[9]+1)/Ae[5],q=(Ae[9]-1)/Ae[5],B=(Ae[8]-1)/Ae[0],le=(we[8]+1)/we[0],ve=be*B,$=be*le,de=Z/(-B+le),De=de*-B;if(_e.matrixWorld.decompose(oe.position,oe.quaternion,oe.scale),oe.translateX(De),oe.translateZ(de),oe.matrixWorld.compose(oe.position,oe.quaternion,oe.scale),oe.matrixWorldInverse.copy(oe.matrixWorld).invert(),Ae[10]===-1)oe.projectionMatrix.copy(_e.projectionMatrix),oe.projectionMatrixInverse.copy(_e.projectionMatrixInverse);else{const xe=be+de,k=qe+de,D=ve-De,ne=$+(Z-De),re=rt*qe/k*xe,ce=q*qe/k*xe;oe.projectionMatrix.makePerspective(D,ne,re,ce,xe,k),oe.projectionMatrixInverse.copy(oe.projectionMatrix).invert()}}function ee(oe,_e){_e===null?oe.matrixWorld.copy(oe.matrix):oe.matrixWorld.multiplyMatrices(_e.matrixWorld,oe.matrix),oe.matrixWorldInverse.copy(oe.matrixWorld).invert()}this.updateCamera=function(oe){if(r===null)return;let _e=oe.near,Fe=oe.far;v.texture!==null&&(v.depthNear>0&&(_e=v.depthNear),v.depthFar>0&&(Fe=v.depthFar)),E.near=R.near=I.near=_e,E.far=R.far=I.far=Fe,(F!==E.near||L!==E.far)&&(r.updateRenderState({depthNear:E.near,depthFar:E.far}),F=E.near,L=E.far),I.layers.mask=oe.layers.mask|2,R.layers.mask=oe.layers.mask|4,E.layers.mask=I.layers.mask|R.layers.mask;const Z=oe.parent,Ae=E.cameras;ee(E,Z);for(let we=0;we<Ae.length;we++)ee(Ae[we],Z);Ae.length===2?W(E,I,R):E.projectionMatrix.copy(I.projectionMatrix),H(oe,E,Z)};function H(oe,_e,Fe){Fe===null?oe.matrix.copy(_e.matrixWorld):(oe.matrix.copy(Fe.matrixWorld),oe.matrix.invert(),oe.matrix.multiply(_e.matrixWorld)),oe.matrix.decompose(oe.position,oe.quaternion,oe.scale),oe.updateMatrixWorld(!0),oe.projectionMatrix.copy(_e.projectionMatrix),oe.projectionMatrixInverse.copy(_e.projectionMatrixInverse),oe.isPerspectiveCamera&&(oe.fov=Md*2*Math.atan(1/oe.projectionMatrix.elements[5]),oe.zoom=1)}this.getCamera=function(){return E},this.getFoveation=function(){if(!(h===null&&p===null))return l},this.setFoveation=function(oe){l=oe,h!==null&&(h.fixedFoveation=oe),p!==null&&p.fixedFoveation!==void 0&&(p.fixedFoveation=oe)},this.hasDepthSensing=function(){return v.texture!==null},this.getDepthSensingMesh=function(){return v.getMesh(E)};let ye=null;function Ie(oe,_e){if(u=_e.getViewerPose(c||o),m=_e,u!==null){const Fe=u.views;p!==null&&(e.setRenderTargetFramebuffer(x,p.framebuffer),e.setRenderTarget(x));let Z=!1;Fe.length!==E.cameras.length&&(E.cameras.length=0,Z=!0);for(let be=0;be<Fe.length;be++){const qe=Fe[be];let rt=null;if(p!==null)rt=p.getViewport(qe);else{const B=f.getViewSubImage(h,qe);rt=B.viewport,be===0&&(e.setRenderTargetTextures(x,B.colorTexture,h.ignoreDepthValues?void 0:B.depthStencilTexture),e.setRenderTarget(x))}let q=w[be];q===void 0&&(q=new Zi,q.layers.enable(be),q.viewport=new Vt,w[be]=q),q.matrix.fromArray(qe.transform.matrix),q.matrix.decompose(q.position,q.quaternion,q.scale),q.projectionMatrix.fromArray(qe.projectionMatrix),q.projectionMatrixInverse.copy(q.projectionMatrix).invert(),q.viewport.set(rt.x,rt.y,rt.width,rt.height),be===0&&(E.matrix.copy(q.matrix),E.matrix.decompose(E.position,E.quaternion,E.scale)),Z===!0&&E.cameras.push(q)}const Ae=r.enabledFeatures;if(Ae&&Ae.includes("depth-sensing")&&r.depthUsage=="gpu-optimized"&&f){const be=f.getDepthInformation(Fe[0]);be&&be.isValid&&be.texture&&v.init(e,be,r.renderState)}}for(let Fe=0;Fe<b.length;Fe++){const Z=_[Fe],Ae=b[Fe];Z!==null&&Ae!==void 0&&Ae.update(Z,_e,c||o)}ye&&ye(oe,_e),_e.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:_e}),m=null}const ze=new mP;ze.setAnimationLoop(Ie),this.setAnimationLoop=function(oe){ye=oe},this.dispose=function(){}}}const Qc=new Pi,Qne=new Ct;function Wne(n,e){function t(A,y){A.matrixAutoUpdate===!0&&A.updateMatrix(),y.value.copy(A.matrix)}function i(A,y){y.color.getRGB(A.fogColor.value,tP(n)),y.isFog?(A.fogNear.value=y.near,A.fogFar.value=y.far):y.isFogExp2&&(A.fogDensity.value=y.density)}function r(A,y,x,b,_){y.isMeshBasicMaterial||y.isMeshLambertMaterial?s(A,y):y.isMeshToonMaterial?(s(A,y),f(A,y)):y.isMeshPhongMaterial?(s(A,y),u(A,y)):y.isMeshStandardMaterial?(s(A,y),h(A,y),y.isMeshPhysicalMaterial&&p(A,y,_)):y.isMeshMat
vendor: 42,236 bytes, line 3901
3901capMaterial?(s(A,y),m(A,y)):y.isMeshDepthMaterial?s(A,y):y.isMeshDistanceMaterial?(s(A,y),v(A,y)):y.isMeshNormalMaterial?s(A,y):y.isLineBasicMaterial?(o(A,y),y.isLineDashedMaterial&&a(A,y)):y.isPointsMaterial?l(A,y,x,b):y.isSpriteMaterial?c(A,y):y.isShadowMaterial?(A.color.value.copy(y.color),A.opacity.value=y.opacity):y.isShaderMaterial&&(y.uniformsNeedUpdate=!1)}function s(A,y){A.opacity.value=y.opacity,y.color&&A.diffuse.value.copy(y.color),y.emissive&&A.emissive.value.copy(y.emissive).multiplyScalar(y.emissiveIntensity),y.map&&(A.map.value=y.map,t(y.map,A.mapTransform)),y.alphaMap&&(A.alphaMap.value=y.alphaMap,t(y.alphaMap,A.alphaMapTransform)),y.bumpMap&&(A.bumpMap.value=y.bumpMap,t(y.bumpMap,A.bumpMapTransform),A.bumpScale.value=y.bumpScale,y.side===Rr&&(A.bumpScale.value*=-1)),y.normalMap&&(A.normalMap.value=y.normalMap,t(y.normalMap,A.normalMapTransform),A.normalScale.value.copy(y.normalScale),y.side===Rr&&A.normalScale.value.negate()),y.displacementMap&&(A.displacementMap.value=y.displacementMap,t(y.displacementMap,A.displacementMapTransform),A.displacementScale.value=y.displacementScale,A.displacementBias.value=y.displacementBias),y.emissiveMap&&(A.emissiveMap.value=y.emissiveMap,t(y.emissiveMap,A.emissiveMapTransform)),y.specularMap&&(A.specularMap.value=y.specularMap,t(y.specularMap,A.specularMapTransform)),y.alphaTest>0&&(A.alphaTest.value=y.alphaTest);const x=e.get(y),b=x.envMap,_=x.envMapRotation;b&&(A.envMap.value=b,Qc.copy(_),Qc.x*=-1,Qc.y*=-1,Qc.z*=-1,b.isCubeTexture&&b.isRenderTargetTexture===!1&&(Qc.y*=-1,Qc.z*=-1),A.envMapRotation.value.setFromMatrix4(Qne.makeRotationFromEuler(Qc)),A.flipEnvMap.value=b.isCubeTexture&&b.isRenderTargetTexture===!1?-1:1,A.reflectivity.value=y.reflectivity,A.ior.value=y.ior,A.refractionRatio.value=y.refractionRatio),y.lightMap&&(A.lightMap.value=y.lightMap,A.lightMapIntensity.value=y.lightMapIntensity,t(y.lightMap,A.lightMapTransform)),y.aoMap&&(A.aoMap.value=y.aoMap,A.aoMapIntensity.value=y.aoMapIntensity,t(y.aoMap,A.aoMapTransform))}function o(A,y){A.diffuse.value.copy(y.color),A.opacity.value=y.opacity,y.map&&(A.map.value=y.map,t(y.map,A.mapTransform))}function a(A,y){A.dashSize.value=y.dashSize,A.totalSize.value=y.dashSize+y.gapSize,A.scale.value=y.scale}function l(A,y,x,b){A.diffuse.value.copy(y.color),A.opacity.value=y.opacity,A.size.value=y.size*x,A.scale.value=b*.5,y.map&&(A.map.value=y.map,t(y.map,A.uvTransform)),y.alphaMap&&(A.alphaMap.value=y.alphaMap,t(y.alphaMap,A.alphaMapTransform)),y.alphaTest>0&&(A.alphaTest.value=y.alphaTest)}function c(A,y){A.diffuse.value.copy(y.color),A.opacity.value=y.opacity,A.rotation.value=y.rotation,y.map&&(A.map.value=y.map,t(y.map,A.mapTransform)),y.alphaMap&&(A.alphaMap.value=y.alphaMap,t(y.alphaMap,A.alphaMapTransform)),y.alphaTest>0&&(A.alphaTest.value=y.alphaTest)}function u(A,y){A.specular.value.copy(y.specular),A.shininess.value=Math.max(y.shininess,1e-4)}function f(A,y){y.gradientMap&&(A.gradientMap.value=y.gradientMap)}function h(A,y){A.metalness.value=y.metalness,y.metalnessMap&&(A.metalnessMap.value=y.metalnessMap,t(y.metalnessMap,A.metalnessMapTransform)),A.roughness.value=y.roughness,y.roughnessMap&&(A.roughnessMap.value=y.roughnessMap,t(y.roughnessMap,A.roughnessMapTransform)),y.envMap&&(A.envMapIntensity.value=y.envMapIntensity)}function p(A,y,x){A.ior.value=y.ior,y.sheen>0&&(A.sheenColor.value.copy(y.sheenColor).multiplyScalar(y.sheen),A.sheenRoughness.value=y.sheenRoughness,y.sheenColorMap&&(A.sheenColorMap.value=y.sheenColorMap,t(y.sheenColorMap,A.sheenColorMapTransform)),y.sheenRoughnessMap&&(A.sheenRoughnessMap.value=y.sheenRoughnessMap,t(y.sheenRoughnessMap,A.sheenRoughnessMapTransform))),y.clearcoat>0&&(A.clearcoat.value=y.clearcoat,A.clearcoatRoughness.value=y.clearcoatRoughness,y.clearcoatMap&&(A.clearcoatMap.value=y.clearcoatMap,t(y.clearcoatMap,A.clearcoatMapTransform)),y.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=y.clearcoatRoughnessMap,t(y.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),y.clearcoatNormalMap&&(A.clearcoatNormalMap.value=y.clearcoatNormalMap,t(y.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(y.clearcoatNormalScale),y.side===Rr&&A.clearcoatNormalScale.value.negate())),y.dispersion>0&&(A.dispersion.value=y.dispersion),y.iridescence>0&&(A.iridescence.value=y.iridescence,A.iridescenceIOR.value=y.iridescenceIOR,A.iridescenceThicknessMinimum.value=y.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=y.iridescenceThicknessRange[1],y.iridescenceMap&&(A.iridescenceMap.value=y.iridescenceMap,t(y.iridescenceMap,A.iridescenceMapTransform)),y.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=y.iridescenceThicknessMap,t(y.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),y.transmission>0&&(A.transmission.value=y.transmission,A.transmissionSamplerMap.value=x.texture,A.transmissionSamplerSize.value.set(x.width,x.height),y.transmissionMap&&(A.transmissionMap.value=y.transmissionMap,t(y.transmissionMap,A.transmissionMapTransform)),A.thickness.value=y.thickness,y.thicknessMap&&(A.thicknessMap.value=y.thicknessMap,t(y.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=y.attenuationDistance,A.attenuationColor.value.copy(y.attenuationColor)),y.anisotropy>0&&(A.anisotropyVector.value.set(y.anisotropy*Math.cos(y.anisotropyRotation),y.anisotropy*Math.sin(y.anisotropyRotation)),y.anisotropyMap&&(A.anisotropyMap.value=y.anisotropyMap,t(y.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=y.specularIntensity,A.specularColor.value.copy(y.specularColor),y.specularColorMap&&(A.specularColorMap.value=y.specularColorMap,t(y.specularColorMap,A.specularColorMapTransform)),y.specularIntensityMap&&(A.specularIntensityMap.value=y.specularIntensityMap,t(y.specularIntensityMap,A.specularIntensityMapTransform))}function m(A,y){y.matcap&&(A.matcap.value=y.matcap)}function v(A,y){const x=e.get(y).light;A.referencePosition.value.setFromMatrixPosition(x.matrixWorld),A.nearDistance.value=x.shadow.camera.near,A.farDistance.value=x.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function jne(n,e,t,i){let r={},s={},o=[];const a=n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS);function l(x,b){const _=b.program;i.uniformBlockBinding(x,_)}function c(x,b){let _=r[x.id];_===void 0&&(m(x),_=u(x),r[x.id]=_,x.addEventListener("dispose",A));const T=b.program;i.updateUBOMapping(x,T);const M=e.render.frame;s[x.id]!==M&&(h(x),s[x.id]=M)}function u(x){const b=f();x.__bindingPointIndex=b;const _=n.createBuffer(),T=x.__size,M=x.usage;return n.bindBuffer(n.UNIFORM_BUFFER,_),n.bufferData(n.UNIFORM_BUFFER,T,M),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,b,_),_}function f(){for(let x=0;x<a;x++)if(o.indexOf(x)===-1)return o.push(x),x;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function h(x){const b=r[x.id],_=x.uniforms,T=x.__cache;n.bindBuffer(n.UNIFORM_BUFFER,b);for(let M=0,I=_.length;M<I;M++){const R=Array.isArray(_[M])?_[M]:[_[M]];for(let w=0,E=R.length;w<E;w++){const F=R[w];if(p(F,M,w,T)===!0){const L=F.__offset,z=Array.isArray(F.value)?F.value:[F.value];let V=0;for(let j=0;j<z.length;j++){const N=z[j],Q=v(N);typeof N=="number"||typeof N=="boolean"?(F.__data[0]=N,n.bufferSubData(n.UNIFORM_BUFFER,L+V,F.__data)):N.isMatrix3?(F.__data[0]=N.elements[0],F.__data[1]=N.elements[1],F.__data[2]=N.elements[2],F.__data[3]=0,F.__data[4]=N.elements[3],F.__data[5]=N.elements[4],F.__data[6]=N.elements[5],F.__data[7]=0,F.__data[8]=N.elements[6],F.__data[9]=N.elements[7],F.__data[10]=N.elements[8],F.__data[11]=0):(N.toArray(F.__data,V),V+=Q.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,L,F.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function p(x,b,_,T){const M=x.value,I=b+"_"+_;if(T[I]===void 0)return typeof M=="number"||typeof M=="boolean"?T[I]=M:T[I]=M.clone(),!0;{const R=T[I];if(typeof M=="number"||typeof M=="boolean"){if(R!==M)return T[I]=M,!0}else if(R.equals(M)===!1)return R.copy(M),!0}return!1}function m(x){const b=x.uniforms;let _=0;const T=16;for(let I=0,R=b.length;I<R;I++){const w=Array.isArray(b[I])?b[I]:[b[I]];for(let E=0,F=w.length;E<F;E++){const L=w[E],z=Array.isArray(L.value)?L.value:[L.value];for(let V=0,j=z.length;V<j;V++){const N=z[V],Q=v(N),W=_%T,ee=W%Q.boundary,H=W+ee;_+=ee,H!==0&&T-H<Q.storage&&(_+=T-H),L.__data=new Float32Array(Q.storage/Float32Array.BYTES_PER_ELEMENT),L.__offset=_,_+=Q.storage}}}const M=_%T;return M>0&&(_+=T-M),x.__size=_,x.__cache={},this}function v(x){const b={boundary:0,storage:0};return typeof x=="number"||typeof x=="boolean"?(b.boundary=4,b.storage=4):x.isVector2?(b.boundary=8,b.storage=8):x.isVector3||x.isColor?(b.boundary=16,b.storage=12):x.isVector4?(b.boundary=16,b.storage=16):x.isMatrix3?(b.boundary=48,b.storage=48):x.isMatrix4?(b.boundary=64,b.storage=64):x.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",x),b}function A(x){const b=x.target;b.removeEventListener("dispose",A);const _=o.indexOf(b.__bindingPointIndex);o.splice(_,1),n.deleteBuffer(r[b.id]),delete r[b.id],delete s[b.id]}function y(){for(const x in r)n.deleteBuffer(r[x]);o=[],r={},s={}}return{bind:l,update:c,dispose:y}}class qne{constructor(e={}){const{canvas:t=Q$(),context:i=null,depth:r=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:f=!1,reverseDepthBuffer:h=!1}=e;this.isWebGLRenderer=!0;let p;if(i!==null){if(typeof WebGLRenderingContext<"u"&&i instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");p=i.getContextAttributes().alpha}else p=o;const m=new Uint32Array(4),v=new Int32Array(4);let A=null,y=null;const x=[],b=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=En,this.toneMapping=Xl,this.toneMappingExposure=1;const _=this;let T=!1,M=0,I=0,R=null,w=-1,E=null;const F=new Vt,L=new Vt;let z=null;const V=new ke(0);let j=0,N=t.width,Q=t.height,W=1,ee=null,H=null;const ye=new Vt(0,0,N,Q),Ie=new Vt(0,0,N,Q);let ze=!1;const oe=new r4;let _e=!1,Fe=!1;this.transmissionResolutionScale=1;const Z=new Ct,Ae=new Ct,we=new K,be=new Vt,qe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let rt=!1;function q(){return R===null?W:1}let B=i;function le(G,ae){return t.getContext(G,ae)}try{const G={alpha:!0,depth:r,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:u,failIfMajorPerformanceCaveat:f};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${Qx}`),t.addEventListener("webglcontextlost",Me,!1),t.addEventListener("webglcontextrestored",je,!1),t.addEventListener("webglcontextcreationerror",Ye,!1),B===null){const ae="webgl2";if(B=le(ae,G),B===null)throw le(ae)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(G){throw console.error("THREE.WebGLRenderer: "+G.message),G}let ve,$,de,De,xe,k,D,ne,re,ce,fe,Pe,Le,Oe,dt,Be,He,Xe,st,et,mt,lt,Rt,te;function We(){ve=new ite(B),ve.init(),lt=new kne(B,ve),$=new Kee(B,ve,e,lt),de=new Une(B,ve),$.reverseDepthBuffer&&h&&de.buffers.depth.setReversed(!0),De=new ote(B),xe=new wne,k=new Nne(B,ve,de,xe,$,lt,De),D=new Jee(_),ne=new nte(_),re=new hZ(B),Rt=new Yee(B,re),ce=new rte(B,re,De,Rt),fe=new lte(B,ce,re,De),st=new ate(B,$,k),Be=new Zee(xe),Pe=new Cne(_,D,ne,ve,$,Rt,Be),Le=new Wne(_,xe),Oe=new Ene,dt=new Bne(ve),Xe=new Xee(_,D,ne,de,fe,p,l),He=new One(_,fe,$),te=new jne(B,De,$,de),et=new $ee(B,ve,De),mt=new ste(B,ve,De),De.programs=Pe.programs,_.capabilities=$,_.extensions=ve,_.properties=xe,_.renderLists=Oe,_.shadowMap=He,_.state=de,_.info=De}We();const Ce=new Gne(_,B);this.xr=Ce,this.getContext=function(){return B},this.getContextAttributes=function(){return B.getContextAttributes()},this.forceContextLoss=function(){const G=ve.get("WEBGL_lose_context");G&&G.loseContext()},this.forceContextRestore=function(){const G=ve.get("WEBGL_lose_context");G&&G.restoreContext()},this.getPixelRatio=function(){return W},this.setPixelRatio=function(G){G!==void 0&&(W=G,this.setSize(N,Q,!1))},this.getSize=function(G){return G.set(N,Q)},this.setSize=function(G,ae,ge=!0){if(Ce.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}N=G,Q=ae,t.width=Math.floor(G*W),t.height=Math.floor(ae*W),ge===!0&&(t.style.width=G+"px",t.style.height=ae+"px"),this.setViewport(0,0,G,ae)},this.getDrawingBufferSize=function(G){return G.set(N*W,Q*W).floor()},this.setDrawingBufferSize=function(G,ae,ge){N=G,Q=ae,W=ge,t.width=Math.floor(G*ge),t.height=Math.floor(ae*ge),this.setViewport(0,0,G,ae)},this.getCurrentViewport=function(G){return G.copy(F)},this.getViewport=function(G){return G.copy(ye)},this.setViewport=function(G,ae,ge,pe){G.isVector4?ye.set(G.x,G.y,G.z,G.w):ye.set(G,ae,ge,pe),de.viewport(F.copy(ye).multiplyScalar(W).round())},this.getScissor=function(G){return G.copy(Ie)},this.setScissor=function(G,ae,ge,pe){G.isVector4?Ie.set(G.x,G.y,G.z,G.w):Ie.set(G,ae,ge,pe),de.scissor(L.copy(Ie).multiplyScalar(W).round())},this.getScissorTest=function(){return ze},this.setScissorTest=function(G){de.setScissorTest(ze=G)},this.setOpaqueSort=function(G){ee=G},this.setTransparentSort=function(G){H=G},this.getClearColor=function(G){return G.copy(Xe.getClearColor())},this.setClearColor=function(){Xe.setClearColor.apply(Xe,arguments)},this.getClearAlpha=function(){return Xe.getClearAlpha()},this.setClearAlpha=function(){Xe.setClearAlpha.apply(Xe,arguments)},this.clear=function(G=!0,ae=!0,ge=!0){let pe=0;if(G){let se=!1;if(R!==null){const Ue=R.texture.format;se=Ue===Zx||Ue===Kx||Ue===$x}if(se){const Ue=R.texture.type,Je=Ue===Ki||Ue===Pu||Ue===$0||Ue===Ed||Ue===Xx||Ue===Yx,tt=Xe.getClearColor(),it=Xe.getClearAlpha(),pt=tt.r,yt=tt.g,ht=tt.b;Je?(m[0]=pt,m[1]=yt,m[2]=ht,m[3]=it,B.clearBufferuiv(B.COLOR,0,m)):(v[0]=pt,v[1]=yt,v[2]=ht,v[3]=it,B.clearBufferiv(B.COLOR,0,v))}else pe|=B.COLOR_BUFFER_BIT}ae&&(pe|=B.DEPTH_BUFFER_BIT),ge&&(pe|=B.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),B.clear(pe)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",Me,!1),t.removeEventListener("webglcontextrestored",je,!1),t.removeEventListener("webglcontextcreationerror",Ye,!1),Xe.dispose(),Oe.dispose(),dt.dispose(),xe.dispose(),D.dispose(),ne.dispose(),fe.dispose(),Rt.dispose(),te.dispose(),Pe.dispose(),Ce.dispose(),Ce.removeEventListener("sessionstart",Ze),Ce.removeEventListener("sessionend",wt),ct.stop()};function Me(G){G.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),T=!0}function je(){console.log("THREE.WebGLRenderer: Context Restored."),T=!1;const G=De.autoReset,ae=He.enabled,ge=He.autoUpdate,pe=He.needsUpdate,se=He.type;We(),De.autoReset=G,He.enabled=ae,He.autoUpdate=ge,He.needsUpdate=pe,He.type=se}function Ye(G){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",G.statusMessage)}function _t(G){const ae=G.target;ae.removeEventListener("dispose",_t),jt(ae)}function jt(G){Bn(G),xe.remove(G)}function Bn(G){const ae=xe.get(G).programs;ae!==void 0&&(ae.forEach(function(ge){Pe.releaseProgram(ge)}),G.isShaderMaterial&&Pe.releaseShaderCache(G))}this.renderBufferDirect=function(G,ae,ge,pe,se,Ue){ae===null&&(ae=qe);const Je=se.isMesh&&se.matrixWorld.determinant()<0,tt=tr(G,ae,ge,pe,se);de.setMaterial(pe,Je);let it=ge.index,pt=1;if(pe.wireframe===!0){if(it=ce.getWireframeAttribute(ge),it===void 0)return;pt=2}const yt=ge.drawRange,ht=ge.attributes.position;let xt=yt.start*pt,Kt=(yt.start+yt.count)*pt;Ue!==null&&(xt=Math.max(xt,Ue.start*pt),Kt=Math.min(Kt,(Ue.start+Ue.count)*pt)),it!==null?(xt=Math.max(xt,0),Kt=Math.min(Kt,it.count)):ht!=null&&(xt=Math.max(xt,0),Kt=Math.min(Kt,ht.count));const Wn=Kt-xt;if(Wn<0||Wn===1/0)return;Rt.setup(se,pe,tt,ge,it);let Dn,Ut=et;if(it!==null&&(Dn=re.get(it),Ut=mt,Ut.setIndex(Dn)),se.isMesh)pe.wireframe===!0?(de.setLineWidth(pe.wireframeLinewidth*q()),Ut.setMode(B.LINES)):Ut.setMode(B.TRIANGLES);else if(se.isLine){let At=pe.linewidth;At===void 0&&(At=1),de.setLineWidth(At*q()),se.isLineSegments?Ut.setMode(B.LINES):se.isLineLoop?Ut.setMode(B.LINE_LOOP):Ut.setMode(B.LINE_STRIP)}else se.isPoints?Ut.setMode(B.POINTS):se.isSprite&&Ut.setMode(B.TRIANGLES);if(se.isBatchedMesh)if(se._multiDrawInstances!==null)Ut.renderMultiDrawInstances(se._multiDrawStarts,se._multiDrawCounts,se._multiDrawCount,se._multiDrawInstances);else if(ve.get("WEBGL_multi_draw"))Ut.renderMultiDraw(se._multiDrawStarts,se._multiDrawCounts,se._multiDrawCount);else{const At=se._multiDrawStarts,Ai=se._multiDrawCounts,Gt=se._multiDrawCount,Lr=it?re.get(it).bytesPerElement:1,Lo=xe.get(pe).currentProgram.getUniforms();for(let nr=0;nr<Gt;nr++)Lo.setValue(B,"_gl_DrawID",nr),Ut.render(At[nr]/Lr,Ai[nr])}else if(se.isInstancedMesh)Ut.renderInstances(xt,Wn,se.count);else if(ge.isInstancedBufferGeometry){const At=ge._maxInstanceCount!==void 0?ge._maxInstanceCount:1/0,Ai=Math.min(ge.instanceCount,At);Ut.renderInstances(xt,Wn,Ai)}else Ut.render(xt,Wn)};function $e(G,ae,ge){G.transparent===!0&&G.side===Zs&&G.forceSinglePass===!1?(G.side=Rr,G.needsUpdate=!0,ln(G,ae,ge),G.side=Io,G.needsUpdate=!0,ln(G,ae,ge),G.side=Zs):ln(G,ae,ge)}this.compile=function(G,ae,ge=null){ge===null&&(ge=G),y=dt.get(ge),y.init(ae),b.push(y),ge.traverseVisible(function(se){se.isLight&&se.layers.test(ae.layers)&&(y.pushLight(se),se.castShadow&&y.pushShadow(se))}),G!==ge&&G.traverseVisible(function(se){se.isLight&&se.layers.test(ae.layers)&&(y.pushLight(se),se.castShadow&&y.pushShadow(se))}),y.setupLights();const pe=new Set;return G.traverse(function(se){if(!(se.isMesh||se.isPoints||se.isLine||se.isSprite))return;const Ue=se.material;if(Ue)if(Array.isArray(Ue))for(let Je=0;Je<Ue.length;Je++){const tt=Ue[Je];$e(tt,ge,se),pe.add(tt)}else $e(Ue,ge,se),pe.add(Ue)}),b.pop(),y=null,pe},this.compileAsync=function(G,ae,ge=null){const pe=this.compile(G,ae,ge);return new Promise(se=>{function Ue(){if(pe.forEach(function(Je){xe.get(Je).currentProgram.isReady()&&pe.delete(Je)}),pe.size===0){se(G);return}setTimeout(Ue,10)}ve.get("KHR_parallel_shader_compile")!==null?Ue():setTimeout(Ue,10)})};let ot=null;function Mt(G){ot&&ot(G)}function Ze(){ct.stop()}function wt(){ct.start()}const ct=new mP;ct.setAnimationLoop(Mt),typeof self<"u"&&ct.setContext(self),this.setAnimationLoop=function(G){ot=G,Ce.setAnimationLoop(G),G===null?ct.stop():ct.start()},Ce.addEventListener("sessionstart",Ze),Ce.addEventListener("sessionend",wt),this.render=function(G,ae){if(ae!==void 0&&ae.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(T===!0)return;if(G.matrixWorldAutoUpdate===!0&&G.updateMatrixWorld(),ae.parent===null&&ae.matrixWorldAutoUpdate===!0&&ae.updateMatrixWorld(),Ce.enabled===!0&&Ce.isPresenting===!0&&(Ce.cameraAutoUpdate===!0&&Ce.updateCamera(ae),ae=Ce.getCamera()),G.isScene===!0&&G.onBeforeRender(_,G,ae,R),y=dt.get(G,b.length),y.init(ae),b.push(y),Ae.multiplyMatrices(ae.projectionMatrix,ae.matrixWorldInverse),oe.setFromProjectionMatrix(Ae),Fe=this.localClippingEnabled,_e=Be.init(this.clippingPlanes,Fe),A=Oe.get(G,x.length),A.init(),x.push(A),Ce.enabled===!0&&Ce.isPresenting===!0){const Ue=_.xr.getDepthSensingMesh();Ue!==null&&bt(Ue,ae,-1/0,_.sortObjects)}bt(G,ae,0,_.sortObjects),A.finish(),_.sortObjects===!0&&A.sort(ee,H),rt=Ce.enabled===!1||Ce.isPresenting===!1||Ce.hasDepthSensing()===!1,rt&&Xe.addToRenderList(A,G),this.info.render.frame++,_e===!0&&Be.beginShadows();const ge=y.state.shadowsArray;He.render(ge,G,ae),_e===!0&&Be.endShadows(),this.info.autoReset===!0&&this.info.reset();const pe=A.opaque,se=A.transmissive;if(y.setupLights(),ae.isArrayCamera){const Ue=ae.cameras;if(se.length>0)for(let Je=0,tt=Ue.length;Je<tt;Je++){const it=Ue[Je];Bt(pe,se,G,it)}rt&&Xe.render(G);for(let Je=0,tt=Ue.length;Je<tt;Je++){const it=Ue[Je];Vn(A,G,it,it.viewport)}}else se.length>0&&Bt(pe,se,G,ae),rt&&Xe.render(G),Vn(A,G,ae);R!==null&&I===0&&(k.updateMultisampleRenderTarget(R),k.updateRenderTargetMipmap(R)),G.isScene===!0&&G.onAfterRender(_,G,ae),Rt.resetDefaultState(),w=-1,E=null,b.pop(),b.length>0?(y=b[b.length-1],_e===!0&&Be.setGlobalState(_.clippingPlanes,y.state.camera)):y=null,x.pop(),x.length>0?A=x[x.length-1]:A=null};function bt(G,ae,ge,pe){if(G.visible===!1)return;if(G.layers.test(ae.layers)){if(G.isGroup)ge=G.renderOrder;else if(G.isLOD)G.autoUpdate===!0&&G.update(ae);else if(G.isLight)y.pushLight(G),G.castShadow&&y.pushShadow(G);else if(G.isSprite){if(!G.frustumCulled||oe.intersectsSprite(G)){pe&&be.setFromMatrixPosition(G.matrixWorld).applyMatrix4(Ae);const Je=fe.update(G),tt=G.material;tt.visible&&A.push(G,Je,tt,ge,be.z,null)}}else if((G.isMesh||G.isLine||G.isPoints)&&(!G.frustumCulled||oe.intersectsObject(G))){const Je=fe.update(G),tt=G.material;if(pe&&(G.boundingSphere!==void 0?(G.boundingSphere===null&&G.computeBoundingSphere(),be.copy(G.boundingSphere.center)):(Je.boundingSphere===null&&Je.computeBoundingSphere(),be.copy(Je.boundingSphere.center)),be.applyMatrix4(G.matrixWorld).applyMatrix4(Ae)),Array.isArray(tt)){const it=Je.groups;for(let pt=0,yt=it.length;pt<yt;pt++){const ht=it[pt],xt=tt[ht.materialIndex];xt&&xt.visible&&A.push(G,Je,xt,ge,be.z,ht)}}else tt.visible&&A.push(G,Je,tt,ge,be.z,null)}}const Ue=G.children;for(let Je=0,tt=Ue.length;Je<tt;Je++)bt(Ue[Je],ae,ge,pe)}function Vn(G,ae,ge,pe){const se=G.opaque,Ue=G.transmissive,Je=G.transparent;y.setupLightsView(ge),_e===!0&&Be.setGlobalState(_.clippingPlanes,ge),pe&&de.viewport(F.copy(pe)),se.length>0&&$t(se,ae,ge),Ue.length>0&&$t(Ue,ae,ge),Je.length>0&&$t(Je,ae,ge),de.buffers.depth.setTest(!0),de.buffers.depth.setMask(!0),de.buffers.color.setMask(!0),de.setPolygonOffset(!1)}function Bt(G,ae,ge,pe){if((ge.isScene===!0?ge.overrideMaterial:null)!==null)return;y.state.transmissionRenderTarget[pe.id]===void 0&&(y.state.transmissionRenderTarget[pe.id]=new li(1,1,{generateMipmaps:!0,type:ve.has("EXT_color_buffer_half_float")||ve.has("EXT_color_buffer_float")?nn:Ki,minFilter:Fs,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Xt.workingColorSpace}));const Ue=y.state.transmissionRenderTarget[pe.id],Je=pe.viewport||F;Ue.setSize(Je.z*_.transmissionResolutionScale,Je.w*_.transmissionResolutionScale);const tt=_.getRenderTarget();_.setRenderTarget(Ue),_.getClearColor(V),j=_.getClearAlpha(),j<1&&_.setClearColor(16777215,.5),_.clear(),rt&&Xe.render(ge);const it=_.toneMapping;_.toneMapping=Xl;const pt=pe.viewport;if(pe.viewport!==void 0&&(pe.viewport=void 0),y.setupLightsView(pe),_e===!0&&Be.setGlobalState(_.clippingPlanes,pe),$t(G,ge,pe),k.updateMultisampleRenderTarget(Ue),k.updateRenderTargetMipmap(Ue),ve.has("WEBGL_multisampled_render_to_texture")===!1){let yt=!1;for(let ht=0,xt=ae.length;ht<xt;ht++){const Kt=ae[ht],Wn=Kt.object,Dn=Kt.geometry,Ut=Kt.material,At=Kt.group;if(Ut.side===Zs&&Wn.layers.test(pe.layers)){const Ai=Ut.side;Ut.side=Rr,Ut.needsUpdate=!0,Qn(Wn,ge,pe,Dn,Ut,At),Ut.side=Ai,Ut.needsUpdate=!0,yt=!0}}yt===!0&&(k.updateMultisampleRenderTarget(Ue),k.updateRenderTargetMipmap(Ue))}_.setRenderTarget(tt),_.setClearColor(V,j),pt!==void 0&&(pe.viewport=pt),_.toneMapping=it}function $t(G,ae,ge){const pe=ae.isScene===!0?ae.overrideMaterial:null;for(let se=0,Ue=G.length;se<Ue;se++){const Je=G[se],tt=Je.object,it=Je.geometry,pt=pe===null?Je.material:pe,yt=Je.group;tt.layers.test(ge.layers)&&Qn(tt,ae,ge,it,pt,yt)}}function Qn(G,ae,ge,pe,se,Ue){G.onBeforeRender(_,ae,ge,pe,se,Ue),G.modelViewMatrix.multiplyMatrices(ge.matrixWorldInverse,G.matrixWorld),G.normalMatrix.getNormalMatrix(G.modelViewMatrix),se.onBeforeRender(_,ae,ge,pe,G,Ue),se.transparent===!0&&se.side===Zs&&se.forceSinglePass===!1?(se.side=Rr,se.needsUpdate=!0,_.renderBufferDirect(ge,ae,pe,se,G,Ue),se.side=Io,se.needsUpdate=!0,_.renderBufferDirect(ge,ae,pe,se,G,Ue),se.side=Zs):_.renderBufferDirect(ge,ae,pe,se,G,Ue),G.onAfterRender(_,ae,ge,pe,se,Ue)}function ln(G,ae,ge){ae.isScene!==!0&&(ae=qe);const pe=xe.get(G),se=y.state.lights,Ue=y.state.shadowsArray,Je=se.state.version,tt=Pe.getParameters(G,se.state,Ue,ae,ge),it=Pe.getProgramCacheKey(tt);let pt=pe.programs;pe.environment=G.isMeshStandardMaterial?ae.environment:null,pe.fog=ae.fog,pe.envMap=(G.isMeshStandardMaterial?ne:D).get(G.envMap||pe.environment),pe.envMapRotation=pe.environment!==null&&G.envMap===null?ae.environmentRotation:G.envMapRotation,pt===void 0&&(G.addEventListener("dispose",_t),pt=new Map,pe.programs=pt);let yt=pt.get(it);if(yt!==void 0){if(pe.currentProgram===yt&&pe.lightsStateVersion===Je)return Ft(G,tt),yt}else tt.uniforms=Pe.getUniforms(G),G.onBeforeCompile(tt,_),yt=Pe.acquireProgram(tt,it),pt.set(it,yt),pe.uniforms=tt.uniforms;const ht=pe.uniforms;return(!G.isShaderMaterial&&!G.isRawShaderMaterial||G.clipping===!0)&&(ht.clippingPlanes=Be.uniform),Ft(G,tt),pe.needsLights=ci(G),pe.lightsStateVersion=Je,pe.needsLights&&(ht.ambientLightColor.value=se.state.ambient,ht.lightProbe.value=se.state.probe,ht.directionalLights.value=se.state.directional,ht.directionalLightShadows.value=se.state.directionalShadow,ht.spotLights.value=se.state.spot,ht.spotLightShadows.value=se.state.spotShadow,ht.rectAreaLights.value=se.state.rectArea,ht.ltc_1.value=se.state.rectAreaLTC1,ht.ltc_2.value=se.state.rectAreaLTC2,ht.pointLights.value=se.state.point,ht.pointLightShadows.value=se.state.pointShadow,ht.hemisphereLights.value=se.state.hemi,ht.directionalShadowMap.value=se.state.directionalShadowMap,ht.directionalShadowMatrix.value=se.state.directionalShadowMatrix,ht.spotShadowMap.value=se.state.spotShadowMap,ht.spotLightMatrix.value=se.state.spotLightMatrix,ht.spotLightMap.value=se.state.spotLightMap,ht.pointShadowMap.value=se.state.pointShadowMap,ht.pointShadowMatrix.value=se.state.pointShadowMatrix),pe.currentProgram=yt,pe.uniformsList=null,yt}function cn(G){if(G.uniformsList===null){const ae=G.currentProgram.getUniforms();G.uniformsList=J1.seqWithValue(ae.seq,G.uniforms)}return G.uniformsList}function Ft(G,ae){const ge=xe.get(G);ge.outputColorSpace=ae.outputColorSpace,ge.batching=ae.batching,ge.batchingColor=ae.batchingColor,ge.instancing=ae.instancing,ge.instancingColor=ae.instancingColor,ge.instancingMorph=ae.instancingMorph,ge.skinning=ae.skinning,ge.morphTargets=ae.morphTargets,ge.morphNormals=ae.morphNormals,ge.morphColors=ae.morphColors,ge.morphTargetsCount=ae.morphTargetsCount,ge.numClippingPlanes=ae.numClippingPlanes,ge.numIntersection=ae.numClipIntersection,ge.vertexAlphas=ae.vertexAlphas,ge.vertexTangents=ae.vertexTangents,ge.toneMapping=ae.toneMapping}function tr(G,ae,ge,pe,se){ae.isScene!==!0&&(ae=qe),k.resetTextureUnits();const Ue=ae.fog,Je=pe.isMeshStandardMaterial?ae.environment:null,tt=R===null?_.outputColorSpace:R.isXRRenderTarget===!0?R.texture.colorSpace:mi,it=(pe.isMeshStandardMaterial?ne:D).get(pe.envMap||Je),pt=pe.vertexColors===!0&&!!ge.attributes.color&&ge.attributes.color.itemSize===4,yt=!!ge.attributes.tangent&&(!!pe.normalMap||pe.anisotropy>0),ht=!!ge.morphAttributes.position,xt=!!ge.morphAttributes.normal,Kt=!!ge.morphAttributes.color;let Wn=Xl;pe.toneMapped&&(R===null||R.isXRRenderTarget===!0)&&(Wn=_.toneMapping);const Dn=ge.morphAttributes.position||ge.morphAttributes.normal||ge.morphAttributes.color,Ut=Dn!==void 0?Dn.length:0,At=xe.get(pe),Ai=y.state.lights;if(_e===!0&&(Fe===!0||G!==E)){const Ri=G===E&&pe.id===w;Be.setState(pe,G,Ri)}let Gt=!1;pe.version===At.__version?(At.needsLights&&At.lightsStateVersion!==Ai.state.version||At.outputColorSpace!==tt||se.isBatchedMesh&&At.batching===!1||!se.isBatchedMesh&&At.batching===!0||se.isBatchedMesh&&At.batchingColor===!0&&se.colorTexture===null||se.isBatchedMesh&&At.batchingColor===!1&&se.colorTexture!==null||se.isInstancedMesh&&At.instancing===!1||!se.isInstancedMesh&&At.instancing===!0||se.isSkinnedMesh&&At.skinning===!1||!se.isSkinnedMesh&&At.skinning===!0||se.isInstancedMesh&&At.instancingColor===!0&&se.instanceColor===null||se.isInstancedMesh&&At.instancingColor===!1&&se.instanceColor!==null||se.isInstancedMesh&&At.instancingMorph===!0&&se.morphTexture===null||se.isInstancedMesh&&At.instancingMorph===!1&&se.morphTexture!==null||At.envMap!==it||pe.fog===!0&&At.fog!==Ue||At.numClippingPlanes!==void 0&&(At.numClippingPlanes!==Be.numPlanes||At.numIntersection!==Be.numIntersection)||At.vertexAlphas!==pt||At.vertexTangents!==yt||At.morphTargets!==ht||At.morphNormals!==xt||At.morphColors!==Kt||At.toneMapping!==Wn||At.morphTargetsCount!==Ut)&&(Gt=!0):(Gt=!0,At.__version=pe.version);let Lr=At.currentProgram;Gt===!0&&(Lr=ln(pe,ae,se));let Lo=!1,nr=!1,oa=!1;const wn=Lr.getUniforms(),vi=At.uniforms;if(de.useProgram(Lr.program)&&(Lo=!0,nr=!0,oa=!0),pe.id!==w&&(w=pe.id,nr=!0),Lo||E!==G){de.buffers.depth.getReversed()?(Z.copy(G.projectionMatrix),j$(Z),q$(Z),wn.setValue(B,"projectionMatrix",Z)):wn.setValue(B,"projectionMatrix",G.projectionMatrix),wn.setValue(B,"viewMatrix",G.matrixWorldInverse);const Ci=wn.map.cameraPosition;Ci!==void 0&&Ci.setValue(B,we.setFromMatrixPosition(G.matrixWorld)),$.logarithmicDepthBuffer&&wn.setValue(B,"logDepthBufFC",2/(Math.log(G.far+1)/Math.LN2)),(pe.isMeshPhongMaterial||pe.isMeshToonMaterial||pe.isMeshLambertMaterial||pe.isMeshBasicMaterial||pe.isMeshStandardMaterial||pe.isShaderMaterial)&&wn.setValue(B,"isOrthographic",G.isOrthographicCamera===!0),E!==G&&(E=G,nr=!0,oa=!0)}if(se.isSkinnedMesh){wn.setOptional(B,se,"bindMatrix"),wn.setOptional(B,se,"bindMatrixInverse");const Ri=se.skeleton;Ri&&(Ri.boneTexture===null&&Ri.computeBoneTexture(),wn.setValue(B,"boneTexture",Ri.boneTexture,k))}se.isBatchedMesh&&(wn.setOptional(B,se,"batchingTexture"),wn.setValue(B,"batchingTexture",se._matricesTexture,k),wn.setOptional(B,se,"batchingIdTexture"),wn.setValue(B,"batchingIdTexture",se._indirectTexture,k),wn.setOptional(B,se,"batchingColorTexture"),se._colorsTexture!==null&&wn.setValue(B,"batchingColorTexture",se._colorsTexture,k));const ir=ge.morphAttributes;if((ir.position!==void 0||ir.normal!==void 0||ir.color!==void 0)&&st.update(se,ge,Lr),(nr||At.receiveShadow!==se.receiveShadow)&&(At.receiveShadow=se.receiveShadow,wn.setValue(B,"receiveShadow",se.receiveShadow)),pe.isMeshGouraudMaterial&&pe.envMap!==null&&(vi.envMap.value=it,vi.flipEnvMap.value=it.isCubeTexture&&it.isRenderTargetTexture===!1?-1:1),pe.isMeshStandardMaterial&&pe.envMap===null&&ae.environment!==null&&(vi.envMapIntensity.value=ae.environmentIntensity),nr&&(wn.setValue(B,"toneMappingExposure",_.toneMappingExposure),At.needsLights&&rn(vi,oa),Ue&&pe.fog===!0&&Le.refreshFogUniforms(vi,Ue),Le.refreshMaterialUniforms(vi,pe,W,Q,y.state.transmissionRenderTarget[G.id]),J1.upload(B,cn(At),vi,k)),pe.isShaderMaterial&&pe.uniformsNeedUpdate===!0&&(J1.upload(B,cn(At),vi,k),pe.uniformsNeedUpdate=!1),pe.isSpriteMaterial&&wn.setValue(B,"center",se.center),wn.setValue(B,"modelViewMatrix",se.modelViewMatrix),wn.setValue(B,"normalMatrix",se.normalMatrix),wn.setValue(B,"modelMatrix",se.matrixWorld),pe.isShaderMaterial||pe.isRawShaderMaterial){const Ri=pe.uniformsGroups;for(let Ci=0,uc=Ri.length;Ci<uc;Ci++){const pr=Ri[Ci];te.update(pr,Lr),te.bind(pr,Lr)}}return Lr}function rn(G,ae){G.ambientLightColor.needsUpdate=ae,G.lightProbe.needsUpdate=ae,G.directionalLights.needsUpdate=ae,G.directionalLightShadows.needsUpdate=ae,G.pointLights.needsUpdate=ae,G.pointLightShadows.needsUpdate=ae,G.spotLights.needsUpdate=ae,G.spotLightShadows.needsUpdate=ae,G.rectAreaLights.needsUpdate=ae,G.hemisphereLights.needsUpdate=ae}function ci(G){return G.isMeshLambertMaterial||G.isMeshToonMaterial||G.isMeshPhongMaterial||G.isMeshStandardMaterial||G.isShadowMaterial||G.isShaderMaterial&&G.lights===!0}this.getActiveCubeFace=function(){return M},this.getActiveMipmapLevel=function(){return I},this.getRenderTarget=function(){return R},this.setRenderTargetTextures=function(G,ae,ge){xe.get(G.texture).__webglTexture=ae,xe.get(G.depthTexture).__webglTexture=ge;const pe=xe.get(G);pe.__hasExternalTextures=!0,pe.__autoAllocateDepthBuffer=ge===void 0,pe.__autoAllocateDepthBuffer||ve.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),pe.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(G,ae){const ge=xe.get(G);ge.__webglFramebuffer=ae,ge.__useDefaultFramebuffer=ae===void 0};const hr=B.createFramebuffer();this.setRenderTarget=function(G,ae=0,ge=0){R=G,M=ae,I=ge;let pe=!0,se=null,Ue=!1,Je=!1;if(G){const it=xe.get(G);if(it.__useDefaultFramebuffer!==void 0)de.bindFramebuffer(B.FRAMEBUFFER,null),pe=!1;else if(it.__webglFramebuffer===void 0)k.setupRenderTarget(G);else if(it.__hasExternalTextures)k.rebindTextures(G,xe.get(G.texture).__webglTexture,xe.get(G.depthTexture).__webglTexture);else if(G.depthBuffer){const ht=G.depthTexture;if(it.__boundDepthTexture!==ht){if(ht!==null&&xe.has(ht)&&(G.width!==ht.image.width||G.height!==ht.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");k.setupDepthRenderbuffer(G)}}const pt=G.texture;(pt.isData3DTexture||pt.isDataArrayTexture||pt.isCompressedArrayTexture)&&(Je=!0);const yt=xe.get(G).__webglFramebuffer;G.isWebGLCubeRenderTarget?(Array.isArray(yt[ae])?se=yt[ae][ge]:se=yt[ae],Ue=!0):G.samples>0&&k.useMultisampledRTT(G)===!1?se=xe.get(G).__webglMultisampledFramebuffer:Array.isArray(yt)?se=yt[ge]:se=yt,F.copy(G.viewport),L.copy(G.scissor),z=G.scissorTest}else F.copy(ye).multiplyScalar(W).floor(),L.copy(Ie).multiplyScalar(W).floor(),z=ze;if(ge!==0&&(se=hr),de.bindFramebuffer(B.FRAMEBUFFER,se)&&pe&&de.drawBuffers(G,se),de.viewport(F),de.scissor(L),de.setScissorTest(z),Ue){const it=xe.get(G.texture);B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_CUBE_MAP_POSITIVE_X+ae,it.__webglTexture,ge)}else if(Je){const it=xe.get(G.texture),pt=ae;B.framebufferTextureLayer(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,it.__webglTexture,ge,pt)}else if(G!==null&&ge!==0){const it=xe.get(G.texture);B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,it.__webglTexture,ge)}w=-1},this.readRenderTargetPixels=function(G,ae,ge,pe,se,Ue,Je){if(!(G&&G.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let tt=xe.get(G).__webglFramebuffer;if(G.isWebGLCubeRenderTarget&&Je!==void 0&&(tt=tt[Je]),tt){de.bindFramebuffer(B.FRAMEBUFFER,tt);try{const it=G.texture,pt=it.format,yt=it.type;if(!$.textureFormatReadable(pt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!$.textureTypeReadable(yt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ae>=0&&ae<=G.width-pe&&ge>=0&&ge<=G.height-se&&B.readPixels(ae,ge,pe,se,lt.convert(pt),lt.convert(yt),Ue)}finally{const it=R!==null?xe.get(R).__webglFramebuffer:null;de.bindFramebuffer(B.FRAMEBUFFER,it)}}},this.readRenderTargetPixelsAsync=async function(G,ae,ge,pe,se,Ue,Je){if(!(G&&G.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let tt=xe.get(G).__webglFramebuffer;if(G.isWebGLCubeRenderTarget&&Je!==void 0&&(tt=tt[Je]),tt){const it=G.texture,pt=it.format,yt=it.type;if(!$.textureFormatReadable(pt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!$.textureTypeReadable(yt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(ae>=0&&ae<=G.width-pe&&ge>=0&&ge<=G.height-se){de.bindFramebuffer(B.FRAMEBUFFER,tt);const ht=B.createBuffer();B.bindBuffer(B.PIXEL_PACK_BUFFER,ht),B.bufferData(B.PIXEL_PACK_BUFFER,Ue.byteLength,B.STREAM_READ),B.readPixels(ae,ge,pe,se,lt.convert(pt),lt.convert(yt),0);const xt=R!==null?xe.get(R).__webglFramebuffer:null;de.bindFramebuffer(B.FRAMEBUFFER,xt);const Kt=B.fenceSync(B.SYNC_GPU_COMMANDS_COMPLETE,0);return B.flush(),await W$(B,Kt,4),B.bindBuffer(B.PIXEL_PACK_BUFFER,ht),B.getBufferSubData(B.PIXEL_PACK_BUFFER,0,Ue),B.deleteBuffer(ht),B.deleteSync(Kt),Ue}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(G,ae=null,ge=0){G.isTexture!==!0&&(Mf("WebGLRenderer: copyFramebufferToTexture function signature has changed."),ae=arguments[0]||null,G=arguments[1]);const pe=Math.pow(2,-ge),se=Math.floor(G.image.width*pe),Ue=Math.floor(G.image.height*pe),Je=ae!==null?ae.x:0,tt=ae!==null?ae.y:0;k.setTexture2D(G,0),B.copyTexSubImage2D(B.TEXTURE_2D,ge,0,0,Je,tt,se,Ue),de.unbindTexture()};const Zn=B.createFramebuffer(),Jn=B.createFramebuffer();this.copyTextureToTexture=function(G,ae,ge=null,pe=null,se=0,Ue=null){G.isTexture!==!0&&(Mf("WebGLRenderer: copyTextureToTexture function signature has changed."),pe=arguments[0]||null,G=arguments[1],ae=arguments[2],Ue=arguments[3]||0,ge=null),Ue===null&&(se!==0?(Mf("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),Ue=se,se=0):Ue=0);let Je,tt,it,pt,yt,ht,xt,Kt,Wn;const Dn=G.isCompressedTexture?G.mipmaps[Ue]:G.image;if(ge!==null)Je=ge.max.x-ge.min.x,tt=ge.max.y-ge.min.y,it=ge.isBox3?ge.max.z-ge.min.z:1,pt=ge.min.x,yt=ge.min.y,ht=ge.isBox3?ge.min.z:0;else{const ir=Math.pow(2,-se);Je=Math.floor(Dn.width*ir),tt=Math.floor(Dn.height*ir),G.isDataArrayTexture?it=Dn.depth:G.isData3DTexture?it=Math.floor(Dn.depth*ir):it=1,pt=0,yt=0,ht=0}pe!==null?(xt=pe.x,Kt=pe.y,Wn=pe.z):(xt=0,Kt=0,Wn=0);const Ut=lt.convert(ae.format),At=lt.convert(ae.type);let Ai;ae.isData3DTexture?(k.setTexture3D(ae,0),Ai=B.TEXTURE_3D):ae.isDataArrayTexture||ae.isCompressedArrayTexture?(k.setTexture2DArray(ae,0),Ai=B.TEXTURE_2D_ARRAY):(k.setTexture2D(ae,0),Ai=B.TEXTURE_2D),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,ae.flipY),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ae.premultiplyAlpha),B.pixelStorei(B.UNPACK_ALIGNMENT,ae.unpackAlignment);const Gt=B.getParameter(B.UNPACK_ROW_LENGTH),Lr=B.getParameter(B.UNPACK_IMAGE_HEIGHT),Lo=B.getParameter(B.UNPACK_SKIP_PIXELS),nr=B.getParameter(B.UNPACK_SKIP_ROWS),oa=B.getParameter(B.UNPACK_SKIP_IMAGES);B.pixelStorei(B.UNPACK_ROW_LENGTH,Dn.width),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,Dn.height),B.pixelStorei(B.UNPACK_SKIP_PIXELS,pt),B.pixelStorei(B.UNPACK_SKIP_ROWS,yt),B.pixelStorei(B.UNPACK_SKIP_IMAGES,ht);const wn=G.isDataArrayTexture||G.isData3DTexture,vi=ae.isDataArrayTexture||ae.isData3DTexture;if(G.isDepthTexture){const ir=xe.get(G),Ri=xe.get(ae),Ci=xe.get(ir.__renderTarget),uc=xe.get(Ri.__renderTarget);de.bindFramebuffer(B.READ_FRAMEBUFFER,Ci.__webglFramebuffer),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,uc.__webglFramebuffer);for(let pr=0;pr<it;pr++)wn&&(B.framebufferTextureLayer(B.READ_FRAMEBUFFER,B.COLOR_ATTACHMENT0,xe.get(G).__webglTexture,se,ht+pr),B.framebufferTextureLayer(B.DRAW_FRAMEBUFFER,B.COLOR_ATTACHMENT0,xe.get(ae).__webglTexture,Ue,Wn+pr)),B.blitFramebuffer(pt,yt,Je,tt,xt,Kt,Je,tt,B.DEPTH_BUFFER_BIT,B.NEAREST);de.bindFramebuffer(B.READ_FRAMEBUFFER,null),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,null)}else if(se!==0||G.isRenderTargetTexture||xe.has(G)){const ir=xe.get(G),Ri=xe.get(ae);de.bindFramebuffer(B.READ_FRAMEBUFFER,Zn),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,Jn);for(let Ci=0;Ci<it;Ci++)wn?B.framebufferTextureLayer(B.READ_FRAMEBUFFER,B.COLOR_ATTACHMENT0,ir.__webglTexture,se,ht+Ci):B.framebufferTexture2D(B.READ_FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,ir.__webglTexture,se),vi?B.framebufferTextureLayer(B.DRAW_FRAMEBUFFER,B.COLOR_ATTACHMENT0,Ri.__webglTexture,Ue,Wn+Ci):B.framebufferTexture2D(B.DRAW_FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,Ri.__webglTexture,Ue),se!==0?B.blitFramebuffer(pt,yt,Je,tt,xt,Kt,Je,tt,B.COLOR_BUFFER_BIT,B.NEAREST):vi?B.copyTexSubImage3D(Ai,Ue,xt,Kt,Wn+Ci,pt,yt,Je,tt):B.copyTexSubImage2D(Ai,Ue,xt,Kt,pt,yt,Je,tt);de.bindFramebuffer(B.READ_FRAMEBUFFER,null),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,null)}else vi?G.isDataTexture||G.isData3DTexture?B.texSubImage3D(Ai,Ue,xt,Kt,Wn,Je,tt,it,Ut,At,Dn.data):ae.isCompressedArrayTexture?B.compressedTexSubImage3D(Ai,Ue,xt,Kt,Wn,Je,tt,it,Ut,Dn.data):B.texSubImage3D(Ai,Ue,xt,Kt,Wn,Je,tt,it,Ut,At,Dn):G.isDataTexture?B.texSubImage2D(B.TEXTURE_2D,Ue,xt,Kt,Je,tt,Ut,At,Dn.data):G.isCompressedTexture?B.compressedTexSubImage2D(B.TEXTURE_2D,Ue,xt,Kt,Dn.width,Dn.height,Ut,Dn.data):B.texSubImage2D(B.TEXTURE_2D,Ue,xt,Kt,Je,tt,Ut,At,Dn);B.pixelStorei(B.UNPACK_ROW_LENGTH,Gt),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,Lr),B.pixelStorei(B.UNPACK_SKIP_PIXELS,Lo),B.pixelStorei(B.UNPACK_SKIP_ROWS,nr),B.pixelStorei(B.UNPACK_SKIP_IMAGES,oa),Ue===0&&ae.generateMipmaps&&B.generateMipmap(Ai),de.unbindTexture()},this.copyTextureToTexture3D=function(G,ae,ge=null,pe=null,se=0){return G.isTexture!==!0&&(Mf("WebGLRenderer: copyTextureToTexture3D function signature has changed."),ge=arguments[0]||null,pe=arguments[1]||null,G=arguments[2],ae=arguments[3],se=arguments[4]||0),Mf('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use "copyTextureToTexture" instead.'),this.copyTextureToTexture(G,ae,ge,pe,se)},this.initRenderTarget=function(G){xe.get(G).__webglFramebuffer===void 0&&k.setupRenderTarget(G)},this.initTexture=function(G){G.isCubeTexture?k.setTextureCube(G,0):G.isData3DTexture?k.setTexture3D(G,0):G.isDataArrayTexture||G.isCompressedArrayTexture?k.setTexture2DArray(G,0):k.setTexture2D(G,0),de.unbindTexture()},this.resetState=function(){M=0,I=0,R=null,de.reset(),Rt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ko}get outputColorSpace(){return this._outputColorSpace}
vendor: 17,234 bytes, line 3901
3901set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorspace=Xt._getDrawingBufferColorSpace(e),t.unpackColorSpace=Xt._getUnpackColorSpace()}}class Xne{add(e,t=0,i=1/0){const r=zM.add(e,{priority:t,fps:i});return e._remove=r,r}remove(e){e._remove&&e._remove()}}function w8(n,e){if(e===v$)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===Eb||e===WI){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l<a.count;l++)o.push(l);n.setIndex(o),t=n.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),n}const i=t.count-2,r=[];if(e===Eb)for(let o=1;o<=i;o++)r.push(t.getX(0)),r.push(t.getX(o)),r.push(t.getX(o+1));else for(let o=0;o<i;o++)o%2===0?(r.push(t.getX(o)),r.push(t.getX(o+1)),r.push(t.getX(o+2))):(r.push(t.getX(o+2)),r.push(t.getX(o+1)),r.push(t.getX(o)));r.length/3!==i&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const s=n.clone();return s.setIndex(r),s.clearGroups(),s}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),n}class Yne extends ia{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new eie(t)}),this.register(function(t){return new tie(t)}),this.register(function(t){return new uie(t)}),this.register(function(t){return new fie(t)}),this.register(function(t){return new die(t)}),this.register(function(t){return new iie(t)}),this.register(function(t){return new rie(t)}),this.register(function(t){return new sie(t)}),this.register(function(t){return new oie(t)}),this.register(function(t){return new Jne(t)}),this.register(function(t){return new aie(t)}),this.register(function(t){return new nie(t)}),this.register(function(t){return new cie(t)}),this.register(function(t){return new lie(t)}),this.register(function(t){return new Kne(t)}),this.register(function(t){return new hie(t)}),this.register(function(t){return new pie(t)})}load(e,t,i,r){const s=this;let o;if(this.resourcePath!=="")o=this.resourcePath;else if(this.path!==""){const c=T0.extractUrlBase(e);o=T0.resolveURL(c,this.path)}else o=T0.extractUrlBase(e);this.manager.itemStart(e);const a=function(c){r?r(c):console.error(c),s.manager.itemError(e),s.manager.itemEnd(e)},l=new Yl(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(c){try{s.parse(c,o,function(u){t(u),s.manager.itemEnd(e)},a)}catch(u){a(u)}},i,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,i,r){let s;const o={},a={},l=new TextDecoder;if(typeof e=="string")s=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===_P){try{o[Qt.KHR_BINARY_GLTF]=new mie(e)}catch(f){r&&r(f);return}s=JSON.parse(o[Qt.KHR_BINARY_GLTF].content)}else s=JSON.parse(l.decode(e));else s=e;if(s.asset===void 0||s.asset.version[0]<2){r&&r(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const c=new Mie(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u<this.pluginCallbacks.length;u++){const f=this.pluginCallbacks[u](c);f.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),a[f.name]=f,o[f.name]=!0}if(s.extensionsUsed)for(let u=0;u<s.extensionsUsed.length;++u){const f=s.extensionsUsed[u],h=s.extensionsRequired||[];switch(f){case Qt.KHR_MATERIALS_UNLIT:o[f]=new Zne;break;case Qt.KHR_DRACO_MESH_COMPRESSION:o[f]=new gie(s,this.dracoLoader);break;case Qt.KHR_TEXTURE_TRANSFORM:o[f]=new Aie;break;case Qt.KHR_MESH_QUANTIZATION:o[f]=new vie;break;default:h.indexOf(f)>=0&&a[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}c.setExtensions(o),c.setPlugins(a),c.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}}function $ne(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const Qt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Kne{constructor(e){this.parser=e,this.name=Qt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i<r;i++){const s=t[i];s.extensions&&s.extensions[this.name]&&s.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,s.extensions[this.name].light)}}_loadLight(e){const t=this.parser,i="light:"+e;let r=t.cache.get(i);if(r)return r;const s=t.json,l=((s.extensions&&s.extensions[this.name]||{}).lights||[])[e];let c;const u=new ke(16777215);l.color!==void 0&&u.setRGB(l.color[0],l.color[1],l.color[2],mi);const f=l.range!==void 0?l.range:0;switch(l.type){case"directional":c=new jg(u),c.target.position.set(0,0,-1),c.add(c.target);break;case"point":c=new YK(u),c.distance=f;break;case"spot":c=new qK(u),c.distance=f,l.spot=l.spot||{},l.spot.innerConeAngle=l.spot.innerConeAngle!==void 0?l.spot.innerConeAngle:0,l.spot.outerConeAngle=l.spot.outerConeAngle!==void 0?l.spot.outerConeAngle:Math.PI/4,c.angle=l.spot.outerConeAngle,c.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,c.target.position.set(0,0,-1),c.add(c.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return c.position.set(0,0,0),Ea(c,l),l.intensity!==void 0&&(c.intensity=l.intensity),c.name=t.createUniqueName(l.name||"light_"+e),r=Promise.resolve(c),t.cache.add(i,r),r}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,i=this.parser,s=i.json.nodes[e],a=(s.extensions&&s.extensions[this.name]||{}).light;return a===void 0?null:this._loadLight(a).then(function(l){return i._getNodeRef(t.cache,a,l)})}}class Zne{constructor(){this.name=Qt.KHR_MATERIALS_UNLIT}getMaterialType(){return Jr}extendParams(e,t,i){const r=[];e.color=new ke(1,1,1),e.opacity=1;const s=t.pbrMetallicRoughness;if(s){if(Array.isArray(s.baseColorFactor)){const o=s.baseColorFactor;e.color.setRGB(o[0],o[1],o[2],mi),e.opacity=o[3]}s.baseColorTexture!==void 0&&r.push(i.assignTexture(e,"map",s.baseColorTexture,En))}return Promise.all(r)}}class Jne{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name].emissiveStrength;return s!==void 0&&(t.emissiveIntensity=s),Promise.resolve()}}class eie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&s.push(i.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&s.push(i.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(s.push(i.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const a=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new Re(a,a)}return Promise.all(s)}}class tie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_DISPERSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name];return t.dispersion=s.dispersion!==void 0?s.dispersion:0,Promise.resolve()}}class nie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&s.push(i.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&s.push(i.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(s)}}class iie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_SHEEN}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[];t.sheenColor=new ke(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=r.extensions[this.name];if(o.sheenColorFactor!==void 0){const a=o.sheenColorFactor;t.sheenColor.setRGB(a[0],a[1],a[2],mi)}return o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&s.push(i.assignTexture(t,"sheenColorMap",o.sheenColorTexture,En)),o.sheenRoughnessTexture!==void 0&&s.push(i.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(s)}}class rie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&s.push(i.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(s)}}class sie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_VOLUME}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&s.push(i.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const a=o.attenuationColor||[1,1,1];return t.attenuationColor=new ke().setRGB(a[0],a[1],a[2],mi),Promise.all(s)}}class oie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_IOR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name];return t.ior=s.ior!==void 0?s.ior:1.5,Promise.resolve()}}class aie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_SPECULAR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&s.push(i.assignTexture(t,"specularIntensityMap",o.specularTexture));const a=o.specularColorFactor||[1,1,1];return t.specularColor=new ke().setRGB(a[0],a[1],a[2],mi),o.specularColorTexture!==void 0&&s.push(i.assignTexture(t,"specularColorMap",o.specularColorTexture,En)),Promise.all(s)}}class lie{constructor(e){this.parser=e,this.name=Qt.EXT_MATERIALS_BUMP}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return t.bumpScale=o.bumpFactor!==void 0?o.bumpFactor:1,o.bumpTexture!==void 0&&s.push(i.assignTexture(t,"bumpMap",o.bumpTexture)),Promise.all(s)}}class cie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&s.push(i.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(s)}}class uie{constructor(e){this.parser=e,this.name=Qt.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,i=t.json,r=i.textures[e];if(!r.extensions||!r.extensions[this.name])return null;const s=r.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(i.extensionsRequired&&i.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class fie{constructor(e){this.parser=e,this.name=Qt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class die{constructor(e){this.parser=e,this.name=Qt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
3901FDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class hie{constructor(e){this.name=Qt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,c=r.byteLength||0,u=r.count,f=r.byteStride,h=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(u,f,h,r.mode,r.filter).then(function(p){return p.buffer}):o.ready.then(function(){const p=new ArrayBuffer(u*f);return o.decodeGltfBuffer(new Uint8Array(p),u,f,h,r.mode,r.filter),p})})}else return null}}class pie{constructor(e){this.name=Qt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const c of r.primitives)if(c.mode!==Xs.TRIANGLES&&c.mode!==Xs.TRIANGLE_STRIP&&c.mode!==Xs.TRIANGLE_FAN&&c.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const c in o)a.push(this.parser.getDependency("accessor",o[c]).then(u=>(l[c]=u,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const u=c.pop(),f=u.isGroup?u.children:[u],h=c[0].count,p=[];for(const m of f){const v=new Ct,A=new K,y=new Xn,x=new K(1,1,1),b=new Tp(m.geometry,m.material,h);for(let _=0;_<h;_++)l.TRANSLATION&&A.fromBufferAttribute(l.TRANSLATION,_),l.ROTATION&&y.fromBufferAttribute(l.ROTATION,_),l.SCALE&&x.fromBufferAttribute(l.SCALE,_),b.setMatrixAt(_,v.compose(A,y,x));for(const _ in l)if(_==="_COLOR_0"){const T=l[_];b.instanceColor=new Ro(T.array,T.itemSize,T.normalized)}else _!=="TRANSLATION"&&_!=="ROTATION"&&_!=="SCALE"&&m.geometry.setAttribute(_,l[_]);Wt.prototype.copy.call(b,m),this.parser.assignFinalMaterial(b),p.push(b)}return u.isGroup?(u.clear(),u.add(...p),u):p[0]}))}}const _P="glTF",Dh=12,S8={JSON:1313821514,BIN:5130562};class mie{constructor(e){this.name=Qt.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,Dh),i=new TextDecoder;if(this.header={magic:i.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==_P)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const r=this.header.length-Dh,s=new DataView(e,Dh);let o=0;for(;o<r;){const a=s.getUint32(o,!0);o+=4;const l=s.getUint32(o,!0);if(o+=4,l===S8.JSON){const c=new Uint8Array(e,Dh+o,a);this.content=i.decode(c)}else if(l===S8.BIN){const c=Dh+o;this.body=e.slice(c,c+a)}o+=a}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class gie{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=Qt.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const i=this.json,r=this.dracoLoader,s=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,a={},l={},c={};for(const u in o){const f=Bb[u]||u.toLowerCase();a[f]=o[u]}for(const u in e.attributes){const f=Bb[u]||u.toLowerCase();if(o[u]!==void 0){const h=i.accessors[e.attributes[u]],p=id[h.componentType];c[f]=p.name,l[f]=h.normalized===!0}}return t.getDependency("bufferView",s).then(function(u){return new Promise(function(f,h){r.decodeDracoFile(u,function(p){for(const m in p.attributes){const v=p.attributes[m],A=l[m];A!==void 0&&(v.normalized=A)}f(p)},a,c,mi,h)})})}}class Aie{constructor(){this.name=Qt.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class vie{constructor(){this.name=Qt.KHR_MESH_QUANTIZATION}}class bP extends Mp{constructor(e,t,i,r){super(e,t,i,r)}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,s=e*r*3+r;for(let o=0;o!==r;o++)t[o]=i[s+o];return t}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=a*2,c=a*3,u=r-t,f=(i-t)/u,h=f*f,p=h*f,m=e*c,v=m-c,A=-2*p+3*h,y=p-h,x=1-A,b=y-h+f;
vendor: 23,791 bytes, line 3901
3901for(let _=0;_!==a;_++){const T=o[v+_+a],M=o[v+_+l]*u,I=o[m+_+a],R=o[m+_]*u;s[_]=x*T+b*M+A*I+y*R}return s}}const yie=new Xn;class _ie extends bP{interpolate_(e,t,i,r){const s=super.interpolate_(e,t,i,r);return yie.fromArray(s).normalize().toArray(s),s}}const Xs={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},id={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},E8={9728:Br,9729:Yt,9984:FI,9985:$1,9986:qh,9987:Fs},T8={33071:ti,33648:Sd,10497:ts},N3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Bb={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},ml={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},bie={CUBICSPLINE:void 0,LINEAR:ep,STEP:J0},k3={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function xie(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new o4({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Io})),n.DefaultMaterial}function Wc(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function Ea(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function Cie(n,e,t){let i=!1,r=!1,s=!1;for(let c=0,u=e.length;c<u;c++){const f=e[c];if(f.POSITION!==void 0&&(i=!0),f.NORMAL!==void 0&&(r=!0),f.COLOR_0!==void 0&&(s=!0),i&&r&&s)break}if(!i&&!r&&!s)return Promise.resolve(n);const o=[],a=[],l=[];for(let c=0,u=e.length;c<u;c++){const f=e[c];if(i){const h=f.POSITION!==void 0?t.getDependency("accessor",f.POSITION):n.attributes.position;o.push(h)}if(r){const h=f.NORMAL!==void 0?t.getDependency("accessor",f.NORMAL):n.attributes.normal;a.push(h)}if(s){const h=f.COLOR_0!==void 0?t.getDependency("accessor",f.COLOR_0):n.attributes.color;l.push(h)}}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l)]).then(function(c){const u=c[0],f=c[1],h=c[2];return i&&(n.morphAttributes.position=u),r&&(n.morphAttributes.normal=f),s&&(n.morphAttributes.color=h),n.morphTargetsRelative=!0,n})}function wie(n,e){if(n.updateMorphTargets(),e.weights!==void 0)for(let t=0,i=e.weights.length;t<i;t++)n.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(n.morphTargetInfluences.length===t.length){n.morphTargetDictionary={};for(let i=0,r=t.length;i<r;i++)n.morphTargetDictionary[t[i]]=i}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function Sie(n){let e;const t=n.extensions&&n.extensions[Qt.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+z3(t.attributes):e=n.indices+":"+z3(n.attributes)+":"+n.mode,n.targets!==void 0)for(let i=0,r=n.targets.length;i<r;i++)e+=":"+z3(n.targets[i]);return e}function z3(n){let e="";const t=Object.keys(n).sort();for(let i=0,r=t.length;i<r;i++)e+=t[i]+":"+n[t[i]]+";";return e}function Db(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function Eie(n){return n.search(/\.jpe?g($|\?)/i)>0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":n.search(/\.ktx2($|\?)/i)>0||n.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"}const Tie=new Ct;class Mie{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new $ne,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=-1,s=!1,o=-1;if(typeof navigator<"u"){const a=navigator.userAgent;i=/^((?!chrome|android).)*safari/i.test(a)===!0;const l=a.match(/Version\/(\d+)/);r=i&&l?parseInt(l[1],10):-1,s=a.indexOf("Firefox")>-1,o=s?a.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||i&&r<17||s&&o<98?this.textureLoader=new fP(this.options.manager):this.textureLoader=new JK(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Yl(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return Wc(s,a,r),Ea(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r<s;r++){const o=t[r].joints;for(let a=0,l=o.length;a<l;a++)e[o[a]].isBone=!0}for(let r=0,s=e.length;r<s;r++){const o=e[r];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(i[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,i){if(e.refs[t]<=1)return i;const r=i.clone(),s=(o,a)=>{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,u]of o.children.entries())s(u,a.children[c])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i<t.length;i++){const r=e(t[i]);if(r)return r}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const i=[];for(let r=0;r<t.length;r++){const s=e(t[r]);s&&i.push(s)}return i}getDependency(e,t){const i=e+":"+t;let r=this.cache.get(i);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this._invokeOne(function(s){return s.loadNode&&s.loadNode(t)});break;case"mesh":r=this._invokeOne(function(s){return s.loadMesh&&s.loadMesh(t)});break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this._invokeOne(function(s){return s.loadBufferView&&s.loadBufferView(t)});break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this._invokeOne(function(s){return s.loadMaterial&&s.loadMaterial(t)});break;case"texture":r=this._invokeOne(function(s){return s.loadTexture&&s.loadTexture(t)});break;case"skin":r=this.loadSkin(t);break;case"animation":r=this._invokeOne(function(s){return s.loadAnimation&&s.loadAnimation(t)});break;case"camera":r=this.loadCamera(t);break;default:if(r=this._invokeOne(function(s){return s!=this&&s.getDependency&&s.getDependency(e,t)}),!r)throw new Error("Unknown type: "+e);break}this.cache.add(i,r)}return r}getDependencies(e){let t=this.cache.get(e);if(!t){const i=this,r=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(r.map(function(s,o){return i.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],i=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[Qt.KHR_BINARY_GLTF].body);const r=this.options;return new Promise(function(s,o){i.load(T0.resolveURL(t.uri,r.path),s,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(i){const r=t.byteLength||0,s=t.byteOffset||0;return i.slice(s,s+r)})}loadAccessor(e){const t=this,i=this.json,r=this.json.accessors[e];if(r.bufferView===void 0&&r.sparse===void 0){const o=N3[r.type],a=id[r.componentType],l=r.normalized===!0,c=new a(r.count*o);return Promise.resolve(new Gi(c,o,l))}const s=[];return r.bufferView!==void 0?s.push(this.getDependency("bufferView",r.bufferView)):s.push(null),r.sparse!==void 0&&(s.push(this.getDependency("bufferView",r.sparse.indices.bufferView)),s.push(this.getDependency("bufferView",r.sparse.values.bufferView))),Promise.all(s).then(function(o){const a=o[0],l=N3[r.type],c=id[r.componentType],u=c.BYTES_PER_ELEMENT,f=u*l,h=r.byteOffset||0,p=r.bufferView!==void 0?i.bufferViews[r.bufferView].byteStride:void 0,m=r.normalized===!0;let v,A;if(p&&p!==f){const y=Math.floor(h/p),x="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+y+":"+r.count;let b=t.cache.get(x);b||(v=new c(a,y*p,r.count*p/u),b=new n4(v,p/u),t.cache.add(x,b)),A=new fn(b,l,h%p/u,m)}else a===null?v=new c(r.count*l):v=new c(a,h,r.count*l),A=new Gi(v,l,m);if(r.sparse!==void 0){const y=N3.SCALAR,x=id[r.sparse.indices.componentType],b=r.sparse.indices.byteOffset||0,_=r.sparse.values.byteOffset||0,T=new x(o[1],b,r.sparse.count*y),M=new c(o[2],_,r.sparse.count*l);a!==null&&(A=new Gi(A.array.slice(),A.itemSize,A.normalized)),A.normalized=!1;for(let I=0,R=T.length;I<R;I++){const w=T[I];if(A.setX(w,M[I*l]),l>=2&&A.setY(w,M[I*l+1]),l>=3&&A.setZ(w,M[I*l+2]),l>=4&&A.setW(w,M[I*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}A.normalized=m}return A})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,i).then(function(u){u.flipY=!1,u.name=o.name||a.name||"",u.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(u.name=a.uri);const h=(s.samplers||{})[o.sampler]||{};return u.magFilter=E8[h.magFilter]||Yt,u.minFilter=E8[h.minFilter]||Fs,u.wrapS=T8[h.wrapS]||ts,u.wrapT=T8[h.wrapT]||ts,u.generateMipmaps=!u.isCompressedTexture&&u.minFilter!==Br&&u.minFilter!==Yt,r.associations.set(u,{textures:e}),u}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(f=>f.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(f){c=!0;const h=new Blob([f],{type:o.mimeType});return l=a.createObjectURL(h),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const u=Promise.resolve(l).then(function(f){return new Promise(function(h,p){let m=h;t.isImageBitmapLoader===!0&&(m=function(v){const A=new xn(v);A.needsUpdate=!0,h(A)}),t.load(T0.resolveURL(f,s.path),m,void 0,p)})}).then(function(f){return c===!0&&a.revokeObjectURL(l),Ea(f,o),f.userData.mimeType=o.mimeType||Eie(o.uri),f}).catch(function(f){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),f});return this.sourceCache[e]=u,u}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[Qt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[Qt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[Qt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new oP,Eo.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new Lu,Eo.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return o4}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},c=[];if(l[Qt.KHR_MATERIALS_UNLIT]){const f=r[Qt.KHR_MATERIALS_UNLIT];o=f.getMaterialType(),c.push(f.extendParams(a,s,t))}else{const f=s.pbrMetallicRoughness||{};if(a.color=new ke(1,1,1),a.opacity=1,Array.isArray(f.baseColorFactor)){const h=f.baseColorFactor;a.color.setRGB(h[0],h[1],h[2],mi),a.opacity=h[3]}f.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",f.baseColorTexture,En)),a.metalness=f.metallicFactor!==void 0?f.metallicFactor:1,a.roughness=f.roughnessFactor!==void 0?f.roughnessFactor:1,f.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",f.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",f.metallicRoughnessTexture))),o=this._invokeOne(function(h){return h.getMaterialType&&h.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(h){return h.extendMaterialParams&&h.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=Zs);const u=s.alphaMode||k3.OPAQUE;if(u===k3.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,u===k3.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Jr&&(c.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new Re(1,1),s.normalTexture.scale!==void 0)){const f=s.normalTexture.scale;a.normalScale.set(f,f)}if(s.occlusionTexture!==void 0&&o!==Jr&&(c.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Jr){const f=s.emissiveFactor;a.emissive=new ke().setRGB(f[0],f[1],f[2],mi)}return s.emissiveTexture!==void 0&&o!==Jr&&c.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,En)),Promise.all(c).then(function(){const f=new o(a);return s.name&&(f.name=s.name),Ea(f,s),t.associations.set(f,{materials:e}),s.extensions&&Wc(r,f,s),f})}createUniqueName(e){const t=bn.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[Qt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return M8(l,a,t)})}const o=[];for(let a=0,l=e.length;a<l;a++){const c=e[a],u=Sie(c),f=r[u];if(f)o.push(f.promise);else{let h;c.extensions&&c.extensions[Qt.KHR_DRACO_MESH_COMPRESSION]?h=s(c):h=M8(new Hn,c,t),r[u]={primitive:c,promise:h},o.push(h)}}return Promise.all(o)}loadMesh(e){const t=this,i=this.json,r=this.extensions,s=i.meshes[e],o=s.primitives,a=[];for(let l=0,c=o.length;l<c;l++){const u=o[l].material===void 0?xie(this.cache):this.getDependency("material",o[l].material);a.push(u)}return a.push(t.loadGeometries(o)),Promise.all(a).then(function(l){const c=l.slice(0,l.length-1),u=l[l.length-1],f=[];for(let p=0,m=u.length;p<m;p++){const v=u[p],A=o[p];let y;const x=c[p];if(A.mode===Xs.TRIANGLES||A.mode===Xs.TRIANGLE_STRIP||A.mode===Xs.TRIANGLE_FAN||A.mode===void 0)y=s.isSkinnedMesh===!0?new vK(v,x):new Qe(v,x),y.isSkinnedMesh===!0&&y.normalizeSkinWeights(),A.mode===Xs.TRIANGLE_STRIP?y.geometry=w8(y.geometry,WI):A.mode===Xs.TRIANGLE_FAN&&(y.geometry=w8(y.geometry,Eb));else if(A.mode===Xs.LINES)y=new MA(v,x);else if(A.mode===Xs.LINE_STRIP)y=new Ms(v,x);else if(A.mode===Xs.LINE_LOOP)y=new CK(v,x);else if(A.mode===Xs.POINTS)y=new wK(v,x);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+A.mode);Object.keys(y.geometry.morphAttributes).length>0&&wie(y,s),y.name=t.createUniqueName(s.name||"mesh_"+e),Ea(y,s),A.extensions&&Wc(r,y,A),t.assignFinalMaterial(y),f.push(y)}for(let p=0,m=f.length;p<m;p++)t.associations.set(f[p],{meshes:e,primitives:p});if(f.length===1)return s.extensions&&Wc(r,f[0],s),f[0];const h=new Ha;s.extensions&&Wc(r,h,s),t.associations.set(h,{meshes:e});for(let p=0,m=f.length;p<m;p++)h.add(f[p]);return h})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new Zi(gn.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new Ou(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),Ea(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,s=t.joints.length;r<s;r++)i.push(this._loadNodeShallow(t.joints[r]));return t.inverseBindMatrices!==void 0?i.push(this.getDependency("accessor",t.inverseBindMatrices)):i.push(null),Promise.all(i).then(function(r){const s=r.pop(),o=r,a=[],l=[];for(let c=0,u=o.length;c<u;c++){const f=o[c];if(f){a.push(f);const h=new Ct;s!==null&&h.fromArray(s.array,c*16),l.push(h)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[c])}return new i4(a,l)})}loadAnimation(e){const t=this.json,i=this,r=t.animations[e],s=r.name?r.name:"animation_"+e,o=[],a=[],l=[],c=[],u=[];for(let f=0,h=r.channels.length;f<h;f++){const p=r.channels[f],m=r.samplers[p.sampler],v=p.target,A=v.node,y=r.parameters!==void 0?r.parameters[m.input]:m.input,x=r.parameters!==void 0?r.parameters[m.output]:m.output;v.node!==void 0&&(o.push(this.getDependency("node",A)),a.push(this.getDependency("accessor",y)),l.push(this.getDependency("accessor",x)),c.push(m),u.push(v))}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l),Promise.all(c),Promise.all(u)]).then(function(f){const h=f[0],p=f[1],m=f[2],v=f[3],A=f[4],y=[];for(let x=0,b=h.length;x<b;x++){const _=h[x],T=p[x],M=m[x],I=v[x],R=A[x];if(_===void 0)continue;_.updateMatrix&&_.updateMatrix();const w=i._createAnimationTracks(_,T,M,I,R);if(w)for(let E=0;E<w.length;E++)y.push(w[E])}return new NK(s,void 0,y)})}createNodeMesh(e){const t=this.json,i=this,r=t.nodes[e];return r.mesh===void 0?null:i.getDependency("mesh",r.mesh).then(function(s){const o=i._getNodeRef(i.meshCache,r.mesh,s);return r.weights!==void 0&&o.traverse(function(a){if(a.isMesh)for(let l=0,c=r.weights.length;l<c;l++)a.morphTargetInfluences[l]=r.weights[l]}),o})}loadNode(e){const t=this.json,i=this,r=t.nodes[e],s=i._loadNodeShallow(e),o=[],a=r.children||[];for(let c=0,u=a.length;c<u;c++)o.push(i.getDependency("node",a[c]));const l=r.skin===void 0?Promise.resolve(null):i.getDependency("skin",r.skin);return Promise.all([s,Promise.all(o),l]).then(function(c){const u=c[0],f=c[1],h=c[2];h!==null&&u.traverse(function(p){p.isSkinnedMesh&&p.bind(h,Tie)});for(let p=0,m=f.length;p<m;p++)u.add(f[p]);return u})}_loadNodeShallow(e){const t=this.json,i=this.extensions,r=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const s=t.nodes[e],o=s.name?r.createUniqueName(s.name):"",a=[],l=r._invokeOne(function(c){return c.createNodeMesh&&c.createNodeMesh(e)});return l&&a.push(l),s.camera!==void 0&&a.push(r.getDependency("camera",s.camera).then(function(c){return r._getNodeRef(r.cameraCache,s.camera,c)})),r._invokeAll(function(c){return c.createNodeAttachment&&c.createNodeAttachment(e)}).forEach(function(c){a.push(c)}),this.nodeCache[e]=Promise.all(a).then(function(c){let u;if(s.isBone===!0?u=new sP:c.length>1?u=new Ha:c.length===1?u=c[0]:u=new Wt,u!==c[0])for(let f=0,h=c.length;f<h;f++)u.add(c[f]);if(s.name&&(u.userData.name=s.name,u.name=o),Ea(u,s),s.extensions&&Wc(i,u,s),s.matrix!==void 0){const f=new Ct;f.fromArray(s.matrix),u.applyMatrix4(f)}else s.translation!==void 0&&u.position.fromArray(s.translation),s.rotation!==void 0&&u.quaternion.fromArray(s.rotation),s.scale!==void 0&&u.scale.fromArray(s.scale);return r.associations.has(u)||r.associations.set(u,{}),r.associations.get(u).nodes=e,u}),this.nodeCache[e]}loadScene(e){const t=this.extensions,i=this.json.scenes[e],r=this,s=new Ha;i.name&&(s.name=r.createUniqueName(i.name)),Ea(s,i),i.extensions&&Wc(t,s,i);const o=i.nodes||[],a=[];for(let l=0,c=o.length;l<c;l++)a.push(r.getDependency("node",o[l]));return Promise.all(a).then(function(l){for(let u=0,f=l.length;u<f;u++)s.add(l[u]);const c=u=>{const f=new Map;for(const[h,p]of r.associations)(h instanceof Eo||h instanceof xn)&&f.set(h,p);return u.traverse(h=>{const p=r.associations.get(h);p!=null&&f.set(h,p)}),f};return r.associations=c(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];ml[s.path]===ml.weights?e.traverse(function(h){h.morphTargetInfluences&&l.push(h.name?h.name:h.uuid)}):l.push(a);let c;switch(ml[s.path]){case ml.weights:c=Pd;break;case ml.rotation:c=Rd;break;case ml.position:case ml.scale:c=Bd;break;default:switch(i.itemSize){case 1:c=Pd;break;case 2:case 3:default:c=Bd;break}break}const u=r.interpolation!==void 0?bie[r.interpolation]:ep,f=this._getArrayFromAccessor(i);for(let h=0,p=l.length;h<p;h++){const m=new c(l[h]+"."+ml[s.path],t.array,f,u);r.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(m),o.push(m)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const i=Db(t.constructor),r=new Float32Array(t.length);for(let s=0,o=t.length;s<o;s++)r[s]=t[s]*i;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(i){const r=this instanceof Rd?_ie:bP;return new r(this.times,this.values,this.getValueSize()/3,i)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function Iie(n,e,t){const i=e.attributes,r=new Hs;if(i.POSITION!==void 0){const a=t.json.accessors[i.POSITION],l=a.min,c=a.max;if(l!==void 0&&c!==void 0){if(r.set(new K(l[0],l[1],l[2]),new K(c[0],c[1],c[2])),a.normalized){const u=Db(id[a.componentType]);r.min.multiplyScalar(u),r.max.multiplyScalar(u)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const s=e.targets;if(s!==void 0){const a=new K,l=new K;for(let c=0,u=s.length;c<u;c++){const f=s[c];if(f.POSITION!==void 0){const h=t.json.accessors[f.POSITION],p=h.min,m=h.max;if(p!==void 0&&m!==void 0){if(l.setX(Math.max(Math.abs(p[0]),Math.abs(m[0]))),l.setY(Math.max(Math.abs(p[1]),Math.abs(m[1]))),l.setZ(Math.max(Math.abs(p[2]),Math.abs(m[2]))),h.normalized){const v=Db(id[h.componentType]);l.multiplyScalar(v)}a.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(a)}n.boundingBox=r;const o=new ao;r.getCenter(o.center),o.radius=r.min.distanceTo(r.max)/2,n.boundingSphere=o}function M8(n,e,t){const i=e.attributes,r=[];function s(o,a){return t.getDependency("accessor",o).then(function(l){n.setAttribute(a,l)})}for(const o in i){const a=Bb[o]||o.toLowerCase();a in n.attributes||r.push(s(i[o],a))}if(e.indices!==void 0&&!n.index){const o=t.getDependency("accessor",e.indices).then(function(a){n.setIndex(a)});r.push(o)}return Xt.workingColorSpace!==mi&&"COLOR_0"in i&&console.warn(`THREE.GLTFLoader: Convert
3901ing vertex colors from "srgb-linear" to "${Xt.workingColorSpace}" not supported.`),Ea(n,e),Iie(n,e,t),Promise.all(r).then(function(){return e.targets!==void 0?Cie(n,e.targets,t):n})}const I8={type:"change"},h4={type:"start"},xP={type:"end"},S1=new kd,P8=new El,Pie=Math.cos(70*gn.DEG2RAD),Li=new K,os=2*Math.PI,Sn={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},H3=1e-6;class CP extends pP{constructor(e,t=null){super(e,t),this.state=Sn.NONE,this.enabled=!0,this.target=new K,this.cursor=new K,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:ed.ROTATE,MIDDLE:ed.DOLLY,RIGHT:ed.PAN},this.touches={ONE:Nf.ROTATE,TWO:Nf.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new K,this._lastQuaternion=new Xn,this._lastTargetPosition=new K,this._quat=new Xn().setFromUnitVectors(e.up,new K(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new YS,this._sphericalDelta=new YS,this._scale=1,this._panOffset=new K,this._rotateStart=new Re,this._rotateEnd=new Re,this._rotateDelta=new Re,this._panStart=new Re,this._panEnd=new Re,this._panDelta=new Re,this._dollyStart=new Re,this._dollyEnd=new Re,this._dollyDelta=new Re,this._dollyDirection=new K,this._mouse=new Re,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Bie.bind(this),this._onPointerDown=Rie.bind(this),this._onPointerUp=Die.bind(this),this._onContextMenu=zie.bind(this),this._onMouseWheel=Fie.bind(this),this._onKeyDown=Uie.bind(this),this._onTouchStart=Nie.bind(this),this._onTouchMove=kie.bind(this),this._onMouseDown=Lie.bind(this),this._onMouseMove=Oie.bind(this),this._interceptControlDown=Hie.bind(this),this._interceptControlUp=Vie.bind(this),this.domElement!==null&&this.connect(),this.update()}connect(){this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(I8),this.update(),this.state=Sn.NONE}update(e=null){const t=this.object.position;Li.copy(t).sub(this.target),Li.applyQuaternion(this._quat),this._spherical.setFromVector3(Li),this.autoRotate&&this.state===Sn.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let i=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(i)&&isFinite(r)&&(i<-Math.PI?i+=os:i>Math.PI&&(i-=os),r<-Math.PI?r+=os:r>Math.PI&&(r-=os),i<=r?this._spherical.theta=Math.max(i,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(i+r)/2?Math.max(i,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let s=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radiu
vendor: 15,390 bytes, line 3901
3901s=this._clampDistance(this._spherical.radius);else{const o=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),s=o!=this._spherical.radius}if(Li.setFromSpherical(this._spherical),Li.applyQuaternion(this._quatInverse),t.copy(this.target).add(Li),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let o=null;if(this.object.isPerspectiveCamera){const a=Li.length();o=this._clampDistance(a*this._scale);const l=a-o;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),s=!!l}else if(this.object.isOrthographicCamera){const a=new K(this._mouse.x,this._mouse.y,0);a.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),s=l!==this.object.zoom;const c=new K(this._mouse.x,this._mouse.y,0);c.unproject(this.object),this.object.position.sub(c).add(a),this.object.updateMatrixWorld(),o=Li.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;o!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position):(S1.origin.copy(this.object.position),S1.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(S1.direction))<Pie?this.object.lookAt(this.target):(P8.setFromNormalAndCoplanarPoint(this.object.up,this.target),S1.intersectPlane(P8,this.target))))}else if(this.object.isOrthographicCamera){const o=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),o!==this.object.zoom&&(this.object.updateProjectionMatrix(),s=!0)}return this._scale=1,this._performCursorZoom=!1,s||this._lastPosition.distanceToSquared(this.object.position)>H3||8*(1-this._lastQuaternion.dot(this.object.quaternion))>H3||this._lastTargetPosition.distanceToSquared(this.target)>H3?(this.dispatchEvent(I8),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?os/60*this.autoRotateSpeed*e:os/60/60*this.autoRotateSpeed}_getZoomScale(e){const t=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Li.setFromMatrixColumn(t,0),Li.multiplyScalar(-e),this._panOffset.add(Li)}_panUp(e,t){this.screenSpacePanning===!0?Li.setFromMatrixColumn(t,1):(Li.setFromMatrixColumn(t,0),Li.crossVectors(this.object.up,Li)),Li.multiplyScalar(e),this._panOffset.add(Li)}_pan(e,t){const i=this.domElement;if(this.object.isPerspectiveCamera){const r=this.object.position;Li.copy(r).sub(this.target);let s=Li.length();s*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*s/i.clientHeight,this.object.matrix),this._panUp(2*t*s/i.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/i.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/i.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const i=this.domElement.getBoundingClientRect(),r=e-i.left,s=t-i.top,o=i.width,a=i.height;this._mouse.x=r/o*2-1,this._mouse.y=-(s/a)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(os*this._rotateDelta.x/t.clientHeight),this._rotateUp(os*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(i,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(i,r)}}_handleTouchStartDolly(e){const t=this._getSecondPointerPosition(e),i=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(i*i+r*r);this._dollyStart.set(0,s)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._rotateEnd.set(r,s)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(os*this._rotateDelta.x/t.clientHeight),this._rotateUp(os*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(i,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const t=this._getSecondPointerPosition(e),i=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(i*i+r*r);this._dollyEnd.set(0,s),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const o=(e.pageX+t.x)*.5,a=(e.pageY+t.y)*.5;this._updateZoomParameters(o,a)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId){this._pointers.splice(t,1);return}}_isTrackingPointer(e){for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId)return!0;return!1}_trackPointer(e){let t=this._pointerPositions[e.pointerId];t===void 0&&(t=new Re,this._pointerPositions[e.pointerId]=t),t.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const t=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[t]}_customWheelEvent(e){const t=e.deltaMode,i={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(t){case 1:i.deltaY*=16;break;case 2:i.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(i.deltaY*=10),i}}function Rie(n){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(n.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(n)&&(this._addPointer(n),n.pointerType==="touch"?this._onTouchStart(n):this._onMouseDown(n)))}function Bie(n){this.enabled!==!1&&(n.pointerType==="touch"?this._onTouchMove(n):this._onMouseMove(n))}function Die(n){switch(this._removePointer(n),this._pointers.length){case 0:this.domElement.releasePointerCapture(n.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(xP),this.state=Sn.NONE;break;case 1:const e=this._pointers[0],t=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:t.x,pageY:t.y});break}}function Lie(n){let e;switch(n.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case ed.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(n),this.state=Sn.DOLLY;break;case ed.ROTATE:if(n.ctrlKey||n.metaKey||n.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(n),this.state=Sn.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(n),this.state=Sn.ROTATE}break;case ed.PAN:if(n.ctrlKey||n.metaKey||n.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(n),this.state=Sn.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(n),this.state=Sn.PAN}break;default:this.state=Sn.NONE}this.state!==Sn.NONE&&this.dispatchEvent(h4)}function Oie(n){switch(this.state){case Sn.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(n);break;case Sn.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(n);break;case Sn.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(n);break}}function Fie(n){this.enabled===!1||this.enableZoom===!1||this.state!==Sn.NONE||(n.preventDefault(),this.dispatchEvent(h4),this._handleMouseWheel(this._customWheelEvent(n)),this.dispatchEvent(xP))}function Uie(n){this.enabled!==!1&&this._handleKeyDown(n)}function Nie(n){switch(this._trackPointer(n),this._pointers.length){case 1:switch(this.touches.ONE){case Nf.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(n),this.state=Sn.TOUCH_ROTATE;break;case Nf.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(n),this.state=Sn.TOUCH_PAN;break;default:this.state=Sn.NONE}break;case 2:switch(this.touches.TWO){case Nf.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(n),this.state=Sn.TOUCH_DOLLY_PAN;break;case Nf.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(n),this.state=Sn.TOUCH_DOLLY_ROTATE;break;default:this.state=Sn.NONE}break;default:this.state=Sn.NONE}this.state!==Sn.NONE&&this.dispatchEvent(h4)}function kie(n){switch(this._trackPointer(n),this.state){case Sn.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(n),this.update();break;case Sn.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(n),this.update();break;case Sn.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(n),this.update();break;case Sn.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(n),this.update();break;default:this.state=Sn.NONE}}function zie(n){this.enabled!==!1&&n.preventDefault()}function Hie(n){n.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Vie(n){n.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}const jc=new u4,br=new K,gl=new K,qn=new Xn,R8={X:new K(1,0,0),Y:new K(0,1,0),Z:new K(0,0,1)},V3={type:"change"},B8={type:"mouseDown",mode:null},D8={type:"mouseUp",mode:null},L8={type:"objectChange"};class Gie extends pP{constructor(e,t=null){super(void 0,t);const i=new Yie(this);this._root=i;const r=new $ie;this._gizmo=r,i.add(r);const s=new Kie;this._plane=s,i.add(s);const o=this;function a(b,_){let T=_;Object.defineProperty(o,b,{get:function(){return T!==void 0?T:_},set:function(M){T!==M&&(T=M,s[b]=M,r[b]=M,o.dispatchEvent({type:b+"-changed",value:M}),o.dispatchEvent(V3))}}),o[b]=_,s[b]=_,r[b]=_}a("camera",e),a("object",void 0),a("enabled",!0),a("axis",null),a("mode","translate"),a("translationSnap",null),a("rotationSnap",null),a("scaleSnap",null),a("space","world"),a("size",1),a("dragging",!1),a("showX",!0),a("showY",!0),a("showZ",!0),a("minX",-1/0),a("maxX",1/0),a("minY",-1/0),a("maxY",1/0),a("minZ",-1/0),a("maxZ",1/0);const l=new K,c=new K,u=new Xn,f=new Xn,h=new K,p=new Xn,m=new K,v=new K,A=new K,y=0,x=new K;a("worldPosition",l),a("worldPositionStart",c),a("worldQuaternion",u),a("worldQuaternionStart",f),a("cameraPosition",h),a("cameraQuaternion",p),a("pointStart",m),a("pointEnd",v),a("rotationAxis",A),a("rotationAngle",y),a("eye",x),this._offset=new K,this._startNorm=new K,this._endNorm=new K,this._cameraScale=new K,this._parentPosition=new K,this._parentQuaternion=new Xn,this._parentQuaternionInv=new Xn,this._parentScale=new K,this._worldScaleStart=new K,this._worldQuaternionInv=new Xn,this._worldScale=new K,this._positionStart=new K,this._quaternionStart=new Xn,this._scaleStart=new K,this._getPointer=Qie.b
3901ind(this),this._onPointerDown=jie.bind(this),this._onPointerHover=Wie.bind(this),this._onPointerMove=qie.bind(this),this._onPointerUp=Xie.bind(this),t!==null&&this.connect()}connect(){this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointermove",this._onPointerHover),this.domElement.addEventListener("pointerup",this._onPointerUp),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerHover),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.style.touchAction="auto"}getHelper(){return this._root}pointerHover(e){if(this.object===void 0||this.dragging===!0)return;e!==null&&jc.setFromCamera(e,this.camera);const t=G3(this._gizmo.picker[this.mode],jc);t?this.axis=t.object.name:this.axis=null}pointerDown(e){if(!(this.object===void 0||this.dragging===!0||e!=null&&e.button!==0)&&this.axis!==null){e!==null&&jc.setFromCamera(e,this.camera);const t=G3(this._plane,jc,!0);t&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(t.point).sub(this.worldPositionStart)),this.dragging=!0,B8.mode=this.mode,this.dispatchEvent(B8)}}pointerMove(e){const t=this.axis,i=this.mode,r=this.object;let s=this.space;if(i==="scale"?s="local":(t==="E"||t==="XYZE"||t==="XYZ")&&(s="world"),r===void 0||t===null||this.dragging===!1||e!==null&&e.button!==-1)return;e!==null&&jc.setFromCamera(e,this.camera);const o=G3(this._plane,jc,!0);if(o){if(this.pointEnd.copy(o.point).sub(this.worldPositionStart),i==="translate")this._offset.copy(this.pointEnd).sub(this.pointStart),s==="local"&&t!=="XYZ"&&this._offset.applyQuaternion(this._worldQuaternionInv),t.indexOf("X")===-1&&(this._offset.x=0),t.indexOf("Y")===-1&&(this._offset.y=0),t.indexOf("Z")===-1&&(this._offset.z=0),s==="local"&&t!=="XYZ"?this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale):this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale),r.position.copy(this._offset).add(this._positionStart),this.translationSnap&&(s==="local"&&(r.position.applyQuaternion(qn.copy(this._quaternionStart).invert()),t.search("X")!==-1&&(r.position.x=Math.round(r.position.x/this.translationSnap)*this.translationSnap),t.search("Y")!==-1&&(r.position.y=Math.round(r.position.y/this.translationSnap)*this.translationSnap),t.search("Z")!==-1&&(r.position.z=Math.round(r.position.z/this.translationSnap)*this.translationSnap),r.position.applyQuaternion(this._quaternionStart)),s==="world"&&(r.parent&&r.position.add(br.setFromMatrixPosition(r.parent.matrixWorld)),t.search("X")!==-1&&(r.position.x=Math.round(r.position.x/this.translationSnap)*this.translationSnap),t.search("Y")!==-1&&(r.position.y=Math.round(r.position.y/this.translationSnap)*this.translationSnap),t.search("Z")!==-1&&(r.position.z=Math.round(r.position.z/this.translationSnap)*this.translationSnap),r.parent&&r.position.sub(br.setFromMatrixPosition(r.parent.matrixWorld)))),r.position.x=Math.max(this.minX,Math.min(this.maxX,r.position.x)),r.position.y=Math.max(this.minY,Math.min(this.maxY,r.position.y)),r.position.z=Math.max(this.minZ,Math.min(this.maxZ,r.position.z));else if(i==="scale"){if(t.search("XYZ")!==-1){let a=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(a*=-1),gl.set(a,a,a)}else br.copy(this.pointStart),gl.copy(this.pointEnd),br.applyQuaternion(this._worldQuaternionInv),gl.applyQuaternion(this._worldQuaternionInv),gl.divide(br),t.search("X")===-1&&(gl.x=1),t.search("Y")===-1&&(gl.y=1),t.search("Z")===-1&&(gl.z=1);r.scale.copy(this._scaleStart).multiply(gl),this.scaleSnap&&(t.search("X")!==-1&&(r.scale.x=Math.round(r.
3901scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),t.search("Y")!==-1&&(r.scale.y=Math.round(r.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),t.search("Z")!==-1&&(r.scale.z=Math.round(r.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if(i==="rotate"){this._offset.copy(this.pointEnd).sub(this.pointStart);const a=20/this.worldPosition.distanceTo(br.setFromMatrixPosition(this.camera.matrixWorld));let l=!1;t==="XYZE"?(this.rotationAxis.copy(this._offset).cross(this.eye).normalize(),this.rotationAngle=this._offset.dot(br.copy(this.rotationAxis).cross(this.eye))*a):(t==="X"||t==="Y"||t==="Z")&&(this.rotationAxis.copy(R8[t]),br.copy(R8[t]),s==="local"&&br.applyQuaternion(this.worldQuaternion),br.cross(this.eye),br.length()===0?l=!0:this.rotationAngle=this._offset.dot(br.normalize())*a),(t==="E"||l)&&(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this._startNorm.copy(this.pointStart).normalize(),this._endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this._endNorm.cross(this._startNorm).dot(this.eye)<0?1:-1),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),s==="local"&&t!=="E"&&t!=="XYZE"?(r.quaternion.copy(this._quaternionStart),r.quaternion.multiply(qn.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this._parentQuaternionInv),r.quaternion.copy(qn.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),r.quaternion.multiply(this._quaternionStart).normalize())}this.dispatchEvent(V3),this.dispatchEvent(L8)}}pointerUp(e){e!==null&&e.button!==0||(this.dragging&&this.axis!==null&&(D8.mode=this.mode,this.dispatchEvent(D8)),this.dragging=!1,this.axis=null)}dispose(){this.disconnect(),this._root.dispose()}attach(e){return this.object=e,this._root.visible=!0,this}detach(){return this.object=void 0,this.axis=null,this._root.visible=!1,this}reset(){this.enabled&&this.dragging&&(this.object.position.copy(this._positionStart),this.object.quaternion.copy(this._quaternionStart),this.object.scale.copy(this._scaleStart),this.dispatchEvent(V3),this.dispatchEvent(L8),this.pointStart.copy(this.pointEnd))}getRaycaster(){return jc}getMode(){return this.mode}setMode(e){this.mode=e}setTranslationSnap(e){this.translationSnap=e}setRotationSnap(e){this.rotationSnap=e}setScaleSnap(e){this.scaleSnap=e}setSize(e){this.size=e}setSpace(e){this.space=e}}function Qie(n){if(this.domElement.ownerDocument.pointerLockElement)return{x:0,y:0,button:n.button};{const e=this.domElement.getBoundingClientRect();return{x:(n.clientX-e.left)/e.width*2-1,y:-(n.clientY-e.top)/e.height*2+1,button:n.button}}}function Wie(n){if(this.enabled)switch(n.pointerType){case"mouse":case"pen":this.pointerHover(this._getPointer(n));break}}function jie(n){this.enabled&&(document.pointerLockElement||this.domElement.setPointerCapture(n.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.pointerHover(this._getPointer(n)),this.pointerDown(this._getPointer(n)))}function qie(n){this.enabled&&this.pointerMove(this._getPointer(n))}function Xie(n){this.enabled&&(this.domElement.releasePointerCapture(n.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.pointerUp(this._getPointer(n)))}function G3(n,e,t){const i=e.intersectObject(n,!0);for(let r=0;r<i.length;r++)if(i[r].object.visible||t)return i[r];return!1}const E1=new Pi,In=new K(0,1,0),O8=new K(0,0,0),F8=new Ct,T1=new Xn,eg=new Xn,Fo=new K,U8=new Ct,Yh=new K(1,0,0),Jc=new K(0,1,0),$h=new K(0,0,1),M1=new K,Lh=new K,Oh=new K;class Yie extends Wt{constructor(e){super(),this.isTransformControlsRoot=!0,this.controls=e,this.visible=!1}updateMatrixWorld(e){const t=this.controls;t.object!==void 0&&(t.object.updateMatrixWorld(),t.object.parent===null?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):t.object.parent.matrixWorld.decompose(t._parentPosition,t._parentQuaternion,t._parentScale),t.object.matrixWorld.decompose(t.worldPosition,t.worldQuaternion,t._worldScale),t._parentQuaternionInv.copy(t._parentQuaternion).invert(),t._worldQuaternionInv.copy(t.worldQuaternion).invert()),t.camera.updateMatrixWorld(),t.camera.matrixWorld.decompose(t.cameraPosition,t.cameraQuaternion,t._cameraScale),t.camera.isOrthographicCamera?t.camera.getWorldDirection(t.eye).negate():t.eye.copy(t.cameraPosition).sub(t.worldPosition).normalize(),super.updateMatrixWorld(e)}dispose(){this.traverse(function(e){e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}}class $ie extends Wt{constructor(){super(),this.isTransformControlsGizmo=!0,this.type="TransformControlsGizmo";const e=new Jr({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),t=new Lu({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),i=e.clone();i.opacity=.15;const r=t.clone();r.opacity=.5;const s=e.clone();s.color.setHex(16711680);const o=e.clone();o.color.setHex(65280);const a=e.clone();a.color.setHex(255);const l=e.clone();l.color.setHex(16711680),l.opacity=.5;const c=e.clone();c.color.setHex(65280),c.opacity=.5;const u=e.clone();u.color.setHex(255),u.opacity=.5;const f=e.clone();f.opacity=.25;const h=e.clone();h.color.setHex(16776960),h.opacity=.25,e.clone().color.setHex(16776960);const m=e.clone();m.color.setHex(7895160);const v=new ar(0,.04,.1,12);v.translate(0,.05,0);const A=new fi(.08,.08,.08);A.translate(0,.04,0);const y=new Hn;y.setAttribute("position",new en([0,0,0,1,0,0],3));const x=new ar(.0075,.0075,.5,3);x.translate(0,.25,0);function b(j,N){const Q=new tu(j,.0075,3,64,N*Math.PI*2);return Q.rotateY(Math.PI/2),Q.rotateX(Math.PI/2),Q}function _(){const j=new Hn;return j.setAttribute("position",new en([0,0,0,1,1,1],3)),j}const T={X:[[new Qe(v,s),[.5,0,0],[0,0,-Math.PI/2]],[new Qe(v,s),[-.5,0,0],[0,0,Math.PI/2]],[new Qe(x,s),[0,0,0],[0,0,-Math.PI/2]]],Y:[[new Qe(v,o),[0,.5,0]],[new Qe(v,o),[0,-.5,0],[Math.PI,0,0]],[new Qe(x,o)]],Z:[[new Qe(v,a),[0,0,.5],[Math.PI/2,0,0]],[new Qe(v,a),[0,0,-.5],[-Math.PI/2,0,0]],[new Qe(x,a),null,[Math.PI/2,0,0]]],XYZ:[[new Qe(new kf(.1,0),f.clone()),[0,0,0]]],XY:[[new Qe(new fi(.15,.15,.01),u.clone()),[.15,.15,0]]],YZ:[[new Qe(new fi(.15,.15,.01),l.clone()),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.15,.15,.01),c.clone()),[.15,0,.15],[-Math.PI/2,0,0]]]},M={X:[[new Qe(new ar(.2,0,.6,4),i),[.3,0,0],[0,0,-Math.PI/2]],[new Qe(new ar(.2,0,.6,4),i),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new Qe(new ar(.2,0,.6,4),i),[0,.3,0]],[new Qe(new ar(.2,0,.6,4),i),[0,-.3,0],[0,0,Math.PI]]],Z:[[new Qe(new ar(.2,0,.6,4),i),[0,0,.3],[Math.PI/2,0,0]],[new Qe(new ar(.2,0,.6,4),i),[0,0,-.3],[-Math.PI/2,0,0]]],XYZ:[[new Qe(new kf(.2,0),i)]],XY:[[new Qe(new fi(.2,.2,.01),i),[.15,.15,0]]],YZ:[[new Qe(new fi(.2,.2,.01),i),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.2,.2,.01),i),[.15,0,.15],[-Math.PI/2,0,0]]]},I={START:[[new Qe(new kf(.01,2),r),null,null,null,"helper"]],END:[[new Qe(new kf(.01,2),r),null,null,null,"helper"]],DELTA:[[new Ms(_(),r),null,null,null,"helper"]],X:[[new Ms(y,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Ms(y,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Ms(y,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},R={XYZE:[[new Qe(b(.5,1),m),null,[0,Math.PI/2,0]]],X:[[new Qe(b(.5,.5),s)]],Y:[[new Qe(b(.5,.5),o),null,[0,0,-Math.PI/2]]],Z:[[new Qe(b(.5,.5),a),null,[0,Math.PI/2,0]]],E:[[new Qe(b(.75,1),h),null,[0,Math.PI/2,0]]]},w={AXIS:[[new Ms(y,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},E={XYZE:[[new Qe(new Hd(.25,10,8),i)]],X:[[new Qe(new tu(.5,.1,4,24),i),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new Qe(new tu(.5,.1,4,24),i),[0,0,0],[Math.PI/2,0,0]]],Z:[[new Qe(new tu(.5,.1,4,24),i),[0,0,0],[0,0,-Math.PI/2]]],E:[[new Qe(new tu(.75,.1,2,24),i)]]},F={X:[[new Qe(A,s),[.5,0,0],[0,0,-Math.PI/2]],[new Qe(x,s),[0,0,0],[0,0,-Math.PI/2]],[new Qe(A,s),[-.5,0,0],[0,0,Math.PI/2]]],Y:[[new Qe(A,o),[0,.5,0]],[new Qe(x,o)],[new Qe(A,o),[0,-.5,0],[0,0,Math.PI]]],Z:[[new Qe(A,a),[0,0,.5],[Math.PI/2,0,0]],[new Qe(x,a),[0,0,0],[Math.PI/2,0,0]],[new Qe(A,a),[0,0,-.5],[-Math.PI/2,0,0]]],XY:[[new Qe(new fi(.15,.15,.01),u),[.15,.15,0]]],YZ:[[new Qe(new fi(.15,.15,.01),l),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.15,.15,.01),c),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new Qe(new fi(.1,.1,.1),f.clone())]]},L={X:[[new Qe(new ar(.2,0,.6,4),i),[.3,0,0],[0,0,-Math.PI/2]],[new Qe(new ar(.2,0,.6,4),i),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new Qe(new ar(.2,0,.6,4),i),[0,.3,0]],[new Qe(new ar(.2,0,.6,4),i),[0,-.3,0],[0,0,Math.PI]]],Z:[[new Qe(new ar(.2,0,.6,4),i),[0,0,.3],[Math.PI/2,0,0]],[new Qe(new ar(.2,0,.6,4),i),[0,0,-.3],[-Math.PI/2,0,0]]],XY:[[new Qe(new fi(.2,.2,.01),i),[.15,.15,0]]],YZ:[[new Qe(new fi(.2,.2,.01),i),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.2,.2,.01),i),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new Qe(new fi(.2,.2,.2),i),[0,0,0]]]},z={X:[[new Ms(y,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Ms(y,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Ms(y,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]};function V(j){const N=new Wt;for(const Q in j)for(let W=j[Q].length;W--;
3901){const ee=j[Q][W][0].clone(),H=j[Q][W][1],ye=j[Q][W][2],Ie=j[Q][W][3],ze=j[Q][W][4];ee.name=Q,ee.tag=ze,H&&ee.position.set(H[0],H[1],H[2]),ye&&ee.rotation.set(ye[0],ye[1],ye[2]),Ie&&ee.scale.set(Ie[0],Ie[1],Ie[2]),ee.updateMatrix();const oe=ee.geometry.clone();oe.applyMatrix4(ee.matrix),ee.geometry=oe,ee.renderOrder=1/0,ee.position.set(0,0,0),ee.rotation.set(0,0,0),ee.scale.set(1,1,1),N.add(ee)}return N}this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=V(T)),this.add(this.gizmo.rotate=V(R)),this.add(this.gizmo.scale=V(F)),this.add(this.picker.translate=V(M)),this.add(this.picker.rotate=V(E)),this.add(this.picker.scale=V(L)),this.add(this.helper.translate=V(I)),this.add(this.helper.rotate=V(w)),this.add(this.helper.scale=V(z)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}updateMatrixWorld(e){const i=(this.mode==="scale"?"local":this.space)==="local"?this.worldQuaternion:eg;this.gizmo.translate.visible=this.mode==="translate",this.gizmo.rotate.visible=this.mode==="rotate",this.gizmo.scale.visible=this.mode==="scale",this.helper.translate.visible=this.mode==="translate",this.helper.rotate.visible=this.mode==="rotate",this.helper.scale.visible=this.mode==="scale";let r=[];r=r.concat(this.picker[this.mode].children),r=r.concat(this.gizmo[this.mode].children),r=r.concat(this.helper[this.mode].children);for(let s=0;s<r.length;s++){const o=r[s];o.visible=!0,o.rotation.set(0,0,0),o.position.copy(this.worldPosition);let a;if(this.camera.isOrthographicCamera?a=(this.camera.top-this.camera.bottom)/this.camera.zoom:a=this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),o.scale.set(1,1,1).multiplyScalar(a*this.size/4),o.tag==="helper"){o.visible=!1,o.name==="AXIS"?(o.visible=!!this.axis,this.axis==="X"&&(qn.setFromEuler(E1.set(0,0,0)),o.quaternion.copy(i).multiply(qn),Math.abs(In.copy(Yh).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),this.axis==="Y"&&(qn.setFromEuler(E1.set(0,0,Math.PI/2)),o.quaternion.copy(i).multiply(qn),Math.abs(In.copy(Jc).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),this.axis==="Z"&&(qn.setFromEuler(E1.set(0,Math.PI/2,0)),o.quaternion.copy(i).multiply(qn),Math.abs(In.copy($h).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),this.axis==="XYZE"&&(qn.setFromEuler(E1.set(0,Math.PI/2,0)),In.copy(this.rotationAxis),o.quaternion.setFromRotationMatrix(F8.lookAt(O8,In,Jc)),o.quaternion.multiply(qn),o.visible=this.dragging),this.axis==="E"&&(o.visible=!1)):o.name==="START"?(o.position.copy(this.worldPositionStart),o.visible=this.dragging):o.name==="END"?(o.position.copy(this.worldPosition),o.visible=this.dragging):o.name==="DELTA"?(o.position.copy(this.worldPositionStart),o.quaternion.copy(this.worldQuaternionStart),br.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),br.applyQuaternion(this.worldQuaternionStart.clone().invert()),o.scale.copy(br),o.visible=this.dragging):(o.quaternion.copy(i),this.dragging?o.position.copy(this.worldPositionStart):o.position.copy(this.worldPosition),this.axis&&(o.visible=this.axis.search(o.name)!==-1));continue}o.quaternion.copy(i),this.mode==="translate"||this.mode==="scale"?(o.name==="X"&&Math.abs(In.copy(Yh).applyQuaternion(i).dot(this.eye))>
3901.99&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="Y"&&Math.abs(In.copy(Jc).applyQuaternion(i).dot(this.eye))>.99&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="Z"&&Math.abs(In.copy($h).applyQuaternion(i).dot(this.eye))>.99&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="XY"&&Math.abs(In.copy($h).applyQuaternion(i).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="YZ"&&Math.abs(In.copy(Yh).applyQuaternion(i).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="XZ"&&Math.abs(In.copy(Jc).applyQuaternion(i).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1)):this.mode==="rotate"&&(T1.copy(i),In.copy(this.eye).applyQuaternion(qn.copy(i).invert()),o.name.search("E")!==-1&&o.quaternion.setFromRotationMatrix(F8.lookAt(this.eye,O8,Jc)),o.name==="X"&&(qn.setFromAxisAngle(Yh,Math.atan2(-In.y,In.z)),qn.multiplyQuaternions(T1,qn),o.quaternion.copy(qn)),o.name==="Y"&&(qn.setFromAxisAngle(Jc,Math.atan2(In.x,In.z)),qn.multiplyQuaternions(T1,qn),o.quaternion.copy(qn)),o.name==="Z"&&(qn.setFromAxisAngle($h,Math.atan2(In.y,In.x)),qn.multiplyQuaternions(T1,qn),o.quaternion.copy(qn))),o.visible=o.visible&&(o.name.indexOf("X")===-1||this.showX),o.visible=o.visible&&(o.name.indexOf("Y")===-1||this.showY),o.visible=o.visible&&(o.name.indexOf("Z")===-1||this.showZ),o.visible=o.visible&&(o.name.indexOf("E")===-1||this.showX&&this.showY&&this.showZ),o.material._color=o.material._color||o.material.color.clone(),o.material._opacity=o.material._opacity||o.material.opacity,o.material.color.copy(o.material._color),o.material.opacity=o.material._opacity,this.enabled&&this.axis&&(o.name===this.axis||this.axis.split("").some(function(l){return o.name===l}))&&(o.material.color.setHex(16776960),o.material.opacity=1)}super.updateMatrixWorld(e)}}class Kie extends Qe{constructor(){super(new lo(1e5,1e5,2,2),new Jr({visible:!1,wireframe:!0,side:Zs,transparent:!0,opacity:.1,toneMapped:!1})),this.isTransformControlsPlane=!0,this.type="TransformControlsPlane"}updateMatrixWorld(e){let t=this.space;switch(this.position.copy(this.worldPosition),this.mode==="scale"&&(t="local"),M1.copy(Yh).applyQuaternion(t==="local"?this.worldQuaternion:eg),Lh.copy(Jc).applyQuaternion(t==="local"?this.worldQuaternion:eg),Oh.copy($h).applyQuaternion(t==="local"?this.worldQuaternion:eg),In.copy(Lh),this.mode){case"translate":case"scale":switch(this.axis){case"X":In.copy(this.eye).cross(M1),Fo.copy(M1).cross(In);break;case"Y":In.copy(this.eye).cross(Lh),Fo.copy(Lh).cross(In);break;case"Z":In.copy(this.eye).cross(Oh),Fo.copy(Oh).cross(In);break;case"XY":Fo.copy(Oh);break;case"YZ":Fo.copy(M1);break;case"XZ":In.copy(Oh),Fo.copy(Lh);break;case"XYZ":case"E":Fo.set(0,0,0);break}break;case"rotate":default:Fo.set(0,0,0)}Fo.length()===0?this.quaternion.copy(this.cameraQuaternion):(U8.lookAt(br.set(0,0,0),Fo,In),this.quaternion.setFromRotationMatrix(U8)),super.updateMatrixWorld(e)}}class lc{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(){}}const Zie=new Ou(-1,1,1,-1,0,1);class Jie extends Hn{constructor(){super(),this.setAttribute("position",new en([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new en([0,2,0,0,2,0],2))}}const ere=new Jie;class Ip{constructor(e){this._mesh=new Qe(ere,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,Zie)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}const tre=0,N8=2,nre=1,k8=2,ire=0,rre=1,sre=10,ore=0,wP=9,SP=15,EP=16,TP=22,MP=37,IP=43,PP=76,RP=83,BP=97,DP=100,LP=103,OP=109,FP=165,UP=166,p4=1000066e3;class are{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Fh{constructor(e,t,i,r){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(e.buffer,e.byteOffset+t,i),this._littleEndian=r,this._offset=0}_nextUint8(){const e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){const e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){const e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){const e=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,e}
3901_nextInt32(){const e=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint8Array(e){const t=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,e);return this._offset+=e,t}_skip(e){return this._offset+=e,this}_scan(e,t){t===void 0&&(t=0);const i=this._offset;let r=0;for(;this._dataView.getUint8(this._offset)!==t&&r<e;)r++,this._offset++;return r<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+i,r)}}const kr=[171,75,84,88,32,50,48,187,13,10,26,10];function z8(n){return new TextDecoder().decode(n)}function lre(n){const e=new Uint8Array(n.buffer,n.byteOffset,kr.length);if(e[0]!==kr[0]||e[1]!==kr[1]||e[2]!==kr[2]||e[3]!==kr[3]||e[4]!==kr[4]||e[5]!==kr[5]||e[6]!==kr[6]||e[7]!==kr[7]||e[8]!==kr[8]||e[9]!==kr[9]||e[10]!==kr[10]||e[11]!==kr[11])throw new Error("Missing KTX 2.0 identifier.");const t=new are,i=17*Uint32Array.BYTES_PER_ELEMENT,r=new Fh(n,kr.length,i,!0);t.vkFormat=r._nextUint32(),t.typeSize=r._nextUint32(),t.pixelWidth=r._nextUint32(),t.pixelHeight=r._nextUint32(),t.pixelDepth=r._nextUint32(),t.layerCount=r._nextUint32(),t.faceCount=r._nextUint32();const s=r._nextUint32();t.supercompressionScheme=r._nextUint32();const o=r._nextUint32(),a=r._nextUint32(),l=r._nextUint32(),c=r._nextUint32(),u=r._nextUint64(),f=r._nextUint64(),h=new Fh(n,kr.length+i,3*s*8,!0);for(let Q=0;Q<s;Q++)t.levels.push({levelData:new Uint8Array(n.buffer,n.byteOffset+h._nextUint64(),h._nextUint64()),uncompressedByteLength:h._nextUint64()});const p=new Fh(n,o,a,!0),m={vendorId:p._skip(4)._nextUint16(),descriptorType:p._nextUint16(),versionNumber:p._nextUint16(),descriptorBlockSize:p._nextUint16(),colorModel:p._nextUint8(),colorPrimaries:p._nextUint8(),transferFunction:p._nextUint8(),flags:p._nextUint8(),texelBlockDimension:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],bytesPlane:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],samples:[]},v=(m.descriptorBlockSize/4-6)/4;for(let Q=0;Q<v;Q++){const W={bitOffset:p._nextUint16(),bitLength:p._nextUint8(),channelType:p._nextUint8(),samplePosition:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&W.channelType?(W.sampleLower=p._nextInt32(),W.sampleUpper=p._nextInt32()):(W.sampleLower=p._nextUint32(),W.sampleUpper=p._nextUint32()),m.samples[Q]=W}t.dataFormatDescriptor.length=0,t.dataFormatDescriptor.push(m);const A=new Fh(n,l,c,!0);for(;A._offset<c;){const Q=A._nextUint32(),W=A._scan(Q),ee=z8(W);if(t.keyValue[ee]=A._nextUint8Array(Q-W.byteLength-1),ee.match(/^ktx/i)){const H=z8(t.keyValue[ee]);t.keyValue[ee]=H.substring(0,H.lastIndexOf("\0"))}A._skip(Q%4?4-Q%4:0)}if(f<=0)return t;const y=new Fh(n,u,f,!0),x=y._nextUint16(),b=y._nextUint16(),_=y._nextUint32(),T=y._nextUint32(),M=y._nextUint32(),I=y._nextUint32(),R=[];for(let Q=0;Q<s;Q++)R.push({imageFlags:y._nextUint32(),rgbSliceByteOffset:y._nextUint32(),rgbSliceByteLength:y._nextUint32(),alphaSliceByteOffset:y._nextUint32(),alphaSliceByteLength:y._nextUint32()});const w=u+y._offset,E=w+_,F=E+T,L=F+M,z=new Uint8Array(n.buffer,n.byteOffset+w,_),V=new Uint8Array(n.buffer,n.byteOffset+E,T),j=new Uint8Array(n.buffer,n.byteOffset+F,M),N=new Uint8Array(n.buffer,n.byteOffset+L,I);return t.globalData={endpointCount:x,selectorCount:b,imageDescs:R,endpointsData:z,selectorsData:V,tablesData:j,extendedData:N},t}class cre extends Wt{constructor(e,t){super(),this.isViewHelper=!0,this.animating=!1,this.center=new K;const i=new ke("#ff4466"),r=new ke("#88ff44"),s=new ke("#4488ff"),o=new ke("#000000"),a={},l=[],c=new u4,u=new Re,f=new Wt,h=new Ou(-2,2,2,-2,0,4);h.position.set(0,0,2);const p=new ar(.04,.04,.8,5).rotateZ(-Math.PI/2).translate(.4,0,0),m=new Qe(p,ye(i)),v=new Qe(p,ye(r)),A=new Qe(p,ye(s));v.rotation.z=Math.PI/2,A.rotation.y=-Math.PI/2,this.add(m),this.add(A),this.add(v);const y=Ie(i),x=Ie(r),b=Ie(s),_=Ie(o),T=new _f(y),M=new _f(x),I=new _f(b),R=new _f(_),w=new _f(_),E=new _f(_);T.position.x=1,M.position.y=1,I.position.z=1,R.position.x=-1,w.position.y=-1,E.position.z=-1,R.material.opacity=.2,w.material.opacity=.2,E.material.opacity=.2,T.userData.type="posX",M.userData.type="posY",I.userData.type="posZ",R.userData.type="negX",w.userData.type="negY",E.userData.type="negZ",this.add(T),this.add(M),this.add(I),this.add(R),this.add(w),this.add(E),l.push(T),l.push(M),l.push(I),l.push(R),l.push(w),l.push(E);const F=new K,L=128,z=2*Math.PI;this.render=function(oe){this.quaternion.copy(e.quaternion).invert(),this.updateMatrixWorld(),F.set(0,0,1),F.applyQuaternion(e.quaternion);const _e=t.offsetWidth-L;oe.clearDepth(),oe.getViewport(W),oe.setViewport(_e,0,L,L),oe.render(this,h),oe.setViewport(W.x,W.y,W.z,W.w)};const V=new K,j=new Xn,N=new Xn,Q=new Xn,W=new Vt;let ee=0;this.handleClick=function(oe){if(this.animating===!0)return!1;const _e=t.getBoundingClientRect(),Fe=_e.left+(t.offsetWidth-L),Z=_e.top+(t.offsetHeight-L);u.x=(oe.clientX-Fe)/(_e.right-Fe)*2-1,u.y=-((oe.clientY-Z)/(_e.bottom-Z))*2+1,c.setFromCamera(u,h);const Ae=c.intersectObjects(l);if(Ae.length>0){const be=Ae[0].object;return H(be,this.center),this.animating=!0,!0}else return!1},this.setLabels=function(oe,_e,Fe){a.labelX=oe,a.labelY=_e,a.labelZ=Fe,ze()},this.setLabelStyle=function(oe,_e,Fe){a.font=oe,a.color=_e,a.radius=Fe,ze()},this.update=function(oe){const _e=oe*z;N.rotateTowards(Q,_e),e.position.set(0,0,1).applyQuaternion(N).multiplyScalar(ee).add(this.center),e.quaternion.rotateTowards(j,_e),N.angleTo(Q)===0&&(this.animating=!1)},this.dispose=function(){p.dispose(),m.material.dispose(),v.material.dispose(),A.material.dispose(),T.material.map.dispose(),M.material.map.dispose(),I.material.map.dispose(),R.material.map.dispose(),w.material.map.dispose(),E.material.map.dispose(),T.material.dispose(),M.material.dispose(),I.material.dispose(),R.material.dispose(),w.material.dispose(),E.material.dispose()};function H(oe,_e){switch(oe.userData.type){case"posX":V.set(1,0,0),j.setFromEuler(new Pi(0,Math.PI*.5,0));break;case"posY":V.set(0,1,0),j.setFromEuler(new Pi(-Math.PI*.5,0,0));break;case"posZ":V.set(0,0,1),j.setFromEuler(new Pi);break;case"negX":V.set(-1,0,0),j.setFromEuler(new Pi(0,-Math.PI*.5,0));break;case"negY":V.set(0,-1,0),j.setFromEuler(new Pi(Math.PI*.5,0,0));break;case"negZ":V.set(0,0,-1),j.setFromEuler(new Pi(0,Math.PI,0));break;default:console.error("ViewHelper: Invalid axis.")}ee=e.position.distanceTo(_e),V.multiplyScalar(ee).add(_e),f.position.copy(_e),f.lookAt(e.position),N.copy(f.quaternion),f.lookAt(V),Q.copy(f.quaternion)}function ye(oe){return new Jr({color:oe,toneMapped:!1})}function Ie(oe,_e){const{font:Fe="24px Arial",color:Z="#000000",radius:Ae=14}=a,we=document.createElement("canvas");we.width=64,we.height=64;const be=we.getContext("2d");be.beginPath(),be.arc(32,32,Ae,0,2*Math.PI),be.closePath(),be.fillStyle=oe.getStyle(),be.fill(),_e&&(be.font=Fe,be.textAlign="center",be.fillStyle=Z,be.fillText(_e,32,41));const qe=new TK(we);
3901return qe.colorSpace=En,new iP({map:qe,toneMapped:!1})}function ze(){T.material.map.dispose(),M.material.map.dispose(),I.material.map.dispose(),T.material.dispose(),M.material.dispose(),I.material.dispose(),T.material=Ie(i,a.labelX),M.material=Ie(r,a.labelY),I.material=Ie(s,a.labelZ)}}}const H8=new Hs,I1=new K;class Dd extends ZK{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],t=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],i=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(i),this.setAttribute("position",new en(e,3)),this.setAttribute("uv",new en(t,2))}applyMatrix4(e){const t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new Yr(t,6,1);return this.setAttribute("instanceStart",new fn(i,3,0)),this.setAttribute("instanceEnd",new fn(i,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new Yr(t,6,1);return this.setAttribute("instanceColorStart",new fn(i,3,0)),this.setAttribute("instanceColorEnd",new fn(i,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new MK(e.geometry)),this}fromLineSegments(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Hs);const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),H8.setFromBufferAttribute(t),this.boundingBox.union(H8))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new ao),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(e!==void 0&&t!==void 0){const i=this.boundingSphere.center;this.boundingBox.getCenter(i);let r=0;for(let s=0,o=e.count;s<o;s++)I1.fromBufferAttribute(e,s),r=Math.max(r,i.distanceToSquared(I1)),I1.fromBufferAttribute(t,s),r=Math.max(r,i.distanceToSquared(I1));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}applyMatrix(e){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(e)}}Ke.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new Re(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};us.line={uniforms:Po.merge([Ke.common,Ke.fog,Ke
vendor: 7,975 bytes, lines 3901-4271
3901.line]),vertexShader:` 3902 #include <common> 3903 #include <color_pars_vertex> 3904 #include <fog_pars_vertex> 3905 #include <logdepthbuf_pars_vertex> 3906 #include <clipping_planes_pars_vertex> 3907 3908 uniform float linewidth; 3909 uniform vec2 resolution; 3910 3911 attribute vec3 instanceStart; 3912 attribute vec3 instanceEnd; 3913 3914 attribute vec3 instanceColorStart; 3915 attribute vec3 instanceColorEnd; 3916 3917 #ifdef WORLD_UNITS 3918 3919 varying vec4 worldPos; 3920 varying vec3 worldStart; 3921 varying vec3 worldEnd; 3922 3923 #ifdef USE_DASH 3924 3925 varying vec2 vUv; 3926 3927 #endif 3928 3929 #else 3930 3931 varying vec2 vUv; 3932 3933 #endif 3934 3935 #ifdef USE_DASH 3936 3937 uniform float dashScale; 3938 attribute float instanceDistanceStart; 3939 attribute float instanceDistanceEnd; 3940 varying float vLineDistance; 3941 3942 #endif 3943 3944 void trimSegment( const in vec4 start, inout vec4 end ) { 3945 3946 // trim end segment so it terminates between the camera plane and the near plane 3947 3948 // conservative estimate of the near plane 3949 float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column 3950 float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column 3951 float nearEstimate = - 0.5 * b / a; 3952 3953 float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); 3954 3955 end.xyz = mix( start.xyz, end.xyz, alpha ); 3956 3957 } 3958 3959 void main() { 3960 3961 #ifdef USE_COLOR 3962 3963 vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; 3964 3965 #endif 3966 3967 #ifdef USE_DASH 3968 3969 vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; 3970 vUv = uv; 3971 3972 #endif 3973 3974 float aspect = resolution.x / resolution.y; 3975 3976 // camera space 3977 vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); 3978 vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); 3979 3980 #ifdef WORLD_UNITS 3981 3982 worldStart = start.xyz; 3983 worldEnd = end.xyz; 3984 3985 #else 3986 3987 vUv = uv; 3988 3989 #endif 3990 3991 // special case for perspective projection, and segments that terminate either in, or behind, the camera plane 3992 // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space 3993 // but we need to perform ndc-space calculations in the shader, so we must address this issue directly 3994 // perhaps there is a more elegant solution -- WestLangley 3995 3996 bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column 3997 3998 if ( perspective ) { 3999 4000 if ( start.z < 0.0 && end.z >= 0.0 ) { 4001 4002 trimSegment( start, end ); 4003 4004 } else if ( end.z < 0.0 && start.z >= 0.0 ) { 4005 4006 trimSegment( end, start ); 4007 4008 } 4009 4010 } 4011 4012 // clip space 4013 vec4 clipStart = projectionMatrix * start; 4014 vec4 clipEnd = projectionMatrix * end; 4015 4016 // ndc space 4017 vec3 ndcStart = clipStart.xyz / clipStart.w; 4018 vec3 ndcEnd = clipEnd.xyz / clipEnd.w; 4019 4020 // direction 4021 vec2 dir = ndcEnd.xy - ndcStart.xy; 4022 4023 // account for clip-space aspect ratio 4024 dir.x *= aspect; 4025 dir = normalize( dir ); 4026 4027 #ifdef WORLD_UNITS 4028 4029 vec3 worldDir = normalize( end.xyz - start.xyz ); 4030 vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); 4031 vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); 4032 vec3 worldFwd = cross( worldDir, worldUp ); 4033 worldPos = position.y < 0.5 ? start: end; 4034 4035 // height offset 4036 float hw = linewidth * 0.5; 4037 worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; 4038 4039 // don't extend the line if we're rendering dashes because we 4040 // won't be rendering the endcaps 4041 #ifndef USE_DASH 4042 4043 // cap extension 4044 worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; 4045 4046 // add width to the box 4047 worldPos.xyz += worldFwd * hw; 4048 4049 // endcaps 4050 if ( position.y > 1.0 || position.y < 0.0 ) { 4051 4052 worldPos.xyz -= worldFwd * 2.0 * hw; 4053 4054 } 4055 4056 #endif 4057 4058 // project the worldpos 4059 vec4 clip = projectionMatrix * worldPos; 4060 4061 // shift the depth of the projected points so the line 4062 // segments overlap neatly 4063 vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; 4064 clip.z = clipPose.z * clip.w; 4065 4066 #else 4067 4068 vec2 offset = vec2( dir.y, - dir.x ); 4069 // undo aspect ratio adjustment 4070 dir.x /= aspect; 4071 offset.x /= aspect; 4072 4073 // sign flip 4074 if ( position.x < 0.0 ) offset *= - 1.0; 4075 4076 // endcaps 4077 if ( position.y < 0.0 ) { 4078 4079 offset += - dir; 4080 4081 } else if ( position.y > 1.0 ) { 4082 4083 offset += dir; 4084 4085 } 4086 4087 // adjust for linewidth 4088 offset *= linewidth; 4089 4090 // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... 4091 offset /= resolution.y; 4092 4093 // select end 4094 vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; 4095 4096 // back to clip space 4097 offset *= clip.w; 4098 4099 clip.xy += offset; 4100 4101 #endif 4102 4103 gl_Position = clip; 4104 4105 vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation 4106 4107 #include <logdepthbuf_vertex> 4108 #include <clipping_planes_vertex> 4109 #include <fog_vertex> 4110 4111 } 4112 `,fragmentShader:` 4113 uniform vec3 diffuse; 4114 uniform float opacity; 4115 uniform float linewidth; 4116 4117 #ifdef USE_DASH 4118 4119 uniform float dashOffset; 4120 uniform float dashSize; 4121 uniform float gapSize; 4122 4123 #endif 4124 4125 varying float vLineDistance; 4126 4127 #ifdef WORLD_UNITS 4128 4129 varying vec4 worldPos; 4130 varying vec3 worldStart; 4131 varying vec3 worldEnd; 4132 4133 #ifdef USE_DASH 4134 4135 varying vec2 vUv; 4136 4137 #endif 4138 4139 #else 4140 4141 varying vec2 vUv; 4142 4143 #endif 4144 4145 #include <common> 4146 #include <color_pars_fragment> 4147 #include <fog_pars_fragment> 4148 #include <logdepthbuf_pars_fragment> 4149 #include <clipping_planes_pars_fragment> 4150 4151 vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { 4152 4153 float mua; 4154 float mub; 4155 4156 vec3 p13 = p1 - p3; 4157 vec3 p43 = p4 - p3; 4158 4159 vec3 p21 = p2 - p1; 4160 4161 float d1343 = dot( p13, p43 ); 4162 float d4321 = dot( p43, p21 ); 4163 float d1321 = dot( p13, p21 ); 4164 float d4343 = dot( p43, p43 ); 4165 float d2121 = dot( p21, p21 ); 4166 4167 float denom = d2121 * d4343 - d4321 * d4321; 4168 4169 float numer = d1343 * d4321 - d1321 * d4343; 4170 4171 mua = numer / denom; 4172 mua = clamp( mua, 0.0, 1.0 ); 4173 mub = ( d1343 + d4321 * ( mua ) ) / d4343; 4174 mub = clamp( mub, 0.0, 1.0 ); 4175 4176 return vec2( mua, mub ); 4177 4178 } 4179 4180 void main() { 4181 4182 #include <clipping_planes_fragment> 4183 4184 #ifdef USE_DASH 4185 4186 if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps 4187 4188 if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX 4189 4190 #endif 4191 4192 float alpha = opacity; 4193 4194 #ifdef WORLD_UNITS 4195 4196 // Find the closest points on the view ray and the line segment 4197 vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; 4198 vec3 lineDir = worldEnd - worldStart; 4199 vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); 4200 4201 vec3 p1 = worldStart + lineDir * params.x; 4202 vec3 p2 = rayEnd * params.y; 4203 vec3 delta = p1 - p2; 4204 float len = length( delta ); 4205 float norm = len / linewidth; 4206 4207 #ifndef USE_DASH 4208 4209 #ifdef USE_ALPHA_TO_COVERAGE 4210 4211 float dnorm = fwidth( norm ); 4212 alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); 4213 4214 #else 4215 4216 if ( norm > 0.5 ) { 4217 4218 discard; 4219 4220 } 4221 4222 #endif 4223 4224 #endif 4225 4226 #else 4227 4228 #ifdef USE_ALPHA_TO_COVERAGE 4229 4230 // artifacts appear on some hardware if a derivative is taken within a conditional 4231 float a = vUv.x; 4232 float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; 4233 float len2 = a * a + b * b; 4234 float dlen = fwidth( len2 ); 4235 4236 if ( abs( vUv.y ) > 1.0 ) { 4237 4238 alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); 4239 4240 } 4241 4242 #else 4243 4244 if ( abs( vUv.y ) > 1.0 ) { 4245 4246 float a = vUv.x; 4247 float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; 4248 float len2 = a * a + b * b; 4249 4250 if ( len2 > 1.0 ) discard; 4251 4252 } 4253 4254 #endif 4255 4256 #endif 4257 4258 vec4 diffuseColor = vec4( diffuse, alpha ); 4259 4260 #include <logdepthbuf_fragment> 4261 #include <color_fragment> 4262 4263 gl_FragColor = vec4( diffuseColor.rgb, alpha ); 4264 4265 #include <tonemapping_fragment> 4266 #include <colorspace_fragment> 4267 #include <fog_fragment> 4268 #include <premultiplied_alpha_fragment> 4269 4270 } 4271 `};
vendor: 2,237 bytes, line 4271
4271class ure extends Cn{constructor(e){super({type:"LineMaterial",uniforms:Po.clone(us.line.uniforms),vertexShader:us.line.vertexShader,fragmentShader:us.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?this.defines.USE_ALPHA_TO_COVERAGE="":delete this.defines.USE_ALPHA_TO_COVERAGE)}}const Q3=new Vt,V8=new K,G8=new K,sr=new Vt,or=new Vt,Uo=new Vt,W3=new K,j3=new Ct,lr=new uZ,Q8=new K,P1=new Hs,R1=new ao,No=new Vt;let Xo,xu;function W8(n,e,t){return No.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),No.multiplyScalar(1/No.w),No.x=xu/t.width,No.y=xu/t.height,No.applyMatrix4(n.projectionMatrixInverse),No.multiplyScalar(1/No.w),Math.abs(Math.max(No.x,No.y))}function fre(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,s=i.attributes.instanceEnd,o=Math.min(i.instanceCount,r.count);for(let a=0,l=o;a<l;a++){lr.start.fromBufferAttribute(r,a),lr.end.fromBufferAttribute(s,a),lr.applyM
4271atrix4(t);const c=new K,u=new K;Xo.distanceSqToSegment(lr.start,lr.end,u,c),u.distanceTo(c)<xu*.5&&e.push({point:u,pointOnLine:c,distance:Xo.origin.distanceTo(u),object:n,face:null,faceIndex:a,uv:null,uv1:null})}}function dre(n,e,t){const i=e.projectionMatrix,s=n.material.resolution,o=n.matrixWorld,a=n.geometry,l=a.attributes.instanceStart,c=a.attributes.instanceEnd,u=Math.min(a.instanceCount,l.count),f=-e.near;Xo.at(1,Uo),Uo.w=1,Uo.applyMatrix4(e.matrixWorldInverse),Uo.applyMatrix4(i),Uo.multiplyScalar(1/Uo.w),Uo.x*=s.x/2,Uo.y*=s.y/2,Uo.z=0,W3.copy(Uo),j3.multiplyMatrices(e.matrixWorldInverse,o);for(let h=0,p=u;h<p;h++){if(sr.fromBufferAttribute(l,h),or.fromBufferAttribute(c,h),sr.w=1,or.w=1,sr.applyMatrix4(j3),or.applyMatrix4(j3),sr.z>f&&or.z>f)continue;if(sr.z>f){const b=sr.z-or.z,_=(sr.z-f)/b;sr.lerp(or,_)}else if(or.z>f){const b=or.z-sr.z,_=(or.z-f)/b;or.lerp(sr,_)}sr.applyMatrix4(i),or.applyMatrix4(i),sr.multiplyScalar(1/sr.w),or.multiplyScalar(1/or.w),sr.x*=s.x/2,sr.y*=s.y/2,or.x*=s.x/2,or.y*=s.y/2,lr.start.copy(sr),lr.start.z=0,lr.end.copy(or),lr.end.z=0;const v=lr.closestPointToPointParameter(W3,!0);lr.at(v,Q8);const A=gn.lerp(sr.z,or.z,v),y=A>=-1&&A<=1,x=W3.distanceTo(Q8)<xu*.5;if(y&&x){lr.start.fromBufferAttribute(l,h),lr.end.fromBufferAttribute(c,h),lr.start.applyMatrix4(o),lr.end.applyMatrix4(o);const b=new K,_=new K;Xo.distanceSqToSegment(lr.start,lr.end,_,b),t.push({point:_,pointOnLine:b,distance:Xo.origin.distanceTo(_),object:n,face:null,faceIndex:h,uv:null,uv1:null})}}}class ip extends Qe{constructor(e=new Dd,t=new ure({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,t=e.attributes.instanceStart,i=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let o=0,a=0,l=t.count;o<l;o++,a+=2)V8.fromBufferAttribute(t,o),G8.fromBufferAttribute(i,o),r[a]=a===0?0:r[a-1],r[a+1]=r[a]+V8.distanceTo(G8);const s=new Yr(r,2,1);return e.setAttribute("instanceDistanceStart",new fn(s,1,0)),e.setAttribute("instanceDistanceEnd",new fn(s,1,1)),this}raycast(e,t){const i=this.material.worldUnits,r=e.camera;r===null&&!i&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const s=e.params.Line2!==void 0&&e.params.Line2.threshold||0;Xo=e.ray;const o=this.matrixWorld,a=this.geometry,l=this.material;xu=l.linewidth+s,a.boundingSphere===null&&a.computeBoundingSphere(),R1.copy(a.boundingSphere).applyMatrix4(o);let c;if(i)c=xu*.5;else{const f=Math.max(r.near,R1.distanceToPoint(Xo.origin));c=W8(r,f,l.resolution)}if(R1.radius+=c,Xo.intersectsSphere(R1)===!1)return;a.boundingBox===null&&a.computeBoundingBox(),P1.copy(a.boundingBox).applyMatrix4(o);let u;if(i)u=xu*.5;else{const f=Math.max(r.near,P1.distanceToPoint(Xo.origin));u=W8(r,f,l.resolution)}P1.expandByScalar(u),Xo.intersectsBox(P1)!==!1&&(i?fre(this,t):dre(this,r,t))}onBeforeRender(e){const t=this.material.uniforms;t&&t.resolution&&(e.getViewport(Q3),this.material.uniforms.resolution.value.set(Q3.z,Q3.w))}}const q3=new WeakMap;class hre extends ia{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,i,r){const s=new Yl(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,o=>{this.parse(o,t,r)},i,r)}parse(e,t,i=()=>{}){this.decodeDracoFile(e,t,null,null,En,i).catch(i)}decodeDracoFile(e,t,i,r,s=mi,o=()=>{}){const a={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:s};
vendor: 6,339 bytes, lines 4271-4276
4271return this.decodeGeometry(e,a).then(t).catch(o)}decodeGeometry(e,t){const i=JSON.stringify(t);if(q3.has(e)){const l=q3.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const s=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(s,o).then(l=>(r=l,new Promise((c,u)=>{r._callbacks[s]={resolve:c,reject:u},r.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return a.catch(()=>!0).then(()=>{r&&s&&this._releaseTask(r,s)}),q3.set(e,{key:i,promise:a}),a}_createGeometry(e){const t=new Hn;e.index&&t.setIndex(new Gi(e.index.array,1));for(let i=0;i<e.attributes.length;i++){const r=e.attributes[i],s=r.name,o=r.array,a=r.itemSize,l=new Gi(o,a);s==="color"&&(this._assignVertexColorSpace(l,r.vertexColorSpace),l.normalized=!(o instanceof Float32Array)),t.setAttribute(s,l)}return t}_assignVertexColorSpace(e,t){if(t!==En)return;const i=new ke;for(let r=0,s=e.count;r<s;r++)i.fromBufferAttribute(e,r),Xt.toWorkingColorSpace(i,En),e.setXYZ(r,i.r,i.g,i.b)}_loadLibrary(e,t){const i=new Yl(this.manager);return i.setPath(this.decoderPath),i.setResponseType(t),i.setWithCredentials(this.withCredentials),new Promise((r,s)=>{i.load(e,r,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const s=pre.toString(),o=["/* draco decoder */",r,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(` 4272`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const r=new Worker(this.workerSourceURL);r._callbacks={},r._taskCosts={},r._taskLoad=0,r.postMessage({type:"init",decoderConfig:this.decoderConfig}),r.onmessage=function(s){const o=s.data;switch(o.type){case"decode":r._callbacks[o.id].resolve(o);break;case"error":r._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(r)}else this.workerPool.sort(function(r,s){return r._taskLoad>s._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function pre(){let n,e;onmessage=function(o){const a=o.data;switch(a.type){case"init":n=a.decoderConfig,e=new Promise(function(u){n.onModuleLoaded=function(f){u({draco:f})},DracoDecoderModule(n)});break;case"decode":const l=a.buffer,c=a.taskConfig;e.then(u=>{const f=u.draco,h=new f.Decoder;try{const p=t(f,h,new Int8Array(l),c),m=p.attributes.map(v=>v.array.buffer);p.index&&m.push(p.index.array.buffer),self.postMessage({type:"decode",id:a.id,geometry:p},m)}catch(p){console.error(p),self.postMessage({type:"error",id:a.id,error:p.message})}finally{f.destroy(h)}});break}};function t(o,a,l,c){const u=c.attributeIDs,f=c.attributeTypes;let h,p;const m=a.GetEncodedGeometryType(l);if(m===o.TRIANGULAR_MESH)h=new o.Mesh,p=a.DecodeArrayToMesh(l,l.byteLength,h);else if(m===o.POINT_CLOUD)h=new o.PointCloud,p=a.DecodeArrayToPointCloud(l,l.byteLength,h);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!p.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+p.error_msg());const v={index:null,attributes:[]};for(const A in u){const y=self[f[A]];let x,b;if(c.useUniqueIDs)b=u[A],x=a.GetAttributeByUniqueId(h,b);else{if(b=a.GetAttributeId(h,o[u[A]]),b===-1)continue;x=a.GetAttribute(h,b)}const _=r(o,a,h,A,y,x);A==="color"&&(_.vertexColorSpace=c.vertexColorSpace),v.attributes.push(_)}return m===o.TRIANGULAR_MESH&&(v.index=i(o,a,h)),o.destroy(h),v}function i(o,a,l){const u=l.num_faces()*3,f=u*4,h=o._malloc(f);a.GetTrianglesUInt32Array(l,f,h);const p=new Uint32Array(o.HEAPF32.buffer,h,u).slice();return o._free(h),{array:p,itemSize:1}}function r(o,a,l,c,u,f){const h=f.num_components(),m=l.num_points()*h,v=m*u.BYTES_PER_ELEMENT,A=s(o,u),y=o._malloc(v);a.GetAttributeDataArrayForAllPoints(l,f,A,v,y);const x=new u(o.HEAPF32.buffer,y,m).slice();return o._free(y),{name:c,array:x,itemSize:h}}function s(o,a){switch(a){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}class mre extends WK{constructor(e){super(e),this.type=nn}parse(e){const o=function(R,w){switch(R){case 1:throw new Error("THREE.RGBELoader: Read Error: "+(w||""));case 2:throw new Error("THREE.RGBELoader: Write Error: "+(w||""));case 3:throw new Error("THREE.RGBELoader: Bad File Format: "+(w||""));default:case 4:throw new Error("THREE.RGBELoader: Memory Error: "+(w||""))}},u=` 4273`,f=function(R,w,E){w=w||1024;let L=R.pos,z=-1,V=0,j="",N=String.fromCharCode.apply(null,new Uint16Array(R.subarray(L,L+128)));for(;0>(z=N.indexOf(u))&&V<w&&L<R.byteLength;)j+=N,V+=N.length,L+=128,N+=String.fromCharCode.apply(null,new Uint16Array(R.subarray(L,L+128)));return-1<z?(R.pos+=V+z+1,j+N.slice(0,z)):!1},h=function(R){const w=/^#\?(\S+)/,E=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,F=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,L=/^\s*FORMAT=(\S+)\s*$/,z=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,V={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0};let j,N;for((R.pos>=R.byteLength||!(j=f(R)))&&o(1,"no header found"),(N=j.match(w))||o(3,"bad initial token"),V.valid|=1,V.programtype=N[1],V.string+=j+` 4274`;j=f(R),j!==!1;){if(V.string+=j+` 4275`,j.charAt(0)==="#"){V.comments+=j+` 4276`;continue}
vendor: 2,113 bytes, line 4276
4276if((N=j.match(E))&&(V.gamma=parseFloat(N[1])),(N=j.match(F))&&(V.exposure=parseFloat(N[1])),(N=j.match(L))&&(V.valid|=2,V.format=N[1]),(N=j.match(z))&&(V.valid|=4,V.height=parseInt(N[1],10),V.width=parseInt(N[2],10)),V.valid&2&&V.valid&4)break}return V.valid&2||o(3,"missing format specifier"),V.valid&4||o(3,"missing image size specifier"),V},p=function(R,w,E){const F=w;if(F<8||F>32767||R[0]!==2||R[1]!==2||R[2]&128)return new Uint8Array(R);F!==(R[2]<<8|R[3])&&o(3,"wrong scanline width");const L=new Uint8Array(4*w*E);L.length||o(4,"unable to allocate buffer space");let z=0,V=0;const j=4*F,N=new Uint8Array(4),Q=new Uint8Array(j);let W=E;for(;W>0&&V<R.byteLength;){V+4>R.byteLength&&o(1),N[0]=R[V++],N[1]=R[V++],N[2]=R[V++],N[3]=R[V++],(N[0]!=2||N[1]!=2||(N[2]<<8|N[3])!=F)&&o(3,"bad rgbe scanline format");let ee=0,H;for(;ee<j&&V<R.byteLength;){H=R[V++];const Ie=H>128;if(Ie&&(H-=128),(H===0||ee+H>j)&&o(3,"bad scanline data"),Ie){const ze=R[V++];for(let oe=0;oe<H;oe++)Q[ee++]=ze}else Q.set(R.subarray(V,V+H),ee),ee+=H,V+=H}const ye=F;for(let Ie=0;Ie<ye;Ie++){let ze=0;L[z]=Q[Ie+ze],ze+=F,L[z+1]=Q[Ie+ze],ze+=F,L[z+2]=Q[Ie+ze],ze+=F,L[z+3]=Q[Ie+ze],z+=4}W--}return L},m=function(R,w,E,F){const L=R[w+3],z=Math.pow(2,L-128)/255;E[F+0]=R[w+0]*z,E[F+1]=R[w+1]*z,E[F+2]=R[w+2]*z,E[F+3]=1},v=function(R,w,E,F){const L=R[w+3],z=Math.pow(2,L-128)/255;E[F+0]=Jm.toHalfFloat(Math.min(R[w+0]*z,65504)),E[F+1]=Jm.toHalfFloat(Math.min(R[w+1]*z,65504)),E[F+2]=Jm.toHalfFloat(Math.min(R[w+2]*z,65504)),E[F+3]=Jm.toHalfFloat(1)},A=new Uint8Array(e);A.pos=0;const y=h(A),x=y.width,b=y.height,_=p(A.subarray(A.pos),x,b);let T,M,I;switch(this.type){case Zt:I=_.length/4;const R=new Float32Array(I*4);for(let E=0;E<I;E++)m(_,E*4,R,E*4);T=R,M=Zt;break;case nn:I=_.length/4;const w=new Uint16Array(I*4);for(let E=0;E<I;E++)v(_,E*4,w,E*4);T=w,M=nn;break;default:throw new Error("THREE.RGBELoader: Unsupported type: "+this.type)}return{width:x,height:b,data:T,header:y.string,gamma:y.gamma,exposure:y.exposure,type:M}}setDataType(e){return this.type=e,this}load(e,t,i,r){function s(o,a){switch(o.type){case Zt:case nn:o.colorSpace
vendor: 1,883 bytes, line 4276
4276=mi,o.minFilter=Yt,o.magFilter=Yt,o.generateMipmaps=!1,o.flipY=!0;break}t&&t(o,a)}return super.load(e,s,i,r)}}class gre{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e<this.pool;e++)if(!(this.workerStatus&1<<e))return e;return-1}_onMessage(e,t){const i=this.workersResolve[e];if(i&&i(t),this.queue.length){const{resolve:r,msg:s,transfer:o}=this.queue.shift();this.workersResolve[e]=r,this.workers[e].postMessage(s,o)}else this.workerStatus^=1<<e}setWorkerCreator(e){this.workerCreator=e}setWorkerLimit(e){this.pool=e}postMessage(e,t){return new Promise(i=>{const r=this._getIdleWorker();r!==-1?(this._initWorker(r),this.workerStatus|=1<<r,this.workersResolve[r]=i,this.workers[r].postMessage(e,t)):this.queue.push({resolve:i,msg:e,transfer:t})})}dispose(){this.workers.forEach(e=>e.terminate()),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let X3,Ca,Lb;const Y3={env:{emscripten_notify_memory_growth:function(n){Lb=new Uint8Array(Ca.exports.memory.buffer)}}};class Are{init(){return X3||(X3=typeof fetch<"u"?fetch("data:application/wasm;base64,"+j8).then(e=>e.arrayBuffer()).then(e=>WebAssembly.instantiate(e,Y3)).then(this._init):WebAssembly.instantiate(Buffer.from(j8,"base64"),Y3).then(this._init),X3)}_init(e){Ca=e.instance,Y3.env.emscripten_notify_memory_growth(0)}decode(e,t=0){if(!Ca)throw new Error("ZSTDDecoder: Await .init() before decoding.");const i=e.byteLength,r=Ca.exports.malloc(i);Lb.set(e,r),t=t||Number(Ca.exports.ZSTD_findDecompressedSize(r,i));const s=Ca.exports.malloc(t),o=Ca.exports.ZSTD_decompress(s,t,r,i),a=Lb.slice(s,s+o);return Ca.exports.free(r),Ca.exports.free(s),a}}const j8="
vendor: 19,971 bytes, line 4276
4276AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWo
vendor: 19,007 bytes, line 4276
4276hCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbiECCyAAQQh2IgEgAkEYbCIAQYwIaigCAGwgAEGICGooAgBqIgJBA3YgAmogAEGACGooAgAgAEGECGooAgAgAWxqSQs3ACAAIAMgBCAFQYAQEDMiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQMgVBuH8LC78DAQN/IwBBIGsiBSQAIAVBCGogAiADEAYiAhADRQRAIAAgAWoiB0F9aiEGIAUgBBAOIARBBGohAiAFLQACIQMDQEEAIAAgBkkgBUEIahAEGwRAIAAgAiAFQQhqIAMQAkECdGoiBC8BADsAACAFQQhqIAQtAAIQASAAIAQtAANqIgQgAiAFQQhqIAMQAkECdGoiAC8BADsAACAFQQhqIAAtAAIQASAEIAAtAANqIQAMAQUgB0F+aiEEA0AgBUEIahAEIAAgBEtyRQRAIAAgAiAFQQhqIAMQAkECdGoiBi8BADsAACAFQQhqIAYtAAIQASAAIAYtAANqIQAMAQsLA0AgACAES0UEQCAAIAIgBUEIaiADEAJBAnRqIgYvAQA7AAAgBUEIaiAGLQACEAEgACAGLQADaiEADAELCwJAIAAgB08NACAAIAIgBUEIaiADEAIiA0ECdGoiAC0AADoAACAALQADQQFGBEAgBUEIaiAALQACEAEMAQsgBSgCDEEfSw0AIAVBCGogAiADQQJ0ai0AAhABIAUoAgxBIUkNACAFQSA2AgwLIAFBbCAFQQhqEAobIQILCwsgBUEgaiQAIAILkgIBBH8jAEFAaiIJJAAgCSADQTQQCyEDAkAgBEECSA0AIAMgBEECdGooAgAhCSADQTxqIAgQIyADQQE6AD8gAyACOgA+QQAhBCADKAI8IQoDQCAEIAlGDQEgACAEQQJ0aiAKNgEAIARBAWohBAwAAAsAC0EAIQkDQCAGIAlGRQRAIAMgBSAJQQF0aiIKLQABIgtBAnRqIgwoAgAhBCADQTxqIAotAABBCHQgCGpB//8DcRAjIANBAjoAPyADIAcgC2siCiACajoAPiAEQQEgASAKa3RqIQogAygCPCELA0AgACAEQQJ0aiALNgEAIARBAWoiBCAKSQ0ACyAMIAo2AgAgCUEBaiEJDAELCyADQUBrJAALowIBCX8jAEHQAGsiCSQAIAlBEGogBUE0EAsaIAcgBmshDyAHIAFrIRADQAJAIAMgCkcEQEEBIAEgByACIApBAXRqIgYtAAEiDGsiCGsiC3QhDSAGLQAAIQ4gCUEQaiAMQQJ0aiIMKAIAIQYgCyAPTwRAIAAgBkECdGogCyAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QYyAGIA1qIQgMAgsgCUEMaiAOECMgCUEBOgAPIAkgCDoADiAGIA1qIQggCSgCDCELA0AgBiAITw0CIAAgBkECdGogCzYBACAGQQFqIQYMAAALAAsgCUHQAGokAA8LIAwgCDYCACAKQQFqIQoMAAALAAs0ACAAIAMgBCAFEDYiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQNAVBuH8LCyMAIAA/AEEQdGtB//8DakEQdkAAQX9GBEBBAA8LQQAQAEEBCzsBAX8gAgRAA0AgACABIAJBgCAgAkGAIEkbIgMQCyEAIAFBgCBqIQEgAEGAIGohACACIANrIgINAAsLCwYAIAAQAwsLqBUJAEGICAsNAQAAAAEAAAACAAAAAgBBoAgLswYBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAAAAAAEAAAABAAAABQAAAA0AAAAdAAAAPQAAAH0AAAD9AAAA/QEAAP0DAAD9BwAA/Q8AAP0fAAD9PwAA/X8AAP3/AAD9/wEA/f8DAP3/BwD9/w8A/f8fAP3/PwD9/38A/f//AP3//wH9//8D/f//B/3//w/9//8f/f//P/3//38AAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQeAPC1EBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAQcQQC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBkBIL5gQBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAEAAAAEAAAACAAAAAAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBgBcLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBkBkLhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBpB0L2QEBAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AAAAAAEAAAACAAAABAAAAAAAAAACAAAABAAAAAgAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAEGgIAsDwBBQ",
vendor: 10,323 bytes, lines 4276-4277
4276vre="display-p3",yre="display-p3-linear",$3=new WeakMap;let K3=0,Z3;class eo extends ia{constructor(e){super(e),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new gre,this.workerSourceURL="",this.workerConfig=null,typeof MSC_TRANSCODER<"u"&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(e){return this.transcoderPath=e,this}setWorkerLimit(e){return this.workerPool.setWorkerLimit(e),this}async detectSupportAsync(e){return this.workerConfig={astcSupported:await e.hasFeatureAsync("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:await e.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await e.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await e.hasFeatureAsync("texture-compression-bc"),bptcSupported:await e.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await e.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(e){return e.isWebGPURenderer===!0?this.workerConfig={astcSupported:e.hasFeature("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:e.hasFeature("texture-compression-etc1"),etc2Supported:e.hasFeature("texture-compression-etc2"),dxtSupported:e.hasFeature("texture-compression-bc"),bptcSupported:e.hasFeature("texture-compression-bptc"),pvrtcSupported:e.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:e.extensions.has("WEBGL_compressed_texture_astc"),astcHDRSupported:e.extensions.has("WEBGL_compressed_texture_astc")&&e.extensions.get("WEBGL_compressed_texture_astc").getSupportedProfiles().includes("hdr"),etc1Supported:e.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:e.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:e.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:e.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:e.extensions.has("WEBGL_compressed_texture_pvrtc")||e.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const e=new Yl(this.manager);e.setPath(this.transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),i=new Yl(this.manager);i.setPath(this.transcoderPath),i.setResponseType("arraybuffer"),i.setWithCredentials(this.withCredentials);const r=i.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([t,r]).then(([s,o])=>{const a=eo.BasisWorker.toString(),l=["/* constants */","let _EngineFormat = "+JSON.stringify(eo.EngineFormat),"let _EngineType = "+JSON.stringify(eo.EngineType),"let _TranscoderFormat = "+JSON.stringify(eo.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(eo.BasisFormat),"/* basis_transcoder.js */",s,"/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(` 4277`);this.workerSourceURL=URL.createObjectURL(new Blob([l])),this.transcoderBinary=o,this.workerPool.setWorkerCreator(()=>{const c=new Worker(this.workerSourceURL),u=this.transcoderBinary.slice(0);return c.postMessage({type:"init",config:this.workerConfig,transcoderBinary:u},[u]),c})}),K3>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),K3++}return this.transcoderPending}load(e,t,i,r){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const s=new Yl(this.manager);s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials),s.load(e,o=>{this.parse(o,t,r)},i,r)}parse(e,t,i){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if($3.has(e))return $3.get(e).promise.then(t).catch(i);this._createTexture(e).then(r=>t?t(r):null).catch(i)}_createTextureFrom(e,t){const{type:i,error:r,data:{faces:s,width:o,height:a,format:l,type:c,dfdFlags:u}}=e;if(i==="error")return Promise.reject(r);let f;if(t.faceCount===6)f=new EK(s,l,c);else{const h=s[0].mipmaps;f=t.layerCount>1?new SK(h,o,a,t.layerCount,l,c):new IA(h,o,a,l,c)}return f.minFilter=s[0].mipmaps.length===1?Yt:Fs,f.magFilter=Yt,f.generateMipmaps=!1,f.needsUpdate=!0,f.colorSpace=NP(t),f.premultiplyAlpha=!!(u&nre),f}async _createTexture(e,t={}){const i=lre(new Uint8Array(e)),r=i.vkFormat===p4&&i.dataFormatDescriptor[0].colorModel===167;if(!(i.vkFormat===ore||r&&!this.workerConfig.astcHDRSupported))return bre(i);const o=t,a=this.init().then(()=>this.workerPool.postMessage({type:"transcode",buffer:e,taskConfig:o},[e])).then(l=>this._createTextureFrom(l.data,i));return $3.set(e,{promise:a}),a}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),K3--,this}}eo.BasisFormat={ETC1S:0,UASTC:1,UASTC_HDR:2};eo.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16,BC6H:22,RGB_HALF:24,RGBA_HALF:25};eo.EngineFormat={RGBAFormat:pi,RGBA_ASTC_4x4_Format:K0,RGB_BPTC_UNSIGNED_Format:zg,RGBA_BPTC_Format:w0,RGBA_ETC2_EAC_Format:kg,RGBA_PVRTC_4BPPV1_Format:Fg,RGBA_S3TC_DXT5_Format:C0,RGB_ETC1_Format:Ug,RGB_ETC2_Format:Ng,RGB_PVRTC_4BPPV1_Format:Og,RGBA_S3TC_DXT1_Format:x0};eo.EngineType={UnsignedByteType:Ki,HalfFloatType:nn,FloatType:Zt};eo.BasisWorker=function(){let n,e,t;const i=_EngineFormat,r=_EngineType,s=_TranscoderFormat,o=_BasisFormat;self.addEventListener("message",function(m){const v=m.data;switch(v.type){case"init":n=v.config,a(v.transcoderBinary);break;case"transcode":e.then(()=>{try{const{faces:A,buffers:y,width:x,height:b,hasAlpha:_,format:T,type:M,dfdFlags:I}=l(v.buffer);self.postMessage({type:"transcode",id:v.id,data:{faces:A,width:x,height:b,hasAlpha:_,format:T,type:M,dfdFlags:I}},y)}catch(A){console.error(A),self.postMessage({type:"error",id:v.id,error:A.message})}});break}});function a(m){e=new Promise(v=>{t={wasmBinary:m,onRuntimeInitialized:v},BASIS(t)}).then(()=>{t.initializeBasis(),t.KTX2File===void 0&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")})}function l(m){const v=new t.KTX2File(new Uint8Array(m));function A(){v.close(),v.delete()}if(!v.isValid())throw A(),new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");let y;if(v.isUASTC())y=o.UASTC;else if(v.isETC1S())y=o.ETC1S;else if(v.isHDR())y=o.UASTC_HDR;else throw new Error("THREE.KTX2Loader: Unknown Basis encoding");const x=v.getWidth(),b=v.getHeight(),_=v.getLayers()||1,T=v.getLevels(),M=v.getFaces(),I=v.getHasAlpha(),R=v.getDFDFlags(),{transcoderFormat:w,engineFormat:E,engineType:F}=f(y,x,b,I);if(!x||!b||!T)throw A(),new Error("THREE.KTX2Loader: Invalid texture");if(!v.startTranscoding())throw A(),new Error("THREE.KTX2Loader: .startTranscoding failed");const L=[],z=[];for(let V=0;V<M;V++){const j=[];for(let N=0;N<T;N++){const Q=[];let W,ee;for(let ye=0;ye<_;ye++){const Ie=v.getImageLevelInfo(N,ye,V);V===0&&N===0&&ye===0&&(Ie.origWidth%4!==0||Ie.origHeight%4!==0)&&console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),T>1?(W=Ie.origWidth,ee=Ie.origHeight):(W=Ie.width,ee=Ie.height);let ze=new Uint8Array(v.getImageTranscodedSizeInBytes(N,ye,0,w));const oe=v.transcodeImage(ze,N,ye,V,w,0,-1,-1);if(F===r.HalfFloatType&&(ze=new Uint16Array(ze.buffer,ze.byteOffset,ze.byteLength/Uint16Array.BYTES_PER_ELEMENT)),!oe)throw A(),new Error("THREE.KTX2Loader: .transcodeImage failed.");Q.push(ze)}const H=p(Q);j.push({data:H,width:W,height:ee}),z.push(H.buffer)}L.push({mipmaps:j,width:x,height:b,format:E,type:F})}return A(),{faces:L,buffers:z,width:x,height:b,hasAlpha:I,dfdFlags:R,format:E,type:F}}const c=[{if:"astcSupported",basisFormat:[o.UASTC],transcoderFormat:[s.ASTC_4x4,s.ASTC_4x4],engineFormat:[i.RGBA_ASTC_4x4_Format,i.RGBA_ASTC_4x4_Format],engineType:[r.UnsignedByteType],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.BC7_M5,s.BC7_M5],engineFormat:[i.RGBA_BPTC_Format,i.RGBA_BPTC_Format],engineType:[r.UnsignedByteType],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.BC1,s.BC3],engineFormat:[i.RGBA_S3TC_DXT1_Format,i.RGBA_S3TC_DXT5_Format],engineType:[r.UnsignedByteType],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.ETC1,s.ETC2],engineFormat:[i.RGB_ETC2_Format,i.RGBA_ETC2_EAC_Format],engineType:[r.UnsignedByteType],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.ETC1],engineFormat:[i.RGB_ETC1_Format],engineType:[r.UnsignedByteType],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.PVRTC1_4_RGB,s.PVRTC1_4_RGBA],engineFormat:[i.RGB_PVRTC_4BPPV1_Format,i.RGBA_PVRTC_4BPPV1_Format],engineType:[r.UnsignedByteType],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0},{if:"bptcSupported",basisFormat:[o.UASTC_HDR],transcoderFormat:[s.BC6H],engineFormat:[i.RGB_BPTC_UNSIGNED_Format],engineType:[r.HalfFloatType],priorityHDR:1,needsPowerOfTwo:!1},{basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.RGBA32,s.RGBA32],engineFormat:[i.RGBAFormat,i.RGBAFormat],engineType:[r.UnsignedByteType,r.UnsignedByteType],priorityETC1S:100,priorityUASTC:100,needsPowerOfTwo:!1},{basisFormat:[o.UASTC_HDR],transcoderFormat:[s.RGBA_HALF],engineFormat:[i.RGBAFormat],engineType:[r.HalfFloatType],priorityHDR:100,needsPowerOfTwo:!1}],u={[o.ETC1S]:c.filter(m=>m.basisFormat.includes(o.ETC1S)).sort((m,v)=>m.priorityUASTC-v.priorityUASTC),[o.UASTC]:c.filter(m=>m.basisFormat.includes(o.UASTC)).sort((m,v)=>m.priorityUASTC-v.priorityUASTC),[o.UASTC_HDR]:c.filter(m=>m.basisFormat.includes(o.UASTC_HDR)).sort((m,v)=>m.priorityHDR-v.priorityHDR)};function f(m,v,A,y){const x=u[m];for(let b=0;b<x.length;b++){const _=x[b];if(_.if&&!n[_.if]||!_.basisFormat.includes(m)||y&&_.transcoderFormat.length<2||_.needsPowerOfTwo&&!(h(v)&&h(A)))continue;const T=_.transcoderFormat[y?1:0],M=_.engineFormat[y?1:0],I=_.engineType[0];return{transcoderFormat:T,engineFormat:M,engineType:I}}
vendor: 20,458 bytes, lines 4277-4452
4277throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.")}function h(m){return m<=2?!0:(m&m-1)===0&&m!==0}function p(m){if(m.length===1)return m[0];let v=0;for(let x=0;x<m.length;x++){const b=m[x];v+=b.byteLength}const A=new Uint8Array(v);let y=0;for(let x=0;x<m.length;x++){const b=m[x];A.set(b,y),y+=b.byteLength}return A}};const _re=new Set([pi,ou,kl]),J3={[OP]:pi,[BP]:pi,[MP]:pi,[IP]:pi,[LP]:ou,[RP]:ou,[EP]:ou,[TP]:ou,[DP]:kl,[PP]:kl,[SP]:kl,[wP]:kl,[p4]:K0,[UP]:Z0,[FP]:Z0},ey={[OP]:Zt,[BP]:nn,[MP]:Ki,[IP]:Ki,[LP]:Zt,[RP]:nn,[EP]:Ki,[TP]:Ki,[DP]:Zt,[PP]:nn,[SP]:Ki,[wP]:Ki,[p4]:nn,[UP]:Ki,[FP]:Ki};async function bre(n){const{vkFormat:e}=n;if(J3[e]===void 0)throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let t;n.supercompressionScheme===N8&&(Z3||(Z3=new Promise(async s=>{const o=new Are;await o.init(),s(o)})),t=await Z3);const i=[];for(let s=0;s<n.levels.length;s++){const o=Math.max(1,n.pixelWidth>>s),a=Math.max(1,n.pixelHeight>>s),l=n.pixelDepth?Math.max(1,n.pixelDepth>>s):0,c=n.levels[s];let u;if(n.supercompressionScheme===tre)u=c.levelData;else if(n.supercompressionScheme===N8)u=t.decode(c.levelData,c.uncompressedByteLength);else throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");let f;ey[e]===Zt?f=new Float32Array(u.buffer,u.byteOffset,u.byteLength/Float32Array.BYTES_PER_ELEMENT):ey[e]===nn?f=new Uint16Array(u.buffer,u.byteOffset,u.byteLength/Uint16Array.BYTES_PER_ELEMENT):f=u,i.push({data:f,width:o,height:a,depth:l})}let r;if(_re.has(J3[e]))r=n.pixelDepth===0?new zd(i[0].data,n.pixelWidth,n.pixelHeight):new KI(i[0].data,n.pixelWidth,n.pixelHeight,n.pixelDepth);else{if(n.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");r=new IA(i,n.pixelWidth,n.pixelHeight),r.minFilter=i.length===1?Yt:Fs,r.magFilter=Yt}return r.mipmaps=i,r.type=ey[e],r.format=J3[e],r.colorSpace=NP(n),r.needsUpdate=!0,Promise.resolve(r)}function NP(n){const e=n.dataFormatDescriptor[0];return e.colorPrimaries===rre?e.transferFunction===k8?En:mi:e.colorPrimaries===sre?e.transferFunction===k8?vre:yre:(e.colorPrimaries===ire||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`),qo)}const BA={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` 4278 4279 varying vec2 vUv; 4280 4281 void main() { 4282 4283 vUv = uv; 4284 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4285 4286 }`,fragmentShader:` 4287 4288 uniform float opacity; 4289 4290 uniform sampler2D tDiffuse; 4291 4292 varying vec2 vUv; 4293 4294 void main() { 4295 4296 vec4 texel = texture2D( tDiffuse, vUv ); 4297 gl_FragColor = opacity * texel; 4298 4299 4300 }`};class rp extends lc{constructor(e,t){super(),this.textureID=t!==void 0?t:"tDiffuse",e instanceof Cn?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=Po.clone(e.uniforms),this.material=new Cn({name:e.name!==void 0?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new Ip(this.material)}render(e,t,i){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=i.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()}}class q8 extends lc{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,i){const r=e.getContext(),s=e.state;s.buffers.color.setMask(!1),s.buffers.depth.setMask(!1),s.buffers.color.setLocked(!0),s.buffers.depth.setLocked(!0);let o,a;this.inverse?(o=0,a=1):(o=1,a=0),s.buffers.stencil.setTest(!0),s.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),s.buffers.stencil.setFunc(r.ALWAYS,o,4294967295),s.buffers.stencil.setClear(a),s.buffers.stencil.setLocked(!0),e.setRenderTarget(i),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),s.buffers.color.setLocked(!1),s.buffers.depth.setLocked(!1),s.buffers.color.setMask(!0),s.buffers.depth.setMask(!0),s.buffers.stencil.setLocked(!1),s.buffers.stencil.setFunc(r.EQUAL,1,4294967295),s.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),s.buffers.stencil.setLocked(!0)}}class xre extends lc{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class Cre{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){const i=e.getSize(new Re);this._width=i.width,this._height=i.height,t=new li(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:nn}),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 rp(BA),this.copyPass.material.blending=wo,this.clock=new dP}swapBuffers(){const 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){const 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}render(e){e===void 0&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let i=!1;for(let r=0,s=this.passes.length;r<s;r++){const o=this.passes[r];if(o.enabled!==!1){if(o.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(r),o.render(this.renderer,this.writeBuffer,this.readBuffer,e,i),o.needsSwap){if(i){const a=this.renderer.getContext(),l=this.renderer.state.buffers.stencil;l.setFunc(a.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),l.setFunc(a.EQUAL,1,4294967295)}this.swapBuffers()}q8!==void 0&&(o instanceof q8?i=!0:o instanceof xre&&(i=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(e===void 0){const t=this.renderer.getSize(new Re);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;const i=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(i,r),this.renderTarget2.setSize(i,r);for(let s=0;s<this.passes.length;s++)this.passes[s].setSize(i,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}}const wre={name:"OutputShader",uniforms:{tDiffuse:{value:null},toneMappingExposure:{value:1}},vertexShader:` 4301 precision highp float; 4302 4303 uniform mat4 modelViewMatrix; 4304 uniform mat4 projectionMatrix; 4305 4306 attribute vec3 position; 4307 attribute vec2 uv; 4308 4309 varying vec2 vUv; 4310 4311 void main() { 4312 4313 vUv = uv; 4314 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4315 4316 }`,fragmentShader:` 4317 4318 precision highp float; 4319 4320 uniform sampler2D tDiffuse; 4321 4322 #include <tonemapping_pars_fragment> 4323 #include <colorspace_pars_fragment> 4324 4325 varying vec2 vUv; 4326 4327 void main() { 4328 4329 gl_FragColor = texture2D( tDiffuse, vUv ); 4330 4331 // tone mapping 4332 4333 #ifdef LINEAR_TONE_MAPPING 4334 4335 gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb ); 4336 4337 #elif defined( REINHARD_TONE_MAPPING ) 4338 4339 gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb ); 4340 4341 #elif defined( CINEON_TONE_MAPPING ) 4342 4343 gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb ); 4344 4345 #elif defined( ACES_FILMIC_TONE_MAPPING ) 4346 4347 gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb ); 4348 4349 #elif defined( AGX_TONE_MAPPING ) 4350 4351 gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb ); 4352 4353 #elif defined( NEUTRAL_TONE_MAPPING ) 4354 4355 gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb ); 4356 4357 #elif defined( CUSTOM_TONE_MAPPING ) 4358 4359 gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb ); 4360 4361 #endif 4362 4363 // color space 4364 4365 #ifdef SRGB_TRANSFER 4366 4367 gl_FragColor = sRGBTransferOETF( gl_FragColor ); 4368 4369 #endif 4370 4371 }`};class Sre extends lc{constructor(){super();const e=wre;this.uniforms=Po.clone(e.uniforms),this.material=new IK({name:e.name,uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader}),this.fsQuad=new Ip(this.material),this._outputColorSpace=null,this._toneMapping=null}render(e,t,i){this.uniforms.tDiffuse.value=i.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={},Xt.getTransfer(this._outputColorSpace)===yn&&(this.material.defines.SRGB_TRANSFER=""),this._toneMapping===II?this.material.defines.LINEAR_TONE_MAPPING="":this._toneMapping===PI?this.material.defines.REINHARD_TONE_MAPPING="":this._toneMapping===RI?this.material.defines.CINEON_TONE_MAPPING="":this._toneMapping===BI?this.material.defines.ACES_FILMIC_TONE_MAPPING="":this._toneMapping===LI?this.material.defines.AGX_TONE_MAPPING="":this._toneMapping===OI?this.material.defines.NEUTRAL_TONE_MAPPING="":this._toneMapping===DI&&(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()}}class m4 extends lc{constructor(e,t,i=null,r=null,s=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=i,this.clearColor=r,this.clearAlpha=s,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new ke}render(e,t,i){const r=e.autoClear;e.autoClear=!1;let s,o;this.overrideMaterial!==null&&(o=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor!==null&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor,e.getClearAlpha())),this.clearAlpha!==null&&(s=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),this.clearDepth==!0&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:i),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(s),this.overrideMaterial!==null&&(this.scene.overrideMaterial=o),e.autoClear=r}}class g4 extends lc{constructor(e){super();const t=BA;this.textureID="tDiffuse",this.uniforms=Po.clone(t.uniforms),this.material=new Cn({uniforms:this.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,blending:wo}),this.renderTarget=e,this.renderTarget===void 0&&(this.renderTarget=new li(1,1,{type:nn}),this.renderTarget.texture.name="SavePass.rt"),this.needsSwap=!1,this.fsQuad=new Ip(this.material)}render(e,t,i){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=i.texture),e.setRenderTarget(this.renderTarget),this.clear&&e.clear(),this.fsQuad.render(e)}setSize(e,t){this.renderTarget.setSize(e,t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.fsQuad.dispose()}}const kP={uniforms:{tDiffuse:{value:null},luminosityThreshold:{value:1},smoothWidth:{value:1},defaultColor:{value:new ke(0)},defaultOpacity:{value:0}},vertexShader:` 4372 4373 varying vec2 vUv; 4374 4375 void main() { 4376 4377 vUv = uv; 4378 4379 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4380 4381 }`,fragmentShader:` 4382 4383 uniform sampler2D tDiffuse; 4384 uniform vec3 defaultColor; 4385 uniform float defaultOpacity; 4386 uniform float luminosityThreshold; 4387 uniform float smoothWidth; 4388 4389 varying vec2 vUv; 4390 4391 void main() { 4392 4393 vec4 texel = texture2D( tDiffuse, vUv ); 4394 4395 float v = luminance( texel.xyz ); 4396 4397 vec4 outputColor = vec4( defaultColor.rgb, defaultOpacity ); 4398 4399 float alpha = smoothstep( luminosityThreshold, luminosityThreshold + smoothWidth, v ); 4400 4401 gl_FragColor = mix( outputColor, texel, alpha ); 4402 4403 }`};class Ld extends lc{constructor(e,t,i,r){super(),this.strength=t!==void 0?t:1,this.radius=i,this.threshold=r,this.resolution=e!==void 0?new Re(e.x,e.y):new Re(256,256),this.clearColor=new ke(0,0,0),this.renderTargetsHorizontal=[],this.renderTargetsVertical=[],this.nMips=5;let s=Math.round(this.resolution.x/2),o=Math.round(this.resolution.y/2);this.renderTargetBright=new li(s,o,{type:nn}),this.renderTargetBright.texture.name="UnrealBloomPass.bright",this.renderTargetBright.texture.generateMipmaps=!1;for(let f=0;f<this.nMips;f++){const h=new li(s,o,{type:nn});h.texture.name="UnrealBloomPass.h"+f,h.texture.generateMipmaps=!1,this.renderTargetsHorizontal.push(h);const p=new li(s,o,{type:nn});p.texture.name="UnrealBloomPass.v"+f,p.texture.generateMipmaps=!1,this.renderTargetsVertical.push(p),s=Math.round(s/2),o=Math.round(o/2)}const a=kP;this.highPassUniforms=Po.clone(a.uniforms),this.highPassUniforms.luminosityThreshold.value=r,this.highPassUniforms.smoothWidth.value=.01,this.materialHighPassFilter=new Cn({uniforms:this.highPassUniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader}),this.separableBlurMaterials=[];const l=[3,5,7,9,11];s=Math.round(this.resolution.x/2),o=Math.round(this.resolution.y/2);for(let f=0;f<this.nMips;f++)this.separableBlurMaterials.push(this.getSeparableBlurMaterial(l[f])),this.separableBlurMaterials[f].uniforms.invSize.value=new Re(1/s,1/o),s=Math.round(s/2),o=Math.round(o/2);this.compositeMaterial=this.getCompositeMaterial(this.nMips),this.compositeMaterial.uniforms.blurTexture1.value=this.renderTargetsVertical[0].texture,this.compositeMaterial.uniforms.blurTexture2.value=this.renderTargetsVertical[1].texture,this.compositeMaterial.uniforms.blurTexture3.value=this.renderTargetsVertical[2].texture,this.compositeMaterial.uniforms.blurTexture4.value=this.renderTargetsVertical[3].texture,this.compositeMaterial.uniforms.blurTexture5.value=this.renderTargetsVertical[4].texture,this.compositeMaterial.uniforms.bloomStrength.value=t,this.compositeMaterial.uniforms.bloomRadius.value=.1;const c=[1,.8,.6,.4,.2];this.compositeMaterial.uniforms.bloomFactors.value=c,this.bloomTintColors=[new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1)],this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors;const u=BA;this.copyUniforms=Po.clone(u.uniforms),this.blendMaterial=new Cn({uniforms:this.copyUniforms,vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Y0,depthTest:!1,depthWrite:!1,transparent:!0}),this.enabled=!0,this.needsSwap=!1,this._oldClearColor=new ke,this.oldClearAlpha=1,this.basic=new Jr,this.fsQuad=new Ip(null)}dispose(){for(let e=0;e<this.renderTargetsHorizontal.length;e++)this.renderTargetsHorizontal[e].dispose();for(let e=0;e<this.renderTargetsVertical.length;e++)this.renderTargetsVertical[e].dispose();this.renderTargetBright.dispose();for(let e=0;e<this.separableBlurMaterials.length;e++)this.separableBlurMaterials[e].dispose();this.compositeMaterial.dispose(),this.blendMaterial.dispose(),this.basic.dispose(),this.fsQuad.dispose()}setSize(e,t){let i=Math.round(e/2),r=Math.round(t/2);this.renderTargetBright.setSize(i,r);for(let s=0;s<this.nMips;s++)this.renderTargetsHorizontal[s].setSize(i,r),this.renderTargetsVertical[s].setSize(i,r),this.separableBlurMaterials[s].uniforms.invSize.value=new Re(1/i,1/r),i=Math.round(i/2),r=Math.round(r/2)}render(e,t,i,r,s){e.getClearColor(this._oldClearColor),this.oldClearAlpha=e.getClearAlpha();const o=e.autoClear;e.autoClear=!1,e.setClearColor(this.clearColor,0),s&&e.state.buffers.stencil.setTest(!1),this.renderToScreen&&(this.fsQuad.material=this.basic,this.basic.map=i.texture,e.setRenderTarget(null),e.clear(),this.fsQuad.render(e)),this.highPassUniforms.tDiffuse.value=i.texture,this.highPassUniforms.luminosityThreshold.value=this.threshold,this.fsQuad.material=this.materialHighPassFilter,e.setRenderTarget(this.renderTargetBright),e.clear(),this.fsQuad.render(e);let a=this.renderTargetBright;for(let l=0;l<this.nMips;l++)this.fsQuad.material=this.separableBlurMaterials[l],this.separableBlurMaterials[l].uniforms.colorTexture.value=a.texture,this.separableBlurMaterials[l].uniforms.direction.value=Ld.BlurDirectionX,e.setRenderTarget(this.renderTargetsHorizontal[l]),e.clear(),this.fsQuad.render(e),this.separableBlurMaterials[l].uniforms.colorTexture.value=this.renderTargetsHorizontal[l].texture,this.separableBlurMaterials[l].uniforms.direction.value=Ld.BlurDirectionY,e.setRenderTarget(this.renderTargetsVertical[l]),e.clear(),this.fsQuad.render(e),a=this.renderTargetsVertical[l];this.fsQuad.material=this.compositeMaterial,this.compositeMaterial.uniforms.bloomStrength.value=this.strength,this.compositeMaterial.uniforms.bloomRadius.value=this.radius,this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors,e.setRenderTarget(this.renderTargetsHorizontal[0]),e.clear(),this.fsQuad.render(e),this.fsQuad.material=this.blendMaterial,this.copyUniforms.tDiffuse.value=this.renderTargetsHorizontal[0].texture,s&&e.state.buffers.stencil.setTest(!0),this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(i),this.fsQuad.render(e)),e.setClearColor(this._oldClearColor,this.oldClearAlpha),e.autoClear=o}getSeparableBlurMaterial(e){const t=[];for(let i=0;i<e;i++)t.push(.39894*Math.exp(-.5*i*i/(e*e))/e);return new Cn({defines:{KERNEL_RADIUS:e},uniforms:{colorTexture:{value:null},invSize:{value:new Re(.5,.5)},direction:{value:new Re(.5,.5)},gaussianCoefficients:{value:t}},vertexShader:`varying vec2 vUv; 4404 void main() { 4405 vUv = uv; 4406 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4407 }`,fragmentShader:`#include <common> 4408 varying vec2 vUv; 4409 uniform sampler2D colorTexture; 4410 uniform vec2 invSize; 4411 uniform vec2 direction; 4412 uniform float gaussianCoefficients[KERNEL_RADIUS]; 4413 4414 void main() { 4415 float weightSum = gaussianCoefficients[0]; 4416 vec3 diffuseSum = texture2D( colorTexture, vUv ).rgb * weightSum; 4417 for( int i = 1; i < KERNEL_RADIUS; i ++ ) { 4418 float x = float(i); 4419 float w = gaussianCoefficients[i]; 4420 vec2 uvOffset = direction * invSize * x; 4421 vec3 sample1 = texture2D( colorTexture, vUv + uvOffset ).rgb; 4422 vec3 sample2 = texture2D( colorTexture, vUv - uvOffset ).rgb; 4423 diffuseSum += (sample1 + sample2) * w; 4424 weightSum += 2.0 * w; 4425 } 4426 gl_FragColor = vec4(diffuseSum/weightSum, 1.0); 4427 }`})}getCompositeMaterial(e){return new Cn({defines:{NUM_MIPS:e},uniforms:{blurTexture1:{value:null},blurTexture2:{value:null},blurTexture3:{value:null},blurTexture4:{value:null},blurTexture5:{value:null},bloomStrength:{value:1},bloomFactors:{value:null},bloomTintColors:{value:null},bloomRadius:{value:0}},vertexShader:`varying vec2 vUv; 4428 void main() { 4429 vUv = uv; 4430 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4431 }`,fragmentShader:`varying vec2 vUv; 4432 uniform sampler2D blurTexture1; 4433 uniform sampler2D blurTexture2; 4434 uniform sampler2D blurTexture3; 4435 uniform sampler2D blurTexture4; 4436 uniform sampler2D blurTexture5; 4437 uniform float bloomStrength; 4438 uniform float bloomRadius; 4439 uniform float bloomFactors[NUM_MIPS]; 4440 uniform vec3 bloomTintColors[NUM_MIPS]; 4441 4442 float lerpBloomFactor(const in float factor) { 4443 float mirrorFactor = 1.2 - factor; 4444 return mix(factor, mirrorFactor, bloomRadius); 4445 } 4446 4447 void main() { 4448 gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) + 4449 lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) + 4450 lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) + 4451 lerpBloomFactor(bloomFactors[3]) * vec4(bloomTintColors[3], 1.0) * texture2D(blurTexture4, vUv) + 4452 lerpBloomFactor(bloomFactors[4]) * vec4(bloomTintColors[4], 1.0
4452) * texture2D(blurTexture5, vUv) ); 4453 }`})}}Ld.BlurDirectionX=new Re(1,0);Ld.BlurDirectionY=new Re(0,1);const Ere={uniforms:{tInput:{value:null},fStepSize:{value:1},vSunPositionScreenSpace:{value:new K}},vertexShader:` 4454 4455 varying vec2 vUv; 4456 4457 void main() { 4458 4459 vUv = uv; 4460 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4461 4462 }`};new K,new ke(16772608),new ke(0);const Tre=Object.assign({"/public/webgl/textures/blurry_silver_mirrorball.ktx2":()=>Sr(()=>import("./_-h9Ln6J.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/chrome-ring.ktx2":()=>Sr(()=>import("./Crp-37Uo.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/hex-ao.ktx2":()=>Sr(()=>import("./C2GvEnY0.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/hex-normal.ktx2":()=>Sr(()=>import("./8pUYzIdV.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/normalMapSphere.ktx2":()=>Sr(()=>import("./GMIvKI3C.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/studio-env.ktx2":()=>Sr(()=>import("./DkKZ1jS7.js"),[],import.meta.url).then(n=>n.default)});class Mre{constructor(){he(this,"gltfs",{});he(this,"textures",{});he(this,"ktxTextures",{});he(this,"envMaps",{});he(this,"hdrTextures",{});he(this,"textureLoader",new fP);he(this,"gltfLoader",new Yne);he(this,"cubeTextureLoader",new QK);he(this,"hdrTextureLoader",new mre);he(this,"dracoLoader",new hre);he(this,"ktxLoader",new eo);he(this,"availableKtxFiles",[]);he(this,"setDracoLoader",()=>{this.dracoLoader.setDecoderPath("/draco/"),this.gltfLoader.setDRACOLoader(this.dracoLoader)});he(this,"setKtxLoader",e=>{this.ktxLoader.setTranscoderPath("/basis/"),this.ktxLoader.detectSupport(e)});he(this,"setAvailableKtxFiles",()=>{var e,t;for(const i in Tre){const r=(t=(e=i.split("\\").pop())==null?void 0:e.split("/").pop())==null?void 0:t.split(".")[0];r&&this.availableKtxFiles.push(r)}});he(this,"loadGltf",e=>(this.gltfs[e]||(this.gltfs[e]=new Promise((t,i)=>{this.gltfLoader.load(e,r=>{t(r)},void 0,r=>{i(new Error("glTF not loaded",{cause:{error:r,url:e}}))})}),jo(this.gltfs[e])),this.gltfs[e]));he(this,"loadTexture",(e,t,i=!1)=>{var r,s;return this.ktxLoader&&!i&&this.availableKtxFiles.includes(((s=(r=e.split("\\").pop())==null?void 0:r.split("/").pop())==null?void 0:s.split(".")[0])||"")?this.loadKtxTexture(e.substr(0,e.lastIndexOf("."))+".ktx2",t):(this.textures[e]||(this.textures[e]=new Promise((o,a)=>{this.textureLoader.load(e,l=>{var c;o((c=S.WebGL)==null?void 0:c.generateTexture(l,t))},void 0,l=>{a(new Error("Texture not loaded",{cause:{error:l,url:e}}))})}),jo(this.textures[e])),this.textures[e])});he(this,"loadHDR",e=>(this.hdrTextures[e]||(this.hdrTextures[e]=new Promise((t,i)=>{this.hdrTextureLoader.load(e,r=>{t(r)},void 0,r=>{console.log(r),i(new Error("Texture not loaded",{cause:{error:r,url:e}}))})}),jo(this.hdrTextures[e])),this.hdrTextures[e]));he(this,"loadEnvMap",(e=[])=>(this.envMaps[e[0]]||(this.envMaps[e[0]]=new Promise((t,i)=>{this.cubeTextureLoader.load(e,r=>{t(r)},void 0,i)}),jo(this.envMaps[e[0]])),this.envMaps[e[0]]))}loadKtxTexture(e,t){return this.ktxTextures[e]||(this.ktxTextures[e]=new Promise((i,r)=>{this.ktxLoader.load(e,s=>{var o;i((o=S.WebGL)==null?void 0:o.generateTexture(s,t))},void 0,s=>{console.error(s,s==null?void 0:s.name,s==null?void 0:s.stack,s==null?void 0:s.message,s==null?void 0:s.cause,e),r(s)})}),jo(this.ktxTextures[e])),this.ktxTextures[e]}}const S=so({WebGL:void 0,Gui:void 0,AssetLoader:new Mre,RAFCollection:new Xne,urlParams:void 0,isLowTierGPU:!1,env:"production",sceneName:"",scenes:{},webglFonts:{},breakpoints:{},window:{w:0,h:0,dpr:0},theatre:{manager:void 0,studio:void 0,studioProject:void 0,studioSheets:{},studioObjects:{},project:void 0,sheets:{},objects:{},helper:void 0,persistenceKey:"",rafDriver:void 0,updateExtensionToolbar:void 0,previewCamOpen:!1},pointer:{x:0,y:0,gl:new Re,glNormalized:new Re,glScreenSpace:new Re},loaderHidden:!1}),Ire=oo(()=>{vo.registerPlugin(Pt),vo.registerPlugin(Ol),vo.registerPlugin(X0),Ol.create("joe.in","M0,0 C0.8,0 0.8,0.5 1,1"),Ol.create("joe.out","M0,0 C0.2,0 0.1,1 1,1"),Ol.create("joe.inOut","M0,0 C0.333,0 0,1 1,1"),vo.ticker.remove(vo.updateRoot),S.RAFCollection.add(n=>{vo.updateRoot(n/1e3)})}),Pre=oo(()=>{}),Rre=[uW,dW,aY,HY,VY,GY,QY,WY,jY,qY,Ire,Pre],Bre=window.setInterval,Dre={class:"font-mono font-500 text-16 leading-1 uppercase"},Lre=vs({__name:"Loader",setup(n){const e=gt(),t=gt(0),{isLoaded:i,progress:r}=jo(),s=ii(()=>t.value===100&&i.value),o=gt(!0);let a=null;const l=(c,u)=>{a=Bre(()=>{t.value++,(t.value>=u||t.value===100)&&a&&clearInterval(a)},c)};return ai(s,c=>{c&&(dr.to(e.value,{autoAlpha:0}).then(()=>{e.value.classList.add("is-hidden"),S.loaderHidden=!0}),o.value=!1)},{immediate:!0}),zs(()=>{ai(r,c=>
4462{o.value&&(a&&clearInterval(a),l(c<100?70:5,c))},{immediate:!0})}),(c,u)=>(di(),Na("div",{ref_key:"loader",ref:e,class:"fixed inset-0 bg-background z-[1000] flex flex-col justify-center items-center p-32"},[u[0]||(u[0]=qH('<div class="flex-grow flex items-center" data-v-1b2f4e78><div class="scene" data-v-1b2f4e78><div class="cube" data-v-1b2f4e78><div class="cube__face cube__face--front" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--back" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--right" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--left" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--top" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--bottom" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div></div></div></div>',1)),ei("p",Dre,Pf(String(qt(t)).padStart(3,"0"))+"% ",1)],512))}}),A4=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t},Ore=A4(Lre,[["__scopeId","data-v-1b2f4e78"]]);function Fre(n,e={}){let t=null;const i=Co(n),r=i instanceof HTMLElement?i:i==null?void 0:i.$el;return r?t=new X0(r,e):xA(()=>{r&&(t=new X0(r,e))}),t}const Ure=vs({__name:"Simple",setup(n){const e=gt(!1),t=gt(),i=gt();let r=null;const s=()=>{e.value||(e.value=!0,r!=null&&r.chars.length&&dr.timeline({onComplete:()=>{e.value=!1}}).to(r.chars,{duration:.2,y:"-101%",stagger:{from:"end",each:.02},ease:"joe.in"},0).set(r.chars,{y:"101%"}).to(r.chars,{duration:.2,y:"0%",stagger:{from:"end",each:.02},ease:"joe.out"}))};return zs(()=>{r=Fre(i,{type:"chars"})}),(o,a)=>(di(),Ks(l7(o.$attrs.href?qt(SI):"button"),{ref_key:"button",ref:i,class:"button",onMouseenter:s},{default:Ua(()=>[ix(o.$slots,"default",{},void 0,!0),ei("span",{ref_key:"lineLeft",ref:t,class:"button__line button__line"},null,512)]),_:3},544))}}),Nre=A4(Ure,[["__scopeId","data-v-d36ea8fd"]]);function X8(n,e,t){typeof n=="function"?n(...e).then(()=>t()):t()}function kre(n){return n&&(n!=null&&n.$el)?n.$el:Co(n)}const zre=["id"],Hre=vs({__name:"Disclosure",props:{buttonRef:{},isDropdown:{type:Boolean},handleOpen:{type:Function},handleClose:{type:Function}},emits:["open","close"],setup(n,{expose:e,emit:t}){const i=n,r=t,s=es("registerDisclosure",null),o=es("setOpenDisclosureUid",null),a=gt(!1),l=gt(null),c=tH(),u=gt(null),f=gt(!1),h=()=>{var A;a.value=!0,f.value=!0,(A=u.value)==null||A.setAttribute("aria-expanded","true"),o&&o(c),X8(i.handleOpen,[l.value],()=>{f.value=!1,r("open",l.value)})},p=()=>{var A;a.value&&(f.value=!0,(A=u.value)==null||A.setAttribute("aria-expanded","false"),X8(i.handleClose,[l.value],()=>{f.value=!1,a.value=!1,r("close",l.value)}))},m=A=>{var y;l.value&&A.key==="Escape"&&(p(),(y=u.value)==null||y.focus())},v=()=>{f.value||(a.value?p():h())};if(i.isDropdown){rX(l,p,{ignore:[u]}),Kr(l,"keyup",m);const A=cX();ai(A,y=>{var x;a.value&&(y==null?void 0:y.closest("nav"))!==((x=l.value)==null?void 0:x.closest("nav"))&&p()})}return ai(u,()=>{var A,y,x;(A=u.value)==null||A.setAttribute("aria-expanded",a.value.toString()),(y=u.value)==null||y.setAttribute("aria-controls",c),(x=u.value)==null||x.addEventListener("click",v)}),zs(async()=>{await Ja(),u.value=kre(i.buttonRef),s&&s({uid:c,closeDisclosure:p})}),tl(()=>{var A;(A=u.value)==null||A.removeEventListener("click",v)}),e({openDisclosure:h,closeDisclosure:p,toggleDisclosure:v}),(A,y)=>$z((di(),Na("div",{id:qt(c),ref_key:"target",ref:l},[ix(A.$slots,"default")],8,zre)),[[hV,qt(a)]])}});function Vre(){if(typeof window>"u"||typeof document>"u")return()=>()=>{};const n=window._SVG_SPRITE_IDS_=window._SVG_SPRITE_IDS_||new Set,e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.style.position="absolute",e.style.width="0",e.style.height="0",e.style.overflow="hidden",e.ariaHidden="true";function t(){document.body.insertBefore(e,document.body.firstChild)}return document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t(),function(r,s){(n.has(s)||document.getElementById(s))&&console.warn(`Icon #${s} was repeatedly registered. It must be globally unique.`),n.add(s),e.insertAdjacentHTML("beforeend",r);const o=e.lastChild;return function(){n.delete(s),o==null||o.remove()}}}const Gre=Vre();function Qre(n){return n.charAt(0).toUpperCase()+n.slice(1)}const Wre=(n,e)=>vs({name:`Icon${Qre(e)}`,setup(t,{attrs:i}){return()=>Mr("svg",{width:"1em",height:"1em",...i},[Mr("use",{"xlink:href":`#${n}`})])}}),zP="icon-logo",jre="logo",qre='<symbol id="icon-logo" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 62 41"><path fill="#090B11" d="M49.947.26v17.205h9.296v-2.976h-6.096V10.42h5.84V7.444h-5.84V3.236h6.096V.26zm-15.364 0h-3.227v10.881q0 1.598.33 2.594.329.995.754 1.55.283.371.753.8.472.427 1.12.798.647.37 1.484.614a6.5 6.5 0 0 0 1.826.243q1.79 0 3.121-.753 1.332-.752 2.086-1.794.612-.855.812-1.933.2-1.077.2-2.118V.26h-3.227v10.882q0 .324-.047.926a3.5 3.5 0 0 1-.33 1.204q-.283.6-.895 1.053-.613.451-1.744.451t-1.743-.451-.896-1.053a3.5 3.5 0 0 1-.33-1.204q-.046-.602-.047-.926zm-16.546 0v17.205H26.5v-2.976h-5.27V.26zm4.635 23.536L29.968 41h-3.554l-1.86-4.44h-6.237L16.457 41h-3.554l7.25-17.204zm-1.213 4.541h-.047l-1.988 5.23h4.023zM2.22.26h3.411q.724 0 1.437.023.712.023 1.39.14.678.116 1.309.395.63.28 1.191.767.654.582 1.063 1.453.41.873.409 1.756 0 .813-.222 1.383t-.537.953q-.316.384-.643.605t-.537.337q.42.163.946.441.525.28.97.768t.747 1.232.304 1.837a5 5 0 0 1-.187 1.406 4.631 4.631 0 0 1-1.18 2.023 6 6 0 0 1-.782.662q-.491.35-1.087.547a8 8 0 0 1-1.215.302q-.618.105-1.18.14-.505.03-.895.034H2.22zh3.411zM7.1 9.894H5.411v4.542H7.03q.234 0 .774-.034a3.6 3.6 0 0 0 1.079-.244q.54-.208.962-.672.422-.463.422-1.298 0-.255-.094-.648-.093-.394-.434-.753
4462-.34-.36-.962-.626-.621-.267-1.677-.267m-.38-6.606H5.412v3.716h1.034q.276 0 .736-.023.46-.024.896-.197.437-.175.758-.558.322-.382.322-1.08 0-.766-.54-1.312T6.72 3.288M5.674 34.653V41h3.199v-6.347l5.696-10.857h-3.525L7.26 31.7 3.5 23.796H0zM51.79 23.796q1.587 0 2.756.186 1.167.186 2.009.488.84.303 1.401.651.56.348.934.674.608.535 1.133 1.256.525.72.911 1.58t.596 1.837q.21.977.21 1.976 0 1.163-.292 2.279a9 9 0 0 1-.83 2.092 8.1 8.1 0 0 1-1.307 1.767 7.2 7.2 0 0 1-1.705 1.302q-.607.326-1.297.546-.689.221-1.436.349t-1.518.174T51.86 41h-3.994V23.796zm-.124 3.028h-.609V38.11h.68q.654 0 1.205-.035.55-.036 1.042-.117.49-.081.971-.245.48-.163.995-.443a4.6 4.6 0 0 0 1.124-.874q.492-.525.82-1.154.327-.63.492-1.33.163-.699.163-1.399 0-1.26-.503-2.378a5.4 5.4 0 0 0-1.346-1.866 4.84 4.84 0 0 0-2.26-1.177 13.3 13.3 0 0 0-2.774-.268M37.67 23.796q1.507 0 2.495.278.99.279 1.742.884.376.302.742.709a5.2 5.2 0 0 1 1.13 2.08q.176.629.176 1.372a6.3 6.3 0 0 1-.365 2.046 6.3 6.3 0 0 1-.518 1.093 4.5 4.5 0 0 1-.788.977q-.777.743-1.506 1-.73.256-1.39.418L44.12 41h-3.907l-4.614-6.58h-.047V41h-3.225V23.795zm-.099 3.028h-2.053v5.23h2.053q.981 0 1.587-.29.607-.288.945-.694t.443-.856.105-.799q0-.346-.128-.798a2.25 2.25 0 0 0-.478-.856q-.351-.405-.945-.671-.596-.267-1.529-.267"/></symbol>',{dispose:Xre}=Gre(qre,zP),Yre=Wre(zP,jre);import.meta.hot&&(import.meta.hot.dispose(Xre),import.meta.hot.accept());function DA(n,...e){const t=n.length-1;return n.slice(0,t).reduce((i,r,s)=>i+r+e[s],"")+n[t]}const $re=DA` 4463 *[_type == "siteSettingsSchema"][0]{ 4464 defaultTitle, 4465 ogDescription, 4466 "ogImageUrl": ogImage.asset->url, 4467 navigationLinks[]{ 4468 title, 4469 "url": coalesce(url, '') 4470 } 4471 } 4472`,hfe=DA` 4473 *[_type == "homeSettingsSchema"][0]{ 4474 ..., 4475 introductionLogos[]->, 4476 computingLogos[]->, 4477 cryptoLogos[]->, 4478 engineeringLogos[]->, 4479 biologyLogos[]-> 4480 } 4481`,Kre=DA` 4482 *[_type == "homeSettingsSchema"][0]{ 4483 biologyTitle, 4484 computingTitle, 4485 cryptoTitle, 4486 engineeringTitle, 4487 teamTitle, 4488 } 4489`,pfe=DA` 4490 *[_type == "legalSettingsSchema"][0]{ 4491 ... 4492 } 4493`,HP=!(typeof navigator>"u")&&navigator.product==="ReactNative",VP={timeout:HP?6e4:12e4},Zre=function(n){const e={...VP,...typeof n=="string"?{url:n}:n};if(e.timeout=GP(e.timeout),e.query){const{url:t,searchParams:i}=function(r){const s=r.indexOf("?");if(s===-1)return{url:r,searchParams:new URLSearchParams};const o=r.slice(0,s),a=r.slice(s+1);if(!HP)return{url:o,searchParams:new URLSearchParams(a)};if(typeof decodeURIComponent!="function")throw new Error("Broken `URLSearchParams` implementation, and `decodeURIComponent` is not defined");const l=new URLSearchParams;for(const c of a.split("&")){const[u,f]=c.split("=");u&&l.append(Y8(u),Y8(f||""))}return{url:o,searchParams:l}}(e.url);for(const[r,s]of Object.entries(e.query)){if(s!==void 0)if(Array.isArray(s))for(const a of s)i.append(r,a);else i.append(r,s);const o=i.toString();o&&(e.url=`${t}?${o}`)}}return e.method=e.body&&!e.method?"POST":(e.method||"GET").toUpperCase(),e};function Y8(n){return decodeURIComponent(n.replace(/\+/g," "))}function GP(n){if(n===!1||n===0)return!1;if(n.connect||n.socket)return n;const e=Number(n);return isNaN(e)?GP(VP.timeout):{connect:e,socket:e}}const Jre=/^https?:\/\//i,ese=function(n){if(!Jre.test(n.url))throw new Error(`"${n.url}" is not a valid URL`)};function QP(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}const tse=["request","response","progress","error","abort"],$8=["processOptions","validateOptions","interceptRequest","finalizeOptions","onRequest","onResponse","onError","onReturn","onHeaders"];function WP(n,e){const t=[],i=$8.reduce((s,o)=>(s[o]=s[o]||[],s),{processOptions:[Zre],validateOptions:[ese]});function r(s){const o=tse.reduce((p,m)=>(p[m]=function(){const v=Object.create(null);let A=0;return{publish:function(y){for(const x in v)v[x](y)},subscribe:function(y){const x=A++;return v[x]=y,function(){delete v[x]}}}}(),p),{}),a=(p=>function(m,v,...A){const y=m==="onError";let x=v;for(let b=0;b<p[m].length&&(x=(0,p[m][b])(x,...A),!y||x);b++);return x})(i),l=a("processOptions",s);a("validateOptions",l);const c={options:l,channels:o,applyMiddleware:a};let u;const f=o.request.subscribe(p=>{u=e(p,(m,v)=>((A,y,x)=>{let b=A,_=y;if(!b)try{_=a("onResponse",y,x)}catch(T){_=null,b=T}b=b&&a("onError",b,x),b?o.error.publish(b):_&&o.response.publish(_)})(m,v,p))});o.abort.subscribe(()=>{f(),u&&u.abort()});const h=a("onReturn",o,c);return h===o&&o.request.publish(c),h}return r.use=function(s){if(!s)throw new Error("Tried to add middleware that resolved to fal
4493sey value");if(typeof s=="function")throw new Error("Tried to add middleware that was a function. It probably expects you to pass options to it.");if(s.onReturn&&i.onReturn.length>0)throw new Error("Tried to add new middleware with `onReturn` handler, but another handler has already been registered for this event");return $8.forEach(o=>{s[o]&&i[o].push(s[o])}),t.push(s),r},r.clone=()=>WP(t,e),n.forEach(r.use),r}var K8,Z8,nse=QP(function(){if(Z8)return K8;Z8=1;var n=function(e){return e.replace(/^\s+|\s+$/g,"")};return K8=function(e){if(!e)return{};for(var t={},i=n(e).split(` 4494`),r=0;r<i.length;r++){var s=i[r],o=s.indexOf(":"),a=n(s.slice(0,o)).toLowerCase(),l=n(s.slice(o+1));typeof t[a]>"u"?t[a]=l:(c=t[a],Object.prototype.toString.call(c)==="[object Array]"?t[a].push(l):t[a]=[t[a],l])}var c;return t}}()),op,ap,od,lp,Ma,cp,up,A6;let Ob=(A6=class{constructor(){he(this,"onabort");he(this,"onerror");he(this,"onreadystatechange");he(this,"ontimeout");he(this,"readyState",0);he(this,"response");he(this,"responseText","");he(this,"responseType","");he(this,"status");he(this,"statusText");he(this,"withCredentials");sn(this,op);sn(this,ap);sn(this,od);sn(this,lp,{});sn(this,Ma);sn(this,cp,{});sn(this,up)}open(e,t,i){var r;tn(this,op,e),tn(this,ap,t),tn(this,od,""),this.readyState=1,(r=this.onreadystatechange)==null||r.call(this),tn(this,Ma,void 0)}abort(){Ne(this,Ma)&&Ne(this,Ma).abort()}getAllResponseHeaders(){return Ne(this,od)}setRequestHeader(e,t){Ne(this,lp)[e]=t}setInit(e,t=!0){tn(this,cp,e),tn(this,up,t)}send(e){const t=this.responseType!=="arraybuffer",i={...Ne(this,cp),method:Ne(this,op),headers:Ne(this,lp),body:e};typeof AbortController=="function"&&Ne(this,up)&&(tn(this,Ma,new AbortController),typeof EventTarget<"u"&&Ne(this,Ma).signal instanceof EventTarget&&(i.signal=Ne(this,Ma).signal)),typeof document<"u"&&(i.credentials=this.withCredentials?"include":"omit"),fetch(Ne(this,ap),i).then(r=>{var s;return r.headers.forEach((o,a)=>{tn(this,od,Ne(this,od)+`${a}: ${o}\r 4495`)}),this.status=r.status,this.statusText=r.statusText,this.readyState=3,(s=this.onreadystatechange)==null||s.call(this),t?r.text():r.arrayBuffer()}).then(r=>{var s;typeof r=="string"?this.responseText=r:this.response=r,this.readyState=4,(s=this.onreadystatechange)==null||s.call(this)}).catch(r=>{var s,o;r.name!=="AbortError"?(s=this.onerror)==null||s.call(this,r):(o=this.onabort)==null||o.call(this)})}},op=new WeakMap,ap=new WeakMap,od=new WeakMap,lp=new WeakMap,Ma=new WeakMap,cp=new WeakMap,up=new WeakMap,A6);const Fb=typeof XMLHttpRequest=="function"?"xhr":"fetch",ise=Fb==="xhr"?XMLHttpRequest:Ob,rse=(n,e)=>{const t=n.options,i=n.applyMiddleware("finalizeOptions",t),r={},s=n.applyMiddleware("interceptRequest",void 0,{adapter:Fb,context:n});if(s){const v=setTimeout(e,0,null,s);return{abort:()=>clearTimeout(v)}}let o=new ise;o instanceof Ob&&typeof i.fetch=="object"&&o.setInit(i.fetch,i.useAbortSignal??!0);const a=i.headers,l=i.timeout;let c=!1,u=!1,f=!1;if(o.onerror=v=>{m(o instanceof Ob?v instanceof Error?v:new Error(`Request error while attempting to reach is ${i.url}`,{cause:v}):new Error(`Request error while attempting to reach is ${i.url}${v.lengthComputable?`(${v.loaded} of ${v.total} bytes transferred)`:""}`))},o.ontimeout=v=>{m(new Error(`Request timeout while attempting to reach ${i.url}${v.lengthComputable?`(${v.loaded} of ${v.total} bytes transferred)`:""}`))},o.onabort=()=>{p(!0),c=!0},o.onreadystatechange=()=>{l&&(p(),r.socket=setTimeout(()=>h("ESOCKETTIMEDOUT"),l.socket)),!c&&o.readyState===4&&o.status!==0&&function(){if(!(c||u||f)){if(o.status===0)return void m(new Error("Unknown XHR error"));p(),u=!0,e(null,{body:o.response||(o.responseType===""||o.responseType==="text"?o.responseText:""),url:i.url,method:i.method,headers:nse(o.getAllResponseHeaders()),statusCode:o.status,statusMessage:o.statusText})}}()},o.open(i.method,i.url,!0),o.withCredentials=!!i.withCredentials,a&&o.setRequestHeader)for(const v in a)a.hasOwnProperty(v)&&o.setRequestHeader(v,a[v]);return i.rawBody&&(o.responseType="arraybuffer"),n.applyMiddleware("onRequest",{options:i,adapter:Fb,request:o,context:n}),o.send(i.body||null),l&&(r.connect=setTimeout(()=>h("ETIMEDOUT"),l.connect)),{abort:function(){c=!0,o&&o.abort()}};function h(v){f=!0,o.abort();const A=new Error(v==="ESOCKETTIMEDOUT"?`Socket timed out on request to ${i.url}`:`Connection timed out on request to ${i.url}`);A.code=v,n.channels.error.publish(A)}function p(v){(v||c||o.readyState>=2&&r.connect)&&clearTimeout(r.connect),r.socket&&clearTimeout(r.socket)}function m(v){if(u)return;p(!0),u=!0,o=null;const A=v||new Error(`Network error while attempting to reach ${i.url}`);A.isNetworkError=!0,A.request=i,e(A)}},sse=(n=[],e=rse)=>WP(n,e);var ose={},J8,eE,tE,nE,iE,ty={exports:{}};iE||(iE=1,function(n,e){e.formatArgs=function(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+n.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;i.splice(1,0,r,"color: inherit");let s=0,o=0;i[0].replace(/%[a-zA-Z%]/g,a=>{a!=="%%"&&(s++,a==="%c"&&(o=s))}),i.splice(o,0,r)},e.save=function(i){try{i?e.storage.setItem("debug",i):e.storage.removeItem("debug")}catch{}},e.load=function(){let i;try{i=e.storage.getItem("debug")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=ose.DEBUG),i},e.useColors=function(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;
4495if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let i;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(i=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(i[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=function(){try{return localStorage}catch{}}(),e.destroy=(()=>{let i=!1;return()=>{i||(i=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||(()=>{}),n.exports=(nE?tE:(nE=1,tE=function(i){function r(a){let l,c,u,f=null;function h(...p){if(!h.enabled)return;const m=h,v=Number(new Date),A=v-(l||v);m.diff=A,m.prev=l,m.curr=v,l=v,p[0]=r.coerce(p[0]),typeof p[0]!="string"&&p.unshift("%O");let y=0;p[0]=p[0].replace(/%([a-zA-Z%])/g,(x,b)=>{if(x==="%%")return"%";y++;const _=r.formatters[b];if(typeof _=="function"){const T=p[y];x=_.call(m,T),p.splice(y,1),y--}return x}),r.formatArgs.call(m,p),(m.log||r.log).apply(m,p)}return h.namespace=a,h.useColors=r.useColors(),h.color=r.selectColor(a),h.extend=s,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(c!==r.namespaces&&(c=r.namespaces,u=r.enabled(a)),u),set:p=>{f=p}}),typeof r.init=="function"&&r.init(h),h}function s(a,l){const c=r(this.namespace+(typeof l>"u"?":":l)+a);return c.log=this.log,c}function o(a,l){let c=0,u=0,f=-1,h=0;for(;c<a.length;)if(u<l.length&&(l[u]===a[c]||l[u]==="*"))l[u]==="*"?(f=u,h=c,u++):(c++,u++);else{if(f===-1)return!1;u=f+1,h++,c=h}for(;u<l.length&&l[u]==="*";)u++;return u===l.length}return r.debug=r,r.default=r,r.coerce=function(a){return a instanceof Error?a.stack||a.message:a},r.disable=function(){const a=[...r.names,...r.skips.map(l=>"-"+l)].join(",");return r.enable(""),a},r.enable=function(a){r.save(a),r.namespaces=a,r.names=[],r.skips=[];const l=(typeof a=="string"?a:"").trim().replace(" ",",").split(",").filter(Boolean);for(const c of l)c[0]==="-"?r.skips.push(c.slice(1)):r.names.push(c)},r.enabled=function(a){for(const l of r.skips)if(o(a,l))return!1;for(const l of r.names)if(o(a,l))return!0;return!1},r.humanize=function(){if(eE)return J8;eE=1;var a=1e3,l=60*a,c=60*l,u=24*c,f=7*u;function h(p,m,v,A){var y=m>=1.5*v;return Math.round(p/v)+" "+A+(y?"s":"")}return J8=function(p,m){m=m||{};var v,A,y=typeof p;if(y==="string"&&p.length>0)return function(x){if(!((x=String(x)).length>100)){var b=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(x);if(b){var _=parseFloat(b[1]);switch((b[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*_;case"weeks":case"week":case"w":return _*f;case"days":case"day":case"d":return _*u;case"hours":case"hour":case"hrs":case"hr":case"h":return _*c;case"minutes":case"minute":case"mins":case"min":case"m":return _*l;case"seconds":case"second":case"secs":case"sec":case"s":return _*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return _;default:return}}}}(p);if(y==="number"&&isFinite(p))return m.long?(v=p,(A=Math.abs(v))>=u?h(v,A,u,"day"):A>=c?h(v,A,c,"hour"):A>=l?h(v,A,l,"minute"):A>=a?h(v,A,a,"second"):v+" ms"):function(x){var b=Math.abs(x);return b>=u?Math.round(x/u)+"d":b>=c?Math.round(x/c)+"h":b>=l?Math.round(x/l)+"m":b>=a?Math.round(x/a)+"s":x+"ms"}(p);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(p))}}(),r.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}
4495,Object.keys(i).forEach(a=>{r[a]=i[a]}),r.names=[],r.skips=[],r.formatters={},r.selectColor=function(a){let l=0;for(let c=0;c<a.length;c++)l=(l<<5)-l+a.charCodeAt(c),l|=0;return r.colors[Math.abs(l)%r.colors.length]},r.enable(r.load()),r}))(e);const{formatters:t}=n.exports;t.j=function(i){try{return JSON.stringify(i)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}(ty,ty.exports)),ty.exports;const ase=typeof Buffer>"u"?()=>!1:n=>Buffer.isBuffer(n);function rE(n){return Object.prototype.toString.call(n)==="[object Object]"}function lse(n){if(rE(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(rE(t)===!1||t.hasOwnProperty("isPrototypeOf")===!1)}const cse=["boolean","string","number"];function use(){return{processOptions:n=>{const e=n.body;return!e||typeof e.pipe=="function"||ase(e)||cse.indexOf(typeof e)===-1&&!Array.isArray(e)&&!lse(e)?n:Object.assign({},n,{body:JSON.stringify(n.body),headers:Object.assign({},n.headers,{"Content-Type":"application/json"})})}}}function fse(n){return{onResponse:t=>{const i=t.headers["content-type"]||"",r=n&&n.force||i.indexOf("application/json")!==-1;return t.body&&i&&r?Object.assign({},t,{body:e(t.body)}):t},processOptions:t=>Object.assign({},t,{headers:Object.assign({Accept:"application/json"},t.headers)})};function e(t){try{return JSON.parse(t)}catch(i){throw i.message=`Failed to parsed response body as JSON: ${i.message}`,i}}}let Kh={};typeof globalThis<"u"?Kh=globalThis:typeof window<"u"?Kh=window:typeof global<"u"?Kh=global:typeof self<"u"&&(Kh=self);var dse=Kh;function hse(n={}){const e=n.implementation||dse.Observable;if(!e)throw new Error("`Observable` is not available in global scope, and no implementation was passed");return{onReturn:(t,i)=>new e(r=>(t.error.subscribe(s=>r.error(s)),t.progress.subscribe(s=>r.next(Object.assign({type:"progress"},s))),t.response.subscribe(s=>{r.next(Object.assign({type:"response"},s)),r.complete()}),t.request.publish(i),()=>t.abort.publish()))}}function pse(){return{onRequest:n=>{if(n.adapter!=="xhr")return;const e=n.request,t=n.context;function i(r){return s=>{const o=s.lengthComputable?s.loaded/s.total*100:-1;t.channels.progress.publish({stage:r,percent:o,total:s.total,loaded:s.loaded,lengthComputable:s.lengthComputable})}}"upload"in e&&"onprogress"in e.upload&&(e.upload.onprogress=i("upload")),"onprogress"in e&&(e.onprogress=i("download"))}}}var jP=(n,e,t)=>(t.method==="GET"||t.method==="HEAD")&&(n.isNetworkError||!1);function mse(n){return 100*Math.pow(2,n)+100*Math.random()}const v4=(n={})=>(e=>{const t=e.maxRetries||5,i=e.retryDelay||mse,r=e.shouldRetry;return{onError:(s,o)=>{const a=o.options,l=a.maxRetries||t,c=a.retryDelay||i,u=a.shouldRetry||r,f=a.attemptNumber||0;if((h=a.body)!==null&&typeof h=="object"&&typeof h.pipe=="function"||!u(s,f,a)||f>=l)return s;var h;const p=Object.assign({},o,{options:Object.assign({},a,{attemptNumber:f+1})});return setTimeout(()=>o.channels.request.publish(p),c(f)),null}}})({shouldRetry:jP,...n});v4.shouldRetry=jP;var Ub=function(n,e){return Ub=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},Ub(n,e)};function nl(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ub(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function gse(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(f){o(f)}}function l(u){try{c(i.throw(u))}catch(f){o(f)}}function c(u){u.done?s(u.value):r(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function qP(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(s=c[0]&2?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],r=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Od(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function $a(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(a){o={error:a}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function Ka(n,e,t){if(t||arguments.length===2)for(var i=0,r=e.length,s;i<r;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return n.concat(s||Array.prototype.slice.call(e))}function rd(n){return this instanceof rd?(this.v=n,this):new rd(n)}function Ase(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),r,s=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),r[Symbol.asyncIterator]=function(){return this},r;function o(p){return function(m){return Promise.resolve(m).then(p,f)}}function a(p,m){i[p]&&(r[p]=function(v){return new Promise(function(A,y){s.push([p,v,A,y])>1||l(p,v)})}
vendor: 6,811 bytes, lines 4495-4497
4495,m&&(r[p]=m(r[p])))}function l(p,m){try{c(i[p](m))}catch(v){h(s[0][3],v)}}function c(p){p.value instanceof rd?Promise.resolve(p.value.v).then(u,f):h(s[0][2],p)}function u(p){l("next",p)}function f(p){l("throw",p)}function h(p,m){p(m),s.shift(),s.length&&l(s[0][0],s[0][1])}}function vse(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof Od=="function"?Od(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(o){return new Promise(function(a,l){o=n[s](o),r(a,l,o.done,o.value)})}}function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}}function $n(n){return typeof n=="function"}function y4(n){var e=function(i){Error.call(i),i.stack=new Error().stack},t=n(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var ny=y4(function(n){return function(t){n(this),this.message=t?t.length+` errors occurred during unsubscription: 4496`+t.map(function(i,r){return r+1+") "+i.toString()}).join(` 4497 `):"",this.name="UnsubscriptionError",this.errors=t}});function qg(n,e){if(n){var t=n.indexOf(e);0<=t&&n.splice(t,1)}}var Pp=function(){function n(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return n.prototype.unsubscribe=function(){var e,t,i,r,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=Od(o),l=a.next();!l.done;l=a.next()){var c=l.value;c.remove(this)}}catch(v){e={error:v}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var u=this.initialTeardown;if($n(u))try{u()}catch(v){s=v instanceof ny?v.errors:[v]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=Od(f),p=h.next();!p.done;p=h.next()){var m=p.value;try{sE(m)}catch(v){s=s??[],v instanceof ny?s=Ka(Ka([],$a(s)),$a(v.errors)):s.push(v)}}}catch(v){i={error:v}}finally{try{p&&!p.done&&(r=h.return)&&r.call(h)}finally{if(i)throw i.error}}}if(s)throw new ny(s)}},n.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)sE(e);else{if(e instanceof n){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},n.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},n.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},n.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&qg(t,e)},n.prototype.remove=function(e){var t=this._finalizers;t&&qg(t,e),e instanceof n&&e._removeParent(this)},n.EMPTY=function(){var e=new n;return e.closed=!0,e}(),n}(),XP=Pp.EMPTY;function YP(n){return n instanceof Pp||n&&"closed"in n&&$n(n.remove)&&$n(n.add)&&$n(n.unsubscribe)}function sE(n){$n(n)?n():n.unsubscribe()}var yse={Promise:void 0},_se={setTimeout:function(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return setTimeout.apply(void 0,Ka([n,e],$a(t)))},clearTimeout:function(n){return clearTimeout(n)},delegate:void 0};function $P(n){_se.setTimeout(function(){throw n})}function oE(){}function tg(n){n()}var _4=function(n){nl(e,n);function e(t){var i=n.call(this)||this;return i.isStopped=!1,t?(i.destination=t,YP(t)&&t.add(i)):i.destination=Cse,i}return e.create=function(t,i,r){return new sp(t,i,r)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Pp),bse=function(){function n(e){this.partialObserver=e}return n.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(i){B1(i)}},n.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(i){B1(i)}else B1(e)},n.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){B1(t)}},n}(),sp=function(n){nl(e,n);function e(t,i,r){var s=n.call(this)||this,o;return $n(t)||!t?o={next:t??void 0,error:i??void 0,complete:r??void 0}:o=t,s.destination=new bse(o),s}return e}(_4);function B1(n){$P(n)}function xse(n){throw n}var Cse={closed:!0,next:oE,error:xse,complete:oE},b4=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function LA(n){return n}function wse(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return KP(n)}function KP(n){return n.length===0?LA:n.length===1?n[0]:function(t){return n.reduce(function(i,r){return r(i)},t)}}var gi=function(){function n(e){e&&(this._subscribe=e)}return n.prototype.lift=function(e){var t=new n;return t.source=this,t.operator=e,t},n.prototype.subscribe=function(e,t,i){var r=this,s=Ese(e)?e:new sp(e,t,i);return tg(function(){var o=r,a=o.operator,l=o.source;s.add(a?a.call(s,l):l?r._subscribe(s):r._trySubscribe(s))}),s},n.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},n.prototype.forEach=function(e,t){var i=this;return t=aE(t),new t(function(r,s){var o=new sp({next:function(a){try{e(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});i.subscribe(o)})},n.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},n.prototype[b4]=function(){return this},n.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return KP(e)(this)},n.prototype.toPromise=function(e){var t=this;return e=aE(e),new e(function(i,r){var s;t.subscribe(function(o){return s=o},function(o){return r(o)},function(){return i(s)})})},n.create=function(e){return new n(e)},n}();function aE(n){var e;return(e=n??yse.Promise)!==null&&e!==void 0?e:Promise}function Sse(n){return n&&$n(n.next)&&$n(n.error)&&$n(n.complete)}function Ese(n){return n&&n instanceof _4||Sse(n)&&YP(n)}function Tse(n){return $n(n==null?void 0:n.lift)}function ra(n){return function(e){if(Tse(e))return e.lift(function(t){try{return n(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function nc(n,e,t,i,r){return new Mse(n,e,t,i,r)}var Mse=function(n){nl(e,n);function e(t,i,r,s,o,a){var l=n.call(this,t)||this;return l.onFinalize=o,l.shouldUnsubscribe=a,l._next=i?function(c){try{i(c)}catch(u){t.error(u)}}
vendor: 4,730 bytes, line 4497
4497:n.prototype._next,l._error=s?function(c){try{s(c)}catch(u){t.error(u)}finally{this.unsubscribe()}}:n.prototype._error,l._complete=r?function(){try{r()}catch(c){t.error(c)}finally{this.unsubscribe()}}:n.prototype._complete,l}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var i=this.closed;n.prototype.unsubscribe.call(this),!i&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(_4),Ise=y4(function(n){return function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),x4=function(n){nl(e,n);function e(){var t=n.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var i=new lE(this,this);return i.operator=t,i},e.prototype._throwIfClosed=function(){if(this.closed)throw new Ise},e.prototype.next=function(t){var i=this;tg(function(){var r,s;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var o=Od(i.currentObservers),a=o.next();!a.done;a=o.next()){var l=a.value;l.next(t)}}catch(c){r={error:c}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(r)throw r.error}}}})},e.prototype.error=function(t){var i=this;tg(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=t;for(var r=i.observers;r.length;)r.shift().error(t)}})},e.prototype.complete=function(){var t=this;tg(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var i=t.observers;i.length;)i.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),n.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var i=this,r=this,s=r.hasError,o=r.isStopped,a=r.observers;return s||o?XP:(this.currentObservers=null,a.push(t),new Pp(function(){i.currentObservers=null,qg(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var i=this,r=i.hasError,s=i.thrownError,o=i.isStopped;r?t.error(s):o&&t.complete()},e.prototype.asObservable=function(){var t=new gi;return t.source=this,t},e.create=function(t,i){return new lE(t,i)},e}(gi),lE=function(n){nl(e,n);function e(t,i){var r=n.call(this)||this;return r.destination=t,r.source=i,r}return e.prototype.next=function(t){var i,r;(r=(i=this.destination)===null||i===void 0?void 0:i.next)===null||r===void 0||r.call(i,t)},e.prototype.error=function(t){var i,r;(r=(i=this.destination)===null||i===void 0?void 0:i.error)===null||r===void 0||r.call(i,t)},e.prototype.complete=function(){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||i===void 0||i.call(t)},e.prototype._subscribe=function(t){var i,r;return(r=(i=this.source)===null||i===void 0?void 0:i.subscribe(t))!==null&&r!==void 0?r:XP},e}(x4),C4={now:function(){return(C4.delegate||Date).now()},delegate:void 0},Pse=function(n){nl(e,n);function e(t,i,r){t===void 0&&(t=1/0),i===void 0&&(i=1/0),r===void 0&&(r=C4);var s=n.call(this)||this;return s._bufferSize=t,s._windowTime=i,s._timestampProvider=r,s._buffer=[],s._infiniteTimeWindow=!0,s._infiniteTimeWindow=i===1/0,s._bufferSize=Math.max(1,t),s._windowTime=Math.max(1,i),s}return e.prototype.next=function(t){var i=this,r=i.isStopped,s=i._buffer,o=i._infiniteTimeWindow,a=i._timestampProvider,l=i._windowTime;r||(s.push(t),!o&&s.push(a.now()+l)),this._trimBuffer(),n.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var i=this._innerSubscribe(t),r=this,s=r._infiniteTimeWindow,o=r._buffer,a=o.slice(),l=0;l<a.length&&!t.closed;l+=s?1:2)t.next(a[l]);return this._checkFinalizedStatuses(t),i},e.prototype._trimBuffer=function(){var t=this,i=t._bufferSize,r=t._timestampProvider,s=t._buffer,o=t._infiniteTimeWindow,a=(o?1:2)*i;if(i<1/0&&a<s.length&&s.splice(0,s.length-a),!o){for(var l=r.now(),c=0,u=1;u<s.length&&s[u]<=l;u+=2)c=u;c&&s.splice(0,c+1)}},e}(x4),Rse=function(n){nl(e,n);function e(t,i){return n.call(this)||this}return e.prototype.schedule=function(t,i){return this},e}(Pp),cE={setInterval:function(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return setInterval.apply(void 0,Ka([n,e],$a(t)))},clearInterval:function(n){return clearInterval(n)},delegate:void 0},Bse=function(n){nl(e,n);function e(t,i){var r=n.call(this,t,i)||this;
vendor: 3,332 bytes, line 4497
4497return r.scheduler=t,r.work=i,r.pending=!1,r}return e.prototype.schedule=function(t,i){var r;if(i===void 0&&(i=0),this.closed)return this;this.state=t;var s=this.id,o=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(o,s,i)),this.pending=!0,this.delay=i,this.id=(r=this.id)!==null&&r!==void 0?r:this.requestAsyncId(o,this.id,i),this},e.prototype.requestAsyncId=function(t,i,r){return r===void 0&&(r=0),cE.setInterval(t.flush.bind(t,this),r)},e.prototype.recycleAsyncId=function(t,i,r){if(r===void 0&&(r=0),r!=null&&this.delay===r&&this.pending===!1)return i;i!=null&&cE.clearInterval(i)},e.prototype.execute=function(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(t,i);if(r)return r;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,i){var r=!1,s;try{this.work(t)}catch(o){r=!0,s=o||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,i=t.id,r=t.scheduler,s=r.actions;this.work=this.state=this.scheduler=null,this.pending=!1,qg(s,this),i!=null&&(this.id=this.recycleAsyncId(r,i,null)),this.delay=null,n.prototype.unsubscribe.call(this)}},e}(Rse),uE=function(){function n(e,t){t===void 0&&(t=n.now),this.schedulerActionCtor=e,this.now=t}return n.prototype.schedule=function(e,t,i){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(i,t)},n.now=C4.now,n}(),Dse=function(n){nl(e,n);function e(t,i){i===void 0&&(i=uE.now);var r=n.call(this,t,i)||this;return r.actions=[],r._active=!1,r}return e.prototype.flush=function(t){var i=this.actions;if(this._active){i.push(t);return}var r;this._active=!0;do if(r=t.execute(t.state,t.delay))break;while(t=i.shift());if(this._active=!1,r){for(;t=i.shift();)t.unsubscribe();throw r}},e}(uE),Lse=new Dse(Bse),Ose=Lse,ZP=new gi(function(n){return n.complete()});function Fse(n){return n&&$n(n.schedule)}function w4(n){return n[n.length-1]}function Use(n){return $n(w4(n))?n.pop():void 0}function S4(n){return Fse(w4(n))?n.pop():void 0}function Nse(n,e){return typeof w4(n)=="number"?n.pop():e}var JP=function(n){return n&&typeof n.length=="number"&&typeof n!="function"};function eR(n){return $n(n==null?void 0:n.then)}function tR(n){return $n(n[b4])}function nR(n){return Symbol.asyncIterator&&$n(n==null?void 0:n[Symbol.asyncIterator])}function iR(n){return new TypeError("You provided "+(n!==null&&typeof n=="object"?"an invalid object":"'"+n+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function kse(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var rR=kse();function sR(n){return $n(n==null?void 0:n[rR])}function oR(n){return Ase(this,arguments,function(){var t,i,r,s;return qP(this,function(o){switch(o.label){case 0:t=n.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,rd(t.read())];case 3:return i=o.sent(),r=i.value,s=i.done,s?[4,rd(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,rd(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function aR(n){return $n(n==null?void 0:n.getReader)}
vendor: 4,305 bytes, line 4497
4497function sa(n){if(n instanceof gi)return n;if(n!=null){if(tR(n))return zse(n);if(JP(n))return Hse(n);if(eR(n))return Vse(n);if(nR(n))return lR(n);if(sR(n))return Gse(n);if(aR(n))return Qse(n)}throw iR(n)}function zse(n){return new gi(function(e){var t=n[b4]();if($n(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Hse(n){return new gi(function(e){for(var t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}function Vse(n){return new gi(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,$P)})}function Gse(n){return new gi(function(e){var t,i;try{for(var r=Od(n),s=r.next();!s.done;s=r.next()){var o=s.value;if(e.next(o),e.closed)return}}catch(a){t={error:a}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}e.complete()})}function lR(n){return new gi(function(e){Wse(n,e).catch(function(t){return e.error(t)})})}function Qse(n){return lR(oR(n))}function Wse(n,e){var t,i,r,s;return gse(this,void 0,void 0,function(){var o,a;return qP(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),t=vse(n),l.label=1;case 1:return[4,t.next()];case 2:if(i=l.sent(),!!i.done)return[3,4];if(o=i.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=l.sent(),r={error:a},[3,11];case 6:return l.trys.push([6,,9,10]),i&&!i.done&&(s=t.return)?[4,s.call(t)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(r)throw r.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Cu(n,e,t,i,r){i===void 0&&(i=0),r===void 0&&(r=!1);var s=e.schedule(function(){t(),r?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(s),!r)return s}function cR(n,e){return e===void 0&&(e=0),ra(function(t,i){t.subscribe(nc(i,function(r){return Cu(i,n,function(){return i.next(r)},e)},function(){return Cu(i,n,function(){return i.complete()},e)},function(r){return Cu(i,n,function(){return i.error(r)},e)}))})}function uR(n,e){return e===void 0&&(e=0),ra(function(t,i){i.add(n.schedule(function(){return t.subscribe(i)},e))})}function jse(n,e){return sa(n).pipe(uR(e),cR(e))}function qse(n,e){return sa(n).pipe(uR(e),cR(e))}function Xse(n,e){return new gi(function(t){var i=0;return e.schedule(function(){i===n.length?t.complete():(t.next(n[i++]),t.closed||this.schedule())})})}function Yse(n,e){return new gi(function(t){var i;return Cu(t,e,function(){i=n[rR](),Cu(t,e,function(){var r,s,o;try{r=i.next(),s=r.value,o=r.done}catch(a){t.error(a);return}o?t.complete():t.next(s)},0,!0)}),function(){return $n(i==null?void 0:i.return)&&i.return()}})}function fR(n,e){if(!n)throw new Error("Iterable cannot be null");return new gi(function(t){Cu(t,e,function(){var i=n[Symbol.asyncIterator]();Cu(t,e,function(){i.next().then(function(r){r.done?t.complete():t.next(r.value)})},0,!0)})})}function $se(n,e){return fR(oR(n),e)}function Kse(n,e){if(n!=null){if(tR(n))return jse(n,e);if(JP(n))return Xse(n,e);if(eR(n))return qse(n,e);if(nR(n))return fR(n,e);if(sR(n))return Yse(n,e);if(aR(n))return $se(n,e)}throw iR(n)}function Rp(n,e){return e?Kse(n,e):sa(n)}function OA(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=S4(n);return Rp(n,t)}function dR(n,e){var t=$n(n)?n:function(){return n},i=function(r){return r.error(t())};return new gi(i)}function Zse(n){return!!n&&(n instanceof gi||$n(n.lift)&&$n(n.subscribe))}var Jse=y4(function(n){return function(){n(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ui(n,e){return new Promise(function(t,i){var r=!1,s;n.subscribe({next:function(o){s=o,r=!0},error:i,complete:function(){r?t(s):i(new Jse)}})})}function eoe(n){return n instanceof Date&&!isNaN(n)}function ns(n,e){return ra(function(t,i){var r=0;t.subscribe(nc(i,function(s){i.next(n.call(e,s,r++))}))})}var toe=Array.isArray;function noe(n,e){return toe(e)?n.apply(void 0,Ka([],$a(e))):n(e)}function ioe(n){return ns(function(e){return noe(n,e)})}function roe(n,e,t){return t===void 0&&(t=LA),function(i){fE(e,function(){for(var r=n.length,s=new Array(r),o=r,a=r,l=function(u){fE(e,function(){var f=Rp(n[u],e),h=!1;f.subscribe(nc(i,function(p){s[u]=p,h||(h=!0,a--),a||i.next(t(s.slice()))},function(){--o||i.complete()}
4497))},i)},c=0;c<r;c++)l(c)})}}function fE(n,e,t){e()}function soe(n,e,t,i,r,s,o,a){var l=[],c=0,u=0,f=!1,h=function(){f&&!l.length&&!c&&e.complete()},p=function(v){return c<i?m(v):l.push(v)},m=function(v){c++;var A=!1;sa(t(v,u++)).subscribe(nc(e,function(y){e.next(y)},function(){A=!0},void 0,function(){if(A)try{c--;for(var y=function(){var x=l.shift();o||m(x)};l.length&&c<i;)y();h()}catch(x){e.error(x)}}))};return n.subscribe(nc(e,p,function(){f=!0,h()})),function(){}}function Bp(n,e,t){return t===void 0&&(t=1/0),$n(e)?Bp(function(i,r){return ns(function(s,o){return e(i,s,r,o)})(sa(n(i,r)))},t):(typeof e=="number"&&(t=e),ra(function(i,r){return soe(i,r,n,t)}))}function hR(n){return n===void 0&&(n=1/0),Bp(LA,n)}function ooe(){return hR(1)}function pR(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return ooe()(Rp(n,S4(n)))}function mR(n){return new gi(function(e){sa(n()).subscribe(e)})}function aoe(n,e,t){return t===void 0&&(t=Ose),new gi(function(i){var r=eoe(n)?1e3-t.now():n;r<0&&(r=0);var s=0;return t.schedule(function(){i.closed||(i.next(s++),i.complete())},r)})}function loe(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=S4(n),i=Nse(n,1/0),r=n;return r.length?r.length===1?sa(r[0]):hR(i)(Rp(r,t)):ZP}var coe=Array.isArray;function uoe(n){return n.length===1&&coe(n[0])?n[0]:n}function Wd(n,e){return ra(function(t,i){var r=0;t.subscribe(nc(i,function(s){return n.call(e,s,r++)&&i.next(s)}))})}function E4(n){return ra(function(e,t){var i=null,r=!1,s;i=e.subscribe(nc(t,void 0,void 0,function(o){s=sa(n(o,E4(n)(e))),i?(i.unsubscribe(),i=null,s.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,s.subscribe(t))})}function gR(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=Use(n);
4497return t?wse(gR.apply(void 0,Ka([],$a(n))),ioe(t)):ra(function(i,r){roe(Ka([i],$a(uoe(n))))(r)})}function foe(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return gR.apply(void 0,Ka([],$a(n)))}function AR(n){return ra(function(e,t){try{e.subscribe(t)}finally{t.add(n)}})}function vR(n){n===void 0&&(n={});var e=n.connector,t=e===void 0?function(){return new x4}:e,i=n.resetOnError,r=i===void 0?!0:i,s=n.resetOnComplete,o=s===void 0?!0:s,a=n.resetOnRefCountZero,l=a===void 0?!0:a;return function(c){var u,f,h,p=0,m=!1,v=!1,A=function(){f==null||f.unsubscribe(),f=void 0},y=function(){A(),u=h=void 0,m=v=!1},x=function(){var b=u;y(),b==null||b.unsubscribe()};return ra(function(b,_){p++,!v&&!m&&A();var T=h=h??t();_.add(function(){p--,p===0&&!v&&!m&&(f=iy(x,l))}),T.subscribe(_),!u&&p>0&&(u=new sp({next:function(M){return T.next(M)},error:function(M){v=!0,A(),f=iy(y,r,M),T.error(M)},complete:function(){m=!0,A(),f=iy(y,o),T.complete()}}),sa(b).subscribe(u))})(c)}}function iy(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];if(e===!0){n();return}if(e!==!1){var r=new sp({next:function(){r.unsubscribe(),n()}});return sa(e.apply(void 0,Ka([],$a(t)))).subscribe(r)}}function doe(n,e,t){var i,r=!1;return i=n,vR({connector:function(){return new Pse(i,e,t)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}function hoe(n,e,t){var i=$n(n)||e||t?{next:n,error:e,complete:t}:n;return i?ra(function(r,s){var o;(o=i.subscribe)===null||o===void 0||o.call(i);var a=!0;r.subscribe(nc(s,function(l){var c;(c=i.next)===null||c===void 0||c.call(i,l),s.next(l)},function(){var l;a=!1,(l=i.complete)===null||l===void 0||l.call(i),s.complete()},function(l){var c;a=!1,(c=i.error)===null||c===void 0||c.call(i,l),s.error(l)},function(){var l,c;a&&((l=i.unsubscribe)===null||l===void 0||l.call(i)),(c=i.finalize)===null||c===void 0||c.call(i)}))}):LA}var yR={0:8203,1:8204,2:8205,3:8290,4:8291,5:8288,6:65279,7:8289,8:119155,9:119156,a:119157,b:119158,c:119159,d:119160,e:119161,f:119162},T4={0:8203,1:8204,2:8205,3:65279},poe=new Array(4).fill(String.fromCodePoint(T4[0])).join("");function moe(n){let e=JSON.stringify(n);return`${poe}${Array.from(e).map(t=>{let i=t.charCodeAt(0);if(i>255)throw new Error(`Only ASCII edit info can be encoded. Error attempting to encode ${e} on character ${t} (${i})`);return Array.from(i.toString(4).padStart(4,"0")).map(r=>String.fromCodePoint(T4[r])).join("")}).join("")}`}function goe(n){return!Number.isNaN(Number(n))||/[a-z]/i.test(n)&&!/\d+(?:[-:\/]\d+){2}(?:T\d+(?:[-:\/]\d+){1,2}(\.\d+)?Z?)?/.test(n)?!1:!!Date.parse(n)}function Aoe(n){try{new URL(n,n.startsWith("/")?"https://acme.com":void 0)}catch{return!1}return!0}function gfe(n,e,t="auto"){return t===!0||t==="auto"&&(goe(n)||Aoe(n))?n:`${n}${moe(e)}`}Object.fromEntries(Object.entries(T4).map(n=>n.reverse()));Object.fromEntries(Object.entries(yR).map(n=>n.reverse()));var voe=`${Object.values(yR).map(n=>`\\u{${n.toString(16)}}`).join("")}`,dE=new RegExp(`[${voe}]{4,}`,"gu");function yoe(n){var e;return{cleaned:n.replace(dE,""),encoded:((e=n.match(dE))==null?void 0:e[0])||""}}function _oe(n){return n&&JSON.parse(yoe(JSON.stringify(n)).cleaned)}function boe(n){return _oe(n)}class xoe extends Error{constructor(t){const i=_R(t);super(i.message);he(this,"response");he(this,"statusCode",400);he(this,"responseBody");he(this,"details");Object.assign(this,i)}}class Coe extends Error{constructor(t){const i=_R(t);super(i.message);he(this,"response");he(this,"statusCode",500);he(this,"responseBody");he(this,"details");Object.assign(this,i)}}function _R(n){const e=n.body,t={response:n,statusCode:n.statusCode,responseBody:Toe(e,n),message:"",details:void 0};if(e.error&&e.message)return t.message=`${e.error} - ${e.message}`,t;if(woe(e)||Soe(e)){const i=e.error.items||[],r=i.slice(0,5).map(o=>{var a;return(a=o.error)==null?void 0:a.description}).filter(Boolean);let s=r.length?`: 4498- ${r.join(` 4499- `)}`:"";return i.length>5&&(s+=` 4500...and ${i.length-5} more`),t.message=`${e.error.description}${s}`,t.details=e.error,t}return e.error&&e.error.description?(t.message=e.error.description,t.details=e.error,t):(t.message=e.error||e.message||Eoe(n),t)}function woe(n){return Xg(n)&&Xg(n.error)&&n.error.type==="mutationError"&&typeof n.error.description=="str
4500ing"}function Soe(n){return Xg(n)&&Xg(n.error)&&n.error.type==="actionError"&&typeof n.error.description=="string"}function Xg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function Eoe(n){const e=n.statusMessage?` ${n.statusMessage}`:"";return`${n.method}-request to ${n.url} resulted in HTTP ${n.statusCode}${e}`}function Toe(n,e){return(e.headers["content-type"]||"").toLowerCase().indexOf("application/json")!==-1?JSON.stringify(n,null,2):n}class Moe extends Error{constructor({projectId:t}){super("CorsOriginError");he(this,"projectId");he(this,"addOriginUrl");this.name="CorsOriginError",this.projectId=t;const i=new URL(`https://sanity.io/manage/project/${t}/api`);if(typeof location<"u"){const{origin:r}=location;i.searchParams.set("cors","add"),i.searchParams.set("origin",r),this.addOriginUrl=i,this.message=`The current origin is not allowed to connect to the Live Content API. Add it here: ${i}`}else this.message=`The current origin is not allowed to connect to the Live Content API. Change your configuration here: ${i}`}}const Ioe={onResponse:n=>{if(n.statusCode>=500)throw new Coe(n);if(n.statusCode>=400)throw new xoe(n);return n}};function Poe(){const n={};return{onResponse:e=>{const t=e.headers["x-sanity-warning"],i=Array.isArray(t)?t:[t];for(const r of i)!r||n[r]||(n[r]=!0,console.warn(r));return e}}}function hE(n){return sse([v4({shouldRetry:Roe}),...n,Poe(),use(),fse(),pse(),Ioe,hse({implementation:gi})])}function Roe(n,e,t){if(t.maxRetries===0)return!1;const i=t.method==="GET"||t.method==="HEAD",r=(t.uri||t.url).startsWith("/data/query"),s=n.response&&(n.response.statusCode===429||n.response.statusCode===502||n.response.statusCode===503);return(i||r)&&s?!0:v4.shouldRetry(n,e,t)}const Boe="https://www.sanity.io/help/";function M4(n){return Boe+n}const pE=["image","file"],mE=["before","after","replace"],bR=n=>{if(!/^(~[a-z0-9]{1}[-\w]{0,63}|[a-z0-9]{1}[-\w]{0,63})$/.test(n))throw new Error("Datasets can only contain lowercase characters, numbers, underscores and dashes, and start with tilde, and be maximum 64 characters")},Doe=n=>{if(!/^[-a-z0-9]+$/i.test(n))throw new Error("`projectId` can only contain only a-z, 0-9 and dashes")},Loe=n=>{if(pE.indexOf(n)===-1)throw new Error(`Invalid asset type: ${n}. Must be one of ${pE.join(", ")}`)},M0=(n,e)=>{if(e===null||typeof e!="object"||Array.isArray(e))throw new Error(`${n}() takes an object of properties`)},xR=(n,e)=>{if(typeof e!="string"||!/^[a-z0-9_][a-z0-9_.-]{0,127}$/i.test(e)||e.includes(".."))throw new Error(`${n}(): "${e}" is not a valid document ID`)},Yg=(n,e)=>{if(!e._id)throw new Error(`${n}() requires that the document contains an ID ("_id" property)`);xR(n,e._id)},Ooe=(n,e,t)=>{const i="insert(at, selector, items)";if(mE.indexOf(n)===-1){const r=mE.map(s=>`"${s}"`).join(", ");throw new Error(`${i} takes an "at"-argument which is one of: ${r}`)}if(typeof e!="string")throw new Error(`${i} takes a "selector"-argument which must be a string`);if(!Array.isArray(t))throw new Error(`${i} takes an "items"-argument which must be an array`)},CR=n=>{if(!n.dataset)throw new Error("`dataset` must be provided to perform queries");return n.dataset||""},wR=n=>{if(typeof n!="string"||!/^[a-z0-9._-]{1,75}$/i.test(n))throw new Error("Tag can only contain alphanumeric characters, underscores, dashes and dots, and be between one and 75 characters long.");return n};function Foe(n){let e=!1,t;return(...i)=>(e||(t=n(...i),e=!0),t)}const jd=n=>Foe((...e)=>console.warn(n.join(" "),...e)),Uoe=jd(["Because you set `withCredentials` to true, we will override your `useCdn`","setting to be false since (cookie-based) credentials are never set on the CDN"]),Noe=jd(["Since you haven't set a value for `useCdn`, we will deliver content using our","global, edge-cached API-CDN. If you wish to have content delivered faster, set","`useCdn: false` to use the Live API. Note: You may incur higher costs using the live API."]),koe=jd(["The Sanity client is configured with the `perspective` set to `drafts` or `previewDrafts`, which doesn't support the API-CDN.","The Live API will be used instead. Set `useCdn: false` in your configuration to hide this warning."]),zoe=jd(["The `previewDrafts` perspective has been renamed to `drafts` and will be removed in a future API version"]),Hoe=jd(["You have configured Sanity client to use a token in the browser. This may cause unintentional security issues.",`See ${M4("js-client-browser-token")} for more information and how to hide this warning.`]),Voe=jd(["Using the Sanity client without specifying an API version is deprecated.",`See ${M4("js-client-api-version")}`]),Goe="apicdn.sanity.io",I0={apiHost:"https://api.sanity.io",apiVersion:"1",useProjectHostname:!0,stega:{enabled:!1}},Qoe=["localhost","127.0.0.1","0.0.0.0"],Woe=n=>Qoe.indexOf(n)!==-1;function joe(n){if(n==="1"||n==="X")return;const e=new Date(n);if(!(/^\d{4}-\d{2}-\d{2}$/.test(n)&&e instanceof Date&&e.getTime()>0))throw new Error("Invalid API version string, expected `1` or date in format `YYYY-MM-DD`")}const qoe=/^[a-z0-9_]+$/i;
4500function SR(n){if(Array.isArray(n)&&n.includes("raw"))throw new TypeError('Invalid API perspective value: "raw". The raw-perspective can not be combined with other perspectives');const e=(Array.isArray(n)?n:[n]).filter(t=>typeof t!="string"||!qoe.test(t));if(e.length>0){const t=e.map(i=>JSON.stringify(i));throw new TypeError(`Invalid API perspective value${e.length===1?"":"s"}: ${t.join(", ")}, expected \`published\`, \`drafts\`, \`raw\` or a release identifier string`)}}const ER=(n,e)=>{const t={...e,...n,stega:{...typeof e.stega=="boolean"?{enabled:e.stega}:e.stega||I0.stega,...typeof n.stega=="boolean"?{enabled:n.stega}:n.stega||{}}};t.apiVersion||Voe();const i={...I0,...t},r=i.useProjectHostname;if(typeof Promise>"u"){const f=M4("js-client-promise-polyfill");throw new Error(`No native Promise-implementation found, polyfill needed - see ${f}`)}if(r&&!i.projectId)throw new Error("Configuration must contain `projectId`");if(typeof i.perspective<"u"&&SR(i.perspective),"encodeSourceMap"in i)throw new Error("It looks like you're using options meant for '@sanity/preview-kit/client'. 'encodeSourceMap' is not supported in '@sanity/client'. Did you mean 'stega.enabled'?");if("encodeSourceMapAtPath"in i)throw new Error("It looks like you're using options meant for '@sanity/preview-kit/client'. 'encodeSourceMapAtPath' is not supported in '@sanity/client'. Did you mean 'stega.filter'?");if(typeof i.stega.enabled!="boolean")throw new Error(`stega.enabled must be a boolean, received ${i.stega.enabled}`);if(i.stega.enabled&&i.stega.studioUrl===void 0)throw new Error("stega.studioUrl must be defined when stega.enabled is true");if(i.stega.enabled&&typeof i.stega.studioUrl!="string"&&typeof i.stega.studioUrl!="function")throw new Error(`stega.studioUrl must be a string or a function, received ${i.stega.studioUrl}`);const s=typeof window<"u"&&window.location&&window.location.hostname,o=s&&Woe(window.location.hostname);s&&o&&i.token&&i.ignoreBrowserTokenWarning!==!0?Hoe():typeof i.useCdn>"u"&&Noe(),r&&Doe(i.projectId),i.dataset&&bR(i.dataset),"requestTagPrefix"in i&&(i.requestTagPrefix=i.requestTagPrefix?wR(i.requestTagPrefix).replace(/\.+$/,""):void 0),i.apiVersion=`${i.apiVersion}`.replace(/^v/,""),i.isDefaultApi=i.apiHost===I0.apiHost,i.useCdn===!0&&i.withCredentials&&Uoe(),i.useCdn=i.useCdn!==!1&&!i.withCredentials,joe(i.apiVersion);const a=i.apiHost.split("://",2),l=a[0],c=a[1],u=i.isDefaultApi?Goe:c;return i.useProjectHostname?(i.url=`${l}://${i.projectId}.${c}/v${i.apiVersion}`,i.cdnUrl=`${l}://${i.projectId}.${u}/v${i.apiVersion}
4500`):(i.url=`${i.apiHost}/v${i.apiVersion}`,i.cdnUrl=i.url),i};class TR extends Error{constructor(){super(...arguments);he(this,"name","ConnectionFailedError")}}class Xoe extends Error{constructor(t,i,r={}){super(t,r);he(this,"name","DisconnectError");he(this,"reason");this.reason=i}}class Yoe extends Error{constructor(t,i){super(t);he(this,"name","ChannelError");he(this,"data");this.data=i}}class $oe extends Error{constructor(t,i,r={}){super(t,r);he(this,"name","MessageError");he(this,"data");this.data=i}}class gE extends Error{constructor(){super(...arguments);he(this,"name","MessageParseError")}}const Koe=["channelError","disconnect"];function MR(n,e){return mR(()=>{const t=n();return Zse(t)?t:OA(t)}).pipe(Bp(t=>Zoe(t,e)))}function Zoe(n,e){return new gi(t=>{const i=e.includes("open"),r=e.includes("reconnect");function s(c){if("data"in c){const[u,f]=AE(c);t.error(u?new gE("Unable to parse EventSource error message",{cause:f}):new $oe((f==null?void 0:f.data).message,f));return}n.readyState===n.CLOSED?t.error(new TR("EventSource connection failed")):r&&t.next({type:"reconnect"})}function o(){t.next({type:"open"})}function a(c){var h;const[u,f]=AE(c);if(u){t.error(new gE("Unable to parse EventSource message",{cause:u}));return}if(c.type==="channelError"){t.error(new Yoe(Joe(f==null?void 0:f.data),f.data));return}if(c.type==="disconnect"){t.error(new Xoe(`Server disconnected client: ${((h=f.data)==null?void 0:h.reason)||"unknown error"}`));return}t.next({type:c.type,id:c.lastEventId,...f.data?{data:f.data}:{}})}n.addEventListener("error",s),i&&n.addEventListener("open",o);const l=[...new Set([...Koe,...e])].filter(c=>c!=="error"&&c!=="open"&&c!=="reconnect");return l.forEach(c=>n.addEventListener(c,a)),()=>{n.removeEventListener("error",s),i&&n.removeEventListener("open",o),l.forEach(c=>n.removeEventListener(c,a)),n.close()}})}
4500function AE(n){try{const e=typeof n.data=="string"&&JSON.parse(n.data);return[null,{type:n.type,id:n.lastEventId,...eae(e)?{}:{data:e}}]}catch(e){return[e,null]}}function Joe(n){return n.error?n.error.description?n.error.description:typeof n.error=="string"?n.error:JSON.stringify(n.error,null,2):n.message||"Unknown listener error"}function eae(n){for(const e in n)return!1;return!0}function IR(n){if(typeof n=="string")return{id:n};if(Array.isArray(n))return{query:"*[_id in $ids]",params:{ids:n}};if(typeof n=="object"&&n!==null&&"query"in n&&typeof n.query=="string")return"params"in n&&typeof n.params=="object"&&n.params!==null?{query:n.query,params:n.params}:{query:n.query};const e=["* Document ID (<docId>)","* Array of document IDs","* Object containing `query`"].join(` 4501`);throw new Error(`Unknown selection - must be one of: 4502 4503${e}`)}class PR{constructor(e,t={}){he(this,"selection");he(this,"operations");this.selection=e,this.operations=t}set(e){return this._assign("set",e)}setIfMissing(e){return this._assign("setIfMissing",e)}diffMatchPatch(e){return M0("diffMatchPatch",e),this._assign("diffMatchPatch",e)}unset(e){if(!Array.isArray(e))throw new Error("unset(attrs) takes an array of attributes to unset, non-array given");return this.operations=Object.assign({},this.operations,{unset:e}),this}inc(e){return this._assign("inc",e)}dec(e){return this._assign("dec",e)}insert(e,t,i){return Ooe(e,t,i),this._assign("insert",{[e]:t,items:i})}append(e,t){return this.insert("after",`${e}[-1]`,t)}prepend(e,t){return this.insert("before",`${e}[0]`,t)}splice(e,t,i,r){const s=typeof i>"u"||i===-1,o=t<0?t-1:t,a=s?-1:Math.max(0,t+i),l=o<0&&a>=0?"":a,c=`${e}[${o}:${l}]`;return this.insert("replace",c,r||[])}ifRevisionId(e){return this.operations.ifRevisionID=e,this}serialize(){return{...IR(this.selection),...this.operations}}toJSON(){return this.serialize()}reset(){return this.operations={},this}_assign(e,t,i=!0){return M0(e,t),this.operations=Object.assign({},this.operations,{[e]:Object.assign({},i&&this.operations[e]||{},t)}),this}_set(e,t){return this._assign(e,t,!1)}}var au;const O4=class O4 extends PR{constructor(t,i,r){super(t,i);sn(this,au);tn(this,au,r)}clone(){return new O4(this.selection,{...this.operations},Ne(this,au))}commit(t){if(!Ne(this,au))throw new Error("No `client` passed to patch, either provide one or pass the patch to a clients `mutate()` method");const i=typeof this.selection=="string",r=Object.assign({returnFirst:i,returnDocuments:!0},t);return Ne(this,au).mutate({patch:this.serialize()},r)}};au=new WeakMap;let wu=O4;var lu;const F4=class F4 extends PR{constructor(t,i,r){super(t,i);sn(this,lu);tn(this,lu,r)}clone(){return new F4(this.selection,{...this.operations},Ne(this,lu))}commit(t){if(!Ne(this,lu))throw new Error("No `client` passed to patch, either provide one or pass the patch to a clients `mutate()` method");const i=typeof this.selection=="string",r=Object.assign({returnFirst:i,returnDocuments:!0},t);return Ne(this,lu).mutate({patch:this.serialize()},r)}};lu=new WeakMap;let Hl=F4;const RR={returnDocuments:!1};class BR{constructor(e=[],t){he(this,"operations");he(this,"trxId");this.operations=e,this.trxId=t}create(e){return M0("create",e),this._add({create:e})}createIfNotExists(e){const t="createIfNotExists";return M0(t,e),Yg(t,e),this._add({[t]:e})}createOrReplace(e){const t="createOrReplace";return M0(t,e),Yg(t,e),this._add({[t]:e})}delete(e){return xR("delete",e),this._add({delete:{id:e}})}transactionId(e){return e?(this.trxId=e,this):this.trxId}serialize(){return[...this.operations]}toJSON(){return this.serialize()}reset(){return this.operations=[],this}_add(e){return this.operations.push(e),this}}var Ia;const U4=class U4 extends BR{constructor(t,i,r){super(t,r);sn(this,Ia);tn(this,Ia,i)}clone(){return new U4([...this.operations],Ne(this,Ia),this.trxId)}commit(t){if(!Ne(this,Ia))throw new Error("No `client` passed to transaction, either provide one or pass the transaction to a clients `mutate()` method");return Ne(this,Ia).mutate(this.serialize(),Object.assign({transactionId:this.trxId},RR,t||{}))}patch(t,i){const r=typeof i=="function",s=typeof t!="string"&&t instanceof Hl,o=typeof t=="object"&&("query"in t||"id"in t);if(s)return this._add({patch:t.serialize()});if(r){const a=i(new Hl(t,{},Ne(this,Ia)));if(!(a instanceof Hl))throw new Error("function passed to `patch()` must return the patch");return this._add({patch:a.serialize()})}if(o){const a=new Hl(t,i||{},Ne(this,Ia));return this._add({patch:a.serialize()})}return this._add({patch:{id:t,...i}})}};Ia=new WeakMap;let $g=U4;var Tl;const N4=class N4 extends BR{constructor(t,i,r){super(t,r);sn(this,Tl);tn(this,Tl,i)}clone(){return new N4([...this.operations],Ne(this,Tl),this.trxId)}commit(t){if(!Ne(this,Tl))throw new Error("No `client` passed to transaction, either provide one or pass the transaction to a clients `mutate()` method");return Ne(this,Tl).mutate(this.serialize(),Object.assign({transactionId:this.trxId},RR,t||{}))}patch(t,i){const r=typeof i=="function";if(typeof t!="string"&&t instanceof wu)return this._add({patch:t.serialize()});if(r){const s=i(new wu(t,{},Ne(this,Tl)));if(!(s instanceof wu))throw new Error("function passed to `patch()` must return the patch");return this._add({patch:s.serialize()})}return this._add({patch:{id:t,...i}})}};Tl=new WeakMap;let Kg=N4;const tae="X-Sanity-Project-ID";function nae(n,e={}){const t={},i=e.token||n.token;i&&(t.Authorization=`Bearer ${i}`),!e.useGlobalApi&&!n.useProjectHostname&&n.projectId&&(t[tae]=n.projectId);const r=!!(typeof e.withCredentials>"u"?n.token||n.withCredentials:e.withCredentials),s=typeof e.timeout>"u"?n.timeout:e.timeout;return Object.assign({},e,{headers:Object.assign({},t,e.headers||{}),timeout:typeof s>"u"?5*60*1e3:s,proxy:e.proxy||n.proxy,json:!0,withCredentials:r,fetch:typeof e.fetch=="object"&&typeof n.fetch=="object"?{...n.fetch,...e.fetch}:e.fetch||n.fetch})}const DR=({query:n,params:e={},options:t={}})=>{const i=new URLSearchParams,{tag:r,includeMutations:s,returnQuery:o,...a}=t;r&&i.append("tag",r),i.append("query",n);for(const[l,c]of Object.entries(e))i.append(`$${l}`,JSON.stringify(c));for(const[l,c]of Object.entries(a))c&&i.append(l,`${c}`);return o===!1&&i.append("returnQuery","false"),s===!1&&i.append("includeMutations","fal
4503se"),`?${i}`},iae=(n,e)=>n===!1?void 0:typeof n>"u"?e:n,rae=(n={})=>({dryRun:n.dryRun,returnIds:!0,returnDocuments:iae(n.returnDocuments,!0),visibility:n.visibility||"sync",autoGenerateArrayKeys:n.autoGenerateArrayKeys,skipCrossDatasetReferenceValidation:n.skipCrossDatasetReferenceValidation}),I4=n=>n.type==="response",sae=n=>n.body,oae=(n,e)=>n.reduce((t,i)=>(t[e(i)]=i,t),Object.create(null)),aae=11264;function LR(n,e,t,i,r={},s={}){const o="stega"in s?{...t||{},...typeof s.stega=="boolean"?{enabled:s.stega}:s.stega||{}}:t,a=o.enabled?boe(r):r,l=s.filterResponse===!1?m=>m:m=>m.result,{cache:c,next:u,...f}={useAbortSignal:typeof s.signal<"u",resultSourceMap:o.enabled?"withKeyArraySelector":s.resultSourceMap,...s,returnQuery:s.filterResponse===!1&&s.returnQuery!==!1},h=typeof c<"u"||typeof u<"u"?{...f,fetch:{cache:c,next:u}}:f,p=qd(n,e,"query",{query:i,params:a},h);return o.enabled?p.pipe(foe(Rp(Sr(()=>import("./Bseof4PF.js"),[],import.meta.url).then(function(m){return m.stegaEncodeSourceMap$1}).then(({stegaEncodeSourceMap:m})=>m))),ns(([m,v])=>{const A=v(m.result,m.resultSourceMap,o);return l({...m,result:A})})):p.pipe(ns(l))}function OR(n,e,t,i={}){const r={uri:Fu(n,"doc",t),json:!0,tag:i.tag,signal:i.signal};return Dp(n,e,r).pipe(Wd(I4),ns(s=>s.body.documents&&s.body.documents[0]))}function FR(n,e,t,i={}){const r={uri:Fu(n,"doc",t.join(",")),json:!0,tag:i.tag,signal:i.signal};return Dp(n,e,r).pipe(Wd(I4),ns(s=>{const o=oae(s.body.documents||[],a=>a._id);return t.map(a=>o[a]||null)}))}function UR(n,e,t,i){return Yg("createIfNotExists",t),FA(n,e,t,"createIfNotExists",i)}function NR(n,e,t,i){return Yg("createOrReplace",t),FA(n,e,t,"createOrReplace",i)}function kR(n,e,t,i){return qd(n,e,"mutate",{mutations:[{delete:IR(t)}]},i)}function zR(n,e,t,i){let r;t instanceof Hl||t instanceof wu?r={patch:t.serialize()}:t instanceof $g||t instanceof Kg?r=t.serialize():r=t;const s=Array.isArray(r)?r:[r],o=i&&i.transactionId||void 0;return qd(n,e,"mutate",{mutations:s,transactionId:o},i)}function HR(n,e,t,i){const r=Array.isArray(t)?t:[t],s=i&&i.transactionId||void 0,o=i&&i.skipCrossDatasetReferenceValidation||void 0,a=i&&i.dryRun||void 0;return qd(n,e,"actions",{actions:r,transactionId:s,skipCrossDatasetReferenceValidation:o,dryRun:a},i)}function qd(n,e,t,i,r={}){const s=t==="mutate",o=t==="actions",a=t==="query",l=s||o?"":DR(i),c=!s&&!o&&l.length<aae,u=c?l:"",f=r.returnFirst,{timeout:h,token:p,tag:m,headers:v,returnQuery:A,lastLiveEventId:y,cacheMode:x}=r,b=Fu(n,t,u),_={method:c?"GET":"POST",uri:b,json:!0,body:c?void 0:i,query:s&&rae(r),timeout:h,headers:v,token:p,tag:m,returnQuery:A,perspective:r.perspective,resultSourceMap:r.resultSourceMap,lastLiveEventId:Array.isArray(y)?y[0]:y,cacheMode:x,canUseCdn:a,signal:r.signal,fetch:r.fetch,useAbortSignal:r.useAbortSignal,useCdn:r.useCdn};return Dp(n,e,_).pipe(Wd(I4),ns(sae),ns(T=>{if(!s)return T;const M=T.results||[];if(r.returnDocuments)return f?M[0]&&M[0].document:M.map(w=>w.document);const I=f?"documentId":"documentIds",R=f?M[0]&&M[0].id:M.map(w=>w.id);return{transactionId:T.transactionId,results:M,[I]:R}}))}function FA(n,e,t,i,r={}){const s={[i]:t},o=Object.assign({returnFirst:!0,returnDocuments:!0},r);return qd(n,e,"mutate",{mutations:[s]},o)}function Dp(n,e,t){const i=t.url||t.uri,r=n.config(),s=typeof t.canUseCdn>"u"?["GET","HEAD"].indexOf(t.method||"GET")>=0&&i.indexOf("/data/")===0:t.canUseCdn;let o=(t.useCdn??r.useCdn)&&s;const a=t.tag&&r.requestTagPrefix?[r.requestTagPrefix,t.tag].join("."):t.tag||r.requestTagPrefix;if(a&&t.tag!==null&&(t.query={tag:wR(a),...t.query}),["GET","HEAD","POST"].indexOf(t.method||"GET")>=0&&i.indexOf("/data/query/")===0){const u=t.resultSourceMap??r.resultSourceMap;u!==void 0&&u!==!1&&(t.query={resultSourceMap:u,...t.query});const f=t.perspective||r.perspective;typeof f<"u"&&(f==="previewDrafts"&&zoe(),SR(f),t.query={perspective:Array.isArray(f)?f.join(","):f,...t.query},(Array.isArray(f)&&f.length>0||f==="previewDrafts"||f==="drafts")&&o&&(o=!1,koe())),t.lastLiveEventId&&(t.query={...t.query,lastLiveEventId:t.lastLiveEventId}),t.returnQuery===!1&&(t.query={returnQuery:"false",...t.query}),o&&t.cacheMode=="noStale"&&(t.query={cacheMode:"noStale",...t.query})}const l=nae(r,Object.assign({},t,{url:P4(n,i,o)})),c=new gi(u=>e(l,r.requester).subscribe(u));return t.signal?c.pipe(lae(t.signal)):c}function Bo(n,e,t){return Dp(n,e,t).pipe(Wd(i=>i.type==="response"),ns(i=>i.body))}function Fu(n,e,t){const i=n.config(),r=CR(i),s=`/${e}/${r}`;return`/data${t?`${s}/${t}`:s}`.replace(/\/($|\?)/,"$1")}
4503function P4(n,e,t=!1){const{url:i,cdnUrl:r}=n.config();return`${t?r:i}/${e.replace(/^\//,"")}`}function lae(n){return e=>new gi(t=>{const i=()=>t.error(uae(n));if(n&&n.aborted){i();return}const r=e.subscribe(t);return n.addEventListener("abort",i),()=>{n.removeEventListener("abort",i),r.unsubscribe()}})}const cae=!!globalThis.DOMException;function uae(n){if(cae)return new DOMException((n==null?void 0:n.reason)??"The operation was aborted.","AbortError");const e=new Error((n==null?void 0:n.reason)??"The operation was aborted.");return e.name="AbortError",e}var fp,dp;class fae{constructor(e,t){sn(this,fp);sn(this,dp);tn(this,fp,e),tn(this,dp,t)}upload(e,t,i){return VR(Ne(this,fp),Ne(this,dp),e,t,i)}}fp=new WeakMap,dp=new WeakMap;var hp,pp;class dae{constructor(e,t){sn(this,hp);sn(this,pp);tn(this,hp,e),tn(this,pp,t)}upload(e,t,i){const r=VR(Ne(this,hp),Ne(this,pp),e,t,i);return Ui(r.pipe(Wd(s=>s.type==="response"),ns(s=>s.body.document)))}}hp=new WeakMap,pp=new WeakMap;function VR(n,e,t,i,r={}){Loe(t);let s=r.extract||void 0;s&&!s.length&&(s=["none"]);const o=CR(n.config()),a=t==="image"?"images":"files",l=hae(r,i),{tag:c,label:u,title:f,description:h,creditLine:p,filename:m,source:v}=l,A={label:u,title:f,description:h,filename:m,meta:s,creditLine:p};return v&&(A.sourceId=v.id,A.sourceName=v.name,A.sourceUrl=v.url),Dp(n,e,{tag:c,method:"POST",timeout:l.timeout||0,uri:`/assets/${a}/${o}`,headers:l.contentType?{"Content-Type":l.contentType}:{},query:A,body:i})}function hae(n,e){return typeof File>"u"||!(e instanceof File)?n:Object.assign({filename:n.preserveFilename===!1?void 0:e.name,contentType:e.type},n)}var pae=(n,e)=>Object.keys(e).concat(Object.keys(n)).reduce((t,i)=>(t[i]=typeof n[i]>"u"?e[i]:n[i],t),{});const mae=(n,e)=>e.reduce((t,i)=>(typeof n[i]>"u"||(t[i]=n[i]),t),{}),GR=mR(()=>Sr(()=>import("./C-HDW_z-.js").then(n=>n.b),[],import.meta.url)).pipe(ns(({default:n})=>n),doe(1));function QR(){return function(n){return n.pipe(E4((e,t)=>e instanceof TR?pR(OA({type:"reconnect"}),aoe(1e3).pipe(Bp(()=>t))):dR(()=>e)))}}const gae=14800,Aae=["includePreviousRevision","includeResult","includeMutations","includeAllVersions","visibility","effectFormat","tag"],vae={includeResult:!0};function WR(n,e,t={}){const{url:i,token:r,withCredentials:s,requestTagPrefix:o}=this.config(),a=t.tag&&o?[o,t.tag].join("."):t.tag,l={...pae(t,vae),tag:a},c=mae(l,Aae),u=DR({query:n,params:e,options:{tag:a,...c}}),f=`${i}${Fu(this,"listen",u)}`;if(f.length>gae)return dR(()=>new Error("Query too large for listener"));const h=l.events?l.events:["mutation"],p={};return(r||s)&&(p.withCredentials=!0),r&&(p.headers={Authorization:`Bearer ${r}`}),MR(()=>(typeof EventSource>"u"||p.headers?GR:OA(EventSource)).pipe(ns(m=>new m(f,p))),h).pipe(QR(),Wd(m=>h.includes(m.type)),ns(m=>({type:m.type,..."data"in m?m.data:{}})))}function yae(n,e){return _ae(typeof n=="function"?{predicate:n,...e}:n)}function _ae(n){return e=>{let t,i=!1;const{predicate:r,...s}=n,o=e.pipe(hoe(l=>{n.predicate(l)&&(i=!0,t=l)}),AR(()=>{i=!1,t=void 0}),vR(s)),a=new gi(l=>{i&&l.next(t),l.complete()});return loe(o,a)}}const vE="2021-03-25";var cu;class jR{constructor(e){sn(this,cu);tn(this,cu,e)}events({includeDrafts:e=!1,tag:t}={}){const{projectId:i,apiVersion:r,token:s,withCredentials:o,requestTagPrefix:a}=Ne(this,cu).config(),l=r.replace(/^v/,"");if(l!=="X"&&l<vE)throw new Error(`The live events API requires API version ${vE} or later. The current API version is ${l}. Please update your API version to use this feature.`);if(e&&!s&&!o)throw new Error("The live events API requires a token or withCredentials when 'includeDrafts: true'. Please update your client configuration. The token should have the lowest possible access role.");const c=Fu(Ne(this,cu),"live/events"),u=new URL(Ne(this,cu).getUrl(c,!1)),f=t&&a?[a,t].join("."):t;f&&u.searchParams.set("tag",f),e&&u.searchParams.set("includeDrafts","true");const h={};e&&s&&(h.headers={Authorization:`Bearer ${s}`}),e&&o&&(h.withCredentials=!0);const p=`${u.href}::${JSON.stringify(h)}`,m=ry.get(p);if(m)return m;const v=MR(()=>(typeof EventSource>"u"||h.headers?GR:OA(EventSource)).pipe(ns(x=>new x(u.href,h))),["message","restart","welcome","reconnect"]).pipe(QR(),ns(x=>{if(x.type==="message"){const{data:b,..._}=x;return{..._,tags:b.tags}}return x})),A=bae(u,{method:"OPTIONS",mode:"cors",credentials:h.withCredentials?"include":"omit",headers:h.headers}).pipe(Bp(()=>ZP),E4(()=>{throw new Moe({projectId:i})})),y=pR(A,v).pipe(AR(()=>ry.delete(p)),yae({predicate:x=>x.type==="welcome"}));return ry.set(p,y),y}}cu=new WeakMap;function bae(n,e){return new gi(t=>{const i=new AbortController,r=i.signal;return fetch(n,{...e,signal:i.signal}).then(s=>{t.next(s),t.complete()},s=>{r.aborted||t.error(s)}),()=>i.abort()})}const ry=new Map;var Ml,Il;class xae{constructor(e,t){sn(this,Ml);sn(this,Il);tn(this,Ml,e),tn(this,Il,t)}create(e,t){return sd(Ne(this,Ml),Ne(this,Il),"PUT",e,t)}edit(e,t){return sd(Ne(this,Ml),Ne(this,Il),"PATCH",e,t)}delete(e){return sd(Ne(this,Ml),Ne(this,Il),"DELETE",e)}list(){return Bo(Ne(this,Ml),Ne(this,Il),{uri:"/datasets",tag:null})}}Ml=new WeakMap,Il=new WeakMap;var Pl,Rl;class Cae{constructor(e,t){sn(this,Pl);sn(this,Rl);tn(this,Pl,e),tn(this,Rl,t)}create(e,t){return Ui(sd(Ne(this,Pl),Ne(this,Rl),"PUT",e,t))}edit(e,t){return Ui(sd(Ne(this,Pl),Ne(this,Rl),"PATCH",e,t))}delete(e){return Ui(sd(Ne(this,Pl),Ne(this,Rl),"DELETE",e))}list(){return Ui(Bo(Ne(this,Pl),Ne(this,Rl),{uri:"/datasets",tag:null}))}}Pl=new WeakMap,Rl=new WeakMap;function sd(n,e,t,i,r){return bR(i),Bo(n,e,{method:t,uri:`/datasets/${i}`,body:r,tag:null})}var ad,ld;class wae{constructor(e,t){sn(this,ad);sn(this,ld);tn(this,ad,e),tn(this,ld,t)}list(e){const t=(e==null?void 0:e.includeMembers)===!1?"/projects?includeMembers=false":"/projects";return Bo(Ne(this,ad),Ne(this,ld),{uri:t})}getById(e){return Bo(Ne(this,ad),Ne(this,ld),{uri:`/projects/${e}`})}}ad=new WeakMap,ld=new WeakMap;var cd,ud;class Sae{constructor(e,t){sn(this,cd);sn(this,ud);
4503tn(this,cd,e),tn(this,ud,t)}list(e){const t=(e==null?void 0:e.includeMembers)===!1?"/projects?includeMembers=false":"/projects";return Ui(Bo(Ne(this,cd),Ne(this,ud),{uri:t}))}getById(e){return Ui(Bo(Ne(this,cd),Ne(this,ud),{uri:`/projects/${e}`}))}}cd=new WeakMap,ud=new WeakMap;var mp,gp;class Eae{constructor(e,t){sn(this,mp);sn(this,gp);tn(this,mp,e),tn(this,gp,t)}getById(e){return Bo(Ne(this,mp),Ne(this,gp),{uri:`/users/${e}`})}}mp=new WeakMap,gp=new WeakMap;var Ap,vp;class Tae{constructor(e,t){sn(this,Ap);sn(this,vp);tn(this,Ap,e),tn(this,vp,t)}getById(e){return Ui(Bo(Ne(this,Ap),Ne(this,vp),{uri:`/users/${e}`}))}}Ap=new WeakMap,vp=new WeakMap;var Pa,Ei;const Zg=class Zg{constructor(e,t=I0){he(this,"assets");he(this,"datasets");he(this,"live");he(this,"projects");he(this,"users");sn(this,Pa);sn(this,Ei);he(this,"listen",WR);this.config(t),tn(this,Ei,e),this.assets=new fae(this,Ne(this,Ei)),this.datasets=new xae(this,Ne(this,Ei)),this.live=new jR(this),this.projects=new wae(this,Ne(this,Ei)),this.users=new Eae(this,Ne(this,Ei))}clone(){return new Zg(Ne(this,Ei),this.config())}config(e){if(e===void 0)return{...Ne(this,Pa)};if(Ne(this,Pa)&&Ne(this,Pa).allowReconfigure===!1)throw new Error("Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client");return tn(this,Pa,ER(e,Ne(this,Pa)||{})),this}withConfig(e){const t=this.config();return new Zg(Ne(this,Ei),{...t,...e,stega:{...t.stega||{},...typeof(e==null?void 0:e.stega)=="boolean"?{enabled:e.stega}:(e==null?void 0:e.stega)||{}}})}fetch(e,t,i){return LR(this,Ne(this,Ei),Ne(this,Pa).stega,e,t,i)}getDocument(e,t){return OR(this,Ne(this,Ei),e,t)}getDocuments(e,t){return FR(this,Ne(this,Ei),e,t)}create(e,t){return FA(this,Ne(this,Ei),e,"create",t)}createIfNotExists(e,t){return UR(this,Ne(this,Ei),e,t)}createOrReplace(e,t){return NR(this,Ne(this,Ei),e,t)}delete(e,t){return kR(this,Ne(this,Ei),e,t)}mutate(e,t){return zR(this,Ne(this,Ei),e,t)}patch(e,t){return new wu(e,t,this)}transaction(e){return new Kg(e,this)}action(e,t){return HR(this,Ne(this,Ei),e,t)}request(e){return Bo(this,Ne(this,Ei),e)}getUrl(e,t){return P4(this,e,t)}getDataUrl(e,t){return Fu(this,e,t)}};Pa=new WeakMap,Ei=new WeakMap;let Nb=Zg;var Ra,_i;const Jg=class Jg{constructor(e,t=I0){he(this,"assets");he(this,"datasets");he(this,"live");he(this,"projects");he(this,"users");he(this,"observable");sn(this,Ra);sn(this,_i);he(this,"listen",WR);this.config(t),tn(this,_i,e),this.assets=new dae(this,Ne(this,_i)),this.datasets=new Cae(this,Ne(this,_i)),this.live=new jR(this),this.projects=new Sae(this,Ne(this,_i)),this.users=new Tae(this,Ne(this,_i)),this.observable=new Nb(e,t)}clone(){return new Jg(Ne(this,_i),this.config())}config(e){if(e===void 0)return{...Ne(this,Ra)};if(Ne(this,Ra)&&Ne(this,Ra).allowReconfigure===!1)throw new Error("Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client");return this.observable&&this.observable.config(e),tn(this,Ra,ER(e,Ne(this,Ra)||{})),this}withConfig(e){const t=this.config();return new Jg(Ne(this,_i),{...t,...e,stega:{...t.stega||{},...typeof(e==null?void 0:e.stega)=="boolean"?{enabled:e.stega}:(e==null?void 0:e.stega)||{}}})}fetch(e,t,i){return Ui(LR(this,Ne(this,_i),Ne(this,Ra).stega,e,t,i))}getDocument(e,t){return Ui(OR(this,Ne(this,_i),e,t))}getDocuments(e,t){return Ui(FR(this,Ne(this,_i),e,t))}create(e,t){return Ui(FA(this,Ne(this,_i),e,"create",t))}createIfNotExists(e,t){return Ui(UR(this,Ne(this,_i),e,t))}createOrReplace(e,t){return Ui(NR(this,Ne(this,_i),e,t))}delete(e,t){return Ui(kR(this,Ne(this,_i),e,t))}mutate(e,t){return Ui(zR(this,Ne(this,_i),e,t))}patch(e,t){return new Hl(e,t,this)}transaction(e){return new $g(e,this)}action(e,t){return Ui(HR(this,Ne(this,_i),e,t))}request(e){return Ui(Bo(this,Ne(this,_i),e))}dataRequest(e,t,i){return Ui(qd(this,Ne(this,_i),e,t,i))}getUrl(e,t){return P4(this,e,t)}getDataUrl(e,t){return Fu(this,e,t)}};Ra=new WeakMap,_i=new WeakMap;let kb=Jg;function Mae(n,e){return{requester:hE(n),createClient:t=>{const i=hE(n);return new e((r,s)=>(s||i)({maxRedirects:0,maxRetries:t.maxRetries,retryDelay:t.retryDelay,...r}),t)}}}var Iae=[];
4503const Pae=Mae(Iae,kb),yE=Pae.createClient,_E=n=>{const e={...n};let t=yE(e);return{client:t,config:e,fetch:(...i)=>t.fetch(...i),setToken(i){e.token=i,t=yE(e)}}},Rae=(n="default")=>{var s;const e=Tn();if((s=e._sanity)!=null&&s[n])return e._sanity[n];e._sanity=e._sanity||{};const t=Bu(),{additionalClients:i={},...r}=t.public.sanity;return!r.disableSmartCdn&&e.$preview?r.useCdn=!1:!r.useCdn&&!r.token&&(r.useCdn=!0),n==="default"?(e._sanity.default=_E(r),e._sanity.default):(e._sanity[n]=_E(hA(i[n],r)),e._sanity[n])},qR=(n,e,t={})=>{const{client:i,...r}=t,s=Rae(i);return uY("sanity-"+BY(n+""),()=>s.fetch(n,{}),r)};function bE(n,e=document){return e.querySelector(n)}function zb(n,e=document){return Array.prototype.slice.call(e.querySelectorAll(n))}function Bae(n){const e=[4,16,64,256,1024,2048,4096,8192,16384,32768,65536,131072,262144],t=e.reduce((i,r)=>Math.abs(r-n)<Math.abs(i-n)?r:i);return t<n?Math.sqrt(e[e.indexOf(t)+1]):Math.sqrt(t)}function An(...n){const e=t=>t&&typeof t=="object";return n.reduce((t,i)=>(Object.keys(i).forEac
4503h(r=>{const s=t[r],o=i[r];Array.isArray(s)&&Array.isArray(o)?t[r]=s.concat(...o):e(s)&&e(o)&&r!=="value"?t[r]=An(s,o):t[r]=o}),t),{})}function jn(n){return n.replace(/#define\sGLSLIFY\s./,"")}const Dae={class:"fixed container flex justify-between max-w-full top-0 mt-12 md:pt-24 z-20 js-header"},Lae={class:"w-[18px] h-[14px] md:w-[18px] md:h-[14px]",viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Oae={class:"whitespace-nowrap text-18 sm:text-12 md:text-18 font-500 leading-1.2"},Fae={class:"sr-only"},Uae={"aria-hidden":"true",class:"mr-16 font-mono font-500 text-14 sm:text-10 md:text-14 leading-1 uppercase"},Nae={"aria-hidden":"true",class:"overflow-hidden js-to-split flex gap-4"},kae={class:"pt-32 md:pt-48 flex gap-x-24 sm:gap-x-16 md:gap-x-24"},zae=vs({__name:"Navigation",props:{footerLinks:{}},async setup(n){var w,E,F,L,z;let e,t;const{data:i}=([e,t]=f7(()=>qR(Kre)),e=await e,t(),e),r=gt(),s=gt(),o=gt(),a=gt(),l=gt(),c=gt(),u=gt(),f=gt();let h=null;const{scrollTo:p}=wA(),m=mA();let v=[],A=[];const y=[],x=[[((w=i.value)==null?void 0:w.computingTitle)||"Computation & Intelligence","computing"],[((E=i.value)==null?void 0:E.engineeringTitle)||"Engineering, Aerospace & Defense ","engineering"],[((F=i.value)==null?void 0:F.biologyTitle)||"Biology & Chemistry","biology"],[((L=i.value)==null?void 0:L.cryptoTitle)||"Crypto","crypto"],[((z=i.value)==null?void 0:z.teamTitle)||"Who We Are","team"]];ai(()=>m.path,()=>{var V;(V=f.value)==null||V.closeDisclosure()});const b=V=>V?(V.style.clipPath="inset(0 0 100% 100%)",new Promise(j=>{h||(h=vo.timeline({paused:!0,defaults:{ease:"joe.out",duration:.5}}).to([r.value,o.value],{opacity:0,duration:.2}).to(l.value,{rotate:45,transformOrigin:"center"},0).to(s.value,{rotate:-45,scaleX:.55,xPercent:-20,transformOrigin:"right"},0).to(a.value,{rotate:-45,scaleX:.55,xPercent:20},0)),u.value.classList.add("is-active");const N=vo.timeline({onComplete:j}).to(V,{clipPath:"inset(0 0 0 0)",modifiers:{clipPath:Q=>{const W=Q.match(/[\d.]+/g);return W?`inset(${W[0]}% ${W[1]}% ${W[2]}% ${W[3]}%)`:Q}},ease:"joe.out",duration:.4}).fromTo(".js-navborder",{xPercent:-50},{stagger:.03,xPercent:0,duration:.4,ease:"joe.out"},.1);y.forEach((Q,W)=>{N.from(Q.words,{yPercent:101,stagger:.04,duration:.5,ease:"joe.out"},W*.04)}),h.play()})):Promise.resolve(),_=V=>new Promise(j=>{h&&(u.value.classList.remove("is-active"),h.reverse(),vo.to(V,{clipPath:"inset(0 0 100% 100%)",modifiers:{clipPath:N=>{const Q=N.match(/[\d.]+/g);return Q?`inset(${Q[0]}% ${Q[1]}% ${Q[2]}% ${Q[3]}%)`:N}},ease:"joe.inOut",duration:.4}).then(()=>{j()}))}),T=async V=>{var j;m.path==="/"&&(p(`[data-section="${V}"]`,{duration:2,offset:S.window.h*.15}),(j=f.value)==null||j.closeDisclosure())},M=V=>{A.forEach((j,N)=>{N!==V&&j.classList.add("opacity-50")})},I=()=>{A.forEach(V=>{V.classList.remove("opacity-50")})},R=()=>{m.path==="/"&&p("top",{duration:2})};return zs(async()=>{await Ja(),v=zb(".js-to-split"),A=zb(".js-navlink"),v.forEach(V=>{y.push(new X0(V,{type:"words"}))})}),tl(()=>{y.forEach(V=>V.revert())}),(V,j)=>{const N=SI,Q=Nre,W=Hre;return di(),Na("div",Dae,[dn(N,{to:"/",onClick:R},{default:Ua(()=>[j[0]||(j[0]=ei("span",{class:"sr-only"},"Back to home page",-1)),dn(qt(Yre),{class:"w-[48px] h-[32px] sm:w-32 sm:h-24 md:w-[64px] md:h-[42px]"})]),_:1}),ei("nav",{ref_key:"nav",ref:u,class:"relative group"},[ei("button",{ref_key:"toggleButton",ref:c,class:"relative z-10 bg-white w-[40px] h-[40px] sm:w-[48px] sm:h-[48px] flex items-center justify-center text-black transition-colors duration-300 hover:text-white hover:bg-hover group-[.is-active]:bg-white group-[.is-active]:text-black"},[j[1]||(j[1]=ei("span",{class:"sr-only"},"Site navigation",-1)),(di(),Na("svg",Lae,[ei("path",{ref_key:"center",ref:l,d:"M1 7H17",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512),ei("path",{ref_key:"topRight",ref:s,d:"M7 1L17 1",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512),ei("path",{ref_key:"topLeft",ref:r,d:"M1 1H3",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512),ei("path",{ref_key:"bottomRight",ref:o,d:"M15 13L17 13",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"}
4503,null,512),ei("path",{ref_key:"bottomLeft",ref:a,d:"M1 13L11 13",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512)]))],512),dn(W,{ref_key:"disclosure",ref:f,"button-ref":qt(c),"is-dropdown":!0,class:"dropdown | bg-hover group-[.is-active]:bg-white transition-colors duration-300 absolute right-0 top-0 px-12 pb-16 md:p-24 pt-60 sm:pt-40 md:pt-60","handle-open":b,"handle-close":_},{default:Ua(()=>[ei("ul",Oae,[(di(),Na(Ii,null,V5(x,(ee,H)=>ei("li",{key:H,class:"py-10 sm:py-6 md:py-10 sm:pr-12 md:pr-60 relative overflow-hidden"},[dn(N,{href:`/#section-${H}`,class:bp(["group/li inline-flex items-baseline transition-opacity duration-300 ease-joe.inOut","js-navlink",`gradient-${ee[1]}`]),onClick:ye=>T(H),onMouseover:ye=>M(H),onMouseleave:I},{default:Ua(()=>[ei("span",Fae,Pf(ee[0]),1),ei("span",Uae,"0"+Pf(H+1),1),ei("span",Nae,Pf(ee[0].replace(" "," ")),1),j[2]||(j[2]=ei("div",{class:"absolute w-full border-b bottom-0 left-0 border-black/10 js-navborder"},null,-1)),j[3]||(j[3]=ei("div",{class:"group-hover/li:translate-x-0 | absolute w-full bottom-0 left-0 -translate-x-[101%] h-[1px] transform-translate duration-300 ease-joe.inOut overflow-hidden"},[ei("div",{class:"group-hover/li:translate-x-0 | dropdown__line | translate-x-[101%] transform-translate duration-300 ease-joe.inOut h-[1px]"})],-1))]),_:2},1032,["href","class","onClick","onMouseover"])])),64))]),ei("div",kae,[(di(!0),Na(Ii,null,V5(V.footerLinks,(ee,H)=>(di(),Ks(Q,{key:H,href:ee.url,class:"font-mono text-14 sm:text-10 md:text-14 font-500 leading-1 uppercase","aria-label":ee.title},{default:Ua(()=>[ox(Pf(ee.title),1)]),_:2},1032,["href","aria-label"]))),128))])]),_:1},8,["button-ref"])],512)])}}}),Hae=A4(zae,[["__scopeId","data-v-9fe13e67"]]),Vae=vs({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(n){const e=n.renderKey,t=n.route,i={};for(const r in n.route)Object.defineProperty(i,r,{get:()=>e===n.renderKey?n.route[r]:t[r],enumerable:!0});return Va(pA,Fa(i)),()=>Mr(n.vnode,{ref:n.vnodeRef})}}),Gae=vs({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(n,{attrs:e,slots:t,expose:i}){const r=Tn(),s=gt(),o=es(pA,null);let a;i({pageRef:s});const l=es(eQ,null);let c;const u=r.deferHydration();if(r.isHydrating){const h=r.hooks.hookOnce("app:error",u);As().beforeEach(h)}n.pageKey&&ai(()=>n.pageKey,(h,p)=>{h!==p&&r.callHook("page:loading:start")});let f=!1;return()=>Mr(VT,{name:n.name,route:n.route,...e},{default:h=>{const p=Wae(o,h.route,h.Component),m=o&&o.matched.length===h.route.matched.length;if(!h.Component){if(c&&!m)return c;u();return}if(c&&l&&!l.isCurrent(h.route))return c;if(p&&o&&(!l||l!=null&&l.isCurrent(o)))return m?c:null;const v=v_(h,n.pageKey);!r.isHydrating&&!jae(o,h.route,h.Component)&&a===v&&(r.callHook("page:loading:end"),f=!0),a=v;const A=!!(n.transition??h.route.meta.pageTransition??r_),y=A&&Qae([n.transition,h.route.meta.pageTransition,r_,{onAfterLeave:()=>{r.callHook("page:transition:finish",h.Component)}}].filter(Boolean)),x=n.keepalive??h.route.meta.keepalive??UG;return c=_j(A&&y,yj(x,Mr(R7,{suspensible:!0,onPending:()=>r.callHook("page:start",h.Component),onResolve:()=>{Ja(()=>r.callHook("page:finish",h.Component).then(()=>{if(!f)return r.callHook("page:loading:end");f=!1}).finally(u))}},{default:()=>{const b=Mr(Vae,{key:v||void 0,vnode:t.default?Mr(Ii,void 0,t.default(h)):h.Component,route:h.route,renderKey:v||void 0,trackRootNodes:A,vnodeRef:s});return x&&(b.type.name=h.Component.type.name||h.Component.type.__name||"RouteProvider"),b}}))).default(),c}})}});function Qae(n){const e=n.map(t=>({...t,onAfterLeave:t.onAfterLeave?mx(t.onAfterLeave):void 0}));return hA(...e)}function Wae(n,e,t){if(!n)return!1;const i=e.matched.findIndex(r=>{var s;return((s=r.components)==null?void 0:s.default)===(t==null?void 0:t.type)});return!i||i===-1?!1:e.matched.slice(0,i).some((r,s)=>{var o,a,l;return((o=r.components)==null?void 0:o.default)!==((l=(a=n.matched[s])==null?void 0:a.components)==null?void 0:l.default)})||t&&v_({route:e,Component:t})!==v_({route:n,Component:t})}function jae(n,e,t){return n?e.matched.findIndex(r=>{var s;return((s=r.components)==null?void 0:s.default)===(t==null?void 0:t.type)})<e.matched.length-1:!1}var qae="1.2.3";function XR(n,e,t){return Math.max(n,Math.min(e,t))}function Xae(n,e,t){return(1-t)*n+t*e}function Yae(n,e,t,i){return Xae(n,e,1-Math.exp(-t*i))}function $ae(n,e){return(n%e+e)%e}var Kae=class{constructor(){he(this,"isRunning",!1);he(this,"value",0);he(this,"from",0);he(this,"to",0);he(this,"currentTime",0);he(this,"lerp");he(this,"duration");he(this,"easing");he(this,"onUpdate")}advance(n){var t;if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){this.currentTime+=n;const i=XR(0,this.currentTime/this.duration,1);e=i>=1;const r=e?1:this.easing(i);this.value=this.from+(this.to-this.from)*r}else this.lerp?(this.value=Yae(this.value,this.to,this.lerp*60,n),Math.round(this.value)===this.to&&(this.value=this.to,e=!0)):(this.value=this.to,e=!0);e&&this.stop(),(t=this.onUpdate)==null||t.call(this,this.value,e)}stop(){this.isRunning=!1}fromTo(n,e,{lerp:t,duration:i,easing:r,onStart:s,onUpdate:o}){this.from=this.value=n,this.to=e,this.lerp=t,this.duration=i,this.easing=r,this.currentTime=0,this.isRunning=!0,s==null||s(),this.onUpdate=o}};function Zae(n,e){let t;return function(...i){let r=this;clearTimeout(t),t=setTimeout(()=>{t=void 0,n.apply(r,i)},e)}}var Jae=class{constructor(n,e,{autoResize:t=!0,debounce:i=250}={}){he(this,"width",0);he(this,"height",0);he(this,"scrollHeight",0);he(this,"scrollWidth",0);he(this,"debouncedResize");he(this,"wrapperResizeObserver");he(this,"contentResizeObserver");he(this,"resize",()=>{this.onWrapperResize(),this.onContentResize()});he(this,"onWrapperResize",()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)});he(this,"onContentResize",()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)});this.wrapper=n,this.content=e,t&&(this.debouncedResize=Zae(this.resize,i),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){var n,e;(n=this.wrapperResizeObserver)==null||n.disconnect(),(e=this.contentResizeObserver)==null||e.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize,!1)}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},YR=class{constructor(){he(this,"events",{})}emit(n,...e){var i;let t=this.events[n]||[];for(let r=0,s=t.length;r<s;r++)(i=t[r])==null||i.call(t,...e)}on(n,e){var t;return(t=this.events[n])!=null&&t.push(e)||(this.events[n]=[e]),()=>{var i;this.events[n]=(i=this.events[n])==null?void 0:i.filter(r=>e!==r)}}off(n,e){var t;this.events[n]=(t=this.events[n])==null?void 0:t.filter(i=>e!==i)}destroy(){this.events={}}},xE=100/6,Al={passive:!1},ele=class{constructor(n,e={wheelMultiplier:1,touchMultiplier:1}){he(this,"touchStart",{x:0,y:0});he(this,"lastDelta",{x:0,y:0});he(this,"window",{width:0,height:0});he(this,"emitter",new YR);he(this,"onTouchStart",n=>{const{clientX:e,clientY:t}=n.targetTouches?n.targetTouches[0]:n;this.touchStart.x=e,this.touchStart.y=t,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:n})});he(this,"onTouchMove",n=>{const{clientX:e,clientY:t}=n.targetTouches?n.targetTouches[0]:n,i=-(e-this.touchStart.x)*this.options.touchMultiplier,r=-(t-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=e,this.touchStart.y=t,this.lastDelta={x:i,y:r},this.emitter.emit("scroll",{deltaX:i,deltaY:r,event:n})});he(this,"onTouchEnd",n=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:n})});he(this,"onWheel",n=>{let{deltaX:e,deltaY:t,deltaMode:i}=n;const r=i===1?xE:i===2?this.window.width:1,s=i===1?xE:i===2?this.window.height:1;e*=r,t*=s,e*=this.options.wheelMultiplier,t*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:e,deltaY:t,event:n})});he(this,"onWindowResize",()=>{this.window={width:window.innerWidth,height:window.innerHeight}});this.element=n,this.options=e,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,Al),this.element.addEventListener("touchstart",this.onTouchStart,Al),this.element.addEventListener("touchmove",this.onTouchMove,Al),this.element.addEventListener("touchend",this.onTouchEnd,Al)}on(n,e){return this.emitter.on(n,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,Al),this.element.removeEventListener("touchstart",this.onTouchStart,Al),this.element.removeEventListener("touchmove",this.onTouchMove,Al),this.element.removeEventListener("touchend",this.onTouchEnd,Al)}},tle=class{constructor({wrapper:n=window,content:e=document.documentElement,eventsTarget:t=n,smoothWheel:i=!0,syncTouch:r=!1,syncTouchLerp:s=.075,touchInertiaMultiplier:o=35,duration:a,easing:l=M=>
4503Math.min(1,1.001-Math.pow(2,-10*M)),lerp:c=.1,infinite:u=!1,orientation:f="vertical",gestureOrientation:h="vertical",touchMultiplier:p=1,wheelMultiplier:m=1,autoResize:v=!0,prevent:A,virtualScroll:y,overscroll:x=!0,autoRaf:b=!1,anchors:_=!1,__experimental__naiveDimensions:T=!1}={}){he(this,"_isScrolling",!1);he(this,"_isStopped",!1);he(this,"_isLocked",!1);he(this,"_preventNextNativeScrollEvent",!1);he(this,"_resetVelocityTimeout",null);he(this,"__rafID",null);he(this,"isTouching");he(this,"time",0);he(this,"userData",{});he(this,"lastVelocity",0);he(this,"velocity",0);he(this,"direction",0);he(this,"options");he(this,"targetScroll");he(this,"animatedScroll");he(this,"animate",new Kae);he(this,"emitter",new YR);he(this,"dimensions");he(this,"virtualScroll");he(this,"onScrollEnd",n=>{n instanceof CustomEvent||(this.isScrolling==="smooth"||this.isScrolling===!1)&&n.stopPropagation()});he(this,"dispatchScrollendEvent",()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))});he(this,"onClick",n=>{const t=n.composedPath().find(i=>{var r,s,o;return i instanceof HTMLAnchorElement&&(((r=i.getAttribute("href"))==null?void 0:r.startsWith("#"))||((s=i.getAttribute("href"))==null?void 0:s.startsWith("/#"))||((o=i.getAttribute("href"))==null?void 0:o.startsWith("./#")))});if(t){const i=t.getAttribute("href");if(i){const r=typeof this.options.anchors=="object"&&this.options.anchors?this.options.anchors:void 0;this.scrollTo(`#${i.split("#")[1]}`,r)}}});he(this,"onPointerDown",n=>{n.button===1&&this.reset()});he(this,"onVirtualScroll",n=>{if(typeof this.options.virtualScroll=="function"&&this.options.virtualScroll(n)===!1)return;const{deltaX:e,deltaY:t,event:i}=n;if(this.emitter.emit("virtual-scroll",{deltaX:e,deltaY:t,event:i}),i.ctrlKey||i.lenisStopPropagation)return;const r=i.type.includes("touch"),s=i.type.includes("wheel");this.isTouching=i.type==="touchstart"||i.type==="touchmove";const o=e===0&&t===0;if(this.options.syncTouch&&r&&i.type==="touchstart"&&o&&!this.isStopped&&!this.isLocked){this.reset();return}const l=this.options.gestureOrientation==="vertical"&&t===0||this.options.gestureOrientation==="horizontal"&&e===0;if(o||l)return;let c=i.composedPath();c=c.slice(0,c.indexOf(this.rootElement));const u=this.options.prevent;if(c.find(A=>{var y,x,b;return A instanceof HTMLElement&&(typeof u=="function"&&(u==null?void 0:u(A))||((y=A.hasAttribute)==null?void 0:y.call(A,"data-lenis-prevent"))||r&&((x=A.hasAttribute)==null?void 0:x.call(A,"data-lenis-prevent-touch"))||s&&((b=A.hasAttribute)==null?void 0:b.call(A,"data-lenis-prevent-wheel")))}))return;if(this.isStopped||this.isLocked){i.preventDefault();return}if(!(this.options.syncTouch&&r||this.options.smoothWheel&&s)){this.isScrolling="native",this.animate.stop(),i.lenisStopPropagation=!0;return}let h=t;this.options.gestureOrientation==="both"?h=Math.abs(t)>Math.abs(e)?t:e:this.options.gestureOrientation==="horizontal"&&(h=e),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&(this.animatedScroll>0&&this.animatedScroll<this.limit||this.animatedScroll===0&&t>0||this.animatedScroll===this.limit&&t<0))&&(i.lenisStopPropagation=!0),i.preventDefault();const p=r&&this.options.syncTouch,v=r&&i.type==="touchend"&&Math.abs(h)>5;v&&(h=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+h,{programmatic:!1,...p?{lerp:v?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})});he(this,"onNativeScroll",()=>{if(this._resetVelocityTimeout!==null&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(this.isScrolling===!1||this.isScrolling==="native"){const n=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-n,this.direction=Math.sign(this.animatedScroll-n),this.isStopped||(this.isScrolling="native"),this.emit
4503(),this.velocity!==0&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}});he(this,"raf",n=>{const e=n-(this.time||n);this.time=n,this.animate.advance(e*.001),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))});window.lenisVersion=qae,(!n||n===document.documentElement)&&(n=window),this.options={wrapper:n,content:e,eventsTarget:t,smoothWheel:i,syncTouch:r,syncTouchLerp:s,touchInertiaMultiplier:o,duration:a,easing:l,lerp:c,infinite:u,gestureOrientation:h,orientation:f,touchMultiplier:p,wheelMultiplier:m,autoResize:v,prevent:A,virtualScroll:y,overscroll:x,autoRaf:b,anchors:_,__experimental__naiveDimensions:T},this.dimensions=new Jae(n,e,{autoResize:v}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.addEventListener("click",this.onClick,!1),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll=new ele(t,{touchMultiplier:p,wheelMultiplier:m}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown,!1),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.removeEventListener("click",this.onClick,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this.__rafID&&cancelAnimationFrame(this.__rafID)}on(n,e){return this.emitter.on(n,e)}off(n,e){return this.emitter.off(n,e)}setScroll(n){this.isHorizontal?this.options.wrapper.scrollTo({left:n,behavior:"instant"}):this.options.wrapper.scrollTo({top:n,behavior:"instant"})}resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit()}emit(){this.emitter.emit("scroll",this)}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.reset(),this.isStopped=!1)}stop(){this.isStopped||(this.reset(),this.isStopped=!0)}scrollTo(n,{offset:e=0,immediate:t=!1,lock:i=!1,duration:r=this.options.duration,easing:s=this.options.easing,lerp:o=this.options.lerp,onStart:a,onComplete:l,force:c=!1,programmatic:u=!0,userData:f}={}){if(!((this.isStopped||this.isLocked)&&!c)){if(typeof n=="string"&&["top","left","start"].includes(n))n=0;else if(typeof n=="string"&&["bottom","right","end"].includes(n))n=this.limit;else{let h;if(typeof n=="string"?h=document.querySelector(n):n instanceof HTMLElement&&(n!=null&&n.nodeType)&&(h=n),h){if(this.options.wrapper!==window){const m=this.rootElement.getBoundingClientRect();e-=this.isHorizontal?m.left:m.top}const p=h.getBoundingClientRect();n=(this.isHorizontal?p.left:p.top)+this.animatedScroll}}if(typeof n=="number"){if(n+=e,n=Math.round(n),this.options.infinite?u&&(this.targetScroll=this.animatedScroll=this.scroll):n=XR(0,n,this.limit),n===this.targetScroll){a==null||a(this),l==null||l(this);return}if(this.userData=f??{},t){this.animatedScroll=this.targetScroll=n,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),l==null||l(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}u||(this.targetScroll=n),this.animate.fromTo(this.animatedScroll,n,{duration:r,easing:s,lerp:o,onStart:()=>{i&&(this.isLocked=!0),this.isScrolling="smooth",a==null||a(this)},onUpdate:(h,p)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=h-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=h,this.setScroll(this.scroll),u&&(this.targetScroll=h),p||this.emit
4503(),p&&(this.reset(),this.emit(),l==null||l(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return this.options.orientation==="horizontal"}get actualScroll(){const n=this.options.wrapper;return this.isHorizontal?n.scrollX??n.scrollLeft:n.scrollY??n.scrollTop}get scroll(){return this.options.infinite?$ae(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return this.limit===0?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(n){this._isScrolling!==n&&(this._isScrolling=n,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(n){this._isStopped!==n&&(this._isStopped=n,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(n){this._isLocked!==n&&(this._isLocked=n,this.updateClassName())}get isSmooth(){return this.isScrolling==="smooth"}get className(){let n="lenis";return this.isStopped&&(n+=" lenis-stopped"),this.isLocked&&(n+=" lenis-locked"),this.isScrolling&&(n+=" lenis-scrolling"),this.isScrolling==="smooth"&&(n+=" lenis-smooth"),n}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\w+)?/g,"").trim()}},CE=ds(),wE=ds(),SE=ds(),nle=Symbol("LenisContext"),ile=Symbol("AddCallback"),rle=Symbol("RemoveCallback"),sle=vs({name:"VueLenis",props:{root:{type:Boolean,default:!1},autoRaf:{type:Boolean,default:!0},options:{type:Object,default:()=>({})},props:{type:Object,default:()=>({})}},setup(n,{slots:e,expose:t}){const i=ds(),r=gt(),s=gt();t({lenis:i,wrapper:r,content:s}),ai([()=>n.options,r,s],()=>{var f;typeof window<"u"&&(!n.root&&(!r.value||!s.value)||(i.value=new tle({...n.options,...n.root?{}:{wrapper:r.value,content:s.value},autoRaf:((f=n.options)==null?void 0:f.autoRaf)??n.autoRaf}),Hy(()=>{var h;(h=i.value)==null||h.destroy(),i.value=void 0})))},{deep:!0,immediate:!0});const o=so([]);function a(u,f){o.push({callback:u,priority:f}),o.sort((h,p)=>h.priority-p.priority)}function l(u){o.splice(o.findIndex(f=>f.callback===u),1)}const c=u=>{var f;for(let h=0;h<o.length;h++)(f=o[h])==null||f.callback(u)};return ai([i,()=>n.root],([u,f])=>{u==null||u.on("scroll",c),f&&(CE.value=u,wE.value=a,SE.value=l,Hy(()=>{CE.value=void 0,wE.value=void 0,SE.value=void 0}))},{immediate:!0}),n.root||(Va(nle,i),Va(ile,a),Va(rle,l)),()=>{var u,f;return n.root?(u=e.default)==null?void 0:u.call(e):Mr("div",{ref:r,...n==null?void 0:n.props},[Mr("div",{ref:s},(f=e.default)==null?void 0:f.call(e))])}}});const ole={__name:"SmoothScroll",setup(n){const e=gt();return aA(()=>{var t,i;if((t=e.value)!=null&&t.lenis){const{setLenisInstance:r}=wA();r((i=e.value)==null?void 0:i.lenis)}}),(t,i)=>(di(),Ks(qt(sle),{ref_key:"lenisRef",ref:e,"auto-raf":!1,options:{lerp:.05}},{default:Ua(()=>[ix(t.$slots,"default")]),_:3},512))}};function ale(){return S}class $R{constructor(e,t,i){this.id=0,this.name=e,this.fg=t,this.bg=i,this.gradient=null,this.PR=Math.round(window.devicePixelRatio||1),this.WIDTH=90*this.PR,this.HEIGHT=48*this.PR,this.TEXT_X=3*this.PR,this.TEXT_Y=2*this.PR,this.GRAPH_X=3*this.PR,this.GRAPH_Y=15*this.PR,this.GRAPH_WIDTH=84*this.PR,this.GRAPH_HEIGHT=30*this.PR,this.canvas=document.createElement("canvas"),this.canvas.width=this.WIDTH,this.canvas.height=this.HEIGHT,this.canvas.style.width="90px",this.canvas.style.height="48px",this.canvas.style.position="absolute",this.canvas.style.cssText="width:90px;height:48px;background-color: transparent !important;",this.context=this.canvas.getContext("2d"),this.initializeCanvas()}createGradient(){if(!this.context)throw new Error("No context");const e=this.context.createLinearGradient(0,this.GRAPH_Y,0,this.GRAPH_Y+this.GRAPH_HEIGHT);let t;const i=this.fg;switch(this.fg.toLowerCase()){case"#0ff":t="#006666";break;case"#0f0":t="#006600";break;case"#ff0":t="#666600";break;case"#e1e1e1":t="#666666";break;default:t=this.bg;break}return e.addColorStop(0,t),e.addColorStop(1,i),e}
vendor: 4,320 bytes, lines 4503-4511
4503initializeCanvas(){this.context&&(this.context.imageSmoothingEnabled=!1,this.context.font="bold "+9*this.PR+"px Helvetica,Arial,sans-serif",this.context.textBaseline="top",this.gradient=this.createGradient(),this.context.fillStyle=this.bg,this.context.fillRect(0,0,this.WIDTH,this.HEIGHT),this.context.fillStyle=this.fg,this.context.fillText(this.name,this.TEXT_X,this.TEXT_Y),this.context.fillStyle=this.bg,this.context.globalAlpha=.9,this.context.fillRect(this.GRAPH_X,this.GRAPH_Y,this.GRAPH_WIDTH,this.GRAPH_HEIGHT))}update(e,t,i=0){if(!this.context||!this.gradient)return;const r=Math.min(1/0,e),s=Math.max(t,e);this.context.globalAlpha=1,this.context.fillStyle=this.bg,this.context.fillRect(0,0,this.WIDTH,this.GRAPH_Y),this.context.fillStyle=this.fg,this.context.fillText(`${e.toFixed(i)} ${this.name} (${r.toFixed(i)}-${parseFloat(s.toFixed(i))})`,this.TEXT_X,this.TEXT_Y)}updateGraph(e,t){if(!this.context||!this.gradient)return;e===0&&t===0&&(t=1),t=Math.max(t,e,.1),e=Math.max(e,0);const i=Math.round(this.GRAPH_X),r=Math.round(this.GRAPH_Y),s=Math.round(this.GRAPH_WIDTH),o=Math.round(this.GRAPH_HEIGHT),a=Math.round(this.PR);this.context.drawImage(this.canvas,i+a,r,s-a,o,i,r,s-a,o),this.context.fillStyle=this.bg,this.context.fillRect(i+s-a,r,a,o);const l=Math.min(o,Math.round(e/t*o));l>0&&(this.context.globalAlpha=.9,this.context.fillStyle=this.gradient,this.context.fillRect(i+s-a,r+(o-l),a,l)),this.context.globalAlpha=1}}class lle extends $R{constructor(e,t,i){super(e,t,i),this.vsyncValue=0,this.SMALL_HEIGHT=9*this.PR,this.HEIGHT=this.SMALL_HEIGHT,this.WIDTH=35*this.PR,this.TEXT_Y=0*this.PR,this.canvas.height=this.HEIGHT,this.canvas.width=this.WIDTH,this.canvas.style.height="9px",this.canvas.style.width="35px",this.canvas.style.cssText=` 4504 width: 35px; 4505 height: 9px; 4506 position: absolute; 4507 top: 0; 4508 left: 0; 4509 background-color: transparent !important; 4510 pointer-events: none; 4511 `,this.initializeCanvas()}initializeCanvas(){this.context&&(this.context.imageSmoothingEnabled=!1,this.context.font="bold "+9*this.PR+"px Helvetica,Arial,sans-serif",this.context.textBaseline="top",this.context.globalAlpha=1)}update(e,t,i=0){this.context&&(this.vsyncValue=e,this.context.clearRect(0,0,this.WIDTH,this.HEIGHT),this.context.globalAlpha=1,this.context.fillStyle=this.bg,this.context.fillText(`${e.toFixed(0)}Hz`,this.TEXT_X,this.TEXT_Y))}updateGraph(e,t){}setOffset(e,t){this.canvas.style.transform=`translate(${e}px, ${t}px)`}}const KR=class If{constructor({trackGPU:e=!1,trackCPT:t=!1,trackHz:i=!1,logsPerSecond:r=4,graphsPerSecond:s=30,samplesLog:o=40,samplesGraph:a=10,precision:l=2,minimal:c=!1,horizontal:u=!0,mode:f=0}={}){this.gl=null,this.ext=null,this.activeQuery=null,this.gpuQueries=[],this.threeRendererPatched=!1,this.frameTimes=[],this.renderCount=0,this.totalCpuDuration=0,this.totalGpuDuration=0,this.totalGpuDurationCompute=0,this.gpuPanel=null,this.gpuPanelCompute=null,this.vsyncPanel=null,this.averageFps={logs:[],graph:[]},this.averageCpu={logs:[],graph:[]},this.averageGpu={logs:[],graph:[]},this.averageGpuCompute={logs:[],graph:[]},this.updateCounter=0,this.lastMin={},this.lastMax={},this.lastValue={},this.VSYNC_RATES=[{refreshRate:60,frameTime:16.67},{refreshRate:75,frameTime:13.33},{refreshRate:90,frameTime:11.11},{refreshRate:120,frameTime:8.33},{refreshRate:144,frameTime:6.94},{refreshRate:165,frameTime:6.06},{refreshRate:240,frameTime:4.17}],this.detectedVSync=null,this.frameTimeHistory=[],this.HISTORY_SIZE=120,this.VSYNC_THRESHOLD=.05,this.lastFrameTime=0,this.handleClick=p=>{p.preventDefault(),this.showPanel(++this.mode%this.dom.children.length)},this.handleResize=()=>{this.resizePanel(this.fpsPanel),this.resizePanel(this.msPanel),this.gpuPanel&&this.resizePanel(this.gpuPanel),this.gpuPanelCompute&&this.resizePanel(this.gpuPanelCompute)},this.mode=f,this.horizontal=u,this.minimal=c,this.trackGPU=e,this.trackCPT=t,this.trackHz=i,this.samplesLog=o,this.samplesGraph=a,this.precision=l,this.logsPerSecond=r,this.graphsPerSecond=s;const h=performance.now();this.prevGraphTime=h,this.dom=document.createElement("div"),this.initializeDOM(),this.beginTime=performance.now(),this.prevTextTime=this.beginTime,this.prevCpuTime=this.beginTime,this._panelId=0,this.fpsPanel=this.addPanel
4511(new If.Panel("FPS","#0ff","#002")),this.msPanel=this.addPanel(new If.Panel("CPU","#0f0","#020")),this.trackHz===!0&&(this.vsyncPanel=new lle("","#f0f","#202"),this.dom.appendChild(this.vsyncPanel.canvas),this.vsyncPanel.setOffset(56,35)),this.setupEventListeners()}initializeDOM(){this.dom.style.cssText=` 4512 position: fixed; 4513 top: 0; 4514 left: 0; 4515 opacity: 0.9; 4516 z-index: 10000; 4517 ${this.minimal?"cursor: pointer;":""} 4518 `}setupEventListeners(){this.minimal?(this.dom.addEventListener("click",this.handleClick),this.showPanel(this.mode)):window.addEventListener("resize",this.handleResize)}async init(e){if(!e){console.error('Stats: The "canvas" parameter is undefined.');return}if(!this.handleThreeRenderer(e)&&!await this.handleWebGPURenderer(e))if(this.initializeWebGL(e)){this.trackGPU&&this.initializeGPUTracking();return}else console.error("Stats-gl: Failed to initialize WebGL context")}handleThreeRenderer(e){return e.isWebGLRenderer&&!this.threeRendererPatched?(this.patchThreeRenderer(e),this.gl=e.getContext(),this.trackGPU&&this.initializeGPUTracking(),!0):!1}async handleWebGPURenderer(e){return e.isWebGPURenderer?((this.trackGPU||this.trackCPT)&&(e.backend.trackTimestamp=!0,await e.hasFeatureAsync("timestamp-query")&&this.initializeWebGPUPanels()),this.info=e.info,this.patchThreeWebGPU(e),!0):!1}initializeWebGPUPanels(){this.trackGPU&&(this.gpuPanel=this.addPanel(new If.Panel("GPU","#ff0","#220"))),this.trackCPT&&(this.gpuPanelCompute=this.addPanel(new If.Panel("CPT","#e1e1e1","#212121")))}initializeWebGL(e){if(e instanceof WebGL2RenderingContext)this.gl=e;else if(e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas){if(this.gl=e.getContext("webgl2"),!this.gl)return console.error("Stats: Unable to obtain WebGL2 context."),!1}else return console.error("Stats: Invalid input type. Expected WebGL2RenderingContext, HTMLCanvasElement, or OffscreenCanvas."),!1;return!0}initializeGPUTracking(){this.gl&&(this.ext=this.gl.getExtension("EXT_disjoint_timer_query_webgl2"),this.ext&&(this.gpuPanel=this.addPanel(new If.Panel("GPU","#ff0","#220"))))}begin(){this.beginProfiling("cpu-started"),!(!this.gl||!this.ext)&&(this.activeQuery&&this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.activeQuery=this.gl.createQuery(),this.activeQuery&&this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,this.activeQuery))}end(){this.renderCount++,this.gl&&this.ext&&this.activeQuery&&(this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.gpuQueries.push({query:this.activeQuery}),this.activeQuery=null),this.endProfiling("cpu-started","cpu-finished","cpu-duration")}update(){this.endProfiling("cpu-started","cpu-finished","cpu-duration"),this.info?this.processWebGPUTimestamps():this.processGpuQueries(),this.updateAverages(),this.resetCounters()}processWebGPUTimestamps(){this.totalGpuDuration=this.info.render.timestamp,this.totalGpuDurationCompute=this.info.compute.timestamp}resetCounters(){this.renderCount=0,this.totalCpuDuration=0,this.beginTime=this.endInternal()}resizePanel(e){e.canvas.style.position="absolute",this.minimal?e.canvas.style.display="none":(e.canvas.style.display="block",this.horizontal?(e.canvas.style.top="0px",e.canvas.style.left=e.id*e.WIDTH/e.PR+"px"):(e.canvas.style.left="0px",e.canvas.style.top=e.id*e.HEIGHT/e.PR+"px"))}addPanel(e){return e.canvas&&(this.dom.appendChild(e.canvas),e.id=this._panelId,this.resizePanel(e),this._panelId++),e}showPanel(e){for(let t=0;t<this.dom.children.length;t++){const i=this.dom.children[t];i.style.display=t===e?"block":"none"}this.mode=e}processGpuQueries(){!this.gl||!this.ext||(this.totalGpuDuration=0,this.gpuQueries.forEach((e,t)=>{if(this.gl){const i=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT_AVAILABLE),r=this.gl.getParameter(this.ext.GPU_DISJOINT_EXT);if(i&&!r){const o=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT)*1e-6;this.totalGpuDuration+=o,this.gl.deleteQuery(e.query),this.gpuQueries.splice(t,1)}}}))}detectVSync(e){if(this.lastFrameTime===0){this.lastFrameTime=e;return}const t=e-this.lastFrameTime;if(this.lastFrameTime=e,this.frameTimeHistory.push(t),this.frameTimeHistory.length>this.HISTORY_SIZE&&this.frameTimeHistory.shift(),this.frameTimeHistory.length<60)return;const i=this.frameTimeHistory.reduce((l,c)=>l+c)/this.frameTimeHistory.length,r=this.frameTimeHistory.reduce((l,c)=>l+Math.pow(c-i,2),0)/this.frameTimeHistory.length;if(Math.sqrt(r)>2){this.detectedVSync=null;return}let o=null,a=1/0;for(const l of this.VSYNC_RATES){const c=Math.abs(i-l.frameTime);c<a&&(a=c,o=l)}o&&a/o.frameTime<=this.VSYNC_THRESHOLD?this.detectedVSync=o:this.detectedVSync=null}endInternal(){var e;const t=performance.now();for(this.frameTimes.push(t);this.frameTimes.length>0&&this.frameTimes[0]<=t-1e3;)this.frameTimes.shift();const i=Math.round(this.frameTimes.length);this.addToAverage(i,this.averageFps);const r=t>=this.prevTextTime+1e3/this.logsPerSecond,s=t>=this.prevGraphTime+1e3/this.graphsPerSecond;if(this.updatePanelComponents(this.fpsPanel,this.averageFps,0,r,s),this.updatePanelComponents(this.msPanel,this.averageCpu,this.precision,r,s),this.gpuPanel&&this.updatePanelComponents(this.gpuPanel,this.averageGpu,this.precision,r,s),this.trackCPT&&this.gpuPanelCompute&&this.updatePanelComponents(this.gpuPanelCompute,this.averageGpuCompute,this.precision,r,s),r&&(this.prevTextTime=t),s&&(this.prevGraphTime=t),this.vsyncPanel!==null){this.detectVSync(t);const o=((e=this.detectedVSync)==null?void 0:e.refreshRate)||0;r&&o>0&&this.vsyncPanel.update(o,o)}return t}updatePanelComponents(e,t,i,r,s){if(!e||t.logs.length===0)return;e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const o=t.logs[t.logs.length-1];this.lastMax[e.name]=Math.max(...t.logs),this.lastMin[e.name]=Math.min(this.lastMin[e.name],o),this.lastValue[e.name]=this.lastValue[e.name]*.7+o*.3;const a=Math.max(Math.max(...t.logs),...t.graph.slice(-this.samplesGraph));this.updateCounter++,r&&e.update(this.lastValue[e.name],this.lastMax[e.name],i),s&&e.updateGraph(o,a)}beginProfiling(e){if(window.performance)try{window.performance.clearMarks(e),window.performance.mark(e)}catch(t){console.debug("Stats: Performance marking failed:",t)}}endProfiling(e,t,i){if(!(!window.performance||!t||!e))try{window.performance.getEntriesByName(e,"mark").length===0&&this.beginProfiling(e),window.performance.clearMarks(t),window.performance.mark(t),window.performance.clearMeasures(i);const s=performance.measure(i,e,t);this.totalCpuDuration+=s.duration,window.performance.clearMarks(e),window.performance.clearMarks(t),window.performance.clearMeasures(i)}catch(r){console.debug("Stats: Performance measurement failed:",r)}}updatePanel(e,t,i=2){if(!e||t.logs.length===0)return;const r=performance.now();e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const s=t.logs[t.logs.length-1],o=Math.max(...t.logs.slice(-30));this.lastMin[e.name]=Math.min(this.lastMin[e.name],s),this.lastMax[e.name]=Math.max(this.lastMax[e.name],s),this.lastValue[e.name]=this.lastValue[e.name]*.7+s*.3;const a=Math.max(o,...t.graph.slice(-this.samplesGraph));this.updateCounter++,this.updateCounter%(this.logsPerSecond*2)===0&&(this.lastMax[e.name]=o,this.lastMin[e.name]=s),e.update&&(r>=this.prevCpuTime+1e3/this.logsPerSecond&&e.update(this.lastValue[e.name],s,this.lastMax[e.name],a,i),r>=this.prevGraphTime+1e3/this.graphsPerSecond&&(e.updateGraph(s,a),this.prevGraphTime=r))}updateAverages(){this.addToAverage(this.totalCpuDuration,this.averageCpu),this.addToAverage(this.totalGpuDuration,this.averageGpu),this.info&&this.totalGpuDurationCompute!==void 0&&this.addToAverage(this.totalGpuDurationCompute,this.averageGpuCompute)}addToAverage(e,t){t.logs.push(e),t.logs.length>this.samplesLog&&(t.logs=t.logs.slice(-this.samplesLog)),t.graph.push(e),t.graph.length>this.samplesGraph&&(t.graph=t.graph.slice(-this.samplesGraph))}get domElement(){return this.dom}patchThreeWebGPU(e){const t=e.info.reset,i=this;e.info.reset=function(){i.beginProfiling("cpu-started"),t.call(this)}}patchThreeRenderer(e){const t=e.render,i=this;e.render=function(r,s){i.begin(),t.call(this,r,s),i.end()},this.threeRendererPatched=!0}};KR.Panel=$R;let cle=KR;var Qo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ZR(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Zh={exports:{}},sy={},EE;function Oi(){return EE||(EE=1,function(n){var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(O,Y,ie)=>Y in O?e(O,Y,{enumerable:!0,configurable:!0,writable:!0,value:ie}):O[Y]=ie,l=(O,Y)=>{for(var ie in Y||(Y={}))s.call(Y,ie)&&a(O,ie,Y[ie]);if(r)for(var ie of r(Y))o.call(Y,ie)&&a(O,ie,Y[ie]);return O},c=(O,Y)=>t(O,i(Y)),u=O=>
vendor: 5,270 bytes, line 4518
4518e(O,"__esModule",{value:!0}),f=(O,Y)=>{u(O);for(var ie in Y)e(O,ie,{get:Y[ie],enumerable:!0})};f(n,{Atom:()=>Kp,PointerProxy:()=>Ev,Ticker:()=>Jp,getPointerParts:()=>pc,isPointer:()=>aa,isPrism:()=>Hu,iterateAndCountTicks:()=>Cv,iterateOver:()=>Sv,pointer:()=>Yd,pointerToPrism:()=>Gu,prism:()=>vc,val:()=>th});var h=Array.isArray,p=h,m=typeof Qo=="object"&&Qo&&Qo.Object===Object&&Qo,v=m,A=typeof self=="object"&&self&&self.Object===Object&&self,y=v||A||Function("return this")(),x=y,b=x.Symbol,_=b,T=Object.prototype,M=T.hasOwnProperty,I=T.toString,R=_?_.toStringTag:void 0;function w(O){var Y=M.call(O,R),ie=O[R];try{O[R]=void 0;var Se=!0}catch{}var St=I.call(O);return Se&&(Y?O[R]=ie:delete O[R]),St}var E=w,F=Object.prototype,L=F.toString;function z(O){return L.call(O)}var V=z,j="[object Null]",N="[object Undefined]",Q=_?_.toStringTag:void 0;function W(O){return O==null?O===void 0?N:j:Q&&Q in Object(O)?E(O):V(O)}var ee=W;function H(O){return O!=null&&typeof O=="object"}var ye=H,Ie="[object Symbol]";function ze(O){return typeof O=="symbol"||ye(O)&&ee(O)==Ie}var oe=ze,_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fe=/^\w*$/;function Z(O,Y){if(p(O))return!1;var ie=typeof O;return ie=="number"||ie=="symbol"||ie=="boolean"||O==null||oe(O)?!0:Fe.test(O)||!_e.test(O)||Y!=null&&O in Object(Y)}var Ae=Z;function we(O){var Y=typeof O;return O!=null&&(Y=="object"||Y=="function")}var be=we,qe="[object AsyncFunction]",rt="[object Function]",q="[object GeneratorFunction]",B="[object Proxy]";function le(O){if(!be(O))return!1;var Y=ee(O);return Y==rt||Y==q||Y==qe||Y==B}var ve=le,$=x["__core-js_shared__"],de=$,De=function(){var O=/[^.]+$/.exec(de&&de.keys&&de.keys.IE_PROTO||"");return O?"Symbol(src)_1."+O:""}();function xe(O){return!!De&&De in O}var k=xe,D=Function.prototype,ne=D.toString;function re(O){if(O!=null){try{return ne.call(O)}catch{}try{return O+""}catch{}}return""}var ce=re,fe=/[\\^$.*+?()[\]{}|]/g,Pe=/^\[object .+?Constructor\]$/,Le=Function.prototype,Oe=Object.prototype,dt=Le.toString,Be=Oe.hasOwnProperty,He=RegExp("^"+dt.call(Be).replace(fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Xe(O){if(!be(O)||k(O))return!1;var Y=ve(O)?He:Pe;return Y.test(ce(O))}var st=Xe;function et(O,Y){return O==null?void 0:O[Y]}var mt=et;function lt(O,Y){var ie=mt(O,Y);return st(ie)?ie:void 0}var Rt=lt,te=Rt(Object,"create"),We=te;function Ce(){this.__data__=We?We(null):{},this.size=0}var Me=Ce;function je(O){var Y=this.has(O)&&delete this.__data__[O];return this.size-=Y?1:0,Y}var Ye=je,_t="__lodash_hash_undefined__",jt=Object.prototype,Bn=jt.hasOwnProperty;function $e(O){var Y=this.__data__;if(We){var ie=Y[O];return ie===_t?void 0:ie}return Bn.call(Y,O)?Y[O]:void 0}var ot=$e,Mt=Object.prototype,Ze=Mt.hasOwnProperty;function wt(O){var Y=this.__data__;return We?Y[O]!==void 0:Ze.call(Y,O)}var ct=wt,bt="__lodash_hash_undefined__";function Vn(O,Y){var ie=this.__data__;return this.size+=this.has(O)?0:1,ie[O]=We&&Y===void 0?bt:Y,this}var Bt=Vn;function $t(O){var Y=-1,ie=O==null?0:O.length;for(this.clear();++Y<ie;){var Se=O[Y];this.set(Se[0],Se[1])}}$t.prototype.clear=Me,$t.prototype.delete=Ye,$t.prototype.get=ot,$t.prototype.has=ct,$t.prototype.set=Bt;var Qn=$t;function ln(){this.__data__=[],this.size=0}var cn=ln;function Ft(O,Y){return O===Y||O!==O&&Y!==Y}var tr=Ft;function rn(O,Y){for(var ie=O.length;ie--;)if(tr(O[ie][0],Y))return ie;return-1}var ci=rn,hr=Array.prototype,Zn=hr.splice;function Jn(O){var Y=this.__data__,ie=ci(Y,O);if(ie<0)return!1;var Se=Y.length-1;return ie==Se?Y.pop():Zn.call(Y,ie,1),--this.size,!0}var G=Jn;function ae(O){var Y=this.__data__,ie=ci(Y,O);return ie<0?void 0:Y[ie][1]}var ge=ae;function pe(O){return ci(this.__data__,O)>-1}var se=pe;function Ue(O,Y){var ie=this.__data__,Se=ci(ie,O);return Se<0?(++this.size,ie.push([O,Y])):ie[Se][1]=Y,this}var Je=Ue;function tt(O){var Y=-1,ie=O==null?0:O.length;for(this.clear();++Y<ie;){var Se=O[Y];this.set(Se[0],Se[1])}}tt.prototype.clear=cn,tt.prototype.delete=G,tt.prototype.get=ge,tt.prototype.has=se,tt.prototype.set=Je;var it=tt,pt=Rt(x,"Map"),yt=pt;function ht(){this.size=0,this.__data__={hash:new Qn,map:new(yt||it),string:new Qn}}var xt=ht;function Kt(O){var Y=typeof O;return Y=="string"||Y=="number"||Y=="symbol"||Y=="boolean"?O!=="__proto__":O===null}var Wn=Kt;function Dn(O,Y){var ie=O.__data__;return Wn(Y)?ie[typeof Y=="string"?"string":"hash"]:ie.map}var Ut=Dn;function At(O){var Y=Ut(this,O).delete(O);return this.size-=Y?1:0,Y}var Ai=At;function Gt(O){return Ut(this,O).get(O)}var Lr=Gt;function Lo(O){return Ut(this,O).has(O)}var nr=Lo;function oa(O,Y){var ie=Ut(this,O),Se=ie.size;return ie.set(O,Y),this.size+=ie.size==Se?0:1,this}var wn=oa;function vi(O){var Y=-1,ie=O==null?0:O.length;for(this.clear();++Y<ie;){var Se=O[Y];this.set(Se[0],Se[1])}}vi.prototype.clear=xt,vi.prototype.delete=Ai,vi.prototype.get=Lr,vi.prototype.has=nr,vi.prototype.set=wn;var ir=vi,Ri="Expected a function";function Ci(O,Y){if(typeof O!="function"||Y!=null&&typeof Y!="function")throw new TypeError(Ri);var ie=function(){var Se=arguments,St=Y?Y.apply(this,Se):Se[0],on=ie.cache;if(on.has(St))return on.get(St);var rr=O.apply(this,Se);return ie.cache=on.set(St,rr)||on,rr};return ie.cache=new(Ci.Cache||ir),ie}
4518Ci.Cache=ir;var uc=Ci,pr=500;function Uu(O){var Y=uc(O,function(Se){return ie.size===pr&&ie.clear(),Se}),ie=Y.cache;return Y}var zA=Uu,fc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HA=/\\(\\)?/g,VA=zA(function(O){var Y=[];return O.charCodeAt(0)===46&&Y.push(""),O.replace(fc,function(ie,Se,St,on){Y.push(St?on.replace(HA,"$1"):Se||ie)}),Y}),GA=VA;function QA(O,Y){for(var ie=-1,Se=O==null?0:O.length,St=Array(Se);++ie<Se;)St[ie]=Y(O[ie],ie,O);return St}var WA=QA,dc=_?_.prototype:void 0,Lp=dc?dc.toString:void 0;function Op(O){if(typeof O=="string")return O;if(p(O))return WA(O,Op)+"";if(oe(O))return Lp?Lp.call(O):"";var Y=O+"";return Y=="0"&&1/O==-1/0?"-0":Y}var jA=Op;function qA(O){return O==null?"":jA(O)}var XA=qA;function YA(O,Y){return p(O)?O:Ae(O,Y)?[O]:GA(XA(O))}var $A=YA;function KA(O){if(typeof O=="string"||oe(O))return O;var Y=O+"";return Y=="0"&&1/O==-1/0?"-0":Y}var il=KA;function Nu(O,Y){Y=$A(Y,O);for(var ie=0,Se=Y.length;O!=null&&ie<Se;)O=O[il(Y[ie++])];return ie&&ie==Se?O:void 0}var ZA=Nu;function Xd(O,Y,ie){var Se=O==null?void 0:ZA(O,Y);return Se===void 0?ie:Se}var JA=Xd;function ev(O,Y){return function(ie){return O(Y(ie))}}var tv=ev,nv=tv(Object.getPrototypeOf,Object),iv=nv,rv="[object Object]",sv=Function.prototype,ov=Object.prototype,Fp=sv.toString,av=ov.hasOwnProperty,Up=Fp.call(Object);function Np(O){if(!ye(O)||ee(O)!=rv)return!1;var Y=iv(O);if(Y===null)return!0;var ie=av.call(Y,"constructor")&&Y.constructor;return typeof ie=="function"&&ie instanceof ie&&Fp.call(ie)==Up}var kp=Np;function zp(O){var Y=O==null?0:O.length;return Y?O[Y-1]:void 0}var lv=zp,ku=new WeakMap,Hp=new WeakMap,hc=Symbol("pointerMeta"),cv={get(O,Y){if(Y===hc)return ku.get(O);let ie=Hp.get(O);ie||(ie=new Map,Hp.set(O,ie));const Se=ie.get(Y);if(Se!==void 0)return Se;const St=ku.get(O),on=zu({root:St.root,path:[...St.path,Y]});return ie.set(Y,on),on}},fo=O=>O[hc],pc=O=>{const{root:Y,path:ie}=fo(O);return{root:Y,path:ie}};function zu(O){var Y;const ie={root:O.root,path:(Y=O.path)!=null?Y:[]},Se={};return ku.set(Se,ie),new Proxy(Se,cv)}var Yd=zu,aa=O=>O&&!!fo(O);function Vp(O,Y,ie){return Y.length===0?ie(O):rl(O,Y,ie)}var rl=(O,Y,ie)=>{if(Y.length===0)return ie(O);if(Array.isArray(O)){let[Se,...St]=Y;Se=parseInt(String(Se),10),isNaN(Se)&&(Se=0);const on=O[Se],rr=rl(on,St,ie);if(on===rr)return O;const Vs=[...O];return Vs.splice(Se,1,rr),Vs}else if(typeof O=="object"&&O!==null){const[Se,...St]=Y,on=O[Se],rr=rl(on,St,ie);return on===rr?O:c(l({},O),{[Se]:rr})}else{const[Se,...St]=Y;return{[Se]:rl(void 0,St,ie)}}},Bi=class{constructor(){this._head=void 0}peek(){return this._head&&this._head.data}pop(){const O=this._head;if(O)return this._head=O.next,O.data}push(O){const Y={next:this._head,data:O};this._head=Y}};function Hu(O){return!!(O&&O.isPrism&&O.isPrism===!0)}function $d(){const O=()=>{},Y=new Bi,ie=O;return{type:"Dataverse_discoveryMechanism",startIgnoringDependencies:()=>{Y.push(ie)},stopIgnoringDependencies:()=>{Y.peek()!==ie||Y.pop()},reportResolutionStart:sl=>{const yc=Y.peek();yc&&yc(sl),Y.push(ie)},reportResolutionEnd:sl=>{Y.pop()},pushCollector:sl=>{Y.push(sl)},popCollector:sl=>{if(Y.peek()!==sl)throw new Error("Popped collector is not on top of the stack");Y.pop()}}}function uv(){const O="__dataverse_discoveryMechanism_sharedStack",Y=typeof window<"u"?window:typeof Qo<"u"?Qo:{};if(Y){const ie=Y[O];if(ie&&typeof ie=="object"&&ie.type==="Dataverse_discoveryMechanism")return ie;{const Se=$d();return Y[O]=Se,Se}}else return $d()}var{startIgnoringDependencies:la,stopIgnoringDependencies:mc,reportResolutionEnd:fv,reportResolutionStart:dv,pushCollector:Kd,popCollector:hv}=uv(),Gp=()=>{},pv=class{constructor(O,Y){this._fn=O,this._prismInstance=Y,this._didMarkDependentsAsStale=!1,this._isFresh=!1,this._cacheOfDendencyValues=new Map,this._dependents=new Set,this._dependencies=new Set,this._possiblyStaleDeps=new Set,this._scope=new Qp(this),this._lastValue=void 0,this._forciblySetToStale=!1,this._reactToDependencyGoingStale=ie=>{this._possiblyStaleDeps.add(ie),this._markAsStale()};for(const ie of this._dependencies)ie._addDependent(this._reactToDependencyGoingStale);la(),this.getValue(),mc()}get hasDependents(){return this._dependents.size>0}removeDependent(O){this._dependents.delete(O)}addDependent(O){this._dependents.add(O)}destroy(){for(const O of this._dependencies)O._removeDependent(this._reactToDependencyGoingStale);Wp(this._scope)}getValue(){if(!this._isFresh){const O=this._recalculate();this._lastValue=O,this._isFresh=!0,this._didMarkDependentsAsStale=!1,this._forciblySetToStale=!1}return this._lastValue}
4518_recalculate(){let O;if(!this._forciblySetToStale&&this._possiblyStaleDeps.size>0){let Se=!1;la();for(const St of this._possiblyStaleDeps)if(this._cacheOfDendencyValues.get(St)!==St.getValue()){Se=!0;break}if(mc(),this._possiblyStaleDeps.clear(),!Se)return this._lastValue}const Y=new Set;this._cacheOfDendencyValues.clear();const ie=Se=>{Y.add(Se),this._addDependency(Se)};Kd(ie),ji.push(this._scope);try{O=this._fn()}catch(Se){console.error(Se)}finally{ji.pop()!==this._scope&&console.warn("The Prism hook stack has slipped. This is a bug.")}hv(ie);for(const Se of this._dependencies)Y.has(Se)||this._removeDependency(Se);this._dependencies=Y,la();for(const Se of Y)this._cacheOfDendencyValues.set(Se,Se.getValue());return mc(),O}forceStale(){this._forciblySetToStale=!0,this._markAsStale()}_markAsStale(){if(!this._didMarkDependentsAsStale){this._didMarkDependentsAsStale=!0,this._isFresh=!1;for(const O of this._dependents)O(this._prismInstance)}}_addDependency(O){this._dependencies.has(O)||(this._dependencies.add(O),O._addDependent(this._reactToDependencyGoingStale))}_removeDependency(O){this._dependencies.has(O)&&(this._dependencies.delete(O),O._removeDependent(this._reactToDependencyGoingStale))}},Zd={},mv=class{constructor(O){this._fn=O,this.isPrism=!0,this._state={hot:!1,handle:void 0}}get isHot(){return this._state.hot}onChange(O,Y,ie=!1){const Se=()=>{O.onThisOrNextTick(on)};let St=Zd;const on=()=>{const Vs=this.getValue();Vs!==St&&(St=Vs,Y(Vs))};return this._addDependent(Se),ie&&(St=this.getValue(),Y(St)),()=>{this._removeDependent(Se),O.offThisOrNextTick(on),O.offNextTick(on)}}onStale(O){const Y=()=>{this._removeDependent(ie)},ie=()=>O();return this._addDependent(ie),Y}keepHot(){return this.onStale(()=>{})}_addDependent(O){this._state.hot||this._goHot(),this._state.handle.addDependent(O)}_goHot(){const O=new pv(this._fn,this);this._state={hot:!0,handle:O}}_removeDependent(O){const Y=this._state;if(!Y.hot)return;const ie=Y.handle;ie.removeDependent(O),ie.hasDependents||(this._state={hot:!1,handle:void 0},ie.destroy())}getValue(){dv(this);const O=this._state;let Y;return O.hot?Y=O.handle.getValue():Y=Ac(this._fn),fv(this),Y}},Qp=class{constructor(O){this._hotHandle=O,this._refs=new Map,this.isPrismScope=!0,this.subs={},this.effects=new Map,this.memos=new Map}ref(O,Y){let ie=this._refs.get(O);if(ie!==void 0)return ie;{const Se={current:Y};return this._refs.set(O,Se),Se}}effect(O,Y,ie){let Se=this.effects.get(O);Se===void 0&&(Se={cleanup:Gp,deps:void 0},this.effects.set(O,Se)),jp(Se.deps,ie)&&(Se.cleanup(),la(),Se.cleanup=Vu(Y,Gp).value,mc(),Se.deps=ie)}memo(O,Y,ie){let Se=this.memos.get(O);return Se===void 0&&(Se={cachedValue:null,deps:void 0},this.memos.set(O,Se)),jp(Se.deps,ie)&&(la(),Se.cachedValue=Vu(Y,void 0).value,mc(),Se.deps=ie),Se.cachedValue}state(O,Y){const{value:ie,setValue:Se}=this.memo("state/"+O,()=>{const St={current:Y};return{value:St,setValue:rr=>{St.current=rr,this._hotHandle.forceStale()}}},[]);return[ie.current,Se]}sub(O){return this.subs[O]||(this.subs[O]=new Qp(this._hotHandle)),this.subs[O]}cleanupEffects(){for(const O of this.effects.values())Vu(O.cleanup,void 0);this.effects.clear()}source(O,Y){return this.effect("$$source/blah",()=>O(()=>{this._hotHandle.forceStale()}),[O]),Y()}};function Wp(O){for(const Y of Object.values(O.subs))Wp(Y);O.cleanupEffects()}function Vu(O,Y){try{return{value:O(),ok:!0}}catch(ie){return setTimeout(function(){throw ie}),{value:Y,ok:!1}}}var ji=new Bi;function gv(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.ref() is called outside of a prism() call.");return ie.ref(O,Y)}function Jd(O,Y,ie){const Se=ji.peek();if(!Se)throw new Error("prism.effect() is called outside of a prism() call.");return Se.effect(O,Y,ie)}function jp(O,Y){if(O===void 0||Y===void 0)return!0;const ie=O.length;if(ie!==Y.length)return!0;for(let Se=0;Se<ie;Se++)if(O[Se]!==Y[Se])return!0;return!1}function qp(O,Y,ie){const Se=ji.peek();if(!Se)throw new Error("prism.memo() is called outside of a prism() call.");return Se.memo(O,Y,ie)}function Or(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.state() is called outside of a prism() call.");return ie.state(O,Y)}function Av(){if(!ji.peek())throw new Error("The parent function is called outside of a prism() call.")}function vv(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.scope() is called outside of a prism() call.");const Se=ie.sub(O);ji.push(Se);const St=Vu(Y,void 0).value;return ji.pop(),St}function yv(O,Y,ie){return qp(O,()=>Di(Y),ie).getValue()}function Xp(){return!!ji.peek()}function _v(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.source() is called outside of a prism() call.");return ie.source(O,Y)}var Di=O=>new mv(O),gc=class{effect(O,Y,ie){console.warn("prism.effect() does not run in cold prisms")}memo(O,Y,ie){return Y()}state(O,Y){return[Y,()=>{}]}ref(O,Y){return{current:Y}}sub(O){return new gc}source(O,Y){return Y()}};function Ac(O){const Y=new gc;ji.push(Y);let ie;try{ie=O()}catch(Se){console.error(Se)}finally{ji.pop()!==Y&&console.warn("The Prism hook stack has slipped. This is a bug.")}return ie}Di.ref=gv,Di.effect=Jd,Di.memo=qp,Di.ensurePrism=Av,Di.state=Or,Di.scope=vv,Di.sub=yv,Di.inPrism=Xp,Di.source=_v;var vc=Di,Yp;(function(O){O[O.Dict=0]="Dict",O[O.Array=1]="Array",O[O.Other=2]="Other"})(Yp||(Yp={}));var vn=O=>Array.isArray(O)?1:kp(O)?0:2,eh=(O,Y,ie=vn(O))=>ie===0&&typeof Y=="string"||ie===1&&bv(Y)?O[Y]:void 0,bv=O=>{const Y=typeof O=="number"?O:parseInt(O,10);return!isNaN(Y)&&Y>=0&&Y<1/0&&(Y|0)===Y},$p=class{constructor(O,Y){this._parent=O,this._path=Y,this.children=new Map,this.identityChangeListeners=new Set}addIdentityChangeListener(O){this.identityChangeListeners.add(O)}removeIdentityChangeListener(O){this.identityChangeListeners.delete(O),this._checkForGC()}removeChild(O){this.children.delete(O),this._checkForGC()}getChild(O){return this.children.get(O)}getOrCreateChild(O){let Y=this.children.get(O);return Y||(Y=Y=new $p(this,this._path.concat([O])),this.children.set(O,Y)),Y}_checkForGC(){this.identityChangeListeners.size>0||this.children.size>0||this._parent&&this._parent.removeChild(lv(this._path))}},Kp=class{constructor(O){this.$$isPointerToPrismProvider=!0,this.pointer=Yd({root:this,path:[]}),this.prism=this.pointerToPrism(this.pointer),this._onPointerValueChange=(Y,ie)=>{const{path:Se}=pc(Y),St=this._getOrCreateScopeForPath(Se);return St.identityChangeListeners.add(ie),()=>{St.identityChangeListeners.delete(ie)}},this._currentState=O,this._rootScope=new $p(void 0,[])}set(O){const Y=this._currentState;this._currentState=O,this._checkUpdates(this._rootScope,Y,O)}get(){return this._currentState}getByPointer(O){const Y=aa(O)?O:O(this.pointer),ie=pc(Y).path;return this._getIn(ie)}_getIn(O){return O.length===0?this.get():JA(this.get(),O)}reduce(O){this.set(O(this.get()))}reduceByPointer(O,Y){const ie=aa(O)?O:O(this.pointer),Se=pc(ie).path,St=Vp(this.get(),Se,Y);this.set(St)}setByPointer(O,Y){this.reduceByPointer(O,()=>Y)}_checkUpdates(O,Y,ie){if(Y===ie)return;for(const on of O.identityChangeListeners)on(ie);if(O.children.size===0)return;const Se=vn(Y),St=vn(ie);if(!(Se===2&&Se===St))for(const[on,rr]of O.children){const Vs=eh(Y,on,Se),em=eh(ie,on,St);this._checkUpdates(rr,Vs,em)}}_getOrCreateScopeForPath(O){let Y=this._rootScope;for(const ie of O)Y=Y.getOrCreateChild(ie);return Y}pointerToPrism(O){const{path:Y}=pc(O),ie=St=>this._onPointerValueChange(O,St),Se=()=>this._getIn(Y);
4518return vc(()=>vc.source(ie,Se))}},Zp=new WeakMap;function xv(O){return typeof O=="object"&&O!==null&&O.$$isPointerToPrismProvider===!0}var Gu=O=>{const Y=fo(O);let ie=Zp.get(Y);if(!ie){const Se=Y.root;if(!xv(Se))throw new Error("Cannot run pointerToPrism() on a pointer whose root is not an PointerToPrismProvider");ie=Se.pointerToPrism(O),Zp.set(Y,ie)}return ie},th=O=>aa(O)?Gu(O).getValue():Hu(O)?O.getValue():O;function*Cv(O){let Y;if(aa(O))Y=Gu(O);else if(Hu(O))Y=O;else throw new Error("Only pointers and prisms are supported");let ie=0;const Se=Y.onStale(()=>{ie++});try{for(;;){const St=ie;ie=0,yield{value:Y.getValue(),ticks:St}}}finally{Se()}}var wv=60*3,Jp=class{constructor(O){this._conf=O,this._ticking=!1,this._dormant=!0,this._numberOfDormantTicks=0,this.__ticks=0,this._scheduledForThisOrNextTick=new Set,this._scheduledForNextTick=new Set,this._timeAtCurrentTick=0}get dormant(){return this._dormant}onThisOrNextTick(O){this._scheduledForThisOrNextTick.add(O),this._dormant&&this._goActive()}onNextTick(O){this._scheduledForNextTick.add(O),this._dormant&&this._goActive()}offThisOrNextTick(O){this._scheduledForThisOrNextTick.delete(O)}offNextTick(O){this._scheduledForNextTick.delete(O)}get time(){return this._ticking?this._timeAtCurrentTick:performance.now()}_goActive(){var O,Y;this._dormant&&(this._dormant=!1,(Y=(O=this._conf)==null?void 0:O.onActive)==null||Y.call(O))}_goDormant(){var O,Y;this._dormant||(this._dormant=!0,this._numberOfDormantTicks=0,(Y=(O=this._conf)==null?void 0:O.onDormant)==null||Y.call(O))}tick(O=performance.now()){if(this.__ticks++,!this._dormant&&this._scheduledForNextTick.size===0&&this._scheduledForThisOrNextTick.size===0&&(this._numberOfDormantTicks++,this._numberOfDormantTicks>=wv)){this._goDormant();return}this._ticking=!0,this._timeAtCurrentTick=O;for(const Y of this._scheduledForNextTick)this._scheduledForThisOrNextTick.add(Y);this._scheduledForNextTick.clear(),this._tick(0),this._ticking=!1}_tick(O){const Y=this.time;if(O>10&&console.warn("_tick() recursing for 10 times"),O>100)throw new Error("Maximum recursion limit for _tick()");const ie=this._scheduledForThisOrNextTick;this._scheduledForThisOrNextTick=new Set;for(const Se of ie)Se(Y);if(this._scheduledForThisOrNextTick.size>0)return this._tick(O+1)}};function*Sv(O){let Y;if(aa(O))Y=Gu(O);else if(Hu(O))Y=O;else throw new Error("Only pointers and prisms are supported");const ie=new Jp,Se=Y.onChange(ie,St=>{});try{for(;;)ie.tick(),yield Y.getValue()}finally{Se()}}var Ev=class{constructor(O){this.$$isPointerToPrismProvider=!0,this._currentPointerBox=new Kp(O),this.pointer=Yd({root:this,path:[]})}setPointer(O){this._currentPointerBox.set(O)}pointerToPrism(O){const{path:Y}=fo(O);return vc(()=>{const ie=this._currentPointerBox.prism.getValue(),Se=Y.reduce((St,on)=>St[on],ie);return th(Se)})}}}(sy)),sy}Zh.exports;var TE;function ule(){return TE||(TE=1,function(n,e){var t=Object.create,i=Object.defineProperty,r=Object.defineProperties,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,c=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,h=(d,g,C)=>g in d?i(d,g,{enumerable:!0,configurable:!0,writable:!0,value:C}):d[g]=C,p=(d,g)=>{for(var C in g||(g={}))u.call(g,C)&&h(d,C,g[C]);if(l)for(var C of l(g))f.call(g,C)&&h(d,C,g[C]);return d},m=(d,g)=>r(d,o(g)),v=(d,g)=>function(){return g||(0,d[a(d)[0]])((g={exports:{}}).exports,g),g.exports},A=(d,g)=>{for(var C in g)i(d,C,{get:g[C],enumerable:!0})},y=(d,g,C,P)=>{if(g&&typeof g=="object"||typeof g=="function")for(let U of a(g))!u.call(d,U)&&U!==C&&i(d,U,{get:()=>g[U],enumerable:!(P=s(g,U))||P.enumerable});return d},x=(d,g,C)=>(C=d!=null?t(c(d)):{},y(!d||!d.__esModule?i(C,"default",{value:d,enumerable:!0}):C,d)),b=d=>y(i({},"__esModule",{value:!0}),d),_=(d,g,C)=>(h(d,typeof g!="symbol"?g+"":g,C),C),T=v({"../node_modules/timing-function/lib/UnitBezier.js"(d,g){g.exports=function(){function C(P,U,X,J){this.set(P,U,X,J)}return C.prototype.set=function(P,U,X,J){this._cx=3*P,this._bx=3*(X-P)-this._cx,this._ax=1-this._cx-this._bx,this._cy=3*U,this._by=3*(J-U)-this._cy,this._ay=1-this._cy-this._by},C.epsilon=1e-6,C.prototype._sampleCurveX=function(P){return((this._ax*P+this._bx)*P+this._cx)*P},C.prototype._sampleCurveY=function(P){return((this._ay*P+this._by)*P+this._cy)*P},C.prototype._sampleCurveDerivativeX=function(P){return(3*this._ax*P+2*this._bx)*P+this._cx}
4518,C.prototype._solveCurveX=function(P,U){var X,J,ue,me,Ee,Ve;for(ue=void 0,me=void 0,Ee=void 0,Ve=void 0,X=void 0,J=void 0,Ee=P,J=0;J<8;){if(Ve=this._sampleCurveX(Ee)-P,Math.abs(Ve)<U)return Ee;if(X=this._sampleCurveDerivativeX(Ee),Math.abs(X)<U)break;Ee=Ee-Ve/X,J++}if(ue=0,me=1,Ee=P,Ee<ue)return ue;if(Ee>me)return me;for(;ue<me;){if(Ve=this._sampleCurveX(Ee),Math.abs(Ve-P)<U)return Ee;P>Ve?ue=Ee:me=Ee,Ee=(me-ue)*.5+ue}return Ee},C.prototype.solve=function(P,U){return this._sampleCurveY(this._solveCurveX(P,U))},C.prototype.solveSimple=function(P){return this._sampleCurveY(this._solveCurveX(P,1e-6))},C}()}}),M=v({"../node_modules/levenshtein-edit-distance/index.js"(d,g){var C,P;C=[],P=[];function U(X,J,ue){var me,Ee,Ve,Ge,nt,vt,ft,Dt;if(X===J)return 0;if(me=X.length,Ee=J.length,me===0)return Ee;if(Ee===0)return me;for(ue&&(X=X.toLowerCase(),J=J.toLowerCase()),ft=0;ft<me;)P[ft]=X.charCodeAt(ft),C[ft]=++ft;for(Dt=0;Dt<Ee;)for(Ve=J.charCodeAt(Dt),Ge=nt=Dt++,ft=-1;++ft<me;)vt=Ve===P[ft]?nt:nt+1,nt=C[ft],C[ft]=Ge=nt>Ge?vt>Ge?Ge+1:vt:vt>nt?nt+1:vt;return Ge}g.exports=U}}),I=v({"../node_modules/propose/propose.js"(d,g){var C=M();function P(){var U,X,J,ue,me,Ee=0,Ve=arguments[0],Ge=arguments[1],nt=Ge.length,vt=arguments[2];vt&&(ue=vt.threshold,me=vt.ignoreCase),ue===void 0&&(ue=0);for(var ft=0;ft<nt;++ft)me?X=C(Ve,Ge[ft],!0):X=C(Ve,Ge[ft]),X>Ve.length?U=1-X/Ge[ft].length:U=1-X/Ve.length,U>Ee&&(Ee=U,J=Ge[ft]);return Ee>=ue?J:null}g.exports=P}}),R=v({"../node_modules/fast-deep-equal/index.js"(d,g){g.exports=function C(P,U){if(P===U)return!0;if(P&&U&&typeof P=="object"&&typeof U=="object"){if(P.constructor!==U.constructor)return!1;var X,J,ue;if(Array.isArray(P)){if(X=P.length,X!=U.length)return!1;for(J=X;J--!==0;)if(!C(P[J],U[J]))return!1;return!0}if(P.constructor===RegExp)return P.source===U.source&&P.flags===U.flags;if(P.valueOf!==Object.prototype.valueOf)return P.valueOf()===U.valueOf();if(P.toString!==Object.prototype.toString)return P.toString()===U.toString();if(ue=Object.keys(P),X=ue.length,X!==Object.keys(U).length)return!1;for(J=X;J--!==0;)if(!Object.prototype.hasOwnProperty.call(U,ue[J]))return!1;for(J=X;J--!==0;){var me=ue[J];if(!C(P[me],U[me]))return!1}return!0}return P!==P&&U!==U}}}),w={};A(w,{createRafDriver:()=>Xv,getProject:()=>M5,notify:()=>ju,onChange:()=>g2,types:()=>Yv,val:()=>I5}),n.exports=b(w);var E={};A(E,{createRafDriver:()=>Xv,getProject:()=>M5,notify:()=>ju,onChange:()=>g2,types:()=>Yv,val:()=>I5});var F=Oi(),L=class{constructor(){_(this,"atom",new F.Atom({projects:{}}))}add(d,g){this.atom.setByPointer(C=>C.projects[d],g)}get(d){return this.atom.get().projects[d]}has(d){return!!this.get(d)}},z=new L,V=z,j=new WeakMap;function N(d){return j.get(d)}function Q(d,g){j.set(d,g)}var W=[],ee=Array.isArray,H=ee,ye=typeof Qo=="object"&&Qo&&Qo.Object===Object&&Qo,Ie=ye,ze=typeof self=="object"&&self&&self.Object===Object&&self,oe=Ie||ze||Function("return this")(),_e=oe,Fe=_e.Symbol,Z=Fe,Ae=Object.prototype,we=Ae.hasOwnProperty,be=Ae.toString,qe=Z?Z.toStringTag:void 0;function rt(d){var g=we.call(d,qe),C=d[qe];try{d[qe]=void 0;var P=!0}catch{}var U=be.call(d);return P&&(g?d[qe]=C:delete d[qe]),U}var q=rt,B=Object.prototype,le=B.toString;function ve(d){return le.call(d)}var $=ve,de="[object Null]",De="[object Undefined]",xe=Z?Z.toStringTag:void 0;function k(d){return d==null?d===void 0?De:de:xe&&xe in Object(d)?q(d):$(d)}var D=k;function ne(d){return d!=null&&typeof d=="object"}var re=ne,ce="[object Symbol]";function fe(d){return typeof d=="symbol"||re(d)&&D(d)==ce}var Pe=fe,Le=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Oe=/^\w*$/;function dt(d,g){if(H(d))return!1;var C=typeof d;return C=="number"||C=="symbol"||C=="boolean"||d==null||Pe(d)?!0:Oe.test(d)||!Le.test(d)||g!=null&&d in Object(g)}var Be=dt;function He(d){var g=typeof d;return d!=null&&(g=="object"||g=="function")}var Xe=He,st="[object AsyncFunction]",et="[object Function]",mt="[object GeneratorFunction]",lt="[object Proxy]";function Rt(d){if(!Xe(d))return!1;var g=D(d);return g==et||g==mt||g==st||g==lt}var te=Rt,We=_e["__core-js_shared__"],Ce=We,Me=function(){var d=/[^.]+$/.exec(Ce&&Ce.keys&&Ce.keys.IE_PROTO||"");
vendor: 4,325 bytes, line 4518
4518return d?"Symbol(src)_1."+d:""}();function je(d){return!!Me&&Me in d}var Ye=je,_t=Function.prototype,jt=_t.toString;function Bn(d){if(d!=null){try{return jt.call(d)}catch{}try{return d+""}catch{}}return""}var $e=Bn,ot=/[\\^$.*+?()[\]{}|]/g,Mt=/^\[object .+?Constructor\]$/,Ze=Function.prototype,wt=Object.prototype,ct=Ze.toString,bt=wt.hasOwnProperty,Vn=RegExp("^"+ct.call(bt).replace(ot,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bt(d){if(!Xe(d)||Ye(d))return!1;var g=te(d)?Vn:Mt;return g.test($e(d))}var $t=Bt;function Qn(d,g){return d==null?void 0:d[g]}var ln=Qn;function cn(d,g){var C=ln(d,g);return $t(C)?C:void 0}var Ft=cn,tr=Ft(Object,"create"),rn=tr;function ci(){this.__data__=rn?rn(null):{},this.size=0}var hr=ci;function Zn(d){var g=this.has(d)&&delete this.__data__[d];return this.size-=g?1:0,g}var Jn=Zn,G="__lodash_hash_undefined__",ae=Object.prototype,ge=ae.hasOwnProperty;function pe(d){var g=this.__data__;if(rn){var C=g[d];return C===G?void 0:C}return ge.call(g,d)?g[d]:void 0}var se=pe,Ue=Object.prototype,Je=Ue.hasOwnProperty;function tt(d){var g=this.__data__;return rn?g[d]!==void 0:Je.call(g,d)}var it=tt,pt="__lodash_hash_undefined__";function yt(d,g){var C=this.__data__;return this.size+=this.has(d)?0:1,C[d]=rn&&g===void 0?pt:g,this}var ht=yt;function xt(d){var g=-1,C=d==null?0:d.length;for(this.clear();++g<C;){var P=d[g];this.set(P[0],P[1])}}xt.prototype.clear=hr,xt.prototype.delete=Jn,xt.prototype.get=se,xt.prototype.has=it,xt.prototype.set=ht;var Kt=xt;function Wn(){this.__data__=[],this.size=0}var Dn=Wn;function Ut(d,g){return d===g||d!==d&&g!==g}var At=Ut;function Ai(d,g){for(var C=d.length;C--;)if(At(d[C][0],g))return C;return-1}var Gt=Ai,Lr=Array.prototype,Lo=Lr.splice;function nr(d){var g=this.__data__,C=Gt(g,d);if(C<0)return!1;var P=g.length-1;return C==P?g.pop():Lo.call(g,C,1),--this.size,!0}var oa=nr;function wn(d){var g=this.__data__,C=Gt(g,d);return C<0?void 0:g[C][1]}var vi=wn;function ir(d){return Gt(this.__data__,d)>-1}var Ri=ir;function Ci(d,g){var C=this.__data__,P=Gt(C,d);return P<0?(++this.size,C.push([d,g])):C[P][1]=g,this}var uc=Ci;function pr(d){var g=-1,C=d==null?0:d.length;for(this.clear();++g<C;){var P=d[g];this.set(P[0],P[1])}}pr.prototype.clear=Dn,pr.prototype.delete=oa,pr.prototype.get=vi,pr.prototype.has=Ri,pr.prototype.set=uc;var Uu=pr,zA=Ft(_e,"Map"),fc=zA;function HA(){this.size=0,this.__data__={hash:new Kt,map:new(fc||Uu),string:new Kt}}var VA=HA;function GA(d){var g=typeof d;return g=="string"||g=="number"||g=="symbol"||g=="boolean"?d!=="__proto__":d===null}var QA=GA;function WA(d,g){var C=d.__data__;return QA(g)?C[typeof g=="string"?"string":"hash"]:C.map}var dc=WA;function Lp(d){var g=dc(this,d).delete(d);return this.size-=g?1:0,g}var Op=Lp;function jA(d){return dc(this,d).get(d)}var qA=jA;function XA(d){return dc(this,d).has(d)}var YA=XA;function $A(d,g){var C=dc(this,d),P=C.size;return C.set(d,g),this.size+=C.size==P?0:1,this}var KA=$A;function il(d){var g=-1,C=d==null?0:d.length;for(this.clear();++g<C;){var P=d[g];this.set(P[0],P[1])}}il.prototype.clear=VA,il.prototype.delete=Op,il.prototype.get=qA,il.prototype.has=YA,il.prototype.set=KA;var Nu=il,ZA="Expected a function";function Xd(d,g){if(typeof d!="function"||g!=null&&typeof g!="function")throw new TypeError(ZA);var C=function(){var P=arguments,U=g?g.apply(this,P):P[0],X=C.cache;if(X.has(U))return X.get(U);var J=d.apply(this,P);return C.cache=X.set(U,J)||X,J};return C.cache=new(Xd.Cache||Nu),C}Xd.Cache=Nu;var JA=Xd,ev=500;function tv(d){var g=JA(d,function(P){return C.size===ev&&C.clear(),P}),C=g.cache;return g}var nv=tv,iv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rv=/\\(\\)?/g,sv=nv(function(d){var g=[];return d.charCodeAt(0)===46&&g.push(""),d.replace(iv,function(C,P,U,X){g.push(U?X.replace(rv,"$1"):P||C)}),g}),ov=sv;function Fp(d,g){for(var C=-1,P=d==null?0:d.length,U=Array(P);++C<P;)U[C]=g(d[C],C,d);return U}var av=Fp,Up=Z?Z.prototype:void 0,Np=Up?Up.toString:void 0;function kp(d){if(typeof d=="string")return d;if(H(d))return av(d,kp)+"";if(Pe(d))return Np?Np.call(d):"";var g=d+"";return g=="0"&&1/d==-1/0?"-0":g}var zp=kp;function lv(d){return d==null?"":zp(d)}var ku=lv;function Hp(d,g){return H(d)?d:Be(d,g)?[d]:ov(ku(d))}var hc=Hp;
4518function cv(d){if(typeof d=="string"||Pe(d))return d;var g=d+"";return g=="0"&&1/d==-1/0?"-0":g}var fo=cv;function pc(d,g){g=hc(g,d);for(var C=0,P=g.length;d!=null&&C<P;)d=d[fo(g[C++])];return C&&C==P?d:void 0}var zu=pc;function Yd(d,g,C){var P=d==null?void 0:zu(d,g);return P===void 0?C:P}var aa=Yd;function Vp(d,g){return g.length===0?d:aa(d,g)}var rl=class{constructor(){_(this,"_values",{})}get(d,g){if(this.has(d))return this._values[d];{const C=g();return this._values[d]=C,C}}has(d){return this._values.hasOwnProperty(d)}},Bi=Oi(),Hu=function(){try{var d=Ft(Object,"defineProperty");return d({},"",{}),d}catch{}}(),$d=Hu;function uv(d,g,C){g=="__proto__"&&$d?$d(d,g,{configurable:!0,enumerable:!0,value:C,writable:!0}):d[g]=C}var la=uv,mc=Object.prototype,fv=mc.hasOwnProperty;function dv(d,g,C){var P=d[g];(!(fv.call(d,g)&&At(P,C))||C===void 0&&!(g in d))&&la(d,g,C)}var Kd=dv,hv=9007199254740991,Gp=/^(?:0|[1-9]\d*)$/;function pv(d,g){var C=typeof d;return g=g??hv,!!g&&(C=="number"||C!="symbol"&&Gp.test(d))&&d>-1&&d%1==0&&d<g}var Zd=pv;function mv(d,g,C,P){if(!Xe(d))return d;g=hc(g,d);for(var U=-1,X=g.length,J=X-1,ue=d;ue!=null&&++U<X;){var me=fo(g[U]),Ee=C;if(me==="__proto__"||me==="constructor"||me==="prototype")return d;if(U!=J){var Ve=ue[me];Ee=P?P(Ve,me,ue):void 0,Ee===void 0&&(Ee=Xe(Ve)?Ve:Zd(g[U+1])?[]:{})}Kd(ue,me,Ee),ue=ue[me]}return d}var Qp=mv;function Wp(d,g,C){return d==null?d:Qp(d,g,C)}var Vu=Wp,ji=new WeakMap;function gv(d){return Jd(d)}function Jd(d){if(ji.has(d))return ji.get(d);const g=d.type==="compound"?qp(d):d.type==="enum"?jp(d):d.default;return ji.set(d,g),g}function jp(d){const g={$case:d.defaultCase};for(const[C,P]of Object.entries(d.cases))g[C]=Jd(P);return g}function qp(d){const g={};for(const[C,P]of Object.entries(d.props))g[C]=Jd(P);return g}var Or=Oi(),Av=x(T());function vv(d,g,C){return(0,Or.prism)(()=>{const P=(0,Or.val)(g);return Or.prism.memo("driver",()=>P?P.type==="BasicKeyframedTrack"?yv(d,P,C):(d.logger.error("Track type not yet supported."),(0,Or.prism)(()=>{})):(0,Or.prism)(()=>{}),[P]).getValue()})}function yv(d,g,C){return(0,Or.prism)(()=>{let P=Or.prism.ref("state",{started:!1}),U=P.current;const X=C.getValue();return(!U.started||X<U.validFrom||U.validTo<=X)&&(P.current=U=_v(d,C,g)),U.der.getValue()})}var Xp=(0,Or.prism)(()=>{});function _v(d,g,C){const P=g.getValue();if(C.keyframes.length===0)return{started:!0,validFrom:-1/0,validTo:1/0,der:Xp};let U=0;for(;;){const X=C.keyframes[U];if(!X)return Di.error;const J=U===C.keyframes.length-1;if(P<X.position)return U===0?Di.beforeFirstKeyframe(X):Di.error;if(X.position===P)return J?Di.lastKeyframe(X):Di.between(X,C.keyframes[U+1],g);if(U===C.keyframes.length-1)return Di.lastKeyframe(X);{const ue=U+1;if(C.keyframes[ue].position<=P){U=ue;continue}else return Di.between(X,C.keyframes[U+1],g)}}}var Di={beforeFirstKeyframe(d){return{started:!0,validFrom:-1/0,validTo:d.position,der:(0,Or.prism)(()=>({left:d.value,progression:0}))}},lastKeyframe(d){return{started:!0,validFrom:d.position,validTo:1/0,der:(0,Or.prism)(()=>({left:d.value,progression:0}))}},between(d,g,C){if(!d.connectedRight)return{started:!0,validFrom:d.position,validTo:g.position,der:(0,Or.prism)(()=>({left:d.value,progression:0}))};const P=X=>(X-d.position)/(g.position-d.position);if(!d.type||d.type==="bezier"){const X=new Av.default(d.handles[2],d.handles[3],g.handles[0],g.handles[1]),J=(0,Or.prism)(()=>{const ue=P(C.getValue()),me=X.solveSimple(ue);return{left:d.value,right:g.value,progression:me}});return{started:!0,validFrom:d.position,validTo:g.position,der:J}}const U=(0,Or.prism)(()=>{const X=P(C.getValue()),J=Math.floor(X);return{left:d.value,right:g.value,progression:J}});return{started:!0,validFrom:d.position,validTo:g.position,der:U}},error:{started:!0,validFrom:-1/0,validTo:1/0,der:Xp}};function gc(d,g,C){const U=C.get(d);if(U&&U.override===g)return U.merged;const X=p({},d);for(const J of Object.keys(g)){const ue=g[J],me=d[J];X[J]=typeof ue=="object"&&typeof me=="object"?gc(me,ue,C):ue===void 0?me:ue}return C.set(d,{override:g,merged:X}),X}function Ac(d,g){let C=d;for(const P of g)C=C[P];return C}var vc=Oi(),Yp=(d,g)=>{const C=vc.prism.memo(d,()=>new vc.Atom(g),[]);return C.set(g),C},vn=Oi(),eh=Oi(),bv=/\s/;function $p(d){for(var g=d.length;g--&&bv.test(d.charAt(g)););return g}var Kp=$p,Zp=/^\s+/;function xv(d){return d&&d.slice(0,Kp(d)+1).replace(Zp,"")}var Gu=xv,th=NaN,Cv=/^[-+]0x[0-9a-f]+$/i,wv=/^0b[01]+$/i,Jp=/^0o[0-7]+$/i,Sv=parseInt;
vendor: 5,438 bytes, line 4518
4518function Ev(d){if(typeof d=="number")return d;if(Pe(d))return th;if(Xe(d)){var g=typeof d.valueOf=="function"?d.valueOf():d;d=Xe(g)?g+"":g}if(typeof d!="string")return d===0?d:+d;d=Gu(d);var C=wv.test(d);return C||Jp.test(d)?Sv(d.slice(2),C?2:8):Cv.test(d)?th:+d}var O=Ev,Y=1/0,ie=17976931348623157e292;function Se(d){if(!d)return d===0?d:0;if(d=O(d),d===Y||d===-1/0){var g=d<0?-1:1;return g*ie}return d===d?d:0}var St=Se;function on(d){var g=St(d),C=g%1;return g===g?C?g-C:g:0}var rr=on;function Vs(d){return d}var em=Vs,sl=Ft(_e,"WeakMap"),yc=sl,k4=Object.create,rB=function(){function d(){}return function(g){if(!Xe(g))return{};if(k4)return k4(g);d.prototype=g;var C=new d;return d.prototype=void 0,C}}(),sB=rB;function oB(d,g){var C=-1,P=d.length;for(g||(g=Array(P));++C<P;)g[C]=d[C];return g}var aB=oB;function lB(d,g){for(var C=-1,P=d==null?0:d.length;++C<P&&g(d[C],C,d)!==!1;);return d}var cB=lB;function uB(d,g,C,P){var U=!C;C||(C={});for(var X=-1,J=g.length;++X<J;){var ue=g[X],me=P?P(C[ue],d[ue],ue,C,d):void 0;me===void 0&&(me=d[ue]),U?la(C,ue,me):Kd(C,ue,me)}return C}var tm=uB,fB=9007199254740991;function dB(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=fB}var Tv=dB;function hB(d){return d!=null&&Tv(d.length)&&!te(d)}var z4=hB,pB=Object.prototype;function mB(d){var g=d&&d.constructor,C=typeof g=="function"&&g.prototype||pB;return d===C}var Mv=mB;function gB(d,g){for(var C=-1,P=Array(d);++C<d;)P[C]=g(C);return P}var AB=gB,vB="[object Arguments]";function yB(d){return re(d)&&D(d)==vB}var H4=yB,V4=Object.prototype,_B=V4.hasOwnProperty,bB=V4.propertyIsEnumerable,xB=H4(function(){return arguments}())?H4:function(d){return re(d)&&_B.call(d,"callee")&&!bB.call(d,"callee")},G4=xB;function CB(){return!1}var wB=CB,Q4=e&&!e.nodeType&&e,W4=Q4&&!0&&n&&!n.nodeType&&n,SB=W4&&W4.exports===Q4,j4=SB?_e.Buffer:void 0,EB=j4?j4.isBuffer:void 0,TB=EB||wB,nm=TB,MB="[object Arguments]",IB="[object Array]",PB="[object Boolean]",RB="[object Date]",BB="[object Error]",DB="[object Function]",LB="[object Map]",OB="[object Number]",FB="[object Object]",UB="[object RegExp]",NB="[object Set]",kB="[object String]",zB="[object WeakMap]",HB="[object ArrayBuffer]",VB="[object DataView]",GB="[object Float32Array]",QB="[object Float64Array]",WB="[object Int8Array]",jB="[object Int16Array]",qB="[object Int32Array]",XB="[object Uint8Array]",YB="[object Uint8ClampedArray]",$B="[object Uint16Array]",KB="[object Uint32Array]",Gn={};Gn[GB]=Gn[QB]=Gn[WB]=Gn[jB]=Gn[qB]=Gn[XB]=Gn[YB]=Gn[$B]=Gn[KB]=!0,Gn[MB]=Gn[IB]=Gn[HB]=Gn[PB]=Gn[VB]=Gn[RB]=Gn[BB]=Gn[DB]=Gn[LB]=Gn[OB]=Gn[FB]=Gn[UB]=Gn[NB]=Gn[kB]=Gn[zB]=!1;function ZB(d){return re(d)&&Tv(d.length)&&!!Gn[D(d)]}var JB=ZB;function eD(d){return function(g){return d(g)}}var Iv=eD,q4=e&&!e.nodeType&&e,nh=q4&&!0&&n&&!n.nodeType&&n,tD=nh&&nh.exports===q4,Pv=tD&&Ie.process,nD=function(){try{var d=nh&&nh.require&&nh.require("util").types;return d||Pv&&Pv.binding&&Pv.binding("util")}catch{}}(),Qu=nD,X4=Qu&&Qu.isTypedArray,iD=X4?Iv(X4):JB,Y4=iD,rD=Object.prototype,sD=rD.hasOwnProperty;function oD(d,g){var C=H(d),P=!C&&G4(d),U=!C&&!P&&nm(d),X=!C&&!P&&!U&&Y4(d),J=C||P||U||X,ue=J?AB(d.length,String):[],me=ue.length;for(var Ee in d)(g||sD.call(d,Ee))&&!(J&&(Ee=="length"||U&&(Ee=="offset"||Ee=="parent")||X&&(Ee=="buffer"||Ee=="byteLength"||Ee=="byteOffset")||Zd(Ee,me)))&&ue.push(Ee);return ue}var $4=oD;function aD(d,g){return function(C){return d(g(C))}}var K4=aD,lD=K4(Object.keys,Object),cD=lD,uD=Object.prototype,fD=uD.hasOwnProperty;function dD(d){if(!Mv(d))return cD(d);var g=[];for(var C in Object(d))fD.call(d,C)&&C!="constructor"&&g.push(C);return g}var hD=dD;function pD(d){return z4(d)?$4(d):hD(d)}var ih=pD;function mD(d){var g=[];if(d!=null)for(var C in Object(d))g.push(C);return g}var gD=mD,AD=Object.prototype,vD=AD.hasOwnProperty;function yD(d){if(!Xe(d))return gD(d);var g=Mv(d),C=[];for(var P in d)P=="constructor"&&(g||!vD.call(d,P))||C.push(P);return C}var _D=yD;function bD(d){return z4(d)?$4(d,!0):_D(d)}var Rv=bD;function xD(d,g){for(var C=-1,P=g.length,U=d.length;++C<P;)d[U+C]=g[C];return d}var Z4=xD,CD=K4(Object.getPrototypeOf,Object),Bv=CD,wD="[object Object]",SD=Function.prototype,ED=Object.prototype,J4=SD.toString,TD=ED.hasOwnProperty,MD=J4.call(Object);function ID(d){if(!re(d)||D(d)!=wD)return!1;var g=Bv(d);if(g===null)return!0;var C=TD.call(g,"constructor")&&g.constructor;return typeof C=="function"&&C instanceof C&&J4.call(C)==MD}var PD=ID;function RD(d,g,C){var P=-1,U=d.length;g<0&&(g=-g>U?0:U+g),C=C>U?U:C,C<0&&(C+=U),U=g>C?0:C-g>>>0,g>>>=0;for(var X=Array(U);++P<U;)X[P]=d[P+g];return X}var e9=RD;function BD(d,g,C){var P=d.length;return C=C===void 0?P:C,!g&&C>=P?d:e9(d,g,C)}var DD=BD,LD="\\ud800-\\udfff",OD="\\u0300-\\u036f",FD="\\ufe20-\\ufe2f",UD="\\u20d0-\\u20ff",ND=OD+FD+UD,kD="\\ufe0e\\ufe0f",zD="\\u200d",HD=RegExp("["+zD+LD+ND+kD+"]");function VD(d){return HD.test(d)}var Dv=VD;function GD(d){return d.split("")}var QD=GD,t9="\\ud800-\\udfff",WD="\\u0300-\\u036f",jD="\\ufe20-\\ufe2f",qD="\\u20d0-\\u20ff",XD=WD+jD+qD,YD="\\ufe0e\\ufe0f",$D="["+t9+"]",Lv="["+XD+"]",Ov="\\ud83c[\\udffb-\\udfff]",KD="(?:"+Lv+"|"+Ov+")",n9="[^"+t9+"]",i9="(?:\\ud83c[\\udde6-\\uddff]){2}",r9="[\\ud800-\\udbff][\\udc00-\\udfff]",ZD="\\u200d",s9=KD+"?",o9="["+YD+"]?",JD="(?:"+ZD+"(?:"+[n9,i9,r9].join("|")+")"+o9+s9+")*",eL=o9+s9+JD,tL="(?:"+[n9+Lv+"?",Lv,i9,r9,$D].join("|")+")",nL=RegExp(Ov+"(?="+Ov+")|"+tL+eL,"g");function iL(d){return d.match(nL)||[]}
4518var rL=iL;function sL(d){return Dv(d)?rL(d):QD(d)}var oL=sL;function aL(d,g,C){return d===d&&(C!==void 0&&(d=d<=C?d:C),g!==void 0&&(d=d>=g?d:g)),d}var lL=aL;function cL(d,g,C){return C===void 0&&(C=g,g=void 0),C!==void 0&&(C=O(C),C=C===C?C:0),g!==void 0&&(g=O(g),g=g===g?g:0),lL(O(d),g,C)}var a9=cL;function uL(){this.__data__=new Uu,this.size=0}var fL=uL;function dL(d){var g=this.__data__,C=g.delete(d);return this.size=g.size,C}var hL=dL;function pL(d){return this.__data__.get(d)}var mL=pL;function gL(d){return this.__data__.has(d)}var AL=gL,vL=200;function yL(d,g){var C=this.__data__;if(C instanceof Uu){var P=C.__data__;if(!fc||P.length<vL-1)return P.push([d,g]),this.size=++C.size,this;C=this.__data__=new Nu(P)}return C.set(d,g),this.size=C.size,this}var _L=yL;function Wu(d){var g=this.__data__=new Uu(d);this.size=g.size}Wu.prototype.clear=fL,Wu.prototype.delete=hL,Wu.prototype.get=mL,Wu.prototype.has=AL,Wu.prototype.set=_L;var rh=Wu;function bL(d,g){return d&&tm(g,ih(g),d)}var xL=bL;function CL(d,g){return d&&tm(g,Rv(g),d)}var wL=CL,l9=e&&!e.nodeType&&e,c9=l9&&!0&&n&&!n.nodeType&&n,SL=c9&&c9.exports===l9,u9=SL?_e.Buffer:void 0,f9=u9?u9.allocUnsafe:void 0;function EL(d,g){if(g)return d.slice();var C=d.length,P=f9?f9(C):new d.constructor(C);return d.copy(P),P}var TL=EL;function ML(d,g){for(var C=-1,P=d==null?0:d.length,U=0,X=[];++C<P;){var J=d[C];g(J,C,d)&&(X[U++]=J)}return X}var IL=ML;function PL(){return[]}var d9=PL,RL=Object.prototype,BL=RL.propertyIsEnumerable,h9=Object.getOwnPropertySymbols,DL=h9?function(d){return d==null?[]:(d=Object(d),IL(h9(d),function(g){return BL.call(d,g)}))}:d9,Fv=DL;function LL(d,g){return tm(d,Fv(d),g)}var OL=LL,FL=Object.getOwnPropertySymbols,UL=FL?function(d){for(var g=[];d;)Z4(g,Fv(d)),d=Bv(d);return g}:d9,p9=UL;function NL(d,g){return tm(d,p9(d),g)}var kL=NL;function zL(d,g,C){var P=g(d);return H(d)?P:Z4(P,C(d))}var m9=zL;function HL(d){return m9(d,ih,Fv)}var Uv=HL;function VL(d){return m9(d,Rv,p9)}var GL=VL,QL=Ft(_e,"DataView"),Nv=QL,WL=Ft(_e,"Promise"),kv=WL,jL=Ft(_e,"Set"),zv=jL,g9="[object Map]",qL="[object Object]",A9="[object Promise]",v9="[object Set]",y9="[object WeakMap]",_9="[object DataView]",XL=$e(Nv),YL=$e(fc),$L=$e(kv),KL=$e(zv),ZL=$e(yc),_c=D;(Nv&&_c(new Nv(new ArrayBuffer(1)))!=_9||fc&&_c(new fc)!=g9||kv&&_c(kv.resolve())!=A9||zv&&_c(new zv)!=v9||yc&&_c(new yc)!=y9)&&(_c=function(d){var g=D(d),C=g==qL?d.constructor:void 0,P=C?$e(C):"";if(P)switch(P){case XL:return _9;case YL:return g9;case $L:return A9;case KL:return v9;case ZL:return y9}return g});var sh=_c,JL=Object.prototype,eO=JL.hasOwnProperty;function tO(d){var g=d.length,C=new d.constructor(g);return g&&typeof d[0]=="string"&&eO.call(d,"index")&&(C.index=d.index,C.input=d.input),C}var nO=tO,iO=_e.Uint8Array,im=iO;function rO(d){var g=new d.constructor(d.byteLength);return new im(g).set(new im(d)),g}var Hv=rO;function sO(d,g){var C=g?Hv(d.buffer):d.buffer;return new d.constructor(C,d.byteOffset,d.byteLength)}var oO=sO,aO=/\w*$/;function lO(d){var g=new d.constructor(d.source,aO.exec(d));return g.lastIndex=d.lastIndex,g}var cO=lO,b9=Z?Z.prototype:void 0,x9=b9?b9.valueOf:void 0;function uO(d){return x9?Object(x9.call(d)):{}}var fO=uO;function dO(d,g){var C=g?Hv(d.buffer):d.buffer;return new d.constructor(C,d.byteOffset,d.length)}var hO=dO,pO="[object Boolean]",mO="[object Date]",gO="[object Map]",AO="[object Number]",vO="[object RegExp]",yO="[object Set]",_O="[object String]",bO="[object Symbol]",xO="[object ArrayBuffer]",CO="[object DataView]",wO="[object Float32Array]",SO="[object Float64Array]",EO="[object Int8Array]",TO="[object Int16Array]",MO="[object Int32Array]",IO="[object Uint8Array]",PO="[object Uint8ClampedArray]",RO="[object Uint16Array]",BO="[object Uint32Array]";function DO(d,g,C){var P=d.constructor;switch(g){case xO:return Hv(d);case pO:case mO:return new P(+d);case CO:return oO(d,C);case wO:case SO:case EO:case TO:case MO:case IO:case PO:case RO:case BO:return hO(d,C);case gO:return new P;case AO:case _O:return new P(d);case vO:return cO(d);case yO:return new P;case bO:return fO(d)}}var LO=DO;function OO(d){return typeof d.constructor=="function"&&!Mv(d)?sB(Bv(d)):{}}var FO=OO,UO="[object Map]";function NO(d){return re(d)&&sh(d)==UO}var kO=NO,C9=Qu&&Qu.isMap,zO=C9?Iv(C9):kO,HO=zO,VO="[object Set]";function GO(d){return re(d)&&sh(d)==VO}
vendor: 4,343 bytes, line 4518
4518var QO=GO,w9=Qu&&Qu.isSet,WO=w9?Iv(w9):QO,jO=WO,qO=1,XO=2,YO=4,S9="[object Arguments]",$O="[object Array]",KO="[object Boolean]",ZO="[object Date]",JO="[object Error]",E9="[object Function]",eF="[object GeneratorFunction]",tF="[object Map]",nF="[object Number]",T9="[object Object]",iF="[object RegExp]",rF="[object Set]",sF="[object String]",oF="[object Symbol]",aF="[object WeakMap]",lF="[object ArrayBuffer]",cF="[object DataView]",uF="[object Float32Array]",fF="[object Float64Array]",dF="[object Int8Array]",hF="[object Int16Array]",pF="[object Int32Array]",mF="[object Uint8Array]",gF="[object Uint8ClampedArray]",AF="[object Uint16Array]",vF="[object Uint32Array]",Ln={};Ln[S9]=Ln[$O]=Ln[lF]=Ln[cF]=Ln[KO]=Ln[ZO]=Ln[uF]=Ln[fF]=Ln[dF]=Ln[hF]=Ln[pF]=Ln[tF]=Ln[nF]=Ln[T9]=Ln[iF]=Ln[rF]=Ln[sF]=Ln[oF]=Ln[mF]=Ln[gF]=Ln[AF]=Ln[vF]=!0,Ln[JO]=Ln[E9]=Ln[aF]=!1;function rm(d,g,C,P,U,X){var J,ue=g&qO,me=g&XO,Ee=g&YO;if(C&&(J=U?C(d,P,U,X):C(d)),J!==void 0)return J;if(!Xe(d))return d;var Ve=H(d);if(Ve){if(J=nO(d),!ue)return aB(d,J)}else{var Ge=sh(d),nt=Ge==E9||Ge==eF;if(nm(d))return TL(d,ue);if(Ge==T9||Ge==S9||nt&&!U){if(J=me||nt?{}:FO(d),!ue)return me?kL(d,wL(J,d)):OL(d,xL(J,d))}else{if(!Ln[Ge])return U?d:{};J=LO(d,Ge,ue)}}X||(X=new rh);var vt=X.get(d);if(vt)return vt;X.set(d,J),jO(d)?d.forEach(function(kt){J.add(rm(kt,g,C,kt,d,X))}):HO(d)&&d.forEach(function(kt,It){J.set(It,rm(kt,g,C,It,d,X))});var ft=Ee?me?GL:Uv:me?Rv:ih,Dt=Ve?void 0:ft(d);return cB(Dt||d,function(kt,It){Dt&&(It=kt,kt=d[It]),Kd(J,It,rm(kt,g,C,It,d,X))}),J}var yF=rm,_F=1,bF=4;function xF(d){return yF(d,_F|bF)}var CF=xF,wF="__lodash_hash_undefined__";function SF(d){return this.__data__.set(d,wF),this}var EF=SF;function TF(d){return this.__data__.has(d)}var MF=TF;function sm(d){var g=-1,C=d==null?0:d.length;for(this.__data__=new Nu;++g<C;)this.add(d[g])}sm.prototype.add=sm.prototype.push=EF,sm.prototype.has=MF;var IF=sm;function PF(d,g){for(var C=-1,P=d==null?0:d.length;++C<P;)if(g(d[C],C,d))return!0;return!1}var RF=PF;function BF(d,g){return d.has(g)}var DF=BF,LF=1,OF=2;function FF(d,g,C,P,U,X){var J=C&LF,ue=d.length,me=g.length;if(ue!=me&&!(J&&me>ue))return!1;var Ee=X.get(d),Ve=X.get(g);if(Ee&&Ve)return Ee==g&&Ve==d;var Ge=-1,nt=!0,vt=C&OF?new IF:void 0;for(X.set(d,g),X.set(g,d);++Ge<ue;){var ft=d[Ge],Dt=g[Ge];if(P)var kt=J?P(Dt,ft,Ge,g,d,X):P(ft,Dt,Ge,d,g,X);if(kt!==void 0){if(kt)continue;nt=!1;break}if(vt){if(!RF(g,function(It,un){if(!DF(vt,un)&&(ft===It||U(ft,It,C,P,X)))return vt.push(un)})){nt=!1;break}}else if(!(ft===Dt||U(ft,Dt,C,P,X))){nt=!1;break}}return X.delete(d),X.delete(g),nt}var M9=FF;function UF(d){var g=-1,C=Array(d.size);return d.forEach(function(P,U){C[++g]=[U,P]}),C}var NF=UF;function kF(d){var g=-1,C=Array(d.size);return d.forEach(function(P){C[++g]=P}),C}var zF=kF,HF=1,VF=2,GF="[object Boolean]",QF="[object Date]",WF="[object Error]",jF="[object Map]",qF="[object Number]",XF="[object RegExp]",YF="[object Set]",$F="[object String]",KF="[object Symbol]",ZF="[object ArrayBuffer]",JF="[object DataView]",I9=Z?Z.prototype:void 0,Vv=I9?I9.valueOf:void 0;function eU(d,g,C,P,U,X,J){switch(C){case JF:if(d.byteLength!=g.byteLength||d.byteOffset!=g.byteOffset)return!1;d=d.buffer,g=g.buffer;case ZF:return!(d.byteLength!=g.byteLength||!X(new im(d),new im(g)));case GF:case QF:case qF:return At(+d,+g);case WF:return d.name==g.name&&d.message==g.message;case XF:case $F:return d==g+"";case jF:var ue=NF;case YF:var me=P&HF;if(ue||(ue=zF),d.size!=g.size&&!me)return!1;var Ee=J.get(d);if(Ee)return Ee==g;P|=VF,J.set(d,g);var Ve=M9(ue(d),ue(g),P,U,X,J);return J.delete(d),Ve;case KF:if(Vv)return Vv.call(d)==Vv.call(g)}return!1}var tU=eU,nU=1,iU=Object.prototype,rU=iU.hasOwnProperty;function sU(d,g,C,P,U,X){var J=C&nU,ue=Uv(d),me=ue.length,Ee=Uv(g),Ve=Ee.length;if(me!=Ve&&!J)return!1;for(var Ge=me;Ge--;){var nt=ue[Ge];if(!(J?nt in g:rU.call(g,nt)))return!1}var vt=X.get(d),ft=X.get(g);if(vt&&ft)return vt==g&&ft==d;var Dt=!0;X.set(d,g),X.set(g,d);for(var kt=J;++Ge<me;){nt=ue[Ge];var It=d[nt],un=g[nt];if(P)var mr=J?P(un,It,nt,g,d,X):P(It,un,nt,d,g,X);if(!(mr===void 0?It===un||U(It,un,C,P,X):mr)){Dt=!1;break}kt||(kt=nt=="constructor")}if(Dt&&!kt){var ss=d.constructor,gr=g.constructor;ss!=gr&&"constructor"in d&&"constructor"in g&&!(typeof ss=="function"&&ss instanceof ss&&typeof gr=="function"&&gr instanceof gr)&&(Dt=!1)}
4518return X.delete(d),X.delete(g),Dt}var oU=sU,aU=1,P9="[object Arguments]",R9="[object Array]",om="[object Object]",lU=Object.prototype,B9=lU.hasOwnProperty;function cU(d,g,C,P,U,X){var J=H(d),ue=H(g),me=J?R9:sh(d),Ee=ue?R9:sh(g);me=me==P9?om:me,Ee=Ee==P9?om:Ee;var Ve=me==om,Ge=Ee==om,nt=me==Ee;if(nt&&nm(d)){if(!nm(g))return!1;J=!0,Ve=!1}if(nt&&!Ve)return X||(X=new rh),J||Y4(d)?M9(d,g,C,P,U,X):tU(d,g,me,C,P,U,X);if(!(C&aU)){var vt=Ve&&B9.call(d,"__wrapped__"),ft=Ge&&B9.call(g,"__wrapped__");if(vt||ft){var Dt=vt?d.value():d,kt=ft?g.value():g;return X||(X=new rh),U(Dt,kt,C,P,X)}}return nt?(X||(X=new rh),oU(d,g,C,P,U,X)):!1}var uU=cU;function D9(d,g,C,P,U){return d===g?!0:d==null||g==null||!re(d)&&!re(g)?d!==d&&g!==g:uU(d,g,C,P,D9,U)}var L9=D9,fU=1,dU=2;function hU(d,g,C,P){var U=C.length,X=U,J=!P;if(d==null)return!X;for(d=Object(d);U--;){var ue=C[U];if(J&&ue[2]?ue[1]!==d[ue[0]]:!(ue[0]in d))return!1}for(;++U<X;){ue=C[U];var me=ue[0],Ee=d[me],Ve=ue[1];if(J&&ue[2]){if(Ee===void 0&&!(me in d))return!1}else{var Ge=new rh;if(P)var nt=P(Ee,Ve,me,d,g,Ge);if(!(nt===void 0?L9(Ve,Ee,fU|dU,P,Ge):nt))return!1}}return!0}var pU=hU;function mU(d){return d===d&&!Xe(d)}var O9=mU;function gU(d){for(var g=ih(d),C=g.length;C--;){var P=g[C],U=d[P];g[C]=[P,U,O9(U)]}return g}var AU=gU;function vU(d,g){return function(C){return C==null?!1:C[d]===g&&(g!==void 0||d in Object(C))}}var F9=vU;function yU(d){var g=AU(d);return g.length==1&&g[0][2]?F9(g[0][0],g[0][1]):function(C){return C===d||pU(C,d,g)}}var _U=yU;function bU(d,g){return d!=null&&g in Object(d)}var xU=bU;function CU(d,g,C){g=hc(g,d);for(var P=-1,U=g.length,X=!1;++P<U;){var J=fo(g[P]);if(!(X=d!=null&&C(d,J)))break;d=d[J]}return X||++P!=U?X:(U=d==null?0:d.length,!!U&&Tv(U)&&Zd(J,U)&&(H(d)||G4(d)))}var wU=CU;function SU(d,g){return d!=null&&wU(d,g,xU)}var EU=SU,TU=1,MU=2;function IU(d,g){return Be(d)&&O9(g)?F9(fo(d),g):function(C){var P=aa(C,d);return P===void 0&&P===g?EU(C,d):L9(g,P,TU|MU)}}var PU=IU;function RU(d){return function(g){return g==null?void 0:g[d]}}var U9=RU;function BU(d){return function(g){return zu(g,d)}}var DU=BU;function LU(d){return Be(d)?U9(fo(d)):DU(d)}var OU=LU;function FU(d){return typeof d=="function"?d:d==null?em:typeof d=="object"?H(d)?PU(d[0],d[1]):_U(d):OU(d)}var UU=FU;function NU(d){return function(g,C,P){for(var U=-1,X=Object(g),J=P(g),ue=J.length;ue--;){var me=J[d?ue:++U];if(C(X[me],me,X)===!1)break}return g}}var kU=NU,zU=kU(),HU=zU;function VU(d,g){return d&&HU(d,g,ih)}var GU=VU,QU=function(){return _e.Date.now()},Gv=QU,WU="Expected a function",jU=Math.max,qU=Math.min;function XU(d,g,C){var P,U,X,J,ue,me,Ee=0,Ve=!1,Ge=!1,nt=!0;if(typeof d!="function")throw new TypeError(WU);g=O(g)||0,Xe(C)&&(Ve=!!C.leading,Ge="maxWait"in C,X=Ge?jU(O(C.maxWait)||0,g):X,nt="trailing"in C?!!C.trailing:nt);function vt(Mn){var Ar=P,xs=U;return P=U=void 0,Ee=Mn,J=d.apply(xs,Ar),J}function ft(Mn){return Ee=Mn,ue=setTimeout(It,g),Ve?vt(Mn):J}function Dt(Mn){var Ar=Mn-me,xs=Mn-Ee,Oo=g-Ar;return Ge?qU(Oo,X-xs):Oo}function kt(Mn){var Ar=Mn-me,xs=Mn-Ee;return me===void 0||Ar>=g||Ar<0||Ge&&xs>=X}function It(){var Mn=Gv();if(kt(Mn))return un(Mn);ue=setTimeout(It,Dt(Mn))}function un(Mn){return ue=void 0,nt&&P?vt(Mn):(P=U=void 0,J)}function mr(){ue!==void 0&&clearTimeout(ue),Ee=0,P=me=U=ue=void 0}function ss(){return ue===void 0?J:un(Gv())}function gr(){var Mn=Gv(),Ar=kt(Mn);if(P=arguments,U=this,me=Mn,Ar){if(ue===void 0)return ft(me);if(Ge)return clearTimeout(ue),ue=setTimeout(It,g),vt(me)}return ue===void 0&&(ue=setTimeout(It,g)),J}return gr.cancel=mr,gr.flush=ss,gr}var YU=XU;function $U(d){var g=d==null?0:d.length;return g?d[g-1]:void 0}var KU=$U;function ZU(d,g){return g.length<2?d:zu(d,e9(g,0,-1))}var JU=ZU;function eN(d){return typeof d=="number"&&d==rr(d)}var tN=eN;function nN(d,g){var C={};return g=UU(g),GU(d,function(P,U,X){la(C,U,g(P,U,X))}),C}var iN=nN;function rN(d,g){return g=hc(g,d),d=JU(d,g),d==null||delete d[fo(KU(g))]}var sN=rN,oN=9007199254740991,aN=Math.floor;function lN(d,g){var C="";if(!d||g<1||g>oN)return C;do g%2&&(C+=d),g=aN(g/2),g&&(d+=d);while(g);return C}var N9=lN,cN=U9("length"),uN=cN,k9="\\ud800-\\udfff",fN="\\u0300-\\u036f",dN="\\ufe20-\\ufe2f",hN="\\u20d0-\\u20ff",pN=fN+dN+hN,mN="\\ufe0e\\ufe0f",gN="["+k9+"]",Qv="["+pN+"]",Wv="\\ud83c[\\udffb-\\udfff]",AN="(?:"+Qv+"|"+Wv+")",z9="[^"+k9+"]",H9="(?:\\ud83c[\\udde6-\\uddff]){2}",V9="[\\ud800-\\udbff][\\udc00-\\udfff]",vN="\\u200d",G9=AN+"?",Q9="["+mN+"]?",yN="(?:"+vN+"(?:"+[z9,H9,V9].join("|")+")"+Q9+G9+")*",_N=Q9+G9+yN,bN="(?:"+[z9+Qv+"?",Qv,H9,V9,gN].join("|")+")",W9=RegExp(Wv+"(?="+Wv+")|"+bN+_N,"g");function xN(d){for(var g=W9.lastIndex=0;W9.test(d);)++g;return g}var CN=xN;function wN(d){return Dv(d)?CN(d):uN(d)}var j9=wN,SN=Math.ceil;function EN(d,g){g=g===void 0?" ":zp(g);var C=g.length;if(C<2)return C?N9(g,d):g;var P=N9(g,SN(d/j9(g)));return Dv(g)?DD(oL(P),0,d).join(""):P.slice(0,d)}var TN=EN;function MN(d,g,C){d=ku(d),g=rr(g);var P=g?j9(d):0;return g&&P<g?TN(g-P,C)+d:d}var oh=MN;function IN(d,g){return d==null?!0:sN(d,g)}var q9=IN,PN=5*1e3,RN=class{constructor(d){_(this,"_cache",new rl),_(this,"_keepHotUntapDebounce"),Q(this,d)}get type(){return"Theatre_SheetObject_PublicAPI"}get props(){return N(this).propsP}get sheet(){return N(this).sheet.publicApi}get project(){return N(this).sheet.project.publicApi}get address(){return p({},N(this).address)}_valuesPrism(){return this._cache.get("_valuesPrism",()=>{const d=N(this);return(0,eh.prism)(()=>(0,eh.val)(d.getValues().getValue()))})}onValuesChange(d,g){return g2(this._valuesPrism(),d,g)}get value(){const d=this._valuesPrism();{if(!d.isHot){this._keepHotUntapDebounce!=null&&this._keepHotUntapDebounce.flush();const g=d.keepHot();this._keepHotUntapDebounce=YU(()=>{g(),this._keepHotUntapDebounce=void 0}
4518,PN)}this._keepHotUntapDebounce&&this._keepHotUntapDebounce()}return d.getValue()}set initialValue(d){N(this).setInitialValue(d)}};function BN(d){const g=new WeakMap;return C=>(g.has(C)||g.set(C,d(C)),g.get(C))}function am(d){return d.type==="compound"||d.type==="enum"}function jv(d,g){if(!d)return;const[C,...P]=g;if(C===void 0)return d;if(!am(d))return;const U=d.type==="enum"?d.cases[C]:d.props[C];return jv(U,P)}function DN(d){return!am(d)}var LN=class{constructor(d,g,C){this.sheet=d,this.template=g,this.nativeObject=C,_(this,"$$isPointerToPrismProvider",!0),_(this,"address"),_(this,"publicApi"),_(this,"_initialValue",new vn.Atom({})),_(this,"_cache",new rl),_(this,"_logger"),_(this,"_internalUtilCtx"),this._logger=d._logger.named("SheetObject",g.address.objectKey),this._logger._trace("creating object"),this._internalUtilCtx={logger:this._logger.utilFor.internal()},this.address=m(p({},g.address),{sheetInstanceId:d.address.sheetInstanceId}),this.publicApi=new RN(this)}get type(){return"Theatre_SheetObject"}getValues(){return this._cache.get("getValues()",()=>(0,vn.prism)(()=>{const d=(0,vn.val)(this.template.getDefaultValues()),g=(0,vn.val)(this._initialValue.pointer),C=vn.prism.memo("withInitialCache",()=>new WeakMap,[]),P=gc(d,g,C),U=(0,vn.val)(this.template.getStaticValues()),X=vn.prism.memo("withStatics",()=>new WeakMap,[]);let ue=gc(P,U,X),me;{const Ve=vn.prism.memo("seq",()=>this.getSequencedValues(),[]),Ge=vn.prism.memo("withSeqsCache",()=>new WeakMap,[]);me=(0,vn.val)((0,vn.val)(Ve)),ue=gc(ue,me,Ge)}return Yp("finalAtom",ue).pointer}))}getValueByPointer(d){const g=(0,vn.val)(this.getValues()),{path:C}=(0,vn.getPointerParts)(d);return(0,vn.val)(Ac(g,C))}pointerToPrism(d){const{path:g}=(0,vn.getPointerParts)(d);return(0,vn.prism)(()=>{const C=(0,vn.val)(this.getValues());return(0,vn.val)(Ac(C,g))})}getSequencedValues(){return(0,vn.prism)(()=>{const d=vn.prism.memo("tracksToProcess",()=>this.template.getArrayOfValidSequenceTracks(),[]),g=(0,vn.val)(d),C=new vn.Atom({}),P=(0,vn.val)(this.template.configPointer);return vn.prism.effect("processTracks",()=>{const U=[];for(const{trackId:X,pathToProp:J}of g){const ue=this._trackIdToPrism(X),me=jv(P,J),Ee=me.deserializeAndSanitize,Ve=me.interpolate,Ge=()=>{const vt=ue.getValue();if(!vt)return C.setByPointer(un=>Ac(un,J),void 0);const ft=Ee(vt.left),Dt=ft===void 0?me.default:ft;if(vt.right===void 0)return C.setByPointer(un=>Ac(un,J),Dt);const kt=Ee(vt.right),It=kt===void 0?me.default:kt;return C.setByPointer(un=>Ac(un,J),Ve(Dt,It,vt.progression))},nt=ue.onStale(Ge);Ge(),U.push(nt)}return()=>{for(const X of U)X()}},[P,...g]),C.pointer})}_trackIdToPrism(d){const g=this.template.project.pointers.historic.sheetsById[this.address.sheetId].sequence.tracksByObject[this.address.objectKey].trackData[d],C=this.sheet.getSequence().positionPrism;return vv(this._internalUtilCtx,g,C)}get propsP(){return this._cache.get("propsP",()=>(0,vn.pointer)({root:this,path:[]}))}validateValue(d,g){}setInitialValue(d){this.validateValue(this.propsP,d),this._initialValue.set(d)}};function On(d){return function(C,P){return d(C,P())}}var ys={_hmm:_s(524),_todo:_s(522),_error:_s(521),errorDev:_s(529),errorPublic:_s(545),_kapow:_s(268),_warn:_s(265),warnDev:_s(273),warnPublic:_s(289),_debug:_s(137),debugDev:_s(145),_trace:_s(73),traceDev:_s(81)};function _s(d){return Object.freeze({audience:bc(d,8)?"internal":bc(d,16)?"dev":"public",category:bc(d,4)?"troubleshooting":bc(d,2)?"todo":"general",level:bc(d,512)?512:bc(d,256)?256:bc(d,128)?128:64})}function bc(d,g){return(d&g)===g}function Fn(d,g){return((g&32)===32?!0:(g&16)===16?d.dev:(g&8)===8?d.internal:!1)&&d.min<=g}var ca={loggingConsoleStyle:!0,loggerConsoleStyle:!0,includes:Object.freeze({internal:!1,dev:!1,min:256}),filtered:function(){},include:function(){return{}},create:null,creatExt:null,named(d,g,C){return this.create({names:[...d.names,{name:g,key:C}]})},style:{bold:void 0,italic:void 0,cssMemo:new Map([["",""]]),collapseOnRE:/[a-z- ]+/g,color:void 0,collapsed(d){if(d.length<5)return d;const g=d.replace(this.collapseOnRE,"");return this.cssMemo.has(g)||this.cssMemo.set(g,this.css(d)),g},css(d){var g,C,P,U;const X=this.cssMemo.get(d);if(X)return X;let J="color:".concat((C=(g=this.color)==null?void 0:g.call(this,d))!=null?C:"hsl(".concat((d.charCo
4518deAt(0)+d.charCodeAt(d.length-1))%360,", 100%, 60%)"));return(P=this.bold)!=null&&P.test(d)&&(J+=";font-weight:600"),(U=this.italic)!=null&&U.test(d)&&(J+=";font-style:italic"),this.cssMemo.set(d,J),J}}};function X9(d=console,g={}){const C=m(p({},ca),{includes:p({},ca.includes)}),P={styled:UN.bind(C,d),noStyle:kN.bind(C,d)},U=FN.bind(C);function X(){return C.loggingConsoleStyle&&C.loggerConsoleStyle?P.styled:P.noStyle}return C.create=X(),{configureLogger(J){var ue;J==="console"?(C.loggerConsoleStyle=ca.loggerConsoleStyle,C.create=X()):J.type==="console"?(C.loggerConsoleStyle=(ue=J.style)!=null?ue:ca.loggerConsoleStyle,C.create=X()):J.type==="keyed"?(C.creatExt=me=>J.keyed(me.names),C.create=U):J.type==="named"&&(C.creatExt=ON.bind(null,J.named),C.create=U)},configureLogging(J){var ue,me,Ee,Ve,Ge;C.includes.dev=(ue=J.dev)!=null?ue:ca.includes.dev,C.includes.internal=(me=J.internal)!=null?me:ca.includes.internal,C.includes.min=(Ee=J.min)!=null?Ee:ca.includes.min,C.include=(Ve=J.include)!=null?Ve:ca.include,C.loggingConsoleStyle=(Ge=J.consoleStyle)!=null?Ge:ca.loggingConsoleStyle,C.create=X()},getLogger(){return C.create({names:[]})}}}function ON(d,g){const C=[];for(let{name:P,key:U}of g.names)C.push(U==null?P:"".concat(P," (").concat(U,")"));return d(C)}function FN(d){const g=p(p({},this.includes),this.include(d)),C=this.filtered,P=this.named.bind(this,d),U=this.creatExt(d),X=Fn(g,524),J=Fn(g,522),ue=Fn(g,521),me=Fn(g,529),Ee=Fn(g,545),Ve=Fn(g,265),Ge=Fn(g,268),nt=Fn(g,273),vt=Fn(g,289),ft=Fn(g,137),Dt=Fn(g,145),kt=Fn(g,73),It=Fn(g,81),un=X?U.error.bind(U,ys._hmm):C.bind(d,524),mr=J?U.error.bind(U,ys._todo):C.bind(d,522),ss=ue?U.error.bind(U,ys._error):C.bind(d,521),gr=me?U.error.bind(U,ys.errorDev):C.bind(d,529),Mn=Ee?U.error.bind(U,ys.errorPublic):C.bind(d,545),Ar=Ge?U.warn.bind(U,ys._kapow):C.bind(d,268),xs=Ve?U.warn.bind(U,ys._warn):C.bind(d,265),Oo=nt?U.warn.bind(U,ys.warnDev):C.bind(d,273),Tc=vt?U.warn.bind(U,ys.warnPublic):C.bind(d,273),Mc=ft?U.debug.bind(U,ys._debug):C.bind(d,137),Ic=Dt?U.debug.bind(U,ys.debugDev):C.bind(d,145),Pc=kt?U.trace.bind(U,ys._trace):C.bind(d,73),Rc=It?U.trace.bind(U,ys.traceDev):C.bind(d,81),wi={_hmm:un,_todo:mr,_error:ss,errorDev:gr,errorPublic:Mn,_kapow:Ar,_warn:xs,warnDev:Oo,warnPublic:Tc,_debug:Mc,debugDev:Ic,_trace:Pc,traceDev:Rc,lazy:{_hmm:X?On(un):un,_todo:J?On(mr):mr,_error:ue?On(ss):ss,errorDev:me?On(gr):gr,errorPublic:Ee?On(Mn):Mn,_kapow:Ge?On(Ar):Ar,_warn:Ve?On(xs):xs,warnDev:nt?On(Oo):Oo,warnPublic:vt?On(Tc):Tc,_debug:ft?On(Mc):Mc,debugDev:Dt?On(Ic):Ic,_trace:kt?On(Pc):Pc,traceDev:It?On(Rc):Rc},named:P,utilFor:{internal(){return{debug:wi._debug,error:wi._error,warn:wi._warn,trace:wi._trace,named(Cs,Un){return wi.named(Cs,Un).utilFor.internal()}}},dev(){return{debug:wi.debugDev,error:wi.errorDev,warn:wi.warnDev,trace:wi.traceDev,named(Cs,Un){return wi.named(Cs,Un).utilFor.dev()}}},public(){return{error:wi.errorPublic,warn:wi.warnPublic,debug(Cs,Un){wi._warn('(public "debug" filtered out) '.concat(Cs),Un)},trace(Cs,Un){wi._warn('(public "trace" filtered out) '.concat(Cs),Un)},named(Cs,Un){return wi.named(Cs,Un).utilFor.public()}}}}};return wi}function UN(d,g){const C=p(p({},this.includes),this.include(g)),P=[];let U="";for(let me=0;me<g.names.length;me++){const{name:Ee,key:Ve}=g.names[me];if(U+=" %c".concat(Ee),P.push(this.style.css(Ee)),Ve!=null){const Ge="%c#".concat(Ve);U+=Ge,P.push(this.style.css(Ge))}}const X=this.filtered,J=this.named.bind(this,g),ue=[U,...P];return Y9(X,g,C,d,ue,NN(ue),J)}function NN(d){const g=d.slice(0);for(let C=1;C<g.length;C++)g[C]+=";background-color:#e0005a;padding:2px;color:white";return g}function kN(d,g){const C=p(p({},this.includes),this.include(g));let P="";for(let ue=0;ue<g.names.length;ue++){const{name:me,key:Ee}=g.names[ue];P+=" ".concat(me),Ee!=null&&(P+="#".concat(Ee))}const U=this.filtered,X=this.named.bind(this,g),J=[P];return Y9(U,g,C,d,J,J,X)}function Y9(d,g,C,P,U,X,J){const ue=Fn(C,524),me=Fn(C,522),Ee=Fn(C,521),Ve=Fn(C,529),Ge=Fn(C,545),nt=Fn(C,265),vt=Fn(C,268),ft=Fn(C,273),Dt=Fn(C,289),kt=Fn(C,137),It=Fn(C,145),un=Fn(C,73),mr=Fn(C,81),ss=ue?P.error.bind(P,...U):d.bind(g,524),gr=me?P.error.bind(P,...U):d.bind(g,522),Mn=Ee?P.error.bind(P,...U):d.bind(g,521),Ar=Ve?P.error.bind(P,...U):d.bind(g,529),xs=Ge?P.error.bind(P,...U):d.bind(g,545),Oo=vt?P.warn.bind(P,...X):d.bind(g,268),Tc=nt?P.warn.bind(P,...U):d.bind(g,265),Mc=ft?P.warn.bind(P,...U):d.bind(g,273),Ic=Dt?P.warn.bind(P,...U):d.bind(g,273),Pc=kt?P.info.bind(P,...U):d.bind(g,137),Rc=It?P.info.bind(P,...U):d.bind(g,145),wi=un?P.debug.bind(P,...U):d.bind(g,73),Cs=mr?P.debug.bind(P,...U):d.bind(g,81),Un={_hmm:ss,_todo:gr,_error:Mn,errorDev:Ar,errorPublic:xs,_kapow:Oo,_warn:Tc,warnDev:Mc,warnPublic:Ic,_debug:Pc,debugDev:Rc,_trace:wi,traceDev:Cs,lazy:{_hmm:ue?On(ss):ss,_todo:me?On(gr):gr,_error:Ee?On(Mn):Mn,errorDev:Ve?On(Ar):Ar,errorPublic:Ge?On(xs):xs,_kapow:vt?On(Oo):Oo,_warn:nt?On(Tc):Tc,warnDev:ft?On(Mc):Mc,warnPublic:Dt?On(Ic):Ic,_debug:kt?On(Pc):Pc,debugDev:It?On(Rc):Rc,_trace:un?On(wi):wi,traceDev:mr?On(Cs):Cs},named:J,utilFor:{internal(){return{debug:Un._debug,error:Un._error,warn:Un._warn,trace:Un._trace,named(da,ha){return Un.named(da,ha).utilFor.internal()}}},dev(){return{debug:Un.debugDev,error:Un.errorDev,warn:Un.warnDev,trace:Un.traceDev,named(da,ha){return Un.named(da,ha).utilFor.dev()}}},public(){return{error:Un.errorPublic,warn:Un.warnPublic,debug(da,ha){Un._warn('(public "debug" filtered out) '.concat(da),ha)},trace(da,ha){Un._warn('(public "trace" filtered out) '.concat(da),ha)},named(da,ha){return Un.named(da,ha).utilFor.public()}}}}};return Un}var $9=X9(console,{});$9.configureLogging({dev:!0,min:64});var lm=$9.getLogger().named("Theatre.js (default logger)").utilFor.dev(),K9=new WeakMap;function zN(d){const g=K9.get(d);if(g)return g;const C=new Map;return K9.set(d,C),Z9([],d,C),C}function Z9(d,g,C){for(const[P,U]of Object.entries(g.props))if(!am(U)){const X=[...d,P];C.set(JSON.stringify(X),C.size),J9(X,U,C)}for(const[P,U]of Object.entries(g.props))if(am(U)){const X=[...d,P];C.set(JSON.stringify(X),C.size),J9(X,U,C)}}function J9(d,g,C){if(g.type==="compound")Z9(d,g,C);else{if(g.type==="enum")throw new Error("Enums aren't supported yet");C.set(JSON.stringify(d),C.size)}}function e5(d){return typeof d=="object"&&d!==null&&Object.keys(d).length===0}var HN=class{constructor(d,g,C,P,U){this.sheetTemplate=d,_(this,"address"),_(this,"type","Theatre_SheetObjectTemplate"),_(this,"_config"),_(this,"_temp_actions_atom"),_(this,"_cache",new rl),_(this,"project"),_(this,"pointerToSheetState"),_(this,"pointerToStaticOverrides"),this.address=m(p({},d.address),{objectKey:g}),this._config=new Bi.Atom(P),this._temp_actions_atom=new Bi.Atom(U),this.project=d.project,this.pointerToSheetState=this.sheetTemplate.project.pointers.historic.sheetsById[this.address.sheetId],this.pointerToStaticOverrides=this.pointerToSheetState.staticOverrides.byObject[this.address.objectKey]}get staticConfig(){return this._config.get()}get configPointer(){return this._config.pointer}get _temp_actions(){return this._temp_actions_atom.get()}get _temp_actionsPointer(){return this._temp_actions_atom.pointer}createInstance(d,g,C){return this._config.set(C),new LN(d,this,g)}reconfigure(d){this._config.set(d)}_temp_setActions(d){this._temp_actions_atom.set(d)}getDefaultValues(){return this._cache.get("getDefaultValues()",()=>(0,Bi.prism)(()=>{const d=(0,Bi.val)(this.configPointer);return gv(d)}))}getStaticValues(){return this._cache.get("getStaticValues",()=>(0,Bi.prism)(()=>{var d;const g=(d=(0,Bi.val)(this.pointerToStaticOverrides))!=null?d:{};return(0,Bi.val)(this.configPointer).deserializeAndSanitize(g)||{}}))}getArrayOfValidSequenceTracks(){return this._cache.get("getArrayOfValidSequenceTracks",()=>(0,Bi.prism)(()=>{const d=this.project.pointers.historic.sheetsById[this.address.sheetId],g=(0,Bi.val)(d.sequence.tracksByObject[this.address.objectKey].trackIdByPropPath);if(!g)return W;const C=[];if(!g)return W;const P=(0,Bi.val)(this.configPointer),U=Object.entries(g);for(const[J,ue]of U){const me=VN(J);if(!me)continue;const Ee=jv(P,me);Ee&&DN(Ee)&&C.push({pathToProp:me,trackId:ue})}const X=zN(P);return C.sort((J,ue)=>{const me=J.pathToProp,Ee=ue.pathToProp,Ve=X.get(JSON.stringify(me)),Ge=X.get(JSON.stringify(Ee));return Ve>Ge?1:-1}),C.length===0?W:C}))}getMapOfValidSequenceTracks_forStudio(){return this._cache.get("getMapOfValidSequenceTracks_forStudio",()=>(0,Bi.prism)(()=>{const d=(0,Bi.val)(this.getArrayOfValidSequenceTracks());let g={};for(const{pathToProp:C,trackId:P}of d)Vu(g,C,P);return g}))}getStaticButNotSequencedOverrides(){return this._cache.get("getStaticButNotSequencedOverrides",()=>(0,Bi.prism)(()=>{const d=(0,Bi.val)(this.getStaticValues()),g=(0,Bi.val)(this.getArrayOfValidSequenceTracks()),C=CF(d);for(const{pathToProp:P}of g){q9(C,P);let U=P.slice(0,-1);for(;U.length>0;){const X=Vp(C,U);if(!e5(X))break;q9(C,U),U=U.slice(0,-1)}}if(!e5(C))return C}))}getDefaultsAtPointer(d){const{path:g}=(0,Bi.getPointerParts)(d),C=this.getDefaultValues().getValue();return Vp(C,g)}};function VN(d){try{return JSON.parse(d)}catch{lm.warn("property ".concat(JSON.stringify(d)," cannot be parsed. Skipping."));return}}var t5=Oi(),GN=BN(d=>JSON.stringify(d));x(I());
4518var QN=class extends Error{},ah=class extends QN{},n5=Oi(),WN=Oi(),jN=Oi(),qi=Oi();function ol(){let d,g;const C=new Promise((U,X)=>{d=J=>{U(J),P.status="resolved"},g=J=>{X(J),P.status="rejected"}}),P={resolve:d,reject:g,promise:C,status:"pending"};return P}var qN=()=>{},cm=qN,XN=Oi(),YN=class{constructor(){_(this,"_stopPlayCallback",cm),_(this,"_state",new XN.Atom({position:0,playing:!1})),_(this,"statePointer"),this.statePointer=this._state.pointer}destroy(){}pause(){this._stopPlayCallback(),this.playing=!1,this._stopPlayCallback=cm}gotoPosition(d){this._updatePositionInState(d)}_updatePositionInState(d){this._state.setByPointer(g=>g.position,d)}getCurrentPosition(){return this._state.get().position}get playing(){return this._state.get().playing}set playing(d){this._state.setByPointer(g=>g.playing,d)}play(d,g,C,P,U){this.playing&&this.pause(),this.playing=!0;const X=g[1]-g[0];{const nt=this.getCurrentPosition();nt<g[0]||nt>g[1]?P==="normal"||P==="alternate"?this._updatePositionInState(g[0]):(P==="reverse"||P==="alternateReverse")&&this._updatePositionInState(g[1]):P==="normal"||P==="alternate"?nt===g[1]&&this._updatePositionInState(g[0]):nt===g[0]&&this._updatePositionInState(g[1])}const J=ol(),ue=U.time,me=X*d;let Ee=this.getCurrentPosition()-g[0];(P==="reverse"||P==="alternateReverse")&&(Ee=g[1]-this.getCurrentPosition());const Ve=nt=>{const ft=Math.max(nt-ue,0)/1e3,Dt=Math.min(ft*C+Ee,me);if(Dt!==me){const kt=Math.floor(Dt/X);let It=Dt/X%1*X;if(P!=="normal")if(P==="reverse")It=X-It;else{const un=kt%2===0;P==="alternate"?un||(It=X-It):un&&(It=X-It)}this._updatePositionInState(It+g[0]),Ge()}else{if(P==="normal")this._updatePositionInState(g[1]);else if(P==="reverse")this._updatePositionInState(g[0]);
4518else{const kt=(d-1)%2===0;P==="alternate"?kt?this._updatePositionInState(g[1]):this._updatePositionInState(g[0]):kt?this._updatePositionInState(g[0]):this._updatePositionInState(g[1])}this.playing=!1,J.resolve(!0)}};this._stopPlayCallback=()=>{U.offThisOrNextTick(Ve),U.offNextTick(Ve),this.playing&&J.resolve(!1)};const Ge=()=>U.onNextTick(Ve);return U.onThisOrNextTick(Ve),J.promise}playDynamicRange(d,g){this.playing&&this.pause(),this.playing=!0;const C=ol(),P=d.keepHot();C.promise.then(P,P);let U=g.time;const X=ue=>{const me=Math.max(ue-U,0);U=ue;const Ee=me/1e3,Ve=this.getCurrentPosition(),Ge=d.getValue();if(Ve<Ge[0]||Ve>Ge[1])this.gotoPosition(Ge[0]);else{let nt=Ve+Ee;nt>Ge[1]&&(nt=Ge[0]+(nt-Ge[1])),this.gotoPosition(nt)}J()};this._stopPlayCallback=()=>{g.offThisOrNextTick(X),g.offNextTick(X),C.resolve(!1)};const J=()=>g.onNextTick(X);return g.onThisOrNextTick(X),C.promise}},$N=Oi(),KN="__TheatreJS_StudioBundle",qv="__TheatreJS_CoreBundle",ZN="__TheatreJS_Notifications",um=d=>(...g)=>{var C;switch(d){case"success":{lm.debug(g.slice(0,2).join(` 4519`));break}case"info":{lm.debug(g.slice(0,2).join(` 4520`));break}case"warning":{lm.warn(g.slice(0,2).join(` 4521`));break}}return typeof window<"u"?(C=window[ZN])==null?void 0:C.notify[d](...g):void 0},ju={warning:um("warning"),success:um("success"),info:um("info"),error:um("error")};typeof window<"u"&&(window.addEventListener("error",d=>{ju.error("An error occurred","<pre>".concat(d.message,`</pre> 4522 4523See **console** for details.`))}),window.addEventListener("unhandledrejection",d=>{ju.error("An error occurred","<pre>".concat(d.reason,`</pre> 4524 4525See **console** for details.`))}));var JN=class{constructor(d,g,C){this._decodedBuffer=d,this._audioContext=g,this._nodeDestination=C,_(this,"_mainGain"),_(this,"_state",new $N.Atom({position:0,playing:!1})),_(this,"statePointer"),_(this,"_stopPlayCallback",cm),this.statePointer=this._state.pointer,this._mainGain=this._audioContext.createGain(),this._mainGain.connect(this._nodeDestination)}playDynamicRange(d,g){const C=ol();this._playing&&this.pause(),this._playing=!0;let P;const U=()=>{P==null||P(),P=this._loopInRange(d.getValue(),g).stop},X=d.onStale(U);return U(),this._stopPlayCallback=()=>{P==null||P(),X(),C.resolve(!1)},C.promise}_loopInRange(d,g){let P=this.getCurrentPosition();const U=d[1]-d[0];P<d[0]||P>d[1]?this._updatePositionInState(d[0]):P===d[1]&&this._updatePositionInState(d[0]),P=this.getCurrentPosition();const X=this._audioContext.createBufferSource();X.buffer=this._decodedBuffer,X.connect(this._mainGain),X.playbackRate.value=1,X.loop=!0,X.loopStart=d[0],X.loopEnd=d[1];const J=g.time;let ue=P-d[0];X.start(0,P);const me=Ge=>{let Dt=(Math.max(Ge-J,0)/1e3*1+ue)/U%1*U;this._updatePositionInState(Dt+d[0]),Ee()},Ee=()=>g.onNextTick(me);return g.onThisOrNextTick(me),{stop:()=>{X.stop(),X.disconnect(),g.offThisOrNextTick(me),g.offNextTick(me)}}}get _playing(){return this._state.get().playing}set _playing(d){this._state.setByPointer(g=>g.playing,d)}destroy(){}pause(){this._stopPlayCallback(),this._playing=!1,this._stopPlayCallback=cm}gotoPosition(d){this._updatePositionInState(d)}_updatePositionInState(d){this._state.reduce(g=>m(p({},g),{position:d}))}getCurrentPosition(){return this._state.get().position}play(d,g,C,P,U){this._playing&&this.pause(),this._playing=!0;let X=this.getCurrentPosition();const J=g[1]-g[0];if(P!=="normal")throw new ah('Audio-controlled sequences can only be played in the "normal" direction. '+"'".concat(P,"' given."));X<g[0]||X>g[1]?this._updatePositionInState(g[0]):X===g[1]&&this._updatePositionInState(g[0]),X=this.getCurrentPosition();const ue=ol(),me=this._audioContext.createBufferSource();me.buffer=this._decodedBuffer,me.connect(this._mainGain),me.playbackRate.value=C,d>1e3&&(ju.warning("Can't play sequences with audio more than 1000 times","The sequence will still play, but only 1000 times. The `iterationCount: ".concat(d,"` provided to `sequence.play()`\nis too high for a sequence with audio.\n\nTo fix this, either set `iterationCount` to a lower value, or remove the audio from the sequence."),[{url:"https://www.theatrejs.com/docs/latest/manual/audio",title:"Using Audio"},{url:"https://www.theatrejs.com/docs/latest/api/core#sequence.attachaudio",title:"Audio API"}]),d=1e3),d>1&&(me.loop=!0,me.loopStart=g[0],me.loopEnd=g[1]);const Ee=U.time;let Ve=X-g[0];const Ge=J*d;me.start(0,X,Ge-Ve);const nt=Dt=>{const It=Math.max(Dt-Ee,0)/1e3,un=Math.min(It*C+Ve,Ge);if(un!==Ge){let mr=un/J%1*J;this._updatePositionInState(mr+g[0]),ft()}else this._updatePositionInState(g[1]),this._playing=!1,vt(),ue.resolve(!0)},vt=()=>{me.stop(),me.disconnect()};this._stopPlayCallback=()=>{vt(),U.offThisOrNextTick(nt),U.offNextTick(nt),this._playing&&ue.resolve(!1)};
4525const ft=()=>U.onNextTick(nt);return U.onThisOrNextTick(nt),ue.promise}},ek=Oi(),i5=0;function Xv(d){var g;const C=J=>{P.tick(J)},P=new ek.Ticker({onActive(){var J;(J=d==null?void 0:d.start)==null||J.call(d)},onDormant(){var J;(J=d==null?void 0:d.stop)==null||J.call(d)}}),U={tick:C,id:i5++,name:(g=d==null?void 0:d.name)!=null?g:"CustomRafDriver-".concat(i5),type:"Theatre_RafDriver_PublicAPI"},X={type:"Theatre_RafDriver_PrivateAPI",publicApi:U,ticker:P,start:d==null?void 0:d.start,stop:d==null?void 0:d.stop};return Q(U,X),U}function tk(){let d=null;const P=Xv({name:"DefaultCoreRafDriver",start:()=>{if(typeof window<"u"){const U=X=>{P.tick(X),d=window.requestAnimationFrame(U)};d=window.requestAnimationFrame(U)}else P.tick(0),setTimeout(()=>P.tick(1),0)},stop:()=>{typeof window<"u"&&d!==null&&window.cancelAnimationFrame(d)}});return P}var fm;function r5(){return fm||nk(tk()),fm}function s5(){return r5().ticker}function nk(d){if(fm)throw new Error("`setCoreRafDriver()` is already called.");fm=N(d)}var ik=class{get type(){return"Theatre_Sequence_PublicAPI"}constructor(d){Q(this,d)}play(d){const g=N(this);if(g._project.isReady()){const C=d!=null&&d.rafDriver?N(d.rafDriver).ticker:s5();return g.play(d??{},C)}else{const C=ol();return C.resolve(!0),C.promise}}pause(){N(this).pause()}get position(){return N(this).position}set position(d){N(this).position=d}__experimental_getKeyframes(d){return N(this).getKeyframesOfSimpleProp(d)}async attachAudio(d){const{audioContext:g,destinationNode:C,decodedBuffer:P,gainNode:U}=await rk(d),X=new JN(P,g,U);return N(this).replacePlaybackController(X),{audioContext:g,destinationNode:C,decodedBuffer:P,gainNode:U}}get pointer(){return N(this).pointer}};async function rk(d){function g(){if(d.audioContext)return Promise.resolve(d.audioContext);const Ee=new AudioContext;return Ee.state==="running"||typeof window>"u"?Promise.resolve(Ee):new Promise(Ve=>{const Ge=()=>{Ee.resume().catch(ft=>{console.error(ft)})},nt=["mousedown","keydown","touchstart"],vt={capture:!0,passive:!1};nt.forEach(ft=>{window.addEventListener(ft,Ge,vt)}),Ee.addEventListener("statechange",()=>{Ee.state==="running"&&(nt.forEach(ft=>{window.removeEventListener(ft,Ge,vt)}),Ve(Ee))})})}async function C(){if(d.source instanceof AudioBuffer)return d.source;const Ee=ol();if(typeof d.source!="string")throw new Error("Error validating arguments to sequence.attachAudio(). args.source must either be a string or an instance of AudioBuffer.");let Ve;try{Ve=await fetch(d.source)}catch(ft){throw console.error(ft),new Error("Could not fetch '".concat(d.source,"'. Network error logged above."))}let Ge;try{Ge=await Ve.arrayBuffer()}catch(ft){throw console.error(ft),new Error("Could not read '".concat(d.source,"' as an arrayBuffer."))}(await P).decodeAudioData(Ge,Ee.resolve,Ee.reject);let vt;try{vt=await Ee.promise}catch(ft){throw console.error(ft),new Error("Could not decode ".concat(d.source," as an audio file."))}return vt}const P=g(),U=C(),[X,J]=await Promise.all([P,U]),ue=d.destinationNode||X.destination,me=X.createGain();return me.connect(ue),{audioContext:X,decodedBuffer:J,gainNode:me,destinationNode:ue}}var sk=ok("Theatre_SheetObject");function ok(d){return g=>typeof g=="object"&&!!g&&g.type===d}var ak=class{constructor(d,g,C,P,U){this._project=d,this._sheet=g,this._lengthD=C,this._subUnitsPerUnitD=P,_(this,"address"),_(this,"publicApi"),_(this,"_playbackControllerBox"),_(this,"_prismOfStatePointer"),_(this,"_positionD"),_(this,"_positionFormatterD"),_(this,"_playableRangeD"),_(this,"pointer",(0,jN.pointer)({root:this,path:[]})),_(this,"$$isPointerToPrismProvider",!0),_(this,"_logger"),_(this,"closestGridPosition",X=>{const ue=1/this.subUnitsPerUnit;return parseFloat((Math.round(X/ue)*ue).toFixed(3))}),this._logger=d._logger.named("Sheet",g.address.sheetId).named("Instance",g.address.sheetInstanceId),this.address=m(p({},this._sheet.address),{sequenceName:"default"}),this.publicApi=new ik(this),this._playbackControllerBox=new WN.Atom(U??new YN),this._prismOfStatePointer=(0,qi.prism)(()=>this._playbackControllerBox.prism.getValue().statePointer),this._positionD=(0,qi.prism)(()=>{const X=this._prismOfStatePointer.getValue();return(0,qi.val)(X.position)}),this._positionFormatterD=(0,qi.prism)(()=>{const X=(0,qi.val)(this._subUnitsPerUnitD);return new lk(X)})}get type(){return"Theatre_Sequence"}pointerToPrism(d){const{path:g}=(0,n5.getPointerParts)(d);if(g.length===0)return(0,qi.prism)(()=>({length:(0,qi.val)(this.pointer.length),playing:(0,qi.val)(this.pointer.playing),position:(0,qi.val)(this.pointer.position),subUnitsPerUnit:(0,qi.val)(this.pointer.subUnitsPerUnit)}));if(g.length>1)return(0,qi.prism)(()=>{});const[C]=g;return C==="length"?this._lengthD:C==="subUnitsPerUnit"?this._subUnitsPerUnitD:C==="position"?this._positionD:C==="playing"?(0,qi.prism)(()=>(0,qi.val)(this._prismOfStatePointer.getValue().playing)):(0,qi.prism)(()=>{})}getKeyframesOfSimpleProp(d){const{path:g,root:C}=(0,n5.getPointerParts)(d);if(!sk(C))throw new ah("Argument prop must be a pointer to a SheetObject property");const P=(0,qi.val)(this._project.pointers.historic.sheetsById[this._sheet.address.sheetId].sequence.tracksByObject[C.address.objectKey]);if(!P)return[];const{trackData:U,trackIdByPropPath:X}=P,J=GN(g),ue=X[J];if(!ue)return[];const me=U[ue];return me?me.keyframes:[]}get positionFormatter(){return this._positionFormatterD.getValue()}get prismOfStatePointer(){return this._prismOfStatePointer}get length(){return this._lengthD.getValue()}get positionPrism(){return this._positionD}get position(){return this._playbackControllerBox.get().getCurrentPosition()}get subUnitsPerUnit(){return this._subUnitsPerUnitD.getValue()}get positionSnappedToGrid(){return this.closestGridPosition(this.position)}set position(d){let g=d;this.pause(),g>this.length&&(g=this.length);const C=this.length;this._playbackControllerBox.get().gotoPosition(g>C?C:g)}getDurationCold(){return this._lengthD.getValue()}get playing(){return(0,qi.val)(this._playbackControllerBox.get().statePointer.playing)}_makeRangeFromSequenceTemplate(){return(0,qi.prism)(()=>[0,(0,qi.val)(this._lengthD)])}playDynamicRange(d,g){return this._playbackControllerBox.get().playDynamicRange(d,g)}async play(d,g){const C=this.length,P=d&&d.range?d.range:[0,C],U=d&&typeof d.iterationCount=="number"?d.iterationCount:1,X=d&&typeof d.rate<"u"?d.rate:1,J=d&&d.direction?d.direction:"normal";return await this._play(U,[P[0],P[1]],X,J,g)}_play(d,g,C,P,U){return this._playbackControllerBox.get().play(d,g,C,P,U)}pause(){this._playbackControllerBox.get().pause()}replacePlaybackController(d){this.pause();const g=this._playbackControllerBox.get();this._playbackControllerBox.set(d);const C=g.getCurrentPosition();g.destroy(),d.gotoPosition(C)}},lk=class{constructor(d){this._fps=d}formatSubUnitForGrid(d){const g=d%1,C=1/this._fps;return Math.round(g/C)+"f"}formatFullUnitForGrid(d){let g=d,C="";if(g>=qu){const U=Math.floor(g/qu);C+=U+"h",g=g%qu}if(g>=Cc){const U=Math.floor(g/Cc);C+=U+"m",g=g%Cc}if(g>=xc){const U=Math.floor(g/xc);C+=U+"s",g=g%xc}const P=1/this._fps;
4525if(g>=P){const U=Math.floor(g/P);C+=U+"f",g=g%P}return C.length===0?"0s":C}formatForPlayhead(d){let g=d,C="";if(g>=qu){const U=Math.floor(g/qu);C+=oh(U.toString(),2,"0")+"h",g=g%qu}if(g>=Cc){const U=Math.floor(g/Cc);C+=oh(U.toString(),2,"0")+"m",g=g%Cc}else C.length>0&&(C+="00m");if(g>=xc){const U=Math.floor(g/xc);C+=oh(U.toString(),2,"0")+"s",g=g%xc}else C+="00s";const P=1/this._fps;if(g>=P){const U=Math.round(g/P);C+=oh(U.toString(),2,"0")+"f",g=g%P}else g/P>.98?(C+=oh("1",2,"0")+"f",g=g%P):C+="00f";return C.length===0?"00s00f":C}formatBasic(d){return d.toFixed(2)+"s"}},xc=1,Cc=xc*60,qu=Cc*60,Yv={};A(Yv,{boolean:()=>d5,compound:()=>Kv,file:()=>gk,image:()=>vk,number:()=>f5,rgba:()=>Ck,string:()=>h5,stringLiteral:()=>Mk});function o5(d,g){return d.length<=g?d:d.substr(0,g-3)+"..."}var ck=d=>typeof d=="string"?'string("'.concat(o5(d,10),'")'):typeof d=="number"?"number(".concat(o5(String(d),10),")"):d===null?"null":d===void 0?"undefined":typeof d=="boolean"?String(d):Array.isArray(d)?"array":typeof d=="object"?"object":"unknown",a5=ck;function uk(d,{removeAlphaIfOpaque:g=!1}={}){const C=(d.a*255|256).toString(16).slice(1),P=(d.r*255|256).toString(16).slice(1)+(d.g*255|256).toString(16).slice(1)+(d.b*255|256).toString(16).slice(1)+(g&&C==="ff"?"":C);return"#".concat(P)}function $v(d){return m(p({},d),{toString(){return uk(this,{removeAlphaIfOpaque:!0})}})}function fk(d){return Object.fromEntries(Object.entries(d).map(([g,C])=>[g,a9(C,0,1)]))}function dk(d){function g(C){return C>=.0031308?1.055*C**(1/2.4)-.055:12.92*C}return fk({r:g(d.r),g:g(d.g),b:g(d.b),a:d.a})}function l5(d){function g(C){return C>=.04045?((C+.055)/(1+.055))**2.4:C/12.92}return{r:g(d.r),g:g(d.g),b:g(d.b),a:d.a}}function c5(d){let g=.4122214708*d.r+.5363325363*d.g+.0514459929*d.b,C=.2119034982*d.r+.6806995451*d.g+.1073969566*d.b,P=.0883024619*d.r+.2817188376*d.g+.6299787005*d.b,U=Math.cbrt(g),X=Math.cbrt(C),J=Math.cbrt(P);return{L:.2104542553*U+.793617785*X-.0040720468*J,a:1.9779984951*U-2.428592205*X+.4505937099*J,b:.0259040371*U+.7827717662*X-.808675766*J,alpha:d.a}}function hk(d){let g=d.L+.3963377774*d.a+.2158037573*d.b,C=d.L-.1055613458*d.a-.0638541728*d.b,P=d.L-.0894841775*d.a-1.291485548*d.b,U=g*g*g,X=C*C*C,J=P*P*P;return{r:4.0767416621*U-3.3077115913*X+.2309699292*J,g:-1.2684380046*U+2.6097574011*X-.3413193965*J,b:-.0041960863*U-.7034186147*X+1.707614701*J,a:d.alpha}}var ua=Symbol("TheatrePropType_Basic");function u5(d){return typeof d=="object"&&!!d&&d[ua]==="TheatrePropType"}function pk(d){if(typeof d=="number")return f5(d);if(typeof d=="boolean")return d5(d);if(typeof d=="string")return h5(d);if(typeof d=="object"&&d){if(u5(d))return d;if(PD(d))return Kv(d);throw new ah("This value is not a valid prop type: ".concat(a5(d)))}else throw new ah("This value is not a valid prop type: ".concat(a5(d)))}function mk(d){const g={};for(const C of Object.keys(d)){const P=d[C];u5(P)?g[C]=P:g[C]=pk(P)}return g}var Kv=(d,g={})=>{const C=mk(d),P=new WeakMap;return{type:"compound",props:C,valueType:null,[ua]:"TheatrePropType",label:g.label,default:iN(C,X=>X.default),deserializeAndSanitize:X=>{if(typeof X!="object"||!X)return;if(P.has(X))return P.get(X);const J={};let ue=!1;for(const[me,Ee]of Object.entries(C))if(Object.prototype.hasOwnProperty.call(X,me)){const Ve=Ee.deserializeAndSanitize(X[me]);Ve!=null&&(ue=!0,J[me]=Ve)}if(P.set(X,J),ue)return J}}},gk=(d,g={})=>{const C=(P,U,X)=>{var J;return{type:"file",id:((J=g.interpolate)!=null?J:lh)(P.id,U.id,X)}};return{type:"file",default:{type:"file",id:d},valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:C,deserializeAndSanitize:Ak}},Ak=d=>{if(!d)return;let g=!0;if(typeof d.id!="string"&&![null,void 0].includes(d.id)&&(g=!1),d.type!=="file"&&(g=!1),!!g)return d},vk=(d,g={})=>{const C=(P,U,X)=>{var J;return{type:"image",id:((J=g.interpolate)!=null?J:lh)(P.id,U.id,X)}};return{type:"image",default:{type:"image",id:d},valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:C,deserializeAndSanitize:yk}},yk=d=>{if(!d)return;let g=!0;if(typeof d.id!="string"&&![null,void 0].includes(d.id)&&(g=!1),d.type!=="image"&&(g=!1),!!g)return d},f5=(d,g={})=>{var C;return m(p({type:"number",valueType:0,default:d,[ua]:"TheatrePropType"},g||{}),{label:g.label,nudgeFn:(C=g.nudgeFn)!=null?C:Ik,nudgeMultiplier:typeof g.nudgeMultiplier=="number"?g.nudgeMultiplier:void 0,interpolate:xk,deserializeAndSanitize:_k(g.range)})},_k=d=>d?g=>{if(typeof g=="number"&&isFinite(g))return a9(g,d[0],d[1])}:bk,bk=d=>typeof d=="number"&&isFinite(d)?d:void 0,xk=(d,g,C)=>d+C*(g-d),Ck=(d={r:0,g:0,b:0,a:1},g={})=>{const C={};for(const P of["r","g","b","a"])C[P]=Math.min(Math.max(d[P],0),1);return{type:"rgba",valueType:null,default:$v(C),[ua]:"TheatrePropType",label:g.label,interpolate:Sk,deserializeAndSanitize:wk}},wk=d=>{if(!d)return;let g=!0;for(const P of["r","g","b","a"])(!Object.prototype.hasOwnProperty.call(d,P)||typeof d[P]!="number")&&(g=!1);if(!g)return;const C={};for(const P of["r","g","b","a"])C[P]=Math.min(Math.max(d[P],0),1);return $v(C)},Sk=(d,g,C)=>{const P=c5(l5(d)),U=c5(l5(g)),X={L:(1-C)*P.L+C*U.L,a:(1-C)*P.a+C*U.a,b:(1-C)*P.b+C*U.b,alpha:(1-C)*P.alpha+C*U.alpha},J=dk(hk(X));return $v(J)},d5=(d,g={})=>{var C;return{type:"boolean",default:d,valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:(C=g.interpolate)!=null?C:lh,deserializeAndSanitize:Ek}},Ek=d=>typeof d=="boolean"?d:void 0;function lh(d){return d}var h5=(d,g={})=>{var C;return{type:"string",default:d,valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:(C=g.interpolate)!=null?C:lh,deserializeAndSanitize:Tk}};
4525function Tk(d){return typeof d=="string"?d:void 0}function Mk(d,g,C={}){var P,U;return{type:"stringLiteral",default:d,valuesAndLabels:p({},g),[ua]:"TheatrePropType",valueType:null,as:(P=C.as)!=null?P:"menu",label:C.label,interpolate:(U=C.interpolate)!=null?U:lh,deserializeAndSanitize(X){if(typeof X=="string"&&Object.prototype.hasOwnProperty.call(g,X))return X}}}var Ik=({config:d,deltaX:g,deltaFraction:C,magnitude:P})=>{var U;const{range:X}=d;return!d.nudgeMultiplier&&X&&!X.includes(1/0)&&!X.includes(-1/0)?C*(X[1]-X[0])*P:g*P*((U=d.nudgeMultiplier)!=null?U:1)},Pk=d=>d.replace(/^[\s\/]*/,"").replace(/[\s\/]*$/,"").replace(/\s*\/\s*/g," / ");function dm(d,g){return Pk(d)}x(R());var Rk=class{get type(){return"Theatre_Sheet_PublicAPI"}constructor(d){Q(this,d)}object(d,g,C){const P=N(this),U=dm(d),X=P.getObject(U),J=null,ue=C==null?void 0:C.__actions__THIS_API_IS_UNSTABLE_AND_WILL_CHANGE_IN_THE_NEXT_VERSION;if(X)return ue&&X.template._temp_setActions(ue),X.publicApi;{const me=Kv(g);return P.createObject(U,J,me,ue).publicApi}}__experimental_getExistingObject(d){const g=N(this),C=dm(d),P=g.getObject(C);return P==null?void 0:P.publicApi}get sequence(){return N(this).getSequence().publicApi}get project(){return N(this).project.publicApi}get address(){return p({},N(this).address)}detachObject(d){const g=N(this),C=dm(d);if(!g.getObject(C)){ju.warning(`Couldn't delete object "`.concat(C,'"'),'There is no object with key "'.concat(C,`". 4526 4527To fix this, make sure you are calling \`sheet.deleteObject("`).concat(C,'")` with the correct key.')),console.warn('Object key "'.concat(C,'" does not exist.'));return}g.deleteObject(C)}},ch=Oi(),Bk=class{constructor(d,g){this.template=d,this.instanceId=g,_(this,"_objects",new ch.Atom({})),_(this,"_sequence"),_(this,"address"),_(this,"publicApi"),_(this,"project"),_(this,"objectsP",this._objects.pointer),_(this,"type","Theatre_Sheet"),_(this,"_logger"),this._logger=d.project._logger.named("Sheet",g),this._logger._trace("creating sheet"),this.project=d.project,this.address=m(p({},d.address),{sheetInstanceId:this.instanceId}),this.publicApi=new Rk(this)}createObject(d,g,C,P={}){const X=this.template.getObjectTemplate(d,g,C,P).createInstance(this,g,C);return this._objects.setByPointer(J=>J[d],X),X}getObject(d){return this._objects.get()[d]}deleteObject(d){this._objects.reduce(g=>{const C=p({},g);return delete C[d],C})}getSequence(){if(!this._sequence){const d=(0,ch.prism)(()=>{const C=(0,ch.val)(this.project.pointers.historic.sheetsById[this.address.sheetId].sequence.length);return Dk(C)}),g=(0,ch.prism)(()=>{const C=(0,ch.val)(this.project.pointers.historic.sheetsById[this.address.sheetId].sequence.subUnitsPerUnit);return Lk(C)});this._sequence=new ak(this.template.project,this,d,g)}return this._sequence}},Dk=d=>typeof d=="number"&&isFinite(d)&&d>0?d:10,Lk=d=>typeof d=="number"&&tN(d)&&d>=1&&d<=1e3?d:30,Ok=class{constructor(d,g){this.project=d,_(this,"type","Theatre_SheetTemplate"),_(this,"address"),_(this,"_instances",new t5.Atom({})),_(this,"instancesP",this._instances.pointer),_(this,"_objectTemplates",new t5.Atom({})),_(this,"objectTemplatesP",this._objectTemplates.pointer),this.address=m(p({},d.address),{sheetId:g})}getInstance(d){let g=this._instances.get()[d];return g||(g=new Bk(this,d),this._instances.setByPointer(C=>C[d],g)),g}getObjectTemplate(d,g,C,P){let U=this._objectTemplates.get()[d];return U||(U=new HN(this,d,g,C,P),this._objectTemplates.setByPointer(X=>X[d],U)),U}},Zv=Oi(),p5=Oi(),Fk=d=>new Promise(g=>setTimeout(g,d)),Uk=Fk;function Gs(d){for(var g=arguments.length,C=Array(g>1?g-1:0),P=1;P<g;P++)C[P-1]=arguments[P];throw Error("[Immer] minified error nr: "+d+(C.length?" "+C.map(function(U){return"'"+U+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function wc(d){return!!d&&!!d[rs]}function Sc(d){return!!d&&(function(g){if(!g||typeof g!="object")return!1;var C=Object.getPrototypeOf(g);if(C===null)return!0;var P=Object.hasOwnProperty.call(C,"constructor")&&C.constructor;return P===Object||typeof P=="function"&&Function.toString.call(P)===jk}
4527(d)||Array.isArray(d)||!!d[w5]||!!d.constructor[w5]||e2(d)||t2(d))}function Nk(d){return wc(d)||Gs(23,d),d[rs].t}function uh(d,g,C){C===void 0&&(C=!1),Xu(d)===0?(C?Object.keys:h2)(d).forEach(function(P){C&&typeof P=="symbol"||g(P,d[P],d)}):d.forEach(function(P,U){return g(U,P,d)})}function Xu(d){var g=d[rs];return g?g.i>3?g.i-4:g.i:Array.isArray(d)?1:e2(d)?2:t2(d)?3:0}function Jv(d,g){return Xu(d)===2?d.has(g):Object.prototype.hasOwnProperty.call(d,g)}function kk(d,g){return Xu(d)===2?d.get(g):d[g]}function m5(d,g,C){var P=Xu(d);P===2?d.set(g,C):P===3?(d.delete(g),d.add(C)):d[g]=C}function zk(d,g){return d===g?d!==0||1/d==1/g:d!=d&&g!=g}function e2(d){return Qk&&d instanceof Map}function t2(d){return Wk&&d instanceof Set}function Ec(d){return d.o||d.t}function n2(d){if(Array.isArray(d))return Array.prototype.slice.call(d);var g=qk(d);delete g[rs];for(var C=h2(g),P=0;P<C.length;P++){var U=C[P],X=g[U];X.writable===!1&&(X.writable=!0,X.configurable=!0),(X.get||X.set)&&(g[U]={configurable:!0,writable:!0,enumerable:X.enumerable,value:d[U]})}return Object.create(Object.getPrototypeOf(d),g)}function i2(d,g){return g===void 0&&(g=!1),r2(d)||wc(d)||!Sc(d)||(Xu(d)>1&&(d.set=d.add=d.clear=d.delete=Hk),Object.freeze(d),g&&uh(d,function(C,P){return i2(P,!0)},!0)),d}function Hk(){Gs(2)}function r2(d){return d==null||typeof d!="object"||Object.isFrozen(d)}function fa(d){var g=Xk[d];return g||Gs(18,d),g}function g5(){return fh}function s2(d,g){g&&(fa("Patches"),d.u=[],d.s=[],d.v=g)}function hm(d){o2(d),d.p.forEach(Vk),d.p=null}function o2(d){d===fh&&(fh=d.l)}function A5(d){return fh={p:[],l:fh,h:d,m:!0,_:0}}function Vk(d){var g=d[rs];g.i===0||g.i===1?g.j():g.O=!0}function a2(d,g){g._=g.p.length;var C=g.p[0],P=d!==void 0&&d!==C;return g.h.g||fa("ES5").S(g,d,P),P?(C[rs].P&&(hm(g),Gs(4)),Sc(d)&&(d=pm(g,d),g.l||mm(g,d)),g.u&&fa("Patches").M(C[rs],d,g.u,g.s)):d=pm(g,C,[]),hm(g),g.u&&g.v(g.u,g.s),d!==C5?d:void 0}function pm(d,g,C){if(r2(g))return g;var P=g[rs];if(!P)return uh(g,function(X,J){return v5(d,P,g,X,J,C)},!0),g;if(P.A!==d)return g;if(!P.P)return mm(d,P.t,!0),P.t;if(!P.I){P.I=!0,P.A._--;var U=P.i===4||P.i===5?P.o=n2(P.k):P.o;uh(P.i===3?new Set(U):U,function(X,J){return v5(d,P,U,X,J,C)}),mm(d,U,!1),C&&d.u&&fa("Patches").R(P,C,d.u,d.s)}return P.o}function v5(d,g,C,P,U,X){if(wc(U)){var J=pm(d,U,X&&g&&g.i!==3&&!Jv(g.D,P)?X.concat(P):void 0);if(m5(C,P,J),!wc(J))return;d.m=!1}if(Sc(U)&&!r2(U)){if(!d.h.F&&d._<1)return;pm(d,U),g&&g.A.l||mm(d,U)}}function mm(d,g,C){C===void 0&&(C=!1),d.h.F&&d.m&&i2(g,C)}function l2(d,g){var C=d[rs];return(C?Ec(C):d)[g]}function y5(d,g){if(g in d)for(var C=Object.getPrototypeOf(d);C;){var P=Object.getOwnPropertyDescriptor(C,g);if(P)return P;C=Object.getPrototypeOf(C)}}function c2(d){d.P||(d.P=!0,d.l&&c2(d.l))}function u2(d){d.o||(d.o=n2(d.t))}function f2(d,g,C){var P=e2(g)?fa("MapSet").N(g,C):t2(g)?fa("MapSet").T(g,C):d.g?function(U,X){var J=Array.isArray(U),ue={i:J?1:0,A:X?X.A:g5(),P:!1,I:!1,D:{},l:X,t:U,k:null,o:null,j:null,C:!1},me=ue,Ee=gm;J&&(me=[ue],Ee=Am);var Ve=Proxy.revocable(me,Ee),Ge=Ve.revoke,nt=Ve.proxy;return ue.k=nt,ue.j=Ge,nt}(g,C):fa("ES5").J(g,C);return(C?C.A:g5()).p.push(P),P}function Gk(d){return wc(d)||Gs(22,d),function g(C){if(!Sc(C))return C;var P,U=C[rs],X=Xu(C);if(U){if(!U.P&&(U.i<4||!fa("ES5").K(U)))return U.t;U.I=!0,P=_5(C,X),U.I=!1}else P=_5(C,X);return uh(P,function(J,ue){U&&kk(U.t,J)===ue||m5(P,J,g(ue))}),X===3?new Set(P):P}(d)}function _5(d,g){switch(g){case 2:return new Map(d);case 3:return Array.from(d)}return n2(d)}var b5,fh,d2=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Qk=typeof Map<"u",Wk=typeof Set<"u",x5=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",C5=d2?Symbol.for("immer-nothing"):((b5={})["immer-nothing"]=!0,b5),w5=d2?Symbol.for("immer-draftable"):"__$immer_draftable",rs=d2?Symbol.for("immer-state"):"__$immer_state",jk=""+Object.prototype.constructor,h2=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(d){return Object.getOwnPropertyNames(d).concat(Object.getOwnPropertySymbols(d))}:Object.getOwnPropertyNames,qk=Object.getOwnPropertyDescriptors||function(d){var g={};
4527return h2(d).forEach(function(C){g[C]=Object.getOwnPropertyDescriptor(d,C)}),g},Xk={},gm={get:function(d,g){if(g===rs)return d;var C=Ec(d);if(!Jv(C,g))return function(U,X,J){var ue,me=y5(X,J);return me?"value"in me?me.value:(ue=me.get)===null||ue===void 0?void 0:ue.call(U.k):void 0}(d,C,g);var P=C[g];return d.I||!Sc(P)?P:P===l2(d.t,g)?(u2(d),d.o[g]=f2(d.A.h,P,d)):P},has:function(d,g){return g in Ec(d)},ownKeys:function(d){return Reflect.ownKeys(Ec(d))},set:function(d,g,C){var P=y5(Ec(d),g);if(P!=null&&P.set)return P.set.call(d.k,C),!0;if(!d.P){var U=l2(Ec(d),g),X=U==null?void 0:U[rs];if(X&&X.t===C)return d.o[g]=C,d.D[g]=!1,!0;if(zk(C,U)&&(C!==void 0||Jv(d.t,g)))return!0;u2(d),c2(d)}return d.o[g]===C&&typeof C!="number"&&(C!==void 0||g in d.o)||(d.o[g]=C,d.D[g]=!0,!0)},deleteProperty:function(d,g){return l2(d.t,g)!==void 0||g in d.t?(d.D[g]=!1,u2(d),c2(d)):delete d.D[g],d.o&&delete d.o[g],!0},getOwnPropertyDescriptor:function(d,g){var C=Ec(d),P=Reflect.getOwnPropertyDescriptor(C,g);return P&&{writable:!0,configurable:d.i!==1||g!=="length",enumerable:P.enumerable,value:C[g]}},defineProperty:function(){Gs(11)},getPrototypeOf:function(d){return Object.getPrototypeOf(d.t)},setPrototypeOf:function(){Gs(12)}},Am={};uh(gm,function(d,g){Am[d]=function(){return arguments[0]=arguments[0][0],g.apply(this,arguments)}}),Am.deleteProperty=function(d,g){return gm.deleteProperty.call(this,d[0],g)},Am.set=function(d,g,C){return gm.set.call(this,d[0],g,C,d[0])};var Yk=function(){function d(C){var P=this;this.g=x5,this.F=!0,this.produce=function(U,X,J){if(typeof U=="function"&&typeof X!="function"){var ue=X;X=U;var me=P;return function(vt){var ft=this;vt===void 0&&(vt=ue);for(var Dt=arguments.length,kt=Array(Dt>1?Dt-1:0),It=1;It<Dt;It++)kt[It-1]=arguments[It];return me.produce(vt,function(un){var mr;return(mr=X).call.apply(mr,[ft,un].concat(kt))})}}var Ee;if(typeof X!="function"&&Gs(6),J!==void 0&&typeof J!="function"&&Gs(7),Sc(U)){var Ve=A5(P),Ge=f2(P,U,void 0),nt=!0;try{Ee=X(Ge),nt=!1}finally{nt?hm(Ve):o2(Ve)}return typeof Promise<"u"&&Ee instanceof Promise?Ee.then(function(vt){return s2(Ve,J),a2(vt,Ve)},function(vt){throw hm(Ve),vt}):(s2(Ve,J),a2(Ee,Ve))}if(!U||typeof U!="object")return(Ee=X(U))===C5?void 0:(Ee===void 0&&(Ee=U),P.F&&i2(Ee,!0),Ee);Gs(21,U)},this.produceWithPatches=function(U,X){return typeof U=="function"?function(me){for(var Ee=arguments.length,Ve=Array(Ee>1?Ee-1:0),Ge=1;Ge<Ee;Ge++)Ve[Ge-1]=arguments[Ge];return P.produceWithPatches(me,function(nt){return U.apply(void 0,[nt].concat(Ve))})}:[P.produce(U,X,function(me,Ee){J=me,ue=Ee}),J,ue];var J,ue},typeof(C==null?void 0:C.useProxies)=="boolean"&&this.setUseProxies(C.useProxies),typeof(C==null?void 0:C.autoFreeze)=="boolean"&&this.setAutoFreeze(C.autoFreeze)}var g=d.prototype;return g.createDraft=function(C){Sc(C)||Gs(8),wc(C)&&(C=Gk(C));var P=A5(this),U=f2(this,C,void 0);return U[rs].C=!0,o2(P),U},g.finishDraft=function(C,P){var U=C&&C[rs],X=U.A;return s2(X,P),a2(void 0,X)},g.setAutoFreeze=function(C){this.F=C},g.setUseProxies=function(C){C&&!x5&&Gs(20),this.g=C},g.applyPatches=function(C,P){var U;for(U=P.length-1;U>=0;U--){var X=P[U];if(X.path.length===0&&X.op==="replace"){C=X.value;break}}var J=fa("Patches").$;return wc(C)?J(C,P):this.produce(C,function(ue){return J(ue,P.slice(U+1))})},d}(),bs=new Yk;bs.produce,bs.produceWithPatches.bind(bs),bs.setAutoFreeze.bind(bs),bs.setUseProxies.bind(bs),bs.applyPatches.bind(bs),bs.createDraft.bind(bs),bs.finishDraft.bind(bs);var $k={currentProjectStateDefinitionVersion:"0.4.0"},p2=$k;async function Kk(d,g,C){await Uk(0),d.transaction(({drafts:P})=>{var U;const X=g.address.projectId;P.ephemeral.coreByProject[X]={lastExportedObject:null,loadingState:{type:"loading"}},P.ahistoric.coreByProject[X]={ahistoricStuff:""};function J(){P.ephemeral.coreByProject[X].loadingState={type:"loaded"},P.historic.coreByProject[X]={sheetsById:{},definitionVersion:p2.currentProjectStateDefinitionVersion,revisionHistory:[]}}function ue(Ge){P.ephemeral.coreByProject[X].loadingState={type:"loaded"},P.historic.coreByProject[X]=Ge}function me(){P.ephemeral.coreByProject[X].loadingState={type:"loaded"}}function Ee(Ge){P.ephemeral.coreByProject[X].loadingState={type:"browserStateIsNotBasedOnDiskState",onDiskState:Ge}}const Ve=(U=Nk(P.historic))==null?void 0:U.coreByProject[g.address.projectId];
4527Ve?C&&Ve.revisionHistory.indexOf(C.revisionHistory[0])==-1?Ee(C):me():C?ue(C):J()})}function S5(){}function E5(d){var g,C;const P=(g=d==null?void 0:d.logging)!=null&&g.internal?(C=d.logging.min)!=null?C:256:1/0,U=P<=128,X=P<=512,J=X9(void 0,{_debug:U?console.debug.bind(console,"_coreLogger(TheatreInternalLogger) debug"):S5,_error:X?console.error.bind(console,"_coreLogger(TheatreInternalLogger) error"):S5});if(d){const{logger:ue,logging:me}=d;ue&&J.configureLogger(ue),me?J.configureLogging(me):J.configureLogging({dev:!1})}return J.getLogger().named("Theatre")}var Zk=class{constructor(d,g={},C){this.config=g,this.publicApi=C,_(this,"pointers"),_(this,"_pointerProxies"),_(this,"address"),_(this,"_studioReadyDeferred"),_(this,"_assetStorageReadyDeferred"),_(this,"_readyPromise"),_(this,"_sheetTemplates",new p5.Atom({})),_(this,"sheetTemplatesP",this._sheetTemplates.pointer),_(this,"_studio"),_(this,"assetStorage"),_(this,"type","Theatre_Project"),_(this,"_logger");var P;this._logger=E5({logging:{dev:!0}}).named("Project",d),this._logger.traceDev("creating project"),this.address={projectId:d};const U=new p5.Atom({ahistoric:{ahistoricStuff:""},historic:(P=g.state)!=null?P:{sheetsById:{},definitionVersion:p2.currentProjectStateDefinitionVersion,revisionHistory:[]},ephemeral:{loadingState:{type:"loaded"},lastExportedObject:null}});this._assetStorageReadyDeferred=ol(),this.assetStorage={getAssetUrl:X=>{var J;return"".concat((J=g.assets)==null?void 0:J.baseUrl,"/").concat(X)},createAsset:()=>{throw new Error("Please wait for Project.ready to use assets.")}},this._pointerProxies={historic:new Zv.PointerProxy(U.pointer.historic),ahistoric:new Zv.PointerProxy(U.pointer.ahistoric),ephemeral:new Zv.PointerProxy(U.pointer.ephemeral)},this.pointers={historic:this._pointerProxies.historic.pointer,ahistoric:this._pointerProxies.ahistoric.pointer,ephemeral:this._pointerProxies.ephemeral.pointer},V.add(d,this),this._studioReadyDeferred=ol(),this._readyPromise=Promise.all([this._studioReadyDeferred.promise,this._assetStorageReadyDeferred.promise]).then(()=>{}),g.state?setTimeout(()=>{this._studio||(this._studioReadyDeferred.resolve(void 0),this._assetStorageReadyDeferred.resolve(void 0),this._logger._trace("ready deferred resolved with no state"))},0):typeof window>"u"?console.error('Argument config.state in Theatre.getProject("'.concat(d,'", config) is empty. ')+"You can safely ignore this message if you're developing a Next.js/Remix project in development mode. But if you are shipping to your end-users, then you need to set config.state, otherwise your project's state will be empty and nothing will animate. Learn more at https://www.theatrejs.com/docs/latest/manual/projects#state"):setTimeout(()=>{if(!this._studio)throw new Error('Argument config.state in Theatre.getProject("'.concat(d,'", config) is empty. This is fine ')+"while you are using @theatre/core along with @theatre/studio. But since @theatre/studio "+'is not loaded, the state of project "'.concat(d,`" will be empty. 4528 4529`)+`To fix this, you need to add @theatre/studio into the bundle and export the project's state. Learn how to do that at https://www.theatrejs.com/docs/latest/manual/projects#state 4530`)},1e3)}attachToStudio(d){if(this._studio){if(this._studio!==d)throw new Error("Project ".concat(this.address.projectId," is already attached to studio ").concat(this._studio.address.studioId));console.warn("Project ".concat(this.address.projectId," is already attached to studio ").concat(this._studio.address.studioId));return}this._studio=d,d.initialized.then(async()=>{var g;await Kk(d,this,this.config.state),this._pointerProxies.historic.setPointer(d.atomP.historic.coreByProject[this.address.projectId]),this._pointerProxies.ahistoric.setPointer(d.atomP.ahistoric.coreByProject[this.address.projectId]),this._pointerProxies.ephemeral.setPointer(d.atomP.ephemeral.coreByProject[this.address.projectId]),await d.createAssetStorage(this,(g=this.config.assets)==null?void 0:g.baseUrl).then(C=>{this.assetStorage=C,this._assetStorageReadyDeferred.resolve(void 0)}),this._studioReadyDeferred.resolve(void 0)}).catch(g=>{throw console.error(g),g})}get isAttachedToStudio(){return!!this._studio}get ready(){return this._readyPromise}isReady(){return this._studioReadyDeferred.status==="resolved"&&this._assetStorageReadyDeferred.status==="resolved"}getOrCreateSheet(d,g="default"){let C=this._sheetTemplates.get()[d];return C||(C=new Ok(this,d),this._sheetTemplates.reduce(P=>m(p({},P),{[d]:C}))),C.getInstance(g)}},Jk=class{get type(){return"Theatre_Project_PublicAPI"}constructor(d,g={}){Q(this,new Zk(d,g,this))}get ready(){return N(this).ready}get isReady(){return N(this).isReady()}get address(){return p({},N(this).address)}getAssetUrl(d){if(!this.isReady){console.error("Calling `project.getAssetUrl()` before `project.ready` is resolved, will always return `undefined`. Either use `project.ready.then(() => project.getAssetUrl())` or `await project.ready` before calling `project.getAssetUrl()`.");return}return d.id?N(this).assetStorage.getAssetUrl(d.id):void 0}sheet(d,g="default"){const C=dm(d);return N(this).getOrCreateSheet(C,g).publicApi}};x(R());var T5=Oi(),m2=Oi();function M5(d,g={}){const C=V.get(d);if(C)return C.publicApi;const U=E5().named("Project",d);return g.state?(tz(d,g.state),U._debug("deep validated config.state on disk")):U._debug("no config.state"),new Jk(d,g)}var ez=(d,g)=>{if(Array.isArray(g)||g==null||g.definitionVersion!==p2.currentProjectStateDefinitionVersion)throw new ah("Error validating conf.state in Theatre.getProject(".concat(JSON.stringify(d),", conf). The state seems to be formatted in a way that is unreadable to Theatre.js. Read more at https://www.theatrejs.com/docs/latest/manual/
4530projects#state"))},tz=(d,g)=>{ez(d,g)};function g2(d,g,C){const P=C?N(C).ticker:s5();if((0,T5.isPointer)(d))return(0,m2.pointerToPrism)(d).onChange(P,g,!0);if((0,m2.isPrism)(d))return d.onChange(P,g,!0);throw new Error("Called onChange(p) where p is neither a pointer nor a prism.")}function I5(d){if((0,T5.isPointer)(d))return(0,m2.pointerToPrism)(d).getValue();throw new Error("Called val(p) where p is not a pointer.")}var nz=class{constructor(){_(this,"_studio")}get type(){return"Theatre_CoreBundle"}get version(){return"0.7.2"}getBitsForStudio(d,g){if(this._studio)throw new Error("@theatre/core is already attached to @theatre/studio");this._studio=d;const C={projectsP:V.atom.pointer.projects,privateAPI:N,coreExports:E,getCoreRafDriver:r5};g(C)}};iz();function iz(){if(typeof window>"u")return;const d=window[qv];if(typeof d<"u")throw typeof d=="object"&&d&&typeof d.version=="string"?new Error(`It seems that the module '@theatre/core' is loaded more than once. This could have two possible causes: 45311. You might have two separate versions of Theatre.js in node_modules. 45322. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup. 4533 4534Note that it **is okay** to import '@theatre/core' multiple times. But those imports should point to the same module.`):new Error("The variable window.".concat(qv," seems to be already set by a module other than @theatre/core."));const g=new nz;window[qv]=g;const C=window[KN];C&&C!==null&&C.type==="Theatre_StudioBundle"&&C.registerCoreBundle(g)}/*! Bundled license information: 4535 4536 lodash-es/lodash.js: 4537 (** 4538 * @license 4539 * Lodash (Custom Build) <https://lodash.com/> 4540 * Build: `lodash modularize exports="es" -o ./` 4541 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> 4542 * Released under MIT license <https://lodash.com/license> 4543 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> 4544 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 4545 *) 4546 */}(Zh,Zh.exports)),Zh.exports}var Te=ule();class fle{constructor(e){this.pmremGenerator=new Pb(e),this.pmremGenerator.compileCubemapShader(),this.pmremGenerator.compileEquirectangularShader(),this.textures=[]}buildEnvironmentTexture(e,t){for(let r=0;r<this.textures.length;r++)if(this.textures[r].texture===t)return this.textures[r].pmrem;const i=this.buildPMREM(e,t,!1,"environment");return this.textures.push({texture:t,pmrem:i}),i}buildFogTexture(e){for(let i=0;i<this.textures.length;i++)if(this.textures[i].texture===e)return this.textures[i].pmrem;const t=this.createPMREM(e);return this.textures.push({texture:e,pmrem:t}),t}buildPMREM(e,t,i=!0,r){(t.isHDR===void 0||t.isHDR===null)&&console.error(`Environment texture ${t.name} is missing .isHDR parameter`);let s=t;return t instanceof np||(s=this.equiToCube(e,t,i,r)),s.name=t.name,this.createPMREM(s)}equiToCube(e,t,i=!0,r){return i?(e.cubeRenderTarget||(e.cubeRenderTarget=new Gg(t.image.height/2,{type:nn,format:pi,colorSpace:t.isHDR?mi:En})),e.cubeRenderTarget.fromEquirectangularTexture(S.WebGL.renderer,t),e.cubeRenderTarget.texture):(e[`${r}RT`]=new Gg(t.image.height/2,{type:nn,format:pi,colorSpace:t.isHDR?mi:En}),e[`${r}RT`].fromEquirectangularTexture(S.WebGL.renderer,t),e[`${r}RT`].texture)}createPMREM(e){if(e instanceof np){const i=this.cubeUVfromCubemap(e);return i.name=`${e.name} PMREM`,i}const t=this.fromEquirectangular(e);return t.name=`${e.name} PMREM`,t}cubeUVfromCubemap(e){return e.mapping=tc,this.pmremGenerator.fromCubemap(e).texture}fromEquirectangular(e){return e.mapping=Ya,this.pmremGenerator.fromEquirectangular(e).texture}generateCubeUVSize(e){const t=e;if(t===null)return null;const i=Math.log2(e)-2,r=1/t;return{texelWidth:1/(3*Math.max(Math.pow(2,i),7*16)),texelHeight:r,maxMip:i}}generateShaderDefines(e){if(!e.image)return{CUBEUV_TEXEL_WIDTH:.0006510416666666666,CUBEUV_TEXEL_HEIGHT:.00048828125,CUBEUV_MAX_MIP:9};const t=this.generateCubeUVSize(e.image.height);return{CUBEUV_TEXEL_WIDTH:t.texelWidth,CUBEUV_TEXEL_HEIGHT:t.texelHeight,CUBEUV_MAX_MIP:t.maxMip}}}var dle="varying vec2 vUv;void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;}",hle=`#include <default_pars> 4547#include <default_frag_pars> 4548varying vec2 vUv;void main(){gl_FragColor=vec4(vUv.xy,1.,1.); 4549#include <colorspace_fragment> 4550}`;class is extends Cn{constructor(e={}){const t=e.globalUniforms;delete e.globalUniforms,e=An({vertexShader:dle,fragmentShader:hle,uniforms:{...S.WebGL.globalUniforms}},e),super(e),this.name=this.constructor.name,this.globalUniforms=t,this.uniforms=Object.assign(this.uniforms,this.globalUniforms),this.extensions.derivatives=!0}clone(e){const t=super.clone();return t.uniforms=Object.assign(t.uniforms,this.globalUniforms),t.uniforms=Object.assign(t.uniforms,e),t}}var ple=`varying vec2 vUv;uniform sampler2D tTexture;uniform vec2 uScreenSize;uniform vec2 uImageSize;void main(){vec2 uv=vUv;vec2 s=uScreenSize;vec2 i=uImageSize;float rs=s.x/s.y;float ri=i.x/i.y; 4551#ifdef CROP 4552vec2 new=rs<ri ? vec2(i.x*s.y/i.y,s.y): vec2(s.x,i.y*s.x/i.x);vec2 offset=(rs<ri ? vec2((new.x-s.x)/2.0,0.0): vec2(0.0,(new.y-s.y)/2.0))/new; 4553#else 4554vec2 new=rs>ri ? vec2(i.x*s.y/i.y,s.y): vec2(s.x,i.y*s.x/i.x);vec2 offset=(rs>ri ? vec2((new.x-s.x)/2.0,0.0): vec2(0.0,(new.y-s.y)/2.0))/new; 4555#endif 4556uv=vUv*s/new+offset;if(uv.x<0.0||uv.x>1.0||uv.y<0.0||uv.y>1.0){gl_FragColor=vec4(0.0,0.0,0.0,1.0);return;}gl_FragColor=texture2D(tTexture,uv); 4557#include <colorspace_fragment> 4558}`;class mle{constructor(){he(this,"onResize",()=>{this.setWindowSize(S.window.w,S.window.h);for(const e in this.rtViews)this.rtViews[e].setLocation()});he(this,"render",()=>{if(!this.enabled||!this.scene.children.length)return;const e=S.WebGL.renderer.autoClear;S.WebGL.renderer.autoClear=!1;for(const t in this.rtViews)this.rtViews[t].updateTexture();S.WebGL.renderer.render(this.scene,this.camera),S.WebGL.renderer.autoClear=e});this.enabled=!1,this.renderTargets={},this.rtViews={},this.scene=new Wa,this.camera=new Ou(-1,1,1,-1,1e-6,1e3),this.setWindowSize(S.window.w,S.window.h)}enable(){this.enabled||(this.enabled=!0,S.RAFCollection.add(this.render,999),oc(this.onResize,!1))}disable(){this.enabled&&(this.enabled=!1,S.RAFCollection.remove(this.render),Nl.delete(this.onResize))}registerRT(e,t){if(!t)throw new Error("RTViewer: render target must have a name");this.renderTargets[t]=e}unregisterRT(e){delete this.renderTargets[e]}createRTView(e,t={}){if(!this.renderTargets[e])throw new Error(`RTViewer: render target ${e} not found`);this.rtViews[e]=new gle({renderTarget:this.renderTargets[e],...t}),this.scene.add(this.rtViews[e].mesh)}destroyRTView(e){this.scene.remove(this.rtViews[e].mesh),this.rtViews[e].destroy(),delete this.rtViews[e]}setWindowSize(e,t){this.camera.left=-e/2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=-t/2,this.camera.updateProjectionMatrix()}destroy(){this.disable(),this.camera=null,this.scene=null}}class gle{constructor({renderTarget:e,x:t=0,y:i=0,width:r=400,crop:s=!1}){this.crop=s,this.renderTarget=e,this.options={x:t,y:i,width:r,crop:s},this.material=new is({fragmentShader:ple,uniforms:{tTexture:{value:this.renderTarget.texture},uScreenSize:{value:new Re},uImageSize:{value:new Re}},defines:{CROP:this.crop}}),this.geometry=new lo(1,1),this.mesh=new Qe(this.geometry,this.material),this.setLocation(t,i,r)}setLocation(e,t,i,r){const s=Object.assign(this.options,{x:e,y:t,width:i,height:r});s.height||(s.height=this.renderTarget.height*s.width/this.renderTarget.width),this.mesh.scale.set(s.width,s.height,1),this.mesh.position.x=-S.window.w/2+s.x+s.width/2,this.mesh.position.y=S.window.h/2-s.y-s.height/2,this.material.uniforms.uScreenSize.value.set(s.width,s.height),this.material.uniforms.uImageSize.value.set(this.renderTarget.width,this.renderTarget.height)}updateTexture(){this.material.uniforms.tTexture.value=this.renderTarget.texture}destroy(){this.mesh.geometry.dispose(),this.mesh.material.dispose(),this.mesh=null,this.geometry.dispose(),this.material.dispose(),this.renderTarget=null}}const ME=Object.assign({});function Ale(){for(const n in ME){const e=n.match(/\b\w+-\w+\b/g);e&&e.length&&(S.webglFonts[e[0]]=ME[n])}}class Fd extends lc{constructor(e,t,i,r){super(),this.strength=t!==void 0?t:1,this.radius=i,this.threshold=r,this.resolution=e!==void 0?new Re(e.x,e.y):new Re(256,256),this.clearColor=new ke(0,0,0),this.renderTargetsHorizontal=[],this.renderTargetsVertical=[],this.nMips=3;let s=Math.round(this.resolution.x/4),o=Math.round(this.resolution.y/4);this.renderTargetBright=new li(s,o,{type:nn}),this.renderTargetBright.texture.name="UnrealBloomPass.bright",this.renderTargetBright.texture.generateMipmaps=!1;for(let f=0;f<this.nMips;f++){const h=new li(s,o,{type:nn});h.texture.name="UnrealBloomPass.h"+f,h.texture.generateMipmaps=!1,this.renderTargetsHorizontal.push(h);const p=new li(s,o,{type:nn});p.texture.name="UnrealBloomPass.v"+f,p.texture.generateMipmaps=!1,this.renderTargetsVertical.push(p),s=Math.round(s/2),o=Math.round(o/2)}const a=kP;this.highPassUniforms=Po.clone(a.uniforms),this.highPassUniforms.luminosityThreshold.value=r,this.highPassUniforms.smoothWidth.value=.01,this.materialHighPassFilter=new Cn({uniforms:this.highPassUniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader}),this.separableBlurMaterials=[];const l=[7,9,11];s=Math.round(this.resolution.x/2),o=Math.round(this.resolution.y/2);for(let f=0;f<this.nMips;f++)this.separableBlurMaterials.push(this.getSeperableBlurMaterial(l[f])),this.separableBlurMaterials[f].uniforms.invSize.value=new Re(1/s,1/o),s=Math.round(s/2),o=Math.round(o/2);this.compositeMaterial=this.getCompositeMaterial(this.nMips),this.compositeMaterial.uniforms.blurTexture1.value=this.renderTargetsVertical[0].texture,this.compositeMaterial.uniforms.blurTexture2.value=this.renderTargetsVertical[1].texture,this.compositeMaterial.uniforms.blurTexture3.value=this.renderTargetsVertical[2].texture,this.compositeMaterial.uniforms.bloomStrength.value=t,this.compositeMaterial.uniforms.bloomRadius.value=.1;const c=[1.4,1.2,1];this.compositeMaterial.uniforms.bloomFactors.value=c,this.bloomTintColors=[new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1)],this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors;const u=BA;this.copyUniforms=Po.clone(u.uniforms),this.blendMaterial=new Cn({uniforms:this.copyUniforms,vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Y0,depthTest:!1,depthWrite:!1,transparent:!0}),this.enabled=!0,this.needsSwap=!1,this._oldClearColor=new ke,this.oldClearAlpha=1,this.basic=new Jr,this.fsQuad=new Ip(null)}dispose(){for(let e=0;e<this.renderTargetsHorizontal.length;e++)this.renderTargetsHorizontal[e].dispose();for(let e=0;e<this.renderTargetsVertical.length;e++)this.renderTargetsVertical[e].dispose();this.renderTargetBright.dispose();for(let e=0;e<this.separableBlurMaterials.length;e++)this.separableBlurMaterials[e].dispose();this.compositeMaterial.dispose(),this.blendMaterial.dispose(),this.basic.dispose(),this.fsQuad.dispose()}setSize(e,t){let i=Math.round(e/2),r=Math.round(t/2);this.renderTargetBright.setSize(i,r);for(let s=0;s<this.nMips;s++)this.renderTargetsHorizontal[s].setSize(i,r),this.renderTargetsVertical[s].setSize(i,r),this.separableBlurMaterials[s].uniforms.invSize.value=new Re(1/i,1/r),i=Math.round(i/2),r=Math.round(r/2)}render(e,t,i,r,s){e.getClearColor(this._oldClearColor),this.oldClearAlpha=e.getClearAlpha();const o=e.autoClear;e.autoClear=!1,e.setClearColor(this.clearColor,0),s&&e.state.buffers.stencil.setTest(!1),this.renderToScreen&&(this.fsQuad.material=this.basic,this.basic.map=i.texture,e.setRenderTarget(null),e.clear(),this.fsQuad.render(e)),this.highPassUniforms.tDiffuse.value=i.texture,this.highPassUniforms.luminosityThreshold.value=this.threshold,this.fsQuad.material=this.materialHighPassFilter,e.setRenderTarget(this.renderTargetBright),e.clear(),this.fsQuad.render(e);let a=this.renderTargetBright;for(let l=0;l<this.nMips;l++)this.fsQuad.material=this.separableBlurMaterials[l],this.separableBlurMaterials[l].uniforms.colorTexture.value=a.texture,this.separableBlurMaterials[l].uniforms.direction.value=Fd.BlurDirectionY,e.setRenderTarget(this.renderTargetsHorizontal[l]),e.clear(),this.fsQuad.render(e),this.separableBlurMaterials[l].uniforms.colorTexture.value=this.renderTargetsHorizontal[l].texture,this.separableBlurMaterials[l].uniforms.direction.value=Fd.BlurDirectionY,e.setRenderTarget(this.renderTargetsVertical[l]),e.clear(),this.fsQuad.render(e),a=this.renderTargetsVertical[l];this.fsQuad.material=this.compositeMaterial,this.compositeMaterial.uniforms.bloomStrength.value=this.strength,this.compositeMaterial.uniforms.bloomRadius.value=this.radius,this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors,e.setRenderTarget(this.renderTargetsHorizontal[0]),e.clear(),this.fsQuad.render(e),this.fsQuad.material=this.blendMaterial,this.copyUniforms.tDiffuse.value=this.renderTargetsHorizontal[0].texture,s&&e.state.buffers.stencil.setTest(!0),this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(i),this.fsQuad.render(e)),e.setClearColor(this._oldClearColor,this.oldClearAlpha),e.autoClear=o}getSeperableBlurMaterial(e){const t=[];for(let i=0;i<e;i++)t.push(.39894*Math.exp(-.5*i*i/(e*e))/e);return new Cn({defines:{KERNEL_RADIUS:e},uniforms:{colorTexture:{value:null},invSize:{value:new Re(.5,.5)},direction:{value:new Re(.5,.5)},gaussianCoefficients:{value:t}},vertexShader:`varying vec2 vUv; 4559 void main() { 4560 vUv = uv; 4561 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4562 }`,fragmentShader:`#include <common> 4563 varying vec2 vUv; 4564 uniform sampler2D colorTexture; 4565 uniform vec2 invSize; 4566 uniform vec2 direction; 4567 uniform float gaussianCoefficients[KERNEL_RADIUS]; 4568 4569 void main() { 4570 float weightSum = gaussianCoefficients[0]; 4571 vec3 diffuseSum = texture2D( colorTexture, vUv ).rgb * weightSum; 4572 for( int i = 1; i < KERNEL_RADIUS; i ++ ) { 4573 float x = float(i); 4574 float w = gaussianCoefficients[i]; 4575 vec2 uvOffset = direction * invSize * x; 4576 vec3 sample1 = texture2D( colorTexture, vUv + uvOffset ).rgb; 4577 vec3 sample2 = texture2D( colorTexture, vUv - uvOffset ).rgb; 4578 diffuseSum += (sample1 + sample2) * w; 4579 weightSum += 2.0 * w; 4580 } 4581 gl_FragColor = vec4(diffuseSum/weightSum, 1.0); 4582 }`})}getCompositeMaterial(e){return new Cn({defines:{NUM_MIPS:e},uniforms:{blurTexture1:{value:null},blurTexture2:{value:null},blurTexture3:{value:null},bloomStrength:{value:1},bloomFactors:{value:null},bloomTintColors:{value:null},bloomRadius:{value:0}},vertexShader:`varying vec2 vUv; 4583 void main() { 4584 vUv = uv; 4585 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4586 }`,fragmentShader:`varying vec2 vUv; 4587 uniform sampler2D blurTexture1; 4588 uniform sampler2D blurTexture2; 4589 uniform sampler2D blurTexture3; 4590 uniform float bloomStrength; 4591 uniform float bloomRadius; 4592 uniform float bloomFactors[NUM_MIPS]; 4593 uniform vec3 bloomTintColors[NUM_MIPS]; 4594 4595 float lerpBloomFactor(const in float factor) { 4596 float mirrorFactor = 1.2 - factor; 4597 return mix(factor, mirrorFactor, bloomRadius); 4598 } 4599 4600 void main() { 4601 gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) + 4602 lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) + 4603 lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) ); 4604 }`})}}Fd.BlurDirectionX=new Re(1,0);Fd.BlurDirectionY=new Re(-.5,1);var IE=`#include <common> 4605#include <packing> 4606varying vec2 vUv;uniform sampler2D tBase;uniform vec2 uTexelSize;uniform vec2 uResolution;uniform float uNormalizedDelta;uniform float uScreenAspect;uniform vec3 uForce;uniform vec2 uMouse;uniform vec2 uPrevMouse;uniform vec2 uMouseVelocity;uniform float uMouseRadius;uniform float uPressure;uniform float uMouseStrength;float sdLine(vec2 p,vec2 a,vec2 b){float velocity=clamp(length(uMouseVelocity),0.5,1.5);vec2 pa=p-a,ba=b-a;float h=clamp(dot(pa,ba)/dot(ba,ba),0.0,1.0);return length(pa-ba*h)/velocity;}void main(){float aspect=uResolu
4606tion.x/uResolution.y;vec4 color=texture2D(tBase,vUv);float magnitude=1.0-smoothstep(0.0,uMouseRadius,distance(vUv*vec2(uScreenAspect,1.),uMouse*vec2(uScreenAspect,1.)));vec3 splat=uForce*magnitude*uMouseStrength;color.rgb=(color.rgb+splat)*uPressure;color.a=1.0;gl_FragColor=color;}`,vle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform sampler2D tVelocity;void main(){float L=texture(tVelocity,vL).y;float R=texture(tVelocity,vR).y;float T=texture(tVelocity,vT).x;float B=texture(tVelocity,vB).x;float vorticity=R-L-T+B;gl_FragColor=vec4(0.5*vorticity,0.0,0.0,1.0);}",yle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform sampler2D tVelocity;uniform sampler2D tCurl;uniform float uCurlStrength;uniform float uNormalizedDelta;void main(){float L=texture(tCurl,vL).x;float R=texture(tCurl,vR).x;float T=texture(tCurl,vT).x;float B=texture(tCurl,vB).x;float C=texture(tCurl,vUv).x;vec2 force=0.5*vec2(abs(T)-abs(B),abs(R)-abs(L));force/=length(force)+0.01;force*=uCurlStrength*C;force.y*=-1.0;vec2 vel=texture(tVelocity,vUv).xy;gl_FragColor=vec4(vel+force*uNormalizedDelta,0.0,1.0);}",_le="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform sampler2D tVelocity;uniform float uViscosity;void main(){float L=texture(tVelocity,vL).x;float R=texture(tVelocity,vR).x;float T=texture(tVelocity,vT).y;float B=texture(tVelocity,vB).y;vec2 C=texture(tVelocity,vUv).xy;if(vL.x<0.0){L=-C.x;}if(vR.x>1.0){R=-C.x;}if(vT.y>1.0){T=-C.y;}if(vB.y<0.0){B=-C.y;}float div=0.5*(R-L+T-B)*uViscosity;gl_FragColor=vec4(div,0.0,0.0,1.0);}",ble="varying vec2 vUv;uniform sampler2D tPressure;uniform float uClearValue;void main(){gl_FragColor=uClearValue*texture2D(tPressure,vUv);}",xle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform vec2 uTexelSize;uniform sampler2D tTexture;uniform sampler2D tPressure;uniform sampler2D tDivergence;vec2 boundary(vec2 uv){return uv;}void main(){float L=texture2D(tTexture,boundary(vL)).x;float R=texture2D(tTexture,boundary(vR)).x;float T=texture2D(tTexture,boundary(vT)).x;float B=texture2D(tTexture,boundary(vB)).x;float C=texture2D(tTexture,vUv).x;float divergence=texture2D(tDivergence,vUv).x;float pressure=(L+R+B+T-divergence)*0.25;gl_FragColor=vec4(pressure,0.0,0.0,1.0);}",PE="varying vec2 vUv;uniform vec2 uTexelSize;uniform sampler2D tTexture;uniform sampler2D tVelocity;uniform float uNormalizedDelta;uniform float uDelta;uniform float uDissipation;void main(){vec2 coord=vUv-uNormalizedDelta*texture2D(tTexture,vUv).xy*uTexelSize;vec4 result=texture2D(tVelocity,coord);float decay=1.0+uDissipation*uNormalizedDelta;gl_FragColor=result/decay;}",Cle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform vec2 uTexelSize;uniform vec2 uResolution;uniform sampler2D tPressure;uniform sampler2D tVelocity;vec2 boundary(vec2 uv){return uv;}void main(){vec2 halfrdx=0.5/uResolution;float L=texture2D(tPressure,boundary(vL)).x;float R=texture2D(tPressure,boundary(vR)).x;float T=texture2D(tPressure,boundary(vT)).x;float B=texture2D(tPressure,boundary(vB)).x;vec2 velocity=texture2D(tVelocity,vUv).xy;velocity.xy-=vec2(R-L,T-B);gl_FragColor=vec4(velocity,0.0,1.0);}",R4="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform vec2 uTexelSize;void main(){vUv=uv;vL=vUv-vec2(uTexelSize.x,0.0);vR=vUv+vec2(uTexelSize.x,0.0);vT=vUv+vec2(0.0,uTexelSize.y);vB=vUv-vec2(0.0,uTexelSize.y);gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);}";class Qr{constructor({fragmentShader:e,uniforms:t={},defines:i={},width:r=32,height:s=32,data:o=!1,count:a,filter:l,wrap:c,type:u,createTexture:f=!0,pingPong:h=!0,autoSwap:p=!0,autoClear:m=!1,transparent:v=!1,renderTargets:A=!1}){a?(this.width=Bae(a),this.height=this.width,this.count=a):(this.width=r,this.height=s,this.count=r*s),this.uniforms=t,this.defines=i,this.renderTargets={},A&&(this.renderTargets.a=A.a,this.renderTargets.b=A.b),this.texture=null,this.alternateTexture=null,this.createTexture=f,this.pingPong=h,this.autoSwap=p,this.transparent=v,this.autoClear=m,this.filter=l||Br,this.wrap=c||ti,this.type=u||nn,this.type=u?u===Zt&&S.breakpoints.is("touch")&&!this.createTexture?nn:u:nn,this.scene=new Wa,this.camera=new TA,this.camera.position.z=1,this.buildRenderTargets(),this.buildPlane(e),this.createTexture&&this.buildoriginalTexture(o),this.setFboUv(),this.render()}buildoriginalTexture(e){const t=this.count*4,i=new Float32Array(this.width*this.height*4);if(e)for(let r=0;r<t;r+=4)i[r+0]=e[r+0],i[r+1]=e[r+1],i[r+2]=e[r+2],i[r+3]=e[r+3];else for(let r=0;r<t;r+=4)i[r+0]=0,i[r+1]=0,i[r+2]=0,i[r+3]=1;this.originalTexture=new zd(i,this.width,this.height,pi,this.type),this.originalTexture.minFilter=this.filter,this.originalTexture.magFilter=this.filter,this.originalTexture.needsUpdate=!0,this.uniforms.tOriginalTexture.value=this.originalTexture,this.uniforms.tTexture.value=this.originalTexture,this.uniforms.tPrevTexture.value=this.originalTexture}buildRenderTargets(){this.renderTargets.a||(this.renderTargets.a=new li(this.width,this.height,{minFilter:S.breakpoints.is("touch")?this.filter:jx,magFilter:this.filter,wrapS:this.wrap,wrapT:this.wrap,generateMipmaps:!0,format:pi,type:this.t
4606ype,depthBuffer:!1,stencilBuffer:!1})),this.renderTargets.write=this.renderTargets.a,this.pingPong&&(this.renderTargets.b||(this.renderTargets.b=this.renderTargets.a.clone()),this.renderTargets.read=this.renderTargets.b)}buildPlane(e){Object.assign(this.uniforms,{tOriginalTexture:{value:null},tTexture:{value:null},tPrevTexture:{value:null},uTime:S.WebGL.globalUniforms.uTime,uDelta:S.WebGL.globalUniforms.uDelta,uNormalizedDelta:S.WebGL.globalUniforms.uNormalizedDelta,uResolution:{value:new Re(this.width,this.height)},uTexelSize:{value:new Re(1/this.width,1/this.height)}}),Object.assign(this.defines,{}),this.plane=new Qe(new lo(2,2),new Cn({vertexShader:R4,fragmentShader:e,uniforms:this.uniforms,defines:this.defines,transparent:this.transparent})),this.material=this.plane.material,this.scene.add(this.plane)}setFboUv(){this.fboUv={},this.fboUv.data=new Float32Array(this.count*2);const e=1/this.width/2,t=1/this.height/2;for(let i=0;i<this.count;i++){const r=i%this.width/this.width+e,s=Math.floor(i/this.width)/this.height+t;this.fboUv.data[i*2+0]=r,this.fboUv.data[i*2+1]=s}this.fboUv.attribute=new Gi(this.fboUv.data,2),this.fboUv.attributeInstanced=new Ro(this.fboUv.data,2)}render(){const e=S.WebGL.renderer.getRenderTarget();S.WebGL.renderer.setRenderTarget(this.renderTargets.write),S.WebGL.renderer.render(this.scene,this.camera),S.WebGL.renderer.setRenderTarget(e),this.pingPong&&this.autoSwap?this.swap():this.texture=this.renderTargets.write.texture}swap(){const e=this.renderTargets.write;this.uniforms.tPrevTexture.value=e.texture,this.renderTargets.write=this.renderTargets.read,this.renderTargets.read=e,this.texture=this.renderTargets.read.texture,this.alternateTexture=this.renderTargets.write.texture}update(e=!0){const t=S.WebGL.renderer.autoClear;S.WebGL.renderer.autoClear=this.autoClear,e&&(this.pingPong?this.uniforms.tTexture.value=this.renderTargets.read.texture:this.uniforms.tTexture.value=this.renderTargets.write.texture),this.render(),S.WebGL.renderer.autoClear=t}setSize(e,t){this.renderTargets.a.setSize(e,t),this.renderTargets.b&&this.renderTargets.b.setSize(e,t),this.uniforms.uResolution.value.set(e,t),this.uniforms.uTexelSize.value.set(1/e,1/t)}destroy(){this.renderTargets.a.dispose(),this.renderTargets.b&&this.renderTargets.b.dispose(),this.uniforms.tTexture.value&&this.uniforms.tTexture.value.dispose(),this.originalTexture&&this.originalTexture.dispose(),this.plane.geometry.dispose(),this.plane.material.dispose()}}class wle{constructor(e={}){he(this,"onRaf",()=>{this.addForceSimMouse.uniforms.uScreenAspect.value=S.window.w/S.window.h,this.addForceSimVelocity.uniforms.uScreenAspect.value=S.window.w/S.window.h,this.curlSim.uniforms.tVelocity.value=this.advectionSimVelocity.texture,this.curlSim.update(!1),this.vorticitySim.uniforms.tVelocity.value=this.advectionSimVelocity.texture,this.vorticitySim.uniforms.tCurl.value=this.curlSim.texture,this.vorticitySim.update(!1),this.addForce(this.addForceSimMouse.uniforms,this.addForceSimVelocity.uniforms,this.options.fluid),this.addForceSimMouse.uniforms.tBase.value=this.advectionSimMouse.texture,this.addForceSimMouse.update(!1),this.addForceSimVelocity.uniforms.tBase.value=this.vorticitySim.texture,this.addForceSimVelocity.update(),this.divergenceSim.uniforms.tVelocity.value=this.addForceSimVelocity.texture,this.divergenceSim.update(),this.clearSim.uniforms.tPressure.value=this.pressureSim.texture,this.clearSim.update(),this.pressureSim.uniforms.tPressure.value=this.clearSim.texture,this.pressureSim.uniforms.tDivergence.value=this.divergenceSim.texture;for(let e=0;e<this.options.fluid.iterations;e++)this.pressureSim.update();this.gradientSubtractSim.uniforms.tPressure.value=this.pressureSim.texture,this.gradientSubtractSim.uniforms.tVelocity.value=this.addForceSimVelocity.texture,this.gradientSubtractSim.update(),this.advectionSimVelocity.uniforms.tVelocity.value=this.gradientSubtractSim.texture,this.advectionSimVelocity.update(),this.advectionSimMouse.uniforms.tVelocity.value=this.addForceSimMouse.texture,this.advectionSimMouse.update()});this.options=An({name:this.constructor.name,textureWidth:S.breakpoints.is("touch")?64:128,simulationOpts:{uniforms:{uMouseRadius:{value:.15,gui:{min:0,max:1,step:.
460601}},uPressure:{value:.998,gui:{min:.7,max:1,step:.001}},uCurlStrength:{value:.04,gui:{min:0,step:.01}},uDissipation:{value:.005,gui:{min:0,max:.1,step:1e-4}},uClearValue:{value:0,gui:{min:0,max:.99,step:.01}},uViscosity:{value:.2,gui:{min:0,max:.5,step:.001}}}},fluid:{force:20,iterations:3,forceClamp:100}},e),this.prevMouse=new Re(-1,-1),this.pointerPos=new Re(-1,-1),this.targetPointerPos=new Re(-1,-1),this.isActive=!1,this.build(),this.addForce=this.addScreenSpaceMouseForce}build(){this.advectionSimVelocity=new Qr({fragmentShader:PE,uniforms:{tVelocity:{value:null},uDissipation:this.options.simulationOpts.uniforms.uDissipation},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1}),this.curlSim=new Qr({fragmentShader:vle,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture}},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.vorticitySim=new Qr({fragmentShader:yle,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture},tCurl:{value:this.curlSim.texture},uCurlStrength:this.options.simulationOpts.uniforms.uCurlStrength},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.divergenceSim=new Qr({fragmentShader:_le,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture},uViscosity:this.options.simulationOpts.uniforms.uViscosity},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.clearSim=new Qr({fragmentShader:ble,uniforms:{tPressure:{value:null},uClearValue:this.options.simulationOpts.uniforms.uClearValue},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.pressureSim=new Qr({fragmentShader:xle,uniforms:{tPressure:{value:null},tDivergence:{value:this.divergenceSim.texture}},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1}),this.gradientSubtractSim=new Qr({fragmentShader:Cle,uniforms:{tPressure:{value:this.pressureSim.texture},tVelocity:{value:this.advectionSimVelocity.texture}},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.advectionSimMouse=new Qr({fragmentShader:PE,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture},uDissipation:this.options.simulationOpts.uniforms.uDissipation},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1}),this.addForceSimMouse=new Qr({fragmentShader:IE,uniforms:{tBase:{value:this.advectionSimMouse.texture},uMouse:{value:new Re(-1,-1)},uMouseStrength:{value:1},uPrevMouse:{value:new Re(-1,-1)},uMouseVelocity:{value:new Re},uForce:{value:new K},uScreenAspect:{value:S.window.w/S.window.h},uMouseRadius:this.options.simulationOpts.uniforms.uMouseRadius,uPressure:this.options.simulationOpts.uniforms.uPressure},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.addForceSimVelocity=new Qr({fragmentShader:IE,uniforms:{tBase:{value:this.advectionSimVelocity.texture},uMouse:{value:new Re(-1,-1)},uMouseStrength:{value:1},uPrevMouse:{value:new Re(-1,-1)},uMouseVelocity:{value:new Re},uForce:{value:new K},uScreenAspect:{value:S.window.w/S.window.h},uMouseRadius:this.options.simulationOpts.uniforms.uMouseRadius,uPressure:this.options.simulationOpts.uniforms.uPressure},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1})}addEvents(){this.isActive||(S.RAFCollection.add(this.onRaf,2),this.isActive=!0)}removeEvents(){this.isActive&&(S.RAFCollection.remove(this.onRaf),this.isActive=!1)}setAddForceFunction(e){this.addForce=e}addScreenSpaceMouseForce(){S.pointer.glScreenSpace.equals(this.targetPointerPos)||(this.targetPointerPos.copy(S.pointer.glScreenSpace),this.pointerPos.x===-1&&this.pointerPos.y===-1&&(this.pointerPos.copy(this.targetPointerPos),this.prevMouse.copy(this.pointerPos))),this.pointerPos.lerp(this.targetPointerPos,.2),this.addForceSimMouse.uniforms.uPrevMouse.value.copy(this.prevMouse),this.addForceSimVelocity.uniforms.uPrevMouse.value.copy(this.prevMouse),this.addForceSimVelocity.uniforms.uMouse.value.copy(this.pointerPos),this.addForceSimVelocity.uniforms.uForce.value.set((this.pointerPos.x-this.prevMouse.x)*this.options.fluid.force,(this.pointerPos.y-this.prevMouse.y)*this.options.fluid.force,0),this.options.fluid.forceClamp&&this.addForceSimVelocity.uniforms.uForce.value.clampScalar(-this.options.fluid.forceClamp,this.options.fluid.forceClamp),this.addForceSimVelocity.uniforms.uMouseVelocity.value.set((this.addForceSimVelocity.uniforms.uMouse.value.x-this.addForceSimVelocity.uniforms.uPrevMouse.value.x)/16,(this.addForceSimVelocity.uniforms.uMouse.value.y-this.addForceSimVelocity.uniforms.uPrevMouse.value.y)/16),this.addForceSimMouse.uniforms.uMouse.value.copy(this.addForceSimVelocity.uniforms.uMouse.value),this.addForceSimMouse.uniforms.uMouseVelocity.value.copy(this.addForceSimVelocity.uniforms.uMouseVelocity.value),this.addForceSimMouse.uniforms.uForce.value.set(1,1,1),this.prevMouse.copy(this.pointerPos)}destroy(){this.removeEvents(),this.advectionSimVelocity.destroy(),this.curlSim.destroy(),this.vorticitySim.destroy(),this.divergenceSim.destroy(),this.clearSim.destroy(),this.pressureSim.destroy(),this.gradientSubtractSim.destroy(),this.addForceSimMouse.destroy(),this.addForceSimVelocity.destroy()}
4606addGui(){S.guiReady.then(()=>{const e=S.Gui.addFolder({title:"Fluid Sim",expanded:!1});S.Gui.autoAddUniforms(e,this.options.simulationOpts.uniforms,["uForce"]),e.addBinding(this.options.fluid,"force",{label:"force"}),e.addBinding(this.options.fluid,"forceClamp",{label:"forceClamp"})})}}var Sle="varying vec2 vUv;void main(){vUv=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);}",Ele=`varying vec2 vUv;uniform sampler2D tFromScene;uniform sampler2D tToScene;uniform sampler2D tNoise;uniform float uProgress;uniform vec2 uNoise1Scale;uniform vec2 uNoise2Scale;uniform vec2 uNoise1Offset;uniform float uUvDistortion;uniform float uAdditionalUvDistortion;uniform float uChromaticAberrationStrength;uniform float uCrossfadeSize;uniform float uCrossfadeNoise;uniform vec2 uResolution;uniform float uTime;float random(vec2 p){vec3 p3=fract(vec3(p.xyx)*443.8975);p3+=dot(p3,p3.yzx+19.19);return fract((p3.x+p3.y)*p3.z);}vec2 barrelPincushion(vec2 uv,float strength){vec2 st=uv-0.5;float theta=atan(st.x,st.y);float radius=sqrt(dot(st,st));radius*=1.0+strength*(radius*radius);return 0.5+radius*vec2(sin(theta),cos(theta));}void main(){vec2 distortedUv=barrelPincushion(vUv,3.);vec2 distortedUvFlipped=barrelPincushion(vUv,-0.5);float aspect=uResolution.x/uResolution.y;float smallNoise=random(vUv)*2.-1.;vec2 noise=texture2D(tNoise,vUv*uNoise1Scale+uNoise1Offset).rg*2.-1.;float noise2=texture2D(tNoise,vUv*uNoise2Scale+noise+vec2(0.,uTime*0.01)).r*2.-1.;distortedUvFlipped+=noise2*uUvDistortion;float chromaticAberration=uChromaticAberrationStrength+smallNoise*0.003;float topThreshold=0.3+noise2*uAdditionalUvDistortion;float bottomThreshold=0.;float fromFade=1.-smoothstep(uProgress-topThreshold,uProgress-bottomThreshold,distortedUv.y);fromFade+=1.-smoothstep(uProgress+bottomThreshold,uProgress+topThreshold,distortedUv.y);fromFade=clamp(fromFade,0.,1.);vec2 redOffsetFrom=mix(vUv,distortedUvFlipped,fromFade);vec2 greenOffsetFrom=mix(vUv,distortedUvFlipped+vec2(chromaticAberration,0.0),fromFade);vec2 blueOffsetFrom=mix(vUv,distortedUvFlipped-vec2(chromaticAberration,0.0),fromFade);float redChannel=texture2D(tFromScene,redOffsetFrom).r;float greenChannel=texture2D(tFromScene,greenOffsetFrom).g;float blueChannel=texture2D(tFromScene,blueOffsetFrom).b;vec4 fromScene=vec4(redChannel,greenChannel,blueChannel,1.0);fromScene.rgb+=fromScene.rgb*0.5*fromFade;float toFade=1.-smoothstep(uProgress+topThreshold,uProgress+bottomThreshold,distortedUv.y);toFade+=1.-smoothstep(uProgress-bottomThreshold,uProgress-topThreshold,distortedUv.y);toFade=clamp(toFade,0.,1.);vec2 redOffsetTo=mix(vUv,distortedUvFlipped,toFade);vec2 greenOffsetTo=mix(vUv,distortedUvFlipped+vec2(chromaticAberration,0.0),toFade);vec2 blueOffsetTo=mix(vUv,distortedUvFlipped-vec2(chromaticAberration,0.0),toFade);float redChannelTo=texture2D(tToScene,redOffsetTo).r;float greenChannelTo=texture2D(tToScene,greenOffsetTo).g;float blueChannelTo=texture2D(tToScene,blueOffsetTo).b;vec4 toScene=vec4(redChannelTo,greenChannelTo,blueChannelTo,1.0);toScene.rgb+=toScene.rgb*0.5*toFade;float combineFade=1.-smoothstep(uProgress-uCrossfadeSize-noise2*uCrossfadeNoise,uProgress+uCrossfadeSize+noise2*uCrossfadeNoise,distortedUv.y+noise2*0.3);vec4 outputColor=mix(fromScene,toScene,combineFade);gl_FragColor=outputColor; 4607#include <colorspace_fragment> 4608}`;class Uh{constructor(e={}){this.options=Object.assign({materialOpts:{},start:"bottom top+=100%",end:"bottom top-=75%",ease:"none"},e)}build(){this.fromScene=S.WebGL.scenes[`${this.options.fromScene}`],this.toScene=S.WebGL.scenes[`${this.options.toScene}`],this.transitionPass=new rp(new is(An({vertexShader:Sle,fragmentShader:Ele,name:this.constructor.name,uniforms:{tFromScene:{value:this.fromScene.savePass.renderTarget.texture},tToScene:{value:this.toScene.savePass.renderTarget.texture},tNoise:{value:S.WebGL.assets.textures.noise},uProgress:{value:0},...S.WebGL.globalTransitionUniforms}},this.options.materialOpts))),this.transitionPass.name=`${this.options.fromScene} <-> ${this.options.toScene} Transition`,this.transitionPass.enabled=!1,S.WebGL.composerPasses.add(this.transitionPass,S.WebGL.composerPassOrder.transitions),this.buildTimeline()}buildTimeline(){this.timeline=dr.fromTo(this.transitionPass.material.uniforms.uProgress,{value:-.9},{value:1.9,duration:1,ease:this.options.ease,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.fromScene.options.domId}"]`,start:this.options.start,end:this.options.end,scrub:!0,onEnter:()=>{this.toScene.start(),this.enable()},onLeave:()=>{requestAnimationFrame(()=>{this.fromScene.stop(),this.disable()})},onLeaveBack:()=>{requestAnimationFrame(()=>{this.toScene.stop(),this.disable()})},onEnterBack:()=>{this.fromScene.start(),this.enable()}}})}enable(){this.fromScene.savePass.enabled=!0,this.toScene.savePass.enabled=!0,this.transitionPass.enabled=!0}disable(){this.fromScene.savePass.enabled=!1,this.toScene.savePass.enabled=!1,this.transitionPass.enabled=!1}killTimeline(){this.timeline.kill()}destroy(){}}var oy={},ay={},ly={},RE;function JR(){return RE||(RE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){if(t=`${t}`,t==="0")return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(t))return t.replace(/^[+-]?/,r=>r==="-"?"":"-");let i=["var","calc","min","max","clamp"];for(const r of i)if(t.includes(`${r}(`))return`calc(${t} * -1)`}}(ly)),ly}var cy={},BE;function Tle(){return BE||(BE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});const e=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","size","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","textWrap","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","contain","content","forcedColorAdjust"]}(cy)),cy}var uy={},DE;function Mle(){return DE||(DE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t,i){return t===void 0?i:Array.isArray(t)?t:[...new Set(i.filter(s=>t!==!1&&t[s]!==!1).concat(Object.keys(t).filter(s=>t[s]!==!1)))]}}(uy)),uy}var fy={},dy={},D1={exports:{}},LE;function eB(){if(LE)return D1.exports;LE=1;var n=String,e=function(){return{isColorSupported:!1,reset:n,bold:n,dim:n,italic:n,underline:n,inverse:n,hidden:n,strikethrough:n,black:n,red:n,green:n,yellow:n,blue:n,magenta:n,cyan:n,white:n,gray:n,bgBlack:n,bgRed:n,bgGreen:n,bgYellow:n,bgBlue:n,bgMagenta:n,bgCyan:n,bgWhite:n,blackBright:n,redBright:n,greenBright:n,yellowBright:n,blueBright:n,magentaBright:n,cyanBright:n,whiteBright:n,bgBlackBright:n,bgRedBright:n,bgGreenBright:n,bgYellowBright:n,bgBlueBright:n,bgMagentaBright:n,bgCyanBright:n,bgWhiteBright:n}};return D1.exports=e(),D1.exports.createColors=e,D1.exports}var OE;function B4(){return OE||(OE=1,function(n){var e={};Object.defineProperty(n,"__esModule",{value:!0});function t(c,u){for(var f in u)Object.defineProperty(c,f,{enumerable:!0,get:u[f]})}
4608t(n,{dim:function(){return a},default:function(){return l}});const i=r(eB());function r(c){return c&&c.__esModule?c:{default:c}}let s=new Set;function o(c,u,f){typeof process<"u"&&e.JEST_WORKER_ID||f&&s.has(f)||(f&&s.add(f),console.warn(""),u.forEach(h=>console.warn(c,"-",h)))}function a(c){return i.default.dim(c)}const l={info(c,u){o(i.default.bold(i.default.cyan("info")),...Array.isArray(c)?[c]:[u,c])},warn(c,u){o(i.default.bold(i.default.yellow("warn")),...Array.isArray(c)?[c]:[u,c])},risk(c,u){o(i.default.bold(i.default.magenta("risk")),...Array.isArray(c)?[c]:[u,c])}}}(dy)),dy}var FE;function Ile(){return FE||(FE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});const e=t(B4());function t(s){return s&&s.__esModule?s:{default:s}}function i({version:s,from:o,to:a}){e.default.warn(`${o}-color-renamed`,[`As of Tailwind CSS ${s}, \`${o}\` has been renamed to \`${a}\`.`,"Update your configuration file to silence this warning."])}const r={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return i({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return i({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return i({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return i({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return i({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}}(fy)),fy}var hy={},UE;function Ple(){return UE||(UE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"defaults",{enumerable:!0,get:function(){return e}});function e(t,...i){for(let o of i){for(let a in o){var r;!(t==null||(r=t.hasOwnProperty)===null||r===void 0)&&r.call(t,a)||(t[a]=o[a])}for(let a of Object.getOwnPropertySymbols(o)){var s;!(t==null||(s=t.hasOwnProperty)===null||s===void 0)&&s.call(t,a)||(t[a]=o[a])}}return t}}(hy)),hy}var py={},NE;function Rle(){return NE||(NE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"toPath",{enumerable:!0,get:function(){return e}});function e(t){if(Array.isArray(t))return t;let i=t.split("[").length-1,r=t.split("]").length-1;
4608if(i!==r)throw new Error(`Path is invalid. Has unbalanced brackets: ${t}`);return t.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}}(py)),py}var my={},gy={},kE;function D4(){return kE||(kE=1,function(n){var e={};Object.defineProperty(n,"__esModule",{value:!0});function t(h,p){for(var m in p)Object.defineProperty(h,m,{enumerable:!0,get:p[m]})}t(n,{flagEnabled:function(){return l},issueFlagNotices:function(){return u},default:function(){return f}});const i=s(eB()),r=s(B4());function s(h){return h&&h.__esModule?h:{default:h}}let o={optimizeUniversalDefaults:!1,generalizedModifiers:!0,disableColorOpacityUtilitiesByDefault:!1,relativeContentPathsByDefault:!1},a={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]};function l(h,p){if(a.future.includes(p)){var m,v,A;return h.future==="all"||((A=(v=h==null||(m=h.future)===null||m===void 0?void 0:m[p])!==null&&v!==void 0?v:o[p])!==null&&A!==void 0?A:!1)}if(a.experimental.includes(p)){var y,x,b;return h.experimental==="all"||((b=(x=h==null||(y=h.experimental)===null||y===void 0?void 0:y[p])!==null&&x!==void 0?x:o[p])!==null&&b!==void 0?b:!1)}return!1}function c(h){if(h.experimental==="all")return a.experimental;var p;return Object.keys((p=h==null?void 0:h.experimental)!==null&&p!==void 0?p:{}).filter(m=>a.experimental.includes(m)&&h.experimental[m])}function u(h){if(e.JEST_WORKER_ID===void 0&&c(h).length>0){let p=c(h).map(m=>i.default.yellow(m)).join(", ");r.default.warn("experimental-flags-enabled",[`You have enabled experimental features: ${p}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}}const f=a}(gy)),gy}var zE;function Ble(){return zE||(zE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"normalizeConfig",{enumerable:!0,get:function(){return s}});const e=D4(),t=r(B4());function i(o){if(typeof WeakMap!="function")return null;var a=new WeakMap,l=new WeakMap;return(i=function(c){return c?l:a})(o)}function r(o,a){if(o&&o.__esModule)return o;if(o===null||typeof o!="object"&&typeof o!="function")return{default:o};var l=i(a);if(l&&l.has(o))return l.get(o);var c={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in o)if(f!=="default"&&Object.prototype.hasOwnProperty.call(o,f)){var h=u?Object.getOwnPropertyDescriptor(o,f):null;h&&(h.get||h.set)?Object.defineProperty(c,f,h):c[f]=o[f]}return c.default=o,l&&l.set(o,c),c}function s(o){if((()=>{if(o.purge||!o.content||!Array.isArray(o.content)&&!(typeof o.content=="object"&&o.content!==null))return!1;if(Array.isArray(o.content))return o.content.every(c=>typeof c=="string"?!0:!(typeof(c==null?void 0:c.raw)!="string"||c!=null&&c.extension&&typeof(c==null?void 0:c.extension)!="str
4608ing"));if(typeof o.content=="object"&&o.content!==null){if(Object.keys(o.content).some(c=>!["files","relative","extract","transform"].includes(c)))return!1;if(Array.isArray(o.content.files)){if(!o.content.files.every(c=>typeof c=="string"?!0:!(typeof(c==null?void 0:c.raw)!="string"||c!=null&&c.extension&&typeof(c==null?void 0:c.extension)!="string")))return!1;if(typeof o.content.extract=="object"){for(let c of Object.values(o.content.extract))if(typeof c!="function")return!1}else if(!(o.content.extract===void 0||typeof o.content.extract=="function"))return!1;if(typeof o.content.transform=="object"){for(let c of Object.values(o.content.transform))if(typeof c!="function")return!1}else if(!(o.content.transform===void 0||typeof o.content.transform=="function"))return!1;if(typeof o.content.relative!="boolean"&&typeof o.content.relative<"u")return!1}return!0}return!1})()||t.default.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),o.safelist=(()=>{var c;let{content:u,purge:f,safelist:h}=o;return Array.isArray(h)?h:Array.isArray(u==null?void 0:u.safelist)?u.safelist:Array.isArray(f==null?void 0:f.safelist)?f.safelist:Array.isArray(f==null||(c=f.options)===null||c===void 0?void 0:c.safelist)?f.options.safelist:[]})(),o.blocklist=(()=>{let{blocklist:c}=o;if(Array.isArray(c)){if(c.every(u=>typeof u=="string"))return c;t.default.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),typeof o.prefix=="function")t.default.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),o.prefix="";else{var l;o.prefix=(l=o.prefix)!==null&&l!==void 0?l:""}o.content={relative:(()=>{let{content:c}=o;return c!=null&&c.relative?c.relative:(0,e.flagEnabled)(o,"relativeContentPathsByDefault")})(),files:(()=>{let{content:c,purge:u}=o;return Array.isArray(u)?u:Array.isArray(u==null?void 0:u.content)?u.content:Array.isArray(c)?c:Array.isArray(c==null?void 0:c.content)?c.content:Array.isArray(c==null?void 0:c.files)?c.files:[]})(),extract:(()=>{let c=(()=>{var h,p,m,v,A,y,x,b,_,T;return!((h=o.purge)===null||h===void 0)&&h.extract?o.purge.extract:!((p=o.content)===null||p===void 0)&&p.extract?o.content.extract:!((m=o.purge)===null||m===void 0||(v=m.extract)===null||v===void 0)&&v.DEFAULT?o.purge.extract.DEFAULT:!((A=o.content)===null||A===void 0||(y=A.extract)===null||y===void 0)&&y.DEFAULT?o.content.extract.DEFAULT:!((x=o.purge)===null||x===void 0||(b=x.options)===null||b===void 0)&&b.extractors?o.purge.options.extractors:!((_=o.content)===null||_===void 0||(T=_.options)===null||T===void 0)&&T.extractors?o.content.options.extractors:{}})(),u={},f=(()=>{var h,p,m,v;if(!((h=o.purge)===null||h===void 0||(p=h.options)===null||p===void 0)&&p.defaultExtractor)return o.purge.options.defaultExtractor;if(!((m=o.content)===null||m===void 0||(v=m.options)===null||v===void 0)&&v.defaultExtractor)return o.content.options.defaultExtractor})();if(f!==void 0&&(u.DEFAULT=f),typeof c=="function")u.DEFAULT=c;else if(Array.isArray(c))for(let{extensions:h,extractor:p}of c??[])for(let m of h)u[m]=p;else typeof c=="object"&&c!==null&&Object.assign(u,c);return u})(),transform:(()=>{let c=(()=>{var f,h,p,m,v,A;return!((f=o.purge)===null||f===void 0)&&f.transform?o.purge.transform:!((h=o.content)===null||h===void 0)&&h.transform?o.content.transform:!((p=o.purge)===null||p===void 0||(m=p.transform)===null||m===void 0)&&m.DEFAULT?o.purge.transform.DEFAULT:!((v=o.content)===null||v===void 0||(A=v.transform)===null||A===void 0)&&A.DEFAULT?o.content.transform.DEFAULT:{}})(),u={};return typeof c=="function"?u.DEFAULT=c:typeof c=="object"&&c!==null&&Object.assign(u,c),u})()};for(let c of o.content.files)if(typeof c=="string"&&/{([^,]*?)}/g.test(c)){t.default.warn("invalid-glob-braces",[`The glob pattern ${(0,t.dim)(c)}
4608 in your Tailwind CSS configuration is invalid.`,`Update it to ${(0,t.dim)(c.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return o}}(my)),my}var Ay={},HE;function Dle(){return HE||(HE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){if(Object.prototype.toString.call(t)!=="[object Object]")return!1;const i=Object.getPrototypeOf(t);return i===null||Object.getPrototypeOf(i)===null}}(Ay)),Ay}var vy={},VE;function Lle(){return VE||(VE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"cloneDeep",{enumerable:!0,get:function(){return e}});function e(t){return Array.isArray(t)?t.map(i=>e(i)):typeof t=="object"&&t!==null?Object.fromEntries(Object.entries(t).map(([i,r])=>[i,e(r)])):t}}(vy)),vy}var yy={},_y={},GE;function Ole(){return GE||(GE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){return t.replace(/\\,/g,"\\2c ")}}(_y)),_y}var by={},xy={},Cy={},QE;function Fle(){return QE||(QE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});const e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87
4608],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}(Cy)),Cy}var WE;function tB(){return WE||(WE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(m,v){for(var A in v)Object.defineProperty(m,A,{enumerable:!0,get:v[A]})}e(n,{parseColor:function(){return h},formatColor:function(){return p}});const t=i(Fle());function i(m){return m&&m.__esModule?m:{default:m}}let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,s=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,o=/(?:\d+|\d*\.\d+)%?/,a=/(?:\s*,\s*|\s+)/,l=/\s*[,/]\s*/,c=/var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/,u=new RegExp(`^(rgba?)\\(\\s*(${o.source}|${c.source})(?:${a.source}(${o.source}|${c.source}))?(?:${a.source}(${o.source}|${c.source}))?(?:${l.source}(${o.source}|${c.source}))?\\s*\\)$`),f=new RegExp(`^(hsla?)\\(\\s*((?:${o.source})(?:deg|rad|grad|turn)?|${c.source})(?:${a.source}(${o.source}|${c.source}))?(?:${a.source}(${o.source}|${c.source}))?(?:${l.source}(${o.source}|${c.source}))?\\s*\\)$`);function h(m,{loose:v=!1}={}){var A,y;if(typeof m!="string")return null;if(m=m.trim(),m==="transparent")return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(m in t.default)return{mode:"rgb",color:t.default[m].map(M=>M.toString())};let x=m.replace(s,(M,I,R,w,E)=>["#",I,I,R,R,w,w,E?E+E:""].join("")).match(r);if(x!==null)return{mode:"rgb",color:[parseInt(x[1],16),parseInt(x[2],16),parseInt(x[3],16)].map(M=>M.toString()),alpha:x[4]?(parseInt(x[4],16)/255).toString():void 0};var b;let _=(b=m.match(u))!==null&&b!==void 0?b:m.match(f);if(_===null)return null;let T=[_[2],_[3],_[4]].filter(Boolean).map(M=>M.toString());return T.length===2&&T[0].startsWith("var(")?{mode:_[1],color:[T[0]],alpha:T[1]}:!v&&T.length!==3||T.length<3&&!T.some(M=>/^var\(.*?\)$/.test(M))?null:{mode:_[1],color:T,alpha:(A=_[5])===null||A===void 0||(y=A.toString)===null||y===void 0?void 0:y.call(A)}}function p({mode:m,color:v,alpha:A}){let y=A!==void 0;return m==="rgba"||m==="hsla"?`${m}(${v.join(", ")}${y?`, ${A}`:""})`:`${m}(${v.join(" ")}${y?` / ${A}`:""})`}}(xy)),xy}var jE;function nB(){return jE||(jE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(s,o){for(var a in o)Object.defineProperty(s,a,{enumerable:!0,get:o[a]})}e(n,{withAlphaValue:function(){return i},default:function(){return r}});const t=tB();function i(s,o,a){if(typeof s=="function")return s({opacityValue:o});let l=(0,t.parseColor)(s,{loose:!0});return l===null?a:(0,t.formatColor)({...l,alpha:o})}function r({color:s,property:o,variable:a}){let l=[].concat(o);if(typeof s=="function")return{[a]:"1",...Object.fromEntries(l.map(u=>[u,s({opacityVariable:a,opacityValue:`var(${a}, 1)`})]))};const c=(0,t.parseColor)(s);return c===null?Object.fromEntries(l.map(u=>[u,s])):c.alpha!==void 0?Object.fromEntries(l.map(u=>[u,s])):{[a]:"1",...Object.fromEntries(l.map(u=>[u,(0,t.formatColor)({...c,alpha:`var(${a}, 1)`})]))}}}(by)),by}var wy={},Sy={},Ey={},qE;function L4(){return qE||(qE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"splitAtTopLevelOnly",{enumerable:!0,get:function(){return e}});function e(t,i){let r=[],s=[],o=0,a=!1;for(let l=0;l<t.length;l++){let c=t[l];r.length===0&&c===i[0]&&!a&&(i.length===1||t.slice(l,l+i.length)===i)&&(s.push(t.slice(o,l)),o=l+i.length),a=a?!1:c==="\\",c==="("||c==="["||c==="{"?r.push(c):(c===")"&&r[r.length-1]==="("||c==="]"&&r[r.length-1]==="["||c==="}"&&r[r.length-1]==="{")&&r.pop()}return s.push(t.slice(o)),s}}(Ey)),Ey}var XE;function Ule(){return XE||(XE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}e(n,{parseBoxShadowValue:function(){return o},formatBoxShadowValue:function(){return a}});const t=L4();
4608let i=new Set(["inset","inherit","initial","revert","unset"]),r=/\ +(?![^(]*\))/g,s=/^-?(\d+|\.\d+)(.*?)$/g;function o(l){return(0,t.splitAtTopLevelOnly)(l,",").map(u=>{let f=u.trim(),h={raw:f},p=f.split(r),m=new Set;for(let v of p)s.lastIndex=0,!m.has("KEYWORD")&&i.has(v)?(h.keyword=v,m.add("KEYWORD")):s.test(v)?m.has("X")?m.has("Y")?m.has("BLUR")?m.has("SPREAD")||(h.spread=v,m.add("SPREAD")):(h.blur=v,m.add("BLUR")):(h.y=v,m.add("Y")):(h.x=v,m.add("X")):h.color?(h.unknown||(h.unknown=[]),h.unknown.push(v)):h.color=v;return h.valid=h.x!==void 0&&h.y!==void 0,h})}function a(l){return l.map(c=>c.valid?[c.keyword,c.x,c.y,c.blur,c.spread,c.color].filter(Boolean).join(" "):c.raw).join(", ")}}(Sy)),Sy}var YE;function iB(){return YE||(YE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(Q,W){for(var ee in W)Object.defineProperty(Q,ee,{enumerable:!0,get:W[ee]})}e(n,{normalize:function(){return l},normalizeAttributeSelectors:function(){return c},url:function(){return f},number:function(){return h},percentage:function(){return p},length:function(){return A},lineWidth:function(){return x},shadow:function(){return b},color:function(){return _},image:function(){return T},gradient:function(){return I},position:function(){return w},familyName:function(){return E},genericName:function(){return L},absoluteSize:function(){return V},relativeSize:function(){return N}});const t=tB(),i=Ule(),r=L4();let s=["min","max","clamp","calc"];function o(Q){return s.some(W=>new RegExp(`^${W}\\(.*\\)`).test(Q))}const a=new Set(["scroll-timeline-name","timeline-scope","view-timeline-name","font-palette","anchor-name","anchor-scope","position-anchor","position-try-options","scroll-timeline","animation-timeline","view-timeline","position-try"]);function l(Q,W=null,ee=!0){let H=W&&a.has(W.property);return Q.startsWith("--")&&!H?`var(${Q})`:Q.includes("url(")?Q.split(/(url\(.*?\))/g).filter(Boolean).map(ye=>/^url\(.*?\)$/.test(ye)?ye:l(ye,W,!1)).join(""):(Q=Q.replace(/([^\\])_+/g,(ye,Ie)=>Ie+" ".repeat(ye.length-1)).replace(/^_/g," ").replace(/\\_/g,"_"),ee&&(Q=Q.trim()),Q=u(Q),Q)}function c(Q){return Q.includes("=")&&(Q=Q.replace(/(=.*)/g,(W,ee)=>{if(ee[1]==="'"||ee[1]==='"')return ee;if(ee.length>2){let H=ee[ee.length-1];if(ee[ee.length-2]===" "&&(H==="i"||H==="I"||H==="s"||H==="S"))return`="${ee.slice(1,-2)}" ${ee[ee.length-1]}`}return`="${ee.slice(1)}"`})),Q}function u(Q){let W=["theme"],ee=["min-content","max-content","fit-content","safe-area-inset-top","safe-area-inset-right","safe-area-inset-bottom","safe-area-inset-left","titlebar-area-x","titlebar-area-y","titlebar-area-width","titlebar-area-height","keyboard-inset-top","keyboard-inset-right","keyboard-inset-bottom","keyboard-inset-left","keyboard-inset-width","keyboard-inset-height","radial-gradient","linear-gradient","conic-gradient","repeating-radial-gradient","repeating-linear-gradient","repeating-conic-gradient","anchor-size"];return Q.replace(/(calc|min|max|clamp)\(.+\)/g,H=>{let ye="";function Ie(){let ze=ye.trimEnd();return ze[ze.length-1]}for(let ze=0;ze<H.length;ze++){let oe=function(Z){return Z.split("").every((Ae,we)=>H[ze+we]===Ae)},_e=function(Z){let Ae=1/0;for(let be of Z){let qe=H.indexOf(be,ze);qe!==-1&&qe<Ae&&(Ae=qe)}let we=H.slice(ze,Ae);return ze+=we.length-1,we},Fe=H[ze];if(oe("var"))ye+=_e([")",","]);else if(ee.some(Z=>oe(Z))){let Z=ee.find(Ae=>oe(Ae));ye+=Z,ze+=Z.length-1}else W.some(Z=>oe(Z))?ye+=_e([")"]):oe("[")?ye+=_e(["]"]):["+","-","*","/"].includes(Fe)&&!["(","+","-","*","/",","].includes(Ie())?ye+=` ${Fe} `:ye+=Fe}return ye.replace(/\s+/g," ")})}function f(Q){return Q.startsWith("url(")}function h(Q){return!isNaN(Number(Q))||o(Q)}function p(Q){return Q.endsWith("%")&&h(Q.slice(0,-1))||o(Q)}let v=`(?:${["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"].join("|")})`;function A(Q){return Q==="0"||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${v}$`).test(Q)||o(Q)}let y=new Set(["thin","medium","thick"]);function x(Q){return y.has(Q)}function b(Q){let W=(0,i.parseBoxShadowValue)(l(Q));for(let ee of W)if(!ee.valid)return!1;return!0}function _(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,"_").every(H=>(H=l(H),H.startsWith("var(")?!0:(0,t.parseColor)(H,{loose:!0})!==null?(W++,!0):!1))?W>0:!1}function T(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,",").every(H=>(H=l(H),H.startsWith("var(")?!0:f(H)||I(H)||["element(","image(","cross-fade(","image-set("].some(ye=>H.startsWith(ye))?(W++,!0):!1))?W>0:!1}let M=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]);function I(Q){Q=l(Q);for(let W of M)if(Q.startsWith(`${W}(`))return!0;return!1}let R=new Set(["center","top","right","bottom","left"]);function w(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,"_").every(H=>(H=l(H),H.startsWith("var(")?!0:R.has(H)||A(H)||p(H)?(W++,!0):!1))?W>0:!1}function E(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,",").every(H=>(H=l(H),H.startsWith("var(")?!0:H.includes(" ")&&!/(['"])([^"']+)\1/g.test(H)||/^\d/g.test(H)?!1:(W++,!0)))?W>0:!1}let F=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]);function L(Q){return F.has(Q)}let z=new Set(["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large"]);function V(Q){return z.has(Q)}let j=new Set(["larger","smaller"]);function N(Q){return j.has(Q)}}(wy)),wy}var Ty={},$E;function Nle(){return $E||($E=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"backgroundSize",{enumerable:!0,get:function(){return i}});const e=iB(),t=L4();function i(r){let s=["cover","contain"];return(0,t.splitAtTopLevelOnly)(r,",").every(o=>
4608{let a=(0,t.splitAtTopLevelOnly)(o,"_").filter(Boolean);return a.length===1&&s.includes(a[0])?!0:a.length!==1&&a.length!==2?!1:a.every(l=>(0,e.length)(l)||(0,e.percentage)(l)||l==="auto")})}}(Ty)),Ty}var KE;function kle(){return KE||(KE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(w,E){for(var F in E)Object.defineProperty(w,F,{enumerable:!0,get:E[F]})}e(n,{updateAllClasses:function(){return c},asValue:function(){return h},parseColorFormat:function(){return v},asColor:function(){return y},asLookupValue:function(){return x},typeMap:function(){return _},coerceValue:function(){return I},getMatchingTypes:function(){return R}});const t=l(Ole()),i=nB(),r=iB(),s=l(JR()),o=Nle(),a=D4();function l(w){return w&&w.__esModule?w:{default:w}}function c(w,E){w.walkClasses(F=>{F.value=E(F.value),F.raws&&F.raws.value&&(F.raws.value=(0,t.default)(F.raws.value))})}function u(w,E){if(!p(w))return;let F=w.slice(1,-1);if(E(F))return(0,r.normalize)(F)}function f(w,E={},F){let L=E[w];if(L!==void 0)return(0,s.default)(L);if(p(w)){let z=u(w,F);return z===void 0?void 0:(0,s.default)(z)}}function h(w,E={},{validate:F=()=>!0}={}){var L;let z=(L=E.values)===null||L===void 0?void 0:L[w];return z!==void 0?z:E.supportsNegativeValues&&w.startsWith("-")?f(w.slice(1),E.values,F):u(w,F)}function p(w){return w.startsWith("[")&&w.endsWith("]")}function m(w){let E=w.lastIndexOf("/"),F=w.lastIndexOf("[",E),L=w.indexOf("]",E);return w[E-1]==="]"||w[E+1]==="["||F!==-1&&L!==-1&&F<E&&E<L&&(E=w.lastIndexOf("/",F)),E===-1||E===w.length-1?[w,void 0]:p(w)&&!w.includes("]/[")?[w,void 0]:[w.slice(0,E),w.slice(E+1)]}function v(w){if(typeof w=="string"&&w.includes("<alpha-value>")){let E=w;return({opacityValue:F=1})=>E.replace(/<alpha-value>/g,F)}return w}function A(w){return(0,r.normalize)(w.slice(1,-1))}function y(w,E={},{tailwindConfig:F={}}={}){var L;if(((L=E.values)===null||L===void 0?void 0:L[w])!==void 0){var z;return v((z=E.values)===null||z===void 0?void 0:z[w])}let[V,j]=m(w);if(j!==void 0){var N,Q,W,ee;let H=(ee=(N=E.values)===null||N===void 0?void 0:N[V])!==null&&ee!==void 0?ee:p(V)?V.slice(1,-1):void 0;return H===void 0?void 0:(H=v(H),p(j)?(0,i.withAlphaValue)(H,A(j)):((Q=F.theme)===null||Q===void 0||(W=Q.opacity)===null||W===void 0?void 0:W[j])===void 0?void 0:(0,i.withAlphaValue)(H,F.theme.opacity[j]))}return h(w,E,{validate:r.color})}function x(w,E={}){var F;return(F=E.values)===null||F===void 0?void 0:F[w]}function b(w){return(E,F)=>h(E,F,{validate:w})}let _={any:h,color:y,url:b(r.url),image:b(r.image),length:b(r.length),percentage:b(r.percentage),position:b(r.position),lookup:x,"generic-name":b(r.genericName),"family-name":b(r.familyName),number:b(r.number),"line-width":b(r.lineWidth),"absolute-size":b(r.absoluteSize),"relative-size":b(r.relativeSize),shadow:b(r.shadow),size:b(o.backgroundSize)},T=Object.keys(_);function M(w,E){let F=w.indexOf(E);return F===-1?[void 0,w]:[w.slice(0,F),w.slice(F+1)]}function I(w,E,F,L){if(F.values&&E in F.values)for(let{type:V}of w??[]){let j=_[V](E,F,{tailwindConfig:L});if(j!==void 0)return[j,V,null]}if(p(E)){let V=E.slice(1,-1),[j,N]=M(V,":");if(!/^[\w-_]+$/g.test(j))N=V;else if(j!==void 0&&!T.includes(j))return[];if(N.length>0&&T.includes(j))return[h(`[${N}]`,F),j,null]}let z=R(w,E,F,L);for(let V of z)return V;return[]}function*R(w,E,F,L){let z=(0,a.flagEnabled)(L,"generalizedModifiers"),[V,j]=m(E);if(z&&F.modifiers!=null&&(F.modifiers==="any"||typeof F.modifiers=="object"&&(j&&p(j)||j in F.modifiers))||(V=E,j=void 0),j!==void 0&&V===""&&(V="DEFAULT"),j!==void 0&&typeof F.modifiers=="object"){var Q,W;let ee=(W=(Q=F.modifiers)===null||Q===void 0?void 0:Q[j])!==null&&W!==void 0?W:null;ee!==null?j=ee:p(j)&&(j=A(j))}for(let{type:ee}of w??[]){let H=_[ee](V,F,{tailwindConfig:L});H!==void 0&&(yield[H,ee,j??null])}}}(yy)),yy}var My={},ZE;function zle(){return ZE||(ZE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){return typeof t=="function"?t({}):t}}(My)),My}var JE;function Hle(){return JE||(JE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return F}});const e=p(JR()),t=p(Tle()),i=p(Mle()),r=p(Ile()),s=Ple(),o=Rle(),a=Ble(),l=p(Dle()),c=Lle(),u=kle
4608(),f=nB(),h=p(zle());function p(L){return L&&L.__esModule?L:{default:L}}function m(L){return typeof L=="function"}function v(L,...z){let V=z.pop();for(let j of z)for(let N in j){let Q=V(L[N],j[N]);Q===void 0?(0,l.default)(L[N])&&(0,l.default)(j[N])?L[N]=v({},L[N],j[N],V):L[N]=j[N]:L[N]=Q}return L}const A={colors:r.default,negative(L){return Object.keys(L).filter(z=>L[z]!=="0").reduce((z,V)=>{let j=(0,e.default)(L[V]);return j!==void 0&&(z[`-${V}`]=j),z},{})},breakpoints(L){return Object.keys(L).filter(z=>typeof L[z]=="string").reduce((z,V)=>({...z,[`screen-${V}`]:L[V]}),{})}};function y(L,...z){return m(L)?L(...z):L}function x(L){return L.reduce((z,{extend:V})=>v(z,V,(j,N)=>j===void 0?[N]:Array.isArray(j)?[N,...j]:[N,j]),{})}function b(L){return{...L.reduce((z,V)=>(0,s.defaults)(z,V),{}),extend:x(L)}}function _(L,z){if(Array.isArray(L)&&(0,l.default)(L[0]))return L.concat(z);if(Array.isArray(z)&&(0,l.default)(z[0])&&(0,l.default)(L))return[L,...z];if(Array.isArray(z))return z}function T({extend:L,...z}){return v(z,L,(V,j)=>!m(V)&&!j.some(m)?v({},V,...j,_):(N,Q)=>v({},...[V,...j].map(W=>y(W,N,Q)),_))}function*M(L){let z=(0,o.toPath)(L);
4608if(z.length===0||(yield z,Array.isArray(L)))return;let V=/^(.*?)\s*\/\s*([^/]+)$/,j=L.match(V);if(j!==null){let[,N,Q]=j,W=(0,o.toPath)(N);W.alpha=Q,yield W}}function I(L){const z=(V,j)=>{for(const N of M(V)){let Q=0,W=L;for(;W!=null&&Q<N.length;)W=W[N[Q++]],W=m(W)&&(N.alpha===void 0||Q<=N.length-1)?W(z,A):W;if(W!==void 0){if(N.alpha!==void 0){let ee=(0,u.parseColorFormat)(W);return(0,f.withAlphaValue)(ee,N.alpha,(0,h.default)(ee))}return(0,l.default)(W)?(0,c.cloneDeep)(W):W}}return j};return Object.assign(z,{theme:z,...A}),Object.keys(L).reduce((V,j)=>(V[j]=m(L[j])?L[j](z,A):L[j],V),{})}function R(L){let z=[];return L.forEach(V=>{z=[...z,V];var j;const N=(j=V==null?void 0:V.plugins)!==null&&j!==void 0?j:[];N.length!==0&&N.forEach(Q=>{Q.__isOptionsFunction&&(Q=Q());var W;z=[...z,...R([(W=Q==null?void 0:Q.config)!==null&&W!==void 0?W:{}])]})}),z}function w(L){return[...L].reduceRight((V,j)=>m(j)?j({corePlugins:V}):(0,i.default)(j,V),t.default)}function E(L){return[...L].reduceRight((V,j)=>[...V,...j],[])}function F(L){let z=[...R(L),{prefix:"",important:!1,separator:":"}];var V,j;return(0,a.normalizeConfig)((0,s.defaults)({theme:I(T(b(z.map(N=>(V=N==null?void 0:N.theme)!==null&&V!==void 0?V:{})))),corePlugins:w(z.map(N=>N.corePlugins)),plugins:E(L.map(N=>(j=N==null?void 0:N.plugins)!==null&&j!==void 0?j:[]))},...z))}}(ay)),ay}var Iy={},Py,e6;function Vle(){return e6||(e6=1,Py={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:n})=>({...n("colors"),auto:"auto"}),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9"},backdropBlur:({theme:n})=>n("blur"),backdropBrightness:({theme:n})=>n("brightness"),backdropContrast:({theme:n})=>n("contrast"),backdropGrayscale:({theme:n})=>n("grayscale"),backdropHueRotate:({theme:n})=>n("hueRotate"),backdropInvert:({theme:n})=>n("invert"),backdropOpacity:({theme:n})=>n("opacity"),backdropSaturate:({theme:n})=>n("saturate"),backdropSepia:({theme:n})=>n("sepia"),backgroundColor:({theme:n})=>n("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:n})=>n("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:n})=>({...n("colors"),DEFAULT:n("colors.gray.200","currentColor")}),borderOpacity:({theme:n})=>n("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:n})=>({...n("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:n})=>
vendor: 9,128 bytes, line 4608
4608n("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2"},caretColor:({theme:n})=>n("colors"),colors:({colors:n})=>({inherit:n.inherit,current:n.current,transparent:n.transparent,black:n.black,white:n.white,slate:n.slate,gray:n.gray,zinc:n.zinc,neutral:n.neutral,stone:n.stone,red:n.red,orange:n.orange,amber:n.amber,yellow:n.yellow,lime:n.lime,green:n.green,emerald:n.emerald,teal:n.teal,cyan:n.cyan,sky:n.sky,blue:n.blue,indigo:n.indigo,violet:n.violet,purple:n.purple,fuchsia:n.fuchsia,pink:n.pink,rose:n.rose}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:n})=>n("borderColor"),divideOpacity:({theme:n})=>n("borderOpacity"),divideWidth:({theme:n})=>n("borderWidth"),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:n})=>({none:"none",...n("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:n})=>n("spacing"),gradientColorStops:({theme:n})=>n("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%"},grayscale:{0:"0",DEFAULT:"100%"},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},height:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:n})=>({auto:"auto",...n("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:n})=>({...n("spacing"),none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:n,breakpoints:e})=>({...n("spacing"),none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e(n("screens"))}),minHeight:({theme:n})=>({...n("spacing"),full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),minWidth:({theme:n})=>({...n("spacing"),full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1"},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"},outlineColor:({theme:n})=>
4608n("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:n})=>n("spacing"),placeholderColor:({theme:n})=>n("colors"),placeholderOpacity:({theme:n})=>n("opacity"),ringColor:({theme:n})=>({DEFAULT:n("colors.blue.500","#3b82f6"),...n("colors")}),ringOffsetColor:({theme:n})=>n("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:n})=>({DEFAULT:"0.5",...n("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:n})=>({...n("spacing")}),scrollPadding:({theme:n})=>n("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:n})=>({...n("spacing")}),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:n})=>({none:"none",...n("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:n})=>n("colors"),textDecorationColor:({theme:n})=>n("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:n})=>({...n("spacing")}),textOpacity:({theme:n})=>n("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:n})=>({...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),size:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),width:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content"}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50"}},plugins:[]}),Py}var t6;function Gle(){return t6||(t6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});const e=i(Vle()),t=D4();function i(s){return s&&s.__esModule?s:{default:s}}function r(s){var o;const a=((o=s==null?void 0:s.presets)!==null&&o!==void 0?o:[e.default]).slice().reverse().flatMap(u=>r(u instanceof Function?u():u)),l={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:u})=>({DEFAULT:"#3b82f67f",...u("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},c=Object.keys(l).filter(u=>(0,t.flagEnabled)(s,u)).map(u=>l[u]);return[s,...c,...a]}}(Iy)),Iy}var n6;function Qle(){return n6||(n6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});const e=i(Hle()),t=i(Gle());function i(s){return s&&s.__esModule?s:{default:s}}function r(...s){let[,...o]=(0,t.default)(s[0]);return(0,e.default)([...s,...o])}}(oy)),oy}var Ry,i6;function Wle(){if(i6)return Ry;i6=1;let n=Qle();return Ry=(n.__esModule?n:{default:n}).default,Ry}var jle=Wle();const UA=ZR(jle),uo=(n=Wt)=>class extends n{constructor(e={},...t){super(...t),this.options=An({name:this.constructor.name},e),this.name=this.options.name,this.enabled=!1,this.assets={models:{},textures:{}},this.load()}build(e){}addEvents(){}removeEvents(){}destroy(){this.stop()}start(){this.enabled||(this.enabled=!0,this.addEvents())}stop(){this.enabled&&(this.enabled=!1,this.removeEvents())}update(){}load(){}addGui(e={}){if(S.theatre.project)return S.theatre.helper.autoAddObject(this,this.parent.prettyName,e)}};var qle="varying vec2 vUv;void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;}",Xle=`#include <default_pars> 4609#include <default_frag_pars> 4610varying vec2 vUv;uniform sampler2D tFluidSim;uniform vec3 uColor1;uniform vec3 uColor2;uniform vec3 uColor3;uniform vec3 uColor4;uniform float uColor4BlendStart;uniform float uColor4BlendEnd;uniform float uColor1Brightness;uniform float uColor2Brightness;uniform float uColor3Brightness;uniform vec3 uOffset1;uniform vec3 uOffset2;uniform vec2 uOffset3;uniform float uScale1;uniform float uScale2;uniform float uScale3;uniform float uSpeed;uniform vec2 uResolution;uniform float uTime;vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}
4610float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+1.0*C.xxx;vec3 x2=x0-i2+2.0*C.xxx;vec3 x3=x0-1.+3.0*C.xxx;i=mod(i,289.0);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=1.0/7.0;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}float pulse(float time,float frequency){const float pi=3.14;return 0.5*(1.+sin(2.*pi*frequency*time));}void main(){vec3 color;vec2 screenCoords=gl_FragCoord.xy/uResolution.xy;vec3 fluidColor=texture2D(tFluidSim,screenCoords).rgb;float fluid=luminance(abs(fluidColor.rgb))*2.-1.;fluid*=0.05;vec2 uv1=vUv;uv1=uv1*uScale1+uOffset1.xy;vec2 uv2=vUv;uv2=uv2*uScale2+uOffset2.xy;vec2 uv3=vUv;uv3=uv3*uScale3+uOffset3;vec3 color1=uColor1*uColor1Brightness-fluid*0.5;vec3 color2=uColor2*uColor2Brightness-fluid*0.5;vec3 color3=uColor3*uColor3Brightness-fluid*0.5;float noise1=snoise(vec3(uv1,uOffset1.z))+fluid;noise1=smoothstep(0.,1.,noise1);color=mix(color1,color2,noise1);float noise2=snoise(vec3(uv2,uOffset2.z))+fluid;noise2=smoothstep(0.0,1.,noise2);color3=mix(uColor4,color3,smoothstep(uColor4BlendStart,uColor4BlendEnd,noise2));color=mix(color,color3,noise2);float noise3=snoise(vec3(uv3,uTime*uSpeed))+fluid;noise3=smoothstep(0.0,1.,noise3);color=mix(color,clamp(color*2.,0.,0.9),noise3);color+=color*fluid*0.5;color=clamp(color,0.0,1.0);color+=color*fluidColor*0.05;gl_FragColor=vec4(color,1.0); 4611#include <colorspace_fragment> 4612}`;class Yle extends is{constructor(e={}){e=An({vertexShader:qle,fragmentShader:Xle,uniforms:{tFluidSim:{value:new xn},uColor1:{value:new ke(16711422)},uColor2:{value:new ke(16776134)},uColor3:{value:new ke(16775912)},uColor4:{value:new ke(16775912)},uColor4BlendStart:{value:0,gui:{min:-1,max:2,step:.01}},uColor4BlendEnd:{value:1,gui:{min:-1,max:2,step:.01}},uColor1Brightness:{value:1,gui:{min:0,step:.01}},uColor2Brightness:{value:1,gui:{min:0,step:.01}},uColor3Brightness:{value:1,gui:{min:0,step:.01}},uOffset1:{value:new K,gui:{step:.01}},uOffset2:{value:new K,gui:{step:.01}},uOffset3:{value:new Re,gui:{step:.01}},uScale1:{value:1,gui:{step:.01}},uScale2:{value:1,gui:{step:.01}},uScale3:{value:1,gui:{step:.01}},uSpeed:{value:.1,gui:{min:0,max:1,step:.01}}},transparent:!0,side:Rr},e),super(e)}}var By={},Dy={},r6;function $le(){return r6||(r6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return t}});function e(i,r){return{handler:i,config:r}}e.withOptions=function(i,r=()=>({})){const s=function(o){return{__options:o,handler:i(o),config:r(o)}};return s.__isOptionsFunction=!0,s.__pluginFunction=i,s.__configFunction=r,s};const t=e}(Dy)),Dy}var s6;function Kle(){return s6||(s6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});const e=t($le());function t(r){return r&&r.__esModule?r:{default:r}}const i=e.default}(By)),By}var Ly,o6;function Zle(){if(o6)return Ly;o6=1;let n=Kle();return Ly=(n.__esModule?n:{default:n}).default,Ly}var Jle=Zle();const a6=ZR(Jle),l6=n=>Object.fromEntries(n.map(e=>[e,`${e/16}rem`])),ece=n=>Object.fromEntries(n.map(e=>[e,e])),tce=n=>Object.fromEntries(n.map(e=>[`${e}`,e])),nce=n=>{const e={gridColumn:{},gridTemplateColumns:{},gridRow:{},gridTemplateRows:{},gridRowStart:{},gridRowEnd:{},gridColumnStart:{},gridColumnEnd:{}};for(let t=1;t<=n;t++){const i=`span-${t}`,r=`repeat(${t}, minmax(0, 1fr))`;e.gridRow[i]=e.gridColumn[i]=`${i.replace("-"," ")} / ${i.replace("-"," ")}`,e.gridTemplateColumns[t]=e.gridTemplateRows[t]=r,e.gridRowStart[t]=e.gridRowEnd[t]=e.gridColumnStart[t]=e.gridColumnEnd[t]=`${t}`}return e},NA={content:["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],theme:{spacing:{...l6([0,1,2,4,6,7,8,9,10,12,14,16,18,20,22,24,28,30,32,36,38,40,48,56,60,64,72,80,88,96,112,120,128,144,160,192,224,400,500]),"15vh":"15vh","25vh":"25vh","50vh":"50vh","75vh":"75vh","100vh":"100vh",auto:"auto",full:"100%"},fontSize:{...l6([0,1,2,4,6,8,9,10,12,14,16,18,20,22,24,28,30,32,36,40,48,56,60,64,72,80,96,100,112,128,144,160,180,192])},fontFamily:{sans:["Instrument Sans","sans-serif"],mono:["Geist Mono","monospace"]},letterSpacing:{0:"0",1:"0.01em",2:"0.02em",3:"0.03em",5:"0.05em"},colors:{transparent:"transparent",current:"currentColor",black:"#090B11",hover:"#36363C",white:"#ffffff",scrollbar:"#000000",background:"#FFF6F4"},lineHeight:{...tce([1,1.1,1.2,1.3,1.4,1.5])},fontWeight:{...ece([100,200,300,400,500,600,700,800,900])},screens:{xsm:"480px",sm:"768px",md:"1024px",lg:"1366px",xlg:"1536px",xxlg:"1921px",retina:"2560px","4k":"3840px"},container:{padding:{DEFAULT:".75rem",md:"1.5rem"}},extend:{...nce(32),transitionTimingFunction:{"sine.in":"cubic-bezier(0.12, 0, 0.39, 0)","sine.out":"cubic-bezier(0.61, 1, 0.88, 1)","sine.inOut":"cubic-bezier(0.37, 0, 0.63, 1)","power1.in":"cubic-bezier(0.11, 0, 0.5, 0)","power1.out":"cubic-bezier(0.5, 1, 0.89, 1)","power1.inOut":"cubic-bezier(0.45, 0, 0.55, 1)","power2.in":"cubic-bezier(0.32, 0, 0.67, 0)","power2.out":"cubic-bezier(0.33, 1, 0.68, 1)","power2.inOut":"cubic-bezier(0.65, 0, 0.35, 1)","power3.in":"cubic-bezier(0.5, 0, 0.75, 0)","power3.out":"cubic-bezier(0.25, 1, 0.5, 1)","power3.inOut":"cubic-bezier(0.76, 0, 0.24, 1)","power4.in":"cubic-bezier(0.64, 0, 0.78, 0)","power4.out":"cubic-bezier(0.22, 1, 0.36, 1)","power4.inOut":"cubic-bezier(0.83, 0, 0.17, 1)","expo.in":"cubic-bezier(0.7, 0, 0.84, 0)","expo.out":"cubic-bezier(0.16, 1, 0.3, 1)","expo.inOut":"cubic-bezier(0.87, 0, 0.13, 1)","circ.in":"cubic-bezier(0.55, 0, 1, 0.45)","circ.out":"cubic-bezier(0, 0.55, 0.45, 1)","circ.inOut":"cubic-bezier(0.85, 0, 0.15, 1)","back.in":"cubic-bezier(0.36, 0, 0.66, -0.56)","back.out":"cubic-bezier(0.34, 1.56, 0.64, 1)","back.inOut":"cubic-bezier(0.68, -0.6, 0.32, 1.6)","joe.in":"cubic-bezier(.8,0,1,1)","joe.out":"cubic-bezier(0,0,.2,1)","joe.inOut":"cubic-bezier(.33,0,.2,1)"}}},plugins:[a6(function({addVariant:n}){n("touch","@media (pointer: coarse)"),n("nottouch","@media (hover: hover) and (pointer: fine)"),n("ipadpro","@media (hover: none) and (pointer: coarse) and (min-width: 1024px)")}),a6(function({matchUtilities:n,theme:e}){n({"splittext-fix":t=>({paddingTop:t,paddingBottom:t,marginTop:`-${t}`,marginBottom:`-${t}`,overflowY:"hidden"})},{values:e("spacing")})})]};class ice extends Wa{constructor(t,i={}){super();he(this,"onRaf",()=>{var t,i;(t=this.controls)!=null&&t.enabled&&this.controls.update(),this.smoothMouse[0].lerp(S.pointer.glNormalized,this.options.pointerLerpSpeed1*S.WebGL.normalizedDelta),this.smoothMouse[1].lerp(S.pointer.glNormalized,this.options.pointerLerpSpeed2*S.WebGL.normalizedDelta),this.updateCameras(),this.update(),(i=this.controls)!=null&&i.enabled&&(this.cameraHelper.visible&&this.cameraHelper.update(
4612),S.WebGL.renderer.render(this,this.devCamera))});he(this,"onResize",()=>{this.camera.aspect=S.window.w/S.window.h,this.camera.updateProjectionMatrix(),this.devCamera.aspect=S.window.w/S.window.h,this.devCamera.updateProjectionMatrix()});this.enabled=!1,this.name=t,this.prettyName=t.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(""),this.options=An({domId:null,domAlign:"left",controls:S.urlParams.has("controls"),cameraFocalLength:50,cameraXTranslate:0,cameraYTranslate:0,cameraZTranslate:0,cameraPivotStrength:0,cameraPivotOffset:20,cameraPivotAngle:new Re(.05,.05),cameraPivotRollAmount:.2,pointerLerpSpeed1:.032,pointerLerpSpeed2:.025},i),this.originalOptions={...this.options},this.cameraLayers={all:0},this._euler=new Pi,this._quaternion=new Xn,this.smoothMouse=[new Re,new Re],this.globalUniforms={},this.globalDefines={},this.components={},this.load()}start(){var t,i;if(!this.enabled){this.enabled=!0,S.WebGL.activeScene=this,this.renderPass.enabled=!0,this.addEvents();for(const r in this.components)(i=(t=this.components[r]).start)==null||i.call(t);S.urlParams.has("gui")||(S.theatre.sheets[this.prettyName].sequence.position=0,S.theatre.sheets[this.prettyName].sequence.play({iterationCount:1},{rafDriver:S.theatre.rafDriver}))}}stop(){var t,i;if(this.enabled){this.enabled=!1,this.renderPass.enabled=!1,this.removeEvents();for(const r in this.components)(i=(t=this.components[r]).stop)==null||i.call(t);S.theatre.sheets[this.prettyName].sequence.pause()}}build(){var t,i,r,s;this.buildCameras(),this.buildBackground(),this.buildPasses();for(const o in this.components)this.components[o]instanceof Wt&&this.add(this.components[o]),(i=(t=this.components[o]).build)==null||i.call(t,this.objectData),(s=(r=this.components[o]).addGui)==null||s.call(r);this.setupRenderPerfTracking(),oc(this.onResize,!1)}buildCameras(){this.camera=new Zi(45,S.window.w/S.window.h,.1,500),this.camera.setFocalLength(this.options.cameraFocalLength),this.cameraPosition=new K(0,0,20),this.cameraLookAt=new K(0,0,0),this.camera.position.copy(this.cameraPosition),this.camera.lookAt(this.cameraLookAt),this.cameraHelper=new f4(this.camera),this.cameraHelper.visible=!1,this.add(this.cameraHelper),this.devCamera=new Zi(45,S.window.w/S.window.h,.1,1e4),this.devCamera.position.z=20,this.devCamera.position.y=3,this.controls=new CP(this.devCamera,S.WebGL.renderer.domElement),this.controls.target.set(0,0,0),this.controls.enabled=this.options.controls,this.controls.zoomToCursor=!0,this.activeCamera=this.camera,this.controls.enabled&&(S.WebGL.renderer.domElement.style.zIndex=0,S.WebGL.globalUniforms.uDevCameraActive.value=!0);for(const t in this.cameraLayers)this.camera.layers.enable(this.cameraLayers[t]),this.devCamera.layers.enable(this.cameraLayers[t])}buildDebugEnvironment(){this.add(new KK(15790320)),this.light=new jg(16777215,3.5),this.light.position.set(50,200,-50),this.light.castShadow=!0,this.add(this.light),this.grid=new hP(200,50),this.grid.position.y=-10,this.grid.material.opacity=.5,this.grid.material.transparent=!0,this.add(this.grid)}buildBackground(){this.backgroundSphere=new Qe(new Hd(1,12,12),new Yle),this.backgroundSphere.renderOrder=-1,this.backgroundSphere.scale.setScalar(15),this.backgroundSphere.name="Background",this.add(this.backgroundSphere),S.theatre.helper.autoAddObject(this.backgroundSphere,this.prettyName)}buildPasses(){this.renderPass=new m4(this,this.activeCamera),this.renderPass.name=`${this.name} Render`,this.renderPass.enabled=!1,this.savePass=new g4,this.savePass.renderTarget.texture.wrapS=Sd,this.savePass.renderTarget.texture.wrapT=Sd,this.savePass.renderTarget.texture.needsUpdate=!0,this.savePass.setSize(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio()),this.savePass.name=`${this.name} Final`,this.savePass.enabled=!1,S.WebGL.composerPasses.add(this.renderPass,S.WebGL.composerPassOrder[this.name]+4),S.WebGL.composerPasses.add(this.savePass,S.WebGL.composerPassOrder[this.name]+9)}buildScrollAnimation(){var r;if(S.urlParams.has("scene"))return;const i=(r=UA(NA).theme)==null?void 0:r.screens;this.mm=dr.matchMedia(),this.mm.add({isDesktop:S.breakpoints.mediaQueries.md.media,isMobile:`(max-width: ${Number.parseInt(i.md)-1}px)`},s=>(this.scrollAnimation=dr.timeline({defaults:{duration:1,ease:s.conditions.isDesktop?"power2.inOut":"power1.inOut"}}),s.conditions.isDesktop?(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:this.options.domAlign==="left"?2:-2,y:1,z:15},{x:this.options.domAlign==="left"?2:-2,y:0,z:17,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=90%",end:"center center-=10%",scrub:!0,fastScrollEnd:!0}}).fromTo(this.cameras.camera1._position,{x:this.options.domAlign==="left"?2:-2,y:0,z:17},{x:0,y:0,z:12,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"center center-=10%",end:"top top-=30%",scrub:!0,preventOverlaps:!0,fastScrollEnd:!0}}),this.addAdditionalDesktopScrollAnimations(this.scrollAnimation)):(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:13,z:7},{x:0,y:2,z:17,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=80%",end:"top top",scrub:!0,fastScrollEnd:!0}}).fromTo(this.cameras.camera1._position,{x:0,y:2,z:17},{x:0,y:0,z:12,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"top top",end:"top top-=10%",scrub:!0,preventOverlaps:!0,fastScrollEnd:!0}}),this.addAdditionalMobileScrollAnimations(this.scrollAnimation)),this.sectionScroll=Pt.create({trigger:`[data-webgl-section="${this.options.domId}"]`,start:"top top",end:"bottom bottom",scrub:!0}),()=>{this.scrollAnimation.kill(),this.sectionScroll.kill()}))}addAdditionalDesktopScrollAnimations(){}addAdditionalMobileScrollAnimations(){}killScrollAnimation(){var t;(t=this.mm)==null||t.revert()}
4612setupRenderPerfTracking(){S.urlParams.has("measurePerf")&&this.traverse(t=>{if(t.isMesh){const i=t.name!==""?t.name:t.material.name;let r;t.onBeforeRender=()=>{r=performance.now()},t.onAfterRender=()=>{performance.measure("render "+i,{start:r,detail:{devtools:{trackGroup:"WebGL",track:"Object Render Times"}}})}}})}addEvents(){S.RAFCollection.add(this.onRaf,3)}removeEvents(){S.RAFCollection.remove(this.onRaf)}updateCameras(){this.camera.position.copy(this.cameraPosition),this.camera.lookAt(this.cameraLookAt),this.camera.translateX(this.options.cameraXTranslate),this.camera.translateY(this.options.cameraYTranslate),this.camera.translateZ(this.options.cameraZTranslate),this.updateCameraPivotMovement(this.camera),this.camera.updateProjectionMatrix()}updateCameraPivotMovement(t){S.breakpoints.is("touch")||(t.translateZ(-this.cameras.camera1._position.z),t.translateX(-this.cameras.camera1._position.x),this._euler.set(this.smoothMouse[0].y*this.options.cameraPivotAngle.y*this.options.cameraPivotStrength,-this.smoothMouse[0].x*this.options.cameraPivotAngle.x*this.options.cameraPivotStrength,0),this._quaternion.setFromEuler(this._euler),t.quaternion.multiply(this._quaternion),this._euler.set(0,0,(this.smoothMouse[0].x-this.smoothMouse[1].x)*-this.options.cameraPivotRollAmount*this.options.cameraPivotStrength),this._quaternion.setFromEuler(this._euler),t.quaternion.multiply(this._quaternion),t.translateZ(this.cameras.camera1._position.z),t.translateX(this.cameras.camera1._position.x),t.updateMatrixWorld())}update(){var t,i;this.backgroundSphere.material.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture;for(const r in this.components)(i=(t=this.components[r]).update)==null||i.call(t)}load(){this.assets={textures:{},models:{}}}destroy(){this.stop(),this.killScrollAnimation();for(const t in this.components)this.components[t].destroy&&this.components[t].destroy();this.components={},Object.assign(this.options,this.originalOptions),S.WebGL.composerPasses.remove(this.renderPass),this.renderPass.dispose(),S.WebGL.composerPasses.remove(this.savePass),this.savePass.dispose()}}class rce{constructor(e){he(this,"updateTheatreCameraProps",()=>{this.enabled&&S.theatre.studio.transaction(({set:e})=>{e(this.theatreObject.props.position.x,this.controls.object.position.x),e(this.theatreObject.props.position.y,this.controls.object.position.y),e(this.theatreObject.props.position.z,this.controls.object.position.z),e(this.theatreObject.props.target.x,this.controls.target.x),e(this.theatreObject.props.target.y,this.controls.target.y),e(this.theatreObject.props.target.z,this.controls.target.z)})});he(this,"update",()=>{if(!this.enabled)return;this.controls.update(),this.cameraHelper.camera=this.scene.activeCamera,this.cameraHelper.matrix=this.scene.activeCamera.matrixWorld,this.options.helpers&&(this.transformControls.visible=this.transformControls.enabled,this.boxHelper.visible=this.boxHelper.enabled,this.cameraHelper.visible=this.cameraHelper.enabled),this.grid.visible=this.grid.enabled,this.boxHelper.enabled&&this.box3.setFromObject(this.selectedObject),S.WebGL.renderer.render(this.scene,this.devCamera);const e=S.WebGL.renderer.autoClear;S.WebGL.renderer.autoClear=!1,this.viewHelper.animating&&this.viewHelper.update(S.WebGL.clockDelta),this.viewHelper.render(S.WebGL.renderer),S.WebGL.renderer.autoClear=e,this.transformControls.visible=!1,this.boxHelper.visible=!1,this.cameraHelper.visible=!1,this.grid.visible=!1});he(this,"onStudioSelectionChange",e=>{var t;this.enabled&&e.length&&(e[0]._webglObject?this.selectObject(e[0]._webglObject):(t=e[1])!=null&&t._webglObject?this.selectObject(e[1]._webglObject):this.deselectObject())});he(this,"onViewHelperClick",e=>{this.viewHelper.handleClick(e)});he(this,"onTransformControlsDraggingChanged",e=>{this.controls.enabled=!e.value});he(this,"onTransformControlsMouseUp",e=>{var r,s,o;const t=e.mode,i=e.target.object;if(i._theatreObject){const a=i._theatreObject;switch(t){case"translate":(r=a.value.transforms)!=null&&r.position?S.theatre.studio.transaction(({set:l})=>
4612{l(a.props.transforms.position.x,i.position.x),l(a.props.transforms.position.y,i.position.y),l(a.props.transforms.position.z,i.position.z)}):a.value.position&&S.theatre.studio.transaction(({set:l})=>{l(a.props.position.x,i.position.x),l(a.props.position.y,i.position.y),l(a.props.position.z,i.position.z)});break;case"rotate":(s=a.value.transforms)!=null&&s.position?S.theatre.studio.transaction(({set:l})=>{l(a.props.transforms.rotation.x,i.rotation.x),l(a.props.transforms.rotation.y,i.rotation.y),l(a.props.transforms.rotation.z,i.rotation.z)}):a.value.rotation&&S.theatre.studio.transaction(({set:l})=>{l(a.props.rotation.x,i.rotation.x),l(a.props.rotation.y,i.rotation.y),l(a.props.rotation.z,i.rotation.z)});break;case"scale":(o=a.value.transforms)!=null&&o.scale?S.theatre.studio.transaction(({set:l})=>{l(a.props.transforms.scale.x,i.scale.x),l(a.props.transforms.scale.y,i.scale.y),l(a.props.transforms.scale.z,i.scale.z)}):a.value.scale&&S.theatre.studio.transaction(({set:l})=>{l(a.props.scale.x,i.scale.x),l(a.props.scale.y,i.scale.y),l(a.props.scale.z,i.scale.z)});break}}});he(this,"onPointerMove",()=>{this.draggingTransformControls=this.transformControls.dragging,this.pointerDown&&(this.mouseDelta.x+=this.mouse.x-S.pointer.x,this.mouseDelta.y+=this.mouse.y-S.pointer.y,(Math.abs(this.mouseDelta.x)>1||Math.abs(this.mouseDelta.y)>1)&&(this.dragging=!0))});he(this,"onPointerDown",()=>{this.pointerDown=!0,this.mouse.x=S.pointer.x,this.mouse.y=S.pointer.y,this.mouseDelta.x=0,this.mouseDelta.y=0});he(this,"onPointerUp",()=>{if(!this.draggingTransformControls&&!this.dragging){const e=this.transformableObjects.filter(i=>i.visible);this.raycaster.setFromCamera(S.pointer.glNormalized,this.devCamera);const t=this.raycaster.intersectObjects(e,!1);t.length>0?this.selectObject(t[0].object,!0):this.deselectObject()}this.pointerDown=!1,this.dragging=!1});this.scene=e,this.enabled=!1,this.options={helpers:!0},this.cameraHelper=new f4(this.scene.activeCamera),this.cameraHelper.visible=!1,this.cameraHelper.enabled=!0,this.cameraHelperRaycastMesh=new Qe(new fi,new Jr({visible:!1})),this.cameraHelperRaycastMesh.name="CameraHelperRaycastMesh",this.cameraHelper.add(this.cameraHelperRaycastMesh),this.devCamera=new Zi(45,S.window.w/S.window.h,.1,1e4),this.devCamera.position.z=20,this.devCamera.position.y=3;for(const i in this.scene.cameraLayers)this.devCamera.layers.enable(this.scene.cameraLayers[i]);this.controls=new CP(this.devCamera,S.WebGL.renderer.domElement),this.controls.target.set(0,0,0),this.controls.enabled=!0,this.controls.zoomToCursor=!0,this.selectedObject=null,this.transformControls=new Gie(this.devCamera,S.WebGL.renderer.domElement),this.transformControls.enabled=!1,this.transformControls.visible=!1,this.box3=new Hs,this.boxHelper=new fZ(this.box3),this.boxHelper.enabled=!1,this.boxHelper.visible=!1,this.scene.add(this.boxHelper),this.raycaster=new u4,this.pointerDown=!1,this.dragging=!1,this.mouse={x:0,y:0},this.mouseDelta={x:0,y:0},this.transformableObjects=[];const t=new Qe(new fi,new Jr({visible:!1}));t.name="CameraTransformMesh";for(const i in this.scene.components)this.scene.components[i]._theatreObject&&(this.scene.components[i]._theatreObject.value.transforms||this.scene.components[i]._theatreObject.value.position)&&this.transformableObjects.push(this.scene.components[i]);this.viewHelperElement=document.createElement("div"),Object.assign(this.viewHelperElement.style,{width:"128px",height:"128px",position:"fixed",bottom:0,right:0,zIndex:99,pointerEvents:"none"}),document.body.appendChild(this.viewHelperElement),this.viewHelper=new cre(this.devCamera,S.WebGL.renderer.domElement),this.buildGrid(),this.addHelpers(),this.onSelectionChangeUnsubcribe=S.theatre.studio.onSelectionChange(this.onStudioSelectionChange)}enable(){var e;this.enabled||(this.enabled=!0,this.toggleDevCamera(!0),this.addEvents(),this.viewHelperElement.style.pointerEvents="auto",S.theatre.updateExtensionToolbar&&((e=S.theatre)==null||e.updateExtensionToolbar()))}disable(){var e;this.enabled&&(this.enabled=!1,this.toggleDevCamera(!1),this.removeEvents(),this.viewHelperElement.style.pointerEvents="none",S.theatre.updateExtensionToolbar&&((e=S.theatre)==null||e.updateExtensionToolbar()))}createTheatreObject(){S.theatre.studioSheets[this.scene.prettyName]&&(this.theatreObject=S.theatre.helper.addStudioSheetObject(this.scene.prettyName,"Dev Tools",{enabled:Te.types.boolean(this.enabled),position:Te.types.compound({x:this.controls.object.position.x,y:this.controls.object.position.y,z:this.controls.object.position.z}),target:{x:this.controls.target.x,y:this.controls.target.y,z:this.controls.target.z},helpers:Te.types.boolean(this.options.helpers),grid:Te.types.boolean(this.grid.enabled)}),this.unsubscribeFromTheatreObject=this.theatreObject.onValuesChange(e=>{e.enabled?this.enable():this.disable(),this.controls.object.position.copy(e.position),this.controls.target.copy(e.target),this.toggleGrid(e.grid),this.toggleHelpers(e.helpers)},S.theatre.rafDriver),this.controls.addEventListener("end",this.updateTheatreCameraProps),S.theatre.updateExtensionToolbar&&S.theatre.updateExtensionToolbar())}detachTheatreObject(){var e,t,i;(e=S.theatre.studioSheets[this.scene.prettyName])==null||e.detachObject("Dev Tools"),(t=S.theatre.studioObjects[this.scene.prettyName])==null||delete t["Dev Tools"],(i=this.unsubscribeFromTheatreObject)==null||i.call(this),this.controls.removeEventListener("end",this.updateTheatreCameraProps)}
4612buildGrid(){this.grid=new hP(200,50),this.grid.material.opacity=.2,this.grid.material.transparent=!0,this.grid.visible=!1,this.grid.enabled=!1}toggleDevCamera(e){return e===null&&(e=!this.controls.enabled),this.controls.enabled=e,this.prevCanvasPointerEvents&&!e&&S.WebGL.renderer.domElement.classList.add("pointer-events-none"),this.prevCanvasPointerEvents=S.WebGL.renderer.domElement.classList.contains("pointer-events-none"),e&&this.prevCanvasPointerEvents&&S.WebGL.renderer.domElement.classList.remove("pointer-events-none"),e?(S.WebGL.renderer.domElement.style.zIndex=0,this.prevZIndex=S.WebGL.renderer.domElement.style.zIndex):S.WebGL.renderer.domElement.style.zIndex=this.prevZIndex||-1,S.WebGL.globalUniforms.uDevCameraActive.value=e,e}addHelpers(){this.scene.add(this.cameraHelper),this.scene.add(this.transformControls.getHelper()),this.scene.add(this.grid)}toggleGrid(e){var i;const t=this.grid.enabled;this.grid.enabled=e,t!==e&&S.theatre.updateExtensionToolbar&&((i=S.theatre)==null||i.updateExtensionToolbar())}toggleHelpers(e){var i;const t=this.options.helpers;this.options.helpers=e,this.cameraHelper.enabled=e,this.transformControls.object&&(this.transformControls.enabled=e),t!==e&&S.theatre.updateExtensionToolbar&&((i=S.theatre)==null||i.updateExtensionToolbar())}selectObject(e,t=!1){e instanceof Wt&&(this.selectedObject=e,e._theatreObject.value.transforms||e._theatreObject.value.position?(this.transformControls.attach(this.selectedObject),this.transformControls.enabled=!0):(this.transformControls.detach(),this.transformControls.enabled=!1),this.box3.setFromObject(this.selectedObject),this.boxHelper.enabled=!0),t&&e._theatreObject&&S.theatre.studio.setSelection([e._theatreObject.sheet,e._theatreObject]),S.theatre.updateExtensionToolbar&&S.theatre.updateExtensionToolbar()}deselectObject(){this.transformControls.detach(),this.transformControls.enabled=!1,this.boxHelper.enabled=!1,this.selectedObject=null,S.theatre.updateExtensionToolbar&&S.theatre.updateExtensionToolbar()}addEvents(){S.RAFCollection.add(this.update,150),S.WebGL.renderer.domElement.addEventListener("pointermove",this.onPointerMove),S.WebGL.renderer.domElement.addEventListener("pointerdown",this.onPointerDown),S.WebGL.renderer.domElement.addEventListener("pointerup",this.onPointerUp),this.transformControls.addEventListener("dragging-changed",this.onTransformControlsDraggingChanged),this.transformControls.addEventListener("mouseUp",this.onTransformControlsMouseUp),this.viewHelperElement.addEventListener("pointerup",this.onViewHelperClick)}removeEvents(){S.RAFCollection.remove(this.update),S.WebGL.renderer.domElement.removeEventListener("pointermove",this.onPointerMove),S.WebGL.renderer.domElement.removeEventListener("pointerdown",this.onPointerDown),S.WebGL.renderer.domElement.removeEventListener("pointerup",this.onPointerUp),this.transformControls.removeEventListener("dragging-changed",this.onTransformControlsDraggingChanged),this.transformControls.removeEventListener("mouseUp",this.onTransformControlsMouseUp),this.viewHelperElement.removeEventListener("pointerup",this.onViewHelperClick)}onResize(){this.devCamera.aspect=S.window.w/S.window.h,this.devCamera.updateProjectionMatrix()}destroy(){this.disable(),this.detachTheatreObject(),this.onSelectionChangeUnsubcribe()}}class cc extends ice{constructor(...t){var i;super(...t);he(this,"updatePostFXValuesFromTheatre",(t,i=!1)=>{this.enabled&&(S.urlParams.has("scene")||i)&&(dr.set(S.WebGL.bloomPass,{enabled:this.postFxTheatreOverrides.bloom.enabled??t.bloom.enabled,strength:t.bloom.strength,threshold:t.bloom.threshold,radius:t.bloom.radius}),dr.set(S.WebGL.directionalBloomPass,{enabled:this.postFxTheatreOverrides.directionalBloom.enabled??t.directionalBloom.enabled,strength:t.directionalBloom.strength,threshold:t.directionalBloom.threshold,radius:t.directionalBloom.radius}))});he(this,"onResize",()=>{var t,i,r;for(const s in this.cameras){const o=this.cameras[s];o.aspect=S.window.w/S.window.h,o.setFocalLength(o._focalLength),o.updateProjectionMatrix()}(t=this.devTools)==null||t.onResize(),this.onSceneResize();for(const s in this.components)(r=(i=this.components[s]).resize)==null||r.call(i)});S.theatre.studioProject&&(S.theatre.studioSheets[this.prettyName]=si((i=S.theatre.studioProject)==null?void 0:i.sheet(this.prettyName))),S.theatre.sheets[this.prettyName]=si(S.theatre.project.sheet(this.prettyName)),S.theatre.sheets[this.prettyName]._webglScene=si(this),this.postFxTheatreOverrides={bloom:{},directionalBloom:{}}}start(){var t;
4612super.start(),S.urlParams.has("scene")&&this.updatePostFXValuesFromTheatre(S.theatre.objects[this.prettyName]["Post FX"].value,!0),(t=this.devTools)==null||t.createTheatreObject()}stop(){var t,i,r,s;super.stop(),(t=this.postFxST)==null||t.scrollTrigger.kill(),(i=this.postFxST)==null||i.kill(),(r=this.devTools)==null||r.disable(),(s=this.devTools)==null||s.detachTheatreObject()}build(){super.build(),this.addPostFXToTheatre(),S.env!=="production"&&S.urlParams.has("gui")&&(this.devTools=new rce(this))}addPostFXToTheatre(){const t={bloom:{enabled:Te.types.boolean(S.WebGL.bloomPass.enabled),strength:Te.types.number(S.WebGL.bloomPass.strength,{range:[0,2],nudgeMultiplier:.01}),threshold:Te.types.number(S.WebGL.bloomPass.threshold,{range:[0,2],nudgeMultiplier:.01}),radius:Te.types.number(S.WebGL.bloomPass.radius,{range:[0,2],nudgeMultiplier:.01})},directionalBloom:{enabled:Te.types.boolean(S.WebGL.directionalBloomPass.enabled),strength:Te.types.number(S.WebGL.directionalBloomPass.strength,{range:[0,2],nudgeMultiplier:.01}),threshold:Te.types.number(S.WebGL.directionalBloomPass.threshold,{range:[0,2],nudgeMultiplier:.01}),radius:Te.types.number(S.WebGL.directionalBloomPass.radius,{range:[0,2],nudgeMultiplier:.01})}};S.theatre.helper.addSheetObject(this.prettyName,"Post FX",t).onValuesChange(this.updatePostFXValuesFromTheatre,S.theatre.rafDriver)}buildCameras(){this.cameras={camera1:this.createCamera("Camera 1")},this.activeCamera=this.cameras.camera1,S.theatre.helper.addSheetObject(this.prettyName,"Cameras / Settings",{cameraXTranslate:Te.types.number(this.options.cameraXTranslate,{nudgeMultiplier:.01}),cameraYTranslate:Te.types.number(this.options.cameraYTranslate,{nudgeMultiplier:.01}),cameraZTranslate:Te.types.number(this.options.cameraZTranslate,{nudgeMultiplier:.01}),cameraPivotStrength:Te.types.number(this.options.cameraPivotStrength,{nudgeMultiplier:.01}),cameraPivotOffset:Te.types.number(this.options.cameraPivotOffset,{nudgeMultiplier:.01}),pointerLerpSpeed1:Te.types.number(this.options.pointerLerpSpeed1,{nudgeMultiplier:.001}),pointerLerpSpeed2:Te.types.number(this.options.pointerLerpSpeed2,{nudgeMultiplier:.001}),cameraPivotAngle:Te.types.compound({x:Te.types.number(this.options.cameraPivotAngle.x,{nudgeMultiplier:.001}),y:Te.types.number(this.options.cameraPivotAngle.y,{nudgeMultiplier:.001})}),cameraPivotRollAmount:Te.types.number(this.options.cameraPivotRollAmount,{nudgeMultiplier:.001})}).onValuesChange(t=>{this.options.cameraXTranslate=t.cameraXTranslate,this.options.cameraYTranslate=t.cameraYTranslate,this.options.cameraZTranslate=t.cameraZTranslate,this.options.cameraPivotStrength=S.urlParams.has("scene")?0:t.cameraPivotStrength,this.options.cameraPivotOffset=t.cameraPivotOffset,this.options.pointerLerpSpeed1=t.pointerLerpSpeed1,this.options.pointerLerpSpeed2=t.pointerLerpSpeed2,this.options.cameraPivotAngle.x=t.cameraPivotAngle.x,this.options.cameraPivotAngle.y=t.cameraPivotAngle.y,this.options.cameraPivotRollAmount=t.cameraPivotRollAmount},S.theatre.rafDriver)}createCamera(t){const i=new Zi(45,S.window.w/S.window.h,.1,500);i.name=t,i._position=new K(0,0,20),i._rotation=new Pi,i._lookAt=new K,i._focalLength=this.options.cameraFocalLength,i.enableLookAt=!1,i.position.copy(i._position),i.rotation.copy(i._rotation),i.lookAt(i._lookAt),i.setFocalLength(i._focalLength);for(const r in this.cameraLayers)i.layers.enable(this.cameraLayers[r]);return i}updateCameras(){var t;for(const i in this.cameras){const r=this.cameras[i];r.position.copy(r._position),r.enableLookAt?r.lookAt(r._lookAt):(t=this.devTools)!=null&&t.transformControls.dragging||r.rotation.copy(r._rotation),r.translateX(this.options.cameraXTranslate),r.translateY(this.options.cameraYTranslate),r.translateZ(this.options.cameraZTranslate),this.updateCameraPivotMovement(r),r.updateProjectionMatrix()}}onSceneResize(){}destroy(){var t;super.destroy(),S.theatre.helper.deleteSheet(this.prettyName),S.env!=="production"&&S.theatre.helper.detachAllStudioSheetObjects(this.prettyName),(t=this.devTools)==null||t.destroy()}}class sce extends cc{constructor(){super("article"),this.components=Object.assign({})}buildScrollTimeline(){this.sequencePosition={value:0},this.scrollTimeline=vo.timeline({immediateRender:!1,paused:!0,defaults:{ease:"sine.inOut",duration:1,immediateRender:!1,onUpdate:()=>{S.theatre.sheets[this.prettyName].sequence.position=this.sequencePosition.value}}}).fromTo(this.sequencePosition,{value:0}
4612,{value:1,scrollTrigger:{trigger:".js-landing-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}).fromTo(this.sequencePosition,{value:1},{value:2,scrollTrigger:{trigger:".js-engineering-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}).fromTo(this.sequencePosition,{value:2},{value:3,scrollTrigger:{trigger:".js-computing-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}).fromTo(this.sequencePosition,{value:3},{value:4,scrollTrigger:{trigger:".js-team-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}),S.theatre.sheets[this.prettyName].sequence.position=0}start(){this.enabled||(this.enabled=!0,S.WebGL.activeScene=this,this.renderPass.enabled=!0,this.addEvents())}stop(){super.stop(),S.theatre.sheets[this.prettyName].sequence.position=0}destroy(){var e;super.destroy(),(e=this.scrollTimeline)==null||e.kill()}}var oce="varying vec2 vUv;varying vec2 vUvDown;varying vec2 vUvUp;varying vec2 vUvLeft;varying vec2 vUvRight;varying vec2 vUvDownLeft;varying vec2 vUvUpRight;varying vec2 vUvUpLeft;varying vec2 vUvDownRight;uniform vec2 uResolution;void main(){vUv=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);vec2 texelSize=vec2(1.0/uResolution.x,1.0/uResolution.y);vUvDown=uv+vec2(0.0,-1.0)*texelSize;vUvUp=uv+vec2(0.0,1.0)*texelSize;vUvRight=uv+vec2(1.0,0.0)*texelSize;vUvLeft=uv+vec2(-1.0,0.0)*texelSize;vUvDownLeft=uv+vec2(-1.0,-1.0)*texelSize;vUvUpRight=uv+vec2(1.0,1.0)*texelSize;vUvUpLeft=uv+vec2(-1.0,1.0)*texelSize;vUvDownRight=uv+vec2(1.0,-1.0)*texelSize;}",ace=`#include <common> 4613precision highp float; 4614#define QUALITY(q) ((q) < 5 ? 1.0 : ((q) > 5 ? ((q) < 10 ? 2.0 : ((q) < 11 ? 4.0 : 8.0)) : 1.5)) 4615#define ONE_OVER_TWELVE 0.08333333333333333 4616varying vec2 vUvDown;varying vec2 vUvUp;varying vec2 vUvLeft;varying vec2 vUvRight;varying vec2 vUvDownLeft;varying vec2 vUvUpRight;varying vec2 vUvUpLeft;varying vec2 vUvDownRight;uniform sampler2D tDiffuse;uniform int uSamples;uniform vec2 uResolution;varying vec2 vUv;vec4 fxaa(const in sampler2D inputBuffer,const in vec2 uv){vec2 texelSize=vec2(1.0/uResolution.x,1.0/uResolution.y);vec4 inputColor=texture2D(inputBuffer,uv);float lumaCenter=luminance(inputColor.rgb);float lumaDown=luminance(texture2D(inputBuffer,vUvDown).rgb);float lumaUp=luminance(texture2D(inputBuffer,vUvUp).rgb);float lumaLeft=luminance(texture2D(inputBuffer,vUvLeft).rgb);float lumaRight=luminance(texture2D(inputBuffer,vUvRight).rgb);float lumaMin=min(lumaCenter,min(min(lumaDown,lumaUp),min(lumaLeft,lumaRight)));float lumaMax=max(lumaCenter,max(max(lumaDown,lumaUp),max(lumaLeft,lumaRight)));float lumaRange=lumaMax-lumaMin;if(lumaRange<max(EDGE_THRESHOLD_MIN,lumaMax*EDGE_THRESHOLD_MAX)){return inputColor;}float lumaDownLeft=luminance(texture2D(inputBuffer,vUvDownLeft).rgb);float lumaUpRight=luminance(texture2D(inputBuffer,vUvUpRight).rgb);float lumaUpLeft=luminance(texture2D(inputBuffer,vUvUpLeft).rgb);float lumaDownRight=luminance(texture2D(inputBuffer,vUvDownRight).rgb);float lumaDownUp=lumaDown+lumaUp;float lumaLeftRight=lumaLeft+lumaRight;float lumaLeftCorners=lumaDownLeft+lumaUpLeft;float lumaDownCorners=lumaDownLeft+lumaDownRight;float lumaRightCorners=lumaDownRight+lumaUpRight;float lumaUpCorners=lumaUpRight+lumaUpLeft;float edgeHorizontal=(abs(-2.0*lumaLeft+lumaLeftCorners)+abs(-2.0*lumaCenter+lumaDownUp)*2.0+abs(-2.0*lumaRight+lumaRightCorners));float edgeVertical=(abs(-2.0*lumaUp+lumaUpCorners)+abs(-2.0*lumaCenter+lumaLeftRight)*2.0+abs(-2.0*lumaDown+lumaDownCorners));bool isHorizontal=(edgeHorizontal>=edgeVertical);float stepLength=isHorizontal ? texelSize.y : texelSize.x;float luma1=isHorizontal ? lumaDown : lumaLeft;float luma2=isHorizontal ? lumaUp : lumaRight;float gradient1=abs(luma1-lumaCenter);float gradient2=abs(luma2-lumaCenter);bool is1Steepest=gradient1>=gradient2;float gradientScaled=0.25*max(gradient1,gradient2);float lumaLocalAverage=0.0;if(is1Steepest){stepLength=-stepLength;lumaLocalAverage=0.5*(luma1+lumaCenter);}else{lumaLocalAverage=0.5*(luma2+lumaCenter);}vec2 currentUv=uv;if(isHorizontal){currentUv.y+=stepLength*0.5;}else{currentUv.x+=stepLength*0.5;}vec2 offset=isHorizontal ? vec2(texelSize.x,0.0): vec2(0.0,texelSize.y);vec2 uv1=currentUv-offset*QUALITY(0);vec2 uv2=currentUv+offset*QUALITY(0);float lumaEnd1=luminance(texture2D(inputBuffer,uv1).rgb);float lumaEnd2=luminance(texture2D(inputBuffer,uv2).rgb);lumaEnd1-=lumaLocalAverage;lumaEnd2-=lumaLocalAverage;bool reached1=abs(lumaEnd1)>=gradientScaled;bool reached2=abs(lumaEnd2)>=gradientScaled;bool reachedBoth=reached1&&reached2;if(!reached1){uv1-=offset*QUALITY(1);}if(!reached2){uv2+=offset*QUALITY(1);}if(!reachedBoth){for(int i=2;i<uSamples;++i){if(!reached1){lumaEnd1=luminance(texture2D(inputBuffer,uv1).rgb);lumaEnd1=lumaEnd1-lumaLocalAverage;}if(!reached2){lumaEnd2=luminance(texture2D(inputBuffer,uv2).rgb);lumaEnd2=lumaEnd2-lumaLocalAverage;}reached1=abs(lumaEnd1)>=gradientScaled;reached2=abs(lumaEnd2)>=gradientScaled;reachedBoth=reached1&&reached2;if(!reached1){uv1-=offset*QUALITY(i);}if(!reached2){uv2+=offset*QUALITY(i);}if(reachedBoth){break;}}}float distance1=isHorizontal ?(uv.x-uv1.x):(uv.y-uv1.y);
4616float distance2=isHorizontal ?(uv2.x-uv.x):(uv2.y-uv.y);bool isDirection1=distance1<distance2;float distanceFinal=min(distance1,distance2);float edgeThickness=(distance1+distance2);bool isLumaCenterSmaller=lumaCenter<lumaLocalAverage;bool correctVariation1=(lumaEnd1<0.0)!=isLumaCenterSmaller;bool correctVariation2=(lumaEnd2<0.0)!=isLumaCenterSmaller;bool correctVariation=isDirection1 ? correctVariation1 : correctVariation2;float pixelOffset=-distanceFinal/edgeThickness+0.5;float finalOffset=correctVariation ? pixelOffset : 0.0;float lumaAverage=ONE_OVER_TWELVE*(2.0*(lumaDownUp+lumaLeftRight)+lumaLeftCorners+lumaRightCorners);float subPixelOffset1=clamp(abs(lumaAverage-lumaCenter)/lumaRange,0.0,1.0);float subPixelOffset2=(-2.0*subPixelOffset1+3.0)*subPixelOffset1*subPixelOffset1;float subPixelOffsetFinal=subPixelOffset2*subPixelOffset2*SUBPIXEL_QUALITY;finalOffset=max(finalOffset,subPixelOffsetFinal);vec2 finalUv=uv;if(isHorizontal){finalUv.y+=finalOffset*stepLength;}else{finalUv.x+=finalOffset*stepLength;}return texture2D(inputBuffer,finalUv);}void main(){vec3 inputColor=texture2D(tDiffuse,vUv).rgb;float lumaCenter=luminance(inputColor.rgb);const float edgeDetectionQuality=.2;const float invEdgeDetectionQuality=1./edgeDetectionQuality;gl_FragColor=fxaa(tDiffuse,vUv);}`,lce=`#include <default_pars> 4617#include <default_frag_pars> 4618varying vec2 vUv;uniform bool uEnabled;uniform bool uChromaticAberration;uniform bool uVignette;uniform vec2 uResolution;uniform bool uNoise;uniform float uNoiseStrength;uniform sampler2D tDiffuse;uniform float uVignetteStrength;uniform float uVignetteInnerStrength;uniform float uVignetteOuterStrength;uniform vec3 uVignetteColor;uniform float uMaxDistort;uniform float uBendAmount;const int iterations=5;uniform float uTime;vec2 barrelDistortion(vec2 coord,float amt){vec2 cc=coord-0.5;float dist=dot(cc,cc);return coord+cc*dist*amt;}float sat(float t){return clamp(t,0.0,1.0);}float linterp(float t){return sat(1.0-abs(2.0*t-1.0));}float remap(float t,float a,float b){return sat((t-a)/(b-a));}vec4 spectrum_offset(float t){vec4 ret;float lo=step(t,0.5);float hi=1.0-lo;float w=linterp(remap(t,1.0/6.0,5.0/6.0));ret=vec4(lo,1.0,hi,1.)*vec4(1.0-w,w,1.0-w,1.);return pow(ret,vec4(1.0/2.2));}float random(vec2 p){vec3 p3=fract(vec3(p.xyx)*443.8975);p3+=dot(p3,p3.yzx+19.19);return fract((p3.x+p3.y)*p3.z);}void main(){if(uEnabled){if(uChromaticAberration){vec4 sumcol=vec4(0.0);vec4 sumw=vec4(0.0);float reci_num_iter_f=1.0/float(iterations);for(int i=0;i<iterations;i++){float t=float(i)*reci_num_iter_f;vec4 w=spectrum_offset(t);sumw+=w;sumcol+=w*texture2D(tDiffuse,barrelDistortion(vUv,uBendAmount*uMaxDistort*t));}gl_FragColor=vec4(sumcol/sumw);}else{gl_FragColor=texture2D(tDiffuse,vUv);}if(uVignette){vec2 coord=(vUv-0.5)*(uResolution.x/uResolution.y)*2.0;float rf=1.0+dot(coord,coord)*uVignetteInnerStrength*uVignetteInnerStrength;float vignette=1.0/(rf*rf);vec2 uv2=vUv;uv2*=1.0-vUv.yx;float vig=uv2.x*uv2.y*20.0;vignette*=pow(vig,uVignetteOuterStrength);vignette=clamp(vignette,0.0,1.0);gl_FragColor.rgb=mix(uVignetteColor,gl_FragColor.rgb,saturate(vignette+(1.-uVignetteStrength)));}if(uNoise){gl_FragColor.rgb=blendSoftLight(gl_FragColor.rgb,vec3(random(vUv)-0.5),uNoiseStrength);}}else{gl_FragColor=texture2D(tDiffuse,vUv);} 4619#include <colorspace_fragment> 4620}`,cce=`#include <default_pars> 4621varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform sampler2D tVelocity;uniform sampler2D tFluidSim;uniform float uFluidStrength;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform float uRadius;uniform float uDecay;uniform float uDecay2;uniform float uLerpSpeed;uniform float uLerpSpeed2;uniform float uShapeThreshold;uniform float uSetup;float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vec2 uv=vUv;vec4 originalPosFetch=texture2D(tOriginalTexture,uv);vec3 offsets=originalPosFetch.xyz;float randomIndex=rand(vUv);float selected=step(uShapeThreshold,randomIndex);vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;float life=position.w;vec3 velocity=texture2D(tVelocity,uv).xyz;if(uSetup>0.5){vec3 initialTarget=normalize(offsets)*uRadius*map(randomIndex,0.0,1.0,0.5,1.0);gl_FragColor=vec4(initialTarget,rand(vUv+randomIndex+4584.));if(selected>0.5){gl_FragColor.a=originalPosFetch.w;}return;}if(life<=0.0){if(selected>0.5){gl_FragColor=vec4(offsets,1.0);return;}gl_FragColor=vec4(offsets*0.025,1.0);return;}vec3 target;vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(currentPos,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;vec3 fluidDisplacement=vec3(0.);fluidDisplacement=texture2D(tFluidSim,screenPos).rgb;fluidDisplacement.z*=-1.+1.;if(selected>0.5){target=normalize(currentPos+velocity)*uRadius*map(randomIndex,0.0,1.0,0.5,1.0);
4621currentPos+=(target-currentPos)*uNormalizedDelta*uLerpSpeed;life-=uDecay*uNormalizedDelta*0.01;}else{currentPos+=velocity*uNormalizedDelta*uLerpSpeed2;life-=uDecay2*uNormalizedDelta*0.01;}gl_FragColor=vec4(currentPos+fluidDisplacement*uFluidStrength,life);}`,uce=`#include <default_pars> 4622varying vec2 vUv;uniform sampler2D tPosition;uniform sampler2D tOriginalPosition;uniform sampler2D tTexture;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform sampler2D tFluidSim;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uShapeThreshold;uniform float uFriction;uniform float uCurlSize;uniform float uCurlNoiseSpeed;uniform float uCurlStrength;uniform float uCurlNoisePersistence;uniform vec2 uFrequency;uniform vec2 uAmplitude;uniform float uSetup;vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}float mod289(float x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}float permute(float x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float taylorInvSqrt(float r){return 1.79284291400159-0.85373472095314*r;}vec4 grad4(float j,vec4 ip){const vec4 ones=vec4(1.0,1.0,1.0,-1.0);vec4 p,s;p.xyz=floor(fract(vec3(j)*ip.xyz)*7.0)*ip.z-1.0;p.w=1.5-dot(abs(p.xyz),ones.xyz);s=vec4(lessThan(p,vec4(0.0)));p.xyz=p.xyz+(s.xyz*2.0-1.0)*s.www;return p;} 4623#define F4 0.309016994374947451 4624vec4 snoise4(vec4 v){const vec4 C=vec4(0.138196601125011,0.276393202250021,0.414589803375032,-0.447213595499958);vec4 i=floor(v+dot(v,vec4(F4)));vec4 x0=v-i+dot(i,C.xxxx);vec4 i0;vec3 isX=step(x0.yzw,x0.xxx);vec3 isYZ=step(x0.zww,x0.yyz);i0.x=isX.x+isX.y+isX.z;i0.yzw=1.0-isX;i0.y+=isYZ.x+isYZ.y;i0.zw+=1.0-isYZ.xy;i0.z+=isYZ.z;i0.w+=1.0-isYZ.z;vec4 i3=clamp(i0,0.0,1.0);vec4 i2=clamp(i0-1.0,0.0,1.0);vec4 i1=clamp(i0-2.0,0.0,1.0);vec4 x1=x0-i1+C.xxxx;vec4 x2=x0-i2+C.yyyy;vec4 x3=x0-i3+C.zzzz;vec4 x4=x0+C.wwww;i=mod289(i);float j0=permute(permute(permute(permute(i.w)+i.z)+i.y)+i.x);vec4 j1=permute(permute(permute(permute(i.w+vec4(i1.w,i2.w,i3.w,1.0))+i.z+vec4(i1.z,i2.z,i3.z,1.0))+i.y+vec4(i1.y,i2.y,i3.y,1.0))+i.x+vec4(i1.x,i2.x,i3.x,1.0));vec4 ip=vec4(1.0/294.0,1.0/49.0,1.0/7.0,0.0);vec4 p0=grad4(j0,ip);vec4 p1=grad4(j1.x,ip);vec4 p2=grad4(j1.y,ip);vec4 p3=grad4(j1.z,ip);vec4 p4=grad4(j1.w,ip);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;p4*=taylorInvSqrt(dot(p4,p4));vec3 values0=vec3(dot(p0,x0),dot(p1,x1),dot(p2,x2));vec2 values1=vec2(dot(p3,x3),dot(p4,x4));vec3 m0=max(0.5-vec3(dot(x0,x0),dot(x1,x1),dot(x2,x2)),0.0);vec2 m1=max(0.5-vec2(dot(x3,x3),dot(x4,x4)),0.0);vec3 temp0=-6.0*m0*m0*values0;vec2 temp1=-6.0*m1*m1*values1;vec3 mmm0=m0*m0*m0;vec2 mmm1=m1*m1*m1;float dx=temp0[0]*x0.x+temp0[1]*x1.x+temp0[2]*x2.x+temp1[0]*x3.x+temp1[1]*x4.x+mmm0[0]*p0.x+mmm0[1]*p1.x+mmm0[2]*p2.x+mmm1[0]*p3.x+mmm1[1]*p4.x;float dy=temp0[0]*x0.y+temp0[1]*x1.y+temp0[2]*x2.y+temp1[0]*x3.y+temp1[1]*x4.y+mmm0[0]*p0.y+mmm0[1]*p1.y+mmm0[2]*p2.y+mmm1[0]*p3.y+mmm1[1]*p4.y;float dz=temp0[0]*x0.z+temp0[1]*x1.z+temp0[2]*x2.z+temp1[0]*x3.z+temp1[1]*x4.z+mmm0[0]*p0.z+mmm0[1]*p1.z+mmm0[2]*p2.z+mmm1[0]*p3.z+mmm1[1]*p4.z;float dw=temp0[0]*x0.w+temp0[1]*x1.w+temp0[2]*x2.w+temp1[0]*x3.w+temp1[1]*x4.w+mmm0[0]*p0.w+mmm0[1]*p1.w+mmm0[2]*p2.w+mmm1[0]*p3.w+mmm1[1]*p4.w;return vec4(dx,dy,dz,dw)*49.0;}vec3 curl(in vec3 p,in float noiseTime,in float persistence){vec4 xNoisePotentialDerivatives=vec4(0.0);vec4 yNoisePotentialDerivatives=vec4(0.0);vec4 zNoisePotentialDerivatives=vec4(0.0);for(int i=0;i<3;++i){float twoPowI=pow(2.0,float(i));float scale=0.5*twoPowI*pow(persistence,float(i));xNoisePotentialDerivatives+=snoise4(vec4(p*twoPowI,noiseTime))*scale;yNoisePotentialDerivatives+=snoise4(vec4((p+vec3(123.4,129845.6,-1239.1))*twoPowI,noiseTime))*scale;zNoisePotentialDerivatives+=snoise4(vec4((p+vec3(-9519.0,9051.0,-123.0))*twoPowI,noiseTime))*scale;}return vec3(zNoisePotentialDerivatives[1]-yNoisePotentialDerivatives[2],xNoisePotentialDerivatives[2]-zNoisePotentialDerivatives[0],yNoisePotentialDerivatives[0]-xNoisePotentialDerivatives[1]);}vec3 permute(vec3 x){return mod(((x*34.0)+1.0)*x,289.0);}float snoise(vec2 v){const vec4 C=vec4(0.211324865405187,0.366025403784439,-0.5
462477350269189626,0.024390243902439);vec2 i=floor(v+dot(v,C.yy));vec2 x0=v-i+dot(i,C.xx);vec2 i1;i1=(x0.x>x0.y)? vec2(1.0,0.0): vec2(0.0,1.0);vec4 x12=x0.xyxy+C.xxzz;x12.xy-=i1;i=mod(i,289.0);vec3 p=permute(permute(i.y+vec3(0.0,i1.y,1.0))+i.x+vec3(0.0,i1.x,1.0));vec3 m=max(0.5-vec3(dot(x0,x0),dot(x12.xy,x12.xy),dot(x12.zw,x12.zw)),0.0);m=m*m;m=m*m;vec3 x=2.0*fract(p*C.www)-1.0;vec3 h=abs(x)-0.5;vec3 ox=floor(x+0.5);vec3 a0=x-ox;m*=1.79284291400159-0.85373472095314*(a0*a0+h*h);vec3 g;g.x=a0.x*x0.x+h.x*x0.y;g.yz=a0.yz*x12.xz+h.yz*x12.yw;return 130.0*dot(m,g);}const int OCTAVES=4;vec3 random3(vec3 c){float j=4096.0*sin(dot(c,vec3(17.0,59.4,15.0)));vec3 r;r.z=fract(512.0*j);j*=.125;r.x=fract(512.0*j);j*=.125;r.y=fract(512.0*j);return r-0.5;}const float F3=0.3333333;const float G3=0.1666667;float snoise(vec3 p){vec3 s=floor(p+dot(p,vec3(F3)));vec3 x=p-s+dot(s,vec3(G3));vec3 e=step(vec3(0.0),x-x.yzx);vec3 i1=e*(1.0-e.zxy);vec3 i2=1.0-e.zxy*(1.0-e);vec3 x1=x-i1+G3;vec3 x2=x-i2+2.0*G3;vec3 x3=x-1.0+3.0*G3;vec4 w,d;w.x=dot(x,x);w.y=dot(x1,x1);w.z=dot(x2,x2);w.w=dot(x3,x3);w=max(0.6-w,0.0);d.x=dot(random3(s),x);d.y=dot(random3(s+i1),x1);d.z=dot(random3(s+i2),x2);d.w=dot(random3(s+1.0),x3);w*=w;w*=w;d*=w;return dot(d,vec4(52.0));}float snoiseFractal(vec3 m){return 0.5333333*snoise(m)+0.2666667*snoise(2.0*m)+0.1333333*snoise(4.0*m)+0.0666667*snoise(8.0*m);}float snoise(vec4 v){const vec2 C=vec2(0.138196601125010504,0.309016994374947451);vec4 i=floor(v+dot(v,C.yyyy));vec4 x0=v-i+dot(i,C.xxxx);vec4 i0;vec3 isX=step(x0.yzw,x0.xxx);vec3 isYZ=step(x0.zww,x0.yyz);i0.x=isX.x+isX.y+isX.z;i0.yzw=1.0-isX;i0.y+=isYZ.x+isYZ.y;i0.zw+=1.0-isYZ.xy;i0.z+=isYZ.z;i0.w+=1.0-isYZ.z;vec4 i3=clamp(i0,0.0,1.0);vec4 i2=clamp(i0-1.0,0.0,1.0);vec4 i1=clamp(i0-2.0,0.0,1.0);vec4 x1=x0-i1+1.0*C.xxxx;vec4 x2=x0-i2+2.0*C.xxxx;vec4 x3=x0-i3+3.0*C.xxxx;vec4 x4=x0-1.0+4.0*C.xxxx;i=mod(i,289.0);float j0=permute(permute(permute(permute(i.w)+i.z)+i.y)+i.x);vec4 j1=permute(permute(permute(permute(i.w+vec4(i1.w,i2.w,i3.w,1.0))+i.z+vec4(i1.z,i2.z,i3.z,1.0))+i.y+vec4(i1.y,i2.y,i3.y,1.0))+i.x+vec4(i1.x,i2.x,i3.x,1.0));vec4 ip=vec4(1.0/294.0,1.0/49.0,1.0/7.0,0.0);vec4 p0=grad4(j0,ip);vec4 p1=grad4(j1.x,ip);vec4 p2=grad4(j1.y,ip);vec4 p3=grad4(j1.z,ip);vec4 p4=grad4(j1.w,ip);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;p4*=taylorInvSqrt(dot(p4,p4));vec3 m0=max(0.6-vec3(dot(x0,x0),dot(x1,x1),dot(x2,x2)),0.0);vec2 m1=max(0.6-vec2(dot(x3,x3),dot(x4,x4)),0.0);m0=m0*m0;m1=m1*m1;return 49.0*(dot(m0*m0,vec3(dot(p0,x0),dot(p1,x1),dot(p2,x2)))+dot(m1*m1,vec2(dot(p3,x3),dot(p4,x4))));}vec3 fade(vec3 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec3 P){vec3 Pi0=floor(P);vec3 Pi1=Pi0+vec3(1.0);Pi0=mod(Pi0,289.0);Pi1=mod(Pi1,289.0);vec3 Pf0=fract(P);vec3 Pf1=Pf0-vec3(1.0);vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4 iy=vec4(Pi0.yy,Pi1.yy);vec4 iz0=Pi0.zzzz;vec4 iz1=Pi1.zzzz;vec4 ixy=permute(permute(ix)+iy);vec4 ixy0=permute(ixy+iz0);vec4 ixy1=permute(ixy+iz1);vec4 gx0=ixy0/7.0;vec4 gy0=fract(floor(gx0)/7.0)-0.5;gx0=fract(gx0);vec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4 sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4 gx1=ixy1/7.0;vec4 gy1=fract(floor(gx1)/7.0)-0.5;gx1=fract(gx1);vec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4 sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3 g000=vec3(gx0.x,gy0.x,gz0.x);vec3 g100=vec3(gx0.y,gy0.y,gz0.y);vec3 g010=vec3(gx0.z,gy0.z,gz0.z);vec3 g110=vec3(gx0.w,gy0.w,gz0.w);vec3 g001=vec3(gx1.x,gy1.x,gz1.x);vec3 g101=vec3(gx1.y,gy1.y,gz1.y);vec3 g011=vec3(gx1.z,gy1.z,gz1.z);vec3 g111=vec3(gx1.w,gy1.w,gz1.w);vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float n000=dot(g000,Pf0);float n100=dot(g100,vec3(Pf1.x,Pf0.yz));float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float n110=dot(g110,vec3(Pf1.xy,Pf0.z));float n001=dot(g001,vec3(Pf0.xy,Pf1.z));float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float n011=dot(g011,vec3(Pf0.x,Pf1.yz));float n111=dot(g111,Pf1);vec3 fade_xyz=fade(Pf0);vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return 2.2*n_xyz;}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){if(uSetup>0.5){gl_FragColor=vec4(0.0,0.0,0.0,1.0);return;}float randomIndex=rand(vUv);float selected=step(uShapeThreshold,randomIndex);vec2 uv=vUv;vec4 velocity=texture2D(tTexture,uv);vec3 currentVelocity=velocity.xyz;vec4 position=texture2D(tPosition,uv);vec3 newVelocity=currentVelocity*uFriction;if(selected>0.5){newVelocity=curl((position.xyz+vec3(randomIndex,0.0,0.0))*uCurlSize,uTime*uCurlNoiseSpeed*0.1+randomIndex,(0.1+(1.0-position.w)*0.1*uCurlNoisePersistence))*uCurlStrength;}else{float dist=length(position.xyz);newVelocity=normalize(position.xyz)*0.025+mix(vec3(0.0),vec3(sin(position.y*uFrequency.x+randomIndex*PI*2.0+uTime*0.5)*uAmplitude.x,cos(position.x*uFrequency.y+(randomIndex+71.2)*PI*2.0+uTime*0.5)*uAmplitude.y,0.0)*0.1,smoothstep(0.1,1.0,dist));}gl_FragColor=vec4(newVelocity,1.0);}`,fce=`#include <default_pars> 4625#include <packing> 4626#ifdef DYNAMIC_SHADOWS 4627#include <shadowmap_pars_vertex> 4628#endif 4629attribute vec3 aRandom;attribute float aScale;attribute vec2 aFboUv;varying float vColorMix;varying vec2 vUv;varying vec2 vFboUv;uniform sampler2D tPosition;uniform sampler2D tVelocity;uniform float uRotationSpeed;uniform float uTime;uniform float uParticleSize;uniform vec2 uScaleRange;uniform vec2 uBrightColorPick;varying float vBrightColorPick;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying float vDistanceFade;varying float vRadiusFade;varying vec2 vScreenSpace;varying vec3 vViewPosition;varying vec3 vPosition;varying vec3 vNormal;varying vec4 vWorldPosition;varying vec3 vRandom;varying float vLife;uniform float uSunDistanceColorStep;uniform vec3 uLightPosition;uniform vec2 uDistanceFadeNearFar; 4630#ifdef DEPTH_PACKING 4631varying vec2 vHighPrecisionZW; 4632#endif 4633mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vUv=uv;vFboUv=aFboUv;vRandom=aRandom;vec4 particlePosition=texture2D(tPosition,aFboUv);vec3 particleVelocity=texture2D(tVelocity,aFboUv).xyz;vLife=particlePosition.w;vec4 transformedPosition=vec4(position,1.0);mat4 modMatrix=modelMatrix;mat4 newModelViewMatrix=viewMatrix*modMatrix;vec3 up=vec3(newModelViewMatrix[0][1],newModelViewMatrix[1][1],newModelViewMatrix[2][1]);vec3 right=vec3(newModelViewMatrix[0][0],newModelViewMatrix[1][0],newModelViewMatrix[2][0]);transformedPosition.xyz=right*transformedPosition.x+up*transformedPosition.y; 4634#ifdef USE_INSTANCING 4635transformedPosition=instanceMatrix*transformedPosition; 4636#endif 4637float scale=uParticleSize*aScale;scale*=mix(uScaleRange.x,uScaleRange.y,aRandom.x);scale*=mix(1.0,0.0,smoothstep(0.9,1.0,particlePosition.w));scale*=mix(0.0,1.0,smoothstep(0.0,0.20,particlePosition.w));transformedPosition.xyz*=scale;transformedPosition.xyz+=particlePosition.xyz;vPosition=transformedPosition.xyz;vec4 worldPosition=modelMatrix*transformedPosition;vWorldPosition=worldPosition;mat3 normalMatrixInverse=inverse(mat3(normalMatrix));vNormalMatrix=normalMatrix;vNormalMatrixInverse=normalMatrixInverse;vec3 transformedNormal=normal; 4638#ifdef USE_INSTANCING 4639mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal; 4640#endif 4641transformedNormal=normalMatrix*normal;vNormal=normalize(transformedNormal);vNormal=normalize((modelMatrix*vec4(normal,0.0)).xyz); 4642#ifdef DYNAMIC_SHADOWS 4643#include <shadowmap_vertex> 4644#endif 4645vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;vViewPosition=-mvPosition.xyz; 4646#ifdef DEPTH_PACKING 4647vHighPrecisionZW=gl_Position.zw; 4648#endif 4649vScreenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);vBrightColorPick=smoothstep(uBrightColorPick.x,uBrightColorPick.y,length(particleVelocity));vColorMix=smoothstep(uSunDistanceColorStep-0.85,uSunDistanceColorStep,distance(vWorldPosition.xyz,uLightPosition));float distFromCamera=length(cameraPosition-worldPosition.xyz);vDistanceFade=smoothstep(uDistanceFadeNearFar.x,uDistanceFadeNearFar.y,distFromCamera);float distFromCenter=length(particlePosition.xyz);float fade=1.0-smoothstep(2.7,3.0,distFromCenter);vRadiusFade=fade;}`,dce=`#include <default_pars> 4650#include <default_frag_pars> 4651#include <packing> 4652varying vec3 vRandom;varying vec2 vUv;varying float vLife;varying vec2 vFboUv;varying float vColorMix;varying float vDistanceFade;varying float vRadiusFade;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying vec3 vViewPosition;varying vec3 vPosition;varying vec2 vScreenSpace;varying vec3 vNormal;varying vec4 vWorldPosition;varying float vBrightColorPick;uniform sampler2D tNormal;uniform vec3 uLightPosition;uniform vec3 uLightColor;uniform float uLightIntensity;uniform float uSpecularIntensity;uniform vec3 uLightPosition2;uniform vec3 uLightColor2;uniform float uLightIntensity2;uniform float uSpecularIntensity2;uniform vec3 uAmbientColor1;uniform vec3 uAmbientColor2;uniform vec3 uBaseColor;uniform vec3 uBaseColor2;uniform float uShininess;uniform vec3 uBloomColor1;uniform vec3 uBloomColor2;uniform vec3 uEdgeColor1;uniform vec3 uEdgeColor2;uniform vec2 uEdgeColorStop;uniform float uGradientStrength;uniform float uRandomHighlightSelect;uniform vec3 uRandomHighlightColor;uniform vec3 uRandomHighlightBaseColor;uniform sampler2D tClouds;uniform float uCloudsFadeIntensity;uniform bool uDebugDistanceFade;uniform bool uDebugCloudsFade;uniform float uOpacity; 4653#ifdef DYNAMIC_SHADOWS 4654uniform bool uDebugShadow;uniform bool receiveShadow; 4655#include <shadowmap_pars_fragment> 4656#include <shadowmask_pars_fragment> 4657uniform vec3 uShadowColor;uniform vec3 uShadowColor2;uniform float uShadowIntensity; 4658#endif 4659#ifdef DEPTH_PACKING 4660varying vec2 vHighPrecisionZW; 4661#endif 4662float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float circle(in vec2 _st,in float _radius,in float _blur){vec2 dist=_st-vec2(0.5);return 1.-smoothstep(_radius-(_radius*_blur),_radius+(_radius*0.01),dot(dist,dist)*4.0);}void main(){float alpha=1.0-step(0.9,2.0*length(vUv-0.5));if(alpha<0.5)discard; 4663#ifdef DEPTH_PACKING
4664gl_FragColor=vec4(vec3(1.),1.0); 4665#else 4666float cloudsSample=texture2D(tClouds,vScreenSpace).r;alpha*=mix(1.0,pow(1.0-cloudsSample,uCloudsFadeIntensity),vDistanceFade);alpha*=vRadiusFade;if(alpha<0.01)discard;vec3 lightDirection1=normalize(uLightPosition-vWorldPosition.xyz);vec3 lightDirection2=normalize(uLightPosition2-vWorldPosition.xyz);vec3 normal=texture2D(tNormal,vUv).xyz*2.0-1.0;normal.y*=-1.0;normal=normalize(normal);vec3 randoms=vec3(map(vRandom.x,0.,1.,0.4,1.25),map(vRandom.y,0.,1.,0.2,1.8),map(vRandom.z,0.,1.,0.2,1.8));vec3 ambientColor=mix(uAmbientColor1,uAmbientColor2,vColorMix);vec3 baseColor=mix(uBaseColor,uBaseColor2,vColorMix);baseColor.rgb*=randoms.x;vec3 edgeColor=mix(uEdgeColor1,uEdgeColor2,vColorMix);vec3 bloomColor=mix(uBloomColor1,uBloomColor2,vColorMix);baseColor=mix(baseColor,edgeColor,smoothstep(uEdgeColorStop.x,uEdgeColorStop.y,length(vPosition)));float diff=max(dot(normal,lightDirection1),0.0);float diff2=max(dot(normal,lightDirection2),0.0);vec3 diffuse=diff*uLightColor*uLightIntensity;diffuse=mix(diffuse,diff2*uLightColor2*uLightIntensity2,diff2*uLightIntensity2);vec3 viewDir=normalize(cameraPosition-vWorldPosition.xyz);vec3 reflectDir1=reflect(-lightDirection1,normal.rgb);float spec=pow(max(dot(viewDir,reflectDir1),0.0),uShininess)*uSpecularIntensity;float spec2=pow(max(dot(viewDir,reflect(-lightDirection2,normal.rgb)),0.0),uShininess)*uSpecularIntensity2;vec3 specular=spec*uLightColor;specular=mix(specular,spec2*uLightColor2,spec2);vec3 phongColor=(ambientColor+diffuse)*baseColor+specular;gl_FragColor=vec4(phongColor,alpha);gl_FragColor.rgb=mix(gl_FragColor.rgb,gl_FragColor.rgb+bloomColor,vBrightColorPick);gl_FragColor.rgb=mix(gl_FragColor.rgb,uRandomHighlightBaseColor+uRandomHighlightColor,step(uRandomHighlightSelect,vRandom.x));if(uDebugDistanceFade){gl_FragColor=vec4(vec3(vDistanceFade),1.0);}else if(uDebugCloudsFade){gl_FragColor=vec4(vec3(pow(1.0-cloudsSample,uCloudsFadeIntensity)),1.0);} 4667#endif 4668#ifdef DEPTH_PACKING 4669float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=packDepthToRGBA(fragCoordZ); 4670#else 4671#ifdef DYNAMIC_SHADOWS 4672gl_FragColor.rgb=mix(gl_FragColor.rgb,gl_FragColor.rgb*mix(uShadowColor,uShadowColor2,vColorMix),(1.0-getShadowMask())*uShadowIntensity);if(uDebugShadow){gl_FragColor.rgb=vec3(getShadowMask());} 4673#endif 4674#endif 4675#include <tonemapping_fragment> 4676#include <colorspace_fragment> 4677}`;class hce extends is{constructor(e={}){e=An({vertexShader:fce,fragmentShader:dce,uniforms:{tPosition:{value:null},uParticleSize:{value:.25,gui:{step:.01}},uScaleRange:{value:new Re(.5,1),gui:{min:0,max:5,step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}},uAmbientColor1:{value:new ke(4210752)},uAmbientColor2:{value:new ke(4210752)},uBaseColor:{value:new ke(4210752)},uBaseColor2:{value:new ke(4210752)},uEdgeColor1:{value:new ke(0)},uEdgeColor2:{value:new ke(0)},uEdgeColorStop:{value:new Re(.2,.7),gui:{min:0,max:5,step:.01}},uRandomHighlightSelect:{value:.95,gui:{min:0,max:1,step:.01}},uRandomHighlightBaseColor:{value:new ke(4210752)},uRandomHighlightColor:{value:new K(1,1.2,.6),gui:{min:0,max:10,step:.01}},uBloomColor1:{value:new ke(4210752)},uBloomColor2:{value:new ke(4210752)},uBrightColorPick:{value:new Re(1.7,2.3),gui:{min:0,max:5,step:.01}},uSunDistanceColorStep:{value:18,gui:{min:0,step:.01}},uShininess:{value:30,gui:{min:0,max:200,step:1}},uLightIntensity:{value:1,gui:{min:0,max:10,step:.01}},uSpecularIntensity:{value:1,gui:{min:0,max:10,step:.01}},uLightColor:{value:new ke(16777215)},uLightIntensity2:{value:1,gui:{min:0,max:10,step:.01}},uLightColor2:{value:new ke(16777215)},uSpecularIntensity2:{value:1,gui:{min:0,max:10,step:.01}},uDebugShadow:{value:!1},tClouds:{value:null},uCloudsFadeIntensity:{value:8,gui:{min:0,max:20,step:.1}},uDistanceFadeNearFar:{value:new Re(.2,-1.08),gui:{min:2,step:.01}},uDebugDistanceFade:{value:!1},uDebugCloudsFade:{value:!1},...Ke.lights},lights:!0,defines:{DEPTH_PACKING:!1,DYNAMIC_SHADOWS:!0},depthTest:!0,transparent:!0},e),super(e)}}class pce extends uo(){constructor(e={}){e=An({name:"LandingOrbParticles",textureWidth:256,maxParticleCount:256*256,planeScale:.1,speed:.005,scrollResponsiveness:.05,scrollMaxSpeed:2},e),super(e),this._textureWidth=this.options.textureWidth,this.PARTICLE_COUNT=this._textureWidth*this._textureWidth,this.ACTIVE_PARTICLE_COUNT=this.PARTICLE_COUNT>this.options.maxParticleCount?this.options.maxParticleCount:this.PARTICLE_COUNT,this.sizeRange=[.5,
46771],this.scrollSpeedMultiplier=1}build(){this.velocitySim=new Qr({fragmentShader:uce,width:this._textureWidth,height:this._textureWidth,uniforms:{tPosition:{value:null},tOriginalPosition:{value:null},uSetup:{value:1},uFriction:{value:0,gui:{min:0,max:1,step:.001}},uShapeThreshold:{value:.25,gui:{min:0,max:1,step:.001}},uCurlSize:{value:.5,gui:{min:0,max:2,step:.01}},uCurlNoiseSpeed:{value:.3,gui:{min:0,max:5,step:.01}},uCurlStrength:{value:.03,gui:{min:0,max:2,step:.001}},uCurlNoisePersistence:{value:.03,gui:{min:0,max:2,step:.001}},uFrequency:{value:new Re(15,8),gui:{min:0,step:.01}},uAmplitude:{value:new Re(.1,.1),gui:{min:0,max:1,step:.001}},tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!1,type:Zt}),this.velocitySim.uniforms.uSetup.value=0,this.positionSim=new Qr({fragmentShader:cce,width:this._textureWidth,height:this._textureWidth,uniforms:{tVelocity:{value:this.velocitySim.texture},uSetup:{value:1},uDecay:{value:.01,gui:{min:0,max:1,step:.001}},uDecay2:{value:.01,gui:{min:0,max:1,step:.001}},uLerpSpeed:{value:.2,gui:{min:0,max:1,step:.001}},uLerpSpeed2:{value:.2,gui:{min:0,max:1,step:.001}},uRadius:{value:2.85,gui:{min:0,max:5,step:.01}},uShapeThreshold:this.velocitySim.uniforms.uShapeThreshold,tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!0,data:this.createParticlePositionData(),type:Zt}),this.positionSim.uniforms.uSetup.value=0,this.velocitySim.uniforms.tOriginalPosition.value=this.positionSim.originalTexture,this.mesh=new Tp(new lo(this.options.planeScale,this.options.planeScale),new hce({uniforms:{tNormal:{value:this.assets.textures.normal},uShapeThreshold:this.velocitySim.uniforms.uShapeThreshold,tClouds:{value:null},tVelocity:{value:this.velocitySim.texture},tPosition:{value:this.positionSim.texture},...this.parent.globalUniforms.shadow,...this.parent.globalUniforms.sun}}),this.ACTIVE_PARTICLE_COUNT),this.add(this.mesh),this.mesh.name=this.options.name,this.mesh.frustumCulled=!1,this.mesh.customDepthMaterial=new Cn({vertexShader:this.mesh.material.vertexShader,fragmentShader:this.mesh.material.fragmentShader,uniforms:this.mesh.material.uniforms,defines:{DEPTH_PACKING:Jx}});const e=[],t=new Float32Array(this.ACTIVE_PARTICLE_COUNT),i=new Wt;for(let r=0;r<this.ACTIVE_PARTICLE_COUNT;r++)i.updateMatrix(),this.mesh.setMatrixAt(r,i.matrix),e.push(Math.random(),Math.random(),Math.random()),t[r]=gn.randFloat(this.sizeRange[0],this.sizeRange[1]);this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(e),3)),this.mesh.geometry.setAttribute("aScale",new Ro(t,1)),this.mesh.renderOrder=10,this.mesh.castShadow=!0,this.mesh.receiveShadow=!0,this.mesh.updateMatrix(),this.velocitySim.uniforms.uModelMatrix.value=this.mesh.matrixWorld,this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld}createParticlePositionData(){const e=new Float32Array(this._textureWidth*this._textureWidth*4),t=.1;for(let i=0,r=this._textureWidth*this._textureWidth*4;i<r;i+=4){const s=Math.random()*Math.PI*2,o=Math.random()*2-1,a=gn.mapLinear(Math.random(),0,1,.6,1),l=Math.acos(o),c=t*Math.cbrt(a);e[i]=c*Math.sin(l)*Math.cos(s),e[i+1]=c*Math.sin(l)*Math.sin(s),e[i+2]=c*Math.cos(l),e[i+3]=(gn.seededRandom(o)+Math.random())*.5}return e}update(){this.velocitySim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.velocitySim.uniforms.tPosition.value=this.positionSim.texture,this.velocitySim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.velocitySim.uniforms.uViewM
4677atrix.value.copy(this.parent.activeCamera.matrixWorldInverse),this.velocitySim.uniforms.uProjectionMatrix.value.copy(this.parent.activeCamera.projectionMatrix),this.velocitySim.update(),this.positionSim.uniforms.tVelocity.value=this.velocitySim.texture,this.positionSim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.positionSim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.positionSim.uniforms.uViewMatrix.value.copy(this.parent.activeCamera.matrixWorldInverse),this.positionSim.uniforms.uProjectionMatrix.value.copy(this.parent.activeCamera.projectionMatrix),this.positionSim.update(),this.updateScrollRotation(this.parent.scrollVelocity),this.mesh.rotation.y+=this.options.speed*this.scrollSpeedMultiplier,this.mesh.material.uniforms.tPosition.value=this.positionSim.texture,this.mesh.material.uniforms.tVelocity.value=this.velocitySim.texture,this.mesh.material.uniforms.tClouds.value=this.parent.components.orb.cloudsRT.texture}updateScrollRotation(e){this.scrollSpeedMultiplier=1+Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,1,this.options.scrollMaxSpeed)}addGui(){const e={rotationSpeed:Te.types.number(this.options.speed,{label:"Rotation Speed",nudgeMultiplier:1e-4,range:[0,.1]}),count:Te.types.number(this.mesh.count,{label:"Particle Count",nudgeMultiplier:1,range:[0,this.ACTIVE_PARTICLE_COUNT]}),simulation:{}},t=["uShapeThreshold","tClouds",...Object.keys(this.parent.globalUniforms.sun),...Object.keys(this.parent.globalUniforms.shadow)],i=["uSetup","uTexelSize","tVelocity","tPosition"],r=S.theatre.helper.autoAddUniforms(e.simulation,this.positionSim.uniforms,i),s=S.theatre.helper.autoAddUniforms(e.simulation,this.velocitySim.uniforms,i);S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{exclude:t,additionalConfig:e}).onValuesChange(a=>{for(let l=0;l<r.length;l++)r[l](this,a.simulation);for(let l=0;l<s.length;l++)s[l](this,a.simulation);this.mesh.count=a.count,this.options.speed=a.rotationSpeed},S.theatre.rafDriver)}load(){S.AssetLoader.loadTexture("webgl/textures/normalMapSphere.jpg",{flipY:!1,wrapping:ts,colorSpace:mi}).then(e=>{this.assets.textures.normal=e})}destroy(){var e,t;super.destroy(),this.parent.remove(this),this.remove(this.mesh),this.velocitySim.destroy(),this.positionSim.destroy(),this.mesh.geometry.dispose(),this.mesh.material.dispose(),(e=this.mesh.material.uniforms.tNormal.value)==null||e.dispose(),(t=this.mesh.material.uniforms.tClouds.value)==null||t.dispose(),this.mesh.customDepthMaterial.dispose(),this.assets.textures.normal.dispose(),this.scrollSpeedMultiplier=1}}var mce=`#include <default_pars> 4678#include <normals_tangents_vert_pars> 4679#include <world_position_transform_vert_pars> 4680varying vec2 vUv;varying vec2 vScreenSpace;varying vec3 vView;varying vec3 vPosition;uniform float uTime;uniform float uRevealProgress;void main(){vUv=uv;vPosition=position;vec4 transformedPosition=vec4(position,1.0);vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=objectNormal;transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);vec4 worldPosition=modelMatrix*transformedPosition;vec4 mvPosition=viewMatrix*worldPosition;vViewPosition=-mvPosition.xyz;vWorldPosition=worldPosition;vView=normalize(cameraPosition-worldPosition.xyz);vNormal=normalize((modelMatrix*vec4(normal,0.0)).xyz);gl_Position=projectionMatrix*mvPosition;vScreenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);}`,gce=`#include <default_pars> 4681#include <default_frag_pars> 4682#include <tonemapping_pars_fragment> 4683uniform int uToneMapping;varying vec2 vUv;varying vec2 vScreenSpace;varying vec3 vView;varying vec3 vViewPosition;varying vec3 vPosition;varying vec4 vWorldPosition;varying vec3 vNormal; 4684#ifdef RENDER_CLOUDS 4685uniform vec3 uCloudNoiseScale;uniform float uCloudNoiseSpeed; 4686#else 4687uniform sampler2D tClouds; 4688#endif 4689uniform float uTime;uniform float uColorFresnelAmount;uniform float uColorFresnelOffset;uniform float uColorFresnelFalloff;uniform float uOpacityFresnelAmount;uniform float uOpacityFresnelOffset;uniform float uOpacityFresnelFalloff;uniform bool uDevCameraActive;uniform bool uDebugClouds;uniform vec2 uCloudsSmoothstep;uniform vec3 uCloudsColor;uniform float uOpacity;uniform vec3 uFresnelColor;uniform vec3 uLightPosition;uniform vec3 uLightColor;uniform float uLightIntensity;uniform float uSpecularIntensity;uniform vec3 uLightPosition2;uniform vec3 uLightColor2;uniform float uLightIntensity2;uniform float uSpecularIntensity2;uniform vec3 uAmbientColor;uniform float uShininess;float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}float random(in vec2 st){return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123);}
4689float mod289(float x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 perm(vec4 x){return mod289(((x*34.0)+1.0)*x);}float noise(vec3 p){vec3 a=floor(p);vec3 d=p-a;d=d*d*(3.0-2.0*d);vec4 b=a.xxyy+vec4(0.0,1.0,0.0,1.0);vec4 k1=perm(b.xyxy);vec4 k2=perm(k1.xyxy+b.zzww);vec4 c=k2+a.zzzz;vec4 k3=perm(c);vec4 k4=perm(c+1.0);vec4 o1=fract(k3*(1.0/41.0));vec4 o2=fract(k4*(1.0/41.0));vec4 o3=o2*d.z+o1*(1.0-d.z);vec2 o4=o3.yw*d.x+o3.xz*(1.0-d.x);return o4.y*d.y+o4.x*(1.0-d.y);} 4690#define NUM_OCTAVES 5 4691float fbm(vec3 x){float v=0.0;float a=0.5;vec3 shift=vec3(100);for(int i=0;i<NUM_OCTAVES;++i){v+=a*noise(x);x=x*2.0+shift;a*=0.5;}return v;}vec3 getColorRampColor(float factor,float stop1,float stop2,float stop3,vec3 firstColor,vec3 middleColor,vec3 endColor){vec3 color=mix(firstColor,middleColor,smoothstep(stop1,stop2,factor));color=mix(color,endColor,smoothstep(stop2,stop3,factor));return color;}void main(){ 4692#ifdef RENDER_CLOUDS 4693float cloudsSample=fbm(vec3(vPosition.xyz*uCloudNoiseScale+vec3(0.0,0.0,uTime*uCloudNoiseSpeed)));gl_FragColor=vec4(vec3(cloudsSample),1.0);return; 4694#else 4695vec3 normal=normalize(vNormal);vec3 viewDir=normalize(vView);vec3 lightDir=normalize(uLightPosition-vViewPosition);vec3 ambient=uAmbientColor;float noiseColor=texture2D(tClouds,vScreenSpace).r;float clouds=smoothstep(0.15,0.9,noiseColor);ambient=mix(ambient*uCloudsColor,ambient,clouds);float diff=max(dot(normal,lightDir),0.0);float diff2=max(dot(normal,normalize(uLightPosition2-vViewPosition)),0.0);vec3 diffuse=diff*uLightColor*uLightIntensity;diffuse=mix(diffuse,diff2*uLightColor2*uLightIntensity2,diff2);vec3 reflectDir=reflect(-lightDir,normal);float spec=pow(max(dot(viewDir,reflectDir),0.0),uShininess)*uSpecularIntensity;float spec2=pow(max(dot(viewDir,reflect(-normalize(uLightPosition2-vViewPosition),normal)),0.0),uShininess)*uSpecularIntensity2;vec3 specular=spec*uLightColor;specular=mix(specular,spec2*uLightColor2,spec2);vec3 phongColor=ambient+diffuse+specular;float colorFresnel=fresnelFunc(uColorFresnelAmount,uColorFresnelOffset,uColorFresnelFalloff,normal,viewDir);float opacityFresnel=fresnelFunc(uOpacityFresnelAmount,uOpacityFresnelOffset,uOpacityFresnelFalloff,normal,viewDir);float cloudsAlpha=smoothstep(uCloudsSmoothstep.x,uCloudsSmoothstep.y,noiseColor);gl_FragColor.rgb=vec3(mix(phongColor,uFresnelColor,colorFresnel));gl_FragColor.a=max(cloudsAlpha*uOpacity,opacityFresnel);if(uDebugClouds){gl_FragColor.rgb=vec3(cloudsAlpha);gl_FragColor.a=1.0;} 4696#include <tonemapping_frag> 4697#include <colorspace_fragment> 4698#endif 4699}`;class Ace extends is{constructor(e={}){e=An({vertexShader:mce,fragmentShader:gce,uniforms:{uColorFresnelAmount:{value:0,gui:{min:0,max:100,step:.01}},uColorFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uColorFresnelFalloff:{value:1,gui:{min:0,max:100,step:.01}},uOpacityFresnelAmount:{value:1.82,gui:{min:0,max:100,step:.01}},uOpacityFresnelOffset:{value:.009,gui:{min:0,max:1,step:.001}},uOpacityFresnelFalloff:{value:1.75,gui:{min:0,max:100,step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}},uFresnelColor:{value:new ke(16777215)},uAmbientColor:{value:new ke(4210752)},uCloudsColor:{value:new ke(0)},tClouds:{value:null},uDebugClouds:{value:!1},uCloudsSmoothstep:{value:new Re(.1,.6),gui:{min:0,max:1,step:.01}},uCloudNoiseScale:{value:new K(5,5,5),gui:{min:0,step:.1}},uCloudNoiseSpeed:{value:.1,gui:{min:0,max:1,step:.01}},uShininess:{value:30,gui:{min:0,max:200,step:1}},uLightPosition:{value:new K(1,1,1)},uLightPosition2:{value:new K(1,1,1)},uLightIntensity:{value:1,gui:{min:0,max:2,step:.01}},uSpecularIntensity:{value:1,gui:{min:0,max:2,step:.01}},uLightColor:{value:new ke(16777215)},uLightIntensity2:{value:1,gui:{min:0,max:2,step:.01}},uSpecularIntensity2:{value:1,gui:{min:0,max:2,step:.01}},uLightColor2:{value:new ke(16777215)}},defines:{RENDER_CLOUDS:!1},transparent:!0,depthWrite:!1},e),super(e)}}class vce extends uo(Qe){constructor(){super({name:"Landing Orb",scrollResponsiveness:.05,scrollMaxSpeed:3},new Hd(1,32,32),new Jr),this.scale.setScalar(3),this.speed=.002,this.scrollSpeedMultiplier=1}build(){var t;const e=S.WebGL.renderer.getPixelRatio();this.cloudsRT=new li(S.window.w*e,S.window.h*e,{minFilter:Yt,maxfilter:Yt}),(t=S.WebGL.rtViewer)==null||t.registerRT(this.cloudsRT,"clouds"),this.mainMaterial=new Ace,this.material=this.mainMaterial,this.cloudsMaterial=new Cn({vertexShader:this.mainMaterial.vertexShader,fragmentShader:this.mainMaterial.fragmentShader,uniforms:this.mainMaterial.uniforms,defines:{RENDER_CLOUDS:!0}})}update(){this.updateScrollRotation(this.parent.scrollVelocity),this.rotation.y+=this.speed*this.scrollSpeedMultiplier,this.material=this.cloudsMaterial;const e=S.WebGL.renderer.getRenderTarget();S.WebGL.renderer.setRenderTarget(this.cloudsRT),S.WebGL.renderer.render(this,this.parent.activeCamera),S.WebGL.renderer.setRenderTarget(e),this.material=this.mainMaterial,this.mainMaterial.uniforms.tClouds.value=this.cloudsRT.texture}updateScrollRotation(e){this.scrollSpeedMultiplier=1+Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,1,this.options.scrollMaxSpeed)}resize(){const e=S.WebGL.renderer.getPixelRatio();this.cloudsRT.setSize(S.window.w*e,S.window.h*e)}load(){}addGui(){const e={rotationSpeed:Te.types.number(this.speed,{label:"Rotation Speed",nudgeMultiplier:.001,range:[-.1,.1]})};S.theatre.helper.autoAddObject(this,this.parent.prettyName,{additionalConfig:e}).onValuesChange(i=>{this.speed=i.rotationSpeed},S.theatre.rafDriver)}destroy(){super.destroy(),this.parent.remove(this),this.geometry.dispose(),this.mainMaterial.dispose(),this.cloudsMaterial.dispose(),this.cloudsRT.dispose(),this.scrollSpeedMultiplier=1}}var yce=`#include <default_pars> 4700varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform float uTime;uniform float uNormalizedDelta;uniform float uIntroAnimation;uniform float uDecay;uniform float uLerpSpeed;uniform sampler2D tFluidSim;uniform float uFluidStrength;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uSetup;float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}vec2 fade(vec2 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec2 P){vec4 Pi=floor(P.xyxy)+vec4(0.0,0.0,1.0,1.0);vec4 Pf=fract(P.xyxy)-vec4(0.0,0.0,1.0,1.0);Pi=mod(Pi,289.0);vec4 ix=Pi.xzxz;vec4 iy=Pi.yyww;vec4 fx=Pf.xzxz;vec4 fy=Pf.yyww;vec4 i=permute(permute(ix)+iy);vec4 gx=2.0*fract(i*0.0243902439)-1.0;vec4 gy=abs(gx)-0.5;vec4 tx=floor(gx+0.5);gx=gx-tx;vec2 g00=vec2(gx.x,gy.x);vec2 g10=vec2(gx.y,gy.y);vec2 g01=vec2(gx.z,gy.z);vec2 g11=vec2(gx.w,gy.w);vec4 norm=1.79284291400159-0.85373472095314*vec4(dot(g00,g00),dot(g01,g01),dot(g10,g10),dot(g11,g11));g00*=norm.x;g01*=norm.y;g10*=norm.z;g11*=norm.w;float n00=dot(g00,vec2(fx.x,fy.x));float n10=dot(g10,vec2(fx.y,fy.y));float n01=dot(g01,vec2(fx.z,fy.z));float n11=dot(g11,vec2(fx.w,fy.w));vec2 fade_xy=fade(Pf.xy);vec2 n_x=mix(vec2(n00,n01),vec2(n10,n11),fade_xy.x);float n_xy=mix(n_x.x,n_x.y,fade_xy.y);return 2.3*n_xy;}mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}void main(){vec2 uv=vUv;mat3 rotation3D=rotate3D(0.001*uNormalizedDelta,vec3(0.0,0.0,1.0));vec4 originalPosFetch=texture2D(tOriginalTexture,uv);vec3 offsets=originalPosFetch.xyz;float angle=originalPosFetch.w;float randomIndex=rand(vUv);float randomIndex2=rand(vUv+484854.);vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;float life=position.w;currentPos=rotation3D*currentPos;if(uSetup>0.5){gl_FragColor=vec4(offsets+normalize(offsets)*angle*map(randomIndex,0.0,1.0,0.1,0.6),cnoise(uv*50.+vec2(uv.x,2.0))*0.5+0.5);return;}if(life<0.0){gl_FragColor=vec4(offsets,1.0);return;}vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(currentPos,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;vec3 direction=normalize(offsets);
4700currentPos+=direction*uNormalizedDelta*uLerpSpeed*0.1*angle*map(randomIndex,0.0,1.0,0.1,0.6)*uIntroAnimation;vec3 fluidDisplacement=vec3(0.);fluidDisplacement=texture2D(tFluidSim,screenPos).rgb;fluidDisplacement.z*=-1.+1.;life-=uDecay*uNormalizedDelta*0.1*(randomIndex2*0.5+0.5);gl_FragColor=vec4(currentPos+fluidDisplacement*uFluidStrength,life);}`,_ce=`#include <default_pars> 4701#include <packing> 4702#ifdef DYNAMIC_SHADOWS 4703#include <shadowmap_pars_vertex> 4704#endif 4705attribute vec3 aRandom;attribute float aScale;attribute vec2 aFboUv;varying float vColorMix;varying vec2 vUv;varying vec2 vFboUv;uniform sampler2D tPosition;uniform float uTime;uniform float uParticleSize;uniform vec2 uScaleRange;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying float vCenterFade;varying vec2 vScreenSpace;varying vec3 vViewPosition;varying vec3 vPosition;varying vec3 vNormal;varying vec4 vWorldPosition;varying vec3 vRandom;varying float vLife;uniform vec2 uCenterFade; 4706#ifdef DEPTH_PACKING 4707varying vec2 vHighPrecisionZW; 4708#endif 4709mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vUv=uv;vFboUv=aFboUv;vRandom=aRandom;vec4 particlePosition=texture2D(tPosition,aFboUv);vLife=particlePosition.w;vec4 transformedPosition=vec4(position,1.0);vec3 up=vec3(modelViewMatrix[0][1],modelViewMatrix[1][1],modelViewMatrix[2][1]);vec3 right=vec3(modelViewMatrix[0][0],modelViewMatrix[1][0],modelViewMatrix[2][0]);transformedPosition.xyz=right*transformedPosition.x+up*transformedPosition.y; 4710#ifdef USE_INSTANCING 4711transformedPosition=instanceMatrix*transformedPosition; 4712#endif 4713float scale=uParticleSize*aScale;scale*=mix(uScaleRange.x,uScaleRange.y,aRandom.x);scale*=mix(1.0,0.0,smoothstep(0.8,1.0,particlePosition.w));scale*=mix(0.0,1.0,smoothstep(0.0,0.40,particlePosition.w));transformedPosition.xyz*=scale;transformedPosition.xyz+=particlePosition.xyz;vPosition=transformedPosition.xyz;vec4 worldPosition=modelMatrix*transformedPosition;vWorldPosition=worldPosition;mat3 normalMatrixInverse=inverse(mat3(normalMatrix));vNormalMatrix=normalMatrix;vNormalMatrixInverse=normalMatrixInverse;vec3 transformedNormal=normal; 4714#ifdef USE_INSTANCING 4715mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal; 4716#endif 4717transformedNormal=normalMatrix*normal;vNormal=normalize(transformedNormal); 4718#ifdef DYNAMIC_SHADOWS 4719#include <shadowmap_vertex> 4720#endif 4721vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;vViewPosition=-mvPosition.xyz; 4722#ifdef DEPTH_PACKING 4723vHighPrecisionZW=gl_Position.zw; 4724#endif 4725vScreenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);vCenterFade=smoothstep(uCenterFade.x,uCenterFade.y,length(vPosition.xyz));}`,bce=`#include <default_pars> 4726#include <default_frag_pars> 4727#include <packing> 4728varying vec3 vRandom;varying vec2 vUv;varying float vLife;varying vec2 vFboUv;varying float vColorMix;varying float vCenterFade;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying vec3 vViewPosition;varying vec3 vPosition;varying vec2 vScreenSpace;varying vec3 vNormal;varying vec4 vWorldPosition;uniform vec3 uColor;uniform vec3 uBloomColor;uniform float uOpacity; 4729#ifdef DYNAMIC_SHADOWS 4730uniform bool uDebugShadow;uniform bool receiveShadow; 4731#include <shadowmap_pars_fragment> 4732#include <shadowmask_pars_fragment> 4733uniform vec3 uShadowColor;uniform vec3 uShadowColor2;uniform float uShadowIntensity; 4734#endif 4735#ifdef DEPTH_PACKING 4736varying vec2 vHighPrecisionZW; 4737#endif 4738float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float circle(in vec2 _st,in float _radius,in float _blur){vec2 dist=_st-vec2(0.5);return 1.-smoothstep(_radius-(_radius*_blur),_radius+(_radius*0.01),dot(dist,dist)*4.0);}void main(){float alpha=1.0-step(0.9,2.0*length(vUv-0.5));if(alpha<0.5)discard; 4739#ifdef DEPTH_PACKING
4740gl_FragColor=vec4(vec3(1.),1.0); 4741#else 4742gl_FragColor=vec4(uColor+uBloomColor,vCenterFade*uOpacity); 4743#endif 4744#ifdef DEPTH_PACKING 4745float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=packDepthToRGBA(fragCoordZ); 4746#else 4747#ifdef DYNAMIC_SHADOWS 4748gl_FragColor.rgb=mix(gl_FragColor.rgb,gl_FragColor.rgb*mix(uShadowColor,uShadowColor2,vColorMix),(1.0-getShadowMask())*uShadowIntensity);if(uDebugShadow){gl_FragColor.rgb=vec3(getShadowMask());} 4749#endif 4750#endif 4751#include <tonemapping_fragment> 4752#include <colorspace_fragment> 4753}`;class xce extends is{constructor(e={}){e=An({vertexShader:_ce,fragmentShader:bce,uniforms:{tPosition:{value:null},uParticleSize:{value:.25,gui:{step:.01}},uScaleRange:{value:new Re(.5,1),gui:{min:0,max:5,step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}},uCenterFade:{value:new Re(.5,1),gui:{min:0,max:5,step:.01}},uColor:{value:new ke(16777215)},uBloomColor:{value:new K(1,.4,.7),gui:{min:0,max:5,step:.01}}},defines:{DEPTH_PACKING:!1,DYNAMIC_SHADOWS:!1},depthTest:!0,transparent:!0},e),super(e)}}const Cce=function(){let t=1,i=1;const r=[];for(let a=0;a<256;++a)r.push(Math.random());const s=function(a){const l=a*i,c=Math.floor(l),u=l-c,f=u*u*(3-2*u),h=c&255,p=h+1&255;return o(r[h],r[p],f)*t},o=function(a,l,c){return a*(1-c)+l*c};return{getVal:s,setAmplitude:function(a){t=a},setScale:function(a){i=a}}};class wce extends uo(){constructor(e={}){e=An({name:"LandingOrbFlareParticles",textureWidth:96,maxParticleCount:96*96,planeScale:.1},e),super(e),this._textureWidth=this.options.textureWidth,this.PARTICLE_COUNT=this._textureWidth*this._textureWidth,this.ACTIVE_PARTICLE_COUNT=this.PARTICLE_COUNT>this.options.maxParticleCount?this.options.maxParticleCount:this.PARTICLE_COUNT,this.sizeRange=[.5,1]}build(){this.positionSim=new Qr({fragmentShader:yce,width:this._textureWidth,height:this._textureWidth,uniforms:{uSetup:{value:1},uDecay:{value:.01,gui:{min:0,max:1,step:.001}},uLerpSpeed:{value:.2,gui:{min:0,max:1,step:.001}},uIntroAnimation:{value:1},tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!0,data:this.createParticlePositionData(),type:Zt}),this.positionSim.uniforms.uSetup.value=0,this.mesh=new Tp(new lo(this.options.planeScale,this.options.planeScale),new xce({uniforms:{tPosition:{value:this.positionSim.texture}}}),this.ACTIVE_PARTICLE_COUNT),this.add(this.mesh),this.mesh.name=this.options.name,this.mesh.frustumCulled=!1;const e=[],t=new Float32Array(this.ACTIVE_PARTICLE_COUNT),i=new Wt;for(let r=0;r<this.ACTIVE_PARTICLE_COUNT;r++)i.updateMatrix(),this.mesh.setMatrixAt(r,i.matrix),e.push(Math.random(),Math.random(),Math.random()),t[r]=gn.randFloat(this.sizeRange[0],this.sizeRange[1]);this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(e),3)),this.mesh.geometry.setAttribute("aScale",new Ro(t,1)),this.mesh.updateMatrix(),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld}createParticlePositionData(){const e=new Float32Array(this._textureWidth*this._textureWidth*4),t=2.9,i=new Cce;for(let r=0,s=this._textureWidth*this._textureWidth*4;r<s;r+=4){const o=Math.random(),a=r/s*Math.PI*2,l=.1,c=Math.cos(a)*t,u=Math.sin(a)*t,f=Math.sin(o*Math.PI*2)*l;e[r]=c,e[r+1]=u,e[r+2]=f,e[r+3]=gn.mapLinear(i.getVal(a*Math.PI*7),0,1,.2,1.25)}return e}update(){this.positionSim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.positionSim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.positionSim.uniforms.uViewM
4753atrix.value.copy(this.parent.activeCamera.matrixWorldInverse),this.positionSim.uniforms.uProjectionMatrix.value.copy(this.parent.activeCamera.projectionMatrix),this.positionSim.update(),this.mesh.material.uniforms.tPosition.value=this.positionSim.texture}addGui(){const e={count:Te.types.number(this.mesh.count,{label:"Particle Count",nudgeMultiplier:1,range:[0,this.ACTIVE_PARTICLE_COUNT]}),simulation:{}},t=["uShapeThreshold","tClouds",...Object.keys(this.parent.globalUniforms.sun),...Object.keys(this.parent.globalUniforms.shadow)],i=["uSetup","uTexelSize","tVelocity","tPosition","uIntroAnimation"],r=S.theatre.helper.autoAddUniforms(e.simulation,this.positionSim.uniforms,i);S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{exclude:t,additionalConfig:e}).onValuesChange(o=>{for(let a=0;a<r.length;a++)r[a](this,o.simulation);this.mesh.count=o.count},S.theatre.rafDriver)}load(){}}const{lockScroll:Sce,unlockScroll:Ece}=wA();class Tce extends cc{constructor(){super("landing-orb",{domId:"landing"}),Object.assign(this.components,{orb:new vce,particles:new pce,flares:new wce}),Object.assign(this.globalUniforms,{shadow:{uShadowColor:{value:new ke(0)},uShadowColor2:{value:new ke(0)},uShadowIntensity:{value:.75}},sun:{uLightPosition:{value:new K(1,1,1)},uLightPosition2:{value:new K(1,1,1)}}}),this.scrollVelocity=0}start(){var e;super.start(),(e=this.introAnimation)==null||e.play(),S.theatre.objects[this.prettyName]["Post FX"]&&this.updatePostFXValuesFromTheatre(S.theatre.objects[this.prettyName]["Post FX"].value)}build(){super.build(),this.buildLights();const e={shadowColor:S.theatre.helper.parseColor(this.globalUniforms.shadow.uShadowColor.value,"shadow color"),shadowColor2:S.theatre.helper.parseColor(this.globalUniforms.shadow.uShadowColor2.value,"shadow color 2"),shadowIntensity:Te.types.number(this.globalUniforms.shadow.uShadowIntensity.value,{label:"shadow intensity",range:[0,1],nudgeMultiplier:.01}),sunPosition:Te.types.compound({x:Te.types.number(this.sun.position.x,{nudgeMultiplier:.1}),y:Te.types.number(this.sun.position.y,{nudgeMultiplier:.1}),z:Te.types.number(this.sun.position.z,{nudgeMultiplier:.1})}),dirLight2position:Te.types.compound({x:Te.types.number(this.dirLight2.position.x,{nudgeMultiplier:.1}),y:Te.types.number(this.dirLight2.position.y,{nudgeMultiplier:.1}),z:Te.types.number(this.dirLight2.position.z,{nudgeMultiplier:.1})}),shadowCamera:Te.types.compound({near:Te.types.number(this.sun.shadow.camera.near,{nudgeMultiplier:.1}),far:Te.types.number(this.sun.shadow.camera.far,{nudgeMultiplier:.1}),left:Te.types.number(this.sun.shadow.camera.left,{nudgeMultiplier:.1}),right:Te.types.number(this.sun.shadow.camera.right,{nudgeMultiplier:.1}),top:Te.types.number(this.sun.shadow.camera.top,{nudgeMultiplier:.1}),bottom:Te.types.number(this.sun.shadow.camera.bottom,{nudgeMultiplier:.1}),bias:Te.types.number(this.sun.shadow.bias,{nudgeMultiplier:1e-4}),normalBias:Te.types.number(this.sun.shadow.normalBias,{nudgeMultiplier:1e-4}),blurSamples:Te.types.number(this.sun.shadow.blurSamples,{nudgeMultiplier:1})}),shadowRadius:Te.types.number(this.sun.shadow.radius,{nudgeMultiplier:.1})};S.theatre.helper.addStudioSheetObject(this.prettyName,"Sun and Shadow",{visible:Te.types.boolean(this.sunHelper.visible,{label:"sun helper"}),shadowHelper:Te.types.boolean(this.sunShadowHelper.visible,{label:"shadow helper"}),dirLight2HelperVisible:Te.types.boolean(this.dirLight2Helper.visible,{label:"directional light 2 helper"})}).onValuesChange(r=>{this.dirLight2Helper.visible=r.dirLight2HelperVisible,this.dirLight2Helper.update(),this.sunHelper.visible=r.visible,this.sunShadowHelper.visible=r.shadowHelper,this.sunHelper.update(),this.sunShadowHelper.update()},S.theatre.rafDriver),S.theatre.helper.addSheetObject(this.prettyName,"Sun and Shadow",e,this).onValuesChange(r=>{this.globalUniforms.shadow.uShadowColor.value.copy(r.shadowColor),this.globalUniforms.shadow.uShadowColor2.value.copy(r.shadowColor2),this.globalUniforms.shadow.uShadowIntensity.value=r.shadowIntensity,this.sun.position.set(r.sunPosition.x,r.sunPosition.y,r.sunPosition.z),this.dirLight2.position.set(r.dirLight2position.x,r.dirLight2position.y,r.dirLight2position.z),this.dirLight2Helper.update(
4753),this.sun.shadow.camera.near=r.shadowCamera.near,this.sun.shadow.camera.far=r.shadowCamera.far,this.sun.shadow.camera.left=r.shadowCamera.left,this.sun.shadow.camera.right=r.shadowCamera.right,this.sun.shadow.camera.top=r.shadowCamera.top,this.sun.shadow.camera.bottom=r.shadowCamera.bottom,this.sun.shadow.bias=r.shadowCamera.bias,this.sun.shadow.normalBias=r.shadowCamera.normalBias,this.sun.shadow.blurSamples=r.shadowCamera.blurSamples,this.sun.shadow.radius=r.shadowRadius,this.sun.shadow.camera.updateProjectionMatrix(),this.sun.shadow.needsUpdate=!0,S.WebGL.renderer.shadowMap.needsUpdate=!0,this.sunHelper.update(),this.sunShadowHelper.update()},S.theatre.rafDriver)}buildLights(){this.dirLight2=new jg(16777215,1),this.dirLight2.position.copy(this.globalUniforms.sun.uLightPosition2.value),this.dirLight2.target.position.set(0,0,0),this.add(this.dirLight2.target),this.add(this.dirLight2),this.dirLight2Helper=new JS(this.dirLight2),this.dirLight2Helper.visible=!1,this.add(this.dirLight2Helper),this.sun=new jg(16777215,1),this.sun.shadow.autoUpdate=!0,this.sun.position.copy(this.globalUniforms.sun.uLightPosition.value),this.sun.target.position.set(0,0,0),this.sun.castShadow=!1,this.sun.shadow.mapSize.width=S.breakpoints.is("touch")?1024:2048,this.sun.shadow.mapSize.height=S.breakpoints.is("touch")?1024:2048,this.sun.shadow.camera.near=7.3,this.sun.shadow.camera.far=60,this.sun.shadow.camera.left=-9,this.sun.shadow.camera.right=9,this.sun.shadow.camera.top=11,this.sun.shadow.camera.bottom=-7,this.sun.shadow.blurSamples=6,this.sun.shadow.radius=2.3,this.sun.shadow.bias=-.001,this.sun.shadow.normalBias=0,this.add(this.sun),this.add(this.sun.target),this.sunHelper=new JS(this.sun),this.sunHelper.visible=!1,this.add(this.sunHelper),this.sunShadowHelper=new f4(this.sun.shadow.camera),this.sunShadowHelper.visible=!1,this.add(this.sunShadowHelper)}updateLightandShadowUniforms(){this.globalUniforms.sun.uLightPosition.value.copy(this.sun.position),this.globalUniforms.sun.uLightPosition2.value.copy(this.dirLight2.position)}buildScrollAnimation(){var i;if(S.urlParams.has("scene"))return;const t=(i=UA(NA).theme)==null?void 0:i.screens;this.mm=dr.matchMedia(),this.mm.add({isDesktop:S.breakpoints.mediaQueries.md.media,isMobile:`(max-width: ${Number.parseInt(t.md)-1}px)`},r=>(this.scrollAnimation=dr.timeline({defaults:{duration:1.5,ease:(r.conditions.isDesktop,"power1.inOut")}}),this.introAnimation=dr.timeline({onStart:()=>{Sce()},defaults:{duration:4,ease:(r.conditions.isDesktop,"power2.out")}}),r.conditions.isDesktop?(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:3.1,z:16.6},{x:3,y:-2,z:12,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"]`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top top",end:"center center",scrub:!0}},0),this.introAnimation.fromTo(this.components.particles.mesh.position,{y:-4,z:8},{y:0,z:0,delay:.6},0),this.introAnimation.fromTo(this.components.orb.position,{y:-4,z:8},{y:0,z:0,delay:.6},0),this.introAnimation.fromTo(this.components.flares.mesh.position,{y:-4,z:8},{y:0,z:0,delay:.6},0),this.introAnimation.fromTo(this.components.particles.mesh.rotation,{x:2},{x:0},"<+0.2"),this.introAnimation.fromTo(this.components.orb.rotation,{x:2},{x:0},"<"),this.introAnimation.fromTo(this.components.flares.positionSim.uniforms.uIntroAnimation,{value:4},{value:1,duration:3},"<")):(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:2.5,z:11},{x:1,y:-2.2,z:10,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"]`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top top",end:"bottom bottom-=15%",scrub:!0}},0),this.introAnimation.fromTo(this.components.particles.mesh.position,{y:-4,z:7},{y:0,z:0,delay:.5},0),this.introAnimation.fromTo(this.components.orb.position,{y:-4,z:7},{y:0,z:0,delay:.5},0),this.introAnimation.fromTo(this.components.flares.mesh.position,{y:-4,z:7},{y:0,z:0,delay:.5},0),this.introAnimation.fromTo(this.components.particles.mesh.rotation,{x:1.6},{x:0},"<+0.2"),this.introAnimation.fromTo(this.components.orb.rotation,{x:1.6},{x:0},"<"),this.introAnimation.fromTo(this.components.flares.positionSim.uniforms.uIntroAnimation,{value:2.5},{value:1,duration:3},"<")),this.introAnimation.call(()=>{Ece()},null,">-=1"),this.sectionScroll=Pt.create({trigger:`[data-webgl-section="${this.options.domId}"]`,start:"top top",end:"bottom bottom",scrub:!0}),()=>{this.scrollAnimation.kill(),this.sectionScroll.kill()}))}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.03)),this.updateLightandShadowUniforms(),super.update(
4753)}buildShadowPreviewMesh(){const e=` 4754 varying vec2 vUv; 4755 4756 void main() { 4757 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4758 vUv = uv; 4759 } 4760 `,t=` 4761 #include <common> 4762 #include <packing> 4763 4764 uniform sampler2D uDepthTexture; 4765 4766 varying vec2 vUv; 4767 4768 void main() { 4769 4770 float depth = 1.0 - unpackRGBAToDepth( texture2D( uDepthTexture, vUv ) ); 4771 gl_FragColor = vec4( vec3( depth ), 1.0 ); 4772 4773 } 4774 `;this.shadowPreviewMesh=new Qe(new lo,new Cn({vertexShader:e,fragmentShader:t,uniforms:{uDepthTexture:{value:null}},transparent:!0,depthTest:!1})),this.shadowPreviewMesh.name="Shadow Preview",this.shadowPreviewMesh.renderOrder=1e3,this.shadowPreviewMesh.position.set(-1.16,.8,-5),this.shadowPreviewMesh.visible=!0,this.cameras.camera1.add(this.shadowPreviewMesh),this.add(this.cameras.camera1)}destroy(){super.destroy(),this.scrollVelocity=0}}const Mce=`{ 4775 "camera":{ 4776 "focal-length":50.0, 4777 "film-gauge":36.0, 4778 "ui-markers":0.0, 4779 "key-stops":0.0, 4780 "cam_marker":0.0, 4781 "tgt_marker":0.0 4782 }, 4783 "objects":{}, 4784 "grouped-objects":{}, 4785 "paths":{ 4786 "hover-001":[ 4787 [ 4788 [ 4789 0.9181, 4790 -0.3338, 4791 -1.8907 4792 ], 4793 [ 4794 1.5041, 4795 0.4792, 4796 -1.4342 4797 ], 4798 [ 4799 1.7121, 4800 -0.5664, 4801 -1.136 4802 ] 4803 ], 4804 { 4805 "attributes":{} 4806 } 4807 ], 4808 "hover-002":[ 4809 [ 4810 [ 4811 -2.0538, 4812 -0.3082, 4813 0.4846 4814 ], 4815 [ 4816 -1.7188, 4817 0.5329, 4818 1.1379 4819 ], 4820 [ 4821 -1.0835, 4822 -0.3694, 4823 1.7949 4824 ], 4825 [ 4826 -1.8519, 4827 0.0067, 4828 1.0503 4829 ], 4830 [ 4831 -2.031, 4832 0.3188, 4833 0.5626 4834 ], 4835 [ 4836 -1.8205, 4837 0.9241, 4838 0.6021 4839 ] 4840 ], 4841 { 4842 "attributes":{} 4843 } 4844 ], 4845 "hover-003":[ 4846 [ 4847 [ 4848 0.5359, 4849 -1.7443, 4850 1.098 4851 ], 4852 [ 4853 0.5944, 4854 -1.3142, 4855 1.5696 4856 ], 4857 [ 4858 0.0137, 4859 -1.9162, 4860 0.9312 4861 ] 4862 ], 4863 { 4864 "attributes":{} 4865 } 4866 ], 4867 "hover-004":[ 4868 [ 4869 [ 4870 -1.4882, 4871 -1.0691, 4872 1.0902 4873 ], 4874 [ 4875 -1.8515, 4876 -0.9329, 4877 0.4858 4878 ], 4879 [ 4880 -1.4573, 4881 -1.4493, 4882 0.5641 4883 ] 4884 ], 4885 { 4886 "attributes":{} 4887 } 4888 ], 4889 "hover-005":[ 4890 [ 4891 [ 4892 1.4513, 4893 -1.4582, 4894 0.5608 4895 ], 4896 [ 4897 0.6833, 4898 -2.0172, 4899 -0.0087 4900 ], 4901 [ 4902 1.4992, 4903 -1.4312, 4904 -0.4887 4905 ], 4906 [ 4907 0.8959, 4908 -1.8679, 4909 -0.493 4910 ], 4911 [ 4912 1.7061, 4913 -1.2733, 4914 0.0182 4915 ] 4916 ], 4917 { 4918 "attributes":{} 4919 } 4920 ], 4921 "hover-006":[ 4922 [ 4923 [ 4924 -0.9318, 4925 -1.849, 4926 -0.5093 4927 ], 4928 [ 4929 -0.9615, 4930 -1.8028, 4931 0.5956 4932 ], 4933 [ 4934 -0.9318, 4935 -1.849, 4936 -0.5093 4937 ], 4938 [ 4939 -1.4943, 4940 -1.0769, 4941 -1.0709 4942 ], 4943 [ 4944 -0.9105, 4945 -1.2834, 4946 -1.4377 4947 ] 4948 ], 4949 { 4950 "attributes":{} 4951 } 4952 ], 4953 "hover-007":[ 4954 [ 4955 [ 4956 -1.457, 4957 -1.4604, 4958 -0.5276 4959 ], 4960 [ 4961 -0.6698, 4962 -2.0231, 4963 -0.021 4964 ], 4965 [ 4966 -0.5656, 4967 -1.7456, 4968 -1.0848 4969 ], 4970 [ 4971 -0.9105, 4972 -1.2834, 4973 -1.4377 4974 ], 4975 [ 4976 -1.2559, 4977 -0.7166, 4978 -1.567 4979 ] 4980 ], 4981 { 4982 "attributes":{} 4983 } 4984 ], 4985 "hover-008":[ 4986 [ 4987 [ 4988 -0.5716, 4989 -1.7489, 4990 1.0764 4991 ], 4992 [ 4993 -0.0301, 4994 -1.1102, 4995 1.8168 4996 ] 4997 ], 4998 { 4999 "attributes":{} 5000 } 5001 ], 5002 "hover-009":[ 5003 [ 5004 [ 5005 -1.8247, 5006 -0.5638, 5007 0.9423 5008 ], 5009 [ 5010 -1.0922, 5011 -0.9519, 5012 1.5636 5013 ], 5014 [ 5015 -0.5671, 5016 -1.3469, 5017 1.5486 5018 ] 5019 ], 5020 { 5021 "attributes":{} 5022 } 5023 ], 5024 "hover-011":[ 5025 [ 5026 [ 5027 1.8344, 5028 -0.9634, 5029 0.5044 5030 ], 5031 [ 5032 1.4999, 5033 -0.4955, 5034 1.4329 5035 ], 5036 [ 5037 1.4461, 5038 0.1656, 5039 1.5562 5040 ], 5041 [ 5042 1.806, 5043 -0.619, 5044 0.9428 5045 ], 5046 [ 5047 1.085, 5048 -0.9419, 5049 1.5728 5050 ] 5051 ], 5052 { 5053 "attributes":{} 5054 } 5055 ], 5056 "hover-012":[ 5057 [ 5058 [ 5059 2.031, 5060 0.647, 5061 0.0365 5062 ], 5063 [ 5064 1.7428, 5065 0.5294, 5066 1.0997 5067 ], 5068 [ 5069 0.9764, 5070 0.3109, 5071 1.8659 5072 ] 5073 ], 5074 { 5075 "attributes":{} 5076 } 5077 ], 5078 "hover-013":[ 5079 [ 5080 [ 5081 1.8295, 5082 0.9603, 5083 -0.5191 5084 ], 5085 [ 5086 1.8315, 5087 0.902, 5088 0.6023 5089 ] 5090 ], 5091 { 5092 "attributes":{} 5093 } 5094 ], 5095 "hover-014":[ 5096 [ 5097 [ 5098 0.9415, 5099 1.8475, 5100 0.4931 5101 ], 5102 [ 5103 0.0335, 5104 1.8182, 5105 1.1063 5106 ] 5107 ], 5108 { 5109 "attributes":{} 5110 } 5111 ], 5112 "hover-015":[ 5113 [ 5114 [ 5115 0.5902, 5116 1.7535, 5117 1.0556 5118 ], 5119 [ 5120 0.6315, 5121 0.9307, 5122 1.8069 5123 ] 5124 ], 5125 { 5126 "attributes":{} 5127 } 5128 ], 5129 "hover-016":[ 5130 [ 5131 [ 5132 0.5807, 5133 -0.7692, 5134 1.8982 5135 ], 5136 [ 5137 0.0041, 5138 -0.0253, 5139 2.1306 5140 ], 5141 [ 5142 0.3255, 5143 0.4854, 5144 2.049 5145 ], 5146 [ 5147 -0.5526, 5148 -0.16, 5149 2.052 5150 ] 5151 ], 5152 { 5153 "attributes":{} 5154 } 5155 ], 5156 "hover-017":[ 5157 [ 5158 [ 5159 -0.3162, 5160 0.4911, 5161 2.0472 5162 ], 5163 [ 5164 -1.2548, 5165 0.7317, 5166 1.5639 5167 ], 5168 [ 5169 -0.9522, 5170 0.278, 5171 1.8849 5172 ], 5173 [ 5174 -1.4416, 5175 0.1805, 5176 1.5558 5177 ] 5178 ], 5179 { 5180 "attributes":{} 5181 } 5182 ], 5183 "hover-018":[ 5184 [ 5185 [ 5186 1.6981, 5187 1.2814, 5188 0.0206 5189 ], 5190 [ 5191 0.9406, 5192 1.831, 5193 -0.5549 5194 ], 5195 [ 5196 0.5353, 5197 1.7501, 5198 -1.0914 5199 ], 5200 [ 5201 1.4351, 5202 1.4695, 5203 -0.5736 5204 ], 5205 [ 5206 0.6858, 5207 2.0145, 5208 0.0293 5209 ], 5210 [ 5211 1.4914, 5212 1.433, 5213 0.5084 5214 ] 5215 ], 5216 { 5217 "attributes":{} 5218 } 5219 ], 5220 "hover-019":[ 5221 [ 5222 [ 5223 1.806, 5224 -0.619, 5225 0.9428 5226 ], 5227 [ 5228 2.028, 5229 0.3274, 5230 0.5735 5231 ], 5232 [ 5233 2.0406, 5234 0.3192, 5235 -0.5214 5236 ], 5237 [ 5238 2.028, 5239 0.3274, 5240 0.5735 5241 ], 5242 [ 5243 1.4831, 5244 1.1, 5245 1.0657 5246 ] 5247 ], 5248 { 5249 "attributes":{} 5250 } 5251 ], 5252 "hover-020":[ 5253 [ 5254 [ 5255 2.0406, 5256 0.3192, 5257 -0.5214 5258 ], 5259 [ 5260 1.5003, 5261 1.0448, 5262 -1.0928 5263 ], 5264 [ 5265 1.8524, 5266 0.0364, 5267 -1.0472 5268 ], 5269 [ 5270 1.8223, 5271 -0.9494, 5272 -0.5568 5273 ], 5274 [ 5275 2.13, 5276 0.0061, 5277 -0.0266 5278 ] 5279 ], 5280 { 5281 "attributes":{} 5282 } 5283 ], 5284 "hover-021":[ 5285 [ 5286 [ 5287 0.5353, 5288 1.7501, 5289 -1.0914 5290 ], 5291 [ 5292 1.0863, 5293 0.9702, 5294 -1.5587 5295 ] 5296 ], 5297 { 5298 "attributes":{} 5299 } 5300 ], 5301 "hover-022":[ 5302 [ 5303 [ 5304 -1.2774, 5305 1.6989, 5306 -0.0774 5307 ], 5308 [ 5309 -1.8364, 5310 0.9651, 5311 -0.4971 5312 ], 5313 [ 5314 -0.3213, 5315 2.0427, 5316 -0.5122 5317 ], 5318 [ 5319 -1.2774, 5320 1.6989, 5321 -0.0774 5322 ], 5323 [ 5324 -1.1242, 5325 1.5463, 5326 0.946 5327 ] 5328 ], 5329 { 5330 "attributes":{} 5331 } 5332 ], 5333 "hover-023":[ 5334 [ 5335 [ 5336 0.5941, 5337 1.3494, 5338 -1.5352 5339 ], 5340 [ 5341 0.0252, 5342 1.1029, 5343 -1.8213 5344 ], 5345 [ 5346 -0.5979, 5347 0.8052, 5348 -1.8815 5349 ], 5350 [ 5351 -0.5907, 5352 1.3467, 5353 -1.5403 5354 ], 5355 [ 5356 0.0252, 5357 1.1029, 5358 -1.8213 5359 ], 5360 [ 5361 0.0084, 5362 1.594, 5363 -1.4118 5364 ] 5365 ], 5366 { 5367 "attributes":{} 5368 } 5369 ], 5370 "hover-024":[ 5371 [ 5372 [ 5373 -1.0463, 5374 1.4486, 5375 -1.1543 5376 ], 5377 [ 5378 -0.9311, 5379 1.8353, 5380 -0.55 5381 ], 5382 [ 5383 -1.7191, 5384 1.2587, 5385 -0.0217 5386 ] 5387 ], 5388 { 5389 "attributes":{} 5390 } 5391 ], 5392 "hover-025":[ 5393 [ 5394 [ 5395 -1.0966, 5396 0.9775, 5397 -1.5422 5398 ], 5399 [ 5400 -1.8172, 5401 0.5902, 5402 -0.9497 5403 ], 5404 [ 5405 -2.0141, 5406 -0.3212, 5407 -0.6064 5408 ], 5409 [ 5410 -1.4284, 5411 1.4571, 5412 -0.6046 5413 ], 5414 [ 5415 -1.8172, 5416 0.5902, 5417 -0.9497 5418 ] 5419 ], 5420 { 5421 "attributes":{} 5422 } 5423 ], 5424 "hover-026":[ 5425 [ 5426 [ 5427 -0.5728, 5428 0.1917, 5429 -2.0435 5430 ], 5431 [ 5432 -0.3562, 5433 -0.4773, 5434 -2.047 5435 ], 5436 [ 5437 0.0209, 5438 -0.9796, 5439 -1.8914 5440 ], 5441 [ 5442 -0.681, 5443 -0.912, 5444 -1.8005 5445 ] 5446 ], 5447 { 5448 "attributes":{} 5449 } 5450 ], 5451 "electric-406":[ 5452 [ 5453 [ 5454 -1.2548, 5455 0.7317, 5456 1.5639 5457 ], 5458 [ 5459 -1.4416, 5460 0.1805, 5461 1.5558 5462 ] 5463 ], 5464 { 5465 "attributes":{ 5466 "index":785 5467 } 5468 } 5469 ], 5470 "electric-001":[ 5471 [ 5472 [ 5473 -1.493, 5474 -0.46, 5475 1.448 5476 ], 5477 [ 5478 -0.9522, 5479 0.278, 5480 1.8849 5481 ] 5482 ], 5483 { 5484 "attributes":{ 5485 "index":573 5486 } 5487 } 5488 ], 5489 "electric-002":[ 5490 [ 5491 [ 5492 -1.493, 5493 -0.46, 5494 1.448 5495 ], 5496 [ 5497 -1.0922, 5498 -0.9519, 5499 1.5636 5500 ] 5501 ], 5502 { 5503 "attributes":{ 5504 "index":558 5505 } 5506 } 5507 ], 5508 "electric-003":[ 5509 [ 5510 [ 5511 -1.493, 5512 -0.46, 5513 1.448 5514 ], 5515 [ 5516 -1.4416, 5517 0.1805, 5518 1.5558 5519 ] 5520 ], 5521 { 5522 "attributes":{ 5523 "index":705 5524 } 5525 } 5526 ], 5527 "electric-004":[ 5528 [ 5529 [ 5530 -0.5602, 5531 -0.8298, 5532 1.8783 5533 ], 5534 [ 5535 -1.493, 5536 -0.46, 5537 1.448 5538 ] 5539 ], 5540 { 5541 "attributes":{ 5542 "index":861 5543 } 5544 } 5545 ], 5546 "electric-005":[ 5547 [ 5548 [ 5549 -0.5602, 5550 -0.8298, 5551 1.8783 5552 ], 5553 [ 5554 -1.0922, 5555 -0.9519, 5556 1.5636 5557 ] 5558 ], 5559 { 5560 "attributes":{ 5561 "index":547 5562 } 5563 } 5564 ], 5565 "electric-006":[ 5566 [ 5567 [ 5568 -0.5602, 5569 -0.8298, 5570 1.8783 5571 ], 5572 [ 5573 -0.5671, 5574 -1.3469, 5575 1.5486 5576 ] 5577 ], 5578 { 5579 "attributes":{ 5580 "index":943 5581 } 5582 } 5583 ], 5584 "electric-007":[ 5585 [ 5586 [ 5587 -1.0835, 5588 -0.3694, 5589 1.7949 5590 ], 5591 [ 5592 -0.5671, 5593 -1.3469, 5594 1.5486 5595 ] 5596 ], 5597 { 5598 "attributes":{ 5599 "index":492 5600 } 5601 } 5602 ], 5603 "electric-008":[ 5604 [ 5605 [ 5606 -1.0835, 5607 -0.3694, 5608 1.7949 5609 ], 5610 [ 5611 -0.5602, 5612 -0.8298, 5613 1.8783 5614 ], 5615 [ 5616 -1.0835, 5617 -0.3694, 5618 1.7949 5619 ], 5620 [ 5621 -1.4416, 5622 0.1805, 5623 1.5558 5624 ], 5625 [ 5626 -1.0835, 5627 -0.3694, 5628 1.7949 5629 ], 5630 [ 5631 -0.9522, 5632 0.278, 5633 1.8849 5634 ] 5635 ], 5636 { 5637 "attributes":{ 5638 "index":425 5639 } 5640 } 5641 ], 5642 "electric-009":[ 5643 [ 5644 [ 5645 -1.0835, 5646 -0.3694, 5647 1.7949 5648 ], 5649 [ 5650 -1.0922, 5651 -0.9519, 5652 1.5636 5653 ], 5654 [ 5655 -1.0835, 5656 -0.3694, 5657 1.7949 5658 ], 5659 [ 5660 -1.493, 5661 -0.46, 5662 1.448 5663 ] 5664 ], 5665 { 5666 "attributes":{ 5667 "index":161 5668 } 5669 } 5670 ], 5671 "electric-010":[ 5672 [ 5673 [ 5674 -0.5526, 5675 -0.16, 5676 2.052 5677 ], 5678 [ 5679 -1.0922, 5680 -0.9519, 5681 1.5636 5682 ], 5683 [ 5684 -0.5526, 5685 -0.16, 5686 2.052 5687 ], 5688 [ 5689 -1.4416, 5690 0.1805, 5691 1.5558 5692 ] 5693 ], 5694 { 5695 "attributes":{ 5696 "index":558 5697 } 5698 } 5699 ], 5700 "electric-011":[ 5701 [ 5702 [ 5703 -0.5526, 5704 -0.16, 5705 2.052 5706 ], 5707 [ 5708 -0.5602, 5709 -0.8298, 5710 1.8783 5711 ] 5712 ], 5713 { 5714 "attributes":{ 5715 "index":425 5716 } 5717 } 5718 ], 5719 "electric-012":[ 5720 [ 5721 [ 5722 -0.5526, 5723 -0.16, 5724 2.052 5725 ], 5726 [ 5727 -1.0835, 5728 -0.3694, 5729 1.7949 5730 ], 5731 [ 5732 -0.5526, 5733 -0.16, 5734 2.052 5735 ], 5736 [ 5737 -0.9522, 5738 0.278, 5739 1.8849 5740 ] 5741 ], 5742 { 5743 "attributes":{ 5744 "index":574 5745 } 5746 } 5747 ], 5748 "electric-013":[ 5749 [ 5750 [ 5751 0.5944, 5752 -1.3142, 5753 1.5696 5754 ], 5755 [ 5756 1.085, 5757 -0.9419, 5758 1.5728 5759 ] 5760 ], 5761 { 5762 "attributes":{ 5763 "index":400 5764 } 5765 } 5766 ], 5767 "electric-014":[ 5768 [ 5769 [ 5770 -0.0292, 5771 -1.5633, 5772 1.4462 5773 ], 5774 [ 5775 -0.5602, 5776 -0.8298, 5777 1.8783 5778 ] 5779 ], 5780 { 5781 "attributes":{ 5782 "index":410 5783 } 5784 } 5785 ], 5786 "electric-015":[ 5787 [ 5788 [ 5789 -0.0292, 5790 -1.5633, 5791 1.4462 5792 ], 5793 [ 5794 0.5944, 5795 -1.3142, 5796 1.5696 5797 ] 5798 ], 5799 { 5800 "attributes":{ 5801 "index":243 5802 } 5803 } 5804 ], 5805 "electric-016":[ 5806 [ 5807 [ 5808 -0.0292, 5809 -1.5633, 5810 1.4462 5811 ], 5812 [ 5813 -0.5671, 5814 -1.3469, 5815 1.5486 5816 ] 5817 ], 5818 { 5819 "attributes":{ 5820 "index":920 5821 } 5822 } 5823 ], 5824 "electric-017":[ 5825 [ 5826 [ 5827 0.5807, 5828 -0.7692, 5829 1.8982 5830 ], 5831 [ 5832 -0.0292, 5833 -1.5633, 5834 1.4462 5835 ] 5836 ], 5837 { 5838 "attributes":{ 5839 "index":511 5840 } 5841 } 5842 ], 5843 "electric-018":[ 5844 [ 5845 [ 5846 0.5807, 5847 -0.7692, 5848 1.8982 5849 ], 5850 [ 5851 0.5944, 5852 -1.3142, 5853 1.5696 5854 ], 5855 [ 5856 0.5807, 5857 -0.7692, 5858 1.8982 5859 ], 5860 [ 5861 1.085, 5862 -0.9419, 5863 1.5728 5864 ] 5865 ], 5866 { 5867 "attributes":{ 5868 "index":45 5869 } 5870 } 5871 ], 5872 "electric-019":[ 5873 [ 5874 [ 5875 -0.0301, 5876 -1.1102, 5877 1.8168 5878 ], 5879 [ 5880 -0.5526, 5881 -0.16, 5882 2.052 5883 ], 5884 [ 5885 -0.0301, 5886 -1.1102, 5887 1.8168 5888 ], 5889 [ 5890 -1.0922, 5891 -0.9519, 5892 1.5636 5893 ] 5894 ], 5895 { 5896 "attributes":{ 5897 "index":929 5898 } 5899 } 5900 ], 5901 "electric-020":[ 5902 [ 5903 [ 5904 -0.0301, 5905 -1.1102, 5906 1.8168 5907 ], 5908 [ 5909 0.5807, 5910 -0.7692, 5911 1.8982 5912 ], 5913 [ 5914 -0.0301, 5915 -1.1102, 5916 1.8168 5917 ], 5918 [ 5919 0.5944, 5920 -1.3142, 5921 1.5696 5922 ], 5923 [ 5924 -0.0301, 5925 -1.1102, 5926 1.8168 5927 ], 5928 [ 5929 -0.5671, 5930 -1.3469, 5931 1.5486 5932 ] 5933 ], 5934 { 5935 "attributes":{ 5936 "index":992 5937 } 5938 } 5939 ], 5940 "electric-021":[ 5941 [ 5942 [ 5943 -0.0301, 5944 -1.1102, 5945 1.8168 5946 ], 5947 [ 5948 -0.5602, 5949 -0.8298, 5950 1.8783 5951 ], 5952 [ 5953 -0.0301, 5954 -1.1102, 5955 1.8168 5956 ], 5957 [ 5958 -0.0292, 5959 -1.5633, 5960 1.4462 5961 ] 5962 ], 5963 { 5964 "attributes":{ 5965 "index":843 5966 } 5967 } 5968 ], 5969 "electric-022":[ 5970 [ 5971 [ 5972 -0.0061, 5973 -0.5943, 5974 2.0477 5975 ], 5976 [ 5977 -0.5671, 5978 -1.3469, 5979 1.5486 5980 ], 5981 [ 5982 -0.0061, 5983 -0.5943, 5984 2.0477 5985 ], 5986 [ 5987 0.5944, 5988 -1.3142, 5989 1.5696 5990 ] 5991 ], 5992 { 5993 "attributes":{ 5994 "index":596 5995 } 5996 } 5997 ], 5998 "electric-023":[ 5999 [ 6000 [ 6001 -0.0061, 6002 -0.5943, 6003 2.0477 6004 ], 6005 [ 6006 -0.5526, 6007 -0.16, 6008 2.052 6009 ], 6010 [ 6011 -0.0061, 6012 -0.5943, 6013 2.0477 6014 ], 6015 [ 6016 0.5807, 6017 -0.7692, 6018 1.8982 6019 ] 6020 ], 6021 { 6022 "attributes":{ 6023 "index":400 6024 } 6025 } 6026 ], 6027 "electric-024":[ 6028 [ 6029 [ 6030 -0.0061, 6031 -0.5943, 6032 2.0477 6033 ], 6034 [ 6035 -0.5602, 6036 -0.8298, 6037 1.8783 6038 ], 6039 [ 6040 -0.0061, 6041 -0.5943, 6042 2.0477 6043 ], 6044 [ 6045 -0.0301, 6046 -1.1102, 6047 1.8168 6048 ] 6049 ], 6050 { 6051 "attributes":{ 6052 "index":184 6053 } 6054 } 6055 ], 6056 "electric-025":[ 6057 [ 6058 [ 6059 1.4461, 6060 0.1656, 6061 1.5562 6062 ], 6063 [ 6064 1.2294, 6065 0.7388, 6066 1.575 6067 ] 6068 ], 6069 { 6070 "attributes":{ 6071 "index":340 6072 } 6073 } 6074 ], 6075 "electric-026":[ 6076 [ 6077 [ 6078 1.4999, 6079 -0.4955, 6080 1.4329 6081 ], 6082 [ 6083 0.5807, 6084 -0.7692, 6085 1.8982 6086 ] 6087 ], 6088 { 6089 "attributes":{ 6090 "index":637 6091 } 6092 } 6093 ], 6094 "electric-027":[ 6095 [ 6096 [ 6097 1.4999, 6098 -0.4955, 6099 1.4329 6100 ], 6101 [ 6102 1.085, 6103 -0.9419, 6104 1.5728 6105 ] 6106 ], 6107 { 6108 "attributes":{ 6109 "index":185 6110 } 6111 } 6112 ], 6113 "electric-028":[ 6114 [ 6115 [ 6116 0.9764, 6117 0.3109, 6118 1.8659 6119 ], 6120 [ 6121 1.4999, 6122 -0.4955, 6123 1.4329 6124 ] 6125 ], 6126 { 6127 "attributes":{ 6128 "index":640 6129 } 6130 } 6131 ], 6132 "electric-029":[ 6133 [ 6134 [ 6135 0.9764, 6136 0.3109, 6137 1.8659 6138 ], 6139 [ 6140 1.4461, 6141 0.1656, 6142 1.5562 6143 ], 6144 [ 6145 0.9764, 6146 0.3109, 6147 1.8659 6148 ], 6149 [ 6150 1.2294, 6151 0.7388, 6152 1.575 6153 ] 6154 ], 6155 { 6156 "attributes":{ 6157 "index":854 6158 } 6159 } 6160 ], 6161 "electric-030":[ 6162 [ 6163 [ 6164 1.0726, 6165 -0.3515, 6166 1.8099 6167 ], 6168 [ 6169 0.5944, 6170 -1.3142, 6171 1.5696 6172 ] 6173 ], 6174 { 6175 "attributes":{ 6176 "index":981 6177 } 6178 } 6179 ], 6180 "electric-031":[ 6181 [ 6182 [ 6183 1.0726, 6184 -0.3515, 6185 1.8099 6186 ], 6187 [ 6188 1.4461, 6189 0.1656, 6190 1.5562 6191 ], 6192 [ 6193 1.0726, 6194 -0.3515, 6195 1.8099 6196 ], 6197 [ 6198 0.9764, 6199 0.3109, 6200 1.8659 6201 ], 6202 [ 6203 1.0726, 6204 -0.3515, 6205 1.8099 6206 ], 6207 [ 6208 0.5807, 6209 -0.7692, 6210 1.8982 6211 ] 6212 ], 6213 { 6214 "attributes":{ 6215 "index":311 6216 } 6217 } 6218 ], 6219 "electric-032":[ 6220 [ 6221 [ 6222 1.0726, 6223 -0.3515, 6224 1.8099 6225 ], 6226 [ 6227 1.085, 6228 -0.9419, 6229 1.5728 6230 ], 6231 [ 6232 1.0726, 6233 -0.3515, 6234 1.8099 6235 ], 6236 [ 6237 1.4999, 6238 -0.4955, 6239 1.4329 6240 ] 6241 ], 6242 { 6243 "attributes":{ 6244 "index":326 6245 } 6246 } 6247 ], 6248 "electric-033":[ 6249 [ 6250 [ 6251 0.5481, 6252 -0.1528, 6253 2.0526 6254 ], 6255 [ 6256 1.4461, 6257 0.1656, 6258 1.5562 6259 ], 6260 [ 6261 0.5481, 6262 -0.1528, 6263 2.0526 6264 ], 6265 [ 6266 1.085, 6267 -0.9419, 6268 1.5728 6269 ] 6270 ], 6271 { 6272 "attributes":{ 6273 "index":573 6274 } 6275 } 6276 ], 6277 "electric-034":[ 6278 [ 6279 [ 6280 0.5481, 6281 -0.1528, 6282 2.0526 6283 ], 6284 [ 6285 -0.0061, 6286 -0.5943, 6287 2.0477 6288 ], 6289 [ 6290 0.5481, 6291 -0.1528, 6292 2.0526 6293 ], 6294 [ 6295 0.9764, 6296 0.3109, 6297 1.8659 6298 ] 6299 ], 6300 { 6301 "attributes":{ 6302 "index":639 6303 } 6304 } 6305 ], 6306 "electric-035":[ 6307 [ 6308 [ 6309 0.5481, 6310 -0.1528, 6311 2.0526 6312 ]
6312, 6313 [ 6314 0.5807, 6315 -0.7692, 6316 1.8982 6317 ], 6318 [ 6319 0.5481, 6320 -0.1528, 6321 2.0526 6322 ], 6323 [ 6324 1.0726, 6325 -0.3515, 6326 1.8099 6327 ] 6328 ], 6329 { 6330 "attributes":{ 6331 "index":520 6332 } 6333 } 6334 ], 6335 "electric-036":[ 6336 [ 6337 [ 6338 -0.8964, 6339 1.2959, 6340 1.4304 6341 ], 6342 [ 6343 -1.2548, 6344 0.7317, 6345 1.5639 6346 ] 6347 ], 6348 { 6349 "attributes":{ 6350 "index":878 6351 } 6352 } 6353 ], 6354 "electric-037":[ 6355 [ 6356 [ 6357 -0.2782, 6358 1.4274, 6359 1.5552 6360 ], 6361 [ 6362 -0.8964, 6363 1.2959, 6364 1.4304 6365 ] 6366 ], 6367 { 6368 "attributes":{ 6369 "index":441 6370 } 6371 } 6372 ], 6373 "electric-038":[ 6374 [ 6375 [ 6376 0.9301, 6377 1.2734, 6378 1.4374 6379 ], 6380 [ 6381 0.9764, 6382 0.3109, 6383 1.8659 6384 ] 6385 ], 6386 { 6387 "attributes":{ 6388 "index":219 6389 } 6390 } 6391 ], 6392 "electric-039":[ 6393 [ 6394 [ 6395 0.9301, 6396 1.2734, 6397 1.4374 6398 ], 6399 [ 6400 0.2769, 6401 1.394, 6402 1.5837 6403 ] 6404 ], 6405 { 6406 "attributes":{ 6407 "index":33 6408 } 6409 } 6410 ], 6411 "electric-040":[ 6412 [ 6413 [ 6414 0.9301, 6415 1.2734, 6416 1.4374 6417 ], 6418 [ 6419 1.2294, 6420 0.7388, 6421 1.575 6422 ] 6423 ], 6424 { 6425 "attributes":{ 6426 "index":218 6427 } 6428 } 6429 ], 6430 "electric-041":[ 6431 [ 6432 [ 6433 -0.6395, 6434 0.9117, 6435 1.8172 6436 ], 6437 [ 6438 -0.5526, 6439 -0.16, 6440 2.052 6441 ], 6442 [ 6443 -0.6395, 6444 0.9117, 6445 1.8172 6446 ], 6447 [ 6448 0.2769, 6449 1.394, 6450 1.5837 6451 ] 6452 ], 6453 { 6454 "attributes":{ 6455 "index":814 6456 } 6457 } 6458 ], 6459 "electric-042":[ 6460 [ 6461 [ 6462 -0.6395, 6463 0.9117, 6464 1.8172 6465 ], 6466 [ 6467 -0.9522, 6468 0.278, 6469 1.8849 6470 ], 6471 [ 6472 -0.6395, 6473 0.9117, 6474 1.8172 6475 ], 6476 [ 6477 -1.2548, 6478 0.7317, 6479 1.5639 6480 ], 6481 [ 6482 -0.6395, 6483 0.9117, 6484 1.8172 6485 ], 6486 [ 6487 -0.2782, 6488 1.4274, 6489 1.5552 6490 ] 6491 ], 6492 { 6493 "attributes":{ 6494 "index":307 6495 } 6496 } 6497 ], 6498 "electric-043":[ 6499 [ 6500 [ 6501 -0.6395, 6502 0.9117, 6503 1.8172 6504 ], 6505 [ 6506 -0.8964, 6507 1.2959, 6508 1.4304 6509 ] 6510 ], 6511 { 6512 "attributes":{ 6513 "index":324 6514 } 6515 } 6516 ], 6517 "electric-044":[ 6518 [ 6519 [ 6520 -0.003, 6521 1.0165, 6522 1.8721 6523 ], 6524 [ 6525 0.9301, 6526 1.2734, 6527 1.4374 6528 ], 6529 [ 6530 -0.003, 6531 1.0165, 6532 1.8721 6533 ], 6534 [ 6535 -0.8964, 6536 1.2959, 6537 1.4304 6538 ] 6539 ], 6540 { 6541 "attributes":{ 6542 "index":79 6543 } 6544 } 6545 ], 6546 "electric-045":[ 6547 [ 6548 [ 6549 -0.003, 6550 1.0165, 6551 1.8721 6552 ], 6553 [ 6554 -0.6395, 6555 0.9117, 6556 1.8172 6557 ] 6558 ], 6559 { 6560 "attributes":{ 6561 "index":179 6562 } 6563 } 6564 ], 6565 "electric-046":[ 6566 [ 6567 [ 6568 -0.003, 6569 1.0165, 6570 1.8721 6571 ], 6572 [ 6573 -0.2782, 6574 1.4274, 6575 1.5552 6576 ], 6577 [ 6578 -0.003, 6579 1.0165, 6580 1.8721 6581 ], 6582 [ 6583 0.2769, 6584 1.394, 6585 1.5837 6586 ] 6587 ], 6588 { 6589 "attributes":{ 6590 "index":233 6591 } 6592 } 6593 ], 6594 "electric-047":[ 6595 [ 6596 [ 6597 0.6315, 6598 0.9307, 6599 1.8069 6600 ], 6601 [ 6602 -0.2782, 6603 1.4274, 6604 1.5552 6605 ] 6606 ], 6607 { 6608 "attributes":{ 6609 "index":938 6610 } 6611 } 6612 ], 6613 "electric-048":[ 6614 [ 6615 [ 6616 0.6315, 6617 0.9307, 6618 1.8069 6619 ], 6620 [ 6621 0.9764, 6622 0.3109, 6623 1.8659 6624 ], 6625 [ 6626 0.6315, 6627 0.9307, 6628 1.8069 6629 ], 6630 [ 6631 1.2294, 6632 0.7388, 6633 1.575 6634 ], 6635 [ 6636 0.6315, 6637 0.9307, 6638 1.8069 6639 ], 6640 [ 6641 -0.003, 6642 1.0165, 6643 1.8721 6644 ] 6645 ], 6646 { 6647 "attributes":{ 6648 "index":949 6649 } 6650 } 6651 ], 6652 "electric-049":[ 6653 [ 6654 [ 6655 0.6315, 6656 0.9307, 6657 1.8069 6658 ], 6659 [ 6660 0.2769, 6661 1.394, 6662 1.5837 6663 ], 6664 [ 6665 0.6315, 6666 0.9307, 6667 1.8069 6668 ], 6669 [ 6670 0.9301, 6671 1.2734, 6672 1.4374 6673 ] 6674 ], 6675 { 6676 "attributes":{ 6677 "index":944 6678 } 6679 } 6680 ], 6681 "electric-050":[ 6682 [ 6683 [ 6684 -0.3162, 6685 0.4911, 6686 2.0472 6687 ], 6688 [ 6689 0.5481, 6690 -0.1528, 6691 2.0526 6692 ], 6693 [ 6694 -0.3162, 6695 0.4911, 6696 2.0472 6697 ], 6698 [ 6699 0.6315, 6700 0.9307, 6701 1.8069 6702 ], 6703 [ 6704 -0.3162, 6705 0.4911, 6706 2.0472 6707 ], 6708 [ 6709 -0.2782, 6710 1.4274, 6711 1.5552 6712 ] 6713 ], 6714 { 6715 "attributes":{ 6716 "index":981 6717 } 6718 } 6719 ], 6720 "electric-051":[ 6721 [ 6722 [ 6723 -0.3162, 6724 0.4911, 6725 2.0472 6726 ], 6727 [ 6728 -0.9522, 6729 0.278, 6730 1.8849 6731 ], 6732 [ 6733 -0.3162, 6734 0.4911, 6735 2.0472 6736 ], 6737 [ 6738 -0.5526, 6739 -0.16, 6740 2.052 6741 ] 6742 ], 6743 { 6744 "attributes":{ 6745 "index":287 6746 } 6747 } 6748 ], 6749 "electric-052":[ 6750 [ 6751 [ 6752 -0.3162, 6753 0.4911, 6754 2.0472 6755 ], 6756 [ 6757 -0.003, 6758 1.0165, 6759 1.8721 6760 ], 6761 [ 6762 -0.3162, 6763 0.4911, 6764 2.0472 6765 ], 6766 [ 6767 -0.6395, 6768 0.9117, 6769 1.8172 6770 ] 6771 ], 6772 { 6773 "attributes":{ 6774 "index":730 6775 } 6776 } 6777 ], 6778 "electric-053":[ 6779 [ 6780 [ 6781 0.3255, 6782 0.4854, 6783 2.049 6784 ], 6785 [ 6786 -0.6395, 6787 0.9117, 6788 1.8172 6789 ], 6790 [ 6791 0.3255, 6792 0.4854, 6793 2.049 6794 ], 6795 [ 6796 1.2294, 6797 0.7388, 6798 1.575 6799 ], 6800 [ 6801 0.3255, 6802 0.4854, 6803 2.049 6804 ], 6805 [ 6806 0.2769, 6807 1.394, 6808 1.5837 6809 ] 6810 ], 6811 { 6812 "attributes":{ 6813 "index":22 6814 } 6815 } 6816 ], 6817 "electric-054":[ 6818 [ 6819 [ 6820 0.3255, 6821 0.4854, 6822 2.049 6823 ], 6824 [ 6825 0.9764, 6826 0.3109, 6827 1.8659 6828 ], 6829 [ 6830 0.3255, 6831 0.4854, 6832 2.049 6833 ], 6834 [ 6835 0.5481, 6836 -0.1528, 6837 2.0526 6838 ], 6839 [ 6840 0.3255, 6841 0.4854, 6842 2.049 6843 ], 6844 [ 6845 -0.003, 6846 1.0165, 6847 1.8721 6848 ] 6849 ], 6850 { 6851 "attributes":{ 6852 "index":915 6853 } 6854 } 6855 ], 6856 "electric-055":[ 6857 [ 6858 [ 6859 0.3255, 6860 0.4854, 6861 2.049 6862 ], 6863 [ 6864 -0.3162, 6865 0.4911, 6866 2.0472 6867 ], 6868 [ 6869 0.3255, 6870 0.4854, 6871 2.049 6872 ], 6873 [ 6874 0.6315, 6875 0.9307, 6876 1.8069 6877 ] 6878 ], 6879 { 6880 "attributes":{ 6881 "index":244 6882 } 6883 } 6884 ], 6885 "electric-056":[ 6886 [ 6887 [ 6888 0.0041, 6889 -0.0253, 6890 2.1306 6891 ], 6892 [ 6893 0.9764, 6894 0.3109, 6895 1.8659 6896 ], 6897 [ 6898 0.0041, 6899 -0.0253, 6900 2.1306 6901 ], 6902 [ 6903 -0.9522, 6904 0.278, 6905 1.8849 6906 ], 6907 [ 6908 0.0041, 6909 -0.0253, 6910 2.1306 6911 ], 6912 [ 6913 -0.5602, 6914 -0.8298, 6915 1.8783 6916 ] 6917 ], 6918 { 6919 "attributes":{ 6920 "index":73 6921 } 6922 } 6923 ], 6924 "electric-057":[ 6925 [ 6926 [ 6927 0.0041, 6928 -0.0253, 6929 2.1306 6930 ], 6931 [ 6932 -0.0061, 6933 -0.5943, 6934 2.0477 6935 ], 6936 [ 6937 0.0041, 6938 -0.0253, 6939 2.1306 6940 ], 6941 [ 6942 -0.5526, 6943 -0.16, 6944 2.052 6945 ], 6946 [ 6947 0.0041, 6948 -0.0253, 6949 2.1306 6950 ], 6951 [ 6952 0.5481, 6953 -0.1528, 6954 2.0526 6955 ] 6956 ], 6957 { 6958 "attributes":{ 6959 "index":454 6960 } 6961 } 6962 ], 6963 "electric-058":[ 6964 [ 6965 [ 6966 1.8328, 6967 0.0033, 6968 1.0872 6969 ], 6970 [ 6971 1.2294, 6972 0.7388, 6973 1.575 6974 ] 6975 ], 6976 { 6977 "attributes":{ 6978 "index":732 6979 } 6980 } 6981 ], 6982 "electric-059":[ 6983 [ 6984 [ 6985 1.8328, 6986 0.0033, 6987 1.0872 6988 ], 6989 [ 6990 1.4999, 6991 -0.4955, 6992 1.4329 6993 ] 6994 ], 6995 { 6996 "attributes":{ 6997 "index":419 6998 } 6999 } 7000 ], 7001 "electric-060":[ 7002 [ 7003 [ 7004 1.8328, 7005 0.0033, 7006 1.0872 7007 ], 7008 [ 7009 1.4461, 7010 0.1656, 7011 1.5562 7012 ] 7013 ], 7014 { 7015 "attributes":{ 7016 "index":931 7017 } 7018 } 7019 ], 7020 "electric-061":[ 7021 [ 7022 [ 7023 1.7428, 7024 0.5294, 7025 1.0997 7026 ], 7027 [ 7028 1.2294, 7029 0.7388, 7030 1.575 7031 ], 7032 [ 7033 1.7428, 7034 0.5294, 7035 1.0997 7036 ], 7037 [ 7038 1.4461, 7039 0.1656, 7040 1.5562 7041 ] 7042 ], 7043 { 7044 "attributes":{ 7045 "index":53 7046 } 7047 } 7048 ], 7049 "electric-062":[ 7050 [ 7051 [ 7052 1.7428, 7053 0.5294, 7054 1.0997 7055 ], 7056 [ 7057 1.8328, 7058 0.0033, 7059 1.0872 7060 ] 7061 ], 7062 { 7063 "attributes":{ 7064 "index":873 7065 } 7066 } 7067 ], 7068 "electric-063":[ 7069 [ 7070 [ 7071 1.4831, 7072 1.1, 7073 1.0657 7074 ], 7075 [ 7076 1.4461, 7077 0.1656, 7078 1.5562 7079 ] 7080 ], 7081 { 7082 "attributes":{ 7083 "index":395 7084 } 7085 } 7086 ], 7087 "electric-064":[ 7088 [ 7089 [ 7090 1.4831, 7091 1.1, 7092 1.0657 7093 ], 7094 [ 7095 0.9301, 7096 1.2734, 7097 1.4374 7098 ], 7099 [ 7100 1.4831, 7101 1.1, 7102 1.0657 7103 ], 7104 [ 7105 1.2294, 7106 0.7388, 7107 1.575 7108 ] 7109 ], 7110 { 7111 "attributes":{ 7112 "index":765 7113 } 7114 } 7115 ], 7116 "electric-065":[ 7117 [ 7118 [ 7119 1.4831, 7120 1.1, 7121 1.0657 7122 ], 7123 [ 7124 1.7428, 7125 0.5294, 7126 1.0997 7127 ] 7128 ], 7129 { 7130 "attributes":{ 7131 "index":857 7132 } 7133 } 7134 ], 7135 "electric-066":[ 7136 [ 7137 [ 7138 2.028, 7139 0.3274, 7140 0.5735 7141 ], 7142 [ 7143 1.8328, 7144 0.0033, 7145 1.0872 7146 ] 7147 ], 7148 { 7149 "attributes":{ 7150 "index":168 7151 } 7152 } 7153 ], 7154 "electric-067":[ 7155 [ 7156 [ 7157 2.028, 7158 0.3274, 7159 0.5735 7160 ], 7161 [ 7162 1.7428, 7163 0.5294, 7164 1.0997 7165 ] 7166 ], 7167 { 7168 "attributes":{ 7169 "index":971 7170 } 7171 } 7172 ], 7173 "electric-068":[ 7174 [ 7175 [ 7176 1.8315, 7177 0.902, 7178 0.6023 7179 ], 7180 [ 7181 1.8328, 7182 0.0033, 7183 1.0872 7184 ] 7185 ], 7186 { 7187 "attributes":{ 7188 "index":957 7189 } 7190 } 7191 ], 7192 "electric-069":[ 7193 [ 7194 [ 7195 1.8315, 7196 0.902, 7197 0.6023 7198 ], 7199 [ 7200 1.7428, 7201 0.5294, 7202 1.0997 7203 ], 7204 [ 7205 1.8315, 7206 0.902, 7207 0.6023 7208 ], 7209 [ 7210 2.028, 7211 0.3274, 7212 0.5735 7213 ], 7214 [ 7215 1.8315, 7216 0.902, 7217 0.6023 7218 ], 7219 [ 7220 1.4831, 7221 1.1, 7222 1.0657 7223 ] 7224 ], 7225 { 7226 "attributes":{ 7227 "index":51 7228 } 7229 } 7230 ], 7231 "electric-070":[ 7232 [ 7233 [ 7234 2.031, 7235 0.647, 7236 0.0365 7237 ], 7238 [ 7239 1.8315, 7240 0.902, 7241 0.6023 7242 ], 7243 [ 7244 2.031, 7245 0.647, 7246 0.0365 7247 ], 7248 [ 7249 2.028, 7250 0.3274, 7251 0.5735 7252 ] 7253 ], 7254 { 7255 "attributes":{ 7256 "index":502 7257 } 7258 } 7259 ], 7260 "electric-071":[ 7261 [ 7262 [ 7263 0.5359, 7264 -1.7443, 7265 1.098 7266 ], 7267 [ 7268 1.085, 7269 -0.9419, 7270 1.5728 7271 ] 7272 ], 7273 { 7274 "attributes":{ 7275 "index":756 7276 } 7277 } 7278 ], 7279 "electric-072":[ 7280 [ 7281 [ 7282 0.5359, 7283 -1.7443, 7284 1.098 7285 ], 7286 [ 7287 -0.0292, 7288 -1.5633, 7289 1.4462 7290 ] 7291 ], 7292 { 7293 "attributes":{
7294 "index":263 7295 } 7296 } 7297 ], 7298 "electric-073":[ 7299 [ 7300 [ 7301 1.0769, 7302 -1.4743, 7303 1.0969 7304 ], 7305 [ 7306 1.085, 7307 -0.9419, 7308 1.5728 7309 ], 7310 [ 7311 1.0769, 7312 -1.4743, 7313 1.0969 7314 ], 7315 [ 7316 0.5944, 7317 -1.3142, 7318 1.5696 7319 ] 7320 ], 7321 { 7322 "attributes":{ 7323 "index":621 7324 } 7325 } 7326 ], 7327 "electric-074":[ 7328 [ 7329 [ 7330 1.0769, 7331 -1.4743, 7332 1.0969 7333 ], 7334 [ 7335 0.5359, 7336 -1.7443, 7337 1.098 7338 ] 7339 ], 7340 { 7341 "attributes":{ 7342 "index":223 7343 } 7344 } 7345 ], 7346 "electric-075":[ 7347 [ 7348 [ 7349 1.4942, 7350 -1.0466, 7351 1.0985 7352 ], 7353 [ 7354 1.0726, 7355 -0.3515, 7356 1.8099 7357 ], 7358 [ 7359 1.4942, 7360 -1.0466, 7361 1.0985 7362 ], 7363 [ 7364 0.5944, 7365 -1.3142, 7366 1.5696 7367 ] 7368 ], 7369 { 7370 "attributes":{ 7371 "index":868 7372 } 7373 } 7374 ], 7375 "electric-076":[ 7376 [ 7377 [ 7378 1.4942, 7379 -1.0466, 7380 1.0985 7381 ], 7382 [ 7383 1.4999, 7384 -0.4955, 7385 1.4329 7386 ] 7387 ], 7388 { 7389 "attributes":{ 7390 "index":193 7391 } 7392 } 7393 ], 7394 "electric-077":[ 7395 [ 7396 [ 7397 1.4942, 7398 -1.0466, 7399 1.0985 7400 ], 7401 [ 7402 1.085, 7403 -0.9419, 7404 1.5728 7405 ], 7406 [ 7407 1.4942, 7408 -1.0466, 7409 1.0985 7410 ], 7411 [ 7412 1.0769, 7413 -1.4743, 7414 1.0969 7415 ] 7416 ], 7417 { 7418 "attributes":{ 7419 "index":800 7420 } 7421 } 7422 ], 7423 "electric-078":[ 7424 [ 7425 [ 7426 0.936, 7427 -1.8347, 7428 0.5417 7429 ], 7430 [ 7431 0.5359, 7432 -1.7443, 7433 1.098 7434 ], 7435 [ 7436 0.936, 7437 -1.8347, 7438 0.5417 7439 ], 7440 [ 7441 1.0769, 7442 -1.4743, 7443 1.0969 7444 ] 7445 ], 7446 { 7447 "attributes":{ 7448 "index":47 7449 } 7450 } 7451 ], 7452 "electric-079":[ 7453 [ 7454 [ 7455 1.4513, 7456 -1.4582, 7457 0.5608 7458 ], 7459 [ 7460 0.5359, 7461 -1.7443, 7462 1.098 7463 ] 7464 ], 7465 { 7466 "attributes":{ 7467 "index":188 7468 } 7469 } 7470 ], 7471 "electric-080":[ 7472 [ 7473 [ 7474 1.4513, 7475 -1.4582, 7476 0.5608 7477 ], 7478 [ 7479 1.4942, 7480 -1.0466, 7481 1.0985 7482 ], 7483 [ 7484 1.4513, 7485 -1.4582, 7486 0.5608 7487 ], 7488 [ 7489 1.0769, 7490 -1.4743, 7491 1.0969 7492 ], 7493 [ 7494 1.4513, 7495 -1.4582, 7496 0.5608 7497 ], 7498 [ 7499 0.936, 7500 -1.8347, 7501 0.5417 7502 ] 7503 ], 7504 { 7505 "attributes":{ 7506 "index":376 7507 } 7508 } 7509 ], 7510 "electric-081":[ 7511 [ 7512 [ 7513 1.2605, 7514 -1.72, 7515 0.042 7516 ], 7517 [ 7518 1.4513, 7519 -1.4582, 7520 0.5608 7521 ], 7522 [ 7523 1.2605, 7524 -1.72, 7525 0.042 7526 ], 7527 [ 7528 0.936, 7529 -1.8347, 7530 0.5417 7531 ] 7532 ], 7533 { 7534 "attributes":{ 7535 "index":615 7536 } 7537 } 7538 ], 7539 "electric-082":[ 7540 [ 7541 [ 7542 -1.4882, 7543 -1.0691, 7544 1.0902 7545 ], 7546 [ 7547 -1.0835, 7548 -0.3694, 7549 1.7949 7550 ], 7551 [ 7552 -1.4882, 7553 -1.0691, 7554 1.0902 7555 ], 7556 [ 7557 -0.5671, 7558 -1.3469, 7559 1.5486 7560 ] 7561 ], 7562 { 7563 "attributes":{ 7564 "index":27 7565 } 7566 } 7567 ], 7568 "electric-083":[ 7569 [ 7570 [ 7571 -1.4882, 7572 -1.0691, 7573 1.0902 7574 ], 7575 [ 7576 -1.493, 7577 -0.46, 7578 1.448 7579 ] 7580 ], 7581 { 7582 "attributes":{ 7583 "index":464 7584 } 7585 } 7586 ], 7587 "electric-084":[ 7588 [ 7589 [ 7590 -1.4882, 7591 -1.0691, 7592 1.0902 7593 ], 7594 [ 7595 -1.0922, 7596 -0.9519, 7597 1.5636 7598 ] 7599 ], 7600 { 7601 "attributes":{ 7602 "index":640 7603 } 7604 } 7605 ], 7606 "electric-085":[ 7607 [ 7608 [ 7609 -1.0585, 7610 -1.4771, 7611 1.1154 7612 ], 7613 [ 7614 -0.5602, 7615 -0.8298, 7616 1.8783 7617 ], 7618 [ 7619 -1.0585, 7620 -1.4771, 7621 1.1154 7622 ], 7623 [ 7624 -0.0292, 7625 -1.5633, 7626 1.4462 7627 ] 7628 ], 7629 { 7630 "attributes":{ 7631 "index":533 7632 } 7633 } 7634 ], 7635 "electric-086":[ 7636 [ 7637 [ 7638 -1.0585, 7639 -1.4771, 7640 1.1154 7641 ], 7642 [ 7643 -1.0922, 7644 -0.9519, 7645 1.5636 7646 ], 7647 [ 7648 -1.0585, 7649 -1.4771, 7650 1.1154 7651 ], 7652 [ 7653 -0.5671, 7654 -1.3469, 7655 1.5486 7656 ] 7657 ], 7658 { 7659 "attributes":{ 7660 "index":904 7661 } 7662 } 7663 ], 7664 "electric-087":[ 7665 [ 7666 [ 7667 -1.0585, 7668 -1.4771, 7669 1.1154 7670 ], 7671 [ 7672 -1.4882, 7673 -1.0691, 7674 1.0902 7675 ] 7676 ], 7677 { 7678 "attributes":{ 7679 "index":901 7680 } 7681 } 7682 ], 7683 "electric-088":[ 7684 [ 7685 [ 7686 -0.5716, 7687 -1.7489, 7688 1.0764 7689 ], 7690 [ 7691 0.5359, 7692 -1.7443, 7693 1.098 7694 ], 7695 [ 7696 -0.5716, 7697 -1.7489, 7698 1.0764 7699 ], 7700 [ 7701 -1.0922, 7702 -0.9519, 7703 1.5636 7704 ] 7705 ], 7706 { 7707 "attributes":{ 7708 "index":187 7709 } 7710 } 7711 ], 7712 "electric-089":[ 7713 [ 7714 [ 7715 -0.5716, 7716 -1.7489, 7717 1.0764 7718 ], 7719 [ 7720 -0.0292, 7721 -1.5633, 7722 1.4462 7723 ] 7724 ], 7725 { 7726 "attributes":{ 7727 "index":753 7728 } 7729 } 7730 ], 7731 "electric-090":[ 7732 [ 7733 [ 7734 -0.5716, 7735 -1.7489, 7736 1.0764 7737 ], 7738 [ 7739 -0.5671, 7740 -1.3469, 7741 1.5486 7742 ], 7743 [ 7744 -0.5716, 7745 -1.7489, 7746 1.0764 7747 ], 7748 [ 7749 -1.0585, 7750 -1.4771, 7751 1.1154 7752 ] 7753 ], 7754 { 7755 "attributes":{ 7756 "index":730 7757 } 7758 } 7759 ], 7760 "electric-091":[ 7761 [ 7762 [ 7763 -1.4573, 7764 -1.4493, 7765 0.5641 7766 ], 7767 [ 7768 -0.5716, 7769 -1.7489, 7770 1.0764 7771 ] 7772 ], 7773 { 7774 "attributes":{ 7775 "index":586 7776 } 7777 } 7778 ], 7779 "electric-092":[ 7780 [ 7781 [ 7782 -1.4573, 7783 -1.4493, 7784 0.5641 7785 ], 7786 [ 7787 -1.0585, 7788 -1.4771, 7789 1.1154 7790 ] 7791 ], 7792 { 7793 "attributes":{ 7794 "index":192 7795 } 7796 } 7797 ], 7798 "electric-093":[ 7799 [ 7800 [ 7801 -1.4573, 7802 -1.4493, 7803 0.5641 7804 ], 7805 [ 7806 -1.4882, 7807 -1.0691, 7808 1.0902 7809 ] 7810 ], 7811 { 7812 "attributes":{ 7813 "index":919 7814 } 7815 } 7816 ], 7817 "electric-094":[ 7818 [ 7819 [ 7820 -0.9615, 7821 -1.8028, 7822 0.5956 7823 ], 7824 [ 7825 -1.4882, 7826 -1.0691, 7827 1.0902 7828 ] 7829 ], 7830 { 7831 "attributes":{ 7832 "index":554 7833 } 7834 } 7835 ], 7836 "electric-095":[ 7837 [ 7838 [ 7839 -0.9615, 7840 -1.8028, 7841 0.5956 7842 ], 7843 [ 7844 -0.5716, 7845 -1.7489, 7846 1.0764 7847 ], 7848 [ 7849 -0.9615, 7850 -1.8028, 7851 0.5956 7852 ], 7853 [ 7854 -1.0585, 7855 -1.4771, 7856 1.1154 7857 ], 7858 [ 7859 -0.9615, 7860 -1.8028, 7861 0.5956 7862 ], 7863 [ 7864 -1.4573, 7865 -1.4493, 7866 0.5641 7867 ] 7868 ], 7869 { 7870 "attributes":{ 7871 "index":822 7872 } 7873 } 7874 ], 7875 "electric-096":[ 7876 [ 7877 [ 7878 -1.2861, 7879 -1.6943, 7880 0.047 7881 ], 7882 [ 7883 -1.0585, 7884 -1.4771, 7885 1.1154 7886 ] 7887 ], 7888 { 7889 "attributes":{ 7890 "index":333 7891 } 7892 } 7893 ], 7894 "electric-097":[ 7895 [ 7896 [ 7897 -1.2861, 7898 -1.6943, 7899 0.047 7900 ], 7901 [ 7902 -0.9615, 7903 -1.8028, 7904 0.5956 7905 ] 7906 ], 7907 { 7908 "attributes":{ 7909 "index":601 7910 } 7911 } 7912 ], 7913 "electric-098":[ 7914 [ 7915 [ 7916 -1.2861, 7917 -1.6943, 7918 0.047 7919 ], 7920 [ 7921 -1.4573, 7922 -1.4493, 7923 0.5641 7924 ] 7925 ], 7926 { 7927 "attributes":{ 7928 "index":369 7929 } 7930 } 7931 ], 7932 "electric-099":[ 7933 [ 7934 [ 7935 -1.5024, 7936 1.0781, 7937 1.0546 7938 ], 7939 [ 7940 -1.4416, 7941 0.1805, 7942 1.5558 7943 ] 7944 ], 7945 { 7946 "attributes":{ 7947 "index":739 7948 } 7949 } 7950 ], 7951 "electric-100":[ 7952 [ 7953 [ 7954 -1.5024, 7955 1.0781, 7956 1.0546 7957 ], 7958 [ 7959 -0.8964, 7960 1.2959, 7961 1.4304 7962 ], 7963 [ 7964 -1.5024, 7965 1.0781, 7966 1.0546 7967 ], 7968 [ 7969 -1.2548, 7970 0.7317, 7971 1.5639 7972 ] 7973 ], 7974 { 7975 "attributes":{ 7976 "index":91 7977 } 7978 } 7979 ], 7980 "electric-101":[ 7981 [ 7982 [ 7983 -1.7188, 7984 0.5329, 7985 1.1379 7986 ], 7987 [ 7988 -0.9522, 7989 0.278, 7990 1.8849 7991 ], 7992 [ 7993 -1.7188, 7994 0.5329, 7995 1.1379 7996 ], 7997 [ 7998 -1.493, 7999 -0.46, 8000 1.448 8001 ] 8002 ], 8003 { 8004 "attributes":{ 8005 "index":757 8006 } 8007 } 8008 ], 8009 "electric-102":[ 8010 [ 8011 [ 8012 -1.7188, 8013 0.5329, 8014 1.1379 8015 ], 8016 [ 8017 -1.2548, 8018 0.7317, 8019 1.5639 8020 ] 8021 ], 8022 { 8023 "attributes":{ 8024 "index":296 8025 } 8026 } 8027 ], 8028 "electric-103":[ 8029 [ 8030 [ 8031 -1.7188, 8032 0.5329, 8033 1.1379 8034 ], 8035 [ 8036 -1.4416, 8037 0.1805, 8038 1.5558 8039 ], 8040 [ 8041 -1.7188, 8042 0.5329, 8043 1.1379 8044 ], 8045 [ 8046 -1.5024, 8047 1.0781, 8048 1.0546 8049 ] 8050 ], 8051 { 8052 "attributes":{ 8053 "index":931 8054 } 8055 } 8056 ], 8057 "electric-104":[ 8058 [ 8059 [ 8060 -1.8519, 8061 0.0067, 8062 1.0503 8063 ], 8064 [ 8065 -1.2548, 8066 0.7317, 8067 1.5639 8068 ] 8069 ], 8070 { 8071 "attributes":{ 8072 "index":800 8073 } 8074 } 8075 ], 8076 "electric-105":[ 8077 [ 8078 [ 8079 -1.8519, 8080 0.0067, 8081 1.0503 8082 ], 8083 [ 8084 -1.493, 8085 -0.46, 8086 1.448 8087 ], 8088 [ 8089 -1.8519, 8090 0.0067, 8091 1.0503 8092 ], 8093 [ 8094 -1.4416, 8095 0.1805, 8096 1.5558 8097 ] 8098 ], 8099 { 8100 "attributes":{ 8101 "index":193 8102 } 8103 } 8104 ], 8105 "electric-106":[ 8106 [ 8107 [ 8108 -1.8519, 8109 0.0067, 8110 1.0503 8111 ], 8112 [ 8113 -1.7188, 8114 0.5329, 8115 1.1379 8116 ] 8117 ], 8118 { 8119 "attributes":{ 8120 "index":604 8121 } 8122 } 8123 ], 8124 "electric-107":[ 8125 [ 8126 [ 8127 -1.8205, 8128 0.9241, 8129 0.6021 8130 ], 8131 [ 8132 -1.8519, 8133 0.0067, 8134 1.0503 8135 ] 8136 ], 8137 { 8138 "attributes":{ 8139 "index":130 8140 } 8141 } 8142 ], 8143 "electric-108":[ 8144 [ 8145 [ 8146 -1.8205, 8147 0.9241, 8148 0.6021 8149 ], 8150 [ 8151 -1.7188, 8152 0.5329, 8153 1.1379 8154 ] 8155 ], 8156 { 8157 "attributes":{ 8158 "index":766 8159 } 8160 } 8161 ], 8162 "electric-109":[ 8163 [ 8164 [ 8165 -1.8205, 8166 0.9241, 8167 0.6021 8168 ], 8169 [ 8170 -1.5024, 8171 1.0781, 8172 1.0546 8173 ] 8174 ], 8175 { 8176 "attributes":{ 8177 "index":645 8178 } 8179 } 8180 ], 8181 "electric-110":[ 8182 [ 8183 [ 8184 -2.031, 8185 0.3188, 8186 0.5626 8187 ], 8188 [ 8189 -1.5024, 8190 1.0781, 8191 1.0546 8192 ] 8193 ], 8194 { 8195 "attributes":{ 8196 "index":582 8197 } 8198 } 8199 ], 8200 "electric-111":[ 8201 [ 8202 [ 8203 -2.031, 8204 0.3188, 8205 0.5626 8206 ], 8207 [ 8208 -1.7188, 8209 0.5329, 8210 1.1379 8211 ] 8212 ], 8213 { 8214 "attributes":{ 8215 "index":440 8216 } 8217 } 8218 ], 8219 "electric-112":[ 8220 [ 8221 [ 8222 -2.0273, 8223 0.6501, 8224 0.0144 8225 ], 8226 [ 8227 -1.8205, 8228 0.9241, 8229 0.6021 8230 ] 8231 ], 8232 { 8233 "attributes":{ 8234 "index":579 8235 } 8236 } 8237 ], 8238 "electric-113":[ 8239 [ 8240 [ 8241 -2.0273, 8242 0.6501, 8243 0.0144 8244 ], 8245 [ 8246 -2.031, 8247 0.3188, 8248 0.5626 8249 ] 8250 ], 8251 { 8252 "attributes":{ 8253 "index":66 8254 } 8255 } 8256 ], 8257 "electric-114":[ 8258 [ 8259 [ 8260 0.5902, 8261 1.7535, 8262 1.0556 8263 ], 8264 [ 8265 -0.2782, 8266 1.4274, 8267 1.5552 8268 ] 8269 ], 8270 { 8271 "attributes":{ 8272 "index":475 8273 } 8274 } 8275 ], 8276 "electric-115":[ 8277 [ 8278 [ 8279 0.5902, 8280 1.7535, 8281 1.0556 8282 ], 8283 [ 8284 0.2769, 8285 1.394, 8286 1.5837 8287 ], 8288 [ 8289 0.5902, 8290 1.7535, 8291 1.0556 8292 ], 8293 [ 8294 0.9301, 8295 1.2734, 8296 1.4374 8297 ] 8298 ], 8299 { 8300 "attributes":{ 8301 "index":569 8302 } 8303 } 8304 ], 8305 "electric-116":[ 8306 [ 8307 [ 8308 0.0335, 8309 1.8182, 8310 1.1063 8311 ], 8312 [ 8313 -0.8964, 8314 1.2959, 8315 1.4304 8316 ], 8317 [ 8318 0.0335, 8319 1.8182, 8320 1.1063 8321 ], 8322 [ 8323 -0.003, 8324 1.0165, 8325 1.8721 8326 ] 8327 ], 8328 { 8329 "attributes":{ 8330 "index":679 8331 } 8332 } 8333 ], 8334 "electric-117":[ 8335 [ 8336 [ 8337 0.0335, 8338 1.8182, 8339 1.1063 8340 ], 8341 [ 8342 0.2769, 8343 1.394, 8344 1.5837 8345 ], 8346 [ 8347 0.0335, 8348 1.8182, 8349 1.1063 8350 ], 8351 [ 8352 -0.2782, 8353 1.4274, 8354 1.5552 8355 ] 8356 ], 8357 { 8358 "attributes":{ 8359 "index":229 8360 } 8361 } 8362 ], 8363 "electric-118":[ 8364 [ 8365 [ 8366 0.0335, 8367 1.8182, 8368 1.1063 8369 ], 8370 [ 8371 0.5902, 8372 1.7535, 8373 1.0556 8374 ] 8375 ], 8376 { 8377 "attributes":{ 8378 "index":222 8379 } 8380 } 8381 ], 8382 "electric-119":[ 8383 [ 8384 [ 8385 -0.5938, 8386 1.7427,
8387 1.077 8388 ], 8389 [ 8390 0.2769, 8391 1.394, 8392 1.5837 8393 ] 8394 ], 8395 { 8396 "attributes":{ 8397 "index":142 8398 } 8399 } 8400 ], 8401 "electric-120":[ 8402 [ 8403 [ 8404 -0.5938, 8405 1.7427, 8406 1.077 8407 ], 8408 [ 8409 -0.2782, 8410 1.4274, 8411 1.5552 8412 ] 8413 ], 8414 { 8415 "attributes":{ 8416 "index":516 8417 } 8418 } 8419 ], 8420 "electric-121":[ 8421 [ 8422 [ 8423 -0.5938, 8424 1.7427, 8425 1.077 8426 ], 8427 [ 8428 -0.8964, 8429 1.2959, 8430 1.4304 8431 ], 8432 [ 8433 -0.5938, 8434 1.7427, 8435 1.077 8436 ], 8437 [ 8438 0.0335, 8439 1.8182, 8440 1.1063 8441 ] 8442 ], 8443 { 8444 "attributes":{ 8445 "index":73 8446 } 8447 } 8448 ], 8449 "electric-122":[ 8450 [ 8451 [ 8452 0.3356, 8453 2.0176, 8454 0.588 8455 ], 8456 [ 8457 -0.5938, 8458 1.7427, 8459 1.077 8460 ] 8461 ], 8462 { 8463 "attributes":{ 8464 "index":520 8465 } 8466 } 8467 ], 8468 "electric-123":[ 8469 [ 8470 [ 8471 0.3356, 8472 2.0176, 8473 0.588 8474 ], 8475 [ 8476 0.0335, 8477 1.8182, 8478 1.1063 8479 ], 8480 [ 8481 0.3356, 8482 2.0176, 8483 0.588 8484 ], 8485 [ 8486 0.5902, 8487 1.7535, 8488 1.0556 8489 ] 8490 ], 8491 { 8492 "attributes":{ 8493 "index":230 8494 } 8495 } 8496 ], 8497 "electric-124":[ 8498 [ 8499 [ 8500 -0.3065, 8501 2.0301, 8502 0.5779 8503 ], 8504 [ 8505 0.5902, 8506 1.7535, 8507 1.0556 8508 ] 8509 ], 8510 { 8511 "attributes":{ 8512 "index":98 8513 } 8514 } 8515 ], 8516 "electric-125":[ 8517 [ 8518 [ 8519 -0.3065, 8520 2.0301, 8521 0.5779 8522 ], 8523 [ 8524 -0.5938, 8525 1.7427, 8526 1.077 8527 ], 8528 [ 8529 -0.3065, 8530 2.0301, 8531 0.5779 8532 ], 8533 [ 8534 0.0335, 8535 1.8182, 8536 1.1063 8537 ] 8538 ], 8539 { 8540 "attributes":{ 8541 "index":774 8542 } 8543 } 8544 ], 8545 "electric-126":[ 8546 [ 8547 [ 8548 -0.3065, 8549 2.0301, 8550 0.5779 8551 ], 8552 [ 8553 0.3356, 8554 2.0176, 8555 0.588 8556 ] 8557 ], 8558 { 8559 "attributes":{ 8560 "index":710 8561 } 8562 } 8563 ], 8564 "electric-127":[ 8565 [ 8566 [ 8567 0.0071, 8568 2.1322, 8569 0.0348 8570 ], 8571 [ 8572 0.3356, 8573 2.0176, 8574 0.588 8575 ] 8576 ], 8577 { 8578 "attributes":{ 8579 "index":360 8580 } 8581 } 8582 ], 8583 "electric-128":[ 8584 [ 8585 [ 8586 0.0071, 8587 2.1322, 8588 0.0348 8589 ], 8590 [ 8591 -0.3065, 8592 2.0301, 8593 0.5779 8594 ] 8595 ], 8596 { 8597 "attributes":{ 8598 "index":37 8599 } 8600 } 8601 ], 8602 "electric-129":[ 8603 [ 8604 [ 8605 1.1392, 8606 1.5419, 8607 0.9286 8608 ], 8609 [ 8610 1.2294, 8611 0.7388, 8612 1.575 8613 ], 8614 [ 8615 1.1392, 8616 1.5419, 8617 0.9286 8618 ], 8619 [ 8620 1.8315, 8621 0.902, 8622 0.6023 8623 ], 8624 [ 8625 1.1392, 8626 1.5419, 8627 0.9286 8628 ], 8629 [ 8630 0.3356, 8631 2.0176, 8632 0.588 8633 ] 8634 ], 8635 { 8636 "attributes":{ 8637 "index":927 8638 } 8639 } 8640 ], 8641 "electric-130":[ 8642 [ 8643 [ 8644 1.1392, 8645 1.5419, 8646 0.9286 8647 ], 8648 [ 8649 0.9301, 8650 1.2734, 8651 1.4374 8652 ], 8653 [ 8654 1.1392, 8655 1.5419, 8656 0.9286 8657 ], 8658 [ 8659 0.5902, 8660 1.7535, 8661 1.0556 8662 ] 8663 ], 8664 { 8665 "attributes":{ 8666 "index":405 8667 } 8668 } 8669 ], 8670 "electric-131":[ 8671 [ 8672 [ 8673 1.1392, 8674 1.5419, 8675 0.9286 8676 ], 8677 [ 8678 1.4831, 8679 1.1, 8680 1.0657 8681 ] 8682 ], 8683 { 8684 "attributes":{ 8685 "index":941 8686 } 8687 } 8688 ], 8689 "electric-132":[ 8690 [ 8691 [ 8692 0.9415, 8693 1.8475, 8694 0.4931 8695 ], 8696 [ 8697 0.0071, 8698 2.1322, 8699 0.0348 8700 ] 8701 ], 8702 { 8703 "attributes":{ 8704 "index":204 8705 } 8706 } 8707 ], 8708 "electric-133":[ 8709 [ 8710 [ 8711 0.9415, 8712 1.8475, 8713 0.4931 8714 ], 8715 [ 8716 0.5902, 8717 1.7535, 8718 1.0556 8719 ], 8720 [ 8721 0.9415, 8722 1.8475, 8723 0.4931 8724 ], 8725 [ 8726 0.3356, 8727 2.0176, 8728 0.588 8729 ] 8730 ], 8731 { 8732 "attributes":{ 8733 "index":42 8734 } 8735 } 8736 ], 8737 "electric-134":[ 8738 [ 8739 [ 8740 0.9415, 8741 1.8475, 8742 0.4931 8743 ], 8744 [ 8745 1.1392, 8746 1.5419, 8747 0.9286 8748 ] 8749 ], 8750 { 8751 "attributes":{ 8752 "index":472 8753 } 8754 } 8755 ], 8756 "electric-135":[ 8757 [ 8758 [ 8759 0.6858, 8760 2.0145, 8761 0.0293 8762 ], 8763 [ 8764 0.5902, 8765 1.7535, 8766 1.0556 8767 ] 8768 ], 8769 { 8770 "attributes":{ 8771 "index":188 8772 } 8773 } 8774 ], 8775 "electric-136":[ 8776 [ 8777 [ 8778 0.6858, 8779 2.0145, 8780 0.0293 8781 ], 8782 [ 8783 0.0071, 8784 2.1322, 8785 0.0348 8786 ], 8787 [ 8788 0.6858, 8789 2.0145, 8790 0.0293 8791 ], 8792 [ 8793 0.3356, 8794 2.0176, 8795 0.588 8796 ] 8797 ], 8798 { 8799 "attributes":{ 8800 "index":193 8801 } 8802 } 8803 ], 8804 "electric-137":[ 8805 [ 8806 [ 8807 0.6858, 8808 2.0145, 8809 0.0293 8810 ], 8811 [ 8812 0.9415, 8813 1.8475, 8814 0.4931 8815 ] 8816 ], 8817 { 8818 "attributes":{ 8819 "index":347 8820 } 8821 } 8822 ], 8823 "electric-138":[ 8824 [ 8825 [ 8826 0.339, 8827 2.0493, 8828 -0.4779 8829 ], 8830 [ 8831 0.3356, 8832 2.0176, 8833 0.588 8834 ] 8835 ], 8836 { 8837 "attributes":{ 8838 "index":744 8839 } 8840 } 8841 ], 8842 "electric-139":[ 8843 [ 8844 [ 8845 0.339, 8846 2.0493, 8847 -0.4779 8848 ], 8849 [ 8850 0.0071, 8851 2.1322, 8852 0.0348 8853 ], 8854 [ 8855 0.339, 8856 2.0493, 8857 -0.4779 8858 ], 8859 [ 8860 0.6858, 8861 2.0145, 8862 0.0293 8863 ] 8864 ], 8865 { 8866 "attributes":{ 8867 "index":201 8868 } 8869 } 8870 ], 8871 "electric-140":[ 8872 [ 8873 [ 8874 1.4914, 8875 1.433, 8876 0.5084 8877 ], 8878 [ 8879 0.9301, 8880 1.2734, 8881 1.4374 8882 ], 8883 [ 8884 1.4914, 8885 1.433, 8886 0.5084 8887 ], 8888 [ 8889 2.031, 8890 0.647, 8891 0.0365 8892 ] 8893 ], 8894 { 8895 "attributes":{ 8896 "index":712 8897 } 8898 } 8899 ], 8900 "electric-141":[ 8901 [ 8902 [ 8903 1.4914, 8904 1.433, 8905 0.5084 8906 ], 8907 [ 8908 0.9415, 8909 1.8475, 8910 0.4931 8911 ], 8912 [ 8913 1.4914, 8914 1.433, 8915 0.5084 8916 ], 8917 [ 8918 1.4831, 8919 1.1, 8920 1.0657 8921 ] 8922 ], 8923 { 8924 "attributes":{ 8925 "index":79 8926 } 8927 } 8928 ], 8929 "electric-142":[ 8930 [ 8931 [ 8932 1.4914, 8933 1.433, 8934 0.5084 8935 ], 8936 [ 8937 1.8315, 8938 0.902, 8939 0.6023 8940 ], 8941 [ 8942 1.4914, 8943 1.433, 8944 0.5084 8945 ], 8946 [ 8947 1.1392, 8948 1.5419, 8949 0.9286 8950 ] 8951 ], 8952 { 8953 "attributes":{ 8954 "index":238 8955 } 8956 } 8957 ], 8958 "electric-143":[ 8959 [ 8960 [ 8961 1.2476, 8962 1.7252, 8963 -0.0148 8964 ], 8965 [ 8966 0.339, 8967 2.0493, 8968 -0.4779 8969 ], 8970 [ 8971 1.2476, 8972 1.7252, 8973 -0.0148 8974 ], 8975 [ 8976 1.1392, 8977 1.5419, 8978 0.9286 8979 ] 8980 ], 8981 { 8982 "attributes":{ 8983 "index":30 8984 } 8985 } 8986 ], 8987 "electric-144":[ 8988 [ 8989 [ 8990 1.2476, 8991 1.7252, 8992 -0.0148 8993 ], 8994 [ 8995 1.4914, 8996 1.433, 8997 0.5084 8998 ] 8999 ], 9000 { 9001 "attributes":{ 9002 "index":304 9003 } 9004 } 9005 ], 9006 "electric-145":[ 9007 [ 9008 [ 9009 1.2476, 9010 1.7252, 9011 -0.0148 9012 ], 9013 [ 9014 0.6858, 9015 2.0145, 9016 0.0293 9017 ], 9018 [ 9019 1.2476, 9020 1.7252, 9021 -0.0148 9022 ], 9023 [ 9024 0.9415, 9025 1.8475, 9026 0.4931 9027 ] 9028 ], 9029 { 9030 "attributes":{ 9031 "index":593 9032 } 9033 } 9034 ], 9035 "electric-146":[ 9036 [ 9037 [ 9038 0.9406, 9039 1.831, 9040 -0.5549 9041 ], 9042 [ 9043 0.9415, 9044 1.8475, 9045 0.4931 9046 ] 9047 ], 9048 { 9049 "attributes":{ 9050 "index":542 9051 } 9052 } 9053 ], 9054 "electric-147":[ 9055 [ 9056 [ 9057 0.9406, 9058 1.831, 9059 -0.5549 9060 ], 9061 [ 9062 0.6858, 9063 2.0145, 9064 0.0293 9065 ] 9066 ], 9067 { 9068 "attributes":{ 9069 "index":698 9070 } 9071 } 9072 ], 9073 "electric-148":[ 9074 [ 9075 [ 9076 0.9406, 9077 1.831, 9078 -0.5549 9079 ], 9080 [ 9081 0.339, 9082 2.0493, 9083 -0.4779 9084 ], 9085 [ 9086 0.9406, 9087 1.831, 9088 -0.5549 9089 ], 9090 [ 9091 1.2476, 9092 1.7252, 9093 -0.0148 9094 ] 9095 ], 9096 { 9097 "attributes":{ 9098 "index":495 9099 } 9100 } 9101 ], 9102 "electric-149":[ 9103 [ 9104 [ 9105 1.6981, 9106 1.2814, 9107 0.0206 9108 ], 9109 [ 9110 1.1392, 9111 1.5419, 9112 0.9286 9113 ], 9114 [ 9115 1.6981, 9116 1.2814, 9117 0.0206 9118 ], 9119 [ 9120 1.4831, 9121 1.1, 9122 1.0657 9123 ], 9124 [ 9125 1.6981, 9126 1.2814, 9127 0.0206 9128 ], 9129 [ 9130 0.9415, 9131 1.8475, 9132 0.4931 9133 ] 9134 ], 9135 { 9136 "attributes":{ 9137 "index":641 9138 } 9139 } 9140 ], 9141 "electric-150":[ 9142 [ 9143 [ 9144 1.6981, 9145 1.2814, 9146 0.0206 9147 ], 9148 [ 9149 2.031, 9150 0.647, 9151 0.0365 9152 ], 9153 [ 9154 1.6981, 9155 1.2814, 9156 0.0206 9157 ], 9158 [ 9159 1.8315, 9160 0.902, 9161 0.6023 9162 ] 9163 ], 9164 { 9165 "attributes":{ 9166 "index":12 9167 } 9168 } 9169 ], 9170 "electric-151":[ 9171 [ 9172 [ 9173 1.6981, 9174 1.2814, 9175 0.0206 9176 ], 9177 [ 9178 1.2476, 9179 1.7252, 9180 -0.0148 9181 ], 9182 [ 9183 1.6981, 9184 1.2814, 9185 0.0206 9186 ], 9187 [ 9188 1.4914, 9189 1.433, 9190 0.5084 9191 ] 9192 ], 9193 { 9194 "attributes":{
9195 "index":266 9196 } 9197 } 9198 ], 9199 "electric-152":[ 9200 [ 9201 [ 9202 1.4351, 9203 1.4695, 9204 -0.5736 9205 ], 9206 [ 9207 1.4914, 9208 1.433, 9209 0.5084 9210 ] 9211 ], 9212 { 9213 "attributes":{ 9214 "index":907 9215 } 9216 } 9217 ], 9218 "electric-153":[ 9219 [ 9220 [ 9221 1.4351, 9222 1.4695, 9223 -0.5736 9224 ], 9225 [ 9226 1.6981, 9227 1.2814, 9228 0.0206 9229 ] 9230 ], 9231 { 9232 "attributes":{ 9233 "index":929 9234 } 9235 } 9236 ], 9237 "electric-154":[ 9238 [ 9239 [ 9240 1.4351, 9241 1.4695, 9242 -0.5736 9243 ], 9244 [ 9245 1.2476, 9246 1.7252, 9247 -0.0148 9248 ], 9249 [ 9250 1.4351, 9251 1.4695, 9252 -0.5736 9253 ], 9254 [ 9255 0.9406, 9256 1.831, 9257 -0.5549 9258 ] 9259 ], 9260 { 9261 "attributes":{ 9262 "index":867 9263 } 9264 } 9265 ], 9266 "electric-155":[ 9267 [ 9268 [ 9269 1.8295, 9270 0.9603, 9271 -0.5191 9272 ], 9273 [ 9274 1.2476, 9275 1.7252, 9276 -0.0148 9277 ] 9278 ], 9279 { 9280 "attributes":{ 9281 "index":821 9282 } 9283 } 9284 ], 9285 "electric-156":[ 9286 [ 9287 [ 9288 1.8295, 9289 0.9603, 9290 -0.5191 9291 ], 9292 [ 9293 2.031, 9294 0.647, 9295 0.0365 9296 ] 9297 ], 9298 { 9299 "attributes":{ 9300 "index":145 9301 } 9302 } 9303 ], 9304 "electric-157":[ 9305 [ 9306 [ 9307 1.8295, 9308 0.9603, 9309 -0.5191 9310 ], 9311 [ 9312 1.6981, 9313 1.2814, 9314 0.0206 9315 ], 9316 [ 9317 1.8295, 9318 0.9603, 9319 -0.5191 9320 ], 9321 [ 9322 1.4351, 9323 1.4695, 9324 -0.5736 9325 ] 9326 ], 9327 { 9328 "attributes":{ 9329 "index":526 9330 } 9331 } 9332 ], 9333 "electric-158":[ 9334 [ 9335 [ 9336 1.806, 9337 -0.619, 9338 0.9428 9339 ], 9340 [ 9341 1.4513, 9342 -1.4582, 9343 0.5608 9344 ], 9345 [ 9346 1.806, 9347 -0.619, 9348 0.9428 9349 ], 9350 [ 9351 1.8328, 9352 0.0033, 9353 1.0872 9354 ] 9355 ], 9356 { 9357 "attributes":{ 9358 "index":81 9359 } 9360 } 9361 ], 9362 "electric-159":[ 9363 [ 9364 [ 9365 1.806, 9366 -0.619, 9367 0.9428 9368 ], 9369 [ 9370 1.4999, 9371 -0.4955, 9372 1.4329 9373 ], 9374 [ 9375 1.806, 9376 -0.619, 9377 0.9428 9378 ], 9379 [ 9380 1.4942, 9381 -1.0466, 9382 1.0985 9383 ] 9384 ], 9385 { 9386 "attributes":{ 9387 "index":846 9388 } 9389 } 9390 ], 9391 "electric-160":[ 9392 [ 9393 [ 9394 2.0535, 9395 -0.3056, 9396 0.4945 9397 ], 9398 [ 9399 1.7428, 9400 0.5294, 9401 1.0997 9402 ], 9403 [ 9404 2.0535, 9405 -0.3056, 9406 0.4945 9407 ], 9408 [ 9409 2.031, 9410 0.647, 9411 0.0365 9412 ] 9413 ], 9414 { 9415 "attributes":{ 9416 "index":249 9417 } 9418 } 9419 ], 9420 "electric-161":[ 9421 [ 9422 [ 9423 2.0535, 9424 -0.3056, 9425 0.4945 9426 ], 9427 [ 9428 1.8328, 9429 0.0033, 9430 1.0872 9431 ], 9432 [ 9433 2.0535, 9434 -0.3056, 9435 0.4945 9436 ], 9437 [ 9438 2.028, 9439 0.3274, 9440 0.5735 9441 ] 9442 ], 9443 { 9444 "attributes":{ 9445 "index":88 9446 } 9447 } 9448 ], 9449 "electric-162":[ 9450 [ 9451 [ 9452 2.0535, 9453 -0.3056, 9454 0.4945 9455 ], 9456 [ 9457 1.806, 9458 -0.619, 9459 0.9428 9460 ] 9461 ], 9462 { 9463 "attributes":{ 9464 "index":816 9465 } 9466 } 9467 ], 9468 "electric-163":[ 9469 [ 9470 [ 9471 2.13, 9472 0.0061, 9473 -0.0266 9474 ], 9475 [ 9476 1.8295, 9477 0.9603, 9478 -0.5191 9479 ] 9480 ], 9481 { 9482 "attributes":{ 9483 "index":152 9484 } 9485 } 9486 ], 9487 "electric-164":[ 9488 [ 9489 [ 9490 2.13, 9491 0.0061, 9492 -0.0266 9493 ], 9494 [ 9495 2.028, 9496 0.3274, 9497 0.5735 9498 ] 9499 ], 9500 { 9501 "attributes":{ 9502 "index":585 9503 } 9504 } 9505 ], 9506 "electric-165":[ 9507 [ 9508 [ 9509 2.13, 9510 0.0061, 9511 -0.0266 9512 ], 9513 [ 9514 2.031, 9515 0.647, 9516 0.0365 9517 ], 9518 [ 9519 2.13, 9520 0.0061, 9521 -0.0266 9522 ], 9523 [ 9524 2.0535, 9525 -0.3056, 9526 0.4945 9527 ] 9528 ], 9529 { 9530 "attributes":{ 9531 "index":115 9532 } 9533 } 9534 ], 9535 "electric-166":[ 9536 [ 9537 [ 9538 2.0406, 9539 0.3192, 9540 -0.5214 9541 ], 9542 [ 9543 1.8295, 9544 0.9603, 9545 -0.5191 9546 ], 9547 [ 9548 2.0406, 9549 0.3192, 9550 -0.5214 9551 ], 9552 [ 9553 2.031, 9554 0.647, 9555 0.0365 9556 ] 9557 ], 9558 { 9559 "attributes":{ 9560 "index":696 9561 } 9562 } 9563 ], 9564 "electric-167":[ 9565 [ 9566 [ 9567 2.0406, 9568 0.3192, 9569 -0.5214 9570 ], 9571 [ 9572 2.13, 9573 0.0061, 9574 -0.0266 9575 ] 9576 ], 9577 { 9578 "attributes":{ 9579 "index":720 9580 } 9581 } 9582 ],
9583 "electric-168":[ 9584 [ 9585 [ 9586 1.8344, 9587 -0.9634, 9588 0.5044 9589 ], 9590 [ 9591 1.0769, 9592 -1.4743, 9593 1.0969 9594 ], 9595 [ 9596 1.8344, 9597 -0.9634, 9598 0.5044 9599 ], 9600 [ 9601 1.2605, 9602 -1.72, 9603 0.042 9604 ] 9605 ], 9606 { 9607 "attributes":{ 9608 "index":495 9609 } 9610 } 9611 ], 9612 "electric-169":[ 9613 [ 9614 [ 9615 1.8344, 9616 -0.9634, 9617 0.5044 9618 ], 9619 [ 9620 2.0535, 9621 -0.3056, 9622 0.4945 9623 ], 9624 [ 9625 1.8344, 9626 -0.9634, 9627 0.5044 9628 ], 9629 [ 9630 1.4942, 9631 -1.0466, 9632 1.0985 9633 ] 9634 ], 9635 { 9636 "attributes":{ 9637 "index":606 9638 } 9639 } 9640 ], 9641 "electric-170":[ 9642 [ 9643 [ 9644 1.8344, 9645 -0.9634, 9646 0.5044 9647 ], 9648 [ 9649 1.4513, 9650 -1.4582, 9651 0.5608 9652 ], 9653 [ 9654 1.8344, 9655 -0.9634, 9656 0.5044 9657 ], 9658 [ 9659 1.806, 9660 -0.619, 9661 0.9428 9662 ] 9663 ], 9664 { 9665 "attributes":{ 9666 "index":531 9667 } 9668 } 9669 ], 9670 "electric-171":[ 9671 [ 9672 [ 9673 2.0318, 9674 -0.6457, 9675 -0.045 9676 ], 9677 [ 9678 2.0406, 9679 0.3192, 9680 -0.5214 9681 ], 9682 [ 9683 2.0318, 9684 -0.6457, 9685 -0.045 9686 ], 9687 [ 9688 1.806, 9689 -0.619, 9690 0.9428 9691 ] 9692 ], 9693 { 9694 "attributes":{ 9695 "index":635 9696 } 9697 } 9698 ], 9699 "electric-172":[ 9700 [ 9701 [ 9702 2.0318, 9703 -0.6457, 9704 -0.045 9705 ], 9706 [ 9707 1.8344, 9708 -0.9634, 9709 0.5044 9710 ], 9711 [ 9712 2.0318, 9713 -0.6457, 9714 -0.045 9715 ], 9716 [ 9717 2.13, 9718 0.0061, 9719 -0.0266 9720 ] 9721 ], 9722 { 9723 "attributes":{ 9724 "index":85 9725 } 9726 } 9727 ], 9728 "electric-173":[ 9729 [ 9730 [ 9731 2.0318, 9732 -0.6457, 9733 -0.045 9734 ], 9735 [ 9736 2.0535, 9737 -0.3056, 9738 0.4945 9739 ] 9740 ], 9741 { 9742 "attributes":{ 9743 "index":15 9744 } 9745 } 9746 ], 9747 "electric-174":[ 9748 [ 9749 [ 9750 2.0226, 9751 -0.3329, 9752 -0.5849 9753 ], 9754 [ 9755 2.0535, 9756 -0.3056, 9757 0.4945 9758 ] 9759 ], 9760 { 9761 "attributes":{ 9762 "index":516 9763 } 9764 } 9765 ], 9766 "electric-175":[ 9767 [ 9768 [ 9769 2.0226, 9770 -0.3329, 9771 -0.5849 9772 ], 9773 [ 9774 2.13, 9775 0.0061, 9776 -0.0266 9777 ], 9778 [ 9779 2.0226, 9780 -0.3329, 9781 -0.5849 9782 ], 9783 [ 9784 2.0406, 9785 0.3192, 9786 -0.5214 9787 ] 9788 ], 9789 { 9790 "attributes":{ 9791 "index":331 9792 } 9793 } 9794 ], 9795 "electric-176":[ 9796 [ 9797 [ 9798 2.0226, 9799 -0.3329, 9800 -0.5849 9801 ], 9802 [ 9803 2.0318, 9804 -0.6457, 9805 -0.045 9806 ] 9807 ], 9808 { 9809 "attributes":{ 9810 "index":806 9811 } 9812 } 9813 ], 9814 "electric-177":[ 9815 [ 9816 [ 9817 1.7061, 9818 -1.2733, 9819 0.0182 9820 ], 9821 [ 9822 1.4942, 9823 -1.0466, 9824 1.0985 9825 ], 9826 [ 9827 1.7061, 9828 -1.2733, 9829 0.0182 9830 ], 9831 [ 9832 0.936, 9833 -1.8347, 9834 0.5417 9835 ] 9836 ], 9837 { 9838 "attributes":{ 9839 "index":189 9840 } 9841 } 9842 ], 9843 "electric-178":[ 9844 [ 9845 [ 9846 1.7061, 9847 -1.2733, 9848 0.0182 9849 ], 9850 [ 9851 2.0318, 9852 -0.6457, 9853 -0.045 9854 ], 9855 [ 9856 1.7061, 9857 -1.2733, 9858 0.0182 9859 ], 9860 [ 9861 1.2605, 9862 -1.72, 9863 0.042 9864 ] 9865 ], 9866 { 9867 "attributes":{ 9868 "index":563 9869 } 9870 } 9871 ], 9872 "electric-179":[ 9873 [ 9874 [ 9875 1.7061, 9876 -1.2733, 9877 0.0182 9878 ], 9879 [ 9880 1.4513, 9881 -1.4582, 9882 0.5608 9883 ], 9884 [ 9885 1.7061, 9886 -1.2733, 9887 0.0182 9888 ], 9889 [ 9890 1.8344, 9891 -0.9634, 9892 0.5044 9893 ] 9894 ], 9895 { 9896 "attributes":{ 9897 "index":933 9898 } 9899 } 9900 ], 9901 "electric-180":[ 9902 [ 9903 [ 9904 1.8223, 9905 -0.9494, 9906 -0.5568 9907 ], 9908 [ 9909 1.8344, 9910 -0.9634, 9911 0.5044 9912 ] 9913 ], 9914 { 9915 "attributes":{ 9916 "index":365 9917 } 9918 } 9919 ], 9920 "electric-181":[ 9921 [ 9922 [ 9923 1.8223, 9924 -0.9494, 9925 -0.5568 9926 ], 9927 [ 9928 1.7061, 9929 -1.2733, 9930 0.0182 9931 ], 9932 [ 9933 1.8223, 9934 -0.9494, 9935 -0.5568 9936 ], 9937 [ 9938 2.0226, 9939 -0.3329, 9940 -0.5849 9941 ] 9942 ], 9943 { 9944 "attributes":{ 9945 "index":869 9946 } 9947 } 9948 ], 9949 "electric-182":[ 9950 [ 9951 [ 9952 1.8223, 9953 -0.9494, 9954 -0.5568 9955 ], 9956 [ 9957 2.0318, 9958 -0.6457, 9959 -0.045 9960 ] 9961 ], 9962 { 9963 "attributes":{ 9964 "index":68 9965 } 9966 } 9967 ], 9968 "electric-183":[ 9969 [ 9970 [ 9971 1.4992, 9972 -1.4312, 9973 -0.4887 9974 ], 9975 [ 9976 2.0318, 9977 -0.6457, 9978 -0.045 9979 ], 9980 [ 9981 1.4992, 9982 -1.4312, 9983 -0.4887 9984 ], 9985 [ 9986 1.4513, 9987 -1.4582, 9988 0.5608 9989 ] 9990 ], 9991 { 9992 "attributes":{ 9993 "index":975 9994 } 9995 } 9996 ], 9997 "electric-184":[ 9998 [ 9999 [ 10000 1.4992, 10001 -1.4312, 10002 -0.4887 10003 ], 10004 [ 10005 1.2605, 10006 -1.72, 10007 0.042 10008 ] 10009 ], 10010 { 10011 "attributes":{ 10012 "index":219 10013 } 10014 } 10015 ], 10016 "electric-185":[ 10017 [ 10018 [ 10019 1.4992, 10020 -1.4312, 10021 -0.4887 10022 ], 10023 [ 10024 1.8223, 10025 -0.9494, 10026 -0.5568 10027 ], 10028 [ 10029 1.4992, 10030 -1.4312, 10031 -0.4887 10032 ], 10033 [ 10034 1.7061, 10035 -1.2733, 10036 0.0182 10037 ] 10038 ], 10039 { 10040 "attributes":{ 10041 "index":11 10042 } 10043 } 10044 ], 10045 "electric-186":[ 10046 [ 10047 [ 10048 0.0137, 10049 -1.9162, 10050 0.9312 10051 ], 10052 [ 10053 -0.9615, 10054 -1.8028, 10055 0.5956 10056 ], 10057 [ 10058 0.0137, 10059 -1.9162, 10060 0.9312 10061 ], 10062 [ 10063 -0.5671, 10064 -1.3469, 10065 1.5486 10066 ] 10067 ], 10068 { 10069 "attributes":{ 10070 "index":376 10071 } 10072 } 10073 ], 10074 "electric-187":[ 10075 [ 10076 [ 10077 0.0137, 10078 -1.9162, 10079 0.9312 10080 ], 10081 [ 10082 0.936, 10083 -1.8347, 10084 0.5417 10085 ], 10086 [ 10087 0.0137, 10088 -1.9162, 10089 0.9312 10090 ], 10091 [ 10092 -0.0292, 10093 -1.5633, 10094 1.4462 10095 ], 10096 [ 10097 0.0137, 10098 -1.9162, 10099 0.9312 10100 ], 10101 [ 10102 -0.5716, 10103 -1.7489, 10104 1.0764 10105 ] 10106 ], 10107 { 10108 "attributes":{ 10109 "index":738 10110 } 10111 } 10112 ], 10113 "electric-188":[ 10114 [ 10115 [ 10116 0.0137, 10117 -1.9162, 10118 0.9312 10119 ], 10120 [ 10121 0.5359, 10122 -1.7443, 10123 1.098 10124 ] 10125 ], 10126 { 10127 "attributes":{ 10128 "index":230 10129 } 10130 } 10131 ], 10132 "electric-189":[ 10133 [ 10134 [ 10135 0.3447, 10136 -2.0482, 10137 0.4814 10138 ], 10139 [ 10140 1.0769, 10141 -1.4743, 10142 1.0969 10143 ], 10144 [ 10145 0.3447, 10146 -2.0482, 10147 0.4814 10148 ], 10149 [ 10150 1.2605, 10151 -1.72, 10152 0.042 10153 ] 10154 ], 10155 { 10156 "attributes":{ 10157 "index":971 10158 } 10159 } 10160 ], 10161 "electric-190":[ 10162 [ 10163 [ 10164 0.3447, 10165 -2.0482, 10166 0.4814 10167 ], 10168 [ 10169 0.5359, 10170 -1.7443, 10171 1.098 10172 ] 10173 ], 10174 { 10175 "attributes":{ 10176 "index":457 10177 } 10178 } 10179 ], 10180 "electric-191":[ 10181 [ 10182 [ 10183 0.3447, 10184 -2.0482, 10185 0.4814 10186 ], 10187 [ 10188 0.936, 10189 -1.8347, 10190 0.5417 10191 ], 10192 [ 10193 0.3447, 10194 -2.0482, 10195 0.4814 10196 ], 10197 [ 10198 0.0137, 10199 -1.9162, 10200 0.9312 10201 ] 10202 ], 10203 { 10204 "attributes":{ 10205 "index":158 10206 } 10207 } 10208 ], 10209 "electric-192":[ 10210 [ 10211 [ 10212 0.6833, 10213 -2.0172, 10214 -0.0087 10215 ], 10216 [ 10217 1.2605, 10218 -1.72, 10219 0.042 10220 ] 10221 ], 10222 { 10223 "attributes":{ 10224 "index":604 10225 } 10226 } 10227 ], 10228 "electric-193":[ 10229 [ 10230 [ 10231 0.6833, 10232 -2.0172, 10233 -0.0087 10234 ], 10235 [ 10236 0.936, 10237 -1.8347, 10238 0.5417 10239 ], 10240 [ 10241 0.6833, 10242 -2.0172, 10243 -0.0087 10244 ], 10245 [ 10246 0.3447, 10247 -2.0482, 10248 0.4814 10249 ] 10250 ], 10251 { 10252 "attributes":{ 10253 "index":211 10254 } 10255 } 10256 ], 10257 "electric-194":[ 10258 [ 10259 [ 10260 0.8959, 10261 -1.8679, 10262 -0.493 10263 ], 10264 [ 10265 0.936, 10266 -1.8347, 10267 0.5417 10268 ] 10269 ], 10270 { 10271 "attributes":{ 10272 "index":938 10273 } 10274 } 10275 ], 10276 "electric-195":[ 10277 [ 10278 [ 10279 0.8959, 10280 -1.8679, 10281 -0.493 10282 ], 10283 [ 10284 1.4992, 10285 -1.4312, 10286 -0.4887 10287 ], 10288 [ 10289 0.8959, 10290 -1.8679, 10291 -0.493 10292 ], 10293 [ 10294 1.2605, 10295 -1.72, 10296 0.042 10297 ] 10298 ], 10299 { 10300 "attributes":{ 10301 "index":843 10302 } 10303 } 10304 ], 10305 "electric-196":[ 10306 [ 10307 [ 10308 0.8959, 10309 -1.8679, 10310 -0.493 10311 ], 10312 [ 10313 0.6833, 10314 -2.0172, 10315 -0.0087 10316 ] 10317 ], 10318 { 10319 "attributes":{ 10320 "index":21 10321 } 10322 } 10323 ], 10324 "electric-197":[ 10325 [ 10326 [ 10327 -0.3172, 10328 -2.0495, 10329 0.4839 10330 ], 10331 [ 10332 -1.2861, 10333 -1.6943, 10334 0.047 10335 ], 10336 [ 10337 -0.3172, 10338 -2.0495, 10339 0.4839 10340 ], 10341 [ 10342 0.5359, 10343 -1.7443, 10344 1.098 10345 ] 10346 ], 10347 { 10348 "attributes":{ 10349 "index":92 10350 } 10351 } 10352 ], 10353 "electric-198":[ 10354 [ 10355 [ 10356 -0.3172, 10357 -2.0495, 10358 0.4839 10359 ], 10360 [ 10361 -0.5716, 10362 -1.7489, 10363 1.0764 10364 ], 10365 [ 10366 -0.3172, 10367 -2.0495, 10368 0.4839 10369 ], 10370 [ 10371 -0.9615, 10372 -1.8028, 10373 0.5956 10374 ], 10375 [ 10376 -0.3172, 10377 -2.0495, 10378 0.4839 10379 ], 10380 [ 10381 0.3447, 10382 -2.0482, 10383 0.4814 10384 ] 10385 ], 10386 { 10387 "attributes":{ 10388 "index":163 10389 } 10390 } 10391 ], 10392 "electric-199":[ 10393 [ 10394 [ 10395 -0.3172, 10396 -2.0495, 10397 0.4839 10398 ], 10399 [ 10400 0.0137, 10401 -1.9162, 10402 0.9312 10403 ] 10404 ], 10405 { 10406 "attributes":{ 10407 "index":814 10408 } 10409 } 10410 ], 10411 "electric-200":[ 10412 [ 10413 [ 10414 0.0088, 10415 -2.1316, 10416 -0.0566 10417 ], 10418 [ 10419 0.8959, 10420 -1.8679, 10421 -0.493 10422 ], 10423 [ 10424 0.0088, 10425 -2.1316, 10426 -0.0566 10427 ], 10428 [ 10429 0.0137, 10430 -1.9162, 10431 0.9312 10432 ] 10433 ], 10434 { 10435 "attributes":{ 10436 "index":280 10437 } 10438 } 10439 ], 10440 "electric-201":[ 10441 [ 10442 [ 10443 0.0088, 10444 -2.1316, 10445 -0.0566 10446 ], 10447 [ 10448 0.6833, 10449 -2.0172, 10450 -0.0087 10451 ], 10452 [ 10453 0.0088, 10454 -2.1316, 10455 -0.0566 10456 ], 10457 [ 10458 0.3447, 10459 -2.0482, 10460 0.4814 10461 ] 10462 ], 10463 { 10464 "attributes":{ 10465 "index":968 10466 } 10467 } 10468 ], 10469 "electric-202":[ 10470 [ 10471 [ 10472 0.0088, 10473 -2.1316, 10474 -0.0566 10475 ], 10476 [ 10477 -0.3172, 10478 -2.0495, 10479 0.4839 10480 ] 10481 ], 10482 { 10483 "attributes":{ 10484 "index":278 10485 } 10486 } 10487 ], 10488 "electric-203":[ 10489 [ 10490 [ 10491 0.3215, 10492 -2.0274, 10493 -0.5747 10494 ], 10495 [ 10496 0.3447, 10497 -2.0482, 10498 0.4814 10499 ] 10500 ], 10501 { 10502 "attributes":{ 10503 "index":68 10504 } 10505 } 10506 ], 10507 "electric-204":[ 10508 [ 10509 [ 10510 0.3215, 10511 -2.0274, 10512 -0.5747 10513 ], 10514 [ 10515 0.6833, 10516 -2.0172, 10517 -0.0087 10518 ], 10519 [ 10520 0.3215, 10521 -2.0274, 10522 -0.5747 10523 ], 10524 [ 10525 0.0088, 10526 -2.1316, 10527 -0.0566 10528 ] 10529 ], 10530 { 10531 "attributes":{ 10532 "index":238 10533 } 10534 } 10535 ], 10536 "electric-205":[ 10537 [ 10538 [ 10539 0.3215, 10540 -2.0274, 10541 -0.5747 10542 ], 10543 [ 10544 0.8959, 10545 -1.8679, 10546 -0.493 10547 ] 10548 ], 10549 { 10550 "attributes":{ 10551 "index":587 10552 } 10553 } 10554 ], 10555 "electric-206":[ 10556 [ 10557 [ 10558 -0.6698, 10559 -2.0231, 10560 -0.021 10561 ], 10562 [ 10563 0.3447, 10564 -2.0482, 10565 0.4814 10566 ] 10567 ], 10568 { 10569 "attributes":{ 10570 "index":779 10571 } 10572 } 10573 ], 10574 "electric-207":[ 10575 [ 10576 [ 10577 -0.6698, 10578 -2.0231, 10579 -0.021 10580 ], 10581 [ 10582 -0.9615, 10583 -1.8028, 10584 0.5956 10585 ], 10586 [ 10587 -0.6698, 10588 -2.0231, 10589 -0.021 10590 ], 10591 [ 10592 -1.2861, 10593 -1.6943, 10594 0.047 10595 ], 10596 [ 10597 -0.6698, 10598 -2.0231, 10599 -0.021 10600 ], 10601 [ 10602 0.0088, 10603 -2.1316, 10604 -0.0566 10605 ] 10606 ], 10607 { 10608 "attributes":{ 10609 "index":898 10610 } 10611 } 10612 ], 10613 "electric-208":[ 10614 [ 10615 [ 10616 -0.6698, 10617 -2.0231, 10618 -0.021 10619 ], 10620 [ 10621 -0.3172, 10622 -2.0495, 10623 0.4839 10624 ] 10625 ], 10626 { 10627 "attributes":{ 10628 "index":528 10629 } 10630 } 10631 ], 10632 "electric-209":[ 10633 [ 10634 [ 10635 -0.2911, 10636 -2.0303, 10637 -0.5788 10638 ], 10639 [ 10640 -0.3172, 10641 -2.0495, 10642 0.4839 10643 ] 10644 ], 10645 { 10646 "attributes":{ 10647 "index":875 10648 } 10649 } 10650 ], 10651 "electric-210":[ 10652 [ 10653 [ 10654 -0.2911, 10655 -2.0303, 10656 -0.5788 10657 ], 10658 [ 10659 -0.6698, 10660 -2.0231, 10661 -0.021 10662 ] 10663 ], 10664 { 10665 "attributes":{ 10666 "index":764 10667 } 10668 } 10669 ], 10670 "electric-211":[ 10671 [ 10672 [ 10673 -0.2911, 10674 -2.0303, 10675 -0.5788 10676 ], 10677 [ 10678 0.3215, 10679 -2.0274, 10680 -0.5747 10681 ], 10682 [ 10683 -0.2911, 10684 -2.0303, 10685 -0.5788 10686 ], 10687 [ 10688 0.0088, 10689 -2.1316, 10690 -0.0566 10691 ] 10692 ], 10693 { 10694 "attributes":{ 10695 "index":250 10696 } 10697 } 10698 ], 10699 "electric-212":[ 10700 [ 10701 [ 10702 -0.9318, 10703 -1.849, 10704 -0.5093 10705 ], 10706 [ 10707 0.0088, 10708 -2.1316, 10709 -0.0566 10710 ] 10711 ], 10712 { 10713 "attributes":{ 10714 "index":533 10715 } 10716 } 10717 ], 10718 "electric-213":[ 10719 [ 10720 [ 10721 -0.9318, 10722 -1.849, 10723 -0.5093 10724 ], 10725 [ 10726 -1.2861, 10727 -1.6943, 10728 0.047 10729 ], 10730 [ 10731 -0.9318, 10732 -1.849, 10733 -0.5093 10734 ], 10735 [ 10736 -0.2911, 10737 -2.0303, 10738 -0.5788 10739 ] 10740 ], 10741 { 10742 "attributes":{ 10743 "index":303 10744 } 10745 } 10746 ], 10747 "electric-214":[ 10748 [ 10749 [ 10750 -0.9318, 10751 -1.849, 10752 -0.5093 10753 ], 10754 [ 10755 -0.6698, 10756 -2.0231, 10757 -0.021 10758 ] 10759 ], 10760 { 10761 "attributes":{ 10762 "index":330 10763 } 10764 } 10765 ], 10766 "electric-215":[ 10767 [ 10768 [ 10769 -1.8247, 10770 -0.5638, 10771 0.9423 10772 ], 10773 [ 10774 -1.4573, 10775 -1.4493, 10776 0.5641 10777 ], 10778 [ 10779 -1.8247, 10780 -0.5638, 10781 0.9423 10782 ], 10783 [ 10784 -1.4416, 10785 0.1805, 10786 1.5558 10787 ] 10788 ], 10789 { 10790 "attributes":{ 10791 "index":913 10792 } 10793 } 10794 ], 10795 "electric-216":[ 10796 [ 10797 [ 10798 -1.8247, 10799 -0.5638, 10800 0.9423 10801 ], 10802 [ 10803 -2.031, 10804 0.3188, 10805 0.5626 10806 ], 10807 [ 10808 -1.8247, 10809 -0.5638, 10810 0.9423 10811 ], 10812 [ 10813 -1.4882, 10814 -1.0691, 10815 1.0902 10816 ], 10817 [ 10818 -1.8247, 10819 -0.5638, 10820 0.9423 10821 ], 10822 [ 10823 -1.493, 10824 -0.46, 10825 1.448 10826 ] 10827 ], 10828 { 10829 "attributes":{ 10830 "index":350 10831 } 10832 } 10833 ], 10834 "electric-217":[ 10835 [ 10836 [ 10837 -1.8247, 10838 -0.5638, 10839 0.9423 10840 ], 10841 [ 10842 -1.8519, 10843 0.0067, 10844 1.0503 10845 ] 10846 ], 10847 { 10848 "attributes":{ 10849 "index":176 10850 } 10851 } 10852 ], 10853 "electric-218":[ 10854 [ 10855 [ 10856 -1.8515, 10857 -0.9329, 10858 0.4858 10859 ], 10860 [ 10861 -1.8519, 10862 0.0067, 10863 1.0503 10864 ], 10865 [ 10866 -1.8515, 10867 -0.9329, 10868 0.4858 10869 ], 10870 [ 10871 -1.2861, 10872 -1.6943, 10873 0.047 10874 ] 10875 ], 10876 { 10877 "attributes":{ 10878 "index":984 10879 } 10880 } 10881 ], 10882 "electric-219":[ 10883 [ 10884 [ 10885 -1.8515, 10886 -0.9329, 10887 0.4858 10888 ], 10889 [ 10890 -1.8247, 10891 -0.5638, 10892 0.9423 10893 ] 10894 ], 10895 { 10896 "attributes":{ 10897 "index":255 10898 } 10899 } 10900 ], 10901 "electric-220":[ 10902 [ 10903 [ 10904 -1.7314, 10905 -1.2437, 10906 -0.0102 10907 ], 10908 [ 10909 -1.4573, 10910 -1.4493, 10911 0.5641 10912 ] 10913 ], 10914 { 10915 "attributes":{ 10916 "index":17 10917 } 10918 } 10919 ], 10920 "electric-221":[ 10921 [ 10922 [ 10923 -1.7314, 10924 -1.2437, 10925 -0.0102 10926 ], 10927 [ 10928 -1.2861, 10929 -1.6943, 10930 0.047 10931 ], 10932 [ 10933 -1.7314, 10934 -1.2437, 10935 -0.0102 10936 ], 10937 [ 10938 -1.8515, 10939 -0.9329, 10940 0.4858 10941 ] 10942 ], 10943 { 10944 "attributes":{ 10945 "index":559 10946 } 10947 } 10948 ], 10949 "electric-222":[ 10950 [ 10951 [ 10952 -1.457, 10953 -1.4604, 10954 -0.5276 10955 ], 10956 [ 10957 -1.4573, 10958 -1.4493, 10959 0.5641 10960 ] 10961 ], 10962 { 10963 "attributes":{ 10964 "index":539 10965 } 10966 } 10967 ], 10968 "electric-223":[ 10969 [ 10970 [ 10971 -1.457, 10972 -1.4604, 10973 -0.5276 10974 ], 10975 [ 10976 -0.9318, 10977 -1.849, 10978 -0.5093 10979 ] 10980 ], 10981 { 10982 "attributes":{ 10983 "index":125 10984 } 10985 } 10986 ], 10987 "electric-224":[ 10988 [ 10989 [ 10990 -1.457, 10991 -1.4604, 10992 -0.5276 10993 ], 10994 [ 10995 -1.2861, 10996 -1.6943, 10997 0.047 10998 ], 10999 [ 11000 -1.457, 11001 -1.4604, 11002 -0.5276 11003 ], 11004 [ 11005 -1.7314, 11006 -1.2437, 11007 -0.0102 11008 ] 11009 ], 11010 { 11011 "attributes":{ 11012 "index":321 11013 } 11014 } 11015 ], 11016 "electric-225":[ 11017 [ 11018 [ 11019 -2.0538, 11020 -0.3082, 11021 0.4846 11022 ], 11023 [ 11024 -1.7314, 11025 -1.2437, 11026 -0.0102 11027 ], 11028 [ 11029 -2.0538, 11030 -0.3082, 11031 0.4846 11032 ], 11033 [ 11034 -2.0273, 11035 0.6501, 11036 0.0144 11037 ] 11038 ], 11039 { 11040 "attributes":{ 11041 "index":459 11042 } 11043 } 11044 ], 11045 "electric-226":[ 11046 [ 11047 [ 11048 -2.0538, 11049 -0.3082, 11050 0.4846 11051 ], 11052 [ 11053 -1.8519, 11054 0.0067, 11055 1.0503 11056 ], 11057 [ 11058 -2.0538, 11059 -0.3082, 11060 0.4846 11061 ], 11062 [ 11063 -1.8515, 11064 -0.9329, 11065 0.4858 11066 ], 11067 [ 11068 -2.0538, 11069 -0.3082, 11070 0.4846 11071 ], 11072 [ 11073 -2.031, 11074 0.3188, 11075 0.5626 11076 ] 11077 ], 11078 { 11079 "attributes":{ 11080 "index":236 11081 } 11082 } 11083 ], 11084 "electric-227":[ 11085 [ 11086 [ 11087 -2.0538, 11088 -0.3082, 11089 0.4846 11090 ], 11091 [ 11092 -1.8247, 11093 -0.5638, 11094 0.9423 11095 ] 11096 ], 11097 { 11098 "attributes":{ 11099 "index":204 11100 } 11101 } 11102 ], 11103 "electric-228":[ 11104 [ 11105 [ 11106 -2.0315, 11107 -0.6389, 11108 -0.0225 11109 ], 11110 [ 11111 -2.031, 11112 0.3188, 11113 0.5626 11114 ], 11115 [ 11116 -2.0315, 11117 -0.6389, 11118 -0.0225 11119 ], 11120 [ 11121 -1.8247, 11122 -0.5638, 11123 0.9423 11124 ] 11125 ], 11126 { 11127 "attributes":{ 11128 "index":737 11129 } 11130 } 11131 ], 11132 "electric-229":[
11133 [ 11134 [ 11135 -2.0315, 11136 -0.6389, 11137 -0.0225 11138 ], 11139 [ 11140 -1.7314, 11141 -1.2437, 11142 -0.0102 11143 ] 11144 ], 11145 { 11146 "attributes":{ 11147 "index":846 11148 } 11149 } 11150 ], 11151 "electric-230":[ 11152 [ 11153 [ 11154 -2.0315, 11155 -0.6389, 11156 -0.0225 11157 ], 11158 [ 11159 -1.8515, 11160 -0.9329, 11161 0.4858 11162 ], 11163 [ 11164 -2.0315, 11165 -0.6389, 11166 -0.0225 11167 ], 11168 [ 11169 -2.0538, 11170 -0.3082, 11171 0.4846 11172 ] 11173 ], 11174 { 11175 "attributes":{ 11176 "index":315 11177 } 11178 } 11179 ], 11180 "electric-231":[ 11181 [ 11182 [ 11183 -1.848, 11184 -0.906, 11185 -0.5512 11186 ], 11187 [ 11188 -1.8515, 11189 -0.9329, 11190 0.4858 11191 ] 11192 ], 11193 { 11194 "attributes":{ 11195 "index":183 11196 } 11197 } 11198 ], 11199 "electric-232":[ 11200 [ 11201 [ 11202 -1.848, 11203 -0.906, 11204 -0.5512 11205 ], 11206 [ 11207 -1.457, 11208 -1.4604, 11209 -0.5276 11210 ] 11211 ], 11212 { 11213 "attributes":{ 11214 "index":647 11215 } 11216 } 11217 ], 11218 "electric-233":[ 11219 [ 11220 [ 11221 -1.848, 11222 -0.906, 11223 -0.5512 11224 ], 11225 [ 11226 -1.7314, 11227 -1.2437, 11228 -0.0102 11229 ], 11230 [ 11231 -1.848, 11232 -0.906, 11233 -0.5512 11234 ], 11235 [ 11236 -2.0315, 11237 -0.6389, 11238 -0.0225 11239 ] 11240 ], 11241 { 11242 "attributes":{ 11243 "index":63 11244 } 11245 } 11246 ], 11247 "electric-234":[ 11248 [ 11249 [ 11250 -2.13, 11251 0.0134, 11252 -0.0272 11253 ], 11254 [ 11255 -1.8519, 11256 0.0067, 11257 1.0503 11258 ], 11259 [ 11260 -2.13, 11261 0.0134, 11262 -0.0272 11263 ], 11264 [ 11265 -1.848, 11266 -0.906, 11267 -0.5512 11268 ] 11269 ], 11270 { 11271 "attributes":{ 11272 "index":67 11273 } 11274 } 11275 ], 11276 "electric-235":[ 11277 [ 11278 [ 11279 -2.13, 11280 0.0134, 11281 -0.0272 11282 ], 11283 [ 11284 -2.031, 11285 0.3188, 11286 0.5626 11287 ], 11288 [ 11289 -2.13, 11290 0.0134, 11291 -0.0272 11292 ], 11293 [ 11294 -2.0315, 11295 -0.6389, 11296 -0.0225 11297 ] 11298 ], 11299 { 11300 "attributes":{ 11301 "index":486 11302 } 11303 } 11304 ], 11305 "electric-236":[ 11306 [ 11307 [ 11308 -2.13, 11309 0.0134, 11310 -0.0272 11311 ], 11312 [ 11313 -2.0273, 11314 0.6501, 11315 0.0144 11316 ], 11317 [ 11318 -2.13, 11319 0.0134, 11320 -0.0272 11321 ], 11322 [ 11323 -2.0538, 11324 -0.3082, 11325 0.4846 11326 ] 11327 ], 11328 { 11329 "attributes":{ 11330 "index":401 11331 } 11332 } 11333 ], 11334 "electric-237":[ 11335 [ 11336 [ 11337 -2.0141, 11338 -0.3212, 11339 -0.6064 11340 ], 11341 [ 11342 -2.0538, 11343 -0.3082, 11344 0.4846 11345 ] 11346 ], 11347 { 11348 "attributes":{ 11349 "index":156 11350 } 11351 } 11352 ], 11353 "electric-238":[ 11354 [ 11355 [ 11356 -2.0141, 11357 -0.3212, 11358 -0.6064 11359 ], 11360 [ 11361 -2.13, 11362 0.0134, 11363 -0.0272 11364 ], 11365 [ 11366 -2.0141, 11367 -0.3212, 11368 -0.6064 11369 ], 11370 [ 11371 -2.0315, 11372 -0.6389, 11373 -0.0225 11374 ] 11375 ], 11376 { 11377 "attributes":{ 11378 "index":741 11379 } 11380 } 11381 ], 11382 "electric-239":[ 11383 [ 11384 [ 11385 -2.0141, 11386 -0.3212, 11387 -0.6064 11388 ], 11389 [ 11390 -1.848, 11391 -0.906, 11392 -0.5512 11393 ] 11394 ], 11395 { 11396 "attributes":{ 11397 "index":5 11398 } 11399 } 11400 ], 11401 "electric-240":[ 11402 [ 11403 [ 11404 -2.0509, 11405 0.3168, 11406 -0.4906 11407 ], 11408 [ 11409 -2.0315, 11410 -0.6389, 11411 -0.0225 11412 ], 11413 [ 11414 -2.0509, 11415 0.3168, 11416 -0.4906 11417 ], 11418 [ 11419 -2.031, 11420 0.3188, 11421 0.5626 11422 ] 11423 ], 11424 { 11425 "attributes":{ 11426 "index":420 11427 } 11428 } 11429 ], 11430 "electric-241":[ 11431 [ 11432 [ 11433 -2.0509, 11434 0.3168, 11435 -0.4906 11436 ], 11437 [ 11438 -2.0141, 11439 -0.3212, 11440 -0.6064 11441 ] 11442 ], 11443 { 11444 "attributes":{ 11445 "index":138 11446 } 11447 } 11448 ], 11449 "electric-242":[ 11450 [ 11451 [ 11452 -2.0509, 11453 0.3168, 11454 -0.4906 11455 ], 11456 [ 11457 -2.0273, 11458 0.6501, 11459 0.0144 11460 ], 11461 [ 11462 -2.0509, 11463 0.3168, 11464 -0.4906 11465 ], 11466 [ 11467 -2.13, 11468 0.0134, 11469 -0.0272 11470 ] 11471 ], 11472 { 11473 "attributes":{ 11474 "index":978 11475 } 11476 } 11477 ], 11478 "electric-243":[ 11479 [ 11480 [ 11481 -1.1242, 11482 1.5463, 11483 0.946 11484 ], 11485 [ 11486 -1.2548, 11487 0.7317, 11488 1.5639 11489 ], 11490 [ 11491 -1.1242, 11492 1.5463, 11493 0.946 11494 ], 11495 [ 11496 -0.3065, 11497 2.0301, 11498 0.5779 11499 ] 11500 ], 11501 { 11502 "attributes":{ 11503 "index":842 11504 } 11505 } 11506 ], 11507 "electric-244":[ 11508 [ 11509 [ 11510 -1.1242, 11511 1.5463, 11512 0.946 11513 ], 11514 [ 11515 -1.8205, 11516 0.9241, 11517 0.6021 11518 ], 11519 [ 11520 -1.1242, 11521 1.5463, 11522 0.946 11523 ], 11524 [ 11525 -1.5024, 11526 1.0781, 11527 1.0546 11528 ] 11529 ], 11530 { 11531 "attributes":{ 11532 "index":543 11533 } 11534 } 11535 ], 11536 "electric-245":[ 11537 [ 11538 [ 11539 -1.1242, 11540 1.5463, 11541 0.946 11542 ], 11543 [ 11544 -0.8964, 11545 1.2959, 11546 1.4304 11547 ], 11548 [ 11549 -1.1242, 11550 1.5463, 11551 0.946 11552 ], 11553 [ 11554 -0.5938, 11555 1.7427,
11556 1.077 11557 ] 11558 ], 11559 { 11560 "attributes":{ 11561 "index":902 11562 } 11563 } 11564 ], 11565 "electric-246":[ 11566 [ 11567 [ 11568 -1.4832, 11569 1.4545, 11570 0.4754 11571 ], 11572 [ 11573 -0.5938, 11574 1.7427, 11575 1.077 11576 ], 11577 [ 11578 -1.4832, 11579 1.4545, 11580 0.4754 11581 ], 11582 [ 11583 -2.0273, 11584 0.6501, 11585 0.0144 11586 ] 11587 ], 11588 { 11589 "attributes":{ 11590 "index":867 11591 } 11592 } 11593 ], 11594 "electric-247":[ 11595 [ 11596 [ 11597 -1.4832, 11598 1.4545, 11599 0.4754 11600 ], 11601 [ 11602 -1.5024, 11603 1.0781, 11604 1.0546 11605 ], 11606 [ 11607 -1.4832, 11608 1.4545, 11609 0.4754 11610 ], 11611 [ 11612 -1.8205, 11613 0.9241, 11614 0.6021 11615 ] 11616 ], 11617 { 11618 "attributes":{ 11619 "index":426 11620 } 11621 } 11622 ], 11623 "electric-248":[ 11624 [ 11625 [ 11626 -1.4832, 11627 1.4545, 11628 0.4754 11629 ], 11630 [ 11631 -1.1242, 11632 1.5463, 11633 0.946 11634 ] 11635 ], 11636 { 11637 "attributes":{ 11638 "index":687 11639 } 11640 } 11641 ], 11642 "electric-249":[ 11643 [ 11644 [ 11645 -1.7191, 11646 1.2587, 11647 -0.0217 11648 ], 11649 [ 11650 -1.5024, 11651 1.0781, 11652 1.0546 11653 ], 11654 [ 11655 -1.7191, 11656 1.2587, 11657 -0.0217 11658 ], 11659 [ 11660 -2.0509, 11661 0.3168, 11662 -0.4906 11663 ] 11664 ], 11665 { 11666 "attributes":{ 11667 "index":478 11668 } 11669 } 11670 ], 11671 "electric-250":[ 11672 [ 11673 [ 11674 -1.7191, 11675 1.2587, 11676 -0.0217 11677 ], 11678 [ 11679 -1.8205, 11680 0.9241, 11681 0.6021 11682 ], 11683 [ 11684 -1.7191, 11685 1.2587, 11686 -0.0217 11687 ], 11688 [ 11689 -2.0273, 11690 0.6501, 11691 0.0144 11692 ] 11693 ], 11694 { 11695 "attributes":{ 11696 "index":433 11697 } 11698 } 11699 ], 11700 "electric-251":[ 11701 [ 11702 [ 11703 -1.7191, 11704 1.2587, 11705 -0.0217 11706 ], 11707 [ 11708 -1.4832, 11709 1.4545, 11710 0.4754 11711 ] 11712 ], 11713 { 11714 "attributes":{ 11715 "index":160 11716 } 11717 } 11718 ], 11719 "electric-252":[ 11720 [ 11721 [ 11722 -1.8364, 11723 0.9651, 11724 -0.4971 11725 ], 11726 [ 11727 -1.8205, 11728 0.9241, 11729 0.6021 11730 ] 11731 ], 11732 { 11733 "attributes":{ 11734 "index":973 11735 } 11736 } 11737 ], 11738 "electric-253":[ 11739 [ 11740 [ 11741 -1.8364, 11742 0.9651, 11743 -0.4971 11744 ], 11745 [ 11746 -2.0509, 11747 0.3168, 11748 -0.4906 11749 ] 11750 ], 11751 { 11752 "attributes":{ 11753 "index":963 11754 } 11755 } 11756 ], 11757 "electric-254":[ 11758 [ 11759 [ 11760 -1.8364, 11761 0.9651, 11762 -0.4971 11763 ], 11764 [ 11765 -2.0273, 11766 0.6501, 11767 0.0144 11768 ], 11769 [ 11770 -1.8364, 11771 0.9651, 11772 -0.4971 11773 ], 11774 [ 11775 -1.7191, 11776 1.2587, 11777 -0.0217 11778 ] 11779 ], 11780 { 11781 "attributes":{ 11782 "index":994 11783 } 11784 } 11785 ], 11786 "electric-255":[ 11787 [ 11788 [ 11789 -0.9025, 11790 1.8696, 11791 0.4723 11792 ], 11793 [ 11794 -0.8964, 11795 1.2959, 11796 1.4304 11797 ], 11798 [ 11799 -0.9025, 11800 1.8696, 11801 0.4723 11802 ], 11803 [ 11804 0.0071, 11805 2.1322, 11806 0.0348 11807 ] 11808 ], 11809 { 11810 "attributes":{ 11811 "index":590 11812 } 11813 } 11814 ], 11815 "electric-256":[ 11816 [ 11817 [ 11818 -0.9025, 11819 1.8696, 11820 0.4723 11821 ], 11822 [ 11823 -1.4832, 11824 1.4545, 11825 0.4754 11826 ], 11827 [ 11828 -0.9025, 11829 1.8696, 11830 0.4723 11831 ], 11832 [ 11833 -0.5938, 11834 1.7427, 11835 1.077 11836 ] 11837 ], 11838 { 11839 "attributes":{ 11840 "index":153 11841 } 11842 } 11843 ], 11844 "electric-257":[ 11845 [ 11846 [ 11847 -0.9025, 11848 1.8696, 11849 0.4723 11850 ], 11851 [ 11852 -0.3065, 11853 2.0301, 11854 0.5779 11855 ], 11856 [ 11857 -0.9025, 11858 1.8696, 11859 0.4723 11860 ], 11861 [ 11862 -1.1242, 11863 1.5463, 11864 0.946 11865 ] 11866 ], 11867 { 11868 "attributes":{ 11869 "index":567 11870 } 11871 } 11872 ], 11873 "electric-258":[ 11874 [ 11875 [ 11876 -1.2774, 11877 1.6989, 11878 -0.0774 11879 ], 11880 [ 11881 -0.9025, 11882 1.8696, 11883 0.4723 11884 ], 11885 [ 11886 -1.2774, 11887 1.6989, 11888 -0.0774 11889 ], 11890 [ 11891 -1.4832, 11892 1.4545, 11893 0.4754 11894 ] 11895 ], 11896 { 11897 "attributes":{ 11898 "index":323 11899 } 11900 } 11901 ], 11902 "electric-259":[ 11903 [ 11904 [ 11905 -1.2774, 11906 1.6989, 11907 -0.0774 11908 ], 11909 [ 11910 -1.7191, 11911 1.2587, 11912 -0.0217 11913 ] 11914 ], 11915 { 11916 "attributes":{ 11917 "index":629 11918 } 11919 } 11920 ], 11921 "electric-260":[ 11922 [ 11923 [ 11924 -1.4284, 11925 1.4571, 11926 -0.6046 11927 ], 11928 [ 11929 -1.4832, 11930 1.4545, 11931 0.4754 11932 ] 11933 ], 11934 { 11935 "attributes":{ 11936 "index":898 11937 } 11938 } 11939 ], 11940 "electric-261":[ 11941 [ 11942 [ 11943 -1.4284, 11944 1.4571, 11945 -0.6046 11946 ], 11947 [ 11948 -1.7191, 11949 1.2587, 11950 -0.0217 11951 ], 11952 [ 11953 -1.4284, 11954 1.4571, 11955 -0.6046 11956 ], 11957 [ 11958 -1.8364, 11959 0.9651, 11960 -0.4971 11961 ] 11962 ], 11963 { 11964 "attributes":{ 11965 "index":690 11966 } 11967 } 11968 ], 11969 "electric-262":[ 11970 [ 11971 [ 11972 -1.4284, 11973 1.4571, 11974 -0.6046 11975 ], 11976 [ 11977 -1.2774, 11978 1.6989, 11979 -0.0774 11980 ] 11981 ], 11982 { 11983 "attributes":{ 11984 "index":989 11985 } 11986 } 11987 ], 11988 "electric-263":[ 11989 [ 11990 [ 11991 -0.6265, 11992 2.0334, 11993 0.0222 11994 ], 11995 [ 11996 0.3356, 11997 2.0176, 11998 0.588 11999 ], 12000 [ 12001 -0.6265, 12002 2.0334, 12003 0.0222 12004 ], 12005 [ 12006 -0.5938, 12007 1.7427,
12008 1.077 12009 ], 12010 [ 12011 -0.6265, 12012 2.0334, 12013 0.0222 12014 ], 12015 [ 12016 0.339, 12017 2.0493, 12018 -0.4779 12019 ] 12020 ], 12021 { 12022 "attributes":{ 12023 "index":438 12024 } 12025 } 12026 ], 12027 "electric-264":[ 12028 [ 12029 [ 12030 -0.6265, 12031 2.0334, 12032 0.0222 12033 ], 12034 [ 12035 -1.2774, 12036 1.6989, 12037 -0.0774 12038 ], 12039 [ 12040 -0.6265, 12041 2.0334, 12042 0.0222 12043 ], 12044 [ 12045 0.0071, 12046 2.1322, 12047 0.0348 12048 ] 12049 ], 12050 { 12051 "attributes":{ 12052 "index":58 12053 } 12054 } 12055 ], 12056 "electric-265":[ 12057 [ 12058 [ 12059 -0.6265, 12060 2.0334, 12061 0.0222 12062 ], 12063 [ 12064 -0.3065, 12065 2.0301, 12066 0.5779 12067 ], 12068 [ 12069 -0.6265, 12070 2.0334, 12071 0.0222 12072 ], 12073 [ 12074 -0.9025, 12075 1.8696, 12076 0.4723 12077 ] 12078 ], 12079 { 12080 "attributes":{ 12081 "index":280 12082 } 12083 } 12084 ], 12085 "electric-266":[ 12086 [ 12087 [ 12088 -0.9311, 12089 1.8353, 12090 -0.55 12091 ], 12092 [ 12093 -0.9025, 12094 1.8696, 12095 0.4723 12096 ] 12097 ], 12098 { 12099 "attributes":{ 12100 "index":972 12101 } 12102 } 12103 ], 12104 "electric-267":[ 12105 [ 12106 [ 12107 -0.9311, 12108 1.8353, 12109 -0.55 12110 ], 12111 [ 12112 -0.6265, 12113 2.0334, 12114 0.0222 12115 ] 12116 ], 12117 { 12118 "attributes":{ 12119 "index":53 12120 } 12121 } 12122 ], 12123 "electric-268":[ 12124 [ 12125 [ 12126 -0.9311, 12127 1.8353, 12128 -0.55 12129 ], 12130 [ 12131 -1.4284, 12132 1.4571, 12133 -0.6046 12134 ], 12135 [ 12136 -0.9311, 12137 1.8353, 12138 -0.55 12139 ], 12140 [ 12141 -1.2774, 12142 1.6989, 12143 -0.0774 12144 ] 12145 ], 12146 { 12147 "attributes":{ 12148 "index":680 12149 } 12150 } 12151 ], 12152 "electric-269":[ 12153 [ 12154 [ 12155 -0.3213, 12156 2.0427, 12157 -0.5122 12158 ], 12159 [ 12160 -0.3065, 12161 2.0301, 12162 0.5779 12163 ] 12164 ], 12165 { 12166 "attributes":{ 12167 "index":593 12168 } 12169 } 12170 ], 12171 "electric-270":[ 12172 [ 12173 [ 12174 -0.3213, 12175 2.0427, 12176 -0.5122 12177 ], 12178 [ 12179 0.339, 12180 2.0493, 12181 -0.4779 12182 ], 12183 [ 12184 -0.3213, 12185 2.0427, 12186 -0.5122 12187 ], 12188 [ 12189 -0.9311, 12190 1.8353, 12191 -0.55 12192 ] 12193 ], 12194 { 12195 "attributes":{ 12196 "index":892 12197 } 12198 } 12199 ], 12200 "electric-271":[ 12201 [ 12202 [ 12203 -0.3213, 12204 2.0427, 12205 -0.5122 12206 ], 12207 [ 12208 0.0071, 12209 2.1322, 12210 0.0348 12211 ], 12212 [ 12213 -0.3213, 12214 2.0427, 12215 -0.5122 12216 ], 12217 [ 12218 -0.6265, 12219 2.0334, 12220 0.0222 12221 ] 12222 ], 12223 { 12224 "attributes":{ 12225 "index":795 12226 } 12227 } 12228 ], 12229 "electric-272":[ 12230 [ 12231 [ 12232 -0.5493, 12233 1.7609, 12234 -1.0703 12235 ], 12236 [ 12237 -1.4284, 12238 1.4571, 12239 -0.6046 12240 ] 12241 ], 12242 { 12243 "attributes":{ 12244 "index":485 12245 } 12246 } 12247 ], 12248 "electric-273":[ 12249 [ 12250 [ 12251 -0.5493, 12252 1.7609, 12253 -1.0703 12254 ], 12255 [ 12256 -0.3213, 12257 2.0427, 12258 -0.5122 12259 ], 12260 [ 12261 -0.5493, 12262 1.7609, 12263 -1.0703 12264 ], 12265 [ 12266 -0.9311, 12267 1.8353, 12268 -0.55 12269 ] 12270 ], 12271 { 12272 "attributes":{ 12273 "index":401 12274 } 12275 } 12276 ], 12277 "electric-274":[ 12278 [ 12279 [ 12280 -1.0463, 12281 1.4486, 12282 -1.1543 12283 ], 12284 [ 12285 -0.5493, 12286 1.7609, 12287 -1.0703 12288 ] 12289 ], 12290 { 12291 "attributes":{ 12292 "index":14 12293 } 12294 } 12295 ], 12296 "electric-275":[ 12297 [ 12298 [ 12299 -1.4857, 12300 1.0597, 12301 -1.099 12302 ], 12303 [ 12304 -2.0509, 12305 0.3168, 12306 -0.4906 12307 ] 12308 ], 12309 { 12310 "attributes":{ 12311 "index":994 12312 } 12313 } 12314 ], 12315 "electric-276":[ 12316 [ 12317 [ 12318 -1.4857, 12319 1.0597, 12320 -1.099 12321 ], 12322 [ 12323 -1.8364, 12324 0.9651, 12325 -0.4971 12326 ], 12327 [ 12328 -1.4857, 12329 1.0597, 12330 -1.099 12331 ], 12332 [ 12333 -1.4284, 12334 1.4571, 12335 -0.6046 12336 ] 12337 ], 12338 { 12339 "attributes":{ 12340 "index":764 12341 } 12342 } 12343 ], 12344 "electric-277":[ 12345 [ 12346 [ 12347 -1.4857, 12348 1.0597, 12349 -1.099 12350 ], 12351 [ 12352 -1.0463, 12353 1.4486, 12354 -1.1543 12355 ] 12356 ], 12357 { 12358 "attributes":{ 12359 "index":904 12360 } 12361 } 12362 ], 12363 "electric-278":[ 12364 [ 12365 [ 12366 -0.5907, 12367 1.3467, 12368 -1.5403 12369 ], 12370 [ 12371 -1.4857, 12372 1.0597, 12373 -1.099 12374 ] 12375 ], 12376 { 12377 "attributes":{ 12378 "index":680 12379 } 12380 } 12381 ], 12382 "electric-279":[ 12383 [ 12384 [ 12385 -0.5907, 12386 1.3467, 12387 -1.5403 12388 ], 12389 [ 12390 -0.5493, 12391 1.7609, 12392 -1.0703 12393 ], 12394 [ 12395 -0.5907, 12396 1.3467, 12397 -1.5403 12398 ], 12399 [ 12400 -1.0463, 12401 1.4486, 12402 -1.1543 12403 ] 12404 ], 12405 { 12406 "attributes":{ 12407 "index":23 12408 } 12409 } 12410 ], 12411 "electric-280":[ 12412 [ 12413 [ 12414 -1.0966, 12415 0.9775, 12416 -1.5422 12417 ], 12418 [ 12419 -0.5493, 12420 1.7609, 12421 -1.0703 12422 ] 12423 ], 12424 { 12425 "attributes":{ 12426 "index":230 12427 } 12428 } 12429 ], 12430 "electric-281":[ 12431 [ 12432 [ 12433 -1.0966, 12434 0.9775, 12435 -1.5422 12436 ], 12437 [ 12438 -0.5907, 12439 1.3467, 12440 -1.5403 12441 ], 12442 [ 12443 -1.0966, 12444 0.9775, 12445 -1.5422 12446 ], 12447 [ 12448 -1.0463, 12449 1.4486, 12450 -1.1543 12451 ], 12452 [ 12453 -1.0966, 12454 0.9775, 12455 -1.5422 12456 ], 12457 [ 12458 -1.4857, 12459 1.0597, 12460 -1.099 12461 ] 12462 ], 12463 { 12464 "attributes":{ 12465 "index":371 12466 } 12467 } 12468 ], 12469 "electric-282":[ 12470 [ 12471 [ 12472 -0.5979, 12473 0.8052, 12474 -1.8815 12475 ], 12476 [ 12477 -1.0463, 12478 1.4486, 12479 -1.1543 12480 ] 12481 ], 12482 { 12483 "attributes":{ 12484 "index":467 12485 } 12486 } 12487 ], 12488 "electric-283":[
12489 [ 12490 [ 12491 -0.5979, 12492 0.8052, 12493 -1.8815 12494 ], 12495 [ 12496 -0.5907, 12497 1.3467, 12498 -1.5403 12499 ] 12500 ], 12501 { 12502 "attributes":{ 12503 "index":972 12504 } 12505 } 12506 ], 12507 "electric-284":[ 12508 [ 12509 [ 12510 -0.5979, 12511 0.8052, 12512 -1.8815 12513 ], 12514 [ 12515 -1.0966, 12516 0.9775, 12517 -1.5422 12518 ] 12519 ], 12520 { 12521 "attributes":{ 12522 "index":307 12523 } 12524 } 12525 ], 12526 "electric-285":[ 12527 [ 12528 [ 12529 -1.8172, 12530 0.5902, 12531 -0.9497 12532 ], 12533 [ 12534 -2.0273, 12535 0.6501, 12536 0.0144 12537 ], 12538 [ 12539 -1.8172, 12540 0.5902, 12541 -0.9497 12542 ], 12543 [ 12544 -1.8364, 12545 0.9651, 12546 -0.4971 12547 ], 12548 [ 12549 -1.8172, 12550 0.5902, 12551 -0.9497 12552 ], 12553 [ 12554 -1.4857, 12555 1.0597, 12556 -1.099 12557 ] 12558 ], 12559 { 12560 "attributes":{ 12561 "index":553 12562 } 12563 } 12564 ], 12565 "electric-286":[ 12566 [ 12567 [ 12568 -1.8172, 12569 0.5902, 12570 -0.9497 12571 ], 12572 [ 12573 -2.0509, 12574 0.3168, 12575 -0.4906 12576 ] 12577 ], 12578 { 12579 "attributes":{ 12580 "index":359 12581 } 12582 } 12583 ], 12584 "electric-287":[ 12585 [ 12586 [ 12587 -1.8458, 12588 0.0011, 12589 -1.0655 12590 ], 12591 [ 12592 -2.13, 12593 0.0134, 12594 -0.0272 12595 ], 12596 [ 12597 -1.8458, 12598 0.0011, 12599 -1.0655 12600 ], 12601 [ 12602 -1.848, 12603 -0.906, 12604 -0.5512 12605 ] 12606 ], 12607 { 12608 "attributes":{ 12609 "index":540 12610 } 12611 } 12612 ], 12613 "electric-288":[ 12614 [ 12615 [ 12616 -1.8458, 12617 0.0011, 12618 -1.0655 12619 ], 12620 [ 12621 -2.0509, 12622 0.3168, 12623 -0.4906 12624 ] 12625 ], 12626 { 12627 "attributes":{ 12628 "index":814 12629 } 12630 } 12631 ], 12632 "electric-289":[ 12633 [ 12634 [ 12635 -1.8458, 12636 0.0011, 12637 -1.0655 12638 ], 12639 [ 12640 -1.8172, 12641 0.5902, 12642 -0.9497 12643 ], 12644 [ 12645 -1.8458, 12646 0.0011, 12647 -1.0655 12648 ], 12649 [ 12650 -2.0141, 12651 -0.3212, 12652 -0.6064 12653 ] 12654 ], 12655 { 12656 "attributes":{ 12657 "index":648 12658 } 12659 } 12660 ], 12661 "electric-290":[ 12662 [ 12663 [ 12664 -1.7238, 12665 -0.5547, 12666 -1.1274 12667 ], 12668 [ 12669 -1.457, 12670 -1.4604, 12671 -0.5276 12672 ], 12673 [ 12674 -1.7238, 12675 -0.5547, 12676 -1.1274 12677 ], 12678 [ 12679 -2.0509, 12680 0.3168, 12681 -0.4906 12682 ] 12683 ], 12684 { 12685 "attributes":{ 12686 "index":618 12687 } 12688 } 12689 ], 12690 "electric-291":[ 12691 [ 12692 [ 12693 -1.7238, 12694 -0.5547, 12695 -1.1274 12696 ], 12697 [ 12698 -1.848, 12699 -0.906, 12700 -0.5512 12701 ] 12702 ], 12703 { 12704 "attributes":{ 12705 "index":149 12706 } 12707 } 12708 ], 12709 "electric-292":[ 12710 [ 12711 [ 12712 -1.7238, 12713 -0.5547, 12714 -1.1274 12715 ], 12716 [ 12717 -2.0141, 12718 -0.3212, 12719 -0.6064 12720 ], 12721 [ 12722 -1.7238, 12723 -0.5547, 12724 -1.1274 12725 ], 12726 [ 12727 -1.8458, 12728 0.0011, 12729 -1.0655 12730 ] 12731 ], 12732 { 12733 "attributes":{ 12734 "index":423 12735 } 12736 } 12737 ], 12738 "electric-293":[ 12739 [ 12740 [ 12741 -1.4943, 12742 -1.0769, 12743 -1.0709 12744 ], 12745 [ 12746 -1.7314, 12747 -1.2437, 12748 -0.0102 12749 ], 12750 [ 12751 -1.4943, 12752 -1.0769, 12753 -1.0709 12754 ], 12755 [ 12756 -2.0141, 12757 -0.3212, 12758 -0.6064 12759 ] 12760 ], 12761 { 12762 "attributes":{ 12763 "index":339 12764 } 12765 } 12766 ], 12767 "electric-294":[ 12768 [ 12769 [ 12770 -1.4943, 12771 -1.0769, 12772 -1.0709 12773 ], 12774 [ 12775 -1.457, 12776 -1.4604, 12777 -0.5276 12778 ] 12779 ], 12780 { 12781 "attributes":{ 12782 "index":705 12783 } 12784 } 12785 ], 12786 "electric-295":[ 12787 [ 12788 [ 12789 -1.4943, 12790 -1.0769, 12791 -1.0709 12792 ], 12793 [ 12794 -1.848, 12795 -0.906, 12796 -0.5512 12797 ], 12798 [ 12799 -1.4943, 12800 -1.0769, 12801 -1.0709 12802 ], 12803 [ 12804 -1.7238, 12805 -0.5547, 12806 -1.1274 12807 ] 12808 ], 12809 { 12810 "attributes":{ 12811 "index":225 12812 } 12813 } 12814 ], 12815 "electric-296":[ 12816 [ 12817 [ 12818 -1.5125, 12819 0.4633, 12820 -1.4258 12821 ], 12822 [ 12823 -1.7238, 12824 -0.5547, 12825 -1.1274 12826 ], 12827 [ 12828 -1.5125, 12829 0.4633, 12830 -1.4258 12831 ], 12832 [ 12833 -2.0509, 12834 0.3168, 12835 -0.4906 12836 ], 12837 [ 12838 -1.5125, 12839 0.4633, 12840 -1.4258 12841 ], 12842 [ 12843 -0.5979, 12844 0.8052, 12845 -1.8815 12846 ] 12847 ], 12848 { 12849 "attributes":{ 12850 "index":619 12851 } 12852 } 12853 ], 12854 "electric-297":[ 12855 [ 12856 [ 12857 -1.5125, 12858 0.4633, 12859 -1.4258 12860 ], 12861 [ 12862 -1.4857, 12863 1.0597, 12864 -1.099 12865 ], 12866 [ 12867 -1.5125, 12868 0.4633, 12869 -1.4258 12870 ], 12871 [ 12872 -1.0966, 12873 0.9775, 12874 -1.5422 12875 ], 12876 [ 12877 -1.5125, 12878 0.4633, 12879 -1.4258 12880 ], 12881 [ 12882 -1.8458, 12883 0.0011, 12884 -1.0655 12885 ] 12886 ], 12887 { 12888 "attributes":{ 12889 "index":182 12890 } 12891 } 12892 ], 12893 "electric-298":[ 12894 [ 12895 [ 12896 -1.5125, 12897 0.4633, 12898 -1.4258 12899 ], 12900 [ 12901 -1.8172, 12902 0.5902, 12903 -0.9497 12904 ] 12905 ], 12906 { 12907 "attributes":{ 12908 "index":865 12909 } 12910 } 12911 ], 12912 "electric-299":[ 12913 [ 12914 [ 12915 -1.4287, 12916 -0.1283, 12917 -1.5752 12918 ], 12919 [ 12920 -1.4943, 12921 -1.0769, 12922 -1.0709 12923 ], 12924 [ 12925 -1.4287, 12926 -0.1283, 12927 -1.5752 12928 ], 12929 [ 12930 -1.8172, 12931 0.5902, 12932 -0.9497 12933 ] 12934 ], 12935 { 12936 "attributes":{ 12937 "index":965 12938 } 12939 } 12940 ], 12941 "electric-300":[ 12942 [ 12943 [ 12944 -1.4287, 12945 -0.1283, 12946 -1.5752 12947 ], 12948 [ 12949 -1.7238, 12950 -0.5547, 12951 -1.1274 12952 ], 12953 [ 12954 -1.4287, 12955 -0.1283, 12956 -1.5752 12957 ], 12958 [ 12959 -1.8458, 12960 0.0011, 12961 -1.0655 12962 ] 12963 ], 12964 { 12965 "attributes":{ 12966 "index":312 12967 } 12968 } 12969 ], 12970 "electric-301":[ 12971 [ 12972 [ 12973 -1.4287, 12974 -0.1283, 12975 -1.5752 12976 ], 12977 [ 12978 -1.5125, 12979 0.4633, 12980 -1.4258 12981 ] 12982 ], 12983 { 12984 "attributes":{ 12985 "index":981 12986 } 12987 } 12988 ], 12989 "electric-302":[ 12990 [ 12991 [ 12992 -1.2559, 12993 -0.7166, 12994 -1.567 12995 ], 12996 [ 12997 -1.8458, 12998 0.0011, 12999 -1.0655 13000 ] 13001 ], 13002 { 13003 "attributes":{ 13004 "index":235 13005 } 13006 } 13007 ], 13008 "electric-303":[ 13009 [ 13010 [ 13011 -1.2559, 13012 -0.7166, 13013 -1.567 13014 ], 13015 [ 13016 -1.7238, 13017 -0.5547, 13018 -1.1274 13019 ], 13020 [ 13021 -1.2559, 13022 -0.7166, 13023 -1.567 13024 ], 13025 [ 13026 -1.4943, 13027 -1.0769, 13028 -1.0709 13029 ] 13030 ], 13031 { 13032 "attributes":{ 13033 "index":734 13034 } 13035 } 13036 ], 13037 "electric-304":[ 13038 [ 13039 [ 13040 -1.2559, 13041 -0.7166, 13042 -1.567 13043 ], 13044 [ 13045 -1.4287, 13046 -0.1283, 13047 -1.5752 13048 ] 13049 ], 13050 { 13051 "attributes":{ 13052 "index":542 13053 } 13054 } 13055 ], 13056 "electric-305":[ 13057 [ 13058 [ 13059 -1.0414, 13060 0.3139, 13061 -1.8284 13062 ], 13063 [ 13064 -1.2559, 13065 -0.7166, 13066 -1.567 13067 ] 13068 ], 13069 { 13070 "attributes":{ 13071 "index":609 13072 } 13073 } 13074 ], 13075 "electric-306":[ 13076 [ 13077 [ 13078 -1.0414, 13079 0.3139, 13080 -1.8284 13081 ], 13082 [ 13083 -1.0966, 13084 0.9775, 13085 -1.5422 13086 ], 13087 [ 13088 -1.0414, 13089 0.3139, 13090 -1.8284 13091 ], 13092 [ 13093 -0.5979, 13094 0.8052, 13095 -1.8815 13096 ] 13097 ], 13098 { 13099 "attributes":{ 13100 "index":983 13101 } 13102 } 13103 ], 13104 "electric-307":[ 13105 [ 13106 [ 13107 -1.0414, 13108 0.3139, 13109 -1.8284 13110 ], 13111 [ 13112 -1.4287, 13113 -0.1283, 13114 -1.5752 13115 ], 13116 [ 13117 -1.0414, 13118 0.3139, 13119 -1.8284 13120 ], 13121 [ 13122 -1.5125, 13123 0.4633, 13124 -1.4258 13125 ] 13126 ], 13127 { 13128 "attributes":{ 13129 "index":127 13130 } 13131 } 13132 ], 13133 "electric-308":[ 13134 [ 13135 [ 13136 -0.9119, 13137 -0.3193, 13138 -1.8971 13139 ], 13140 [ 13141 -1.5125, 13142 0.4633, 13143 -1.4258 13144 ] 13145 ], 13146 { 13147 "attributes":{ 13148 "index":408 13149 } 13150 } 13151 ], 13152 "electric-309":[ 13153 [ 13154 [ 13155 -0.9119, 13156 -0.3193, 13157 -1.8971 13158 ], 13159 [ 13160 -1.0414, 13161 0.3139, 13162 -1.8284 13163 ], 13164 [ 13165 -0.9119, 13166 -0.3193, 13167 -1.8971 13168 ], 13169 [ 13170 -1.4287, 13171 -0.1283, 13172 -1.5752 13173 ] 13174 ], 13175 { 13176 "attributes":{ 13177 "index":871 13178 } 13179 } 13180 ], 13181 "electric-310":[ 13182 [ 13183 [ 13184 -0.9119, 13185 -0.3193, 13186 -1.8971 13187 ], 13188 [ 13189 -1.2559, 13190 -0.7166, 13191 -1.567 13192 ] 13193 ], 13194 { 13195 "attributes":{ 13196 "index":297 13197 } 13198 } 13199 ], 13200 "electric-311":[ 13201 [ 13202 [ 13203 -0.5728, 13204 0.1917, 13205 -2.0435 13206 ], 13207 [ 13208 -1.0966, 13209 0.9775, 13210 -1.5422 13211 ], 13212 [ 13213 -0.5728, 13214 0.1917, 13215 -2.0435 13216 ], 13217 [ 13218 -1.4287, 13219 -0.1283, 13220 -1.5752 13221 ] 13222 ], 13223 { 13224 "attributes":{ 13225 "index":756 13226 } 13227 } 13228 ], 13229 "electric-312":[ 13230 [ 13231 [ 13232 -0.5728, 13233 0.1917, 13234 -2.0435 13235 ], 13236 [ 13237 -0.9119, 13238 -0.3193, 13239 -1.8971 13240 ] 13241 ], 13242 { 13243 "attributes":{ 13244 "index":680 13245 } 13246 } 13247 ], 13248 "electric-313":[ 13249 [ 13250 [ 13251 -0.5728, 13252 0.1917, 13253 -2.0435 13254 ], 13255 [ 13256 -0.5979, 13257 0.8052, 13258 -1.8815 13259 ], 13260 [ 13261 -0.5728, 13262 0.1917, 13263 -2.0435 13264 ], 13265 [ 13266 -1.0414, 13267 0.3139, 13268 -1.8284 13269 ] 13270 ], 13271 { 13272 "attributes":{ 13273 "index":235 13274 } 13275 } 13276 ], 13277 "electric-314":[ 13278 [ 13279 [ 13280 -1.1262, 13281 -1.5396, 13282 -0.956 13283 ], 13284 [ 13285 -1.848, 13286 -0.906, 13287 -0.5512 13288 ], 13289 [ 13290 -1.1262, 13291 -1.5396, 13292 -0.956 13293 ], 13294 [ 13295 -1.2559, 13296 -0.7166, 13297 -1.567 13298 ] 13299 ], 13300 { 13301 "attributes":{ 13302 "index":129 13303 } 13304 } 13305 ], 13306 "electric-315":[ 13307 [ 13308 [ 13309 -1.1262, 13310 -1.5396, 13311 -0.956 13312 ], 13313 [ 13314 -1.2861, 13315 -1.6943, 13316 0.047 13317 ], 13318 [ 13319 -1.1262, 13320 -1.5396, 13321 -0.956 13322 ], 13323 [ 13324 -1.4943, 13325 -1.0769, 13326 -1.0709 13327 ] 13328 ], 13329 { 13330 "attributes":{ 13331 "index":290 13332 } 13333 } 13334 ], 13335 "electric-316":[ 13336 [ 13337 [ 13338 -1.1262, 13339 -1.5396, 13340 -0.956 13341 ], 13342 [ 13343 -0.9318, 13344 -1.849, 13345 -0.5093 13346 ], 13347 [ 13348 -1.1262, 13349 -1.5396, 13350 -0.956 13351 ], 13352 [ 13353 -1.457, 13354 -1.4604, 13355 -0.5276 13356 ] 13357 ], 13358 { 13359 "attributes":{ 13360 "index":900 13361 } 13362 } 13363 ], 13364 "electric-317":[ 13365 [ 13366 [ 13367 -0.5656, 13368 -1.7456,
13369 -1.0848 13370 ], 13371 [ 13372 -1.457, 13373 -1.4604, 13374 -0.5276 13375 ], 13376 [ 13377 -0.5656, 13378 -1.7456, 13379 -1.0848 13380 ], 13381 [ 13382 0.3215, 13383 -2.0274, 13384 -0.5747 13385 ] 13386 ], 13387 { 13388 "attributes":{ 13389 "index":825 13390 } 13391 } 13392 ], 13393 "electric-318":[ 13394 [ 13395 [ 13396 -0.5656, 13397 -1.7456, 13398 -1.0848 13399 ], 13400 [ 13401 -0.9318, 13402 -1.849, 13403 -0.5093 13404 ] 13405 ], 13406 { 13407 "attributes":{ 13408 "index":978 13409 } 13410 } 13411 ], 13412 "electric-319":[ 13413 [ 13414 [ 13415 -0.5656, 13416 -1.7456, 13417 -1.0848 13418 ], 13419 [ 13420 -0.2911, 13421 -2.0303, 13422 -0.5788 13423 ], 13424 [ 13425 -0.5656, 13426 -1.7456, 13427 -1.0848 13428 ], 13429 [ 13430 -1.1262, 13431 -1.5396, 13432 -0.956 13433 ] 13434 ], 13435 { 13436 "attributes":{ 13437 "index":746 13438 } 13439 } 13440 ], 13441 "electric-320":[ 13442 [ 13443 [ 13444 0.0243, 13445 -1.8296, 13446 -1.0856 13447 ], 13448 [ 13449 0.0088, 13450 -2.1316, 13451 -0.0566 13452 ], 13453 [ 13454 0.0243, 13455 -1.8296, 13456 -1.0856 13457 ], 13458 [ 13459 0.8959, 13460 -1.8679, 13461 -0.493 13462 ] 13463 ], 13464 { 13465 "attributes":{ 13466 "index":998 13467 } 13468 } 13469 ], 13470 "electric-321":[ 13471 [ 13472 [ 13473 0.0243, 13474 -1.8296, 13475 -1.0856 13476 ], 13477 [ 13478 -0.2911, 13479 -2.0303, 13480 -0.5788 13481 ] 13482 ], 13483 { 13484 "attributes":{ 13485 "index":941 13486 } 13487 } 13488 ], 13489 "electric-322":[ 13490 [ 13491 [ 13492 0.0243, 13493 -1.8296, 13494 -1.0856 13495 ], 13496 [ 13497 0.3215, 13498 -2.0274, 13499 -0.5747 13500 ], 13501 [ 13502 0.0243, 13503 -1.8296, 13504 -1.0856 13505 ], 13506 [ 13507 -0.5656, 13508 -1.7456, 13509 -1.0848 13510 ] 13511 ], 13512 { 13513 "attributes":{ 13514 "index":153 13515 } 13516 } 13517 ], 13518 "electric-323":[ 13519 [ 13520 [ 13521 0.5571, 13522 -1.7589, 13523 -1.0622 13524 ], 13525 [ 13526 0.6833, 13527 -2.0172, 13528 -0.0087 13529 ], 13530 [ 13531 0.5571, 13532 -1.7589, 13533 -1.0622 13534 ], 13535 [ 13536 -0.2911, 13537 -2.0303, 13538 -0.5788 13539 ] 13540 ], 13541 { 13542 "attributes":{ 13543 "index":764 13544 } 13545 } 13546 ], 13547 "electric-324":[ 13548 [ 13549 [ 13550 0.5571, 13551 -1.7589, 13552 -1.0622 13553 ], 13554 [ 13555 0.8959, 13556 -1.8679, 13557 -0.493 13558 ] 13559 ], 13560 { 13561 "attributes":{ 13562 "index":508 13563 } 13564 } 13565 ], 13566 "electric-325":[ 13567 [ 13568 [ 13569 0.5571, 13570 -1.7589, 13571 -1.0622 13572 ], 13573 [ 13574 0.3215, 13575 -2.0274, 13576 -0.5747 13577 ], 13578 [ 13579 0.5571, 13580 -1.7589, 13581 -1.0622 13582 ], 13583 [ 13584 0.0243, 13585 -1.8296, 13586 -1.0856 13587 ] 13588 ], 13589 { 13590 "attributes":{ 13591 "index":447 13592 } 13593 } 13594 ], 13595 "electric-326":[ 13596 [ 13597 [ 13598 -0.9105, 13599 -1.2834, 13600 -1.4377 13601 ], 13602 [ 13603 -1.457, 13604 -1.4604, 13605 -0.5276 13606 ], 13607 [ 13608 -0.9105, 13609 -1.2834, 13610 -1.4377 13611 ], 13612 [ 13613 -0.9119, 13614 -0.3193, 13615 -1.8971 13616 ] 13617 ], 13618 { 13619 "attributes":{ 13620 "index":374 13621 } 13622 } 13623 ], 13624 "electric-327":[ 13625 [ 13626 [ 13627 -0.9105, 13628 -1.2834, 13629 -1.4377 13630 ], 13631 [ 13632 -1.1262, 13633 -1.5396, 13634 -0.956 13635 ] 13636 ], 13637 { 13638 "attributes":{ 13639 "index":370 13640 } 13641 } 13642 ], 13643 "electric-328":[ 13644 [ 13645 [ 13646 -0.311, 13647 -1.4075, 13648 -1.5711 13649 ], 13650 [ 13651 0.5571, 13652 -1.7589, 13653 -1.0622 13654 ], 13655 [ 13656 -0.311, 13657 -1.4075, 13658 -1.5711 13659 ], 13660 [ 13661 -1.1262, 13662 -1.5396, 13663 -0.956 13664 ] 13665 ], 13666 { 13667 "attributes":{ 13668 "index":317 13669 } 13670 } 13671 ], 13672 "electric-329":[ 13673 [ 13674 [ 13675 -0.311, 13676 -1.4075, 13677 -1.5711 13678 ], 13679 [ 13680 0.0243, 13681 -1.8296, 13682 -1.0856 13683 ], 13684 [ 13685 -0.311, 13686 -1.4075, 13687 -1.5711 13688 ], 13689 [ 13690 -0.5656, 13691 -1.7456, 13692 -1.0848 13693 ] 13694 ], 13695 { 13696 "attributes":{ 13697 "index":593 13698 } 13699 } 13700 ], 13701 "electric-330":[ 13702 [ 13703 [ 13704 -0.311, 13705 -1.4075, 13706 -1.5711 13707 ], 13708 [ 13709 -0.9105, 13710 -1.2834, 13711 -1.4377 13712 ] 13713 ], 13714 { 13715 "attributes":{ 13716 "index":39 13717 } 13718 } 13719 ], 13720 "electric-331":[ 13721 [ 13722 [ 13723 0.282, 13724 -1.4109, 13725 -1.5708 13726 ], 13727 [ 13728 -0.5656, 13729 -1.7456, 13730 -1.0848 13731 ] 13732 ], 13733 { 13734 "attributes":{ 13735 "index":620 13736 } 13737 } 13738 ], 13739 "electric-332":[ 13740 [ 13741 [ 13742 0.282, 13743 -1.4109, 13744 -1.5708 13745 ], 13746 [ 13747 0.0243, 13748 -1.8296, 13749 -1.0856 13750 ] 13751 ], 13752 { 13753 "attributes":{ 13754 "index":67 13755 } 13756 } 13757 ], 13758 "electric-333":[ 13759 [ 13760 [ 13761 0.282, 13762 -1.4109, 13763 -1.5708 13764 ], 13765 [ 13766 0.5571, 13767 -1.7589, 13768 -1.0622 13769 ], 13770 [ 13771 0.282, 13772 -1.4109, 13773 -1.5708 13774 ], 13775 [ 13776 -0.311, 13777 -1.4075, 13778 -1.5711 13779 ] 13780 ], 13781 { 13782 "attributes":{ 13783 "index":637 13784 } 13785 } 13786 ], 13787 "electric-334":[ 13788 [ 13789 [ 13790 -0.681, 13791 -0.912, 13792 -1.8005 13793 ], 13794 [ 13795 -1.4287, 13796 -0.1283, 13797 -1.5752 13798 ], 13799 [ 13800 -0.681, 13801 -0.912, 13802 -1.8005 13803 ], 13804 [ 13805 0.282, 13806 -1.4109, 13807 -1.5708 13808 ], 13809 [ 13810 -0.681, 13811 -0.912, 13812 -1.8005 13813 ], 13814 [ 13815 -0.5656, 13816 -1.7456,
13817 -1.0848 13818 ] 13819 ], 13820 { 13821 "attributes":{ 13822 "index":553 13823 } 13824 } 13825 ], 13826 "electric-335":[ 13827 [ 13828 [ 13829 -0.681, 13830 -0.912, 13831 -1.8005 13832 ], 13833 [ 13834 -0.311, 13835 -1.4075, 13836 -1.5711 13837 ], 13838 [ 13839 -0.681, 13840 -0.912, 13841 -1.8005 13842 ], 13843 [ 13844 -1.2559, 13845 -0.7166, 13846 -1.567 13847 ] 13848 ], 13849 { 13850 "attributes":{ 13851 "index":52 13852 } 13853 } 13854 ], 13855 "electric-336":[ 13856 [ 13857 [ 13858 -0.681, 13859 -0.912, 13860 -1.8005 13861 ], 13862 [ 13863 -0.9119, 13864 -0.3193, 13865 -1.8971 13866 ], 13867 [ 13868 -0.681, 13869 -0.912, 13870 -1.8005 13871 ], 13872 [ 13873 -0.9105, 13874 -1.2834, 13875 -1.4377 13876 ] 13877 ], 13878 { 13879 "attributes":{ 13880 "index":692 13881 } 13882 } 13883 ], 13884 "electric-337":[ 13885 [ 13886 [ 13887 0.0209, 13888 -0.9796, 13889 -1.8914 13890 ], 13891 [ 13892 -0.9105, 13893 -1.2834, 13894 -1.4377 13895 ] 13896 ], 13897 { 13898 "attributes":{ 13899 "index":791 13900 } 13901 } 13902 ], 13903 "electric-338":[ 13904 [ 13905 [ 13906 0.0209, 13907 -0.9796, 13908 -1.8914 13909 ], 13910 [ 13911 -0.311, 13912 -1.4075, 13913 -1.5711 13914 ], 13915 [ 13916 0.0209, 13917 -0.9796, 13918 -1.8914 13919 ], 13920 [ 13921 0.282, 13922 -1.4109, 13923 -1.5708 13924 ] 13925 ], 13926 { 13927 "attributes":{ 13928 "index":127 13929 } 13930 } 13931 ], 13932 "electric-339":[ 13933 [ 13934 [ 13935 -0.3562, 13936 -0.4773, 13937 -2.047 13938 ], 13939 [ 13940 -1.0414, 13941 0.3139, 13942 -1.8284 13943 ], 13944 [ 13945 -0.3562, 13946 -0.4773, 13947 -2.047 13948 ], 13949 [ 13950 -1.2559, 13951 -0.7166, 13952 -1.567 13953 ], 13954 [ 13955 -0.3562, 13956 -0.4773, 13957 -2.047 13958 ], 13959 [ 13960 -0.311, 13961 -1.4075, 13962 -1.5711 13963 ] 13964 ], 13965 { 13966 "attributes":{ 13967 "index":988 13968 } 13969 } 13970 ], 13971 "electric-340":[ 13972 [ 13973 [ 13974 -0.3562, 13975 -0.4773, 13976 -2.047 13977 ], 13978 [ 13979 -0.9119, 13980 -0.3193, 13981 -1.8971 13982 ], 13983 [ 13984 -0.3562, 13985 -0.4773, 13986 -2.047 13987 ], 13988 [ 13989 -0.681, 13990 -0.912, 13991 -1.8005 13992 ] 13993 ], 13994 { 13995 "attributes":{ 13996 "index":629 13997 } 13998 } 13999 ], 14000 "electric-341":[ 14001 [ 14002 [ 14003 1.1146, 14004 -1.5526, 14005 -0.9456 14006 ], 14007 [ 14008 1.2605, 14009 -1.72, 14010 0.042 14011 ], 14012 [ 14013 1.1146, 14014 -1.5526, 14015 -0.9456 14016 ], 14017 [ 14018 1.8223, 14019 -0.9494, 14020 -0.5568 14021 ] 14022 ], 14023 { 14024 "attributes":{ 14025 "index":228 14026 } 14027 } 14028 ], 14029 "electric-342":[ 14030 [ 14031 [ 14032 1.1146, 14033 -1.5526, 14034 -0.9456 14035 ], 14036 [ 14037 0.3215, 14038 -2.0274, 14039 -0.5747 14040 ], 14041 [ 14042 1.1146, 14043 -1.5526, 14044 -0.9456 14045 ], 14046 [ 14047 1.4992, 14048 -1.4312, 14049 -0.4887 14050 ] 14051 ], 14052 { 14053 "attributes":{ 14054 "index":107 14055 } 14056 } 14057 ], 14058 "electric-343":[ 14059 [ 14060 [ 14061 1.1146, 14062 -1.5526, 14063 -0.9456 14064 ], 14065 [ 14066 0.5571, 14067 -1.7589, 14068 -1.0622 14069 ], 14070 [ 14071 1.1146, 14072 -1.5526, 14073 -0.9456 14074 ], 14075 [ 14076 0.8959, 14077 -1.8679, 14078 -0.493 14079 ] 14080 ], 14081 { 14082 "attributes":{ 14083 "index":887 14084 } 14085 } 14086 ], 14087 "electric-344":[ 14088 [ 14089 [ 14090 1.479, 14091 -1.0788, 14092 -1.0913 14093 ], 14094 [ 14095 2.0226, 14096 -0.3329, 14097 -0.5849 14098 ] 14099 ], 14100 { 14101 "attributes":{ 14102 "index":685 14103 } 14104 } 14105 ], 14106 "electric-345":[ 14107 [ 14108 [ 14109 1.479, 14110 -1.0788, 14111 -1.0913 14112 ], 14113 [ 14114 1.4992, 14115 -1.4312, 14116 -0.4887 14117 ] 14118 ], 14119 { 14120 "attributes":{ 14121 "index":491 14122 } 14123 } 14124 ], 14125 "electric-346":[ 14126 [ 14127 [ 14128 1.479, 14129 -1.0788, 14130 -1.0913 14131 ], 14132 [ 14133 1.8223, 14134 -0.9494, 14135 -0.5568 14136 ], 14137 [ 14138 1.479, 14139 -1.0788, 14140 -1.0913 14141 ], 14142 [ 14143 1.1146, 14144 -1.5526, 14145 -0.9456 14146 ] 14147 ], 14148 { 14149 "attributes":{ 14150 "index":471 14151 } 14152 } 14153 ], 14154 "electric-347":[ 14155 [ 14156 [ 14157 1.7121, 14158 -0.5664, 14159 -1.136 14160 ], 14161 [ 14162 1.4992, 14163 -1.4312, 14164 -0.4887 14165 ] 14166 ], 14167 { 14168 "attributes":{ 14169 "index":766 14170 } 14171 } 14172 ], 14173 "electric-348":[ 14174 [ 14175 [ 14176 1.7121, 14177 -0.5664, 14178 -1.136 14179 ], 14180 [ 14181 1.8223, 14182 -0.9494, 14183 -0.5568 14184 ], 14185 [ 14186 1.7121, 14187 -0.5664, 14188 -1.136 14189 ], 14190 [ 14191 2.0226, 14192 -0.3329, 14193 -0.5849 14194 ] 14195 ], 14196 { 14197 "attributes":{ 14198 "index":181 14199 } 14200 } 14201 ], 14202 "electric-349":[ 14203 [ 14204 [ 14205 1.7121, 14206 -0.5664, 14207 -1.136 14208 ], 14209 [ 14210 1.479, 14211 -1.0788, 14212 -1.0913 14213 ] 14214 ], 14215 { 14216 "attributes":{ 14217 "index":438 14218 } 14219 } 14220 ], 14221 "electric-350":[ 14222 [ 14223 [ 14224 1.8524, 14225 0.0364, 14226 -1.0472 14227 ], 14228 [ 14229 1.8295, 14230 0.9603, 14231 -0.5191 14232 ], 14233 [ 14234 1.8524, 14235 0.0364, 14236 -1.0472 14237 ], 14238 [ 14239 2.13, 14240 0.0061, 14241 -0.0266 14242 ] 14243 ], 14244 { 14245 "attributes":{ 14246 "index":47 14247 } 14248 } 14249 ], 14250 "electric-351":[ 14251 [ 14252 [ 14253 1.8524, 14254 0.0364, 14255 -1.0472 14256 ], 14257 [ 14258 1.7121, 14259 -0.5664, 14260 -1.136 14261 ] 14262 ], 14263 { 14264 "attributes":{ 14265 "index":842 14266 } 14267 } 14268 ], 14269 "electric-352":[ 14270 [ 14271 [ 14272 1.8524, 14273 0.0364, 14274 -1.0472 14275 ], 14276 [ 14277 2.0406, 14278 0.3192, 14279 -0.5214 14280 ], 14281 [ 14282 1.8524, 14283 0.0364, 14284 -1.0472 14285 ], 14286 [ 14287 2.0226, 14288 -0.3329, 14289 -0.5849 14290 ] 14291 ], 14292 { 14293 "attributes":{ 14294 "index":1000 14295 } 14296 } 14297 ], 14298 "electric-353":[ 14299 [ 14300 [ 14301 0.9346, 14302 -1.2864, 14303 -1.419 14304 ], 14305 [ 14306 1.4992, 14307 -1.4312, 14308 -0.4887 14309 ], 14310 [ 14311 0.9346, 14312 -1.2864, 14313 -1.419 14314 ], 14315 [ 14316 0.0209, 14317 -0.9796, 14318 -1.8914 14319 ] 14320 ], 14321 { 14322 "attributes":{ 14323 "index":568 14324 } 14325 } 14326 ], 14327 "electric-354":[ 14328 [ 14329 [ 14330 0.9346, 14331 -1.2864, 14332 -1.419 14333 ], 14334 [ 14335 0.5571, 14336 -1.7589, 14337 -1.0622 14338 ], 14339 [ 14340 0.9346, 14341 -1.2864, 14342 -1.419 14343 ], 14344 [ 14345 0.282, 14346 -1.4109, 14347 -1.5708 14348 ], 14349 [ 14350 0.9346, 14351 -1.2864, 14352 -1.419 14353 ], 14354 [ 14355 1.479, 14356 -1.0788, 14357 -1.0913 14358 ] 14359 ], 14360 { 14361 "attributes":{ 14362 "index":365 14363 } 14364 } 14365 ], 14366 "electric-355":[ 14367 [ 14368 [ 14369 0.9346, 14370 -1.2864, 14371 -1.419 14372 ], 14373 [ 14374 1.1146, 14375 -1.5526, 14376 -0.9456 14377 ] 14378 ], 14379 { 14380 "attributes":{ 14381 "index":186 14382 } 14383 } 14384 ], 14385 "electric-356":[ 14386 [ 14387 [ 14388 1.2223, 14389 -0.7339, 14390 -1.5807 14391 ], 14392 [ 14393 1.1146, 14394 -1.5526, 14395 -0.9456 14396 ] 14397 ], 14398 { 14399 "attributes":{ 14400 "index":372 14401 } 14402 } 14403 ], 14404 "electric-357":[ 14405 [ 14406 [ 14407 1.2223, 14408 -0.7339, 14409 -1.5807 14410 ], 14411 [ 14412 1.7121, 14413 -0.5664, 14414 -1.136 14415 ], 14416 [ 14417 1.2223, 14418 -0.7339, 14419 -1.5807 14420 ], 14421 [ 14422 1.479, 14423 -1.0788, 14424 -1.0913 14425 ], 14426 [ 14427 1.2223, 14428 -0.7339, 14429 -1.5807 14430 ], 14431 [ 14432 0.9346, 14433 -1.2864, 14434 -1.419 14435 ] 14436 ], 14437 { 14438 "attributes":{ 14439 "index":156 14440 } 14441 } 14442 ], 14443 "electric-358":[ 14444 [ 14445 [ 14446 1.4553, 14447 -0.1666, 14448 -1.5462 14449 ], 14450 [ 14451 1.479, 14452 -1.0788, 14453 -1.0913 14454 ] 14455 ], 14456 { 14457 "attributes":{ 14458 "index":236 14459 } 14460 } 14461 ], 14462 "electric-359":[ 14463 [ 14464 [ 14465 1.4553, 14466 -0.1666, 14467 -1.5462 14468 ], 14469 [ 14470 1.8524, 14471 0.0364, 14472 -1.0472 14473 ] 14474 ], 14475 { 14476 "attributes":{ 14477 "index":69 14478 } 14479 } 14480 ], 14481 "electric-360":[ 14482 [ 14483 [ 14484 0.7001, 14485 -0.8801, 14486 -1.8046 14487 ], 14488 [ 14489 1.479, 14490 -1.0788, 14491 -1.0913 14492 ], 14493 [ 14494 0.7001, 14495 -0.8801, 14496 -1.8046 14497 ], 14498 [ 14499 1.4553, 14500 -0.1666, 14501 -1.5462 14502 ] 14503 ], 14504 { 14505 "attributes":{ 14506 "index":115 14507 } 14508 } 14509 ], 14510 "electric-361":[ 14511 [ 14512 [ 14513 0.7001, 14514 -0.8801, 14515 -1.8046 14516 ], 14517 [ 14518 1.2223, 14519 -0.7339, 14520 -1.5807 14521 ] 14522 ], 14523 { 14524 "attributes":{ 14525 "index":467 14526 } 14527 } 14528 ], 14529 "electric-362":[ 14530 [ 14531 [ 14532 0.9181, 14533 -0.3338, 14534 -1.8907 14535 ], 14536 [ 14537 0.9346, 14538 -1.2864, 14539 -1.419 14540 ] 14541 ], 14542 { 14543 "attributes":{ 14544 "index":166 14545 } 14546 } 14547 ], 14548 "electric-363":[ 14549 [ 14550 [ 14551 0.9181, 14552 -0.3338, 14553 -1.8907 14554 ], 14555 [ 14556 1.4553, 14557 -0.1666, 14558 -1.5462 14559 ] 14560 ], 14561 { 14562 "attributes":{ 14563 "index":684 14564 } 14565 } 14566 ], 14567 "electric-364":[ 14568 [ 14569 [ 14570 0.9181, 14571 -0.3338, 14572 -1.8907 14573 ], 14574 [ 14575 0.7001, 14576 -0.8801, 14577 -1.8046 14578 ], 14579 [ 14580 0.9181, 14581 -0.3338, 14582 -1.8907 14583 ], 14584 [ 14585 1.2223, 14586 -0.7339, 14587 -1.5807 14588 ] 14589 ], 14590 { 14591 "attributes":{ 14592 "index":479 14593 } 14594 } 14595 ], 14596 "electric-365":[ 14597 [ 14598 [ 14599 0.3419, 14600 -0.4567, 14601 -2.0542 14602 ], 14603 [ 14604 0.282, 14605 -1.4109, 14606 -1.5708 14607 ], 14608 [ 14609 0.3419, 14610 -0.4567, 14611 -2.0542 14612 ], 14613 [ 14614 1.2223, 14615 -0.7339, 14616 -1.5807 14617 ] 14618 ], 14619 { 14620 "attributes":{ 14621 "index":700 14622 } 14623 } 14624 ], 14625 "electric-366":[ 14626 [ 14627 [ 14628 0.3419, 14629 -0.4567, 14630 -2.0542 14631 ], 14632 [ 14633 -0.3562, 14634 -0.4773, 14635 -2.047 14636 ], 14637 [ 14638 0.3419, 14639 -0.4567, 14640 -2.0542 14641 ], 14642 [ 14643 0.0209, 14644 -0.9796, 14645 -1.8914 14646 ] 14647 ], 14648 { 14649 "attributes":{ 14650 "index":719 14651 } 14652 } 14653 ], 14654 "electric-367":[ 14655 [ 14656 [ 14657 0.3419, 14658 -0.4567, 14659 -2.0542 14660 ], 14661 [ 14662 0.9181, 14663 -0.3338, 14664 -1.8907 14665 ], 14666 [ 14667 0.3419, 14668 -0.4567, 14669 -2.0542 14670 ], 14671 [ 14672 0.7001, 14673 -0.8801, 14674 -1.8046 14675 ] 14676 ], 14677 { 14678 "attributes":{ 14679 "index":728 14680 } 14681 } 14682 ], 14683 "electric-368":[ 14684 [ 14685 [ 14686 1.8032, 14687 0.6289, 14688 -0.9375 14689 ], 14690 [ 14691 1.4553, 14692 -0.1666, 14693 -1.5462 14694 ], 14695 [ 14696 1.8032, 14697 0.6289, 14698 -0.9375 14699 ], 14700 [ 14701 2.031, 14702 0.647, 14703 0.0365 14704 ] 14705 ], 14706 { 14707 "attributes":{ 14708 "index":88 14709 } 14710 } 14711 ], 14712 "electric-369":[ 14713 [ 14714 [ 14715 1.8032, 14716 0.6289, 14717 -0.9375 14718 ], 14719 [ 14720 1.4351, 14721 1.4695, 14722 -0.5736 14723 ], 14724 [ 14725 1.8032, 14726 0.6289, 14727 -0.9375 14728 ], 14729 [ 14730 1.8524, 14731 0.0364, 14732 -1.0472 14733 ] 14734 ], 14735 { 14736 "attributes":{ 14737 "index":25 14738 } 14739 } 14740 ], 14741 "electric-370":[ 14742 [ 14743 [ 14744 1.8032, 14745 0.6289, 14746 -0.9375 14747 ], 14748 [ 14749 2.0406, 14750 0.3192, 14751 -0.5214 14752 ], 14753 [ 14754 1.8032, 14755 0.6289, 14756 -0.9375 14757 ], 14758 [ 14759 1.8295, 14760 0.9603, 14761 -0.5191 14762 ] 14763 ], 14764 { 14765 "attributes":{ 14766 "index":464 14767 } 14768 } 14769 ], 14770 "electric-371":[ 14771 [ 14772 [ 14773 1.5003, 14774 1.0448, 14775 -1.0928 14776 ], 14777 [ 14778 1.4351, 14779 1.4695, 14780 -0.5736 14781 ], 14782 [ 14783 1.5003, 14784 1.0448, 14785 -1.0928 14786 ], 14787 [ 14788 1.8295, 14789 0.9603, 14790 -0.5191 14791 ] 14792 ], 14793 { 14794 "attributes":{ 14795 "index":25 14796 } 14797 } 14798 ], 14799 "electric-372":[ 14800 [ 14801 [ 14802 1.5003, 14803 1.0448, 14804 -1.0928 14805 ], 14806 [ 14807 1.8032, 14808 0.6289, 14809 -0.9375 14810 ] 14811 ], 14812 { 14813 "attributes":{ 14814 "index":168 14815 } 14816 } 14817 ], 14818 "electric-373":[ 14819 [ 14820 [ 14821 1.083, 14822 1.4647, 14823 -1.1053 14824 ], 14825 [ 14826 1.2476, 14827 1.7252, 14828 -0.0148 14829 ], 14830 [ 14831 1.083, 14832 1.4647, 14833 -1.1053 14834 ], 14835 [ 14836 1.8032, 14837 0.6289, 14838 -0.9375 14839 ], 14840 [ 14841 1.083, 14842 1.4647, 14843 -1.1053 14844 ], 14845 [ 14846 1.8295, 14847 0.9603, 14848 -0.5191 14849 ] 14850 ], 14851 { 14852 "attributes":{ 14853 "index":858 14854 } 14855 } 14856 ], 14857 "electric-374":[ 14858 [ 14859 [ 14860 1.083, 14861 1.4647, 14862 -1.1053 14863 ], 14864 [ 14865 0.9406, 14866 1.831, 14867 -0.5549 14868 ] 14869 ], 14870 { 14871 "attributes":{ 14872 "index":368 14873 } 14874 } 14875 ], 14876 "electric-375":[ 14877 [ 14878 [ 14879 1.083, 14880 1.4647, 14881 -1.1053 14882 ], 14883 [ 14884 1.4351, 14885 1.4695, 14886 -0.5736 14887 ], 14888 [ 14889 1.083, 14890 1.4647, 14891 -1.1053 14892 ], 14893 [ 14894 1.5003, 14895 1.0448, 14896 -1.0928 14897 ] 14898 ], 14899 { 14900 "attributes":{ 14901 "index":346 14902 } 14903 } 14904 ], 14905 "electric-376":[ 14906 [ 14907 [ 14908 0.5353, 14909 1.7501, 14910 -1.0914 14911 ], 14912 [ 14913 0.339, 14914 2.0493, 14915 -0.4779 14916 ], 14917 [ 14918 0.5353, 14919 1.7501, 14920 -1.0914 14921 ], 14922 [ 14923 0.9406, 14924 1.831, 14925 -0.5549 14926 ] 14927 ], 14928 { 14929 "attributes":{ 14930 "index":3 14931 } 14932 } 14933 ], 14934 "electric-377":[ 14935 [ 14936 [ 14937 0.5353, 14938 1.7501, 14939 -1.0914 14940 ], 14941 [ 14942 1.083, 14943 1.4647, 14944 -1.1053 14945 ] 14946 ], 14947 { 14948 "attributes":{ 14949 "index":756 14950 } 14951 } 14952 ], 14953 "electric-378":[ 14954 [ 14955 [ 14956 0.0244, 14957 1.9058, 14958 -0.9523 14959 ], 14960 [ 14961 0.0071, 14962 2.1322, 14963 0.0348 14964 ], 14965 [ 14966 0.0244, 14967 1.9058, 14968 -0.9523 14969 ], 14970 [ 14971 -0.5907, 14972 1.3467, 14973 -1.5403 14974 ], 14975 [ 14976 0.0244, 14977 1.9058, 14978 -0.9523 14979 ], 14980 [ 14981 0.9406, 14982 1.831, 14983 -0.5549 14984 ] 14985 ], 14986 { 14987 "attributes":{ 14988 "index":665 14989 } 14990 } 14991 ], 14992 "electric-379":[ 14993 [ 14994 [ 14995 0.0244, 14996 1.9058, 14997 -0.9523 14998 ], 14999 [ 15000 -0.5493, 15001 1.7609, 15002 -1.0703 15003 ], 15004 [ 15005 0.0244, 15006 1.9058, 15007 -0.9523 15008 ], 15009 [ 15010 0.339, 15011 2.0493, 15012 -0.4779 15013 ] 15014 ], 15015 { 15016 "attributes":{ 15017 "index":955 15018 } 15019 } 15020 ],
15021 "electric-380":[ 15022 [ 15023 [ 15024 0.0244, 15025 1.9058, 15026 -0.9523 15027 ], 15028 [ 15029 -0.3213, 15030 2.0427, 15031 -0.5122 15032 ], 15033 [ 15034 0.0244, 15035 1.9058, 15036 -0.9523 15037 ], 15038 [ 15039 0.5353, 15040 1.7501, 15041 -1.0914 15042 ] 15043 ], 15044 { 15045 "attributes":{ 15046 "index":900 15047 } 15048 } 15049 ], 15050 "electric-381":[ 15051 [ 15052 [ 15053 1.5041, 15054 0.4792, 15055 -1.4342 15056 ], 15057 [ 15058 1.8295, 15059 0.9603, 15060 -0.5191 15061 ], 15062 [ 15063 1.5041, 15064 0.4792, 15065 -1.4342 15066 ], 15067 [ 15068 2.0406, 15069 0.3192, 15070 -0.5214 15071 ] 15072 ], 15073 { 15074 "attributes":{ 15075 "index":687 15076 } 15077 } 15078 ], 15079 "electric-382":[ 15080 [ 15081 [ 15082 1.5041, 15083 0.4792, 15084 -1.4342 15085 ], 15086 [ 15087 1.8524, 15088 0.0364, 15089 -1.0472 15090 ], 15091 [ 15092 1.5041, 15093 0.4792, 15094 -1.4342 15095 ], 15096 [ 15097 1.5003, 15098 1.0448, 15099 -1.0928 15100 ] 15101 ], 15102 { 15103 "attributes":{ 15104 "index":984 15105 } 15106 } 15107 ], 15108 "electric-383":[ 15109 [ 15110 [ 15111 1.5041, 15112 0.4792, 15113 -1.4342 15114 ], 15115 [ 15116 1.4553, 15117 -0.1666, 15118 -1.5462 15119 ], 15120 [ 15121 1.5041, 15122 0.4792, 15123 -1.4342 15124 ], 15125 [ 15126 1.8032, 15127 0.6289, 15128 -0.9375 15129 ] 15130 ], 15131 { 15132 "attributes":{ 15133 "index":565 15134 } 15135 } 15136 ], 15137 "electric-384":[ 15138 [ 15139 [ 15140 1.0863, 15141 0.9702, 15142 -1.5587 15143 ], 15144 [ 15145 1.083, 15146 1.4647, 15147 -1.1053 15148 ], 15149 [ 15150 1.0863, 15151 0.9702, 15152 -1.5587 15153 ], 15154 [ 15155 1.5041, 15156 0.4792, 15157 -1.4342 15158 ] 15159 ], 15160 { 15161 "attributes":{ 15162 "index":67 15163 } 15164 } 15165 ], 15166 "electric-385":[ 15167 [ 15168 [ 15169 1.0863, 15170 0.9702, 15171 -1.5587 15172 ], 15173 [ 15174 1.5003, 15175 1.0448, 15176 -1.0928 15177 ] 15178 ], 15179 { 15180 "attributes":{ 15181 "index":196 15182 } 15183 } 15184 ], 15185 "electric-386":[ 15186 [ 15187 [ 15188 0.5941, 15189 1.3494, 15190 -1.5352 15191 ], 15192 [ 15193 1.5003, 15194 1.0448, 15195 -1.0928 15196 ], 15197 [ 15198 0.5941, 15199 1.3494, 15200 -1.5352 15201 ], 15202 [ 15203 0.0244, 15204 1.9058, 15205 -0.9523 15206 ] 15207 ], 15208 { 15209 "attributes":{ 15210 "index":501 15211 } 15212 } 15213 ], 15214 "electric-387":[ 15215 [ 15216 [ 15217 0.5941, 15218 1.3494, 15219 -1.5352 15220 ], 15221 [ 15222 1.083, 15223 1.4647, 15224 -1.1053 15225 ] 15226 ], 15227 { 15228 "attributes":{ 15229 "index":632 15230 } 15231 } 15232 ], 15233 "electric-388":[ 15234 [ 15235 [ 15236 0.5941, 15237 1.3494, 15238 -1.5352 15239 ], 15240 [ 15241 1.0863, 15242 0.9702, 15243 -1.5587 15244 ], 15245 [ 15246 0.5941, 15247 1.3494, 15248 -1.5352 15249 ], 15250 [ 15251 0.5353, 15252 1.7501, 15253 -1.0914 15254 ] 15255 ], 15256 { 15257 "attributes":{ 15258 "index":38 15259 } 15260 } 15261 ], 15262 "electric-389":[ 15263 [ 15264 [ 15265 0.0084, 15266 1.594, 15267 -1.4118 15268 ], 15269 [ 15270 -1.0463, 15271 1.4486, 15272 -1.1543 15273 ], 15274 [ 15275 0.0084, 15276 1.594, 15277 -1.4118 15278 ], 15279 [ 15280 0.339, 15281 2.0493, 15282 -0.4779 15283 ], 15284 [ 15285 0.0084, 15286 1.594, 15287 -1.4118 15288 ], 15289 [ 15290 -0.3213, 15291 2.0427, 15292 -0.5122 15293 ] 15294 ], 15295 { 15296 "attributes":{ 15297 "index":314 15298 } 15299 } 15300 ], 15301 "electric-390":[ 15302 [ 15303 [ 15304 0.0084, 15305 1.594, 15306 -1.4118 15307 ], 15308 [ 15309 -0.5493, 15310 1.7609, 15311 -1.0703 15312 ], 15313 [ 15314 0.0084, 15315 1.594, 15316 -1.4118 15317 ], 15318 [ 15319 -0.5907, 15320 1.3467, 15321 -1.5403 15322 ], 15323 [ 15324 0.0084, 15325 1.594, 15326 -1.4118 15327 ], 15328 [ 15329 0.5941, 15330 1.3494, 15331 -1.5352 15332 ] 15333 ], 15334 { 15335 "attributes":{ 15336 "index":96 15337 } 15338 } 15339 ], 15340 "electric-391":[ 15341 [ 15342 [ 15343 0.0084, 15344 1.594, 15345 -1.4118 15346 ], 15347 [ 15348 0.5353, 15349 1.7501, 15350 -1.0914 15351 ], 15352 [ 15353 0.0084, 15354 1.594, 15355 -1.4118 15356 ], 15357 [ 15358 0.0244, 15359 1.9058, 15360 -0.9523 15361 ] 15362 ], 15363 { 15364 "attributes":{ 15365 "index":266 15366 } 15367 } 15368 ], 15369 "electric-392":[ 15370 [ 15371 [ 15372 1.0527, 15373 0.3347, 15374 -1.8227 15375 ], 15376 [ 15377 1.5003, 15378 1.0448, 15379 -1.0928 15380 ], 15381 [ 15382 1.0527, 15383 0.3347, 15384 -1.8227 15385 ], 15386 [ 15387 1.2223, 15388 -0.7339, 15389 -1.5807 15390 ], 15391 [ 15392 1.0527, 15393 0.3347, 15394 -1.8227 15395 ], 15396 [ 15397 0.3419, 15398 -0.4567, 15399 -2.0542 15400 ] 15401 ], 15402 { 15403 "attributes":{ 15404 "index":156 15405 } 15406 } 15407 ], 15408 "electric-393":[ 15409 [ 15410 [ 15411 1.0527, 15412 0.3347, 15413 -1.8227 15414 ], 15415 [ 15416 1.4553, 15417 -0.1666, 15418 -1.5462 15419 ], 15420 [ 15421 1.0527, 15422 0.3347, 15423 -1.8227 15424 ], 15425 [ 15426 1.0863, 15427 0.9702, 15428 -1.5587 15429 ], 15430 [ 15431 1.0527, 15432 0.3347, 15433 -1.8227 15434 ], 15435 [ 15436 0.9181, 15437 -0.3338, 15438 -1.8907 15439 ] 15440 ], 15441 { 15442 "attributes":{ 15443 "index":42 15444 } 15445 } 15446 ], 15447 "electric-394":[ 15448 [ 15449 [ 15450 1.0527, 15451 0.3347, 15452 -1.8227 15453 ], 15454 [ 15455 1.5041, 15456 0.4792, 15457 -1.4342 15458 ] 15459 ], 15460 { 15461 "attributes":{ 15462 "index":80 15463 } 15464 } 15465 ], 15466 "electric-395":[ 15467 [ 15468 [ 15469 0.5871, 15470 0.8016, 15471 -1.8883 15472 ], 15473 [ 15474 0.0084, 15475 1.594, 15476 -1.4118 15477 ], 15478 [ 15479 0.5871, 15480 0.8016, 15481 -1.8883 15482 ], 15483 [ 15484 1.5041, 15485 0.4792, 15486 -1.4342 15487 ] 15488 ], 15489 { 15490 "attributes":{ 15491 "index":396 15492 } 15493 } 15494 ], 15495 "electric-396":[ 15496 [ 15497 [ 15498 0.5871, 15499 0.8016, 15500 -1.8883 15501 ], 15502 [ 15503 1.0527, 15504 0.3347, 15505 -1.8227 15506 ], 15507 [ 15508 0.5871, 15509 0.8016, 15510 -1.8883 15511 ], 15512 [ 15513 0.5941, 15514 1.3494, 15515 -1.5352 15516 ] 15517 ], 15518 { 15519 "attributes":{ 15520 "index":514 15521 } 15522 } 15523 ], 15524 "electric-397":[ 15525 [ 15526 [ 15527 0.5871, 15528 0.8016, 15529 -1.8883 15530 ], 15531 [ 15532 1.0863, 15533 0.9702, 15534 -1.5587 15535 ] 15536 ], 15537 { 15538 "attributes":{ 15539 "index":850 15540 } 15541 } 15542 ], 15543 "electric-398":[ 15544 [ 15545 [ 15546 0.0252, 15547 1.1029, 15548 -1.8213 15549 ], 15550 [ 15551 1.0863, 15552 0.9702, 15553 -1.5587 15554 ], 15555 [ 15556 0.0252, 15557 1.1029, 15558 -1.8213 15559 ], 15560 [ 15561 0.5353, 15562 1.7501, 15563 -1.0914 15564 ] 15565 ], 15566 { 15567 "attributes":{ 15568 "index":945 15569 } 15570 } 15571 ], 15572 "electric-399":[ 15573 [ 15574 [ 15575 0.5509, 15576 0.1811, 15577 -2.0536 15578 ], 15579 [ 15580 1.4553, 15581 -0.1666, 15582 -1.5462 15583 ], 15584 [ 15585 0.5509, 15586 0.1811, 15587 -2.0536 15588 ], 15589 [ 15590 0.0252, 15591 1.1029, 15592 -1.8213 15593 ], 15594 [ 15595 0.5509, 15596 0.1811, 15597 -2.0536 15598 ], 15599 [ 15600 1.0863, 15601 0.9702, 15602 -1.5587 15603 ] 15604 ], 15605 { 15606 "attributes":{ 15607 "index":448 15608 } 15609 } 15610 ], 15611 "electric-400":[ 15612 [ 15613 [ 15614 0.5509, 15615 0.1811, 15616 -2.0536 15617 ], 15618 [ 15619 0.5871, 15620 0.8016, 15621 -1.8883 15622 ], 15623 [ 15624 0.5509, 15625 0.1811, 15626 -2.0536 15627 ], 15628 [ 15629 1.0527, 15630 0.3347, 15631 -1.8227 15632 ] 15633 ], 15634 { 15635 "attributes":{ 15636 "index":593 15637 } 15638 } 15639 ], 15640 "electric-401":[ 15641 [ 15642 [ 15643 -0.0294, 15644 0.5959, 15645 -2.0443 15646 ], 15647 [ 15648 0.5941, 15649 1.3494, 15650 -1.5352 15651 ], 15652 [ 15653 -0.0294, 15654 0.5959, 15655 -2.0443 15656 ], 15657 [ 15658 -1.0414, 15659 0.3139, 15660 -1.8284 15661 ], 15662 [ 15663 -0.0294, 15664 0.5959, 15665 -2.0443 15666 ], 15667 [ 15668 -0.5907, 15669 1.3467, 15670 -1.5403 15671 ] 15672 ], 15673 { 15674 "attributes":{ 15675 "index":863 15676 } 15677 } 15678 ], 15679 "electric-402":[ 15680 [ 15681 [ 15682 -0.0294, 15683 0.5959, 15684 -2.0443 15685 ], 15686 [ 15687 0.5509, 15688 0.1811, 15689 -2.0536 15690 ], 15691 [ 15692 -0.0294, 15693 0.5959, 15694 -2.0443 15695 ], 15696 [ 15697 -0.5728, 15698 0.1917, 15699 -2.0435 15700 ], 15701 [ 15702 -0.0294, 15703 0.5959, 15704 -2.0443 15705 ], 15706 [ 15707 0.5871, 15708 0.8016, 15709 -1.8883 15710 ] 15711 ], 15712 { 15713 "attributes":{ 15714 "index":97 15715 } 15716 } 15717 ], 15718 "electric-403":[ 15719 [ 15720 [ 15721 -0.0294, 15722 0.5959, 15723 -2.0443 15724 ], 15725 [ 15726 -0.5979, 15727 0.8052, 15728 -1.8815 15729 ], 15730 [ 15731 -0.0294, 15732 0.5959, 15733 -2.0443 15734 ], 15735 [ 15736 0.0252, 15737 1.1029, 15738 -1.8213 15739 ] 15740 ], 15741 { 15742 "attributes":{ 15743 "index":831 15744 } 15745 } 15746 ], 15747 "electric-404":[ 15748 [ 15749 [ 15750 -0.0228, 15751 0.0107, 15752 -2.1307 15753 ], 15754 [ 15755 0.9181, 15756 -0.3338, 15757 -1.8907 15758 ], 15759 [ 15760 -0.0228, 15761 0.0107, 15762 -2.1307 15763 ], 15764 [ 15765 0.0209, 15766 -0.9796, 15767 -1.8914 15768 ], 15769 [ 15770 -0.0228, 15771 0.0107, 15772 -2.1307 15773 ], 15774 [ 15775 -0.5979, 15776 0.8052, 15777 -1.8815 15778 ] 15779 ], 15780 { 15781 "attributes":{ 15782 "index":942 15783 } 15784 } 15785 ], 15786 "electric-405":[ 15787 [ 15788 [ 15789 -0.0228, 15790 0.0107, 15791 -2.1307 15792 ], 15793 [ 15794 -0.9119, 15795 -0.3193, 15796 -1.8971 15797 ], 15798 [ 15799 -0.0228, 15800 0.0107, 15801 -2.1307 15802 ], 15803 [ 15804 0.5509, 15805 0.1811, 15806 -2.0536 15807 ], 15808 [ 15809 -0.0228, 15810 0.0107, 15811 -2.1307 15812 ], 15813 [ 15814 -0.5728, 15815 0.1917, 15816 -2.0435 15817 ] 15818 ], 15819 { 15820 "attributes":{ 15821 "index":132 15822 } 15823 } 15824 ], 15825 "inner-outer-001":[ 15826 [ 15827 [ 15828 -0.7041, 15829 1.4342, 15830 -0.2275 15831 ], 15832 [ 15833 -0.9258, 15834 1.8857, 15835 -0.2991 15836 ] 15837 ], 15838 { 15839 "attributes":{} 15840 } 15841 ], 15842 "inner-outer-002":[ 15843 [ 15844 [ 15845 -1.0162, 15846 -1.0908, 15847 0.6323 15848 ], 15849 [ 15850 -1.3361, 15851 -1.4342, 15852 0.8314 15853 ] 15854 ], 15855 { 15856 "attributes":{} 15857 } 15858 ], 15859 "inner-outer-003":[ 15860 [ 15861 [ 15862 -1.5967, 15863 0.1634, 15864 0.1198 15865 ], 15866 [ 15867 -2.0994, 15868 0.2148, 15869 0.1575 15870 ] 15871 ], 15872 { 15873 "attributes":{} 15874 } 15875 ], 15876 "inner-outer-004":[ 15877 [ 15878 [ 15879 -0.0816, 15880 -0.8884, 15881 1.3474 15882 ], 15883 [ 15884 -0.1073, 15885 -1.168, 15886 1.7715 15887 ] 15888 ], 15889 { 15890 "attributes":{} 15891 } 15892 ], 15893 "inner-outer-005":[ 15894 [ 15895 [ 15896 0.0023, 15897 1.5281, 15898 -0.5313 15899 ], 15900 [ 15901 0.003, 15902 2.0092, 15903 -0.6986 15904 ] 15905 ], 15906 { 15907 "attributes":{} 15908 } 15909 ], 15910 "inner-outer-006":[ 15911 [ 15912 [ 15913 0.4509, 15914 0.4112, 15915 1.5089 15916 ], 15917 [ 15918 0.5929, 15919 0.5407, 15920 1.9839 15921 ] 15922 ], 15923 { 15924 "attributes":{} 15925 } 15926 ], 15927 "inner-outer-007":[ 15928 [ 15929 [ 15930 0.3179, 15931 -1.5306, 15932 -0.3796 15933 ], 15934 [ 15935 0.418, 15936 -2.0125, 15937 -0.4992 15938 ] 15939 ], 15940 { 15941 "attributes":{} 15942 } 15943 ], 15944 "inner-outer-008":[ 15945 [ 15946 [ 15947 -0.9461, 15948 -0.2232, 15949 -1.3149 15950 ], 15951 [ 15952 -1.2439, 15953 -0.2935, 15954 -1.7288 15955 ] 15956 ], 15957 { 15958 "attributes":{} 15959 } 15960 ], 15961 "inner-outer-009":[ 15962 [ 15963 [ 15964 0.1755, 15965 1.5822, 15966 0.3168 15967 ], 15968 [ 15969 0.2308, 15970 2.0803, 15971 0.4165 15972 ] 15973 ], 15974 { 15975 "attributes":{} 15976 } 15977 ], 15978 "inner-outer-010":[ 15979 [ 15980 [ 15981 -1.0742, 15982 0.8864, 15983 0.8331 15984 ], 15985 [ 15986 -1.4124, 15987 1.1655, 15988 1.0953 15989 ] 15990 ], 15991 { 15992 "attributes":{} 15993 } 15994 ], 15995 "inner-outer-011":[ 15996 [ 15997 [ 15998 0.1489, 15999 0.7275, 16000 -1.4359 16001 ], 16002 [ 16003 0.1958, 16004 0.9566, 16005 -1.888 16006 ] 16007 ], 16008 { 16009 "attributes":{} 16010 } 16011 ], 16012 "inner-outer-012":[ 16013 [ 16014 [ 16015 -0.7557, 16016 -0.855, 16017 -1.1626 16018 ], 16019 [ 16020 -0.9936, 16021 -1.1241, 16022 -1.5286 16023 ] 16024 ], 16025 { 16026 "attributes":{} 16027 } 16028 ], 16029 "inner-outer-013":[ 16030 [ 16031 [ 16032 -0.2479, 16033 -1.1892, 16034 1.0643 16035 ], 16036 [ 16037 -0.326, 16038 -1.5636, 16039 1.3994 16040 ] 16041 ], 16042 { 16043 "attributes":{} 16044 } 16045 ], 16046 "inner-outer-014":[ 16047 [ 16048 [ 16049 0.3163, 16050 -1.5439, 16051 0.3987 16052 ], 16053 [ 16054 0.4159, 16055 -2.0299, 16056 0.5242 16057 ] 16058 ], 16059 { 16060 "attributes":{} 16061 } 16062 ], 16063 "inner-outer-015":[ 16064 [ 16065 [ 16066 0.8062, 16067 1.3901, 16068 0.1711 16069 ], 16070 [ 16071 1.06, 16072 1.8278, 16073 0.2249 16074 ] 16075 ], 16076 { 16077 "attributes":{} 16078 } 16079 ], 16080 "inner-outer-016":[ 16081 [ 16082 [ 16083 -0.962, 16084 0.958, 16085 0.8729 16086 ], 16087 [ 16088 -1.2649, 16089 1.2596, 16090 1.1477 16091 ] 16092 ], 16093 { 16094 "attributes":{} 16095 } 16096 ], 16097 "inner-outer-017":[ 16098 [ 16099 [ 16100 1.2567, 16101 0.6179, 16102 0.8441 16103 ], 16104 [ 16105 1.6523, 16106 0.8124, 16107 1.1099 16108 ] 16109 ], 16110 { 16111 "attributes":{} 16112 } 16113 ], 16114 "inner-outer-018":[ 16115 [ 16116 [ 16117 -0.5811, 16118 -1.3582, 16119 -0.642 16120 ], 16121 [ 16122 -0.764, 16123 -1.7857, 16124 -0.8442 16125 ] 16126 ], 16127 { 16128 "attributes":{} 16129 } 16130 ], 16131 "inner-outer-019":[ 16132 [ 16133 [ 16134 0.068, 16135 0.7202, 16136 1.4369 16137 ], 16138 [ 16139 0.0894, 16140 0.947, 16141 1.8893 16142 ] 16143 ], 16144 { 16145 "attributes":{} 16146 } 16147 ], 16148 "inner-outer-020":[ 16149 [ 16150 [ 16151 -0.3836, 16152 0.8555, 16153 -1.3191 16154 ], 16155 [ 16156 -0.5044, 16157 1.1249, 16158 -1.7343 16159 ] 16160 ], 16161 { 16162 "attributes":{} 16163 } 16164 ], 16165 "inner-outer-021":[ 16166 [ 16167 [ 16168 -0.4105, 16169 0.132, 16170 1.5529 16171 ], 16172 [ 16173 -0.5397, 16174 0.1735, 16175 2.0418 16176 ] 16177 ], 16178 { 16179 "attributes":{} 16180 } 16181 ], 16182 "inner-outer-022":[ 16183 [ 16184 [ 16185 -0.3047, 16186 -0.4865, 16187 -1.5393 16188 ], 16189 [ 16190 -0.4006, 16191 -0.6397, 16192 -2.0238 16193 ] 16194 ], 16195 { 16196 "attributes":{} 16197 } 16198 ], 16199 "inner-outer-023":[ 16200 [ 16201 [ 16202 1.5385, 16203 0.4438, 16204 -0.1356 16205 ], 16206 [ 16207 2.0229, 16208 0.5835, 16209 -0.1783 16210 ] 16211 ], 16212 { 16213 "attributes":{} 16214 } 16215 ], 16216 "inner-outer-024":[ 16217 [ 16218 [ 16219 -0.229, 16220 1.5834, 16221 0.2226 16222 ], 16223 [ 16224 -0.3012, 16225 2.0819, 16226 0.2927 16227 ] 16228 ], 16229 { 16230 "attributes":{} 16231 } 16232 ], 16233 "inner-outer-025":[ 16234 [ 16235 [ 16236 0.2284, 16237 -1.3012, 16238 0.922 16239 ], 16240 [ 16241 0.3003, 16242 -1.7108, 16243 1.2122 16244 ] 16245 ], 16246 { 16247 "attributes":{} 16248 } 16249 ], 16250 "inner-outer-026":[ 16251 [ 16252 [ 16253 -0.3738, 16254 -1.5567, 16255 -0.1904 16256 ], 16257 [ 16258 -0.4914, 16259 -2.0468, 16260 -0.2503 16261 ] 16262 ], 16263 { 16264 "attributes":{} 16265 } 16266 ], 16267 "inner-outer-027":[ 16268 [ 16269 [ 16270 1.0035, 16271 1.1747, 16272 0.4812 16273 ], 16274 [ 16275 1.3194, 16276 1.5445, 16277 0.6327 16278 ] 16279 ], 16280 { 16281 "attributes":{} 16282 } 16283 ], 16284 "inner-outer-028":[ 16285 [ 16286 [ 16287 -1.0501, 16288 -1.0277, 16289 -0.6692 16290 ], 16291 [ 16292 -1.3807, 16293 -1.3513, 16294 -0.8799 16295 ] 16296 ], 16297 { 16298 "attributes":{} 16299 } 16300 ], 16301 "inner-outer-029":[ 16302 [ 16303 [ 16304 0.9157, 16305 -1.3116, 16306 0.3631 16307 ], 16308 [ 16309 1.204, 16310 -1.7246, 16311 0.4774 16312 ] 16313 ], 16314 { 16315 "attributes":{} 16316 } 16317 ], 16318 "inner-outer-030":[ 16319 [ 16320 [ 16321 0.1842, 16322 -1.462, 16323 -0.6732 16324 ], 16325 [ 16326 0.2421, 16327 -1.9222, 16328 -0.8851 16329 ] 16330 ], 16331 { 16332 "attributes":{} 16333 } 16334 ], 16335 "inner-outer-031":[ 16336 [ 16337 [ 16338 1.4678, 16339 0.4794, 16340 0.4881 16341 ], 16342 [ 16343 1.9298, 16344 0.6303, 16345 0.6417 16346 ] 16347 ], 16348 { 16349 "attributes":{} 16350 } 16351 ], 16352 "inner-outer-032":[ 16353 [ 16354 [ 16355 0.8307, 16356 1.0478, 16357 0.9141 16358 ], 16359 [ 16360 1.0922, 16361 1.3777, 16362 1.2018 16363 ] 16364 ], 16365 { 16366 "attributes":{} 16367 } 16368 ], 16369 "inner-outer-033":[ 16370 [ 16371 [ 16372 0.4323, 16373 -0.5544, 16374 1.4446 16375 ], 16376 [ 16377 0.5684, 16378 -0.729, 16379 1.8994 16380 ] 16381 ], 16382 { 16383 "attributes":{} 16384 } 16385 ], 16386 "inner-outer-034":[ 16387 [ 16388 [ 16389 1.0385, 16390 0.5363, 16391 -1.1187 16392 ], 16393 [ 16394 1.3654, 16395 0.7051, 16396 -1.4708 16397 ] 16398 ], 16399 { 16400 "attributes":{} 16401 } 16402 ], 16403 "inner-outer-035":[ 16404 [ 16405 [ 16406 1.1666, 16407 -0.5107, 16408 0.9895 16409 ], 16410 [ 16411 1.5338, 16412 -0.6715, 16413 1.301 16414 ] 16415 ], 16416 { 16417 "attributes":{} 16418 } 16419 ], 16420 "inner-outer-036":[ 16421 [ 16422 [ 16423 0.4644, 16424 -1.5564, 16425 0.055 16426 ], 16427 [ 16428 0.6106, 16429 -2.0464, 16430 0.0723 16431 ] 16432 ], 16433 { 16434 "attributes":{} 16435 } 16436 ], 16437 "inner-outer-037":[ 16438 [ 16439 [ 16440 0.2452, 16441 1.5673, 16442 -0.3688 16443 ], 16444 [ 16445 0.3224, 16446 2.0607, 16447 -0.4849 16448 ] 16449 ], 16450 { 16451 "attributes":{} 16452 } 16453 ], 16454 "inner-outer-038":[ 16455 [ 16456 [ 16457 -0.832, 16458 -1.3706, 16459 0.2905 16460 ], 16461 [ 16462 -1.094, 16463 -1.8021, 16464 0.3819 16465 ] 16466 ], 16467 { 16468 "attributes":{} 16469 } 16470 ], 16471 "inner-outer-039":[ 16472 [ 16473 [ 16474 -0.7712, 16475 1.3666, 16476 0.4039 16477 ], 16478 [ 16479 -1.014, 16480 1.7968, 16481 0.531 16482 ] 16483 ], 16484 { 16485 "attributes":{} 16486 } 16487 ], 16488 "inner-outer-040":[ 16489 [ 16490 [ 16491 1.5851, 16492 0.1092, 16493 0.2994 16494 ], 16495 [ 16496 2.0842, 16497 0.1436, 16498 0.3937 16499 ] 16500 ], 16501 { 16502 "attributes":{} 16503 } 16504 ], 16505 "inner-outer-041":[ 16506 [ 16507 [ 16508 0.4023, 16509 1.5767, 16510 -0.1767 16511 ], 16512 [ 16513 0.5289, 16514 2.073, 16515 -0.2323 16516 ] 16517 ], 16518 { 16519 "attributes":{} 16520 } 16521 ], 16522 "inner-outer-042":[ 16523 [ 16524 [ 16525 0.3333, 16526 1.4056, 16527 0.7588 16528 ], 16529 [ 16530 0.4383, 16531 1.8481, 16532 0.9977 16533 ] 16534 ], 16535 { 16536 "attributes":{} 16537 } 16538 ], 16539 "inner-outer-043":[ 16540 [ 16541 [ 16542 -1.4813, 16543 0.0607, 16544 0.6445 16545 ], 16546 [ 16547 -1.9476, 16548 0.0798, 16549 0.8473 16550 ] 16551 ], 16552 { 16553 "attributes":{} 16554 } 16555 ], 16556 "inner-outer-044":[ 16557 [ 16558 [ 16559 -0.2619, 16560 -1.5738, 16561 -0.2646 16562 ], 16563 [ 16564 -0.3443, 16565 -2.0692, 16566 -0.3479 16567 ] 16568 ], 16569 { 16570 "attributes":{} 16571 } 16572 ], 16573 "inner-outer-045":[ 16574 [ 16575 [ 16576 -0.325, 16577 -1.3161, 16578 -0.9117 16579 ], 16580 [ 16581 -0.4274, 16582 -1.7304, 16583 -1.1987 16584 ] 16585 ], 16586 { 16587 "attributes":{} 16588 } 16589 ], 16590 "inner-outer-046":[ 16591 [ 16592 [ 16593 -1.1023, 16594 -0.6135, 16595 -1.0123 16596 ], 16597 [ 16598 -1.4493, 16599 -0.8067, 16600 -1.3309 16601 ] 16602 ], 16603 { 16604 "attributes":{} 16605 } 16606 ], 16607 "inner-outer-047":[ 16608 [ 16609 [ 16610 1.0361, 16611 1.1092, 16612 -0.5458 16613 ], 16614 [ 16615 1.3623, 16616 1.4584, 16617 -0.7176 16618 ] 16619 ], 16620 { 16621 "attributes":{} 16622 } 16623 ], 16624 "inner-outer-048":[
16625 [ 16626 [ 16627 -1.521, 16628 -0.3853, 16629 -0.4179 16630 ], 16631 [ 16632 -1.9998, 16633 -0.5066, 16634 -0.5494 16635 ] 16636 ], 16637 { 16638 "attributes":{} 16639 } 16640 ], 16641 "inner-outer-049":[ 16642 [ 16643 [ 16644 1.5112, 16645 0.1487, 16646 -0.5401 16647 ], 16648 [ 16649 1.9869, 16650 0.1955, 16651 -0.7101 16652 ] 16653 ], 16654 { 16655 "attributes":{} 16656 } 16657 ], 16658 "inner-outer-050":[ 16659 [ 16660 [ 16661 -0.3557, 16662 -1.3806, 16663 -0.8064 16664 ], 16665 [ 16666 -0.4676, 16667 -1.8153, 16668 -1.0602 16669 ] 16670 ], 16671 { 16672 "attributes":{} 16673 } 16674 ], 16675 "inner-outer-051":[ 16676 [ 16677 [ 16678 -0.8556, 16679 0.5501, 16680 -1.2587 16681 ], 16682 [ 16683 -1.1249, 16684 0.7233, 16685 -1.6549 16686 ] 16687 ], 16688 { 16689 "attributes":{} 16690 } 16691 ], 16692 "inner-outer-052":[ 16693 [ 16694 [ 16695 -1.4026, 16696 0.6672, 16697 -0.4738 16698 ], 16699 [ 16700 -1.8441, 16701 0.8772, 16702 -0.6229 16703 ] 16704 ], 16705 { 16706 "attributes":{} 16707 } 16708 ], 16709 "inner-outer-053":[ 16710 [ 16711 [ 16712 0.0738, 16713 -1.6144, 16714 -0.2259 16715 ], 16716 [ 16717 0.097, 16718 -2.1226, 16719 -0.297 16720 ] 16721 ], 16722 { 16723 "attributes":{} 16724 } 16725 ], 16726 "inner-outer-054":[ 16727 [ 16728 [ 16729 0.4072, 16730 1.2287, 16731 -0.9727 16732 ], 16733 [ 16734 0.5353, 16735 1.6155, 16736 -1.2789 16737 ] 16738 ], 16739 { 16740 "attributes":{} 16741 } 16742 ], 16743 "inner-outer-055":[ 16744 [ 16745 [ 16746 0.546, 16747 1.1534, 16748 0.9825 16749 ], 16750 [ 16751 0.7179, 16752 1.5165, 16753 1.2918 16754 ] 16755 ], 16756 { 16757 "attributes":{} 16758 } 16759 ], 16760 "inner-outer-056":[ 16761 [ 16762 [ 16763 -0.5266, 16764 -1.3304, 16765 -0.7578 16766 ], 16767 [ 16768 -0.6923, 16769 -1.7492, 16770 -0.9964 16771 ] 16772 ], 16773 { 16774 "attributes":{} 16775 } 16776 ], 16777 "inner-outer-057":[ 16778 [ 16779 [ 16780 -0.1114, 16781 1.5482, 16782 0.4669 16783 ], 16784 [ 16785 -0.1464, 16786 2.0355, 16787 0.614 16788 ] 16789 ], 16790 { 16791 "attributes":{} 16792 } 16793 ], 16794 "inner-outer-058":[ 16795 [ 16796 [ 16797 -0.4888, 16798 -1.5336, 16799 0.2197 16800 ], 16801 [ 16802 -0.6427, 16803 -2.0164, 16804 0.2889 16805 ] 16806 ], 16807 { 16808 "attributes":{} 16809 } 16810 ], 16811 "inner-outer-059":[ 16812 [ 16813 [ 16814 1.1333, 16815 0.7848, 16816 -0.8597 16817 ], 16818 [ 16819 1.49, 16820 1.0318, 16821 -1.1303 16822 ] 16823 ], 16824 { 16825 "attributes":{} 16826 } 16827 ], 16828 "inner-outer-060":[ 16829 [ 16830 [ 16831 -0.5074, 16832 -0.8624, 16833 -1.2785 16834 ], 16835 [ 16836 -0.6672, 16837 -1.1339, 16838 -1.681 16839 ] 16840 ], 16841 { 16842 "attributes":{} 16843 } 16844 ], 16845 "inner-outer-061":[ 16846 [ 16847 [ 16848 -1.3735, 16849 0.8357, 16850 0.0923 16851 ], 16852 [ 16853 -1.806, 16854 1.0988, 16855 0.1213 16856 ] 16857 ], 16858 { 16859 "attributes":{} 16860 } 16861 ], 16862 "inner-outer-062":[ 16863 [ 16864 [ 16865 -0.9522, 16866 1.1423, 16867 0.6683 16868 ], 16869 [ 16870 -1.2519, 16871 1.5019, 16872 0.8786 16873 ] 16874 ], 16875 { 16876 "attributes":{} 16877 } 16878 ], 16879 "inner-outer-063":[ 16880 [ 16881 [ 16882 0.3111, 16883 -1.3059, 16884 0.8974 16885 ], 16886 [ 16887 0.409, 16888 -1.7171, 16889 1.1799 16890 ] 16891 ], 16892 { 16893 "attributes":{} 16894 } 16895 ], 16896 "inner-outer-064":[ 16897 [ 16898 [ 16899 -1.527, 16900 0.2679, 16901 -0.4769 16902 ], 16903 [ 16904 -2.0077, 16905 0.3522, 16906 -0.6271 16907 ] 16908 ], 16909 { 16910 "attributes":{} 16911 } 16912 ], 16913 "inner-outer-065":[ 16914 [ 16915 [ 16916 0.8659, 16917 1.2194, 16918 -0.5976 16919 ], 16920 [ 16921 1.1385, 16922 1.6033, 16923 -0.7857 16924 ] 16925 ], 16926 { 16927 "attributes":{} 16928 } 16929 ], 16930 "inner-outer-066":[ 16931 [ 16932 [ 16933 -1.0061, 16934 -1.0586, 16935 -0.7021 16936 ], 16937 [ 16938 -1.3228, 16939 -1.3919, 16940 -0.9232 16941 ] 16942 ], 16943 { 16944 "attributes":{} 16945 } 16946 ], 16947 "inner-outer-067":[ 16948 [ 16949 [ 16950 0.8261, 16951 0.7893, 16952 1.1417 16953 ], 16954 [ 16955 1.0862, 16956 1.0378, 16957 1.5011 16958 ] 16959 ], 16960 { 16961 "attributes":{} 16962 } 16963 ], 16964 "inner-outer-068":[ 16965 [ 16966 [ 16967 -0.1026, 16968 0.4064, 16969 1.5587 16970 ], 16971 [ 16972 -0.1349, 16973 0.5343, 16974 2.0493 16975 ] 16976 ], 16977 { 16978 "attributes":{} 16979 } 16980 ], 16981 "inner-outer-069":[ 16982 [ 16983 [ 16984 1.3289, 16985 -0.8155, 16986 -0.3933 16987 ], 16988 [ 16989 1.7472, 16990 -1.0723, 16991 -0.5171 16992 ] 16993 ], 16994 { 16995 "attributes":{} 16996 } 16997 ], 16998 "inner-outer-070":[ 16999 [ 17000 [ 17001 0.3679, 17002 -1.5844, 17003 0.1729 17004 ], 17005 [ 17006 0.4837, 17007 -2.0832, 17008 0.2273 17009 ] 17010 ], 17011 { 17012 "attributes":{} 17013 } 17014 ], 17015 "inner-outer-071":[ 17016 [ 17017 [ 17018 0.3473, 17019 1.1741, 17020 -1.0455 17021 ], 17022 [ 17023 0.4566, 17024 1.5437, 17025 -1.3746 17026 ] 17027 ], 17028 { 17029 "attributes":{} 17030 } 17031 ], 17032 "inner-outer-072":[ 17033 [ 17034 [ 17035 0.9131, 17036 -0.0153, 17037 1.3268 17038 ], 17039 [ 17040 1.2005, 17041 -0.0201, 17042 1.7446 17043 ] 17044 ], 17045 { 17046 "attributes":{} 17047 } 17048 ], 17049 "inner-outer-073":[ 17050 [ 17051 [ 17052 0.1068, 17053 -1.6113, 17054 -0.1777 17055 ], 17056 [ 17057 0.1405, 17058 -2.1185, 17059 -0.2336 17060 ] 17061 ], 17062 { 17063 "attributes":{} 17064 } 17065 ], 17066 "inner-outer-074":[ 17067 [ 17068 [ 17069 0.4835, 17070 -1.5213, 17071 -0.2946 17072 ], 17073 [ 17074 0.6358, 17075 -2.0003, 17076 -0.3874 17077 ] 17078 ], 17079 { 17080 "attributes":{} 17081 } 17082 ], 17083 "inner-outer-075":[ 17084 [ 17085 [ 17086 -1.3853, 17087 0.7568, 17088 -0.3947 17089 ], 17090 [ 17091 -1.8214, 17092 0.9951, 17093 -0.5189 17094 ] 17095 ], 17096 { 17097 "attributes":{} 17098 } 17099 ], 17100 "inner-outer-076":[ 17101 [ 17102 [ 17103 0.5451, 17104 -0.5719, 17105 1.4094 17106 ], 17107 [ 17108 0.7167, 17109 -0.752, 17110 1.8531 17111 ] 17112 ], 17113 { 17114 "attributes":{} 17115 } 17116 ], 17117 "inner-outer-077":[ 17118 [ 17119 [ 17120 -0.3508, 17121 -1.3664, 17122 0.8077 17123 ], 17124 [ 17125 -0.4612, 17126 -1.7966, 17127 1.0619 17128 ] 17129 ], 17130 { 17131 "attributes":{} 17132 } 17133 ], 17134 "inner-outer-078":[ 17135 [ 17136 [ 17137 0.2211, 17138 -1.5726, 17139 -0.3151 17140 ], 17141 [ 17142 0.2907, 17143 -2.0677, 17144 -0.4143 17145 ] 17146 ], 17147 { 17148 "attributes":{} 17149 } 17150 ], 17151 "inner-outer-079":[ 17152 [ 17153 [ 17154 0.1952, 17155 0.7792, 17156 1.4007 17157 ], 17158 [ 17159 0.2567, 17160 1.0245, 17161 1.8417 17162 ] 17163 ], 17164 { 17165 "attributes":{} 17166 } 17167 ], 17168 "inner-outer-080":[ 17169 [ 17170 [ 17171 1.0369, 17172 -0.6356, 17173 1.0585 17174 ], 17175 [ 17176 1.3634, 17177 -0.8357, 17178 1.3918 17179 ] 17180 ], 17181 { 17182 "attributes":{} 17183 } 17184 ], 17185 "inner-outer-081":[ 17186 [ 17187 [ 17188 -1.6213, 17189 0.1352, 17190 -0.1762 17191 ], 17192 [ 17193 -2.1317, 17194 0.1777, 17195 -0.2317 17196 ] 17197 ], 17198 { 17199 "attributes":{} 17200 } 17201 ], 17202 "inner-outer-082":[ 17203 [ 17204 [ 17205 1.3681, 17206 -0.1224, 17207 -0.8948 17208 ], 17209 [ 17210 1.7988, 17211 -0.1609, 17212 -1.1765 17213 ] 17214 ], 17215 { 17216 "attributes":{} 17217 } 17218 ], 17219 "inner-outer-083":[ 17220 [ 17221 [ 17222 -0.6713, 17223 1.4838, 17224 0.2118 17225 ], 17226 [ 17227 -0.8826, 17228 1.951, 17229 0.2785 17230 ] 17231 ], 17232 { 17233 "attributes":{} 17234 } 17235 ], 17236 "inner-outer-084":[ 17237 [ 17238 [ 17239 -0.3951, 17240 1.4476, 17241 -0.5863 17242 ], 17243 [ 17244 -0.5195, 17245 1.9033, 17246 -0.7708 17247 ] 17248 ], 17249 { 17250 "attributes":{} 17251 } 17252 ], 17253 "inner-outer-085":[ 17254 [ 17255 [ 17256 0.6331, 17257 0.0965, 17258 1.4756 17259 ], 17260 [ 17261 0.8324, 17262 0.1269, 17263 1.9401 17264 ] 17265 ], 17266 { 17267 "attributes":{} 17268 } 17269 ], 17270 "inner-outer-086":[ 17271 [ 17272 [ 17273 -0.0961, 17274 -1.5854, 17275 0.2938 17276 ], 17277 [ 17278 -0.1263, 17279 -2.0846, 17280 0.3863 17281 ] 17282 ], 17283 { 17284 "attributes":{} 17285 } 17286 ], 17287 "inner-outer-087":[ 17288 [ 17289 [ 17290 1.3376, 17291 0.1799, 17292 0.9194 17293 ], 17294 [ 17295 1.7587, 17296 0.2365, 17297 1.2089 17298 ] 17299 ], 17300 { 17301 "attributes":{} 17302 } 17303 ], 17304 "inner-outer-088":[ 17305 [ 17306 [ 17307 -0.9247, 17308 -1.3144, 17309 -0.0068 17310 ], 17311 [ 17312 -1.2158, 17313 -1.7282, 17314 -0.0089 17315 ] 17316 ], 17317 { 17318 "attributes":{} 17319 } 17320 ], 17321 "inner-outer-089":[ 17322 [ 17323 [ 17324 0.3706, 17325 -1.4377, 17326 -0.6333 17327 ], 17328 [ 17329 0.4873, 17330 -1.8902, 17331 -0.8326 17332 ] 17333 ], 17334 { 17335 "attributes":{} 17336 } 17337 ], 17338 "inner-outer-090":[ 17339 [ 17340 [ 17341 -0.2661, 17342 0.997, 17343 1.2409 17344 ], 17345 [ 17346 -0.3498, 17347 1.3109, 17348 1.6316 17349 ] 17350 ], 17351 { 17352 "attributes":{} 17353 } 17354 ], 17355 "inner-outer-091":[ 17356 [ 17357 [ 17358 1.3241, 17359 0.8261, 17360 0.3893 17361 ], 17362 [ 17363 1.741, 17364 1.0861, 17365 0.5119 17366 ] 17367 ], 17368 { 17369 "attributes":{} 17370 } 17371 ], 17372 "inner-outer-092":[ 17373 [ 17374 [ 17375 0.2858, 17376 -1.4113, 17377 0.7364 17378 ], 17379 [ 17380 0.3757, 17381 -1.8556, 17382 0.9683 17383 ] 17384 ], 17385 { 17386 "attributes":{} 17387 } 17388 ], 17389 "inner-outer-093":[ 17390 [ 17391 [ 17392 0.3808, 17393 -1.5656, 17394 -0.0494 17395 ], 17396 [ 17397 0.5006, 17398 -2.0585, 17399 -0.0649 17400 ] 17401 ], 17402 { 17403 "attributes":{} 17404 } 17405 ], 17406 "inner-outer-094":[ 17407 [ 17408 [ 17409 0.7605, 17410 -1.4193, 17411 0.0886 17412 ], 17413 [ 17414 0.9999, 17415 -1.8661, 17416 0.1165 17417 ] 17418 ], 17419 { 17420 "attributes":{} 17421 } 17422 ], 17423 "inner-outer-095":[ 17424 [ 17425 [ 17426 0.9172, 17427 0.0027, 17428 1.3249 17429 ], 17430 [ 17431 1.2059, 17432 0.0035, 17433 1.742 17434 ] 17435 ], 17436 { 17437 "attributes":{} 17438 } 17439 ], 17440 "inner-outer-096":[ 17441 [ 17442 [ 17443 0.9044, 17444 1.1357, 17445 -0.6994 17446 ], 17447 [ 17448 1.1891, 17449 1.4932, 17450 -0.9195 17451 ] 17452 ], 17453 { 17454 "attributes":{} 17455 } 17456 ], 17457 "inner-outer-097":[ 17458 [ 17459 [ 17460 1.1143, 17461 0.1567, 17462 1.153 17463 ], 17464 [ 17465 1.4651, 17466 0.206, 17467 1.516 17468 ] 17469 ], 17470 { 17471 "attributes":{} 17472 } 17473 ], 17474 "inner-outer-098":[ 17475 [ 17476 [ 17477 1.2784, 17478 -0.9813, 17479 0.116 17480 ], 17481 [ 17482 1.6809, 17483 -1.2903, 17484 0.1525 17485 ] 17486 ], 17487 { 17488 "attributes":{} 17489 } 17490 ], 17491 "inner-outer-099":[
17492 [ 17493 [ 17494 0.6659, 17495 -1.3113, 17496 0.683 17497 ], 17498 [ 17499 0.8755, 17500 -1.7241, 17501 0.898 17502 ] 17503 ], 17504 { 17505 "attributes":{} 17506 } 17507 ], 17508 "inner-outer-100":[ 17509 [ 17510 [ 17511 0.8958, 17512 1.1313, 17513 -0.7186 17514 ], 17515 [ 17516 1.1778, 17517 1.4875, 17518 -0.9449 17519 ] 17520 ], 17521 { 17522 "attributes":{} 17523 } 17524 ], 17525 "inner-outer-101":[ 17526 [ 17527 [ 17528 1.2067, 17529 0.9304, 17530 -0.5169 17531 ], 17532 [ 17533 1.5866, 17534 1.2233, 17535 -0.6796 17536 ] 17537 ], 17538 { 17539 "attributes":{} 17540 } 17541 ], 17542 "inner-outer-102":[ 17543 [ 17544 [ 17545 -0.0724, 17546 -1.5841, 17547 0.2991 17548 ], 17549 [ 17550 -0.0952, 17551 -2.0829, 17552 0.3933 17553 ] 17554 ], 17555 { 17556 "attributes":{} 17557 } 17558 ], 17559 "inner-outer-103":[ 17560 [ 17561 [ 17562 -1.0707, 17563 -1.1723, 17564 -0.3257 17565 ], 17566 [ 17567 -1.4078, 17568 -1.5413, 17569 -0.4282 17570 ] 17571 ], 17572 { 17573 "attributes":{} 17574 } 17575 ], 17576 "inner-outer-104":[ 17577 [ 17578 [ 17579 1.5195, 17580 -0.2227, 17581 0.5045 17582 ], 17583 [ 17584 1.9979, 17585 -0.2928, 17586 0.6633 17587 ] 17588 ], 17589 { 17590 "attributes":{} 17591 } 17592 ], 17593 "inner-outer-105":[ 17594 [ 17595 [ 17596 1.4168, 17597 0.1061, 17598 -0.7823 17599 ], 17600 [ 17601 1.8628, 17602 0.1395, 17603 -1.0286 17604 ] 17605 ], 17606 { 17607 "attributes":{} 17608 } 17609 ], 17610 "inner-outer-106":[ 17611 [ 17612 [ 17613 0.0082, 17614 0.8234, 17615 1.3918 17616 ], 17617 [ 17618 0.0107, 17619 1.0826, 17620 1.8299 17621 ] 17622 ], 17623 { 17624 "attributes":{} 17625 } 17626 ], 17627 "inner-outer-107":[ 17628 [ 17629 [ 17630 -1.5543, 17631 0.4129, 17632 -0.0292 17633 ], 17634 [ 17635 -2.0436, 17636 0.5428, 17637 -0.0384 17638 ] 17639 ], 17640 { 17641 "attributes":{} 17642 } 17643 ], 17644 "inner-outer-108":[ 17645 [ 17646 [ 17647 1.0894, 17648 0.7758, 17649 0.9223 17650 ], 17651 [ 17652 1.4324, 17653 1.0201, 17654 1.2126 17655 ] 17656 ], 17657 { 17658 "attributes":{} 17659 } 17660 ], 17661 "inner-outer-109":[ 17662 [ 17663 [ 17664 1.1813, 17665 -0.1052, 17666 1.0906 17667 ], 17668 [ 17669 1.5532, 17670 -0.1383, 17671 1.4339 17672 ] 17673 ], 17674 { 17675 "attributes":{} 17676 } 17677 ], 17678 "inner-outer-110":[ 17679 [ 17680 [ 17681 -1.4542, 17682 0.7027, 17683 -0.1393 17684 ], 17685 [ 17686 -1.912, 17687 0.9239, 17688 -0.1832 17689 ] 17690 ], 17691 { 17692 "attributes":{} 17693 } 17694 ], 17695 "inner-outer-111":[ 17696 [ 17697 [ 17698 -0.2418, 17699 -0.965, 17700 -1.2793 17701 ], 17702 [ 17703 -0.3179, 17704 -1.2688, 17705 -1.682 17706 ] 17707 ], 17708 { 17709 "attributes":{} 17710 } 17711 ], 17712 "inner-outer-112":[ 17713 [ 17714 [ 17715 1.3198, 17716 0.6193, 17717 -0.711 17718 ], 17719 [ 17720 1.7353, 17721 0.8143, 17722 -0.9348 17723 ] 17724 ], 17725 { 17726 "attributes":{} 17727 } 17728 ], 17729 "inner-outer-113":[ 17730 [ 17731 [ 17732 0.2899, 17733 -1.3689, 17734 -0.8695 17735 ], 17736 [ 17737 0.3811, 17738 -1.7999, 17739 -1.1432 17740 ] 17741 ], 17742 { 17743 "attributes":{} 17744 } 17745 ], 17746 "inner-outer-114":[ 17747 [ 17748 [ 17749 -1.147, 17750 0.8862, 17751 -0.7331 17752 ], 17753 [ 17754 -1.5081, 17755 1.1652, 17756 -0.9639 17757 ] 17758 ], 17759 { 17760 "attributes":{} 17761 } 17762 ], 17763 "inner-outer-115":[ 17764 [ 17765 [ 17766 -0.6187, 17767 -0.7071, 17768 1.3334 17769 ], 17770 [ 17771 -0.8134, 17772 -0.9297, 17773 1.7532 17774 ] 17775 ], 17776 { 17777 "attributes":{} 17778 } 17779 ], 17780 "inner-outer-116":[ 17781 [ 17782 [ 17783 -1.01, 17784 -1.2602, 17785 0.1172 17786 ], 17787 [ 17788 -1.328, 17789 -1.657, 17790 0.1541 17791 ] 17792 ], 17793 { 17794 "attributes":{} 17795 } 17796 ], 17797 "inner-outer-117":[ 17798 [ 17799 [ 17800 0.6949, 17801 -1.344, 17802 0.5503 17803 ], 17804 [ 17805 0.9137, 17806 -1.7671, 17807 0.7236 17808 ] 17809 ], 17810 { 17811 "attributes":{} 17812 } 17813 ], 17814 "inner-outer-118":[ 17815 [ 17816 [ 17817 -1.3853, 17818 -0.8151, 17819 -0.0902 17820 ], 17821 [ 17822 -1.8214, 17823 -1.0717, 17824 -0.1186 17825 ] 17826 ], 17827 { 17828 "attributes":{} 17829 } 17830 ], 17831 "inner-outer-119":[ 17832 [ 17833 [ 17834 0.8782, 17835 0.4674, 17836 1.2851 17837 ], 17838 [ 17839 1.1547, 17840 0.6145, 17841 1.6897 17842 ] 17843 ], 17844 { 17845 "attributes":{} 17846 } 17847 ], 17848 "inner-outer-120":[ 17849 [ 17850 [ 17851 1.2453, 17852 0.7415, 17853 -0.7115 17854 ], 17855 [ 17856 1.6373, 17857 0.9749, 17858 -0.9355 17859 ] 17860 ], 17861 { 17862 "attributes":{} 17863 } 17864 ], 17865 "inner-outer-121":[ 17866 [ 17867 [ 17868 -0.1481, 17869 0.5301, 17870 -1.5264 17871 ], 17872 [ 17873 -0.1948, 17874 0.697, 17875 -2.0069 17876 ] 17877 ], 17878 { 17879 "attributes":{} 17880 } 17881 ], 17882 "inner-outer-122":[ 17883 [ 17884 [ 17885 -1.4021, 17886 0.7584, 17887 0.2748 17888 ], 17889 [ 17890 -1.8435, 17891 0.9971, 17892 0.3613 17893 ] 17894 ], 17895 { 17896 "attributes":{} 17897 } 17898 ], 17899 "inner-outer-123":[ 17900 [ 17901 [ 17902 0.5595, 17903 1.4117, 17904 0.5401 17905 ], 17906 [ 17907 0.7357, 17908 1.8561, 17909 0.7101 17910 ] 17911 ], 17912 { 17913 "attributes":{} 17914 } 17915 ], 17916 "inner-outer-124":[ 17917 [ 17918 [ 17919 -1.3212, 17920 -0.3294, 17921 -0.8824 17922 ], 17923 [ 17924 -1.7371, 17925 -0.4331, 17926 -1.1602 17927 ] 17928 ], 17929 { 17930 "attributes":{} 17931 } 17932 ], 17933 "inner-outer-125":[ 17934 [ 17935 [ 17936 -0.9297, 17937 -1.251, 17938 -0.4052 17939 ], 17940 [ 17941 -1.2223, 17942 -1.6449, 17943 -0.5328 17944 ] 17945 ], 17946 { 17947 "attributes":{} 17948 } 17949 ], 17950 "inner-outer-126":[ 17951 [ 17952 [ 17953 -1.334, 17954 -0.5637, 17955 -0.7162 17956 ], 17957 [ 17958 -1.7539, 17959 -0.7411, 17960 -0.9417 17961 ] 17962 ], 17963 { 17964 "attributes":{} 17965 } 17966 ], 17967 "inner-outer-127":[ 17968 [ 17969 [ 17970 -0.9395, 17971 0.3256, 17972 -1.292 17973 ], 17974 [ 17975 -1.2353, 17976 0.4281, 17977 -1.6988 17978 ] 17979 ], 17980 { 17981 "attributes":{} 17982 } 17983 ], 17984 "inner-outer-128":[ 17985 [ 17986 [ 17987 -0.1595, 17988 0.7423, 17989 1.4273 17990 ], 17991 [ 17992 -0.2097, 17993 0.976, 17994 1.8766 17995 ] 17996 ], 17997 { 17998 "attributes":{} 17999 } 18000 ], 18001 "inner-outer-129":[ 18002 [ 18003 [ 18004 1.59, 18005 -0.2997, 18006 0.0492 18007 ], 18008 [ 18009 2.0905, 18010 -0.394, 18011 0.0647 18012 ] 18013 ], 18014 { 18015 "attributes":{} 18016 } 18017 ], 18018 "inner-outer-130":[ 18019 [ 18020 [ 18021 0.3838, 18022 -1.3954,
18023 -0.7457 18024 ], 18025 [ 18026 0.5046, 18027 -1.8346, 18028 -0.9804 18029 ] 18030 ], 18031 { 18032 "attributes":{} 18033 } 18034 ], 18035 "inner-outer-131":[ 18036 [ 18037 [ 18038 0.8914, 18039 -0.3906, 18040 -1.3113 18041 ], 18042 [ 18043 1.1721, 18044 -0.5135, 18045 -1.7241 18046 ] 18047 ], 18048 { 18049 "attributes":{} 18050 } 18051 ], 18052 "inner-outer-132":[ 18053 [ 18054 [ 18055 0.158, 18056 1.5421, 18057 0.4538 18058 ], 18059 [ 18060 0.2077, 18061 2.0276, 18062 0.5967 18063 ] 18064 ], 18065 { 18066 "attributes":{} 18067 } 18068 ], 18069 "inner-outer-133":[ 18070 [ 18071 [ 18072 1.2455, 18073 -0.8101, 18074 0.6224 18075 ], 18076 [ 18077 1.6376, 18078 -1.0652, 18079 0.8183 18080 ] 18081 ], 18082 { 18083 "attributes":{} 18084 } 18085 ], 18086 "inner-outer-134":[ 18087 [ 18088 [ 18089 1.0542, 18090 1.0305, 18091 0.6571 18092 ], 18093 [ 18094 1.386, 18095 1.3549, 18096 0.8639 18097 ] 18098 ], 18099 { 18100 "attributes":{} 18101 } 18102 ], 18103 "inner-outer-135":[ 18104 [ 18105 [ 18106 -0.4744, 18107 -0.718, 18108 -1.372 18109 ], 18110 [ 18111 -0.6238, 18112 -0.944, 18113 -1.804 18114 ] 18115 ], 18116 { 18117 "attributes":{} 18118 } 18119 ], 18120 "inner-outer-136":[ 18121 [ 18122 [ 18123 -1.2011, 18124 -0.9869, 18125 0.4105 18126 ], 18127 [ 18128 -1.5793, 18129 -1.2976, 18130 0.5397 18131 ] 18132 ], 18133 { 18134 "attributes":{} 18135 } 18136 ], 18137 "inner-outer-137":[ 18138 [ 18139 [ 18140 0.3728, 18141 1.4542, 18142 0.5802 18143 ], 18144 [ 18145 0.4901, 18146 1.912, 18147 0.7629 18148 ] 18149 ], 18150 { 18151 "attributes":{} 18152 } 18153 ], 18154 "inner-outer-138":[ 18155 [ 18156 [ 18157 0.4739, 18158 1.3536, 18159 -0.7681 18160 ], 18161 [ 18162 0.6231, 18163 1.7798, 18164 -1.0099 18165 ] 18166 ], 18167 { 18168 "attributes":{} 18169 } 18170 ], 18171 "inner-outer-139":[ 18172 [ 18173 [ 18174 1.0036, 18175 1.2504, 18176 0.1127 18177 ], 18178 [ 18179 1.3196, 18180 1.644, 18181 0.1482 18182 ] 18183 ], 18184 { 18185 "attributes":{} 18186 } 18187 ], 18188 "inner-outer-140":[ 18189 [ 18190 [ 18191 -0.8442, 18192 -1.3589, 18193 -0.2288 18194 ], 18195 [ 18196 -1.1099, 18197 -1.7867, 18198 -0.3008 18199 ] 18200 ], 18201 { 18202 "attributes":{} 18203 } 18204 ], 18205 "inner-outer-141":[ 18206 [ 18207 [ 18208 1.2306, 18209 0.8485, 18210 -0.6044 18211 ], 18212 [ 18213 1.618, 18214 1.1157, 18215 -0.7947 18216 ] 18217 ], 18218 { 18219 "attributes":{} 18220 } 18221 ], 18222 "inner-outer-142":[ 18223 [ 18224 [ 18225 -0.2161, 18226 -1.0039, 18227 -1.2488 18228 ], 18229 [ 18230 -0.2842, 18231 -1.3199, 18232 -1.642 18233 ] 18234 ], 18235 { 18236 "attributes":{} 18237 } 18238 ], 18239 "inner-outer-143":[ 18240 [ 18241 [ 18242 0.4268, 18243 0.5868, 18244 1.461 18245 ], 18246 [ 18247 0.5611, 18248 0.7716, 18249 1.921 18250 ] 18251 ], 18252 { 18253 "attributes":{} 18254 } 18255 ], 18256 "inner-outer-144":[ 18257 [ 18258 [ 18259 -0.987, 18260 -0.3985, 18261 -1.2339 18262 ], 18263 [ 18264 -1.2978, 18265 -0.524, 18266 -1.6224 18267 ] 18268 ], 18269 { 18270 "attributes":{} 18271 } 18272 ], 18273 "inner-outer-145":[ 18274 [ 18275 [ 18276 -1.5664, 18277 -0.3381, 18278 0.2552 18279 ], 18280 [ 18281 -2.0596, 18282 -0.4445, 18283 0.3355 18284 ] 18285 ], 18286 { 18287 "attributes":{} 18288 } 18289 ], 18290 "inner-outer-146":[ 18291 [ 18292 [ 18293 0.0673, 18294 1.5397, 18295 0.4979 18296 ], 18297 [ 18298 0.0884, 18299 2.0244, 18300 0.6546 18301 ] 18302 ], 18303 { 18304 "attributes":{} 18305 } 18306 ], 18307 "inner-outer-147":[ 18308 [ 18309 [ 18310 -1.3659, 18311 -0.7288, 18312 0.4721 18313 ], 18314 [ 18315 -1.7959, 18316 -0.9582, 18317 0.6207 18318 ] 18319 ], 18320 { 18321 "attributes":{} 18322 } 18323 ], 18324 "inner-outer-148":[ 18325 [ 18326 [ 18327 -1.6131, 18328 0.1603, 18329 -0.2856 18330 ], 18331 [ 18332 -2.1209, 18333 0.2107, 18334 -0.3755 18335 ] 18336 ], 18337 { 18338 "attributes":{} 18339 } 18340 ], 18341 "inner-outer-149":[ 18342 [ 18343 [ 18344 -0.1174, 18345 0.6093, 18346 1.4855 18347 ], 18348 [ 18349 -0.1544, 18350 0.8011, 18351 1.9532 18352 ] 18353 ], 18354 { 18355 "attributes":{} 18356 } 18357 ], 18358 "inner-outer-150":[ 18359 [ 18360 [ 18361 -1.053, 18362 0.7704, 18363 -0.9622 18364 ], 18365 [ 18366 -1.3846, 18367 1.0129, 18368 -1.2651 18369 ] 18370 ], 18371 { 18372 "attributes":{} 18373 } 18374 ], 18375 "inner-outer-151":[ 18376 [ 18377 [ 18378 0.7268, 18379 -1.1348, 18380 0.8982 18381 ], 18382 [ 18383 0.9555, 18384 -1.4921, 18385 1.181 18386 ] 18387 ], 18388 { 18389 "attributes":{} 18390 } 18391 ], 18392 "inner-outer-152":[ 18393 [ 18394 [ 18395 -1.3119, 18396 -0.6669, 18397 0.6664 18398 ], 18399 [ 18400 -1.7249, 18401 -0.8769, 18402 0.8761 18403 ] 18404 ], 18405 { 18406 "attributes":{} 18407 } 18408 ], 18409 "inner-outer-153":[ 18410 [ 18411 [ 18412 -0.5099, 18413 -1.3757, 18414 -0.6699 18415 ], 18416 [ 18417 -0.6704, 18418 -1.8089, 18419 -0.8808 18420 ] 18421 ], 18422 { 18423 "attributes":{} 18424 } 18425 ], 18426 "inner-outer-154":[ 18427 [ 18428 [ 18429 -0.6111, 18430 1.5051, 18431 0.1307 18432 ], 18433 [ 18434 -0.8035, 18435 1.9789, 18436 0.1719 18437 ] 18438 ], 18439 { 18440 "attributes":{} 18441 } 18442 ], 18443 "inner-outer-155":[ 18444 [ 18445 [ 18446 -0.124, 18447 -1.5946, 18448 0.2476 18449 ], 18450 [ 18451 -0.163, 18452 -2.0966, 18453 0.3256 18454 ] 18455 ], 18456 { 18457 "attributes":{} 18458 } 18459 ], 18460 "inner-outer-156":[ 18461 [ 18462 [ 18463 0.7342, 18464 1.3448, 18465 -0.4977 18466 ], 18467 [ 18468 0.9654, 18469 1.7682, 18470 -0.6543 18471 ] 18472 ], 18473 { 18474 "attributes":{} 18475 } 18476 ], 18477 "inner-outer-157":[ 18478 [ 18479 [ 18480 -0.0033, 18481 1.6012, 18482 -0.1177 18483 ], 18484 [ 18485 -0.0044, 18486 2.1053, 18487 -0.1548 18488 ] 18489 ], 18490 { 18491 "attributes":{} 18492 } 18493 ], 18494 "inner-outer-158":[ 18495 [ 18496 [ 18497 -1.401, 18498 0.2391, 18499 -0.7882 18500 ], 18501 [ 18502 -1.8421, 18503 0.3143, 18504 -1.0363 18505 ] 18506 ], 18507 { 18508 "attributes":{} 18509 } 18510 ], 18511 "inner-outer-159":[ 18512 [ 18513 [ 18514 -1.6066, 18515 -0.1571, 18516 0.3022 18517 ], 18518 [ 18519 -2.1124, 18520 -0.2066, 18521 0.3974 18522 ] 18523 ], 18524 { 18525 "attributes":{} 18526 } 18527 ], 18528 "inner-outer-160":[ 18529 [ 18530 [ 18531 0.3924, 18532 1.5347, 18533 -0.3774 18534 ], 18535 [ 18536 0.5159, 18537 2.0178, 18538 -0.4962 18539 ] 18540 ], 18541 { 18542 "attributes":{} 18543 } 18544 ], 18545 "inner-outer-161":[ 18546 [ 18547 [ 18548 0.7887, 18549 1.3972, 18550 -0.2052 18551 ], 18552 [ 18553 1.0369, 18554 1.837, 18555 -0.2698 18556 ] 18557 ], 18558 { 18559 "attributes":{} 18560 } 18561 ], 18562 "inner-outer-162":[
18563 [ 18564 [ 18565 0.2267, 18566 1.517, 18567 0.4849 18568 ], 18569 [ 18570 0.2981, 18571 1.9945, 18572 0.6375 18573 ] 18574 ], 18575 { 18576 "attributes":{} 18577 } 18578 ], 18579 "inner-outer-163":[ 18580 [ 18581 [ 18582 0.3241, 18583 0.1914, 18584 1.5676 18585 ], 18586 [ 18587 0.4262, 18588 0.2517, 18589 2.0611 18590 ] 18591 ], 18592 { 18593 "attributes":{} 18594 } 18595 ], 18596 "inner-outer-164":[ 18597 [ 18598 [ 18599 -0.8456, 18600 -0.1002, 18601 -1.3742 18602 ], 18603 [ 18604 -1.1118, 18605 -0.1318, 18606 -1.8069 18607 ] 18608 ], 18609 { 18610 "attributes":{} 18611 } 18612 ], 18613 "inner-outer-165":[ 18614 [ 18615 [ 18616 -0.7774, 18617 1.3072, 18618 -0.5528 18619 ], 18620 [ 18621 -1.0221, 18622 1.7187, 18623 -0.7268 18624 ] 18625 ], 18626 { 18627 "attributes":{} 18628 } 18629 ], 18630 "inner-outer-166":[ 18631 [ 18632 [ 18633 0.4556, 18634 -1.5485, 18635 -0.0778 18636 ], 18637 [ 18638 0.599, 18639 -2.036, 18640 -0.1022 18641 ] 18642 ], 18643 { 18644 "attributes":{} 18645 } 18646 ], 18647 "inner-outer-167":[ 18648 [ 18649 [ 18650 1.1627, 18651 1.0379, 18652 0.4408 18653 ], 18654 [ 18655 1.5287, 18656 1.3646, 18657 0.5795 18658 ] 18659 ], 18660 { 18661 "attributes":{} 18662 } 18663 ], 18664 "inner-outer-168":[ 18665 [ 18666 [ 18667 -0.896, 18668 0.3323, 18669 -1.3131 18670 ], 18671 [ 18672 -1.178, 18673 0.437, 18674 -1.7265 18675 ] 18676 ], 18677 { 18678 "attributes":{} 18679 } 18680 ], 18681 "inner-outer-169":[ 18682 [ 18683 [ 18684 -1.5749, 18685 0.1172, 18686 -0.3887 18687 ], 18688 [ 18689 -2.0708, 18690 0.1541, 18691 -0.511 18692 ] 18693 ], 18694 { 18695 "attributes":{} 18696 } 18697 ], 18698 "inner-outer-170":[ 18699 [ 18700 [ 18701 -0.4473, 18702 0.728, 18703 1.3724 18704 ], 18705 [ 18706 -0.5881, 18707 0.9572, 18708 1.8044 18709 ] 18710 ], 18711 { 18712 "attributes":{} 18713 } 18714 ], 18715 "inner-outer-171":[ 18716 [ 18717 [ 18718 0.8244, 18719 -1.3879, 18720 0.0019 18721 ], 18722 [ 18723 1.0839, 18724 -1.8248, 18725 0.0025 18726 ] 18727 ], 18728 { 18729 "attributes":{} 18730 } 18731 ], 18732 "inner-outer-172":[ 18733 [ 18734 [ 18735 0.9586, 18736 -0.0427, 18737 1.2968 18738 ], 18739 [ 18740 1.2603, 18741 -0.0562, 18742 1.7051 18743 ] 18744 ], 18745 { 18746 "attributes":{} 18747 } 18748 ], 18749 "inner-outer-173":[ 18750 [ 18751 [ 18752 -0.3555, 18753 1.1103, 18754 -1.1041 18755 ], 18756 [ 18757 -0.4674, 18758 1.4598, 18759 -1.4517 18760 ] 18761 ], 18762 { 18763 "attributes":{} 18764 } 18765 ], 18766 "inner-outer-174":[ 18767 [ 18768 [ 18769 -1.4844, 18770 0.6378, 18771 0.0309 18772 ], 18773 [ 18774 -1.9517, 18775 0.8385, 18776 0.0406 18777 ] 18778 ], 18779 { 18780 "attributes":{} 18781 } 18782 ], 18783 "inner-outer-175":[ 18784 [ 18785 [ 18786 -0.9855, 18787 1.2041, 18788 -0.4656 18789 ], 18790 [ 18791 -1.2958, 18792 1.5832, 18793 -0.6121 18794 ] 18795 ], 18796 { 18797 "attributes":{} 18798 } 18799 ], 18800 "inner-outer-176":[ 18801 [ 18802 [ 18803 -1.2983, 18804 0.9468, 18805 0.248 18806 ], 18807 [ 18808 -1.707, 18809 1.2449, 18810 0.326 18811 ] 18812 ], 18813 { 18814 "attributes":{} 18815 } 18816 ], 18817 "inner-outer-177":[ 18818 [ 18819 [ 18820 0.9716, 18821 -1.2969, 18822 0.2568 18823 ], 18824 [ 18825 1.2775, 18826 -1.7052, 18827 0.3376 18828 ] 18829 ], 18830 { 18831 "attributes":{} 18832 } 18833 ], 18834 "inner-outer-178":[ 18835 [ 18836 [ 18837 -0.7696, 18838 -0.7983, 18839 1.1751 18840 ], 18841 [ 18842 -1.0118, 18843 -1.0496, 18844 1.5451 18845 ] 18846 ], 18847 { 18848 "attributes":{} 18849 } 18850 ], 18851 "inner-outer-179":[ 18852 [ 18853 [ 18854 -1.0918, 18855 1.052, 18856 0.5515 18857 ], 18858 [ 18859 -1.4355, 18860 1.3831, 18861 0.7251 18862 ] 18863 ], 18864 { 18865 "attributes":{} 18866 } 18867 ], 18868 "inner-outer-180":[ 18869 [ 18870 [ 18871 0.0453, 18872 1.6117, 18873 0.0872 18874 ], 18875 [ 18876 0.0595, 18877 2.1191, 18878 0.1146 18879 ] 18880 ], 18881 { 18882 "attributes":{} 18883 } 18884 ], 18885 "inner-outer-181":[ 18886 [ 18887 [ 18888 0.6411, 18889 1.1046, 18890 0.9841 18891 ], 18892 [ 18893 0.8429, 18894 1.4524, 18895 1.2939 18896 ] 18897 ], 18898 { 18899 "attributes":{} 18900 } 18901 ], 18902 "inner-outer-182":[ 18903 [ 18904 [ 18905 1.3418, 18906 -0.8983, 18907 -0.0502 18908 ], 18909 [ 18910 1.7642, 18911 -1.1811, 18912 -0.0659 18913 ] 18914 ], 18915 { 18916 "attributes":{} 18917 } 18918 ], 18919 "inner-outer-183":[ 18920 [ 18921 [ 18922 -0.8819, 18923 -1.3547, 18924 0.2014 18925 ], 18926 [ 18927 -1.1596, 18928 -1.7812, 18929 0.2649 18930 ] 18931 ], 18932 { 18933 "attributes":{} 18934 } 18935 ], 18936 "inner-outer-184":[ 18937 [ 18938 [ 18939 -0.2898, 18940 -1.2469, 18941 0.98 18942 ], 18943 [ 18944 -0.3811, 18945 -1.6395, 18946 1.2886 18947 ] 18948 ], 18949 { 18950 "attributes":{} 18951 } 18952 ], 18953 "inner-outer-185":[ 18954 [ 18955 [ 18956 0.0196, 18957 1.5094, 18958 -0.6086 18959 ], 18960 [ 18961 0.0258, 18962 1.9846, 18963 -0.8002 18964 ] 18965 ], 18966 { 18967 "attributes":{} 18968 } 18969 ], 18970 "inner-outer-186":[ 18971 [ 18972 [ 18973 0.8495, 18974 1.162, 18975 -0.724 18976 ], 18977 [ 18978 1.117, 18979 1.5278, 18980 -0.9519 18981 ] 18982 ], 18983 { 18984 "attributes":{} 18985 } 18986 ], 18987 "inner-outer-187":[ 18988 [ 18989 [ 18990 0.6087, 18991 1.4381, 18992 0.4326 18993 ], 18994 [ 18995 0.8003, 18996 1.8908, 18997 0.5688 18998 ] 18999 ], 19000 { 19001 "attributes":{} 19002 } 19003 ], 19004 "inner-outer-188":[ 19005 [ 19006 [ 19007 -1.0622, 19008 1.0685, 19009 -0.5697 19010 ], 19011 [ 19012 -1.3965, 19013 1.4049, 19014 -0.7491 19015 ] 19016 ], 19017 { 19018 "attributes":{} 19019 } 19020 ], 19021 "inner-outer-189":[ 19022 [ 19023 [ 19024 1.0154, 19025 -0.8996, 19026 -0.8768 19027 ], 19028 [ 19029 1.3351, 19030 -1.1828, 19031 -1.1528 19032 ] 19033 ], 19034 { 19035 "attributes":{} 19036 } 19037 ], 19038 "inner-outer-190":[ 19039 [ 19040 [ 19041 -0.8788, 19042 0.5692, 19043 -1.228 19044 ], 19045 [ 19046 -1.1555, 19047 0.7484, 19048 -1.6146 19049 ] 19050 ], 19051 { 19052 "attributes":{} 19053 } 19054 ], 19055 "inner-outer-191":[ 19056 [ 19057 [ 19058 0.1163, 19059 0.0182, 19060 1.6256 19061 ], 19062 [ 19063 0.1529, 19064 0.024, 19065 2.1373 19066 ] 19067 ], 19068 { 19069 "attributes":{} 19070 } 19071 ], 19072 "inner-outer-192":[ 19073 [ 19074 [ 19075 -1.2854, 19076 0.7865, 19077 0.5599 19078 ], 19079 [ 19080 -1.6901, 19081 1.0341, 19082 0.7362 19083 ] 19084 ], 19085 { 19086 "attributes":{} 19087 } 19088 ], 19089 "inner-outer-193":[ 19090 [ 19091 [ 19092 -0.1486, 19093 -1.5108, 19094 -0.5578 19095 ], 19096 [ 19097 -0.1954, 19098 -1.9865, 19099 -0.7334 19100 ] 19101 ], 19102 { 19103 "attributes":{} 19104 } 19105 ], 19106 "inner-outer-194":[ 19107 [ 19108 [ 19109 -0.5128, 19110 1.3603, 19111 0.7026 19112 ], 19113 [ 19114 -0.6742, 19115 1.7885, 19116 0.9238 19117 ] 19118 ], 19119 { 19120 "attributes":{} 19121 } 19122 ], 19123 "inner-outer-195":[ 19124 [ 19125 [ 19126 0.3493, 19127 -1.5674, 19128 0.323 19129 ], 19130 [ 19131 0.4592, 19132 -2.0608, 19133 0.4247 19134 ] 19135 ], 19136 { 19137 "attributes":{} 19138 } 19139 ], 19140 "inner-outer-196":[ 19141 [ 19142 [ 19143 -0.4564, 19144 -1.4094, 19145 -0.6441 19146 ], 19147 [ 19148 -0.6001, 19149 -1.853, 19150 -0.8469 19151 ] 19152 ], 19153 { 19154 "attributes":{} 19155 } 19156 ], 19157 "inner-outer-197":[ 19158 [ 19159 [ 19160 0.6571, 19161 1.0222, 19162 1.0733 19163 ], 19164 [ 19165 0.864, 19166 1.344, 19167 1.4111 19168 ] 19169 ], 19170 { 19171 "attributes":{} 19172 } 19173 ], 19174 "inner-outer-198":[ 19175 [ 19176 [ 19177 0.3434, 19178 -1.5026, 19179 -0.4493 19180 ], 19181 [ 19182 0.4515, 19183 -1.9757, 19184 -0.5908 19185 ] 19186 ], 19187 { 19188 "attributes":{} 19189 } 19190 ], 19191 "inner-outer-199":[
19192 [ 19193 [ 19194 -1.5541, 19195 -0.4197, 19196 -0.297 19197 ], 19198 [ 19199 -2.0433, 19200 -0.5518, 19201 -0.3905 19202 ] 19203 ], 19204 { 19205 "attributes":{} 19206 } 19207 ], 19208 "inner-outer-200":[ 19209 [ 19210 [ 19211 -0.5213, 19212 1.1041, 19213 1.0562 19214 ], 19215 [ 19216 -0.6854, 19217 1.4517, 19218 1.3888 19219 ] 19220 ], 19221 { 19222 "attributes":{} 19223 } 19224 ], 19225 "inner-outer-201":[ 19226 [ 19227 [ 19228 0.7909, 19229 1.3719, 19230 0.3381 19231 ], 19232 [ 19233 1.0398, 19234 1.8038, 19235 0.4445 19236 ] 19237 ], 19238 { 19239 "attributes":{} 19240 } 19241 ], 19242 "inner-outer-202":[ 19243 [ 19244 [ 19245 -1.47, 19246 -0.437, 19247 0.5108 19248 ], 19249 [ 19250 -1.9327, 19251 -0.5746, 19252 0.6716 19253 ] 19254 ], 19255 { 19256 "attributes":{} 19257 } 19258 ], 19259 "inner-outer-203":[ 19260 [ 19261 [ 19262 -0.151, 19263 0.8164, 19264 -1.3807 19265 ], 19266 [ 19267 -0.1986, 19268 1.0734, 19269 -1.8153 19270 ] 19271 ], 19272 { 19273 "attributes":{} 19274 } 19275 ], 19276 "inner-outer-204":[ 19277 [ 19278 [ 19279 -1.0541, 19280 -0.9067, 19281 -0.8332 19282 ], 19283 [ 19284 -1.3859, 19285 -1.1922, 19286 -1.0955 19287 ] 19288 ], 19289 { 19290 "attributes":{} 19291 } 19292 ], 19293 "inner-outer-205":[ 19294 [ 19295 [ 19296 -1.2545, 19297 0.1107, 19298 -1.0075 19299 ], 19300 [ 19301 -1.6495, 19302 0.1456, 19303 -1.3247 19304 ] 19305 ], 19306 { 19307 "attributes":{} 19308 } 19309 ], 19310 "inner-outer-206":[ 19311 [ 19312 [ 19313 1.1143, 19314 0.1552, 19315 -1.1601 19316 ], 19317 [ 19318 1.4651, 19319 0.204, 19320 -1.5253 19321 ] 19322 ], 19323 { 19324 "attributes":{} 19325 } 19326 ], 19327 "inner-outer-207":[ 19328 [ 19329 [ 19330 0.0828, 19331 1.5995, 19332 -0.1513 19333 ], 19334 [ 19335 0.1089, 19336 2.1031, 19337 -0.1989 19338 ] 19339 ], 19340 { 19341 "attributes":{} 19342 } 19343 ], 19344 "inner-outer-208":[ 19345 [ 19346 [ 19347 -1.3379, 19348 0.7955, 19349 -0.4452 19350 ], 19351 [ 19352 -1.7591, 19353 1.0459, 19354 -0.5854 19355 ] 19356 ], 19357 { 19358 "attributes":{} 19359 } 19360 ], 19361 "inner-outer-209":[ 19362 [ 19363 [ 19364 1.1319, 19365 0.067, 19366 1.1371 19367 ], 19368 [ 19369 1.4882, 19370 0.088, 19371 1.4951 19372 ] 19373 ], 19374 { 19375 "attributes":{} 19376 } 19377 ], 19378 "inner-outer-210":[ 19379 [ 19380 [ 19381 -0.609, 19382 -1.3952, 19383 -0.5305 19384 ], 19385 [ 19386 -0.8008, 19387 -1.8344, 19388 -0.6975 19389 ] 19390 ], 19391 { 19392 "attributes":{} 19393 } 19394 ], 19395 "inner-outer-211":[ 19396 [ 19397 [ 19398 -1.6235, 19399 0.0876, 19400 -0.1541 19401 ], 19402 [ 19403 -2.1345, 19404 0.1152, 19405 -0.2026 19406 ] 19407 ], 19408 { 19409 "attributes":{} 19410 } 19411 ], 19412 "inner-outer-212":[ 19413 [ 19414 [ 19415 0.4158, 19416 1.4478, 19417 -0.5739 19418 ], 19419 [ 19420 0.5467, 19421 1.9036, 19422 -0.7546 19423 ] 19424 ], 19425 { 19426 "attributes":{} 19427 } 19428 ], 19429 "inner-outer-213":[ 19430 [ 19431 [ 19432 -0.5168, 19433 0.7371, 19434 -1.3582 19435 ], 19436 [ 19437 -0.6795, 19438 0.9692, 19439 -1.7858 19440 ] 19441 ], 19442 { 19443 "attributes":{} 19444 } 19445 ], 19446 "inner-outer-214":[ 19447 [ 19448 [ 19449 0.8074, 19450 1.2784, 19451 -0.5676 19452 ], 19453 [ 19454 1.0616, 19455 1.6808, 19456 -0.7463 19457 ] 19458 ], 19459 { 19460 "attributes":{} 19461 } 19462 ], 19463 "inner-outer-215":[ 19464 [ 19465 [ 19466 -1.4361, 19467 0.0013, 19468 -0.7556 19469 ], 19470 [ 19471 -1.8882, 19472 0.0017, 19473 -0.9935 19474 ] 19475 ], 19476 { 19477 "attributes":{} 19478 } 19479 ], 19480 "inner-outer-216":[ 19481 [ 19482 [ 19483 0.4998, 19484 1.4352, 19485 -0.5323 19486 ], 19487 [ 19488 0.6571, 19489 1.887, 19490 -0.6999 19491 ] 19492 ], 19493 { 19494 "attributes":{} 19495 } 19496 ], 19497 "inner-outer-217":[ 19498 [ 19499 [ 19500 -1.3101, 19501 0.9582, 19502 -0.0089 19503 ], 19504 [ 19505 -1.7226, 19506 1.2598, 19507 -0.0117 19508 ] 19509 ], 19510 { 19511 "attributes":{} 19512 } 19513 ], 19514 "inner-outer-218":[ 19515 [ 19516 [ 19517 -0.4826, 19518 -1.5418, 19519 -0.095 19520 ], 19521 [ 19522 -0.6346, 19523 -2.0272, 19524 -0.1249 19525 ] 19526 ], 19527 { 19528 "attributes":{} 19529 } 19530 ], 19531 "inner-outer-219":[ 19532 [ 19533 [ 19534 -0.3183, 19535 -1.4647, 19536 0.5888 19537 ], 19538 [ 19539 -0.4185, 19540 -1.9258, 19541 0.7742 19542 ] 19543 ], 19544 { 19545 "attributes":{} 19546 } 19547 ], 19548 "inner-outer-220":[ 19549 [ 19550 [ 19551 -1.4329, 19552 0.5004, 19553 0.5482 19554 ], 19555 [ 19556 -1.884, 19557 0.658, 19558 0.7207 19559 ] 19560 ], 19561 { 19562 "attributes":{} 19563 } 19564 ], 19565 "inner-outer-221":[ 19566 [ 19567 [ 19568 -0.6399, 19569 -0.7663, 19570 -1.2831 19571 ], 19572 [ 19573 -0.8413, 19574 -1.0076, 19575 -1.6871 19576 ] 19577 ], 19578 { 19579 "attributes":{} 19580 } 19581 ], 19582 "inner-outer-222":[ 19583 [ 19584 [ 19585 -1.3132, 19586 -0.9544, 19587 0.0138 19588 ], 19589 [ 19590 -1.7266, 19591 -1.2548, 19592 0.0181 19593 ] 19594 ], 19595 { 19596 "attributes":{} 19597 } 19598 ], 19599 "inner-outer-223":[ 19600 [ 19601 [ 19602 1.5639, 19603 -0.3485, 19604 0.239 19605 ], 19606 [ 19607 2.0562, 19608 -0.4582, 19609 0.3143 19610 ] 19611 ], 19612 { 19613 "attributes":{} 19614 } 19615 ], 19616 "inner-outer-224":[ 19617 [ 19618 [ 19619 0.6571, 19620 -1.418, 19621 0.382 19622 ], 19623 [ 19624 0.8639, 19625 -1.8644, 19626 0.5023 19627 ] 19628 ], 19629 { 19630 "attributes":{} 19631 } 19632 ], 19633 "inner-outer-225":[ 19634 [ 19635 [ 19636 0.803, 19637 -1.393, 19638 0.1742 19639 ], 19640 [ 19641 1.0558, 19642 -1.8316, 19643 0.229 19644 ] 19645 ], 19646 { 19647 "attributes":{} 19648 } 19649 ], 19650 "inner-outer-226":[ 19651 [ 19652 [ 19653 1.3798, 19654 -0.7046, 19655 0.4738 19656 ], 19657 [ 19658 1.8142, 19659 -0.9264, 19660 0.6229 19661 ] 19662 ], 19663 { 19664 "attributes":{} 19665 } 19666 ], 19667 "inner-outer-227":[ 19668 [ 19669 [ 19670 0.9777, 19671 -1.2748, 19672 0.3345 19673 ], 19674 [ 19675 1.2854, 19676 -1.6762, 19677 0.4398 19678 ] 19679 ], 19680 { 19681 "attributes":{} 19682 } 19683 ], 19684 "inner-outer-228":[ 19685 [ 19686 [ 19687 -0.337, 19688 1.2806, 19689 0.9429 19690 ], 19691 [ 19692 -0.4431, 19693 1.6838, 19694 1.2397 19695 ] 19696 ], 19697 { 19698 "attributes":{} 19699 } 19700 ], 19701 "inner-outer-229":[ 19702 [ 19703 [ 19704 -1.0316, 19705 -1.2296,
19706 -0.1201 19707 ], 19708 [ 19709 -1.3563, 19710 -1.6167, 19711 -0.158 19712 ] 19713 ], 19714 { 19715 "attributes":{} 19716 } 19717 ], 19718 "inner-outer-230":[ 19719 [ 19720 [ 19721 0.0508, 19722 -1.6011, 19723 0.1203 19724 ], 19725 [ 19726 0.0668, 19727 -2.1052, 19728 0.1581 19729 ] 19730 ], 19731 { 19732 "attributes":{} 19733 } 19734 ], 19735 "inner-outer-231":[ 19736 [ 19737 [ 19738 1.4727, 19739 -0.047, 19740 0.656 19741 ], 19742 [ 19743 1.9363, 19744 -0.0618, 19745 0.8625 19746 ] 19747 ], 19748 { 19749 "attributes":{} 19750 } 19751 ], 19752 "inner-outer-232":[ 19753 [ 19754 [ 19755 1.4525, 19756 -0.7026, 19757 0.1713 19758 ], 19759 [ 19760 1.9098, 19761 -0.9237, 19762 0.2252 19763 ] 19764 ], 19765 { 19766 "attributes":{} 19767 } 19768 ], 19769 "inner-outer-233":[ 19770 [ 19771 [ 19772 -0.3763, 19773 0.5263, 19774 1.5089 19775 ], 19776 [ 19777 -0.4948, 19778 0.692, 19779 1.9839 19780 ] 19781 ], 19782 { 19783 "attributes":{} 19784 } 19785 ], 19786 "inner-outer-234":[ 19787 [ 19788 [ 19789 0.0964, 19790 -0.0364, 19791 1.6325 19792 ], 19793 [ 19794 0.1268, 19795 -0.0479, 19796 2.1465 19797 ] 19798 ], 19799 { 19800 "attributes":{} 19801 } 19802 ], 19803 "inner-outer-235":[ 19804 [ 19805 [ 19806 -0.2433, 19807 1.6012, 19808 -0.06 19809 ], 19810 [ 19811 -0.3199, 19812 2.1053, 19813 -0.079 19814 ] 19815 ], 19816 { 19817 "attributes":{} 19818 } 19819 ], 19820 "inner-outer-236":[ 19821 [ 19822 [ 19823 -1.1951, 19824 1.078, 19825 -0.0566 19826 ], 19827 [ 19828 -1.5714, 19829 1.4174, 19830 -0.0745 19831 ] 19832 ], 19833 { 19834 "attributes":{} 19835 } 19836 ], 19837 "inner-outer-237":[ 19838 [ 19839 [ 19840 -1.612, 19841 -0.0712, 19842 0.2698 19843 ], 19844 [ 19845 -2.1195, 19846 -0.0936, 19847 0.3547 19848 ] 19849 ], 19850 { 19851 "attributes":{} 19852 } 19853 ], 19854 "inner-outer-238":[ 19855 [ 19856 [ 19857 1.0164, 19858 1.2436, 19859 0.0736 19860 ], 19861 [ 19862 1.3363, 19863 1.6351, 19864 0.0968 19865 ] 19866 ], 19867 { 19868 "attributes":{} 19869 } 19870 ], 19871 "inner-outer-239":[ 19872 [ 19873 [ 19874 -1.1041, 19875 -1.1715, 19876 -0.2066 19877 ], 19878 [ 19879 -1.4517, 19880 -1.5403, 19881 -0.2716 19882 ] 19883 ], 19884 { 19885 "attributes":{} 19886 } 19887 ], 19888 "inner-outer-240":[ 19889 [ 19890 [ 19891 -0.1019, 19892 0.5587, 19893 -1.5281 19894 ], 19895 [ 19896 -0.134, 19897 0.7346, 19898 -2.0092 19899 ] 19900 ], 19901 { 19902 "attributes":{} 19903 } 19904 ], 19905 "inner-outer-241":[ 19906 [ 19907 [ 19908 -1.5854, 19909 -0.1159, 19910 0.3629 19911 ], 19912 [ 19913 -2.0846, 19914 -0.1524, 19915 0.4772 19916 ] 19917 ], 19918 { 19919 "attributes":{} 19920 } 19921 ], 19922 "inner-outer-242":[ 19923 [ 19924 [ 19925 -1.3938, 19926 0.4628, 19927 0.6583 19928 ], 19929 [ 19930 -1.8325, 19931 0.6085, 19932 0.8655 19933 ] 19934 ], 19935 { 19936 "attributes":{} 19937 } 19938 ], 19939 "inner-outer-243":[ 19940 [ 19941 [ 19942 1.1481, 19943 -0.8463, 19944 -0.7782 19945 ], 19946 [ 19947 1.5095, 19948 -1.1128, 19949 -1.0232 19950 ] 19951 ], 19952 { 19953 "attributes":{} 19954 } 19955 ], 19956 "inner-outer-244":[ 19957 [ 19958 [ 19959 -1.2707, 19960 -1.0012, 19961 -0.211 19962 ], 19963 [ 19964 -1.6707, 19965 -1.3164, 19966 -0.2774 19967 ] 19968 ], 19969 { 19970 "attributes":{} 19971 } 19972 ], 19973 "inner-outer-245":[ 19974 [ 19975 [ 19976 0.4948, 19977 1.5362, 19978 -0.1512 19979 ], 19980 [ 19981 0.6506, 19982 2.0199, 19983 -0.1988 19984 ] 19985 ], 19986 { 19987 "attributes":{} 19988 } 19989 ], 19990 "inner-outer-246":[ 19991 [ 19992 [ 19993 1.1893, 19994 0.9289, 19995 -0.5618 19996 ], 19997 [ 19998 1.5637, 19999 1.2213, 20000 -0.7387 20001 ] 20002 ], 20003 { 20004 "attributes":{} 20005 } 20006 ], 20007 "inner-outer-247":[ 20008 [ 20009 [ 20010 1.5957, 20011 0.0313, 20012 -0.3092 20013 ], 20014 [ 20015 2.0981, 20016 0.0411, 20017 -0.4066 20018 ] 20019 ], 20020 { 20021 "attributes":{} 20022 } 20023 ], 20024 "inner-outer-248":[ 20025 [ 20026 [ 20027 -1.5082, 20028 0.289, 20029 -0.5192 20030 ], 20031 [ 20032 -1.9829, 20033 0.38, 20034 -0.6826 20035 ] 20036 ], 20037 { 20038 "attributes":{} 20039 } 20040 ], 20041 "inner-outer-249":[ 20042 [ 20043 [ 20044 1.111, 20045 1.0525, 20046 0.5144 20047 ], 20048 [ 20049 1.4608, 20050 1.3838, 20051 0.6763 20052 ] 20053 ], 20054 { 20055 "attributes":{} 20056 } 20057 ], 20058 "inner-outer-250":[ 20059 [ 20060 [ 20061 0.2255, 20062 -1.4257, 20063 -0.755 20064 ], 20065 [ 20066 0.2965, 20067 -1.8745, 20068 -0.9927 20069 ] 20070 ], 20071 { 20072 "attributes":{} 20073 } 20074 ], 20075 "inner-outer-251":[ 20076 [ 20077 [ 20078 -0.6498, 20079 1.4704, 20080 -0.0847 20081 ], 20082 [ 20083 -0.8544, 20084 1.9333, 20085 -0.1113 20086 ] 20087 ], 20088 { 20089 "attributes":{} 20090 } 20091 ], 20092 "inner-outer-252":[ 20093 [ 20094 [ 20095 1.52, 20096 0.4864, 20097 -0.2225 20098 ], 20099 [ 20100 1.9985, 20101 0.6395, 20102 -0.2926 20103 ] 20104 ], 20105 { 20106 "attributes":{} 20107 } 20108 ], 20109 "inner-outer-253":[ 20110 [ 20111 [ 20112 -1.4534, 20113 -0.5377, 20114 0.4469 20115 ], 20116 [ 20117 -1.911, 20118 -0.707, 20119 0.5876 20120 ] 20121 ], 20122 { 20123 "attributes":{} 20124 } 20125 ], 20126 "inner-outer-254":[ 20127 [ 20128 [ 20129 0.9018, 20130 1.035, 20131 -0.8714 20132 ], 20133 [ 20134 1.1857, 20135 1.3609, 20136 -1.1457 20137 ] 20138 ], 20139 { 20140 "attributes":{} 20141 } 20142 ], 20143 "inner-outer-255":[ 20144 [ 20145 [ 20146 1.5589, 20147 0.4119, 20148 0.0523 20149 ], 20150 [ 20151 2.0497, 20152 0.5416, 20153 0.0688 20154 ] 20155 ], 20156 { 20157 "attributes":{} 20158 } 20159 ], 20160 "inner-outer-256":[ 20161 [ 20162 [ 20163 1.527, 20164 -0.499, 20165 0.0149 20166 ], 20167 [ 20168 2.0078, 20169 -0.6561, 20170 0.0196 20171 ] 20172 ], 20173 { 20174 "attributes":{} 20175 } 20176 ], 20177 "inner-outer-257":[ 20178 [ 20179 [ 20180 0.8517, 20181 1.3706, 20182 -0.1753 20183 ], 20184 [ 20185 1.1198, 20186 1.8021, 20187 -0.2305 20188 ] 20189 ], 20190 { 20191 "attributes":{} 20192 } 20193 ], 20194 "inner-outer-258":[ 20195 [ 20196 [ 20197 -0.2517, 20198 -1.4821, 20199 -0.5763 20200 ], 20201 [ 20202 -0.3309, 20203 -1.9487, 20204 -0.7577 20205 ] 20206 ], 20207 { 20208 "attributes":{} 20209 } 20210 ], 20211 "inner-outer-259":[ 20212 [ 20213 [ 20214 -1.4102, 20215 -0.5583, 20216 0.5907 20217 ], 20218 [ 20219 -1.8542, 20220 -0.7341, 20221 0.7767 20222 ] 20223 ], 20224 { 20225 "attributes":{} 20226 } 20227 ], 20228 "inner-outer-260":[ 20229 [ 20230 [ 20231 1.1911, 20232 0.5531, 20233 0.9486 20234 ], 20235 [ 20236 1.566, 20237 0.7272, 20238 1.2473 20239 ] 20240 ], 20241 { 20242 "attributes":{} 20243 } 20244 ], 20245 "inner-outer-261":[ 20246 [ 20247 [ 20248 0.8765, 20249 1.2794, 20250 -0.474 20251 ], 20252 [ 20253 1.1525, 20254 1.6822, 20255 -0.6233 20256 ] 20257 ], 20258 { 20259 "attributes":{} 20260 } 20261 ], 20262 "inner-outer-262":[ 20263 [ 20264 [ 20265 -0.0612, 20266 -0.8867, 20267 1.3517 20268 ], 20269 [ 20270 -0.0804, 20271 -1.1659, 20272 1.7772 20273 ] 20274 ], 20275 { 20276 "attributes":{} 20277 } 20278 ], 20279 "inner-outer-263":[ 20280 [ 20281 [ 20282 -1.1365, 20283 0.9618, 20284 0.6132 20285 ], 20286 [ 20287 -1.4943, 20288 1.2646, 20289 0.8062 20290 ] 20291 ], 20292 { 20293 "attributes":{} 20294 } 20295 ], 20296 "inner-outer-264":[
20297 [ 20298 [ 20299 -0.1053, 20300 1.5721, 20301 0.3964 20302 ], 20303 [ 20304 -0.1385, 20305 2.067, 20306 0.5212 20307 ] 20308 ], 20309 { 20310 "attributes":{} 20311 } 20312 ], 20313 "inner-outer-265":[ 20314 [ 20315 [ 20316 0.3571, 20317 1.5775, 20318 -0.0483 20319 ], 20320 [ 20321 0.4696, 20322 2.0741, 20323 -0.0635 20324 ] 20325 ], 20326 { 20327 "attributes":{} 20328 } 20329 ], 20330 "inner-outer-266":[ 20331 [ 20332 [ 20333 -1.1409, 20334 -1.0567, 20335 -0.4513 20336 ], 20337 [ 20338 -1.5001, 20339 -1.3894, 20340 -0.5933 20341 ] 20342 ], 20343 { 20344 "attributes":{} 20345 } 20346 ], 20347 "inner-outer-267":[ 20348 [ 20349 [ 20350 1.1609, 20351 1.1146, 20352 -0.0614 20353 ], 20354 [ 20355 1.5264, 20356 1.4656, 20357 -0.0807 20358 ] 20359 ], 20360 { 20361 "attributes":{} 20362 } 20363 ], 20364 "inner-outer-268":[ 20365 [ 20366 [ 20367 -1.1396, 20368 -0.9078, 20369 0.721 20370 ], 20371 [ 20372 -1.4983, 20373 -1.1935, 20374 0.948 20375 ] 20376 ], 20377 { 20378 "attributes":{} 20379 } 20380 ], 20381 "inner-outer-269":[ 20382 [ 20383 [ 20384 -0.2398, 20385 1.4418, 20386 0.7103 20387 ], 20388 [ 20389 -0.3153, 20390 1.8957, 20391 0.9339 20392 ] 20393 ], 20394 { 20395 "attributes":{} 20396 } 20397 ], 20398 "inner-outer-270":[ 20399 [ 20400 [ 20401 -1.0159, 20402 -0.8201, 20403 0.9616 20404 ], 20405 [ 20406 -1.3357, 20407 -1.0783, 20408 1.2643 20409 ] 20410 ], 20411 { 20412 "attributes":{} 20413 } 20414 ], 20415 "inner-outer-271":[ 20416 [ 20417 [ 20418 -1.2268, 20419 0.9134, 20420 0.516 20421 ], 20422 [ 20423 -1.613, 20424 1.201, 20425 0.6784 20426 ] 20427 ], 20428 { 20429 "attributes":{} 20430 } 20431 ], 20432 "inner-outer-272":[ 20433 [ 20434 [ 20435 -0.1421, 20436 0.5499, 20437 -1.5209 20438 ], 20439 [ 20440 -0.1868, 20441 0.723, 20442 -1.9998 20443 ] 20444 ], 20445 { 20446 "attributes":{} 20447 } 20448 ], 20449 "inner-outer-273":[ 20450 [ 20451 [ 20452 -1.5744, 20453 0.32, 20454 0.1762 20455 ], 20456 [ 20457 -2.07, 20458 0.4207, 20459 0.2317 20460 ] 20461 ], 20462 { 20463 "attributes":{} 20464 } 20465 ], 20466 "inner-outer-274":[ 20467 [ 20468 [ 20469 -0.6948, 20470 -1.4603, 20471 -0.0496 20472 ], 20473 [ 20474 -0.9135, 20475 -1.92, 20476 -0.0652 20477 ] 20478 ], 20479 { 20480 "attributes":{} 20481 } 20482 ], 20483 "inner-outer-275":[ 20484 [ 20485 [ 20486 -0.0813, 20487 1.1, 20488 -1.2065 20489 ], 20490 [ 20491 -0.1068, 20492 1.4462, 20493 -1.5863 20494 ] 20495 ], 20496 { 20497 "attributes":{} 20498 } 20499 ], 20500 "inner-outer-276":[ 20501 [ 20502 [ 20503 -1.6224, 20504 0.133, 20505 -0.1882 20506 ], 20507 [ 20508 -2.1332, 20509 0.1749, 20510 -0.2475 20511 ] 20512 ], 20513 { 20514 "attributes":{} 20515 } 20516 ], 20517 "inner-outer-277":[ 20518 [ 20519 [ 20520 -1.5904, 20521 -0.2856, 20522 -0.0094 20523 ], 20524 [ 20525 -2.0911, 20526 -0.3755, 20527 -0.0124 20528 ] 20529 ], 20530 { 20531 "attributes":{} 20532 } 20533 ], 20534 "inner-outer-278":[ 20535 [ 20536 [ 20537 -0.6692, 20538 -1.3922, 20539 0.4421 20540 ], 20541 [ 20542 -0.8798, 20543 -1.8304, 20544 0.5813 20545 ] 20546 ], 20547 { 20548 "attributes":{} 20549 } 20550 ], 20551 "inner-outer-279":[ 20552 [ 20553 [ 20554 0.1023, 20555 1.4547, 20556 -0.7366 20557 ], 20558 [ 20559 0.1345, 20560 1.9127, 20561 -0.9685 20562 ] 20563 ], 20564 { 20565 "attributes":{} 20566 } 20567 ], 20568 "inner-outer-280":[ 20569 [ 20570 [ 20571 1.0371, 20572 -1.2298, 20573 -0.0531 20574 ], 20575 [ 20576 1.3636, 20577 -1.617, 20578 -0.0699 20579 ] 20580 ], 20581 { 20582 "attributes":{} 20583 } 20584 ], 20585 "inner-outer-281":[ 20586 [ 20587 [ 20588 -0.0443, 20589 1.0914, 20590 1.206 20591 ], 20592 [ 20593 -0.0583, 20594 1.435, 20595 1.5857 20596 ] 20597 ], 20598 { 20599 "attributes":{} 20600 } 20601 ], 20602 "inner-outer-282":[ 20603 [ 20604 [ 20605 0.8445, 20606 1.3428, 20607 0.3052 20608 ], 20609 [ 20610 1.1103, 20611 1.7655, 20612 0.4012 20613 ] 20614 ], 20615 { 20616 "attributes":{} 20617 } 20618 ], 20619 "inner-outer-283":[ 20620 [ 20621 [
20622 -0.1203, 20623 1.5982, 20624 -0.1768 20625 ], 20626 [ 20627 -0.1582, 20628 2.1014, 20629 -0.2325 20630 ] 20631 ], 20632 { 20633 "attributes":{} 20634 } 20635 ], 20636 "inner-outer-284":[ 20637 [ 20638 [ 20639 1.5651, 20640 -0.3718, 20641 0.0746 20642 ], 20643 [ 20644 2.0579, 20645 -0.4889, 20646 0.0981 20647 ] 20648 ], 20649 { 20650 "attributes":{} 20651 } 20652 ], 20653 "inner-outer-285":[ 20654 [ 20655 [ 20656 -0.6169, 20657 1.1147, 20658 -0.9962 20659 ], 20660 [ 20661 -0.8111, 20662 1.4656, 20663 -1.3099 20664 ] 20665 ], 20666 { 20667 "attributes":{} 20668 } 20669 ], 20670 "inner-outer-286":[ 20671 [ 20672 [ 20673 1.4085, 20674 -0.28, 20675 -0.7541 20676 ], 20677 [ 20678 1.8519, 20679 -0.3681, 20680 -0.9915 20681 ] 20682 ], 20683 { 20684 "attributes":{} 20685 } 20686 ], 20687 "inner-outer-287":[ 20688 [ 20689 [ 20690 -1.2525, 20691 1.023, 20692 0.0121 20693 ], 20694 [ 20695 -1.6468, 20696 1.3451, 20697 0.016 20698 ] 20699 ], 20700 { 20701 "attributes":{} 20702 } 20703 ], 20704 "inner-outer-288":[ 20705 [ 20706 [ 20707 1.1805, 20708 -0.7963, 20709 0.7781 20710 ], 20711 [ 20712 1.5522, 20713 -1.0469, 20714 1.023 20715 ] 20716 ], 20717 { 20718 "attributes":{} 20719 } 20720 ], 20721 "inner-outer-289":[ 20722 [ 20723 [ 20724 -1.5036, 20725 0.0452, 20726 0.5785 20727 ], 20728 [ 20729 -1.9769, 20730 0.0594, 20731 0.7607 20732 ] 20733 ], 20734 { 20735 "attributes":{} 20736 } 20737 ], 20738 "inner-outer-290":[ 20739 [ 20740 [ 20741 -0.4663, 20742 -1.4627, 20743 -0.4893 20744 ], 20745 [ 20746 -0.6131, 20747 -1.9232, 20748 -0.6433 20749 ] 20750 ], 20751 { 20752 "attributes":{} 20753 } 20754 ], 20755 "inner-outer-291":[ 20756 [ 20757 [ 20758 0.0498, 20759 -1.572, 20760 -0.4251 20761 ], 20762 [ 20763 0.0654, 20764 -2.0669, 20765 -0.559 20766 ] 20767 ], 20768 { 20769 "attributes":{} 20770 } 20771 ], 20772 "inner-outer-292":[ 20773 [ 20774 [ 20775 0.1762, 20776 -1.5284, 20777 0.5162 20778 ], 20779 [ 20780 0.2317, 20781 -2.0096, 20782 0.6787 20783 ] 20784 ], 20785 { 20786 "attributes":{} 20787 } 20788 ], 20789 "inner-outer-293":[ 20790 [ 20791 [ 20792 0.0538, 20793 -1.5793, 20794 -0.4086 20795 ], 20796 [ 20797 0.0707, 20798 -2.0765, 20799 -0.5372 20800 ] 20801 ], 20802 { 20803 "attributes":{} 20804 } 20805 ], 20806 "inner-outer-294":[ 20807 [ 20808 [ 20809 0.6591, 20810 -1.3125, 20811 -0.6719 20812 ], 20813 [ 20814 0.8667, 20815 -1.7257, 20816 -0.8834 20817 ] 20818 ], 20819 { 20820 "attributes":{} 20821 } 20822 ], 20823 "inner-outer-295":[ 20824 [ 20825 [ 20826 1.3578, 20827 -0.524, 20828 0.7536 20829 ], 20830 [ 20831 1.7852, 20832 -0.6889, 20833 0.9909 20834 ] 20835 ], 20836 { 20837 "attributes":{} 20838 } 20839 ], 20840 "inner-outer-296":[ 20841 [ 20842 [ 20843 0.5651, 20844 -1.2887, 20845 -0.8089 20846 ], 20847 [ 20848 0.7431, 20849 -1.6944, 20850 -1.0636 20851 ] 20852 ], 20853 { 20854 "attributes":{} 20855 } 20856 ], 20857 "inner-outer-297":[ 20858 [ 20859 [ 20860 1.3778, 20861 0.5514, 20862 0.6308 20863 ], 20864 [ 20865 1.8115, 20866 0.725, 20867 0.8294 20868 ] 20869 ], 20870 { 20871 "attributes":{} 20872 } 20873 ], 20874 "inner-outer-298":[ 20875 [ 20876 [ 20877 0.3846, 20878 0.3885, 20879 1.5396 20880 ], 20881 [ 20882 0.5057, 20883 0.5108, 20884 2.0242 20885 ] 20886 ], 20887 { 20888 "attributes":{} 20889 } 20890 ], 20891 "inner-outer-299":[ 20892 [ 20893 [ 20894 -0.1, 20895 -1.6018, 20896 0.1065 20897 ], 20898 [ 20899 -0.1315, 20900 -2.1061, 20901 0.1401 20902 ] 20903 ], 20904 { 20905 "attributes":{} 20906 } 20907 ], 20908 "inner-outer-300":[ 20909 [ 20910 [ 20911 -1.5097, 20912 -0.3128, 20913 -0.4764 20914 ], 20915 [ 20916 -1.9849, 20917 -0.4112, 20918 -0.6263 20919 ] 20920 ], 20921 { 20922 "attributes":{} 20923 } 20924 ], 20925 "inner-outer-301":[ 20926 [ 20927 [ 20928 0.6669, 20929 0.8183, 20930 1.2487 20931 ], 20932 [ 20933 0.8768, 20934 1.076, 20935 1.6418 20936 ] 20937 ], 20938 { 20939 "attributes":{} 20940 } 20941 ], 20942 "inner-outer-302":[ 20943 [ 20944 [ 20945 0.1943, 20946 -0.4672, 20947 -1.5446 20948 ], 20949 [ 20950 0.2555, 20951 -0.6143, 20952 -2.0309 20953 ] 20954 ], 20955 { 20956 "attributes":{} 20957 } 20958 ], 20959 "inner-outer-303":[ 20960 [ 20961 [ 20962 -0.2101, 20963 -1.3433, 20964 -0.9006 20965 ], 20966 [ 20967 -0.2762, 20968 -1.7662, 20969 -1.1841 20970 ] 20971 ], 20972 { 20973 "attributes":{} 20974 } 20975 ], 20976 "inner-outer-304":[ 20977 [ 20978 [ 20979 1.6023, 20980 -0.0205, 20981 0.285 20982 ], 20983 [ 20984 2.1067, 20985 -0.027, 20986 0.3747 20987 ] 20988 ], 20989 { 20990 "attributes":{} 20991 } 20992 ], 20993 "inner-outer-305":[ 20994 [ 20995 [ 20996 -0.1244, 20997 -0.2184, 20998 1.5948 20999 ], 21000 [ 21001 -0.1636, 21002 -0.2871, 21003 2.0968 21004 ] 21005 ], 21006 { 21007 "attributes":{} 21008 } 21009 ], 21010 "inner-outer-306":[ 21011 [ 21012 [ 21013 1.4525, 21014 0.2995, 21015 0.6461 21016 ], 21017 [ 21018 1.9098, 21019 0.3938, 21020 0.8494 21021 ] 21022 ], 21023 { 21024 "attributes":{} 21025 } 21026 ], 21027 "inner-outer-307":[ 21028 [ 21029 [ 21030 1.5949, 21031 -0.1794, 21032 0.3267 21033 ], 21034 [ 21035 2.097, 21036 -0.2358, 21037 0.4296 21038 ] 21039 ], 21040 { 21041 "attributes":{} 21042 } 21043 ], 21044 "inner-outer-308":[ 21045 [ 21046 [ 21047 0.0968, 21048 -1.4729, 21049 -0.6485 21050 ], 21051 [ 21052 0.1273, 21053 -1.9366, 21054 -0.8526 21055 ] 21056 ], 21057 { 21058 "attributes":{} 21059 } 21060 ], 21061 "inner-outer-309":[ 21062 [ 21063 [ 21064 -0.3893, 21065 1.1965, 21066 -1.0097 21067 ], 21068 [ 21069 -0.5118, 21070 1.5732, 21071 -1.3275 21072 ] 21073 ], 21074 { 21075 "attributes":{} 21076 } 21077 ], 21078 "inner-outer-310":[ 21079 [ 21080 [ 21081 -0.1669, 21082 1.4063, 21083 -0.7968 21084 ], 21085 [ 21086 -0.2194, 21087 1.849, 21088 -1.0476 21089 ] 21090 ], 21091 { 21092 "attributes":{} 21093 } 21094 ], 21095 "inner-outer-311":[ 21096 [ 21097 [ 21098 -0.6861, 21099 1.3145, 21100 0.6417 21101 ], 21102 [ 21103 -0.9021, 21104 1.7283, 21105 0.8437 21106 ] 21107 ], 21108 { 21109 "attributes":{} 21110 } 21111 ], 21112 "inner-outer-312":[ 21113 [ 21114 [ 21115 1.002, 21116 0.759, 21117 1.0118 21118 ], 21119 [ 21120 1.3174, 21121 0.998, 21122 1.3303 21123 ] 21124 ], 21125 { 21126 "attributes":{} 21127 } 21128 ], 21129 "inner-outer-313":[ 21130 [ 21131 [ 21132 -0.1229, 21133 1.232, 21134 1.0356 21135 ], 21136 [ 21137 -0.1616, 21138 1.6199, 21139 1.3616 21140 ] 21141 ], 21142 { 21143 "attributes":{} 21144 } 21145 ], 21146 "inner-outer-314":[ 21147 [ 21148 [ 21149 1.0466, 21150 -1.1934, 21151 -0.3139 21152 ], 21153 [ 21154 1.376,
21155 -1.569, 21156 -0.4127 21157 ] 21158 ], 21159 { 21160 "attributes":{} 21161 } 21162 ], 21163 "inner-outer-315":[ 21164 [ 21165 [ 21166 0.2785, 21167 -0.5782, 21168 1.4758 21169 ], 21170 [ 21171 0.3661, 21172 -0.7602, 21173 1.9404 21174 ] 21175 ], 21176 { 21177 "attributes":{} 21178 } 21179 ], 21180 "inner-outer-316":[ 21181 [ 21182 [ 21183 0.7545, 21184 0.051, 21185 1.4304 21186 ], 21187 [ 21188 0.9921, 21189 0.0671, 21190 1.8808 21191 ] 21192 ], 21193 { 21194 "attributes":{} 21195 } 21196 ], 21197 "inner-outer-317":[ 21198 [ 21199 [ 21200 -1.1003, 21201 -0.2834, 21202 -1.1544 21203 ], 21204 [ 21205 -1.4467, 21206 -0.3726, 21207 -1.5178 21208 ] 21209 ], 21210 { 21211 "attributes":{} 21212 } 21213 ], 21214 "inner-outer-318":[ 21215 [ 21216 [ 21217 -0.2484, 21218 1.4517, 21219 -0.6604 21220 ], 21221 [ 21222 -0.3266, 21223 1.9087, 21224 -0.8683 21225 ] 21226 ], 21227 { 21228 "attributes":{} 21229 } 21230 ], 21231 "inner-outer-319":[ 21232 [ 21233 [ 21234 -0.2843, 21235 1.5569, 21236 0.3207 21237 ], 21238 [ 21239 -0.3738, 21240 2.0471, 21241 0.4216 21242 ] 21243 ], 21244 { 21245 "attributes":{} 21246 } 21247 ], 21248 "inner-outer-320":[ 21249 [ 21250 [ 21251 1.5267, 21252 -0.517, 21253 -0.0887 21254 ], 21255 [ 21256 2.0074, 21257 -0.6798, 21258 -0.1167 21259 ] 21260 ], 21261 { 21262 "attributes":{} 21263 } 21264 ], 21265 "inner-outer-321":[ 21266 [ 21267 [ 21268 0.1598, 21269 -1.419, 21270 -0.77 21271 ], 21272 [ 21273 0.2101, 21274 -1.8657, 21275 -1.0124 21276 ] 21277 ], 21278 { 21279 "attributes":{} 21280 } 21281 ], 21282 "inner-outer-322":[ 21283 [ 21284 [ 21285 -1.4929, 21286 0.4487, 21287 0.4555 21288 ], 21289 [ 21290 -1.9629, 21291 0.59, 21292 0.5989 21293 ] 21294 ], 21295 { 21296 "attributes":{} 21297 } 21298 ], 21299 "inner-outer-323":[ 21300 [ 21301 [ 21302 -0.3849, 21303 1.4483, 21304 -0.5904 21305 ], 21306 [ 21307 -0.506, 21308 1.9042, 21309 -0.7763 21310 ] 21311 ], 21312 { 21313 "attributes":{} 21314 } 21315 ], 21316 "inner-outer-324":[ 21317 [ 21318 [ 21319 -0.3459, 21320 -1.5629, 21321 -0.1822 21322 ], 21323 [ 21324 -0.4548, 21325 -2.0549, 21326 -0.2396 21327 ] 21328 ], 21329 { 21330 "attributes":{} 21331 } 21332 ], 21333 "inner-outer-325":[ 21334 [ 21335 [ 21336 -1.1369, 21337 -1.0454, 21338 -0.4772 21339 ], 21340 [ 21341 -1.4948, 21342 -1.3745, 21343 -0.6274 21344 ] 21345 ], 21346 { 21347 "attributes":{} 21348 } 21349 ], 21350 "inner-outer-326":[ 21351 [ 21352 [ 21353 1.2921, 21354 -0.7487, 21355 0.6029 21356 ], 21357 [ 21358 1.6988, 21359 -0.9844, 21360 0.7927 21361 ] 21362 ], 21363 { 21364 "attributes":{} 21365 } 21366 ], 21367 "inner-outer-327":[ 21368 [ 21369 [ 21370 1.5603, 21371 -0.0705, 21372 0.4339 21373 ], 21374 [ 21375 2.0515, 21376 -0.0927, 21377 0.5705 21378 ] 21379 ], 21380 { 21381 "attributes":{} 21382 } 21383 ], 21384 "inner-outer-328":[ 21385 [ 21386 [ 21387 0.1404, 21388 -0.7218, 21389 1.4408 21390 ], 21391 [ 21392 0.1846, 21393 -0.9491, 21394 1.8944 21395 ] 21396 ], 21397 { 21398 "attributes":{} 21399 } 21400 ], 21401 "inner-outer-329":[ 21402 [ 21403 [ 21404 0.3273, 21405 -1.1287, 21406 -1.0943 21407 ], 21408 [ 21409 0.4303, 21410 -1.484, 21411 -1.4387 21412 ] 21413 ], 21414 { 21415 "attributes":{} 21416 } 21417 ], 21418 "inner-outer-330":[ 21419 [ 21420 [ 21421 -1.1265, 21422 -0.4116, 21423 -1.0761 21424 ], 21425 [ 21426 -1.4811, 21427 -0.5412, 21428 -1.4149 21429 ] 21430 ], 21431 { 21432 "attributes":{} 21433 } 21434 ], 21435 "inner-outer-331":[ 21436 [ 21437 [ 21438 -0.6381, 21439 1.138, 21440 0.9459 21441 ], 21442 [ 21443 -0.839, 21444 1.4962, 21445 1.2437 21446 ] 21447 ], 21448 { 21449 "attributes":{} 21450 } 21451 ], 21452 "inner-outer-332":[ 21453 [ 21454 [ 21455 -0.4469, 21456 0.8159, 21457 1.3202 21458 ], 21459 [ 21460 -0.5876, 21461 1.0728, 21462 1.7359 21463 ] 21464 ], 21465 { 21466 "attributes":{} 21467 } 21468 ], 21469 "inner-outer-333":[ 21470 [ 21471 [ 21472 -0.2141, 21473 0.6251, 21474 1.4786 21475 ], 21476 [ 21477 -0.2815, 21478 0.8219, 21479 1.9441 21480 ] 21481 ], 21482 { 21483 "attributes":{} 21484 } 21485 ], 21486 "inner-outer-334":[ 21487 [ 21488 [ 21489 0.2411, 21490 0.7078, 21491 1.4325 21492 ], 21493 [ 21494 0.317, 21495 0.9307, 21496 1.8834 21497 ] 21498 ], 21499 { 21500 "attributes":{} 21501 } 21502 ], 21503 "inner-outer-335":[ 21504 [ 21505 [ 21506 -1.4058, 21507 -0.7594, 21508 -0.2216 21509 ], 21510 [ 21511 -1.8484, 21512 -0.9985, 21513 -0.2914 21514 ] 21515 ], 21516 { 21517 "attributes":{} 21518 } 21519 ], 21520 "inner-outer-336":[ 21521 [ 21522 [ 21523 0.3729, 21524 0.6663, 21525 -1.4203 21526 ], 21527 [ 21528 0.4903, 21529 0.876, 21530 -1.8674 21531 ] 21532 ], 21533 { 21534 "attributes":{} 21535 } 21536 ], 21537 "inner-outer-337":[ 21538 [ 21539 [ 21540 1.1563, 21541 0.1319, 21542 -1.1168 21543 ], 21544 [ 21545 1.5203, 21546 0.1735, 21547 -1.4683 21548 ] 21549 ], 21550 { 21551 "attributes":{} 21552 } 21553 ], 21554 "inner-outer-338":[ 21555 [ 21556 [ 21557 -0.0034, 21558 1.1111, 21559 -1.2219 21560 ], 21561 [ 21562 -0.0044, 21563 1.4609, 21564 -1.6066 21565 ] 21566 ], 21567 { 21568 "attributes":{} 21569 } 21570 ], 21571 "inner-outer-339":[ 21572 [ 21573 [ 21574 1.4874, 21575 0.5937, 21576 -0.1802 21577 ], 21578 [ 21579 1.9557, 21580 0.7806, 21581 -0.2369 21582 ] 21583 ], 21584 { 21585 "attributes":{} 21586 } 21587 ], 21588 "inner-outer-340":[ 21589 [ 21590 [ 21591 -0.599, 21592 0.7523, 21593 -1.3284 21594 ], 21595 [ 21596 -0.7876, 21597 0.9891, 21598 -1.7466 21599 ] 21600 ], 21601 { 21602 "attributes":{} 21603 } 21604 ], 21605 "inner-outer-341":[ 21606 [ 21607 [ 21608 -1.1772, 21609 0.8383, 21610 -0.7307 21611 ], 21612 [ 21613 -1.5478, 21614 1.1023, 21615 -0.9608 21616 ] 21617 ], 21618 { 21619 "attributes":{} 21620 } 21621 ], 21622 "inner-outer-342":[ 21623 [ 21624 [ 21625 -0.9676, 21626 -1.3009, 21627 0.2862 21628 ], 21629 [ 21630 -1.2722, 21631 -1.7104, 21632 0.3763 21633 ] 21634 ], 21635 { 21636 "attributes":{} 21637 } 21638 ], 21639 "inner-outer-343":[ 21640 [ 21641 [ 21642 1.455, 21643 -0.2189, 21644 -0.6791 21645 ], 21646 [ 21647 1.9131, 21648 -0.2878, 21649 -0.8929 21650 ] 21651 ], 21652 { 21653 "attributes":{} 21654 } 21655 ], 21656 "inner-outer-344":[ 21657 [ 21658 [ 21659 0.5024, 21660 -0.1107, 21661 1.55 21662 ], 21663 [ 21664 0.6606, 21665 -0.1455, 21666 2.038 21667 ] 21668 ], 21669 { 21670 "attributes":{} 21671 } 21672 ], 21673 "inner-outer-345":[ 21674 [ 21675 [ 21676 -1.0173, 21677 -0.1793, 21678 -1.2515 21679 ], 21680 [ 21681 -1.3376, 21682 -0.2357, 21683 -1.6454 21684 ] 21685 ], 21686 { 21687 "attributes":{} 21688 } 21689 ], 21690 "inner-outer-346":[ 21691 [ 21692 [ 21693 0.2757, 21694 -0.6116, 21695 -1.4816 21696 ], 21697 [ 21698 0.3625, 21699 -0.8042, 21700 -1.948 21701 ] 21702 ], 21703 { 21704 "attributes":{} 21705 } 21706 ], 21707 "inner-outer-347":[ 21708 [ 21709 [ 21710 1.4308, 21711 -0.6142, 21712 0.4383 21713 ], 21714 [ 21715 1.8812, 21716 -0.8076, 21717 0.5762 21718 ] 21719 ], 21720 { 21721 "attributes":{} 21722 } 21723 ], 21724 "inner-outer-348":[ 21725 [ 21726 [ 21727 -1.137, 21728 -0.2553, 21729 -1.1225 21730 ], 21731 [ 21732 -1.495, 21733 -0.3357, 21734 -1.4759 21735 ] 21736 ], 21737 { 21738 "attributes":{} 21739 } 21740 ], 21741 "inner-outer-349":[ 21742 [ 21743 [ 21744 -0.7598, 21745 0.2454, 21746 -1.4159 21747 ], 21748 [ 21749 -0.999, 21750 0.3227, 21751 -1.8616 21752 ] 21753 ], 21754 { 21755 "attributes":{} 21756 } 21757 ], 21758 "inner-outer-350":[ 21759 [ 21760 [ 21761 -0.8316, 21762 1.3711, 21763 0.1809 21764 ], 21765 [ 21766 -1.0934, 21767 1.8027, 21768 0.2379 21769 ] 21770 ], 21771 { 21772 "attributes":{} 21773 } 21774 ], 21775 "inner-outer-351":[ 21776 [ 21777 [ 21778 1.5189, 21779 -0.2586, 21780 0.4989 21781 ], 21782 [ 21783 1.997, 21784 -0.34, 21785 0.6559 21786 ] 21787 ], 21788 { 21789 "attributes":{} 21790 } 21791 ], 21792 "inner-outer-352":[ 21793 [ 21794 [ 21795 -0.32, 21796 0.0079, 21797 1.5816 21798 ], 21799 [ 21800 -0.4208, 21801 0.0104, 21802 2.0795 21803 ] 21804 ], 21805 { 21806 "attributes":{} 21807 } 21808 ], 21809 "inner-outer-353":[ 21810 [ 21811 [ 21812 -0.6625, 21813 -0.7017, 21814 -1.2981 21815 ], 21816 [ 21817 -0.871, 21818 -0.9227, 21819 -1.7068 21820 ] 21821 ], 21822 { 21823 "attributes":{} 21824 } 21825 ], 21826 "inner-outer-354":[ 21827 [ 21828 [ 21829 -1.4277, 21830 -0.2112, 21831 -0.7608 21832 ], 21833 [ 21834 -1.8771, 21835 -0.2777, 21836 -1.0003 21837 ] 21838 ], 21839 { 21840 "attributes":{} 21841 } 21842 ], 21843 "inner-outer-355":[ 21844 [ 21845 [ 21846 -1.1562, 21847 -0.737, 21848 -0.895 21849 ], 21850 [ 21851 -1.5201, 21852 -0.9691, 21853 -1.1767 21854 ] 21855 ], 21856 { 21857 "attributes":{} 21858 } 21859 ], 21860 "inner-outer-356":[ 21861 [ 21862 [ 21863 1.4772, 21864 -0.5734, 21865 -0.3767 21866 ], 21867 [ 21868 1.9422, 21869 -0.7539, 21870 -0.4953 21871 ] 21872 ], 21873 { 21874 "attributes":{} 21875 } 21876 ], 21877 "inner-outer-357":[ 21878 [ 21879 [ 21880 1.5119, 21881 0.5067, 21882 -0.2513 21883 ], 21884 [ 21885 1.9878, 21886 0.6662, 21887 -0.3304 21888 ] 21889 ], 21890 { 21891 "attributes":{} 21892 } 21893 ], 21894 "inner-outer-358":[ 21895 [ 21896 [ 21897 1.4124, 21898 0.0488, 21899 0.8245 21900 ], 21901 [ 21902 1.857, 21903 0.0641, 21904 1.0841 21905 ] 21906 ], 21907 { 21908 "attributes":{} 21909 } 21910 ], 21911 "inner-outer-359":[ 21912 [ 21913 [ 21914 1.265, 21915 0.3409, 21916 0.9428 21917 ], 21918 [ 21919 1.6633, 21920 0.4482, 21921 1.2396 21922 ] 21923 ], 21924 { 21925 "attributes":{} 21926 } 21927 ], 21928 "inner-outer-360":[ 21929 [ 21930 [ 21931 0.6764, 21932 1.0856, 21933 -0.9823 21934 ], 21935 [ 21936 0.8894, 21937 1.4274, 21938 -1.2916 21939 ] 21940 ], 21941 { 21942 "attributes":{} 21943 } 21944 ], 21945 "inner-outer-361":[ 21946 [ 21947 [ 21948 -1.0557, 21949 0.4333, 21950 -1.1683 21951 ], 21952 [ 21953 -1.3881, 21954 0.5697, 21955 -1.5361 21956 ] 21957 ], 21958 { 21959 "attributes":{} 21960 } 21961 ], 21962 "inner-outer-362":[ 21963 [ 21964 [ 21965 0.1539, 21966 -1.407, 21967 -0.7971 21968 ], 21969 [ 21970 0.2024, 21971 -1.8499, 21972 -1.048 21973 ] 21974 ], 21975 { 21976 "attributes":{} 21977 } 21978 ], 21979 "inner-outer-363":[ 21980 [ 21981 [ 21982 0.2754, 21983 -0.0628, 21984 1.5964 21985 ], 21986 [ 21987 0.3621, 21988 -0.0826, 21989 2.099 21990 ] 21991 ], 21992 { 21993 "attributes":{} 21994 } 21995 ], 21996 "inner-outer-364":[ 21997 [ 21998 [ 21999 1.2302, 22000 0.3855, 22001 0.9663 22002 ], 22003 [ 22004 1.6175, 22005 0.5068, 22006 1.2705 22007 ] 22008 ], 22009 { 22010 "attributes":{} 22011 } 22012 ], 22013 "inner-outer-365":[ 22014 [ 22015 [ 22016 1.4718, 22017 0.2929, 22018 -0.6084 22019 ], 22020 [ 22021 1.9351, 22022 0.3851,
22023 -0.7999 22024 ] 22025 ], 22026 { 22027 "attributes":{} 22028 } 22029 ], 22030 "inner-outer-366":[ 22031 [ 22032 [ 22033 -1.5728, 22034 0.3561, 22035 0.14 22036 ], 22037 [ 22038 -2.0679, 22039 0.4682, 22040 0.184 22041 ] 22042 ], 22043 { 22044 "attributes":{} 22045 } 22046 ], 22047 "inner-outer-367":[ 22048 [ 22049 [ 22050 0.2628, 22051 -1.5732, 22052 -0.2703 22053 ], 22054 [ 22055 0.3455, 22056 -2.0684, 22057 -0.3554 22058 ] 22059 ], 22060 { 22061 "attributes":{} 22062 } 22063 ], 22064 "inner-outer-368":[ 22065 [ 22066 [ 22067 -0.1579, 22068 0.8338, 22069 1.3769 22070 ], 22071 [ 22072 -0.2076, 22073 1.0963, 22074 1.8104 22075 ] 22076 ], 22077 { 22078 "attributes":{} 22079 } 22080 ], 22081 "inner-outer-369":[ 22082 [ 22083 [ 22084 0.5103, 22085 1.0389, 22086 -1.1208 22087 ], 22088 [ 22089 0.6709, 22090 1.366, 22091 -1.4736 22092 ] 22093 ], 22094 { 22095 "attributes":{} 22096 } 22097 ], 22098 "inner-outer-370":[ 22099 [ 22100 [ 22101 -0.5682, 22102 -0.9251, 22103 1.2109 22104 ], 22105 [ 22106 -0.7471, 22107 -1.2163, 22108 1.5921 22109 ] 22110 ], 22111 { 22112 "attributes":{} 22113 } 22114 ], 22115 "inner-outer-371":[ 22116 [ 22117 [ 22118 1.1639, 22119 -0.4207, 22120 1.0483 22121 ], 22122 [ 22123 1.5304, 22124 -0.5531, 22125 1.3783 22126 ] 22127 ], 22128 { 22129 "attributes":{} 22130 } 22131 ], 22132 "inner-outer-372":[ 22133 [ 22134 [ 22135 -1.0118, 22136 0.4775, 22137 -1.1766 22138 ], 22139 [ 22140 -1.3304, 22141 0.6278, 22142 -1.5471 22143 ] 22144 ], 22145 { 22146 "attributes":{} 22147 } 22148 ], 22149 "inner-outer-373":[ 22150 [ 22151 [ 22152 0.0279, 22153 1.2594, 22154 1.0024 22155 ], 22156 [ 22157 0.0367, 22158 1.6558, 22159 1.3179 22160 ] 22161 ], 22162 { 22163 "attributes":{} 22164 } 22165 ], 22166 "inner-outer-374":[ 22167 [ 22168 [ 22169 1.1852, 22170 0.5932, 22171 0.9404 22172 ], 22173 [ 22174 1.5583, 22175 0.78, 22176 1.2364 22177 ] 22178 ], 22179 { 22180 "attributes":{} 22181 } 22182 ], 22183 "inner-outer-375":[ 22184 [ 22185 [ 22186 1.2906, 22187 -0.2872, 22188 0.9248 22189 ], 22190 [ 22191 1.697, 22192 -0.3776, 22193 1.2159 22194 ] 22195 ], 22196 { 22197 "attributes":{} 22198 } 22199 ], 22200 "inner-outer-376":[ 22201 [ 22202 [ 22203 0.2504, 22204 1.0229, 22205 -1.2237 22206 ], 22207 [ 22208 0.3292, 22209 1.3449, 22210 -1.609 22211 ] 22212 ], 22213 { 22214 "attributes":{} 22215 } 22216 ], 22217 "inner-outer-377":[ 22218 [ 22219 [ 22220 0.8158, 22221 1.2525, 22222 -0.6036 22223 ], 22224 [ 22225 1.0726, 22226 1.6468, 22227 -0.7936 22228 ] 22229 ], 22230 { 22231 "attributes":{} 22232 } 22233 ], 22234 "inner-outer-378":[ 22235 [ 22236 [ 22237 -0.7018, 22238 -1.4255, 22239 -0.3722 22240 ], 22241 [ 22242 -0.9228, 22243 -1.8743, 22244 -0.4893 22245 ] 22246 ], 22247 { 22248 "attributes":{} 22249 } 22250 ], 22251 "inner-outer-379":[ 22252 [ 22253 [ 22254 -0.8158, 22255 0.8007, 22256 -1.1361 22257 ], 22258 [ 22259 -1.0727, 22260 1.0528, 22261 -1.4937 22262 ] 22263 ], 22264 { 22265 "attributes":{} 22266 } 22267 ], 22268 "inner-outer-380":[ 22269 [ 22270 [ 22271 -0.84, 22272 -0.1565, 22273 -1.3799 22274 ], 22275 [ 22276 -1.1045, 22277 -0.2057, 22278 -1.8143 22279 ] 22280 ], 22281 { 22282 "attributes":{} 22283 } 22284 ], 22285 "inner-outer-381":[ 22286 [ 22287 [ 22288 0.2396, 22289 -0.8082, 22290 1.3715 22291 ], 22292 [ 22293 0.315, 22294 -1.0626, 22295 1.8033 22296 ] 22297 ], 22298 { 22299 "attributes":{} 22300 } 22301 ], 22302 "inner-outer-382":[ 22303 [ 22304 [ 22305 -0.0897, 22306 -0.7113, 22307 -1.4408 22308 ], 22309 [ 22310 -0.1179, 22311 -0.9353, 22312 -1.8944 22313 ] 22314 ], 22315 { 22316 "attributes":{} 22317 } 22318 ], 22319 "inner-outer-383":[ 22320 [ 22321 [ 22322 -1.0903, 22323 -1.0225, 22324 0.5999 22325 ], 22326 [ 22327 -1.4335, 22328 -1.3444, 22329 0.7888 22330 ] 22331 ], 22332 { 22333 "attributes":{} 22334 } 22335 ], 22336 "inner-outer-384":[ 22337 [ 22338 [ 22339 -1.068, 22340 0.0546, 22341 -1.2051 22342 ], 22343 [ 22344 -1.4042, 22345 0.0718, 22346 -1.5844 22347 ] 22348 ], 22349 { 22350 "attributes":{} 22351 } 22352 ], 22353 "inner-outer-385":[ 22354 [ 22355 [ 22356 -0.0062, 22357 -0.4427, 22358 1.5689 22359 ], 22360 [ 22361 -0.0082, 22362 -0.582, 22363 2.0629 22364 ] 22365 ], 22366 { 22367 "attributes":{} 22368 } 22369 ], 22370 "inner-outer-386":[ 22371 [ 22372 [ 22373 1.5145, 22374 0.4192, 22375 -0.358 22376 ], 22377 [ 22378 1.9913, 22379 0.5512, 22380 -0.4707 22381 ] 22382 ], 22383 { 22384 "attributes":{} 22385 } 22386 ], 22387 "inner-outer-387":[ 22388 [ 22389 [ 22390 1.3242, 22391 -0.4178, 22392 0.8545 22393 ], 22394 [ 22395 1.7411, 22396 -0.5493, 22397 1.1235 22398 ] 22399 ], 22400 { 22401 "attributes":{} 22402 } 22403 ], 22404 "inner-outer-388":[ 22405 [ 22406 [ 22407 0.4342, 22408 -0.7612, 22409 1.3692 22410 ], 22411 [ 22412 0.5709, 22413 -1.0009, 22414 1.8002 22415 ] 22416 ], 22417 { 22418 "attributes":{} 22419 } 22420 ], 22421 "inner-outer-389":[ 22422 [ 22423 [ 22424 1.2959, 22425 0.4082, 22426 0.882 22427 ], 22428 [ 22429 1.7039, 22430 0.5367, 22431 1.1597 22432 ] 22433 ], 22434 { 22435 "attributes":{} 22436 } 22437 ], 22438 "inner-outer-390":[ 22439 [ 22440 [ 22441 0.0969, 22442 -0.7839, 22443 -1.4091 22444 ], 22445 [ 22446 0.1275, 22447 -1.0307, 22448 -1.8526 22449 ] 22450 ], 22451 { 22452 "attributes":{} 22453 } 22454 ], 22455 "inner-outer-391":[ 22456 [ 22457 [ 22458 -0.4055, 22459 -1.2784, 22460 0.9129 22461 ], 22462 [ 22463 -0.5332, 22464 -1.6809, 22465 1.2003 22466 ] 22467 ], 22468 { 22469 "attributes":{} 22470 } 22471 ], 22472 "inner-outer-392":[ 22473 [ 22474 [ 22475 0.2395, 22476 1.5591, 22477 -0.403 22478 ], 22479 [ 22480 0.3149, 22481 2.0499, 22482 -0.5298 22483 ] 22484 ], 22485 { 22486 "attributes":{} 22487 } 22488 ], 22489 "inner-outer-393":[ 22490 [ 22491 [ 22492 -0.0883, 22493 0.0917, 22494 -1.6233 22495 ], 22496 [ 22497 -0.1161, 22498 0.1206, 22499 -2.1344 22500 ] 22501 ], 22502 { 22503 "attributes":{} 22504 } 22505 ], 22506 "inner-outer-394":[ 22507 [ 22508 [ 22509 -0.8014, 22510 -0.9599, 22511 -1.0245 22512 ], 22513 [ 22514 -1.0536, 22515 -1.2621, 22516 -1.3471 22517 ] 22518 ], 22519 { 22520 "attributes":{} 22521 } 22522 ], 22523 "inner-outer-395":[ 22524 [ 22525 [ 22526 0.3784, 22527 -0.8238, 22528 1.3395 22529 ], 22530 [ 22531 0.4975, 22532 -1.0831, 22533 1.7612 22534 ] 22535 ], 22536 { 22537 "attributes":{} 22538 } 22539 ], 22540 "inner-outer-396":[ 22541 [ 22542 [ 22543 -1.5923, 22544 0.2919, 22545 -0.0528 22546 ], 22547 [ 22548 -2.0936, 22549 0.3838, 22550 -0.0694 22551 ] 22552 ], 22553 { 22554 "attributes":{} 22555 } 22556 ], 22557 "inner-outer-397":[ 22558 [ 22559 [ 22560 0.4333, 22561 -1.1299, 22562 -1.0618 22563 ], 22564 [ 22565 0.5698, 22566 -1.4857, 22567 -1.3961 22568 ] 22569 ], 22570 { 22571 "attributes":{} 22572 } 22573 ], 22574 "inner-outer-398":[ 22575 [ 22576 [ 22577 -1.0071, 22578 -0.1369, 22579 1.2623 22580 ], 22581 [ 22582 -1.3242, 22583 -0.1799, 22584 1.6597 22585 ] 22586 ], 22587 { 22588 "attributes":{} 22589 } 22590 ], 22591 "inner-outer-399":[ 22592 [ 22593 [ 22594 0.1394, 22595 1.515, 22596 -0.5697 22597 ], 22598 [ 22599 0.1833,
22600 1.9919, 22601 -0.7491 22602 ] 22603 ], 22604 { 22605 "attributes":{} 22606 } 22607 ], 22608 "inner-outer-400":[ 22609 [ 22610 [ 22611 -0.7416, 22612 -1.1457, 22613 -0.8749 22614 ], 22615 [ 22616 -0.9751, 22617 -1.5063, 22618 -1.1503 22619 ] 22620 ], 22621 { 22622 "attributes":{} 22623 } 22624 ], 22625 "inner-outer-401":[ 22626 [ 22627 [ 22628 -0.7062, 22629 -1.1727, 22630 -0.8636 22631 ], 22632 [ 22633 -0.9286, 22634 -1.5419, 22635 -1.1355 22636 ] 22637 ], 22638 { 22639 "attributes":{} 22640 } 22641 ], 22642 "inner-outer-402":[ 22643 [ 22644 [ 22645 -1.3925, 22646 0.5643, 22647 0.5904 22648 ], 22649 [ 22650 -1.8309, 22651 0.7419, 22652 0.7762 22653 ] 22654 ], 22655 { 22656 "attributes":{} 22657 } 22658 ], 22659 "inner-outer-403":[ 22660 [ 22661 [ 22662 1.2041, 22663 0.0795, 22664 1.0632 22665 ], 22666 [ 22667 1.5832, 22668 0.1045, 22669 1.3979 22670 ] 22671 ], 22672 { 22673 "attributes":{} 22674 } 22675 ], 22676 "inner-outer-404":[ 22677 [ 22678 [ 22679 0.711, 22680 -0.3113, 22681 1.4199 22682 ], 22683 [ 22684 0.9348, 22685 -0.4093, 22686 1.8669 22687 ] 22688 ], 22689 { 22690 "attributes":{} 22691 } 22692 ], 22693 "inner-outer-405":[ 22694 [ 22695 [ 22696 1.0318, 22697 0.8513, 22698 -0.9294 22699 ], 22700 [ 22701 1.3567, 22702 1.1194, 22703 -1.2219 22704 ] 22705 ], 22706 { 22707 "attributes":{} 22708 } 22709 ], 22710 "inner-outer-406":[ 22711 [ 22712 [ 22713 -0.9022, 22714 -1.2148, 22715 -0.5932 22716 ], 22717 [ 22718 -1.1863, 22719 -1.5973, 22720 -0.78 22721 ] 22722 ], 22723 { 22724 "attributes":{} 22725 } 22726 ], 22727 "inner-outer-407":[ 22728 [ 22729 [ 22730 -0.9364, 22731 -0.782, 22732 -1.0535 22733 ], 22734 [ 22735 -1.2312, 22736 -1.0282, 22737 -1.3851 22738 ] 22739 ], 22740 { 22741 "attributes":{} 22742 } 22743 ], 22744 "inner-outer-408":[ 22745 [ 22746 [ 22747 0.6687, 22748 -0.3715, 22749 1.4219 22750 ], 22751 [ 22752 0.8792, 22753 -0.4884, 22754 1.8696 22755 ] 22756 ], 22757 { 22758 "attributes":{} 22759 } 22760 ], 22761 "inner-outer-409":[ 22762 [ 22763 [ 22764 -0.1809, 22765 -0.2058, 22766 1.5895 22767 ], 22768 [ 22769 -0.2379, 22770 -0.2706, 22771 2.0898 22772 ] 22773 ], 22774 { 22775 "attributes":{} 22776 } 22777 ], 22778 "inner-outer-410":[ 22779 [ 22780 [ 22781 -0.8462, 22782 -0.0343, 22783 -1.3714 22784 ], 22785 [ 22786 -1.1126, 22787 -0.0451, 22788 -1.8031 22789 ] 22790 ], 22791 { 22792 "attributes":{} 22793 } 22794 ], 22795 "inner-outer-411":[ 22796 [ 22797 [ 22798 -0.0321, 22799 -0.834, 22800 1.3889 22801 ], 22802 [ 22803 -0.0422, 22804 -1.0966, 22805 1.8262 22806 ] 22807 ], 22808 { 22809 "attributes":{} 22810 } 22811 ], 22812 "inner-outer-412":[ 22813 [ 22814 [ 22815 0.7347, 22816 -1.1363, 22817 -0.8902 22818 ], 22819 [ 22820 0.966, 22821 -1.494, 22822 -1.1705 22823 ] 22824 ], 22825 { 22826 "attributes":{} 22827 } 22828 ], 22829 "inner-outer-413":[ 22830 [ 22831 [ 22832 0.6402, 22833 -0.3436, 22834 -1.4392 22835 ], 22836 [ 22837 0.8418, 22838 -0.4518, 22839 -1.8923 22840 ] 22841 ], 22842 { 22843 "attributes":{} 22844 } 22845 ], 22846 "inner-outer-414":[ 22847 [ 22848 [ 22849 0.8214, 22850 -0.935, 22851 1.0268 22852 ], 22853 [ 22854 1.0799, 22855 -1.2294, 22856 1.35 22857 ] 22858 ], 22859 { 22860 "attributes":{} 22861 } 22862 ], 22863 "inner-outer-415":[ 22864 [ 22865 [ 22866 1.0101, 22867 -0.6304, 22868 -1.0797 22869 ], 22870 [ 22871 1.3281, 22872 -0.8289, 22873 -1.4196 22874 ] 22875 ], 22876 { 22877 "attributes":{} 22878 } 22879 ], 22880 "inner-outer-416":[ 22881 [ 22882 [ 22883 -0.4922, 22884 1.2236, 22885 0.9304 22886 ], 22887 [ 22888 -0.6472, 22889 1.6089, 22890 1.2233 22891 ] 22892 ], 22893 { 22894 "attributes":{} 22895 } 22896 ], 22897 "inner-outer-417":[ 22898 [ 22899 [ 22900 0.5904, 22901 0.8707, 22902 -1.2545 22903 ], 22904 [ 22905 0.7762, 22906 1.1449, 22907 -1.6494 22908 ] 22909 ], 22910 { 22911 "attributes":{} 22912 } 22913 ], 22914 "inner-outer-418":[ 22915 [ 22916 [ 22917 0.5336, 22918 1.1465, 22919 -1.0093 22920 ], 22921 [ 22922 0.7015, 22923 1.5075, 22924 -1.327 22925 ] 22926 ], 22927 { 22928 "attributes":{} 22929 } 22930 ], 22931 "inner-outer-419":[ 22932 [ 22933 [ 22934 -0.8537, 22935 -1.072, 22936 0.8694 22937 ], 22938 [ 22939 -1.1224, 22940 -1.4095, 22941 1.1431 22942 ] 22943 ], 22944 { 22945 "attributes":{} 22946 } 22947 ], 22948 "inner-outer-420":[ 22949 [ 22950 [ 22951 -0.3027, 22952 0.0124, 22953 1.5851 22954 ], 22955 [ 22956 -0.398, 22957 0.0164, 22958 2.0841 22959 ] 22960 ], 22961 { 22962 "attributes":{} 22963 } 22964 ], 22965 "inner-outer-421":[ 22966 [ 22967 [ 22968 0.6865, 22969 -0.6986, 22970 1.2998 22971 ], 22972 [ 22973 0.9026, 22974 -0.9185, 22975 1.709 22976 ] 22977 ], 22978 { 22979 "attributes":{} 22980 } 22981 ], 22982 "inner-outer-422":[ 22983 [ 22984 [ 22985 -0.3125, 22986 1.0854, 22987 -1.1426 22988 ], 22989 [ 22990 -0.4109, 22991 1.4271, 22992 -1.5023 22993 ] 22994 ], 22995 { 22996 "attributes":{} 22997 } 22998 ], 22999 "inner-outer-423":[ 23000 [ 23001 [ 23002 0.211, 23003 -1.2721, 23004 0.9642 23005 ], 23006 [ 23007 0.2774, 23008 -1.6725, 23009 1.2678 23010 ] 23011 ], 23012 { 23013 "attributes":{} 23014 } 23015 ], 23016 "inner-outer-424":[ 23017 [ 23018 [ 23019 0.3993, 23020 -0.7656, 23021 -1.3613 23022 ], 23023 [ 23024 0.525, 23025 -1.0066, 23026 -1.7898 23027 ] 23028 ], 23029 { 23030 "attributes":{} 23031 } 23032 ], 23033 "inner-outer-425":[ 23034 [ 23035 [ 23036 -1.1221, 23037 0.7581, 23038 0.9078 23039 ], 23040 [ 23041 -1.4753, 23042 0.9967, 23043 1.1935 23044 ] 23045 ], 23046 { 23047 "attributes":{} 23048 } 23049 ], 23050 "inner-outer-426":[ 23051 [ 23052 [ 23053 -0.1102, 23054 -0.7342, 23055 1.438 23056 ], 23057 [ 23058 -0.1449, 23059 -0.9653, 23060 1.8908 23061 ] 23062 ], 23063 { 23064 "attributes":{} 23065 } 23066 ], 23067 "inner-outer-427":[ 23068 [ 23069 [ 23070 0.2947, 23071 -0.4542, 23072 1.5156 23073 ], 23074 [ 23075 0.3874, 23076 -0.5972, 23077 1.9927 23078 ] 23079 ], 23080 { 23081 "attributes":{} 23082 } 23083 ], 23084 "inner-outer-428":[ 23085 [ 23086 [ 23087 0.1304, 23088 1.0918, 23089 -1.1977 23090 ], 23091 [ 23092 0.1715, 23093 1.4356, 23094 -1.5748 23095 ] 23096 ], 23097 { 23098 "attributes":{} 23099 } 23100 ], 23101 "inner-outer-429":[ 23102 [ 23103 [ 23104 -0.2575, 23105 -0.389, 23106 -1.5626 23107 ], 23108 [ 23109 -0.3385, 23110 -0.5115, 23111 -2.0546 23112 ] 23113 ], 23114 { 23115 "attributes":{} 23116 } 23117 ], 23118 "inner-outer-430":[ 23119 [ 23120 [ 23121 0.6502, 23122 1.0553, 23123 -1.0308 23124 ], 23125 [ 23126 0.8549, 23127 1.3875, 23128 -1.3553 23129 ] 23130 ], 23131 { 23132 "attributes":{} 23133 } 23134 ], 23135 "inner-outer-431":[ 23136 [ 23137 [ 23138 0.6507, 23139 -1.0023, 23140 1.0825 23141 ], 23142 [ 23143 0.8555, 23144 -1.3178, 23145 1.4232 23146 ] 23147 ], 23148 { 23149 "attributes":{} 23150 } 23151 ], 23152 "inner-outer-432":[ 23153 [ 23154 [ 23155 0.8139, 23156 -0.7223, 23157 1.1861 23158 ], 23159 [ 23160 1.0702, 23161 -0.9496, 23162 1.5595 23163 ] 23164 ], 23165 { 23166 "attributes":{} 23167 } 23168 ], 23169 "inner-outer-433":[ 23170 [ 23171 [ 23172 0.7726, 23173 0.0407, 23174 -1.4155 23175 ], 23176 [ 23177 1.0158, 23178 0.0536, 23179 -1.8611 23180 ] 23181 ], 23182 { 23183 "attributes":{} 23184 } 23185 ], 23186 "inner-outer-434":[ 23187 [ 23188 [ 23189 -0.8954, 23190 -0.9492, 23191 0.9601 23192 ], 23193 [ 23194 -1.1773, 23195 -1.248, 23196 1.2623 23197 ] 23198 ], 23199 { 23200 "attributes":{} 23201 } 23202 ], 23203 "inner-outer-435":[ 23204 [ 23205 [ 23206 -0.7287, 23207 -0.1031, 23208 1.441 23209 ], 23210 [ 23211 -0.9582, 23212 -0.1355, 23213 1.8947 23214 ] 23215 ], 23216 { 23217 "attributes":{} 23218 } 23219 ], 23220 "inner-outer-436":[ 23221 [ 23222 [ 23223 1.1897, 23224 0.522, 23225 -0.9551 23226 ], 23227 [ 23228 1.5642, 23229 0.6864, 23230 -1.2558 23231 ] 23232 ], 23233 { 23234 "attributes":{} 23235 } 23236 ], 23237 "inner-outer-437":[ 23238 [ 23239 [ 23240 0.8196, 23241 -0.8263, 23242 1.1172 23243 ], 23244 [ 23245 1.0776, 23246 -1.0865, 23247 1.4689 23248 ] 23249 ], 23250 { 23251 "attributes":{} 23252 } 23253 ], 23254 "inner-outer-438":[ 23255 [ 23256 [ 23257 -0.437, 23258 -0.8359, 23259 1.3226 23260 ], 23261 [ 23262 -0.5746, 23263 -1.0991, 23264 1.7389 23265 ] 23266 ], 23267 { 23268 "attributes":{} 23269 } 23270 ], 23271 "inner-outer-439":[ 23272 [ 23273 [ 23274 0.4709, 23275 -0.7889, 23276 -1.3307 23277 ], 23278 [ 23279 0.6192, 23280 -1.0372, 23281 -1.7496 23282 ] 23283 ], 23284 { 23285 "attributes":{} 23286 } 23287 ], 23288 "inner-outer-440":[ 23289 [ 23290 [ 23291 0.0413, 23292 -1.4732, 23293 0.7267 23294 ], 23295 [ 23296 0.0543, 23297 -1.937, 23298 0.9555 23299 ] 23300 ], 23301 { 23302 "attributes":{} 23303 } 23304 ], 23305 "inner-outer-441":[ 23306 [ 23307 [ 23308 0.4799, 23309 -0.8493, 23310 -1.2927 23311 ], 23312 [ 23313 0.6309, 23314 -1.1166, 23315 -1.6997 23316 ] 23317 ], 23318 { 23319 "attributes":{} 23320 } 23321 ], 23322 "inner-outer-442":[ 23323 [ 23324 [ 23325 -1.3888, 23326 -0.3338, 23327 0.7856 23328 ], 23329 [ 23330 -1.826, 23331 -0.4389, 23332 1.033
23333 ] 23334 ], 23335 { 23336 "attributes":{} 23337 } 23338 ], 23339 "inner-outer-443":[ 23340 [ 23341 [ 23342 0.4511, 23343 -0.5513, 23344 1.4409 23345 ], 23346 [ 23347 0.5931, 23348 -0.7248, 23349 1.8945 23350 ] 23351 ], 23352 { 23353 "attributes":{} 23354 } 23355 ], 23356 "inner-outer-444":[ 23357 [ 23358 [ 23359 1.0487, 23360 0.3858, 23361 -1.2034 23362 ], 23363 [ 23364 1.3788, 23365 0.5072, 23366 -1.5823 23367 ] 23368 ], 23369 { 23370 "attributes":{} 23371 } 23372 ], 23373 "inner-outer-445":[ 23374 [ 23375 [ 23376 1.3031, 23377 -0.1519, 23378 -0.9605 23379 ], 23380 [ 23381 1.7133, 23382 -0.1997, 23383 -1.2629 23384 ] 23385 ], 23386 { 23387 "attributes":{} 23388 } 23389 ], 23390 "inner-outer-446":[ 23391 [ 23392 [ 23393 1.2255, 23394 -0.1987, 23395 -1.0386 23396 ], 23397 [ 23398 1.6113, 23399 -0.2612, 23400 -1.3656 23401 ] 23402 ], 23403 { 23404 "attributes":{} 23405 } 23406 ], 23407 "inner-outer-447":[ 23408 [ 23409 [ 23410 1.0085, 23411 -0.6527, 23412 1.0711 23413 ], 23414 [ 23415 1.326, 23416 -0.8581, 23417 1.4083 23418 ] 23419 ], 23420 { 23421 "attributes":{} 23422 } 23423 ], 23424 "inner-outer-448":[ 23425 [ 23426 [ 23427 -0.5092, 23428 -1.2631, 23429 0.9052 23430 ], 23431 [ 23432 -0.6695, 23433 -1.6607, 23434 1.1901 23435 ] 23436 ], 23437 { 23438 "attributes":{} 23439 } 23440 ], 23441 "inner-outer-449":[ 23442 [ 23443 [ 23444 -0.1611, 23445 -0.4322, 23446 1.5499 23447 ], 23448 [ 23449 -0.2118, 23450 -0.5683, 23451 2.0378 23452 ] 23453 ], 23454 { 23455 "attributes":{} 23456 } 23457 ], 23458 "inner-outer-450":[ 23459 [ 23460 [ 23461 0.1372, 23462 0.6392, 23463 -1.4905 23464 ], 23465 [ 23466 0.1804, 23467 0.8404, 23468 -1.9598 23469 ] 23470 ], 23471 { 23472 "attributes":{} 23473 } 23474 ], 23475 "inner-outer-451":[ 23476 [ 23477 [ 23478 0.755, 23479 0.2129, 23480 -1.4201 23481 ], 23482 [ 23483 0.9927, 23484 0.28, 23485 -1.8672 23486 ] 23487 ], 23488 { 23489 "attributes":{} 23490 } 23491 ], 23492 "inner-outer-452":[ 23493 [ 23494 [ 23495 -0.6529, 23496 -0.398, 23497 1.4213 23498 ], 23499 [ 23500 -0.8585, 23501 -0.5234, 23502 1.8687 23503 ] 23504 ], 23505 { 23506 "attributes":{} 23507 } 23508 ], 23509 "inner-outer-453":[ 23510 [ 23511 [ 23512 0.1704, 23513 0.6192, 23514 -1.4891 23515 ], 23516 [ 23517 0.2241, 23518 0.8141, 23519 -1.9579 23520 ] 23521 ], 23522 { 23523 "attributes":{} 23524 } 23525 ], 23526 "inner-outer-454":[ 23527 [ 23528 [ 23529 1.2494, 23530 0.2375, 23531 -0.9892 23532 ], 23533 [ 23534 1.6427, 23535 0.3122, 23536 -1.3007 23537 ] 23538 ], 23539 { 23540 "attributes":{} 23541 } 23542 ], 23543 "inner-outer-455":[ 23544 [ 23545 [ 23546 0.9983, 23547 -1.2729, 23548 0.1841 23549 ], 23550 [ 23551 1.3126, 23552 -1.6737, 23553 0.2421 23554 ] 23555 ], 23556 { 23557 "attributes":{} 23558 } 23559 ], 23560 "inner-outer-456":[ 23561 [ 23562 [ 23563 0.6328, 23564 0.9511, 23565 -1.1454 23566 ], 23567 [ 23568 0.832, 23569 1.2505, 23570 -1.506 23571 ] 23572 ], 23573 { 23574 "attributes":{} 23575 } 23576 ], 23577 "inner-outer-457":[ 23578 [ 23579 [ 23580 -0.5412, 23581 0.5412, 23582 1.4231 23583 ], 23584 [ 23585 -0.7116, 23586 0.7116, 23587 1.8711 23588 ] 23589 ], 23590 { 23591 "attributes":{} 23592 } 23593 ], 23594 "inner-outer-458":[ 23595 [ 23596 [ 23597 1.1991, 23598 0.6907, 23599 -0.8396 23600 ], 23601 [ 23602 1.5766, 23603 0.9082, 23604 -1.1039 23605 ] 23606 ], 23607 { 23608 "attributes":{} 23609 } 23610 ], 23611 "inner-outer-459":[ 23612 [ 23613 [ 23614 -1.0355, 23615 -0.2228, 23616 1.2409 23617 ], 23618 [ 23619 -1.3615, 23620 -0.293, 23621 1.6316 23622 ] 23623 ], 23624 { 23625 "attributes":{} 23626 } 23627 ], 23628 "inner-outer-460":[ 23629 [ 23630 [ 23631 -1.2119, 23632 -0.6178, 23633 0.8695 23634 ], 23635 [ 23636 -1.5934, 23637 -0.8123, 23638 1.1432 23639 ] 23640 ], 23641 { 23642 "attributes":{} 23643 } 23644 ], 23645 "inner-outer-461":[ 23646 [ 23647 [ 23648 -0.7558, 23649 0.8434, 23650 1.1692 23651 ], 23652 [ 23653 -0.9937, 23654 1.1089, 23655 1.5373 23656 ] 23657 ], 23658 { 23659 "attributes":{} 23660 } 23661 ], 23662 "inner-outer-462":[ 23663 [ 23664 [ 23665 -0.8561, 23666 -0.0466, 23667 1.362 23668 ], 23669 [ 23670 -1.1256, 23671 -0.0613, 23672 1.7908 23673 ] 23674 ], 23675 { 23676 "attributes":{} 23677 } 23678 ], 23679 "inner-outer-463":[ 23680 [ 23681 [ 23682 0.1745, 23683 1.3932, 23684 -0.8123 23685 ], 23686 [ 23687 0.2294, 23688 1.8318, 23689 -1.068 23690 ] 23691 ], 23692 { 23693 "attributes":{} 23694 } 23695 ], 23696 "inner-outer-464":[ 23697 [ 23698 [ 23699 -0.8727, 23700 0.359, 23701 1.3333 23702 ], 23703 [ 23704 -1.1475, 23705 0.472, 23706 1.7531 23707 ] 23708 ], 23709 { 23710 "attributes":{} 23711 } 23712 ], 23713 "inner-outer-465":[ 23714 [ 23715 [ 23716 -0.1094, 23717 -1.2202, 23718 1.0551 23719 ], 23720 [ 23721 -0.1439, 23722 -1.6044, 23723 1.3873 23724 ] 23725 ], 23726 { 23727 "attributes":{} 23728 } 23729 ], 23730 "inner-outer-466":[ 23731 [ 23732 [ 23733 -0.8183, 23734 -0.8384, 23735 1.1108 23736 ], 23737 [ 23738 -1.0759, 23739 -1.1023, 23740 1.4605 23741 ] 23742 ], 23743 { 23744 "attributes":{} 23745 } 23746 ], 23747 "inner-outer-467":[ 23748 [ 23749 [ 23750 -0.3213, 23751 -0.0083, 23752 1.5825 23753 ], 23754 [ 23755 -0.4224, 23756 -0.0109, 23757 2.0807 23758 ] 23759 ], 23760 { 23761 "attributes":{} 23762 } 23763 ], 23764 "inner-outer-468":[ 23765 [ 23766 [ 23767 0.6454, 23768 0.9468, 23769 -1.1406 23770 ], 23771 [ 23772 0.8486, 23773 1.2449, 23774 -1.4997 23775 ] 23776 ], 23777 { 23778 "attributes":{} 23779 } 23780 ], 23781 "inner-outer-469":[ 23782 [ 23783 [ 23784 0.0459, 23785 1.3998, 23786 -0.8321 23787 ], 23788 [ 23789 0.0604, 23790 1.8405, 23791 -1.094 23792 ] 23793 ], 23794 { 23795 "attributes":{} 23796 } 23797 ], 23798 "inner-outer-470":[ 23799 [ 23800 [ 23801 -1.0588, 23802 -1.2082, 23803 -0.1469 23804 ], 23805 [ 23806 -1.3921, 23807 -1.5885, 23808 -0.1931 23809 ] 23810 ], 23811 { 23812 "attributes":{} 23813 } 23814 ], 23815 "inner-outer-471":[ 23816 [ 23817 [ 23818 -1.0453, 23819 0.7879, 23820 0.9531 23821 ], 23822 [ 23823 -1.3744, 23824 1.0359, 23825 1.2531 23826 ] 23827 ], 23828 { 23829 "attributes":{} 23830 } 23831 ], 23832 "inner-outer-472":[ 23833 [ 23834 [ 23835 -0.7791, 23836 -0.1147, 23837 1.4085 23838 ], 23839 [ 23840 -1.0244, 23841 -0.1508, 23842 1.8519 23843 ] 23844 ], 23845 { 23846 "attributes":{} 23847 } 23848 ], 23849 "inner-outer-473":[ 23850 [ 23851 [ 23852 0.7956, 23853 0.9403, 23854 -1.04 23855 ], 23856 [ 23857 1.046, 23858 1.2363, 23859 -1.3674 23860 ] 23861 ], 23862 { 23863 "attributes":{} 23864 } 23865 ], 23866 "inner-outer-474":[ 23867 [ 23868 [ 23869 0.2918, 23870 1.2381, 23871 -0.9913 23872 ], 23873 [ 23874 0.3837, 23875 1.6278, 23876 -1.3034 23877 ] 23878 ], 23879 { 23880 "attributes":{} 23881 } 23882 ], 23883 "inner-outer-475":[ 23884 [ 23885 [ 23886 0.8534, 23887 0.9775, 23888 -0.9623 23889 ], 23890 [ 23891 1.122, 23892 1.2852, 23893 -1.2653 23894 ] 23895 ], 23896 { 23897 "attributes":{} 23898 } 23899 ], 23900 "inner-outer-476":[ 23901 [ 23902 [ 23903 0.1323, 23904 0.7226, 23905 -1.4416 23906 ], 23907 [ 23908 0.174, 23909 0.9501, 23910 -1.8955 23911 ] 23912 ], 23913 { 23914 "attributes":{} 23915 } 23916 ], 23917 "inner-outer-477":[ 23918 [ 23919 [ 23920 -0.4046, 23921 0.3762, 23922 1.5329 23923 ], 23924 [ 23925 -0.532, 23926 0.4946, 23927 2.0155 23928 ] 23929 ], 23930 { 23931 "attributes":{} 23932 } 23933 ], 23934 "inner-outer-478":[ 23935 [ 23936 [ 23937 -1.2339, 23938 -0.8937, 23939 0.5296 23940 ], 23941 [ 23942 -1.6223, 23943 -1.1751, 23944 0.6963 23945 ] 23946 ], 23947 { 23948 "attributes":{} 23949 } 23950 ], 23951 "inner-outer-479":[ 23952 [ 23953 [ 23954 0.8002, 23955 0.5249, 23956 -1.2984 23957 ], 23958 [ 23959 1.0521, 23960 0.6901, 23961 -1.7072 23962 ] 23963 ], 23964 { 23965 "attributes":{} 23966 } 23967 ], 23968 "inner-outer-480":[ 23969 [ 23970 [ 23971 0.8673, 23972 0.2967, 23973 -1.3408 23974 ], 23975 [ 23976 1.1403, 23977 0.3901, 23978 -1.7629 23979 ] 23980 ], 23981 { 23982 "attributes":{} 23983 } 23984 ], 23985 "inner-outer-481":[ 23986 [ 23987 [ 23988 0.033, 23989 0.6399, 23990 -1.5087 23991 ], 23992 [ 23993 0.0435, 23994 0.8414, 23995 -1.9837 23996 ] 23997 ], 23998 { 23999 "attributes":{} 24000 } 24001 ], 24002 "inner-outer-482":[ 24003 [ 24004 [ 24005 0.3556, 24006 0.8291, 24007 -1.3399 24008 ], 24009 [ 24010 0.4675, 24011 1.0901, 24012 -1.7617 24013 ] 24014 ], 24015 { 24016 "attributes":{} 24017 } 24018 ], 24019 "inner-outer-483":[ 24020 [ 24021 [ 24022 -1.1044, 24023 0.6643, 24024 0.9809 24025 ], 24026 [ 24027 -1.4521, 24028 0.8735, 24029 1.2898 24030 ] 24031 ], 24032 { 24033 "attributes":{} 24034 } 24035 ], 24036 "inner-outer-484":[ 24037 [ 24038 [ 24039 0.0245, 24040 1.0682, 24041 -1.2454 24042 ], 24043 [ 24044 0.0322, 24045 1.4045, 24046 -1.6375 24047 ] 24048 ], 24049 { 24050 "attributes":{} 24051 } 24052 ], 24053 "inner-outer-485":[ 24054 [ 24055 [ 24056 0.6727, 24057 0.2893, 24058 -1.448 24059 ], 24060 [ 24061 0.8845, 24062 0.3803,
24063 -1.9039 24064 ] 24065 ], 24066 { 24067 "attributes":{} 24068 } 24069 ], 24070 "inner-outer-486":[ 24071 [ 24072 [ 24073 -0.6408, 24074 0.2238, 24075 1.4552 24076 ], 24077 [ 24078 -0.8426, 24079 0.2942, 24080 1.9133 24081 ] 24082 ], 24083 { 24084 "attributes":{} 24085 } 24086 ], 24087 "inner-outer-487":[ 24088 [ 24089 [ 24090 -0.6187, 24091 0.0453, 24092 1.4885 24093 ], 24094 [ 24095 -0.8135, 24096 0.0596, 24097 1.9571 24098 ] 24099 ], 24100 { 24101 "attributes":{} 24102 } 24103 ], 24104 "inner-outer-488":[ 24105 [ 24106 [ 24107 -0.8472, 24108 0.5783, 24109 1.2467 24110 ], 24111 [ 24112 -1.114, 24113 0.7604, 24114 1.6391 24115 ] 24116 ], 24117 { 24118 "attributes":{} 24119 } 24120 ], 24121 "inner-outer-489":[ 24122 [ 24123 [ 24124 0.8888, 24125 0.4612, 24126 -1.2726 24127 ], 24128 [ 24129 1.1686, 24130 0.6064, 24131 -1.6733 24132 ] 24133 ], 24134 { 24135 "attributes":{} 24136 } 24137 ], 24138 "inner-outer-490":[ 24139 [ 24140 [ 24141 -1.1457, 24142 -0.1284, 24143 1.1274 24144 ], 24145 [ 24146 -1.5064, 24147 -0.1688, 24148 1.4823 24149 ] 24150 ], 24151 { 24152 "attributes":{} 24153 } 24154 ], 24155 "inner-outer-491":[ 24156 [ 24157 [ 24158 -1.0472, 24159 0.7014, 24160 1.0074 24161 ], 24162 [ 24163 -1.3769, 24164 0.9222, 24165 1.3245 24166 ] 24167 ], 24168 { 24169 "attributes":{} 24170 } 24171 ], 24172 "inner-outer-492":[ 24173 [ 24174 [ 24175 0.2448, 24176 0.7938, 24177 -1.3796 24178 ], 24179 [ 24180 0.3219, 24181 1.0437, 24182 -1.8139 24183 ] 24184 ], 24185 { 24186 "attributes":{} 24187 } 24188 ], 24189 "inner-outer-493":[ 24190 [ 24191 [ 24192 -1.1812, 24193 0.0983, 24194 1.0861 24195 ], 24196 [ 24197 -1.5531, 24198 0.1293, 24199 1.428 24200 ] 24201 ], 24202 { 24203 "attributes":{} 24204 } 24205 ], 24206 "inner-outer-494":[ 24207 [ 24208 [ 24209 0.0961, 24210 0.4195, 24211 -1.5611 24212 ], 24213 [ 24214 0.1263, 24215 0.5515, 24216 -2.0525 24217 ] 24218 ], 24219 { 24220 "attributes":{} 24221 } 24222 ], 24223 "inner-outer-495":[ 24224 [ 24225 [ 24226 -0.9933, 24227 0.2365, 24228 1.2747 24229 ], 24230 [ 24231 -1.306, 24232 0.3109, 24233 1.676 24234 ] 24235 ], 24236 { 24237 "attributes":{} 24238 } 24239 ], 24240 "inner-outer-496":[ 24241 [ 24242 [ 24243 0.0337, 24244 1.047, 24245 -1.2571 24246 ], 24247 [ 24248 0.0443, 24249 1.3766, 24250 -1.6528 24251 ] 24252 ], 24253 { 24254 "attributes":{} 24255 } 24256 ], 24257 "inner-outer-497":[ 24258 [ 24259 [ 24260 0.1598, 24261 0.4521, 24262 -1.5463 24263 ], 24264 [ 24265 0.2101, 24266 0.5945, 24267 -2.0332 24268 ] 24269 ], 24270 { 24271 "attributes":{} 24272 } 24273 ], 24274 "inner-outer-498":[ 24275 [ 24276 [ 24277 0.2573, 24278 0.0926, 24279 -1.6002 24280 ], 24281 [ 24282 0.3383, 24283 0.1217, 24284 -2.104 24285 ] 24286 ], 24287 { 24288 "attributes":{} 24289 } 24290 ], 24291 "inner-outer-499":[ 24292 [ 24293 [ 24294 -1.0823, 24295 0.0332, 24296 1.1885 24297 ], 24298 [ 24299 -1.423, 24300 0.0437, 24301 1.5626 24302 ] 24303 ], 24304 { 24305 "attributes":{} 24306 } 24307 ], 24308 "inner-outer-500":[ 24309 [ 24310 [ 24311 -0.0229, 24312 0.9148, 24313 -1.3405 24314 ], 24315 [ 24316 -0.0301, 24317 1.2028, 24318 -1.7625 24319 ] 24320 ], 24321 { 24322 "attributes":{} 24323 } 24324 ], 24325 "hover-027":[ 24326 [ 24327 [ 24328 1.1146, 24329 -1.5526, 24330 -0.9456 24331 ], 24332 [ 24333 0.282, 24334 -1.4109, 24335 -1.5708 24336 ], 24337 [ 24338 0.7001, 24339 -0.8801, 24340 -1.8046 24341 ], 24342 [ 24343 0.0209, 24344 -0.9796, 24345 -1.8914 24346 ] 24347 ], 24348 { 24349 "attributes":{} 24350 } 24351 ], 24352 "hover-028":[ 24353 [ 24354 [ 24355 -1.4857, 24356 1.0597, 24357 -1.099 24358 ], 24359 [ 24360 -0.9311, 24361 1.8353, 24362 -0.55 24363 ], 24364 [ 24365 0.0244, 24366 1.9058, 24367 -0.9523 24368 ] 24369 ], 24370 { 24371 "attributes":{} 24372 } 24373 ], 24374 "hover-029":[ 24375 [ 24376 [ 24377 -0.0294, 24378 0.5959, 24379 -2.0443 24380 ], 24381 [ 24382 -0.0228, 24383 0.0107, 24384 -2.1307 24385 ], 24386 [ 24387 0.5871, 24388 0.8016, 24389 -1.8883 24390 ], 24391 [ 24392 0.0252, 24393 1.1029, 24394 -1.8213 24395 ] 24396 ], 24397 { 24398 "attributes":{} 24399 } 24400 ], 24401 "hover-030":[ 24402 [ 24403 [ 24404 1.2223, 24405 -0.7339, 24406 -1.5807 24407 ], 24408 [ 24409 1.4553, 24410 -0.1666, 24411 -1.5462 24412 ], 24413 [ 24414 1.7121, 24415 -0.5664, 24416 -1.136 24417 ] 24418 ], 24419 { 24420 "attributes":{} 24421 } 24422 ], 24423 "hover-031":[ 24424 [ 24425 [ 24426 0.5509, 24427 0.1811, 24428 -2.0536 24429 ], 24430 [ 24431 0.7001, 24432 -0.8801, 24433 -1.8046 24434 ], 24435 [ 24436 0.9346, 24437 -1.2864, 24438 -1.419 24439 ] 24440 ], 24441 { 24442 "attributes":{} 24443 } 24444 ] 24445 }, 24446 "empties":{}, 24447 "instances":{} 24448}`;var Ice=`#include <common> 24449#include <logdepthbuf_pars_vertex> 24450#include <clipping_planes_pars_vertex> 24451uniform float uLineWidth;uniform vec2 uResolution;attribute vec3 instanceStart;attribute vec3 instanceEnd;attribute vec3 instanceColorStart;attribute vec3 instanceColorEnd;varying float vVertIndex;attribute float instanceIndexStart;attribute float instanceIndexEnd;varying float vOffset;attribute float instanceOffsetStart;attribute float instanceOffsetEnd; 24452#ifdef WORLD_UNITS 24453varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 24454#endif 24455varying vec2 vUv;varying float vPositionY;attribute float instanceDistanceStart;attribute float instanceDistanceEnd;varying float vLineDistance;uniform float uTime;void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}vec4 rotationQuat(const in vec3 axis,const in float angle){vec3 axisNorm=normalize(axis);return vec4(axisNorm*sin(angle/2.0),cos(angle/2.0));}mat3 rotationMatrix(const in vec4 q){float x=q.x;float y=q.y;float z=q.z;float w=q.w;float x2=x+x;float y2=y+y;float z2=z+z;float xx=x*x2;float xy=x*y2;float xz=x*z2;float yy=y*y2;float yz=y*z2;float zz=z*z2;float wx=w*x2;float wy=w*y2;float wz=w*z2;return mat3(1.0-(yy+zz),xy+wz,xz-wy,xy-wz,1.0-(xx+zz),yz+wx,xz+wy,yz-wx,1.0-(xx+yy));}void main(){vUv=uv;vPositionY=position.y;vVertIndex=(position.y<0.5)? instanceIndexStart : instanceIndexEnd;vOffset=(position.y<0.5)? instanceOffsetStart : instanceOffsetEnd;vLineDistance=(position.y<0.5)? instanceDistanceStart : instanceDistanceEnd;float aspect=uResolution.x/uResolution.y;vec4 start=viewMatrix*modelMatrix*vec4(instanceStart,1.0);vec4 end=viewMatrix*modelMatrix*vec4(instanceEnd,1.0); 24456#ifdef WORLD_UNITS 24457worldStart=start.xyz;worldEnd=end.xyz; 24458#endif 24459bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir); 24460#ifdef WORLD_UNITS 24461vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=uLineWidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}vec4 clip=projectionMatrix*worldPos;
24461vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w; 24462#else 24463vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=uLineWidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset; 24464#endif 24465gl_Position=clip;vec4 mvPosition=(position.y<0.5)? start : end; 24466#include <logdepthbuf_vertex> 24467#include <clipping_planes_vertex> 24468}`,Pce=`#include <default_pars> 24469#include <logdepthbuf_pars_fragment> 24470#include <clipping_planes_pars_fragment> 24471uniform vec3 uBaseColor;uniform float uOpacity;uniform float uLineWidth;varying float vLineDistance;varying float vVertIndex;varying float vOffset; 24472#ifdef WORLD_UNITS 24473varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 24474#endif 24475varying vec2 vUv;varying float vPositionY;uniform float uAnimationTime;uniform float uHighlightPower;vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float easeOutExpo(float t){return 1.0-pow(2.0,-10.0*t);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeOutCubic(float t){return 1.0-pow(1.0-t,3.0);}float easeOutLinear(float t){return 1.0-t;}void main(){ 24476#include <clipping_planes_fragment> 24477float alpha=uOpacity; 24478#ifdef WORLD_UNITS 24479vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/uLineWidth; 24480#ifdef USE_ALPHA_TO_COVERAGE 24481float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm); 24482#else 24483if(norm>0.5){discard;} 24484#endif 24485#else 24486#ifdef USE_ALPHA_TO_COVERAGE 24487float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);} 24488#else 24489if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;} 24490#endif 24491#endif 24492#include <logdepthbuf_fragment> 24493gl_FragColor.a=alpha;gl_FragColor.rgb=uBaseColor*5.;float offset=vOffset*2.0;float revealSpeed=0.2;float repeatDelay=3.0+offset;float timeProgress=easeOutExpo(mod(uAnimationTime*revealSpeed,repeatDelay)-offset,6.0);float hideProgress=easeOutExpo(max(0.0,mod(uAnimationTime*revealSpeed,repeatDelay)-0.3-offset),4.0);float revealFactor=step(vVertIndex-0.05,timeProgress)-step(vVertIndex-0.05,hideProgress);float highlight=max(1.0-step(vVertIndex-0.05+0.3,map(timeProgress,0.0,1.0,0.0,1.2)),0.0);gl_FragColor.rgb+=pow(highlight,uHighlightPower)*0.5;if(max(0.0,revealFactor)<0.01)discard; 24494#include <tonemapping_fragment> 24495#include <colorspace_fragment> 24496#include <premultiplied_alpha_fragment> 24497}`;class Rce extends is{constructor(e={}){e=An({vertexShader:Ice,fragmentShader:Pce,uniforms:{uOpacity:{value:1,gui:{min:0,max:1,step:.1}}},defines:{WORLD_UNITS:!0},transparent:!0},e),super(e)}}class Bce extends uo(){constructor(e={}){e=An({name:"CryptoOrbLines",key:"inner-outer",speed:0,scrollResponsiveness:.5,scrollMaxSpeed:10},e),super(e),this.globalUniforms={uLineWidth:{value:.008,gui:{min:0,max:.1,step:.001}},uBaseColor:{value:new ke(15525854)},uHighlightPower:{value:2,gui:{min:1,max:5,step:.01}}},this.scrollSpeedMultiplier=1}build(e){const t=Object.keys(e.paths).filter(f=>f.startsWith(this.options.key));this.lineData=t.reduce((f,h)=>(f[h]=e.paths[h],f),{});const i=[],r=[],s=[];for(const f in this.lineData){const h=this.lineData[f][0],p=Math.random();for(let m=0;m<h.length-1;m++){const v=h[m],A=h[m+1];i.push(v[0],v[1],v[2]),i.push(A[0],A[1],A[2]),r.push(m/(h.length-1)),r.push((m+1)/(h.length-1)),s.push(p),s.push(p)}}const o=new Dd().setPositions(i),a=new Float32Array(r),l=new Yr(a,2,1);o.setAttribute("instanceIndexStart",new fn(l,1,0)),o.setAttribute("instanceIndexEnd",new fn(l,1,1));const c=new Float32Array(s),u=new Yr(c,2,1);o.setAttribute("instanceOffsetStart",new fn(u,1,0)),o.setAttribute("instanceOffsetEnd",new fn(u,1,1)),this.line=new ip(o,new Rce({uniforms:{uAnimationTime:{value:0},...this.globalUniforms}})),this.line.name=`CryptoLine-${this.options.key} / Line`,this.line.computeLineDistances(),this.line.scale.set(1,1,1),this.add(this.line),this.scene=this.parent}update(){this.updateScrollRotation(this.scene.scrollVelocity),this.line.rotation.y+=this.options.speed+this.scrollSpeedMultiplier,this.line.material.uniforms.uAnimationTime.value+=S.WebGL.normalizedDelta*.05}updateScrollRotation(e){this.scrollSpeedMultiplier=Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}stop(){this.line.material.uniforms.uAnimationTime.value=0}addGui(){S.theatre.helper.autoAddObject(this.line,this.parent.prettyName,{exclude:[...Object.keys(this.globalUniforms),"uAnimationTime"]});const e={},t=S.theatre.helper.autoAddUniforms(e,this.globalUniforms);S.theatre.helper.addSheetObject(this.parent.prettyName,`CryptoLine-${this.options.key} / Global`,e,this).onValuesChange(r=>{for(let s=0;s<t.length;s++)t[s](this,r)},S.theatre.rafDriver)}destroy(){super.destroy(),this.remove(this.line),this.parent.remove(this),this.line.geometry.dispose(),this.line.material.dispose(),this.scrollSpeedMultiplier=1}}var Dce=`#include <default_pars> 24498#include <logdepthbuf_pars_vertex> 24499#include <clipping_planes_pars_vertex> 24500uniform float uLineWidth;uniform vec2 uResolution;uniform float uFresnelAmount;uniform float uFresnelOffset;uniform float uFresnelFalloff;varying float vFresnelFade;attribute vec3 instanceStart;attribute vec3 instanceEnd;attribute vec3 instanceColorStart;attribute vec3 instanceColorEnd;varying float vVertIndex;attribute float instanceIndexStart;attribute float instanceIndexEnd;varying float vRandom;varying float vRandomIndex;attribute float instanceRandomIndexStart;attribute float instanceRandomIndexEnd;varying float vOffset;attribute float instanceOffsetStart;attribute float instanceOffsetEnd; 24501#ifdef WORLD_UNITS 24502varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 24503#endif 24504varying vec2 vUv;varying float vPositionY;attribute float instanceDistanceStart;attribute float instanceDistanceEnd;varying float vLineDistance;uniform float uTime;void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}vec4 rotationQuat(const in vec3 axis,const in float angle){vec3 axisNorm=normalize(axis);return vec4(axisNorm*sin(angle/2.0),cos(angle/2.0));}mat3 rotationMatrix(const in vec4 q){float x=q.x;float y=q.y;float z=q.z;float w=q.w;float x2=x+x;float y2=y+y;float z2=z+z;float xx=x*x2;float xy=x*y2;float xz=x*z2;float yy=y*y2;float yz=y*z2;float zz=z*z2;float wx=w*x2;float wy=w*y2;float wz=w*z2;return mat3(1.0-(yy+zz),xy+wz,xz-wy,xy-wz,1.0-(xx+zz),yz+wx,xz+wy,yz-wx,1.0-(xx+yy));}float rand(float p){return fract(sin(p)*43758.5453123);}float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}void main(){vUv=uv;vPositionY=position.y;vVertIndex=(position.y<0.5)? instanceIndexStart : instanceIndexEnd;vOffset=(position.y<0.5)? instanceOffsetStart : instanceOffsetEnd;vRandom=map(rand(vOffset+instanceStart.x+instanceStart.y),0.0,1.0,0.05,0.5);vRandomIndex=(position.y<0.5)? instanceRandomIndexStart : instanceRandomIndexEnd;vLineDistance=(position.y<0.5)? instanceDistanceStart : instanceDistanceEnd;float aspect=uResolution.x/uResolution.y;vec4 start=viewMatrix*modelMatrix*vec4(instanceStart,1.0);vec4 end=viewMatrix*modelMatrix*vec4(instanceEnd,1.0); 24505#ifdef WORLD_UNITS 24506worldStart=start.xyz;worldEnd=end.xyz; 24507#endif 24508bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir); 24509#ifdef WORLD_UNITS 24510vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=uLineWidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}vec4 clip=projectionMatrix*worldPos;
24510vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w; 24511#else 24512vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=uLineWidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset; 24513#endif 24514gl_Position=clip;vec3 viewDir=-worldPos.xyz;vec3 fakePos=(position.y<0.5)? instanceStart : instanceEnd;vec3 fakeNormal=normalize(modelMatrix*vec4(normalize(fakePos),1.0)).rgb;float fresnel=max(0.0,1.0-fresnelFunc(uFresnelAmount,uFresnelOffset,uFresnelFalloff,fakeNormal,viewDir));vFresnelFade=fresnel;vec4 mvPosition=(position.y<0.5)? start : end; 24515#include <logdepthbuf_vertex> 24516#include <clipping_planes_vertex> 24517}`,Lce=`#include <default_pars> 24518#include <logdepthbuf_pars_fragment> 24519#include <clipping_planes_pars_fragment> 24520uniform vec3 uBaseColor;uniform vec3 uExtraColor;uniform float uTheatreTime;uniform float uTimeProgress;uniform float uHighlightPower;uniform float uHighlightLength;uniform float uOpacity;uniform float uLineWidth;varying float vRandom;varying float vRandomIndex;varying float vLineDistance;varying float vVertIndex;varying float vOffset;varying float vFresnelFade; 24521#ifdef WORLD_UNITS 24522varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 24523#endif 24524varying vec2 vUv;varying float vPositionY;vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float easeOutExpo(float t){return 1.0-pow(2.0,-10.0*t);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeOutCubic(float t){return 1.0-pow(1.0-t,3.0);}float easeOutLinear(float t){return 1.0-t;}float easeInExpo(float t,float power){return pow(2.0,power*(t-1.0));}float rand(const in float n){return fract(sin(n)*43758.5453123);}void main(){ 24525#include <clipping_planes_fragment> 24526float alpha=uOpacity; 24527#ifdef WORLD_UNITS 24528vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/uLineWidth; 24529#ifdef USE_ALPHA_TO_COVERAGE 24530float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm); 24531#else 24532if(norm>0.5){discard;} 24533#endif 24534#else 24535#ifdef USE_ALPHA_TO_COVERAGE 24536float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);} 24537#else 24538if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;} 24539#endif 24540#endif 24541#include <logdepthbuf_fragment> 24542gl_FragColor.a=alpha*vFresnelFade;gl_FragColor.rgb=uBaseColor*5.;float offset=vOffset; 24543#ifdef EXTRA_LINES 24544float mappedTimeProgress=smoothstep(offset*vRandom,offset,uTimeProgress); 24545#else 24546float mappedTimeProgress=smoothstep(offset-vRandom,offset,uTimeProgress); 24547#endif 24548float revealFactor=max(0.0,step(vVertIndex,mappedTimeProgress)); 24549#ifndef EXTRA_LINES 24550float time=uTheatreTime*1.0;float phase=5.0;float modTime=mod(max(0.0,time-offset-vRandomIndex*phase),phase)/phase;float randomStart=0.1;float revealDuration=0.2;float mapRevealTime=smoothstep(randomStart,randomStart+revealDuration,modTime);float mapHideTime=smoothstep((randomStart+revealDuration),(randomStart+revealDuration)+revealDuration,modTime);float smoothness=0.3;float remappedGrowthFactor=map(mapRevealTime,0.0,1.0,0.0,1.0+smoothness);float remappedShrinkFactor=map(mapHideTime,0.0,1.0,0.0,1.0+smoothness);float extraColorFactor=max(0.0,(1.0-smoothstep(remappedGrowthFactor-smoothness,remappedGrowthFactor,vVertIndex))*smoothstep(remappedShrinkFactor-smoothness,remappedShrinkFactor,vVertIndex));gl_FragColor.rgb=mix(gl_FragColor.rgb,uExtraColor*5.0,extraColorFactor); 24551#endif 24552float highlight=max(1.0-step(vVertIndex+uHighlightLength,map(mappedTimeProgress,0.0,1.0,0.0,1.2)),0.0);gl_FragColor.rgb+=pow(highlight,uHighlightPower)*0.5;if(revealFactor<0.001)discard; 24553#include <tonemapping_fragment> 24554#include <colorspace_fragment> 24555#include <premultiplied_alpha_fragment> 24556}`;class Oce extends is{constructor(e={}){e=An({vertexShader:Dce,fragmentShader:Lce,uniforms:{uOpacity:{value:1,gui:{min:0,max:1,step:.1}}},defines:{EXTRA_LINES:!1,WORLD_UNITS:!0},transparent:!0,depthTest:!1},e),super(e)}}class Fce extends uo(){constructor(e={}){e=An({name:"Electric-branches",key:"electric",speed:0,scrollResponsiveness:.5,scrollMaxSpeed:10},e),super(e),this.globalUniforms={uLineWidth:{value:.008,gui:{min:0,max:.1,step:.001}},uBaseColor:{value:new ke(15855337)},uExtraColor:{value:new ke(0)},uTheatreTime:{value:0}
24556,uTimeProgress:{value:0,gui:{min:0,max:1,step:.01}},uHighlightPower:{value:2,gui:{min:1,max:5,step:.01}},uHighlightLength:{value:.3,gui:{min:0,max:1,step:.01}},uFresnelAmount:{value:1,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.01,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:.1,gui:{min:0,max:100,step:.01}}},this.getOffsetFunction=this.getNameOffset,this.options.key==="extended"&&(this.getOffsetFunction=this.getRandomOffset),this.scrollSpeedMultiplier=1}getNameOffset(){return gn.mapLinear(Math.random(),0,1,.5,1)}getRandomOffset(e){return gn.mapLinear(gn.seededRandom(e.split("-")[0].split("extended")[1]+45468),0,1,.2,1)}build(e){this.lineData=Object.keys(e.paths).filter(p=>p.startsWith(this.options.key)).reduce((p,m)=>(p[m]=e.paths[m],p),{});const t=[],i=[],r=[],s=[];for(const p in this.lineData){const m=this.lineData[p][0],v=this.getOffsetFunction(p);for(let A=0;A<m.length-1;A++){const y=m[A],x=m[A+1];t.push(y[0],y[1],y[2]),t.push(x[0],x[1],x[2]),i.push(A/(m.length-1)),i.push((A+1)/(m.length-1)),r.push(v),r.push(v);const b=gn.seededRandom(this.lineData[p][1].attributes.index||0);s.push(b),s.push(b)}}const o=new Dd().setPositions(t),a=new Float32Array(i),l=new Yr(a,2,1);o.setAttribute("instanceIndexStart",new fn(l,1,0)),o.setAttribute("instanceIndexEnd",new fn(l,1,1));const c=new Float32Array(r),u=new Yr(c,2,1);o.setAttribute("instanceOffsetStart",new fn(u,1,0)),o.setAttribute("instanceOffsetEnd",new fn(u,1,1));const f=new Float32Array(s),h=new Yr(f,2,1);o.setAttribute("instanceRandomIndexStart",new fn(h,1,0)),o.setAttribute("instanceRandomIndexEnd",new fn(h,1,1)),this.line=new ip(o,new Oce({uniforms:{...this.globalUniforms},defines:{EXTRA_LINES:this.options.key==="extended"}})),this.line.name=`${this.options.name} / Line`,this.line.computeLineDistances(),this.line.scale.set(1,1,1),this.add(this.line),this.scene=this.parent}update(){this.updateScrollRotation(this.scene.scrollVelocity),this.line.rotation.y+=this.options.speed+this.scrollSpeedMultiplier,this.globalUniforms.uTheatreTime.value=S.theatre.sheets.CryptoOrb.sequence.position}updateScrollRotation(e){this.scrollSpeedMultiplier=Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}addGui(){S.theatre.helper.autoAddObject(this.line,this.parent.prettyName,{exclude:["uTheatreTime",...Object.keys(this.globalUniforms)]});const e={},t=S.theatre.helper.autoAddUniforms(e,this.globalUniforms,["uTheatreTime"]);S.theatre.helper.addSheetObject(this.parent.prettyName,`${this.options.name} / Global`,e,this).onValuesChange(r=>{for(let s=0;s<t.length;s++)t[s](this,r)},S.theatre.rafDriver)}destroy(){super.destroy(),this.remove(this.line),this.line.geometry.dispose(),this.line.material.dispose(),this.parent.remove(this),this.scrollSpeedMultiplier=1}}var Uce=`#include <default_pars> 24557#include <packing> 24558attribute vec3 aRandom;attribute float aScale;attribute vec2 aFboUv;varying vec2 vUv;uniform sampler2D tPosition;uniform float uTime;uniform float uParticleSize;varying vec3 vViewPosition;varying vec3 vNormal;varying vec4 vWorldPosition;varying vec3 vRandom; 24559#ifdef DEPTH_PACKING 24560varying vec2 vHighPrecisionZW; 24561#endif 24562void main(){vUv=uv;vRandom=aRandom;vec4 particlePosition=texture2D(tPosition,aFboUv);vec4 transformedPosition=vec4(position,1.0);vec3 up=vec3(modelViewMatrix[0][1],modelViewMatrix[1][1],modelViewMatrix[2][1]);vec3 right=vec3(modelViewMatrix[0][0],modelViewMatrix[1][0],modelViewMatrix[2][0]);transformedPosition.xyz=right*transformedPosition.x+up*transformedPosition.y; 24563#ifdef USE_INSTANCING 24564transformedPosition=instanceMatrix*transformedPosition; 24565#endif 24566float scale=uParticleSize*aScale;transformedPosition.xyz*=scale;transformedPosition.xyz+=particlePosition.xyz;vec4 worldPosition=modelMatrix*transformedPosition;vWorldPosition=worldPosition;mat3 normalMatrixInverse=inverse(mat3(normalMatrix));vec3 transformedNormal=normal; 24567#ifdef USE_INSTANCING 24568mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal; 24569#endif 24570transformedNormal=normalMatrix*normal;vNormal=normalize(transformedNormal);vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;vViewPosition=-mvPosition.xyz; 24571#ifdef DEPTH_PACKING 24572vHighPrecisionZW=gl_Position.zw; 24573#endif 24574}`,Nce=`#include <default_pars> 24575#include <default_frag_pars> 24576#include <packing> 24577uniform sampler2D tMatcap;uniform float uMatcapBlend;uniform int uMatcapBlendMode;varying vec3 vRandom;varying vec3 vRandomAttributes;varying vec2 vUv;varying float vLife;varying float vSplineIndex;varying vec3 vViewPosition;varying vec3 vNormal;varying vec4 vWorldPosition;uniform vec3 uBaseColor;uniform float uOpacity; 24578#ifdef DEPTH_PACKING 24579varying vec2 vHighPrecisionZW; 24580#endif 24581void main(){float alpha=1.0-step(0.9,2.0*length(vUv-0.5));if(alpha<0.5)discard; 24582#ifdef DEPTH_PACKING
24583gl_FragColor=vec4(vec3(1.),1.0); 24584#else 24585vec3 randoms=vec3(map(vRandom.x,0.,1.,0.9,1.0),map(vRandom.y,0.,1.,0.2,1.8),map(vRandom.z,0.,1.,0.2,1.8));vec3 color=uBaseColor;color.rgb*=randoms.x;gl_FragColor=vec4(color*10.,uOpacity); 24586#ifdef USE_MATCAP 24587vec3 normal=normalize(vNormal);vec3 viewDir=normalize(vViewPosition);vec3 x=normalize(vec3(viewDir.z,0.0,-viewDir.x));vec3 y=cross(viewDir,x);vec2 uv=vec2(dot(x,normal),dot(y,normal))*0.495+0.5;vec4 matcapColor=texture2D(tMatcap,uv);if(uMatcapBlendMode==0){gl_FragColor.rgb=blendSoftLight(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==1){gl_FragColor.rgb=blendLinearLight(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==2){gl_FragColor.rgb=blendLighten(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==3){gl_FragColor.rgb=blendOverlay(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==4){gl_FragColor.rgb=blendAdd(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else{gl_FragColor.rgb=blendMultiply(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);} 24588#endif 24589#endif 24590#ifdef DEPTH_PACKING 24591float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=packDepthToRGBA(fragCoordZ); 24592#endif 24593#include <tonemapping_fragment> 24594#include <colorspace_fragment> 24595}`;class kce extends is{constructor(e={}){e=An({vertexShader:Uce,fragmentShader:Nce,uniforms:{tPosition:{value:null},uBaseColor:{value:new ke(14154239)},uParticleSize:{value:.25,gui:{step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}}},defines:{DEPTH_PACKING:!1},side:Io,depthTest:!1,transparent:!0},e),super(e)}}var zce=`#include <default_pars> 24596varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform float uRotationSpeed;uniform float uRadius;uniform float uCurlSize;uniform float uCurlNoiseSpeed;uniform float uCurlStrength;uniform float uLerpSpeed;uniform sampler2D tFluidSim;uniform float uFluidStrength;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform bool uCurl;uniform float uSetup;vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}float mod289(float x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}float permute(float x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float taylorInvSqrt(float r){return 1.79284291400159-0.85373472095314*r;}vec4 grad4(float j,vec4 ip){const vec4 ones=vec4(1.0,1.0,1.0,-1.0);vec4 p,s;p.xyz=floor(fract(vec3(j)*ip.xyz)*7.0)*ip.z-1.0;p.w=1.5-dot(abs(p.xyz),ones.xyz);s=vec4(lessThan(p,vec4(0.0)));p.xyz=p.xyz+(s.xyz*2.0-1.0)*s.www;return p;} 24597#define F4 0.309016994374947451 24598vec4 snoise4(vec4 v){const vec4 C=vec4(0.138196601125011,0.276393202250021,0.414589803375032,-0.447213595499958);vec4 i=floor(v+dot(v,vec4(F4)));vec4 x0=v-i+dot(i,C.xxxx);vec4 i0;vec3 isX=step(x0.yzw,x0.xxx);vec3 isYZ=step(x0.zww,x0.yyz);i0.x=isX.x+isX.y+isX.z;i0.yzw=1.0-isX;i0.y+=isYZ.x+isYZ.y;i0.zw+=1.0-isYZ.xy;i0.z+=isYZ.z;i0.w+=1.0-isYZ.z;vec4 i3=clamp(i0,0.0,1.0);vec4 i2=clamp(i0-1.0,0.0,1.0);vec4 i1=clamp(i0-2.0,0.0,1.0);vec4 x1=x0-i1+C.xxxx;vec4 x2=x0-i2+C.yyyy;vec4 x3=x0-i3+C.zzzz;vec4 x4=x0+C.wwww;i=mod289(i);float j0=permute(permute(permute(permute(i.w)+i.z)+i.y)+i.x);vec4 j1=permute(permute(permute(permute(i.w+vec4(i1.w,i2.w,i3.w,1.0))+i.z+vec4(i1.z,i2.z,i3.z,1.0))+i.y+vec4(i1.y,i2.y,i3.y,1.0))+i.x+vec4(i1.x,i2.x,i3.x,1.0));vec4 ip=vec4(1.0/294.0,1.0/49.0,1.0/7.0,0.0);vec4 p0=grad4(j0,ip);vec4 p1=grad4(j1.x,ip);vec4 p2=grad4(j1.y,ip);vec4 p3=grad4(j1.z,ip);vec4 p4=grad4(j1.w,ip);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;p4*=taylorInvSqrt(dot(p4,p4));vec3 values0=vec3(dot(p0,x0),dot(p1,x1),dot(p2,x2));vec2 values1=vec2(dot(p3,x3),dot(p4,x4));vec3 m0=max(0.5-vec3(dot(x0,x0),dot(x1,x1),dot(x2,x2)),0.0);vec2 m1=max(0.5-vec2(dot(x3,x3),dot(x4,x4)),0.0);vec3 temp0=-6.0*m0*m0*values0;vec2 temp1=-6.0*m1*m1*values1;vec3 mmm0=m0*m0*m0;vec2 mmm1=m1*m1*m1;float dx=temp0[0]*x0.x+temp0[1]*x1.x+temp0[2]*x2.x+temp1[0]*x3.x+temp1[1]*x4.x+mmm0[0]*p0.x+mmm0[1]*p1.x+mmm0[2]*p2.x+mmm1[0]*p3.x+mmm1[1]*p4.x;float dy=temp0[0]*x0.y+temp0[1]*x1.y+temp0[2]*x2.y+temp1[0]*x3.y+temp1[1]*x4.y+mmm0[0]*p0.y+mmm0[1]*p1.y+mmm0[2]*p2.y+mmm1[0]*p3.y+mmm1[1]*p4.y;float dz=temp0[0]*x0.z+temp0[1]*x1.z+temp0[2]*x2.z+temp1[0]*x3.z+temp1[1]*x4.z+mmm0[0]*p0.z+mmm0[1]*p1.z+mmm0[2]*p2.z+mmm1[0]*p3.z+mmm1[1]*p4.z;float dw=temp0[0]*x0.w+temp0[1]*x1.w+temp0[2]*x2.w+temp1[0]*x3.w+temp1[1]*x4.w+mmm0[0]*p0.w+mmm0[1]*p1.w+mmm0[2]*p2.w+mmm1[0]*p3.w+mmm1[1]*p4.w;return vec4(dx,dy,dz,dw)*49.0;}vec3 curl(in vec3 p,in float noiseTime,in float persistence){vec4 xNoisePotentialDerivatives=vec4(0.0);vec4 yNoisePotentialDerivatives=vec4(0.0);vec4 zNoisePotentialDerivatives=vec4(0.0);for(int i=0;i<3;++i){float twoPowI=pow(2.0,float(i));float scale=0.5*twoPowI*pow(persistence,float(i));xNoisePotentialDerivatives+=snoise4(vec4(p*twoPowI,noiseTime))*scale;yNoisePotentialDerivatives+=snoise4(vec4((p+vec3(123.4,129845.6,-1239.1))*twoPowI,noiseTime))*scale;zNoisePotentialDerivatives+=snoise4(vec4((p+vec3(-9519.0,9051.0,-123.0))*twoPowI,noiseTime))*scale;}return vec3(zNoisePotentialDerivatives[1]-yNoisePotentialDerivatives[2],xNoisePotentialDerivatives[2]-zNoisePotentialDerivatives[0],yNoisePotentialDerivatives[0]-xNoisePotentialDerivatives[1]);}float range(float oldValue,float oldMin,float oldMax,float newMin,float newMax){float oldRange=oldMax-oldMin;float newRange=newMax-newMin;return(((oldValue-oldMin)*newRange)/oldRange)+newMin;}vec2 range(vec2 oldValue,vec2 oldMin,vec2 oldMax,vec2 newMin,vec2 newMax){vec2 v;v.x=range(oldValue.x,oldMin.x,oldMax.x,newMin.x,newMax.x);v.y=range(oldValue.y,oldMin.y,oldMax.y,newMin.y,newMax.y);return v;}vec3 range(vec3 oldValue,vec3 oldMin,vec3 oldMax,vec3 newMin,vec3 newMax){vec3 v;v.x=range(oldValue.x,oldMin.x,oldMax.x,newMin.x,newMax.x);v.y=range(oldValue.y,oldMin.y,oldMax.y,newMin.y,newMax.y);v.z=range(oldValue.z,oldMin.z,oldMax.z,newMin.z,newMax.z);return v;}float scnoise(vec3 v){float t=v.z*0.3;v.y*=0.8;float noise=0.0;float s=0.5;noise+=range(sin(v.x*0.9/s+t*10.0)+sin(v.x*2.4/s+t*15.0)+sin(v.x*-3.5/s+t*4.0)+sin(v.x*-2.5/s+t*7.1),-1.0,1.0,-0.3,0.3);noise+=range(sin(v.y*-0.3/s+t*18.0)+sin(v.y*1.6/s+t*18.0)+sin(v.y*2.6/s+t*8.0)+sin(v.y*-2.6/s+t*4.5),-1.0,1.0,-0.3,0.3);return noise;}mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}void main(){vec2 uv=vUv;mat3 rotation3D=rotate3D(uRotationSpeed*uTime,vec3(0.0,1.0,0.0));vec4 originalPosFetch=texture2D(tOriginalTexture,uv);vec3 offsets=originalPosFetch.xyz;float staticParticle=originalPosFetch.w;vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;vec3 target;target+=offsets*1.0;target=rotation3D*target;if(uCurl&&staticParticle<0.5){target+=curl(currentPos*uCurlSize,uTime*uCurlNoiseSpeed,0.1+(1.0-(vUv.y+vUv.x)*0.5)*0.1)*uCurlStrength;}vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(currentPos,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;vec3 fluidDisplacement=vec3(0.);fluidDisplacement=texture2D(tFluidSim,screenPos).rgb;fluidDisplacement.z*=-1.+1.;target+=fluidDisplacement*uFluidStrength;if(uSetup>0.5){currentPos=target;}currentPos+=(target-currentPos)*uLerpSpeed*uNormalizedDelta;gl_FragColor=vec4(currentPos,staticParticle);}`;class c6 extends uo(){constructor(e={}){e=An({name:"CryptoOrbParticleSpheres",key:"inner",outerRadius:2,innerRadius:1,textureWidth:32,maxParticleCount:32*32,planeScale:.1,scene:null,scrollResponsiveness:1e-5,scrollMaxSpeed:.1},e),super(e),this._textureWidth=this.options.textureWidth,this.PARTICLE_COUNT=this._textureWidth*this._textureWidth,this.ACTIVE_PARTICLE_COUNT=this.PARTICLE_COUNT>this.options.maxParticleCount?this.options.maxParticleCount:this.PARTICLE_COUNT,this.sizeRange=[.5,
245981],this.scrollSpeedMultiplier=0}build(){this.numOfStaticParticles=this.assets.models.sphere.geometry.attributes.position.count,this.positionSim=new Qr({fragmentShader:zce,width:this._textureWidth,height:this._textureWidth,uniforms:{uSetup:{value:1},uLerpSpeed:{value:.2,gui:{min:0,max:1,step:.001}},uCurl:{value:!0},uCurlSize:{value:.5,gui:{min:0,max:2,step:.01}},uCurlNoiseSpeed:{value:.3,gui:{min:0,max:2,step:.01}},uCurlStrength:{value:.03,gui:{min:0,max:2,step:.001}},uRotationSpeed:{value:.05,gui:{step:.001}},tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.options.scene.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.options.scene.activeCamera.projectionMatrix}},createTexture:!0,data:this.createParticlePositionData(),type:Zt}),this.positionSim.uniforms.uSetup.value=0,this.mesh=new Tp(new lo(this.options.planeScale,this.options.planeScale),new kce,this.ACTIVE_PARTICLE_COUNT),this.add(this.mesh);const e=[],t=new Float32Array(this.ACTIVE_PARTICLE_COUNT),i=new Wt;for(let r=0;r<this.ACTIVE_PARTICLE_COUNT;r++)i.updateMatrix(),this.mesh.setMatrixAt(r,i.matrix),e.push(Math.random(),Math.random(),Math.random()),t[r]=gn.randFloat(this.sizeRange[0],this.sizeRange[1]);this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(e),3)),this.mesh.geometry.setAttribute("aScale",new Ro(t,1)),this.mesh.updateMatrix(),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld}createParticlePositionData(){const e=new Float32Array(this._textureWidth*this._textureWidth*4),t=this.assets.models.sphere.geometry.attributes.position.array,i=this.options.key==="inner"?this.options.innerRadius:this.options.outerRadius;for(let r=0,s=this._textureWidth*this._textureWidth*4;r<s;r+=4)if(r/4<this.numOfStaticParticles)e[r]=t[r/4*3+0],e[r+1]=t[r/4*3+1],e[r+2]=t[r/4*3+2],e[r+3]=1;else{const a=Math.random(),l=Math.random(),c=2*Math.PI*a,u=Math.acos(2*l-1);e[r]=Math.sin(u)*Math.cos(c)*i,e[r+1]=Math.sin(u)*Math.sin(c)*i,e[r+2]=Math.cos(u)*i,e[r+3]=0}return e}update(){this.positionSim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.positionSim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.positionSim.uniforms.uViewM
24598atrix.value.copy(this.options.scene.activeCamera.matrixWorldInverse),this.positionSim.uniforms.uProjectionMatrix.value.copy(this.options.scene.activeCamera.projectionMatrix),this.updateScrollRotation(this.options.scene.scrollVelocity),this.positionSim.update(),this.mesh.material.uniforms.tPosition.value=this.positionSim.texture,this.mesh.rotation.y+=1*this.scrollSpeedMultiplier}updateScrollRotation(e){this.scrollSpeedMultiplier=0+Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}addGui(){const e={visible:this.mesh.visible,count:Te.types.number(this.mesh.count,{label:"Particle Count",nudgeMultiplier:1,range:[0,this.ACTIVE_PARTICLE_COUNT]}),material:{},simulation:{}},t=[],i=["uSetup","uTexelSize","uSpeedMultiplier"],r=S.theatre.helper.autoAddUniforms(e.material,this.mesh.material.uniforms,t),s=S.theatre.helper.autoAddUniforms(e.simulation,this.positionSim.uniforms,i);S.theatre.helper.addSheetObject(this.parent.prettyName,`${this.options.name} / ${this.options.key}`,e,this).onValuesChange(a=>{for(let l=0;l<r.length;l++)r[l](this,a.material);for(let l=0;l<s.length;l++)s[l](this,a.simulation);this.mesh.visible=a.visible,this.mesh.count=a.count},S.theatre.rafDriver)}load(){S.AssetLoader.loadGltf(`/webgl/models/crypto-${this.options.key}-sphere-points.glb`).then(e=>{this.assets.models.sphere=e.scene.children[0]})}destroy(){var e;this.positionSim.destroy(),this.mesh.geometry.dispose(),this.mesh.material.dispose(),this.remove(this.mesh),this.parent.remove(this),this.assets.models.sphere.geometry.dispose(),(e=this.assets.models.sphere.material)==null||e.dispose(),this.scrollSpeedMultiplier=0}}class Hce extends co{constructor(t={}){t=An({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,attenuationDistance:200},customUniforms:{uFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}}},backgroundSavePass:null},t);super(t.materialOpts);he(this,"onBeforeCompile",t=>{Object.assign(t.uniforms,{...this.customUniforms,tBackgroundPass:{value:this.backgroundSavePass.renderTarget.texture}}),t.vertexShader=t.vertexShader.replace("#include <normal_pars_vertex>",` 24599 #include <normal_pars_vertex> 24600 varying vec3 vView; 24601 varying vec3 vNormalFresnel; 24602 `),t.vertexShader=t.vertexShader.replace("#include <worldpos_vertex>",` 24603 #include <worldpos_vertex> 24604 vView = normalize(cameraPosition - worldPosition.xyz); // view direction in object space 24605 vNormalFresnel = normalize((modelMatrix * vec4(normal, 0.0)).xyz); // normalized object space normals 24606 `),t.fragmentShader=t.fragmentShader.replace("#include <roughnessmap_pars_fragment>",` 24607 #include <roughnessmap_pars_fragment> 24608 24609 uniform float uFresnelAmount; 24610 uniform float uFresnelOffset; 24611 uniform float uFresnelFalloff; 24612 varying vec3 vView; 24613 varying vec3 vNormalFresnel; 24614 24615 float fresnelFunc(float amount, float offset, float falloff, vec3 normal, vec3 view) { 24616 return clamp(offset + (1.0 - offset) * pow(1.0 - dot(normal, view), amount) * falloff, 0., 1.); 24617 } 24618 `),t.fragmentShader=t.fragmentShader.replace("#include <normal_fragment_begin>",` 24619 #include <normal_fragment_begin> 24620 vec3 viewDir = normalize(vView); 24621 float fresnel = fresnelFunc(uFresnelAmount, uFresnelOffset, uFresnelFalloff, normalize(vNormalFresnel), viewDir); 24622 roughnessFactor *= fresnel; 24623 `),t.fragmentShader=t.fragmentShader.replace("#include <transmission_pars_fragment>",` 24624 uniform sampler2D tBackgroundPass; 24625 24626 uniform float transmission; 24627 uniform float thickness; 24628 uniform float attenuationDistance; 24629 uniform vec3 attenuationColor; 24630 #ifdef USE_TRANSMISSIONMAP 24631 uniform sampler2D transmissionMap; 24632 #endif 24633 #ifdef USE_THICKNESSMAP 24634 uniform sampler2D thicknessMap; 24635 #endif 24636 uniform vec2 transmissionSamplerSize; 24637 uniform sampler2D transmissionSamplerMap; 24638 uniform mat4 modelMatrix; 24639 uniform mat4 projectionMatrix; 24640 varying vec3 vWorldPosition; 24641 float w0( float a ) { 24642 return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); 24643 } 24644 float w1( float a ) { 24645 return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); 24646 } 24647 float w2( float a ) { 24648 return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); 24649 } 24650 float w3( float a ) { 24651 return ( 1.0 / 6.0 ) * ( a * a * a ); 24652 } 24653 float g0( float a ) { 24654 return w0( a ) + w1( a ); 24655 } 24656 float g1( float a ) { 24657 return w2( a ) + w3( a ); 24658 } 24659 float h0( float a ) { 24660 return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); 24661 } 24662 float h1( float a ) { 24663 return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); 24664 } 24665 vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { 24666 uv = uv * texelSize.zw + 0.5; 24667 vec2 iuv = floor( uv ); 24668 vec2 fuv = fract( uv ); 24669 float g0x = g0( fuv.x ); 24670 float g1x = g1( fuv.x ); 24671 float h0x = h0( fuv.x ); 24672 float h1x = h1( fuv.x ); 24673 float h0y = h0( fuv.y ); 24674 float h1y = h1( fuv.y ); 24675 vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 24676 vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 24677 vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 24678 vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 24679 return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + 24680 g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); 24681 } 24682 vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { 24683 vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); 24684 vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); 24685 vec2 fLodSizeInv = 1.0 / fLodSize; 24686 vec2 cLodSizeInv = 1.0 / cLodSize; 24687 vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); 24688 vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); 24689 return mix( fSample, cSample, fract( lod ) ); 24690 } 24691 vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { 24692 vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); 24693 vec3 modelScale; 24694 modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); 24695 modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); 24696 modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); 24697 return normalize( refractionVector ) * thickness * modelScale; 24698 } 24699 float applyIorToRoughness( const in float roughness, const in float ior ) { 24700 return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); 24701 } 24702 vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { 24703 float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );
24704 return textureBicubic( tBackgroundPass, fragCoord.xy, lod ); 24705 } 24706 vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { 24707 if ( isinf( attenuationDistance ) ) { 24708 return vec3( 1.0 ); 24709 } 24710 else { 24711 vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; 24712 vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); 24713 return transmittance; 24714 } 24715 24716 } 24717 vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, const in vec3 attenuationColor, const in float attenuationDistance ) { 24718 vec4 transmittedLight; 24719 vec3 transmittance; 24720 #ifdef USE_DISPERSION 24721 float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; 24722 vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); 24723 for ( int i = 0; i < 3; i ++ ) { 24724 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); 24725 vec3 refractedRayExit = position + transmissionRay; 24726 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 24727 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 24728 refractionCoords += 1.0; 24729 refractionCoords /= 2.0; 24730 vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); 24731 transmittedLight[ i ] = transmissionSample[ i ]; 24732 transmittedLight.a += transmissionSample.a; 24733 transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; 24734 } 24735 transmittedLight.a /= 3.0; 24736 #else 24737 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); 24738 vec3 refractedRayExit = position + transmissionRay; 24739 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 24740 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 24741 refractionCoords += 1.0; 24742 refractionCoords /= 2.0; 24743 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); 24744 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); 24745 #endif 24746 vec3 attenuatedColor = transmittance * transmittedLight.rgb; 24747 vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); 24748 float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; 24749 return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); 24750 } 24751 `)});this.backgroundSavePass=t.backgroundSavePass,this.customUniforms=t.customUniforms}}class Vce extends uo(Qe){constructor(e={}){e=An({name:"CryptoOrbGlassSphere",speed:0},e),super(e,new Hd(2.38,32,32))}build(){this.material=new Hce({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,reflectivity:.5,attenuationDistance:200,envMap:this.assets.textures.envmap,envMapRotation:new Pi(0,0,0)},customUniforms:{uFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}}},backgroundSavePass:this.parent.backgroundSavePass})}update(){}onBeforeRender(){S.WebGL.renderer.clear(!1,!0,!1)}addGui(){const e={material:{fresnelAmount:Te.types.number(this.material.customUniforms.uFresnelAmount.value,{range:[0,100],nudgeMultiplier:.01}),fresnelOffset:Te.types.number(this.material.customUniforms.uFresnelOffset.value,{range:[0,1],nudgeMultiplier:.001}),fresnelFalloff:Te.types.number(this.material.customUniforms.uFresnelFalloff.value,{range:[0,100],nudgeMultiplier:.01})}};S.theatre.helper.autoAddObject(this,this.parent.prettyName,{additionalConfig:e}).onValuesChange(i=>{this.material.customUniforms.uFresnelAmount.value=i.material.fresnelAmount,this.material.customUniforms.uFresnelOffset.value=i.material.fresnelOffset,this.material.customUniforms.uFresnelFalloff.value=i.material.fresnelFalloff},S.theatre.rafDriver)}load(){S.AssetLoader.loadTexture("/webgl/textures/studio-env.png",{mapping:Ya,wrapping:ts,colorSpace:En}).then(e=>{this.assets.textures.envmap=e})}}var Gce=`#include <default_pars> 24752#include <logdepthbuf_pars_vertex> 24753#include <clipping_planes_pars_vertex> 24754uniform float uLineWidth;uniform vec2 uResolution;uniform vec2 uMouse;uniform float uMouseRadius;uniform float uMouseFresnelAmount;uniform float uMouseFresnelOffset;uniform float uMouseFresnelFalloff;attribute vec3 instanceStart;attribute vec3 instanceEnd;varying float vMouseInfluence;varying float vVertIndex;attribute float instanceIndexStart;attribute float instanceIndexEnd;varying float vRandom; 24755#ifdef WORLD_UNITS 24756varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 24757#endif 24758varying vec2 vUv;varying float vPositionY;attribute float instanceDistanceStart;attribute float instanceDistanceEnd;varying float vLineDistance;uniform float uTime;void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}vec4 rotationQuat(const in vec3 axis,const in float angle){vec3 axisNorm=normalize(axis);return vec4(axisNorm*sin(angle/2.0),cos(angle/2.0));}mat3 rotationMatrix(const in vec4 q){float x=q.x;float y=q.y;float z=q.z;float w=q.w;float x2=x+x;float y2=y+y;float z2=z+z;float xx=x*x2;float xy=x*y2;float xz=x*z2;float yy=y*y2;float yz=y*z2;float zz=z*z2;float wx=w*x2;float wy=w*y2;float wz=w*z2;return mat3(1.0-(yy+zz),xy+wz,xz-wy,xy-wz,1.0-(xx+zz),yz+wx,xz+wy,yz-wx,1.0-(xx+yy));}float rand(float p){return fract(sin(p)*43758.5453123);}float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}void main(){vUv=uv;vPositionY=position.y;vVertIndex=(position.y<0.5)? instanceIndexStart : instanceIndexEnd;vLineDistance=(position.y<0.5)? instanceDistanceStart : instanceDistanceEnd;float aspect=uResolution.x/uResolution.y;vec4 start=viewMatrix*modelMatrix*vec4(instanceStart,1.0);vec4 end=viewMatrix*modelMatrix*vec4(instanceEnd,1.0); 24759#ifdef WORLD_UNITS 24760worldStart=start.xyz;worldEnd=end.xyz; 24761#endif 24762bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir); 24763#ifdef WORLD_UNITS 24764vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=uLineWidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}vec4 clip=projectionMatrix*worldPos;
24764vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w; 24765#else 24766vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=uLineWidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset; 24767#endif 24768gl_Position=clip;vec2 screenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);float dist=distance(screenSpace,uMouse);vMouseInfluence=1.0-smoothstep(0.01,uMouseRadius,dist);vec3 viewDir=-worldPos.xyz;vec3 fakePos=(position.y<0.5)? instanceStart : instanceEnd;vec3 fakeNormal=normalize(modelMatrix*vec4(normalize(fakePos),1.0)).rgb;float fresnel=max(0.0,1.0-fresnelFunc(uMouseFresnelAmount,uMouseFresnelOffset,uMouseFresnelFalloff,fakeNormal,viewDir));vMouseInfluence*=fresnel;vec4 mvPosition=(position.y<0.5)? start : end; 24769#include <logdepthbuf_vertex> 24770#include <clipping_planes_vertex> 24771}`,Qce=`#include <default_pars> 24772#include <logdepthbuf_pars_fragment> 24773#include <clipping_planes_pars_fragment> 24774uniform vec3 uBaseColor;uniform vec3 uHoverColor;uniform float uOpacity;uniform float uLineWidth;varying float vMouseInfluence;varying float vLineDistance;varying float vVertIndex; 24775#ifdef WORLD_UNITS 24776varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 24777#endif 24778varying vec2 vUv;varying float vPositionY;vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float easeOutExpo(float t){return 1.0-pow(2.0,-10.0*t);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeOutCubic(float t){return 1.0-pow(1.0-t,3.0);}float easeOutLinear(float t){return 1.0-t;}float easeInExpo(float t,float power){return pow(2.0,power*(t-1.0));}float rand(const in float n){return fract(sin(n)*43758.5453123);}void main(){ 24779#include <clipping_planes_fragment> 24780float alpha=uOpacity; 24781#ifdef WORLD_UNITS 24782vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/uLineWidth; 24783#ifdef USE_ALPHA_TO_COVERAGE 24784float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm); 24785#else 24786if(norm>0.5){discard;} 24787#endif 24788#else 24789#ifdef USE_ALPHA_TO_COVERAGE 24790float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);} 24791#else 24792if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;} 24793#endif 24794#endif 24795#include <logdepthbuf_fragment> 24796gl_FragColor.a=alpha;gl_FragColor.rgb=uBaseColor*5.;gl_FragColor.rgb=mix(gl_FragColor.rgb,uHoverColor*5.0,vMouseInfluence); 24797#include <tonemapping_fragment> 24798#include <colorspace_fragment> 24799#include <premultiplied_alpha_fragment> 24800}`;class Wce extends is{constructor(e={}){e=An({vertexShader:Gce,fragmentShader:Qce,uniforms:{uMouse:{value:new Re(-10,-10)},uOpacity:{value:1,gui:{min:0,max:1,step:.1}}},defines:{WORLD_UNITS:!0},transparent:!0,depthTest:!1},e),super(e)}}class jce extends uo(){constructor(e={}){e=An({name:"hover-line",key:"hover",speed:0,scrollResponsiveness:.5,scrollMaxSpeed:10},e),super(e),this.globalUniforms={uLineWidth:{value:.008,gui:{min:0,max:.1,step:.001}},uBaseColor:{value:new ke(15855337)},uHoverColor:{value:new ke(0)},uMouseRadius:{value:.1,gui:{min:0,step:.01}},uMouseFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uMouseFresnelOffset:{value:.01,gui:{min:0,max:1,step:.001}},uMouseFresnelFalloff:{value:.1,gui:{min:0,max:100,step:.01}}},this.getOffsetFunction=this.getNameOffset,this.pointerPos=new Re(-10,-10),this.targetPointerPos=new Re(-10,-10),this.scrollSpeedMultiplier=1}getNameOffset(e){return gn.mapLinear(gn.seededRandom(42342+Object.keys(this.lineData).filter(t=>t.startsWith(e.split("-")[0])).length+Object.keys(this.lineData).indexOf(e.split("-")[0]+"-001")),0,1,.5,1)}getRandomOffset(e){return gn.mapLinear(gn.seededRandom(e.split("-")[0].split("extended")[1]+45468),0,1,.2,1)}build(e){this.lineData=Object.keys(e.paths).filter(a=>a.startsWith(this.options.key)).reduce((a,l)=>(a[l]=e.paths[l],a),{});const t=[],i=[];for(const a in this.lineData){const l=this.lineData[a][0];for(let c=0;c<l.length-1;c++){const u=l[c],f=l[c+1];t.push(u[0],u[1],u[2]),t.push(f[0],f[1],f[2]),i.push(c/(l.length-1)),i.push((c+1)/(l.length-1))}}const r=new Dd().setPositions(t),s=new Float32Array(i),o=new Yr(s,2,1);r.setAttribute("instanceIndexStart",new fn(o,1,0)),r.setAttribute("instanceIndexEnd",new fn(o,1,1)),this.line=new ip(r,new Wce({uniforms:{...this.globalUniforms},defines:{}})),this.line.name=`${this.options.name} / Line`,this.line.computeLineDistances(),this.line.scale.set(1,1,1),this.add(this.line),this.scene=this.parent}update(){S.pointer.glScreenSpace.equals(this.targetPointerPos)||(this.targetPointerPos.copy(S.pointer.glScreenSpace),this.pointerPos.x===-10&&this.pointerPos.y===-10&&this.pointerPos.copy(this.targetPointerPos)),this.pointerPos.lerp(this.targetPointerPos,.08),this.line.material.uniforms.uMouse.value.copy(this.pointerPos),this.updateScrollRotation(this.scene.scrollVelocity),this.line.rotation.y+=this.options.speed+this.scrollSpeedMultiplier}updateScrollRotation(e){this.scrollSpeedMultiplier=Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}addGui(){S.theatre.helper.autoAddObject(this.line,this.parent.prettyName,{exclude:["uMouse",...Object.keys(this.globalUniforms)]});const e={},t=S.theatre.helper.autoAddUniforms(e,this.globalUniforms,["uTheatreTime"]);S.theatre.helper.addSheetObject(this.parent.prettyName,`${this.options.name} / Global`,e,this).onValuesChange(r=>{for(let s=0;s<t.length;s++)t[s](this,r)},S.theatre.rafDriver)}destroy(){super.destroy(),this.remove(this.line),this.line.geometry.dispose(),this.line.material.dispose(),this.parent.remove(this),this.pointerPos.set(-10,-10),this.targetPointerPos.set(-10,-10),this.scrollSpeedMultiplier=1}}const u6=Object.assign({"/public/webgl/crypto-orb.unseen":Mce});class qce extends cc{constructor(){super("crypto-orb",{domId:"crypto",domAlign:"left"}),Object.assign(this.components,{lines:new Bce({speed:.001,scrollResponsiveness:1e-5,scrollMaxSpeed:3}),connectingLines:new Fce({speed:.001,scrollResponsiveness:1e-5,scrollMaxSpeed:3}),hoverLines:new jce({speed:.001,scrollResponsiveness:1e-5,scrollMaxSpeed:3}),innerParticleSphere:new c6({scene:this,scrollResponsiveness:7e-6,scrollMaxSpeed:.15}),outerParticleSphere:new c6({key:"outer",scene:this,scrollResponsiveness:7e-6,scrollMaxSpeed:.3}),glassSphere:new Vce}),this.glassObjectsScene=new Wa,this.glassObjectsScene.name=this.prettyName,this.scrollVelocity=0}start(){super.start(),this.renderPassOrbObjects.enabled=!0,this.backgroundSavePass.enabled=!0}stop(){super.stop(),this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass.enabled=!1}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.05)),super.update(
24800)}build(){super.build(),this.glassObjectsScene.add(this.backgroundSphere),this.glassObjectsScene.add(this.components.lines),this.glassObjectsScene.add(this.components.connectingLines),this.glassObjectsScene.add(this.components.hoverLines),this.glassObjectsScene.add(this.components.innerParticleSphere),this.glassObjectsScene.add(this.components.outerParticleSphere)}buildPasses(){super.buildPasses(),this.renderPass.clear=!1,this.renderPass.clearDepth=!0,this.renderPassOrbObjects=new m4(this.glassObjectsScene,this.activeCamera),this.renderPassOrbObjects.name=`${this.name} Render Orb Objects`,this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass=new g4(new li(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio(),{type:nn,generateMipmaps:!0,minFilter:jx})),this.backgroundSavePass.name=`${this.name} Background Save`,this.backgroundSavePass.enabled=!1,this.backgroundSavePass.renderTarget.setSize(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio()),S.WebGL.composerPasses.add(this.renderPassOrbObjects,S.WebGL.composerPassOrder[this.name]+2),S.WebGL.composerPasses.add(this.backgroundSavePass,S.WebGL.composerPassOrder[this.name]+3)}load(){for(const e in u6)this.objectData=u6[e];this.objectData=JSON.parse(this.objectData)}destroy(){super.destroy(),this.renderPassOrbObjects.dispose(),this.backgroundSavePass.dispose(),this.scrollVelocity=0}}var Xce=`#include <default_pars> 24801#include <normals_tangents_vert_pars> 24802#include <world_position_transform_vert_pars> 24803attribute float _len;attribute float _strand_1;attribute float _strand_2;attribute float _bundle;varying vec2 vUv;varying float vLen;varying float vStrand1;varying float vStrand2;varying float vBundle;uniform float uTime;uniform sampler2D tFluidSim;float luminance(const in vec3 rgb){const vec3 weights=vec3(0.2126,0.7152,0.0722);return dot(weights,rgb);}void main(){vUv=uv;vLen=_len;vStrand1=_strand_1;vStrand2=_strand_2;vBundle=_bundle;vec4 transformedPosition=vec4(position,1.0);vec4 earlyProjection=projectionMatrix*modelViewMatrix*vec4(position,1.);vec2 screenSpace=earlyProjection.xy/earlyProjection.w*vec2(0.5,0.5)+vec2(0.5,0.5);vec3 fluidColor=texture2D(tFluidSim,screenSpace).rgb;float fluid=luminance(abs(fluidColor));fluid=smoothstep(-1.,1.5,fluid)-0.5;fluid*=0.15;vec3 dirToCenter=normalize(position-vec3(0.0,0.0,0.0)); 24804#ifndef MAIN_ORB 24805transformedPosition.xyz+=vec3(fluid)*dirToCenter; 24806#endif 24807#include <normals_tangents_vert> 24808#include <instance_offset_vert> 24809/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/ 24810#include <world_position_transform_vert> 24811/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/ 24812#include <mv_position_transform_vert> 24813#include <varyings_vert> 24814gl_Position=projectionMatrix*mvPosition;}`,Yce=`#include <default_pars> 24815#include <default_frag_pars> 24816#include <dynamic_frag_pars> 24817#include <tonemapping_pars_fragment> 24818uniform int uToneMapping;varying vec2 vUv;varying float vLen;varying float vStrand1;varying float vStrand2;varying float vBundle;uniform float uTime;uniform vec3 uHighlightColor;uniform float uHighlightPower;uniform float uMatcapContrast;uniform float uFillLength;uniform float uEndFadeLength;uniform float uStartFadeLength;uniform float uFillRepeat;uniform float uBundleOffset;uniform float uStrandOffset;uniform float uFadeContrast;uniform float uSpeed;uniform float uRevealProgress;uniform vec2 uResolution;uniform sampler2D tFluidSim;vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(startThreshold-endThreshold,startThreshold,endThreshold);}void main(){ 24819#include <dynamic_frag> 24820gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(uMatcapContrast+(vStrand1*2.-1.)*0.1));gl_FragColor.rgb*=uColor;float time;float len; 24821#ifdef MAIN_ORB 24822len=vLen;time=uTime*(uSpeed+vBundle*0.1)+vBundle*uBundleOffset+vStrand2*uStrandOffset; 24823#else 24824len=vLen;time=uTime*uSpeed+vBundle*uBundleOffset; 24825#endif 24826float progress=len+time+sin(uTime*2.+vBundle*24.392)*0.05;
24826vec3 thresholds=loopingThreshold(mod(progress,1.0),uFillLength,uStartFadeLength+vStrand1*0.1,uEndFadeLength,uFillRepeat+floor(vBundle*vBundle));vec3 highlightColor=pow(uHighlightColor,vec3(map(vStrand1,0.,1.,0.3,2.)));highlightColor=gl_FragColor.rgb*highlightColor;highlightColor+=highlightColor*(1.-pow(uHighlightColor,vec3(1.-thresholds.y)*uFadeContrast))*uHighlightPower*(1.-thresholds.y);gl_FragColor.rgb=mix(gl_FragColor.rgb,highlightColor,1.-thresholds.y);float backsideFade=smoothstep(-2.5,0.,vWorldPosition.z);gl_FragColor.a*=backsideFade; 24827#ifdef MAIN_ORB 24828vec2 screenCoords=gl_FragCoord.xy/uResolution.xy;vec3 fluidColor=texture2D(tFluidSim,screenCoords).rgb;float fluid=luminance(abs(fluidColor.rgb));fluid=smoothstep(0.,1.,fluid);fluid*=1.;gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(1.+fluid*1.)); 24829#endif 24830#ifdef MAIN_ORB 24831if(1.-(vLen+vStrand1*0.1+vBundle*0.1)>map(uRevealProgress,0.,1.,-0.2,1.2))discard; 24832#else 24833if(1.-(vLen+vBundle*0.1)>map(uRevealProgress,0.,1.,-0.1,1.1))discard; 24834#endif 24835if(thresholds.x<0.01)discard; 24836#include <tonemapping_frag> 24837#include <colorspace_fragment> 24838}`,$ce=`#include <default_pars> 24839#include <normals_tangents_vert_pars> 24840#include <world_position_transform_vert_pars> 24841varying vec2 vUv;uniform float uTime;mat4 rotationMatrix(vec3 axis,float angle){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat4(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,0.0,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,0.0,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c,0.0,0.0,0.0,0.0,1.0);}void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0); 24842#include <normals_tangents_vert> 24843#include <instance_offset_vert> 24844/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/ 24845#include <world_position_transform_vert> 24846/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/ 24847#include <mv_position_transform_vert> 24848#include <varyings_vert> 24849gl_Position=projectionMatrix*mvPosition;}`,Kce=`#include <default_pars> 24850#include <default_frag_pars> 24851#include <dynamic_frag_pars> 24852#include <tonemapping_pars_fragment> 24853uniform int uToneMapping;varying vec2 vUv;void main(){ 24854#include <dynamic_frag> 24855#include <tonemapping_frag> 24856#include <colorspace_fragment> 24857}`;class kA extends is{constructor(e={},t){e=An({vertexShader:$ce,fragmentShader:Kce,uniforms:{tDiffuse:{value:new xn},uDiffuseScale:{value:1},tNormal:{value:new xn},uNormalScale:{value:1},uNormalStrength:{value:1,gui:{min:0,max:1,step:.001}},tMatcap:{value:new xn},tEnvMap:{value:null},uEnvMapStrength:{value:1.6,gui:{min:0,step:.001}},uDiffuseMatcapBlend:{value:1,gui:{min:0,max:1,step:.001}},tRoughness:{value:new xn},uRoughness:{value:1,gui:{min:0,max:1,step:.001}},uRoughnessScale:{value:1},tMetalness:{value:new xn},uMetalness:{value:0,gui:{min:0,max:1,step:.001}},uMetalnessScale:{value:1},uSpecularIntensity:{value:1,gui:{min:0,max:10,step:.001}},uSpecularColor:{value:new ke(16777215)},uIOR:{value:1.5,gui:{min:0,max:2.33,step:.001}},uColor:{value:new ke(16777215)},uEmissiveColor:{value:new ke(0)},uOpacity:{value:1,gui:{min:0,max:1,step:.001}},tLightMap:{value:new xn},uLightMapIntensity:{value:0,gui:{min:0,step:.01}},tEmissiveMap:{value:new xn},uMatcapBlendMode:{value:5,gui:{min:0,max:5,step:1}},toneMappingExposure:{value:1},uToneMapping:{value:3}},defines:{USE_DIFFUSE:!1,USE_NORMAL:!1,USE_MATCAP:!1,USE_ENV:!1,USE_ROUGH:!1,USE_METALNESS:!1,USE_EMISSIVEMAP:!1,USE_LIGHTMAP:!1,USE_TONEMAPPING:!1,USE_UDIMS:!1}},e),super(e),this.scene=t,this.generatePMREMDefines()}generatePMREMDefines(){if(this.defines.CUBEUV_TEXEL_WIDTH&&this.defines.CUBEUV_TEXEL_HEIGHT&&this.defines.CUBEUV_MAX_MIP||!this.uniforms.tEnvMap.value)return;const e=S.WebGL.pmremHandler.generateShaderDefines(this.uniforms.tEnvMap.value);this.defines=Object.assign(this.defines,e)}applyMaterialProperties(e,t){Object.values(e.material).length>
248570&&(e.material.metallic&&(this.uniforms.uMetalness.value=e.material.metallic),e.material.roughness&&(this.uniforms.uRoughness.value=e.material.roughness),e.material.ior&&(this.uniforms.uIOR.value=e.material.ior),e.material.specular&&(this.uniforms.uSpecularIntensity.value=e.material.specular),e.material.alpha&&(this.uniforms.uOpacity.value=e.material.alpha),e.material.alpha<1&&(this.transparent=!0)),Object.values(e.textures).length>0&&(e.textures["base-color"]&&!Array.isArray(e.textures["base-color"])&&(this.uniforms.tDiffuse.value=t["base-color"]),e.textures.normal&&!Array.isArray(e.textures.normal)&&(this.uniforms.tNormal.value=t.normal),e.textures.metallic&&!Array.isArray(e.textures.metallic)&&(this.uniforms.tMetalness.value=t.metallic),e.textures.roughness&&!Array.isArray(e.textures.roughness)&&(this.uniforms.tRoughness.value=t.roughness,this.uniforms.uRoughness.value=1))}}var Zce=`#define PI 3.141592653589793 24858#define PI2 6.283185307179586 24859#define PI_HALF 1.5707963267948966 24860#define RECIPROCAL_PI 0.3183098861837907 24861#define RECIPROCAL_PI2 0.15915494309189535 24862#define EPSILON 1e-6 24863#define saturate( a ) clamp( a, 0.0, 1.0 ) 24864float map(float value,float min1,float max1,float min2,float max2){return min2+(value-min1)*(max2-min2)/(max1-min1);} 24865#if defined(USE_ENV) || defined(USE_FOG) 24866#include <cubeUVreflectionFrag> 24867#endif 24868vec3 transformDirection(in vec3 dir,in mat4 matrix){return normalize((matrix*vec4(dir,0.0)).xyz);}vec3 inverseTransformDirection(in vec3 dir,in mat4 matrix){return normalize((vec4(dir,0.0)*matrix).xyz);}`,Jce=`float blendSoftLight(float base,float blend){return(blend<0.5)?(2.0*base*blend+base*base*(1.0-2.0*blend)):(sqrt(base)*(2.0*blend-1.0)+2.0*base*(1.0-blend));}vec3 blendSoftLight(vec3 base,vec3 blend){return vec3(blendSoftLight(base.r,blend.r),blendSoftLight(base.g,blend.g),blendSoftLight(base.b,blend.b));}vec3 blendSoftLight(vec3 base,vec3 blend,float opacity){return(blendSoftLight(base,blend)*opacity+base*(1.0-opacity));}float blendLinearBurn(float base,float blend){return max(base+blend-1.0,0.0);}vec3 blendLinearBurn(vec3 base,vec3 blend){return max(base+blend-vec3(1.0),vec3(0.0));}vec3 blendLinearBurn(vec3 base,vec3 blend,float opacity){return(blendLinearBurn(base,blend)*opacity+base*(1.0-opacity));}float blendLinearDodge(float base,float blend){return min(base+blend,1.0);}vec3 blendLinearDodge(vec3 base,vec3 blend){return min(base+blend,vec3(1.0));}vec3 blendLinearDodge(vec3 base,vec3 blend,float opacity){return(blendLinearDodge(base,blend)*opacity+base*(1.0-opacity));}float blendLinearLight(float base,float blend){return blend<0.5?blendLinearBurn(base,(2.0*blend)):blendLinearDodge(base,(2.0*(blend-0.5)));}vec3 blendLinearLight(vec3 base,vec3 blend){return vec3(blendLinearLight(base.r,blend.r),blendLinearLight(base.g,blend.g),blendLinearLight(base.b,blend.b));}vec3 blendLinearLight(vec3 base,vec3 blend,float opacity){return(blendLinearLight(base,blend)*opacity+base*(1.0-opacity));}float blendLighten(float base,float blend){return max(blend,base);}vec3 blendLighten(vec3 base,vec3 blend){return vec3(blendLighten(base.r,blend.r),blendLighten(base.g,blend.g),blendLighten(base.b,blend.b));}vec3 blendLighten(vec3 base,vec3 blend,float opacity){return(blendLighten(base,blend)*opacity+base*(1.0-opacity));}float blendOverlay(float base,float blend){return base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend));}vec3 blendOverlay(vec3 base,vec3 blend){return vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b));}vec3 blendOverlay(vec3 base,vec3 blend,float opacity){return(blendOverlay(base,blend)*opacity+base*(1.0-opacity));}float blendColorDodge(float base,float blend){return(blend==1.0)?blend:min(base/(1.0-blend),1.0);}vec3 blendColorDodge(vec3 base,vec3 blend){return vec3(blendColorDodge(base.r,blend.r),blendColorDodge(base.g,blend.g),blendColorDodge(base.b,blend.b));}vec3 blendColorDodge(vec3 base,vec3 blend,float opacity){return(blendColorDodge(base,blend)*opacity+base*(1.0-opacity));}float blendScreen(float base,float blend){return 1.0-((1.0-base)*(1.0-blend));}vec3 blendScreen(vec3 base,vec3 blend){return vec3(blendScreen(base.r,blend.r),blendScreen(base.g,blend.g),blendScreen(base.b,blend.b));}vec3 blendScreen(vec3 base,vec3 blend,float opacity){return(blendScreen(base,blend)*opacity+base*(1.0-opacity));}float blendAdd(float base,float blend){return min(base+blend,1.0);}vec3 blendAdd(vec3 base,vec3 blend){return min(base+blend,vec3(1.0));}vec3 blendAdd(vec3 base,vec3 blend,float opacity){return(blendAdd(base,blend)*opacity+base*(1.0-opacity));}vec3 blendMultiply(vec3 base,vec3 blend){return base*blend;}vec3 blendMultiply(vec3 base,vec3 blend,float opacity){return(blendMultiply(base,blend)*opacity+base*(1.0-opacity));} 24869#ifndef saturate 24870#define saturate( a ) clamp( a, 0.0, 1.0 ) 24871#endif 24872float pow2(const in float x){return x*x;}vec3 pow2(const in vec3 x){return x*x;}float pow3(const in float x){return x*x*x;}float pow4(const in float x){float x2=x*x;return x2*x2;}float max3(const in vec3 v){return max(max(v.x,v.y),v.z);}float average(const in vec3 v){return dot(v,vec3(0.3333333));}vec4 sRGBToLinear(in vec4 value){return vec4(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))),value.w);}vec3 sRGBToLinear(in vec3 value){return vec3(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))));}`,eue=`vec3 objectNormal=vec3(normal);vec3 transformedNormal=objectNormal; 24873#ifdef USE_INSTANCING 24874mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal; 24875#endif 24876transformedNormal=normalMatrix*transformedNormal;vNormal=normalize(transformedNormal);`,tue=`#ifdef USE_TONEMAPPING 24877if(uToneMapping==0){gl_FragColor.rgb=LinearToneMapping(gl_FragColor.rgb);}else if(uToneMapping==1){gl_FragColor.rgb=ReinhardToneMapping(gl_FragColor.rgb);}else if(uToneMapping==2){gl_FragColor.rgb=OptimizedCineonToneMapping(gl_FragColor.rgb);}else{gl_FragColor.rgb=ACESFilmicToneMapping(gl_FragColor.rgb);} 24878#endif 24879`,nue="attribute vec2 aPosition;attribute vec2 aOffset;attribute vec2 aSize;attribute float aIndex;attribute float aWord;attribute float aLine;attribute float aLength;attribute float aPage;uniform float uFontBase;uniform float uFontLineHeight;uniform float uFontSize;
24879uniform float uLayoutDescender;varying vec2 vUv;varying vec2 vPosition;varying vec2 vOffset;varying vec2 vSize;varying float vIndex;varying float vWord;varying float vLine;varying float vLength;varying float vPage;",iue="vUv=uv;vPosition=aPosition;vOffset=aOffset;vSize=aSize;vIndex=aIndex;vWord=aWord;vLine=aLine;vLength=aLength;vPage=aPage;vec3 transformedPos=position;",rue="precision highp float;uniform float uOpacity;uniform vec3 uColor;uniform float uFontBase;uniform float uFontLineHeight;uniform float uFontSize;uniform float uLayoutDescender;varying vec2 vUv;varying vec2 vPosition;varying vec2 vOffset;varying vec2 vSize;varying float vIndex;varying float vWord;varying float vLine;varying float vLength;varying float vPage;float median(float r,float g,float b){return max(min(r,g),min(max(r,g),b));}float spxRange(sampler2D tex,vec2 uv){vec2 unit=vec2(6.0)/vec2(textureSize(tex,0));vec2 screen=vec2(1.0)/fwidth(uv);return max(0.5*dot(unit,screen),1.0);}",sue="vec3 bitmap=msdf();float range=pxRange();float sigDist=median(bitmap.r,bitmap.g,bitmap.b);float pxDist=range*(sigDist-0.5);float alpha=clamp(pxDist+0.5,0.0,1.0);float mask=clamp(alpha*uOpacity,0.,1.);gl_FragColor=vec4(uColor.xyz,alpha);",oue="uniform float uProgress;uniform float uStagger;varying float vDiff;float textAnimation(float bound,float index,float stagger){return(bound*stagger)*(index)+bound;}",aue=`float progress=(1.-uProgress); 24880#ifdef ANIM_CHAR_X 24881transformedPos.x-=textAnimation(aSize.x,aIndex,uStagger)*progress;vDiff=transformedPos.x; 24882#endif 24883#ifdef ANIM_CHAR_Y 24884transformedPos.y+=textAnimation(uFontLineHeight,aIndex,uStagger)*progress;vDiff=transformedPos.y; 24885#endif 24886#ifdef ANIM_WORD_X 24887transformedPos.x-=textAnimation(aSize.x,aWord,uStagger)*progress;vDiff=transformedPos.x; 24888#endif 24889#ifdef ANIM_WORD_Y 24890transformedPos.y+=textAnimation(uFontLineHeight,aWord,uStagger)*progress;vDiff=transformedPos.y; 24891#endif 24892#ifdef ANIM_LINE_X 24893transformedPos.x-=textAnimation(aSize.x,aLine,uStagger)*progress;vDiff=transformedPos.x; 24894#endif 24895#ifdef ANIM_LINE_Y 24896transformedPos.y+=textAnimation(uFontLineHeight,aLine,uStagger)*progress;vDiff=transformedPos.y; 24897#endif 24898`,lue="varying float vDiff;",cue=`#ifdef ANIM_CHAR_X 24899if(vDiff<(vPosition.x+vOffset.x))discard; 24900#endif 24901#ifdef ANIM_CHAR_Y 24902if(vDiff>(vPosition.y+uFontLineHeight))discard; 24903#endif 24904#ifdef ANIM_WORD_X 24905if(vDiff<(vPosition.x+vOffset.x))discard; 24906#endif 24907#ifdef ANIM_WORD_Y 24908if(vDiff>(vPosition.y+uFontLineHeight))discard; 24909#endif 24910#ifdef ANIM_LINE_X 24911if(vDiff<(vPosition.x+vOffset.x))discard; 24912#endif 24913#ifdef ANIM_LINE_Y 24914if(vDiff>(vPosition.y+uFontLineHeight))discard; 24915#endif 24916`,uue="attribute vec4 tangent;varying vec3 vNormal;varying vec3 vTangent;varying vec3 vBitangent;",fue=`vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=objectNormal; 24917#ifdef USE_INSTANCING 24918mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal; 24919#endif 24920transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);`,due="varying vec3 vViewPosition;varying vec4 vWorldPosition;",hue="vec4 worldPosition=modelMatrix*transformedPosition;",pue=`#ifdef USE_INSTANCING 24921transformedPosition=instanceMatrix*transformedPosition; 24922#endif 24923`,mue="vec4 mvPosition=viewMatrix*worldPosition;",gue="vViewPosition=-mvPosition.xyz;vWorldPosition=worldPosition;",Aue=`vec4 diffuseColor=vec4(uColor,uOpacity);vec3 totalEmissiveRadiance=uEmissiveColor;ReflectedLight reflectedLight=ReflectedLight(vec3(0.0),vec3(0.0),vec3(0.0),vec3(0.0)); 24924#ifdef USE_UDIMS 24925float textureIndex;for(float i=0.;i<float(USE_UDIMS);i+=1.){textureIndex+=step(i+1.,vUv.x);}vec2 udimUV=(vUv-vec2(textureIndex,0.0)); 24926#endif 24927#ifdef USE_DIFFUSE 24928#ifdef USE_UDIMS 24929diffuseColor*=getDiffuseUDIMcolor(tDiffuseArray,textureIndex,udimUV,uDiffuseScale); 24930#else 24931diffuseColor*=texture2D(tDiffuse,vUv*uDiffuseScale); 24932#endif 24933#endif 24934float roughnessFactor=uRoughness; 24935#ifdef USE_ROUGH 24936#ifdef USE_UDIMS 24937vec4 texelRoughness=getRoughUDIMcolor(tRoughnessArray,textureIndex,udimUV,uRoughnessScale); 24938#else 24939vec4 texelRoughness=texture2D(tRoughness,vUv*uRoughnessScale); 24940#endif 24941roughnessFactor*=texelRoughness.g; 24942#endif 24943float metalnessFactor=uMetalness; 24944#ifdef USE_METALNESS 24945vec4 texelMetalness=texture2D(tMetalness,vUv*uMetalnessScale);metalnessFactor*=texelMetalness.b; 24946#endif 24947float faceDirection=gl_FrontFacing ? 1.0 :-1.0; 24948#ifdef FLAT_SHADED
24949vec3 fdx=dFdx(vViewPosition);vec3 fdy=dFdy(vViewPosition);vec3 normal=normalize(cross(fdx,fdy)); 24950#else 24951vec3 normal=normalize(vNormal);vec3 tangent=normalize(vTangent);vec3 bitangent=normalize(vBitangent); 24952#ifdef DOUBLE_SIDED 24953normal=normal*faceDirection;tangent=tangent*faceDirection;bitangent=bitangent*faceDirection; 24954#endif 24955mat3 vTBN=mat3(tangent,bitangent,normal); 24956#endif 24957vec3 geometryNormal=normal; 24958#ifdef USE_NORMAL 24959#ifdef OBJECTSPACE_NORMALMAP 24960normal=texture2D(tNormal,vUv*uNormalScale).xyz*2.0-1.0; 24961#ifdef FLIP_SIDED 24962normal=-normal; 24963#endif 24964#ifdef DOUBLE_SIDED 24965normal=normal*faceDirection; 24966#endif 24967normal=normalize(normalMatrix*normal); 24968#else 24969#ifdef USE_UDIMS 24970vec3 mapN=getNormalUDIMcolor(tNormalArray,textureIndex,udimUV,uNormalScale).rgb*2.0-1.0; 24971#else 24972vec3 mapN=texture2D(tNormal,vUv*uNormalScale).xyz*2.0-1.0; 24973#endif 24974mapN.xy*=uNormalStrength;normal=normalize(vTBN*mapN); 24975#endif 24976#endif 24977#ifdef USE_EMISSIVEMAP 24978vec4 emissiveColor=texture2D(tEmissiveMap,vUv);totalEmissiveRadiance*=emissiveColor.rgb; 24979#endif 24980#ifdef USE_MATCAP 24981vec3 viewDir=normalize(vViewPosition);vec3 x=normalize(vec3(viewDir.z,0.0,-viewDir.x));vec3 y=cross(viewDir,x);vec2 uv=vec2(dot(x,normal),dot(y,normal))*0.495+0.5;vec4 matcapColor=texture2D(tMatcap,uv); 24982#else 24983vec4 matcapColor=vec4(1.); 24984#endif 24985DynamicMaterial material;material.diffuseColor=diffuseColor.rgb*(1.0-metalnessFactor);vec3 dxy=max(abs(dFdx(geometryNormal)),abs(dFdy(geometryNormal)));float geometryRoughness=max(max(dxy.x,dxy.y),dxy.z);material.roughness=max(roughnessFactor,0.0525);material.roughness+=geometryRoughness;material.roughness=min(material.roughness,1.0);material.ior=uIOR;float specularIntensityFactor;vec3 specularColorFactor;specularIntensityFactor=uSpecularIntensity;specularColorFactor=uSpecularColor;material.specularF90=mix(specularIntensityFactor,1.0,metalnessFactor);material.specularColor=mix(min(pow2((material.ior-1.0)/(material.ior+1.0))*specularColorFactor,vec3(1.0))*specularIntensityFactor,diffuseColor.rgb,metalnessFactor);GeometricContext geometry;geometry.position=-vViewPosition;geometry.normal=normal;geometry.viewDir=(isOrthographic)? vec3(0,0,1): normalize(vViewPosition);vec3 ambientLightColor=vec3(0.0);vec3 iblIrradiance=vec3(0.0);vec3 irradiance=getAmbientLightIrradiance(ambientLightColor);vec3 radiance=vec3(0.0);vec3 clearcoatRadiance=vec3(0.0); 24986#ifdef USE_LIGHTMAP 24987vec4 lightMapTexel=texture2D(tLightMap,vUv);vec3 lightMapIrradiance=lightMapTexel.rgb*uLightMapIntensity;irradiance+=lightMapIrradiance; 24988#endif 24989#ifdef USE_ENV 24990iblIrradiance+=getIBLIrradiance(geometry.normal);radiance+=getIBLRadiance(geometry.viewDir,geometry.normal,material.roughness); 24991#endif 24992RE_IndirectDiffuse_Physical(irradiance,geometry,material,reflectedLight);RE_IndirectSpecular_Physical(radiance,iblIrradiance,clearcoatRadiance,geometry,material,reflectedLight);vec3 totalDiffuse=reflectedLight.directDiffuse+reflectedLight.indirectDiffuse;vec3 totalSpecular=reflectedLight.directSpecular+reflectedLight.indirectSpecular;vec3 outgoingLight=totalDiffuse+totalSpecular+totalEmissiveRadiance; 24993#ifdef USE_MATCAP 24994if(uMatcapBlendMode==0){outgoingLight=blendSoftLight(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==1){outgoingLight=blendLinearLight(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==2){outgoingLight=blendLighten(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==3){outgoingLight=blendOverlay(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==4){outgoingLight=blendAdd(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else{outgoingLight=blendMultiply(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);} 24995#endif 24996gl_FragColor=vec4(outgoingLight,diffuseColor.a);`,vue=`struct DynamicMaterial{vec3 diffuseColor;float roughness;vec3 specularColor;float specularF90;float ior;};struct IncidentLight{vec3 color;vec3 direction;bool visible;};struct ReflectedLight{vec3 directDiffuse;vec3 directSpecular;vec3 indirectDiffuse;vec3 indirectSpecular;};struct GeometricContext{vec3 position;vec3 normal;vec3 viewDir;}; 24997#include <lights_pars_begin> 24998varying vec3 vViewPosition;varying vec3 vNormal;varying vec3 vTangent;varying vec3 vBitangent;uniform float uOpacity;
24998uniform float uMetalness;uniform float uSpecularIntensity;uniform vec3 uEmissiveColor;uniform vec3 uSpecularColor;uniform float uDiffuseMatcapBlend;uniform vec3 uColor;uniform int uMatcapBlendMode; 24999#ifdef USE_MATCAP 25000uniform sampler2D tMatcap; 25001#endif 25002#ifdef USE_UDIMS 25003#define MAX_UDIMS 2 25004#endif 25005#ifdef USE_DIFFUSE 25006uniform float uDiffuseScale; 25007#ifdef USE_UDIMS 25008uniform sampler2D tDiffuseArray[MAX_UDIMS];vec4 getDiffuseUDIMcolor(float textureIndx,vec2 udimuv,float textureScale){switch(int(textureIndx)){case 0:return texture(tDiffuseArray[0],udimuv*textureScale);break;case 1:return texture(tDiffuseArray[1],udimuv*textureScale);break;}} 25009#else 25010uniform sampler2D tDiffuse; 25011#endif 25012#endif 25013#ifdef USE_NORMAL 25014uniform float uNormalScale;uniform float uNormalStrength; 25015#ifdef USE_UDIMS 25016uniform sampler2D tNormalArray[MAX_UDIMS];vec4 getNormalUDIMcolor(float textureIndx,vec2 udimuv,float textureScale){switch(int(textureIndx)){case 0:return texture(tNormalArray[0],udimuv*textureScale);break;case 1:return texture(tNormalArray[1],udimuv*textureScale);break;}} 25017#else 25018uniform sampler2D tNormal; 25019#endif 25020#endif 25021#ifdef USE_ROUGH 25022uniform float uRoughnessScale; 25023#ifdef USE_UDIMS 25024uniform sampler2D tRoughnessArray[MAX_UDIMS];vec4 getRoughUDIMcolor(float textureIndx,vec2 udimuv,float textureScale){switch(int(textureIndx)){case 0:return texture(tRoughnessArray[0],udimuv*textureScale);break;case 1:return texture(tRoughnessArray[1],udimuv*textureScale);break;}} 25025#else 25026uniform sampler2D tRoughness; 25027#endif 25028#endif 25029#ifdef USE_METALNESS 25030uniform sampler2D tMetalness;uniform float uMetalnessScale; 25031#endif 25032#ifdef USE_EMISSIVEMAP 25033uniform sampler2D tEmissiveMap; 25034#endif 25035#ifdef USE_LIGHTMAP 25036uniform sampler2D tLightMap;uniform float uLightMapIntensity; 25037#endif 25038varying vec4 vWorldPosition;uniform float uRoughness;uniform float uIOR; 25039#ifdef USE_ENV 25040uniform sampler2D tEnvMap;uniform float uEnvMapStrength;vec3 getIBLRadiance(const in vec3 viewDir,const in vec3 normal,const in float roughness){vec3 reflectVec=reflect(-viewDir,normal);reflectVec=normalize(mix(reflectVec,normal,roughness*roughness));reflectVec=inverseTransformDirection(reflectVec,viewMatrix);vec4 envMapColor=textureCubeUV(tEnvMap,reflectVec,roughness);return envMapColor.rgb*uEnvMapStrength;}vec3 getIBLIrradiance(const in vec3 normal){vec3 worldNormal=inverseTransformDirection(normal,viewMatrix);vec4 envMapColor=textureCubeUV(tEnvMap,worldNormal,1.0);return PI*envMapColor.rgb*uEnvMapStrength;} 25041#endif 25042vec3 BRDF_Lambert(const in vec3 diffuseColor){return RECIPROCAL_PI*diffuseColor;}void RE_IndirectDiffuse_Physical(const in vec3 irradiance,const in GeometricContext geometry,const in DynamicMaterial material,inout ReflectedLight reflectedLight){reflectedLight.indirectDiffuse+=irradiance*BRDF_Lambert(material.diffuseColor);}vec2 DFGApprox(const in vec3 normal,const in vec3 viewDir,const in float roughness){float dotNV=saturate(dot(normal,viewDir));const vec4 c0=vec4(-1,-0.0275,-0.572,0.022);const vec4 c1=vec4(1,0.0425,1.04,-0.04);vec4 r=roughness*c0+c1;float a004=min(r.x*r.x,exp2(-9.28*dotNV))*r.x+r.y;vec2 fab=vec2(-1.04,1.04)*a004+r.zw;return fab;}void computeMultiscattering(const in vec3 normal,const in vec3 viewDir,const in vec3 specularColor,const in float specularF90,const in float roughness,inout vec3 singleScatter,inout vec3 multiScatter){vec2 fab=DFGApprox(normal,viewDir,roughness);vec3 Fr=specularColor;vec3 FssEss=Fr*fab.x+specularF90*fab.y;float Ess=fab.x+fab.y;float Ems=1.0-Ess;vec3 Favg=Fr+(1.0-Fr)*0.047619;vec3 Fms=FssEss*Favg/(1.0-Ems*Favg);singleScatter+=FssEss;multiScatter+=Fms*Ems;}void RE_IndirectSpecular_Physical(const in vec3 radiance,const in vec3 irradiance,const in vec3 clearcoatRadiance,const in GeometricContext geometry,const in DynamicMaterial material,inout ReflectedLight reflectedLight){vec3 singleScattering=vec3(0.0);vec3 multiScattering=vec3(0.0);vec3 cosineWeightedIrradiance=irradiance*RECIPROCAL_PI;computeMultiscattering(geometry.normal,geometry.viewDir,material.specularColor,material.specularF90,material.roughness,singleScattering,multiScattering);vec3 totalScattering=singleScattering+multiScattering;vec3 diffuse=material.diffuseColor*(1.0-max(max(totalScattering.r,totalScattering.g),totalScattering.b));reflectedLight.indirectSpecular+=radiance*singleScattering;reflectedLight.indirectSpecular+=multiScattering*cosineWeightedIrradiance;reflectedLight.indirectDiffuse+=diffuse*cosineWeightedIrradiance;}`,yue=`vec3 lightDirection=normalize(uLightPos-vWorldPosition.xyz); 25043#ifdef USE_HIGHLIGHT_DIFFUSE 25044float diffuseFactor=max(dot(normalize(vNormal),lightDirection),0.0);vec3 diffuse=diffuseFactor*uLightColor; 25045#else 25046vec3 diffuse=vec3(0.0); 25047#endif 25048vec3 viewDirExtra=normalize(cameraPosition-vWorldPosition.xyz);vec3 reflectDir=reflect(-lightDirection,normalize(vNormal));float specularFactor=pow(max(dot(viewDirExtra,reflectDir),0.0),uShininess);vec3 specular=uExtraSpecularStrength*specularFactor*uLightColor;gl_FragColor.rgb=(uAmbient+diffuse+specular)*gl_FragColor.rgb;`,_ue="uniform vec3 uLightPos;uniform vec3 uLightColor;uniform vec3 uAmbient;uniform float uExtraSpecularStrength;uniform float uShininess;",bue=`#define cubeUV_minMipLevel 4.0 25049#define cubeUV_minTileSize 16.0 25050float getFace(vec3 direction){vec3 absDirection=abs(direction);float face=-1.0;if(absDirection.x>absDirection.z){if(absDirection.x>absDirection.y)face=direction.x>0.0 ? 0.0 : 3.0;else face=direction.y>0.0 ? 1.0 : 4.0;}else{if(absDirection.z>absDirection.y)face=direction.z>0.0 ? 2.0 : 5.0;else face=direction.y>0.0 ? 1.0 : 4.0;}return face;}vec2 getUV(vec3 direction,float face){vec2 uv;if(face==0.0){uv=vec2(direction.z,direction.y)/abs(direction.x);}else if(face==1.0){uv=vec2(-direction.x,-direction.z)/abs(direction.y);}else if(face==2.0){uv=vec2(-direction.x,direction.y)/abs(direction.z);}else if(face==3.0){uv=vec2(-direction.z,direction.y)/abs(direction.x);}else if(face==4.0){uv=vec2(-direction.x,direction.z)/abs(direction.y);}else{uv=vec2(direction.x,direction.y)/abs(direction.z);}return 0.5*(uv+1.0);}vec3 bilinearCubeUV(sampler2D envMap,vec3 direction,float mipInt){float face=getFace(direction);float filterInt=max(cubeUV_minMipLevel-mipInt,0.0);mipInt=max(mipInt,cubeUV_minMipLevel);float faceSize=exp2(mipInt);highp vec2 uv=getUV(direction,face)*(faceSize-2.0)+1.0;if(face>2.0){uv.y+=faceSize;face-=3.0;}uv.x+=face*faceSize;uv.x+=filterInt*3.0*cubeUV_minTileSize;uv.y+=4.0*(exp2(float(CUBEUV_MAX_MIP))-faceSize);uv.x*=CUBEUV_TEXEL_WIDTH;uv.y*=CUBEUV_TEXEL_HEIGHT; 25051#ifdef texture2DGradEXT 25052return texture2DGradEXT(envMap,uv,vec2(0.0),vec2(0.0)).rgb; 25053#else 25054return texture2D(envMap,uv).rgb; 25055#endif 25056} 25057#define cubeUV_r0 1.0 25058#define cubeUV_v0 0.339 25059#define cubeUV_m0 - 2.0 25060#define cubeUV_r1 0.8 25061#define cubeUV_v1 0.276 25062#define cubeUV_m1 - 1.0 25063#define cubeUV_r4 0.4 25064#define cubeUV_v4 0.046 25065#define cubeUV_m4 2.0 25066#define cubeUV_r5 0.305 25067#define cubeUV_v5 0.016 25068#define cubeUV_m5 3.0 25069#define cubeUV_r6 0.21 25070#define cubeUV_v6 0.0038 25071#define cubeUV_m6 4.0 25072float roughnessToMip(float roughness){float mip=0.0;if(roughness>=cubeUV_r1){mip=(cubeUV_r0-roughness)*(cubeUV_m1-cubeUV_m0)/(cubeUV_r0-cubeUV_r1)+cubeUV_m0;}else if(roughness>=cubeUV_r4){mip=(cubeUV_r1-roughness)*(cubeUV_m4-cubeUV_m1)/(cubeUV_r1-cubeUV_r4)+cubeUV_m1;}else if(roughness>=cubeUV_r5){mip=(cubeUV_r4-roughness)*(cubeUV_m5-cubeUV_m4)/(cubeUV_r4-cubeUV_r5)+cubeUV_m4;}else if(roughness>=cubeUV_r6){mip=(cubeUV_r5-roughness)*(cubeUV_m6-cubeUV_m5)/(cubeUV_r5-cubeUV_r6)+cubeUV_m5;}else{mip=-2.0*log2(1.16*roughness);}return mip;}vec4 textureCubeUV(sampler2D envMap,vec3 sampleDir,float roughness){float mip=clamp(roughnessToMip(roughness),cubeUV_m0,float(CUBEUV_MAX_MIP));float mipF=fract(mip);float mipInt=floor(mip);vec3 color0=bilinearCubeUV(envMap,sampleDir,mipInt);
25072if(mipF==0.0){return vec4(color0,1.0);}else{vec3 color1=bilinearCubeUV(envMap,sampleDir,mipInt+1.0);return vec4(mix(color0,color1,mipF),1.0);}}`;function xue(){ut.default_pars=jn(Zce),ut.default_frag_pars=jn(Jce),ut.normalsVert=jn(eue),ut.tonemapping_frag=jn(tue),ut.cubeUVreflectionFrag=jn(bue),ut.msdf_vert_pars=jn(nue),ut.msdf_vert=jn(iue),ut.msdf_frag_pars=jn(rue),ut.msdf_frag=jn(sue),ut.msdf_base_anim_vert_pars=jn(oue),ut.msdf_base_anim_vert=jn(aue),ut.msdf_base_anim_frag_pars=jn(lue),ut.msdf_base_anim_frag=jn(cue),ut.normals_tangents_vert_pars=jn(uue),ut.normals_tangents_vert=jn(fue),ut.world_position_transform_vert_pars=jn(due),ut.world_position_transform_vert=jn(hue),ut.instance_offset_vert=jn(pue),ut.mv_position_transform_vert=jn(mue),ut.varyings_vert=jn(gue),ut.dynamic_frag_pars=jn(vue),ut.dynamic_frag=jn(Aue),ut.dynamic_highlight_frag_pars=jn(_ue),ut.dynamic_highlight_frag=jn(yue)}function Cue(){Ke.msdf={uOpacity:{value:1},uColor:{value:new ke("#FFFFFF")},uFontBase:{value:0},uFontLineHeight:{value:0},uFontSize:{value:0},uLayoutDescender:{value:0},uLayoutAscender:{value:0}},Ke.msdfBaseAnim={uProgress:{value:0},uStagger:{value:0}}}class f6 extends kA{constructor(e={}){e=An({vertexShader:Xce,fragmentShader:Yce,uniforms:{uMatcapContrast:{value:.8,gui:{min:.01,step:.01}},uHighlightPower:{value:15,gui:{min:0,max:100,step:.1}},uHighlightColor:{value:new ke(5866203)},uFillLength:{value:.3,gui:{min:0,max:1,step:.001}},uStartFadeLength:{value:.2,gui:{min:0,max:.9999,step:.001}},uEndFadeLength:{value:1e-4,gui:{min:0,max:.999,step:.001}},uFillRepeat:{value:1,gui:{min:0,max:20,step:1}},uBundleOffset:{value:12.5629,gui:{min:0,max:50,step:.01}},uStrandOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFadeContrast:{value:5,gui:{min:0,max:50,step:.01}},uSpeed:{value:.2,gui:{min:0,max:10,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}}},defines:{USE_MATCAP:!0},transparent:!0},e),super(e)}generatePMREMDefines(){}}class wue extends uo(){constructor(){super({name:"Computing Orb"})}build(){this.bands=new Qe(this.assets.models.bands.geometry,new f6({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeBlurred},tFluidSim:{value:null},uMatcapBlendMode:{value:2}},defines:{MAIN_ORB:!0}})),this.bands.name=this.name+" Bands",this.add(this.bands),this.extraThreads=new Qe(this.assets.models.extraThreads.geometry,new f6({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeBlurred},tFluidSim:{value:null},uMatcapBlendMode:{value:2}}})),this.extraThreads.name=this.name+" Extra Threads",this.add(this.extraThreads)}update(){this.bands.material.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.extraThreads.material.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture;let e=Math.abs(this.parent.scrollVelocity)*7e-6;this.rotation.y+=.002+e}load(){S.AssetLoader.loadGltf("/webgl/models/computing.glb").then(e=>{this.assets.models.bands=e.scene.children[1],this.assets.models.extraThreads=e.scene.children[0]}),S.AssetLoader.loadTexture("/webgl/textures/blurry_silver_mirrorball.jpg").then(e=>{this.assets.textures.matcapChromeBlurred=e})}addGui(){S.theatre.helper.autoAddObject(this.bands,this.parent.prettyName),S.theatre.helper.autoAddObject(this.extraThreads,this.parent.prettyName)}}class Sue extends cc{constructor(){super("computing-orb",{domId:"computing",domAlign:"right"}),this.components=Object.assign({orb:new wue}),this.scrollVelocity=0}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.1)),super.update()}}var Eue=`#include <default_pars> 25073#include <normals_tangents_vert_pars> 25074#include <world_position_transform_vert_pars> 25075attribute float _id;attribute vec3 _center;attribute float _mediumpanel;varying vec2 vUv;varying float vMediumPanel;uniform float uTime;uniform vec2 uMouse;uniform float uMouseRadius;uniform float uMouseFalloff;uniform float uRevealProgress;uniform vec2 uResolution;float pulse(float time,float frequency){const float pi=3.14;return 0.5*(1.+sin(2.*pi*frequency*time));}vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}vec3 fade(vec3 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec3 P){vec3 Pi0=floor(P);vec3 Pi1=Pi0+vec3(1.0);Pi0=mod(Pi0,289.0);Pi1=mod(Pi1,289.0);vec3 Pf0=fract(P);vec3 Pf1=Pf0-vec3(1.0);vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4 iy=vec4(Pi0.yy,Pi1.yy);vec4 iz0=Pi0.zzzz;vec4 iz1=Pi1.zzzz;vec4 ixy=permute(permute(ix)+iy);vec4 ixy0=permute(ixy+iz0);vec4 ixy1=permute(ixy+iz1);vec4 gx0=ixy0/7.0;vec4 gy0=fract(floor(gx0)/7.0)-0.5;gx0=fract(gx0);vec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4 sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4 gx1=ixy1/7.0;vec4 gy1=fract(floor(gx1)/7.0)-0.5;gx1=fract(gx1);vec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4 sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3 g000=vec3(gx0.x,gy0.x,gz0.x);vec3 g100=vec3(gx0.y,gy0.y,gz0.y);vec3 g010=vec3(gx0.z,gy0.z,gz0.z);vec3 g110=vec3(gx0.w,gy0.w,gz0.w);vec3 g001=vec3(gx1.x,gy1.x,gz1.x);vec3 g101=vec3(gx1.y,gy1.y,gz1.y);vec3 g011=vec3(gx1.z,gy1.z,gz1.z);vec3 g111=vec3(gx1.w,gy1.w,gz1.w);vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float n000=dot(g000,Pf0);float n100=dot(g100,vec3(Pf1.x,Pf0.yz));float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float n110=dot(g110,vec3(Pf1.xy,Pf0.z));float n001=dot(g001,vec3(Pf0.xy,Pf1.z));float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float n011=dot(g011,vec3(Pf0.x,Pf1.yz));float n111=dot(g111,Pf1);vec3 fade_xyz=fade(Pf0);vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return 2.2*n_xyz;}void main(){vUv=uv;vMediumPanel=_mediumpanel;vec4 transformedPosition=vec4(position,1.0);vec3 center=vec3(_center.x,_center.z,-_center.y);vec3 worldPos=(modelMatrix*transformedPosition).xyz;float screenAspect=uResolution.x/uResolution.y;vec4 earlyProjection=projectionMatrix*modelViewMatrix*vec4(center,1.);vec2 screenSpace=earlyProjection.xy/earlyProjection.w*vec2(0.5,0.5)+vec2(0.5,0.5);float screenToMouseDistance=distance(vec3(screenSpace,0.),vec3(uMouse,0.));float scale=smoothstep(uMouseFalloff,1.,screenToMouseDistance*uMouseRadius);scale+=smoothstep(0.5,0.,worldPos.z);float noise=cnoise(vec3(center*20.+uTime*0.1));float noiseScale=smoothstep(0.2,0.,noise);scale=clamp(scale,0.,1.);float modelScaleOffset=1.087;if(_mediumpanel!=1.){transformedPosition.xyz-=center*modelScaleOffset;transformedPosition.xyz*=scale;transformedPosition.xyz+=center*modelScaleOffset;}else{transformedPosition.xyz+=center*modelScaleOffset;transformedPosition.xyz*=map(noiseScale,0.,1.,0.987,1.01);transformedPosition.xyz-=center*modelScaleOffset;}transformedPosition.xyz+=center*modelScaleOffset;float revealScale=1.+(1.-uRevealProgress)*0.1;transformedPosition.xyz*=revealScale;transformedPosition.xyz-=center*modelScaleOffset;transformedPosition.xyz-=center*modelScaleOffset;float revealProgress=1.-map(uRevealProgress,0.,1.,-0.1,1.1);transformedPosition.xyz*=smoothstep(revealProgress-0.1,revealProgress,1.-map(center.y,-1.,1.,0.,1.));transformedPosition.xyz+=center*modelScaleOffset;vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=objectNormal;if(_mediumpanel!=1.){transformedNormal.xyz-=center*modelScaleOffset;transformedNormal.xyz*=scale;transformedNormal.xyz+=center*modelScaleOffset;}else{transformedNormal.xyz+=center*modelScaleOffset;transformedNormal.xyz*=map(noiseScale,0.,1.,0.987,1.01);transformedNormal.xyz-=center*modelScaleOffset;}transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w); 25076#include <instance_offset_vert> 25077/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/ 25078#include <world_position_transform_vert> 25079/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/ 25080#include <mv_position_transform_vert> 25081#include <varyings_vert> 25082gl_Position=projectionMatrix*mvPosition;}`,Tue=`#include <default_pars> 25083#include <default_frag_pars> 25084#include <dynamic_frag_pars> 25085#include <tonemapping_pars_fragment> 25086uniform int uToneMapping;varying vec2 vUv;varying float vMediumPanel;uniform float uMatcapContrast;void main(){ 25087#include <dynamic_frag> 25088gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(uMatcapContrast)); 25089#include <tonemapping_frag> 25090#include <colorspace_fragment> 25091}`;class Mue extends kA{constructor(e={}){e=An({vertexShader:Eue,fragmentShader:Tue,uniforms:{uMatcapContrast:{value:.8,gui:{min:.01,step:.
2509101}},uMouseRadius:{value:5,gui:{min:0,step:.1}},uMouseFalloff:{value:.5,gui:{min:0,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}}},transparent:!0},e),super(e)}}var Iue=`#include <default_pars> 25092#include <normals_tangents_vert_pars> 25093#include <world_position_transform_vert_pars> 25094attribute float _progress;attribute float _random;varying vec2 vUv;varying float vProgress;varying float vRandom;varying float vMouseMask;varying vec3 vPosition;uniform float uTime;uniform vec2 uMouse;uniform float uMouseRadius;uniform float uMouseFalloff;uniform vec2 uResolution;void main(){vUv=uv;vProgress=_progress;vRandom=_random;vPosition=position;vec4 transformedPosition=vec4(position,1.0);vec3 worldPos=(modelMatrix*transformedPosition).xyz;float screenAspect=uResolution.x/uResolution.y;vec4 earlyProjection=projectionMatrix*modelViewMatrix*transformedPosition;vec2 screenSpace=earlyProjection.xy/earlyProjection.w*vec2(0.5,0.5)+vec2(0.5,0.5);float screenToMouseDistance=distance(vec3(screenSpace,position.z*0.15),vec3(uMouse,0.25));vMouseMask=smoothstep(uMouseFalloff,1.,screenToMouseDistance*uMouseRadius);vMouseMask+=smoothstep(0.5,0.,worldPos.z);vMouseMask=clamp(vMouseMask,0.,1.); 25095#include <normals_tangents_vert> 25096#include <instance_offset_vert> 25097/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/ 25098#include <world_position_transform_vert> 25099/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/ 25100#include <mv_position_transform_vert> 25101#include <varyings_vert> 25102gl_Position=projectionMatrix*mvPosition;}`,Pue=`#include <default_pars> 25103#include <default_frag_pars> 25104#include <dynamic_frag_pars> 25105#include <tonemapping_pars_fragment> 25106uniform int uToneMapping;varying vec2 vUv;varying float vProgress;varying float vRandom;varying float vMouseMask;varying vec3 vPosition;uniform float uTime;uniform float uMatcapContrast;uniform float uFillLength;uniform float uEndFadeLength;uniform float uStartFadeLength;uniform float uFillRepeat;uniform float uSpeed;uniform float uRevealProgress;uniform vec3 uHighlightColor;uniform float uHighlightStrength;uniform float uHighlightRevealProgress;uniform bool uDevCameraActive;uniform vec2 uMouse;vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(startThreshold-endThreshold,startThreshold,endThreshold);}void main(){ 25107#include <dynamic_frag> 25108vec4 mouse=vec4(uMouse,0.,1.);float mask=vMouseMask;gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(uMatcapContrast));float time=uTime*uSpeed;float progress=map(vProgress,0.,1.,0.,1.)+time+vRandom;vec3 thresholds=loopingThreshold(mod(progress,1.0),uFillLength,uStartFadeLength,uEndFadeLength,uFillRepeat);thresholds=clamp(thresholds,0.,1.);float revealProgress=1.-map(uRevealProgress,0.,1.,-0.1,1.2);gl_FragColor.rgb=mix(gl_FragColor.rgb,mix(gl_FragColor.rgb*uHighlightColor*uHighlightStrength,gl_FragColor.rgb,thresholds.x),uHighlightRevealProgress);gl_FragColor.a*=smoothstep(revealProgress-0.001,revealProgress,1.-map(vPosition.y+vRandom*0.3,-1.,1.,0.,1.)); 25109#include <tonemapping_frag> 25110#include <colorspace_fragment> 25111}`;class Rue extends kA{constructor(e={}){e=An({vertexShader:Iue,fragmentShader:Pue,uniforms:{uMatcapContrast:{value:.8,gui:{min:.01,step:.01}},uMatcapBlendMode:{value:2},uFillLength:{value:.3,gui:{min:0,max:1,step:.001}},uStartFadeLength:{value:.05,gui:{min:0,max:.9999,step:.001}},uEndFadeLength:{value:.05,gui:{min:0,max:.999,step:.001}},uFillRepeat:{value:1,gui:{min:0,max:20,step:1}},uSpeed:{value:.2,gui:{min:0,max:10,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}},uHighlightColor:{value:new ke(0)},uHighlightStrength:{value:10,gui:{min:0,max:100,step:.1}}
25111,uHighlightRevealProgress:{value:0,gui:{min:0,max:1,step:.01}},uMouseRadius:{value:2.5,gui:{min:0,step:.1}},uMouseFalloff:{value:.9,gui:{min:0,step:.01}}},transparent:!0},e),super(e)}generatePMREMDefines(){}}class Bue extends uo(){constructor(){super({name:"Engineering Orb"}),this.smoothMouse=new Re,this.mouseLerpSpeed=.075}build(){this.group=new Ha,this.group.name=this.name+" Group",this.add(this.group),this.group.rotation.x=.85,this.group.rotation.z=.25,this.mesh=new Qe(this.assets.models.orb.geometry,new Mue({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeBlurred},uMouse:{value:this.smoothMouse}},defines:{USE_MATCAP:!0}})),this.mesh.geometry.computeTangents(),this.mesh.name=this.name,this.group.add(this.mesh),this.meshGaps=new Qe(this.assets.models.orbGaps.geometry,new Rue({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeRing},uMouse:{value:this.smoothMouse}},defines:{USE_MATCAP:!0}})),this.meshGaps.name=this.name+" Gaps",this.group.add(this.meshGaps)}update(){this.smoothMouse.lerp(S.pointer.glScreenSpace,this.mouseLerpSpeed);let e=Math.abs(this.parent.scrollVelocity)*7e-6;this.group.rotation.y+=.001+e}load(){S.AssetLoader.loadGltf("/webgl/models/engineering-orb.glb").then(e=>{this.assets.models.orb=e.scene.children[0]}),S.AssetLoader.loadGltf("/webgl/models/engineering-orb-gaps.glb").then(e=>{this.assets.models.orbGaps=e.scene.children[0]}),S.AssetLoader.loadTexture("/webgl/textures/blurry_silver_mirrorball.jpg").then(e=>{this.assets.textures.matcapChromeBlurred=e}),S.AssetLoader.loadTexture("/webgl/textures/chrome-ring.png").then(e=>{this.assets.textures.matcapChromeRing=e})}addGui(){S.theatre.helper.autoAddObject(this.group,this.parent.prettyName,{exclude:["rotation"]}),S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{exclude:["position","rotation","scale","uMouse"]}),S.theatre.helper.autoAddObject(this.meshGaps,this.parent.prettyName,{exclude:["position","rotation","scale","uMouse"]}),S.theatre.helper.addSheetObject(this.parent.prettyName,"Mouse Settings",{mouseLerpSpeed:Te.types.number(this.mouseLerpSpeed,{range:[0,1],nudgeMultiplier:.001})}).onValuesChange(e=>{this.mouseLerpSpeed=e.mouseLerpSpeed},S.theatre.rafDriver)}}class Due extends cc{constructor(){super("engineering-orb",{domId:"engineering",domAlign:"left"}),this.components=Object.assign({orb:new Bue}),this.scrollVelocity=0}build(){super.build(),this.renderEnvMap()}renderEnvMap(){const e=new Gg(256),t=new nP(1,1e3,e);this.components.orb.visible=!1,t.update(S.WebGL.renderer,this),this.components.orb.visible=!0,e.texture.isHDR=!1;const i=S.WebGL.pmremHandler.buildEnvironmentTexture(this,e.texture);this.components.orb.mesh.material.uniforms.tEnvMap.value=i,this.components.orb.mesh.material.defines.USE_ENV=!0,this.components.orb.mesh.material.generatePMREMDefines(),this.components.orb.mesh.material.needsUpdate=!0}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.1)),super.update()}}var Lue=`#define STANDARD 25112#ifdef PHYSICAL 25113#define IOR 25114#define USE_SPECULAR 25115#endif 25116uniform vec3 diffuse;uniform vec3 emissive;uniform float roughness;uniform float metalness;uniform float opacity; 25117#ifdef IOR 25118uniform float ior; 25119#endif 25120#ifdef USE_SPECULAR 25121uniform float specularIntensity;uniform vec3 specularColor; 25122#ifdef USE_SPECULAR_COLORMAP 25123uniform sampler2D specularColorMap; 25124#endif 25125#ifdef USE_SPECULAR_INTENSITYMAP 25126uniform sampler2D specularIntensityMap; 25127#endif 25128#endif 25129#ifdef USE_CLEARCOAT 25130uniform float clearcoat;uniform float clearcoatRoughness; 25131#endif 25132#ifdef USE_DISPERSION 25133uniform float dispersion; 25134#endif 25135#ifdef USE_IRIDESCENCE 25136uniform float iridescence;uniform float iridescenceIOR;uniform float iridescenceThicknessMinimum;uniform float iridescenceThicknessMaximum; 25137#endif 25138#ifdef USE_SHEEN 25139uniform vec3 sheenColor;uniform float sheenRoughness; 25140#ifdef USE_SHEEN_COLORMAP 25141uniform sampler2D sheenColorMap; 25142#endif 25143#ifdef USE_SHEEN_ROUGHNESSMAP 25144uniform sampler2D sheenRoughnessMap; 25145#endif 25146#endif 25147#ifdef USE_ANISOTROPY 25148uniform vec2 anisotropyVector; 25149#ifdef USE_ANISOTROPYMAP 25150uniform sampler2D anisotropyMap; 25151#endif 25152#endif 25153varying vec3 vViewPosition;varying vec2 vUv; 25154#include <common> 25155#include <packing> 25156#include <dithering_pars_fragment> 25157#include <color_pars_fragment> 25158#include <uv_pars_fragment> 25159#include <map_pars_fragment> 25160#include <alphamap_pars_fragment> 25161#include <alphatest_pars_fragment> 25162#include <alphahash_pars_fragment> 25163#include <aomap_pars_fragment> 25164#include <lightmap_pars_fragment> 25165#include <emissivemap_pars_fragment> 25166#include <iridescence_fragment> 25167#include <cube_uv_reflection_fragment> 25168#include <envmap_common_pars_fragment> 25169#include <envmap_physical_pars_fragment> 25170#include <fog_pars_fragment> 25171#include <lights_pars_begin> 25172#include <normal_pars_fragment> 25173#include <lights_physical_pars_fragment> 25174vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}
25174float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+1.0*C.xxx;vec3 x2=x0-i2+2.0*C.xxx;vec3 x3=x0-1.+3.0*C.xxx;i=mod(i,289.0);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=1.0/7.0;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}uniform sampler2D tBackgroundPass;uniform sampler2D tFluidSim;uniform vec2 uResolution;uniform float transmission;uniform float thickness;uniform float attenuationDistance;uniform vec3 attenuationColor; 25175#ifdef USE_TRANSMISSIONMAP 25176uniform sampler2D transmissionMap; 25177#endif 25178#ifdef USE_THICKNESSMAP 25179uniform sampler2D thicknessMap; 25180#endif 25181uniform vec2 transmissionSamplerSize;uniform sampler2D transmissionSamplerMap;uniform mat4 modelMatrix;uniform mat4 projectionMatrix;varying vec3 vWorldPosition;float w0(float a){return(1.0/6.0)*(a*(a*(-a+3.0)-3.0)+1.0);}float w1(float a){return(1.0/6.0)*(a*a*(3.0*a-6.0)+4.0);}float w2(float a){return(1.0/6.0)*(a*(a*(-3.0*a+3.0)+3.0)+1.0);}float w3(float a){return(1.0/6.0)*(a*a*a);}float g0(float a){return w0(a)+w1(a);}float g1(float a){return w2(a)+w3(a);}float h0(float a){return-1.0+w1(a)/(w0(a)+w1(a));}float h1(float a){return 1.0+w3(a)/(w2(a)+w3(a));}vec4 bicubic(sampler2D tex,vec2 uv,vec4 texelSize,float lod){uv=uv*texelSize.zw+0.5;vec2 iuv=floor(uv);vec2 fuv=fract(uv);float g0x=g0(fuv.x);float g1x=g1(fuv.x);float h0x=h0(fuv.x);float h1x=h1(fuv.x);float h0y=h0(fuv.y);float h1y=h1(fuv.y);vec2 p0=(vec2(iuv.x+h0x,iuv.y+h0y)-0.5)*texelSize.xy;vec2 p1=(vec2(iuv.x+h1x,iuv.y+h0y)-0.5)*texelSize.xy;vec2 p2=(vec2(iuv.x+h0x,iuv.y+h1y)-0.5)*texelSize.xy;vec2 p3=(vec2(iuv.x+h1x,iuv.y+h1y)-0.5)*texelSize.xy;return g0(fuv.y)*(g0x*textureLod(tex,p0,lod)+g1x*textureLod(tex,p1,lod))+g1(fuv.y)*(g0x*textureLod(tex,p2,lod)+g1x*textureLod(tex,p3,lod));}vec4 textureBicubic(sampler2D sampler,vec2 uv,float lod){vec2 fLodSize=vec2(textureSize(sampler,int(lod)));vec2 cLodSize=vec2(textureSize(sampler,int(lod+1.0)));vec2 fLodSizeInv=1.0/fLodSize;vec2 cLodSizeInv=1.0/cLodSize;vec4 fSample=bicubic(sampler,uv,vec4(fLodSizeInv,fLodSize),floor(lod));vec4 cSample=bicubic(sampler,uv,vec4(cLodSizeInv,cLodSize),ceil(lod));return mix(fSample,cSample,fract(lod));}vec3 getVolumeTransmissionRay(const in vec3 n,const in vec3 v,const in float thickness,const in float ior,const in mat4 modelMatrix){vec3 refractionVector=refract(-v,normalize(n),1.0/ior);vec3 modelScale;modelScale.x=length(vec3(modelMatrix[0].xyz));modelScale.y=length(vec3(modelMatrix[1].xyz));modelScale.z=length(vec3(modelMatrix[2].xyz));return normalize(refractionVector)*thickness*modelScale;}float applyIorToRoughness(const in float roughness,const in float ior){return roughness*clamp(ior*2.0-2.0,0.0,1.0);}vec4 getTransmissionSample(const in vec2 fragCoord,const in float roughness,const in float ior){float lod=log2(transmissionSamplerSize.x)*applyIorToRoughness(roughness,ior);return textureBicubic(tBackgroundPass,fragCoord.xy,lod);}vec3 volumeAttenuation(const in float transmissionDistance,const in vec3 attenuationColor,const in float attenuationDistance){if(isinf(attenuationDistance)){return vec3(1.0);}else{vec3 attenuationCoefficient=-log(attenuationColor)/attenuationDistance;vec3 transmittance=exp(-attenuationCoefficient*transmissionDistance);return transmittance;}}vec4 getIBLVolumeRefraction(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 diffuseColor,const in vec3 specularColor,const in float specularF90,const in vec3 position,const in mat4 modelMatrix,const in mat4 viewMatrix,const in mat4 projMatrix,const in float dispersion,const in float ior,const in float thickness,const in vec3 attenuationColor,const in float attenuationDistance){vec4 transmittedLight;vec3 transmittance; 25182#ifdef USE_DISPERSION 25183float halfSpread=(ior-1.0)*0.025*dispersion;vec3 iors=vec3(ior-halfSpread,ior,ior+halfSpread);for(int i=0;i<3;i++){vec3 transmissionRay=getVolumeTransmissionRay(n,v,thickness,iors[i],modelMatrix);vec3 refractedRayExit=position+transmissionRay;vec4 ndcPos=projMatrix*viewMatrix*vec4(refractedRayExit,1.0);vec2 refractionCoords=ndcPos.xy/ndcPos.w;refractionCoords+=1.0;refractionCoords/=2.0;vec4 transmissionSample=getTransmissionSample(refractionCoords,roughness,iors[i]);transmittedLight[i]=transmissionSample[i];transmittedLight.a+=transmissionSample.a;transmittance[i]=diffuseColor[i]*volumeAttenuation(length(transmissionRay),attenuationColor,attenuationDistance)[i];}transmittedLight.a/=3.0; 25184#else 25185vec3 transmissionRay=getVolumeTransmissionRay(n,v,thickness,ior,modelMatrix);vec3 refractedRayExit=position+transmissionRay;vec4 ndcPos=projMatrix*viewMatrix*vec4(refractedRayExit,1.0);vec2 refractionCoords=ndcPos.xy/ndcPos.w;refractionCoords+=1.0;refractionCoords/=2.0;transmittedLight=getTransmissionSample(refractionCoords,roughness,ior);transmittance=diffuseColor*volumeAttenuation(length(transmissionRay),attenuationColor,attenuationDistance); 25186#endif 25187vec3 attenuatedColor=transmittance*transmittedLight.rgb;
25187vec3 F=EnvironmentBRDF(n,v,specularColor,specularF90,roughness);float transmittanceFactor=(transmittance.r+transmittance.g+transmittance.b)/3.0;return vec4((1.0-F)*attenuatedColor,1.0-(1.0-transmittedLight.a)*transmittanceFactor);} 25188#include <shadowmap_pars_fragment> 25189#include <bumpmap_pars_fragment> 25190#include <normalmap_pars_fragment> 25191#include <clearcoat_pars_fragment> 25192#include <iridescence_pars_fragment> 25193#include <roughnessmap_pars_fragment> 25194uniform float uFresnelAmount;uniform float uFresnelOffset;uniform float uFresnelFalloff;varying vec3 vView;varying vec3 vNormalFresnel;varying vec3 vPosition;uniform float uTime;uniform vec3 uHighlightColor;float map(float value,float min1,float max1,float min2,float max2){return min2+(value-min1)*(max2-min2)/(max1-min1);}vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(clamp(startThreshold-endThreshold,0.,1.),startThreshold,endThreshold);}float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);} 25195#include <metalnessmap_pars_fragment> 25196#include <logdepthbuf_pars_fragment> 25197#include <clipping_planes_pars_fragment> 25198void main(){vec4 diffuseColor=vec4(diffuse,opacity); 25199#include <clipping_planes_fragment> 25200ReflectedLight reflectedLight=ReflectedLight(vec3(0.0),vec3(0.0),vec3(0.0),vec3(0.0));vec3 totalEmissiveRadiance=emissive; 25201#include <logdepthbuf_fragment> 25202#include <map_fragment> 25203#include <color_fragment> 25204#include <alphamap_fragment> 25205#include <alphatest_fragment> 25206#include <alphahash_fragment> 25207#include <roughnessmap_fragment> 25208#include <metalnessmap_fragment> 25209#include <normal_fragment_begin> 25210vec2 screenCoords=gl_FragCoord.xy/uResolution.xy;vec3 fluidColor=texture2D(tFluidSim,screenCoords).rgb;float fluid=luminance(abs(fluidColor.rgb));fluid=smoothstep(0.1,0.9,fluid);fluid*=1.;vec3 viewDir=normalize(vView);float fresnel=fresnelFunc(uFresnelAmount,uFresnelOffset,uFresnelFalloff,normalize(vNormalFresnel),viewDir);roughnessFactor*=fresnel;float noise=snoise(vec3(vUv*10.,uTime*0.3))*0.5+0.5;float mappedYPosition=map(vPosition.y,-2.,2.,0.0,1.0);float mappedYPositionTopMask=smoothstep(-0.3,0.,vPosition.y);float time=uTime*0.12;float rippleFade=loopingThreshold(mod(mappedYPosition+time+noise*0.1,1.),0.6,0.2,0.9,2.).x;rippleFade*=1.-mappedYPositionTopMask;rippleFade=clamp(rippleFade,0.,1.);fluid*=1.-mappedYPositionTopMask; 25211#ifdef USE_NORMALMAP_OBJECTSPACE 25212normal=texture2D(normalMap,vNormalMapUv).xyz*2.0-1.0; 25213#ifdef FLIP_SIDED 25214normal=-normal; 25215#endif 25216#ifdef DOUBLE_SIDED 25217normal=normal*faceDirection; 25218#endif 25219normal=normalize(normalMatrix*normal); 25220#elif defined( USE_NORMALMAP_TANGENTSPACE ) 25221vec3 mapN=texture2D(normalMap,vNormalMapUv).xyz*2.0-1.0;mapN.xy*=normalScale;normal=mix(normal,normalize(tbn*mapN),1.-mappedYPositionTopMask); 25222#elif defined( USE_BUMPMAP ) 25223normal=perturbNormalArb(-vViewPosition,normal,dHdxy_fwd(),faceDirection); 25224#endif 25225#include <clearcoat_normal_fragment_begin> 25226#include <clearcoat_normal_fragment_maps> 25227#include <emissivemap_fragment> 25228#include <lights_physical_fragment> 25229#include <lights_fragment_begin> 25230#include <lights_fragment_maps> 25231#include <lights_fragment_end> 25232float ambientOcclusion=texture2D(aoMap,vAoMapUv).r;vec3 totalDiffuse=reflectedLight.directDiffuse+reflectedLight.indirectDiffuse;vec3 totalSpecular=reflectedLight.directSpecular+reflectedLight.indirectSpecular; 25233#include <transmission_fragment> 25234vec3 outgoingLight=totalDiffuse+totalSpecular+totalEmissiveRadiance; 25235#ifdef USE_SHEEN 25236float sheenEnergyComp=1.0-0.157*max3(material.sheenColor);outgoingLight=outgoingLight*sheenEnergyComp+sheenSpecularDirect+sheenSpecularIndirect; 25237#endif 25238#ifdef USE_CLEARCOAT 25239float dotNVcc=saturate(dot(geometryClearcoatNormal,geometryViewDir));vec3 Fcc=F_Schlick(material.clearcoatF0,material.clearcoatF90,dotNVcc);outgoingLight=outgoingLight*(1.0-material.clearcoat*Fcc)+(clearcoatSpecularDirect+clearcoatSpecularIndirect)*material.clearcoat; 25240#endif 25241outgoingLight.rgb+=vec3(1.-ambientOcclusion)*uHighlightColor*rippleFade*10.;outgoingLight.rgb+=vec3(1.-ambientOcclusion)*attenuationColor*fluid*10.; 25242#include <opaque_fragment> 25243#include <tonemapping_fragment> 25244#include <colorspace_fragment> 25245#include <fog_fragment> 25246#include <premultiplied_alpha_fragment> 25247#include <dithering_fragment> 25248}`;class Oue extends co{constructor(t={}){t=An({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,attenuationDistance:200},customUniforms:{uFresnelAmount:{value:3,gui:{min:0,max:100,step:.
2524801}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}},uHighlightColor:{value:new ke(16777215)}},backgroundSavePass:null},t);super(t.materialOpts);he(this,"onBeforeCompile",t=>{Object.assign(t.uniforms,{...this.customUniforms,tBackgroundPass:{value:this.backgroundSavePass.renderTarget.texture}}),t.vertexShader=t.vertexShader.replace("#include <normal_pars_vertex>",` 25249 #include <normal_pars_vertex> 25250 varying vec3 vView; 25251 varying vec3 vNormalFresnel; 25252 varying vec3 vPosition; 25253 varying vec2 vUv; 25254 `),t.vertexShader=t.vertexShader.replace("#include <worldpos_vertex>",` 25255 #include <worldpos_vertex> 25256 vView = normalize(cameraPosition - worldPosition.xyz); // view direction in object space 25257 vNormalFresnel = normalize((modelMatrix * vec4(normal, 0.0)).xyz); // normalized object space normals 25258 `),t.vertexShader=t.vertexShader.replace("#include <begin_vertex>",` 25259 #include <begin_vertex> 25260 vPosition = vec3( position ); 25261 vUv = uv; 25262 `),t.fragmentShader=Lue});this.backgroundSavePass=t.backgroundSavePass,this.customUniforms=t.customUniforms}}var Fue=`#include <common> 25263#include <color_pars_vertex> 25264#include <clipping_planes_pars_vertex> 25265uniform float linewidth;uniform vec2 uResolution;attribute vec3 instanceStart;attribute vec3 instanceEnd;attribute float _random1;attribute float _random2;attribute float instanceProgressStart;attribute float instanceProgressEnd;varying float vProgress;varying float vRandom1;varying float vRandom2;varying vec2 vUv; 25266#ifdef WORLD_UNITS 25267varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 25268#endif 25269void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}void main(){vRandom1=_random1;vRandom2=_random2;vUv=uv;vProgress=(position.y<0.5)? instanceProgressStart : instanceProgressEnd;float aspect=uResolution.x/uResolution.y;vec4 start=modelViewMatrix*vec4(instanceStart,1.0);vec4 end=modelViewMatrix*vec4(instanceEnd,1.0); 25270#ifdef WORLD_UNITS 25271worldStart=start.xyz;worldEnd=end.xyz; 25272#endif 25273bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir); 25274#ifdef WORLD_UNITS 25275vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=linewidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp; 25276#ifndef USE_DASH 25277worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;} 25278#endif 25279vec4 clip=projectionMatrix*worldPos;vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w; 25280#else 25281vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=linewidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset; 25282#endif 25283gl_Position=clip;vec4 mvPosition=(position.y<0.5)? start : end; 25284#include <clipping_planes_vertex> 25285}`,Uue=`varying float vProgress;varying float vRandom1;varying float vRandom2;varying vec2 vUv;uniform vec3 diffuse;uniform float opacity;uniform float linewidth;uniform float uRevealProgress;uniform float uParticleProgress;uniform float uAmbientParticleProgress;uniform bool uDevCameraActive;uniform float uTime; 25286#ifdef WORLD_UNITS 25287varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd; 25288#endif 25289#include <default_pars> 25290#include <color_pars_fragment> 25291#include <clipping_planes_pars_fragment> 25292vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;
25292float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float pulse(float time,float frequency){const float pi=3.14;return 0.5*(1.+sin(2.*pi*frequency*time));}vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(startThreshold-endThreshold,startThreshold,endThreshold);}void main(){ 25293#include <clipping_planes_fragment> 25294if(vUv.y<-1.0||vUv.y>1.0)discard;float alpha=opacity;alpha*=pulse(vProgress-vRandom2-uTime*0.2,2.)*1.;float randomReveal=map(vRandom1,0.,1.,0.7,1.);float revealThreshold=1.-smoothstep(uRevealProgress-0.1,uRevealProgress,vProgress*randomReveal);if(uDevCameraActive)revealThreshold=1.;alpha*=revealThreshold;float time=uParticleProgress+vRandom2*0.01;float progress=map(vProgress,0.,1.,0.,1.)-time;vec3 thresholds=loopingThreshold(mod(progress,1.0),0.005,0.01,0.01,1.)*(1.+vRandom2*50.);alpha+=thresholds.x; 25295#ifdef WORLD_UNITS 25296vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/linewidth; 25297#ifndef USE_DASH 25298#ifdef USE_ALPHA_TO_COVERAGE 25299float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm)+opacity; 25300#else 25301if(norm>0.5){discard;} 25302#endif 25303#endif 25304#else 25305#ifdef USE_ALPHA_TO_COVERAGE 25306float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);} 25307#else 25308if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;} 25309#endif 25310#endif 25311vec4 diffuseColor=vec4(pow(diffuse,vec3(1.3+(vRandom1*2.-1.))),alpha);alpha*=smoothstep(1.-vRandom2*0.25,0.5+vRandom2*0.25,vProgress);time=uTime*(0.05+vRandom2*0.05)+vRandom1*0.9;progress=map(vProgress,0.,1.,0.,1.)-time;thresholds=loopingThreshold(mod(progress,1.0),0.01,0.01,0.01,2.)*(1.+vRandom2*10.)*(1.-smoothstep(uAmbientParticleProgress-0.1,uAmbientParticleProgress,vProgress));alpha+=thresholds.x;gl_FragColor=vec4(diffuseColor.rgb,alpha); 25312#include <tonemapping_fragment> 25313#include <colorspace_fragment> 25314#include <premultiplied_alpha_fragment> 25315}`;class d6 extends is{constructor(e={}){e=An({vertexShader:Fue,fragmentShader:Uue,uniforms:{diffuse:{value:new ke(16777215)},opacity:{value:1,gui:{min:0,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}},uParticleProgress:{value:0,gui:{min:-1,max:2,step:.01}},uAmbientParticleProgress:{value:0,gui:{min:-1,max:2,step:.01}},linewidth:{value:1,gui:{step:.01}}},defines:{USE_ALPHA_TO_COVERAGE:!1,WORLD_UNITS:!1},transparent:!0},e),super(e)}}class Nue extends uo(){constructor(){super({name:"Biology Orb"})}build(){this.group=new Ha,this.group.name=this.name+" / Group",this.add(this.group),this.irisLines=new ip(new Dd,new d6),this.irisLines.name=this.name+" / Iris Lines";const e=this.assets.models.irisLines.geometry.toNonIndexed();this.irisLines.geometry.setPositions(e.attributes.position.array);const t=e.attributes._progress,i=new Float32Array(t.count);for(let c=0,u=0,f=t.count;c<f;c++,u+=2)i[u]=t.getX(u),i[u+1]=t.getX(u+1);const r=new Yr(i,2,1);this.irisLines.geometry.setAttribute("instanceProgressStart",new fn(r,1,0)),this.irisLines.geometry.setAttribute("instanceProgressEnd",new fn(r,1,1)),this.irisLines.geometry.setAttribute("_random1",new fn(new Yr(e.attributes._random1.array,2,1),1,0)),this.irisLines.geometry.setAttribute("_random2",new fn(new Yr(e.attributes._random2.array,2,1),1,0)),this.group.add(this.irisLines),this.irisLines2=new ip(new Dd,new d6),this.irisLines2.name=this.name+" / Iris Lines 2";const s=this.assets.models.irisLines2.geometry.toNonIndexed();this.irisLines2.geometry.setPositions(s.attributes.position.array);const o=s.attributes._progress,a=new Float32Array(o.count);for(let c=0,u=0,f=o.count;c<f;c++,u+=2)a[u]=o.getX(u),a[u+1]=o.getX(u+1);const l=new Yr(a,2,1);this.irisLines2.geometry.setAttribute("instanceProgressStart",new fn(l,1,0)),this.irisLines2.geometry.setAttribute("instanceProgressEnd",new fn(l,1,1)),this.irisLines2.geometry.setAttribute("_random1",new fn(new Yr(s.attributes._random1.array,2,1),1,0)),this.irisLines2.geometry.setAttribute("_random2",new fn(new Yr(s.attributes._random2.array,2,1),1,0)),this.group.add(this.irisLines2),this.ball=new Qe(this.assets.models.ball.geometry,new Oue({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,envMap:this.assets.textures.envmap,normalMap:this.assets.textures.ballNormal,aoMap:this.assets.textures.ballAo},customUniforms:{tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture}
25315,uFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}},uTime:S.WebGL.globalUniforms.uTime,uResolution:S.WebGL.globalUniforms.uResolution},backgroundSavePass:this.parent.backgroundSavePass})),this.ball.name=this.name+" / Ball",this.ball.renderOrder=1,this.group.add(this.ball),this.ball.onBeforeRender=()=>{S.WebGL.renderer.clear(!1,!0,!1),this.ball.material.customUniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.ball.material.customUniforms.uResolution.value.copy(S.WebGL.globalUniforms.uResolution.value),this.ball.material.customUniforms.uTime.value=S.WebGL.globalUniforms.uTime.value}}load(){S.AssetLoader.loadGltf("/webgl/models/eye.glb").then(e=>{this.assets.models.irisLines=e.scene.getObjectByName("iris-lines-01"),this.assets.models.irisLines2=e.scene.getObjectByName("iris-lines-02"),this.assets.models.ball=e.scene.getObjectByName("ball")}),S.AssetLoader.loadTexture("/webgl/textures/soft-light-env.webp",{mapping:Ya,wrapping:ts,colorSpace:En}).then(e=>{this.assets.textures.envmap=e}),S.AssetLoader.loadTexture("/webgl/textures/hex-normal.png",{wrapping:ts}).then(e=>{this.assets.textures.ballNormal=e}),S.AssetLoader.loadTexture("/webgl/textures/hex-ao.jpg",{wrapping:ts,minFilter:Yt}).then(e=>{this.assets.textures.ballAo=e})}addGui(){S.theatre.helper.autoAddObject(this.group,this.parent.prettyName,{exclude:["position","rotation"]}).onValuesChange(i=>{this.irisLines.scale.copy(i.transforms.scale),this.irisLines2.scale.copy(i.transforms.scale)},S.theatre.rafDriver),S.theatre.helper.autoAddObject(this.irisLines,this.parent.prettyName,{exclude:["position","rotation","scale"]}),S.theatre.helper.autoAddObject(this.irisLines2,this.parent.prettyName,{exclude:["position","rotation","scale"]});const e=new ke(16777215);e.convertLinearToSRGB(),e.isSRGB=!0;const t={material:{fresnelAmount:Te.types.number(this.ball.material.customUniforms.uFresnelAmount.value,{range:[0,100],nudgeMultiplier:.01}),fresnelOffset:Te.types.number(this.ball.material.customUniforms.uFresnelOffset.value,{range:[0,1],nudgeMultiplier:.001}),fresnelFalloff:Te.types.number(this.ball.material.customUniforms.uFresnelFalloff.value,{range:[0,100],nudgeMultiplier:.01}),highlightColor:Te.types.rgba({r:e.r,g:e.g,b:e.b,a:1},{label:"Highlight Color"})}};S.theatre.helper.autoAddObject(this.ball,this.parent.prettyName,{additionalConfig:t}).onValuesChange(i=>{this.ball.material.customUniforms.uFresnelAmount.value=i.material.fresnelAmount,this.ball.material.customUniforms.uFresnelOffset.value=i.material.fresnelOffset,this.ball.material.customUniforms.uFresnelFalloff.value=i.material.fresnelFalloff,this.ball.material.customUniforms.uHighlightColor.value.copySRGBToLinear(i.material.highlightColor)},S.theatre.rafDriver)}}class kue extends cc{constructor(){super("biology-orb",{domId:"biology",domAlign:"right"}),this.components=Object.assign({orb:new Nue}),this.glassObjectsScene=new Wa,this.glassObjectsScene.name=this.prettyName}start(){super.start(),this.renderPassOrbObjects.enabled=!0,this.backgroundSavePass.enabled=!0}stop(){super.stop(),this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass.enabled=!1}build(){super.build(),this.glassObjectsScene.add(this.backgroundSphere),this.glassObjectsScene.add(this.components.orb.irisLines),this.glassObjectsScene.add(this.components.orb.irisLines2)}buildPasses(){super.buildPasses(),this.renderPass.clear=!1,this.renderPass.clearDepth=!0,this.renderPassOrbObjects=new m4(this.glassObjectsScene,this.activeCamera),this.renderPassOrbObjects.name=`${this.name} Render Orb Objects`,this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass=new g4(new li(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio(),{type:nn,generateMipmaps:!0,minFilter:jx})),this.backgroundSavePass.name=`${this.name} Background Save`,this.backgroundSavePass.enabled=!1,this.backgroundSavePass.renderTarget.setSize(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio()),S.WebGL.composerPasses.add(this.renderPassOrbObjects,S.WebGL.composerPassOrder[this.name]+2),S.WebGL.composerPasses.add(this.backgroundSavePass,S.WebGL.composerPassOrder[this.name]+3)}addAdditionalDesktopScrollAnimations(e){e.fromTo([this.components.orb.group.position,this.components.orb.irisLines.position,this.components.orb.irisLines2.position],{x:-1.34,y:.8,z:0},{x:0,y:0,z:0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"center center-=10%",end:"top top-=30%",scrub:.1}},0).fromTo([this.components.orb.group.rotation,this.components.orb.irisLines.rotation,this.components.orb.irisLines2.rotation],{x:.78,y:.08,z:.81},{x:.82,y:1.46,z:.73,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"center center-=10%",end:"top top-=30%",scrub:.1}},0)}addAdditionalMobileScrollAnimations(e){e.fromTo([this.components.orb.group.position,this.components.orb.irisLines.position,this.components.orb.irisLines2.position],{x:-1.47,y:.8,z:0},{x:0,y:0,z:0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"top top",end:"top top-=10%",scrub:.1,preventOverlaps:!0,fastScrollEnd:!0}},0).fromTo([this.components.orb.group.rotation,this.components.orb.irisLines.rotation,this.components.orb.irisLines2.rotation],{x:.78,y:.08,z:.81},{x:.82,y:1.46,z:.73,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"top top",end:"top top-=10%",scrub:.1,preventOverlaps:!0,fastScrollEnd:!0}},0)}destroy(){super.destroy(),this.renderPassOrbObjects.dispose(),this.backgroundSavePass.dispose()}}var zue=`#include <default_pars> 25316#include <normals_tangents_vert_pars> 25317#include <world_position_transform_vert_pars> 25318varying vec2 vUv;varying vec3 vPos;varying float vRingId;varying float vDisplacement;attribute vec2 aFboUv;uniform float uTime;uniform vec3 uScale;uniform sampler2D tPosition;uniform sampler2D tOriginalPosition;varying vec3 vDebug;varying vec2 vHighPrecisionZW;uniform float uEnterBlockScale;float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}mat3 lookAtPoint(vec3 target,vec3 position){vec3 localUp=vec3(0,1,0);vec3 forward=normalize(position-target);vec3 right=normalize(cross(localUp,forward));vec3 up=normalize(cross(forward,right));return mat3(right,up,forward);}mat3 rotationMatrix(vec3 axis,float angle){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}float rand(float n){return fract(sin(n)*43758.5453123);}void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);vec4 originalPosFetch=texture2D(tOriginalPosition,aFboUv);vRingId=originalPosFetch.w;vec4 tilePosition=texture2D(tPosition,aFboUv);vDisplacement=tilePosition.w;transformedPosition.xyz*=uScale;float normalizeRingIndex=vRingId/40.0;float scaleSmoothness=0.2;float mappedScaleProgress=map(uEnterBlockScale,0.0,1.0,0.0,1.0+scaleSmoothness);transformedPosition.xyz*=1.0-smoothstep(mappedScaleProgress-scaleSmoothness,mappedScaleProgress,1.0-normalizeRingIndex);float scaleAmount=mix(0.5,1.0,smoothstep(0.0,4.0,originalPosFetch.w)-smoothstep(33.0,37.,originalPosFetch.w));transformedPosition.x*=scaleAmount;mat3 lookAt=lookAtPoint(tilePosition.xyz,vec3(0.0));transformedPosition.xyz=lookAt*transformedPosition.xyz; 25319#include <instance_offset_vert> 25320transformedPosition.xyz+=tilePosition.xyz;vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=lookAtPoint(transformedPosition.xyz,vec3(0.0))*objectNormal; 25321#ifdef USE_INSTANCING 25322mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal; 25323#endif 25324transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);vPos=transformedPosition.xyz;vDebug=vec3(tilePosition.w); 25325#include <world_position_transform_vert> 25326#include <mv_position_transform_vert> 25327#include <varyings_vert> 25328gl_Position=projectionMatrix*mvPosition;vHighPrecisionZW=gl_Position.zw;}`,Hue=`#include <default_pars> 25329#include <packing> 25330#include <default_frag_pars> 25331#include <dynamic_frag_pars> 25332#include <tonemapping_pars_fragment> 25333uniform int uToneMapping;varying float vRingId;varying vec2 vUv;varying vec3 vDebug;varying vec3 vPos;varying float vDisplacement;uniform bool uDevCameraActive;uniform bool uDebug;uniform vec3 uInsideGlowColor;uniform float uInsideGlowStrength;uniform vec3 uDisplacementColor;varying vec2 vHighPrecisionZW;void main(){ 25334#if defined(DEPTH_PACKING) || defined(DEPTH_NORMAL_PACKING)
25335gl_FragColor=vec4(vec3(1.),1.0); 25336#else 25337#include <dynamic_frag> 25338gl_FragColor.rgb+=max(0.0,smoothstep(-0.5,0.5,-vPos.z))*uInsideGlowStrength*uInsideGlowColor;gl_FragColor.rgb+=uDisplacementColor*vDisplacement;if(uDebug)gl_FragColor.rgb=vec3(vDebug); 25339#endif 25340if(vRingId>100.0){discard;} 25341#include <tonemapping_frag> 25342#include <colorspace_fragment> 25343#ifdef DEPTH_PACKING 25344float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=vec4(1.0)-vec4(vec3(0.0),1.0); 25345#elif defined(DEPTH_NORMAL_PACKING) 25346float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;pc_fragColor=vec4(vNormal,fragCoordZ); 25347#endif 25348}`;class Vue extends kA{constructor(e={}){e=An({vertexShader:zue,fragmentShader:Hue,uniforms:{uEnterBlockScale:{value:1,gui:{min:0,max:1,step:.01}},uScale:{value:new K(1,1,1),gui:{min:0,step:.01}},uDisplacementColor:{value:new ke(16711935)},uInsideGlowColor:{value:new ke(16770019)},uInsideGlowStrength:{value:1,gui:{min:0,step:.01}},uDebug:{value:!1},uRoughness:{value:.023,gui:{min:0,max:1,step:.001}},uMetalness:{value:1,gui:{min:0,max:1,step:.001}},uMatcapBlendMode:{value:5,gui:{min:0,max:5,step:1}}},defines:{FLAT_SHADED:!0,USE_MATCAP:!1,USE_ENV:!0}},e),super(e)}}var Gue=`#include <default_pars> 25349varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform float uLerpSpeed;uniform float uSetup;uniform float uRingRotationSpeed;uniform float uRotationAngle;uniform vec2 uMouse;uniform float uMouseDisplacementStrength;uniform float uMouseRadius;uniform float uMouseFresnelAmount;uniform float uMouseFresnelOffset;uniform float uMouseFresnelFalloff;uniform float uAmbientDisplacementStrength;uniform float uAmbientDisplacementScale;uniform float uAmbientDisplacementSpeed;uniform float uBeatOscillationSpeed;uniform float uBeatSpeed;float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float rand(float n){return fract(sin(n)*43758.5453123);}mat3 rotationMatrix(vec3 axis,float angle){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}vec3 fade(vec3 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec3 P){vec3 Pi0=floor(P);vec3 Pi1=Pi0+vec3(1.0);Pi0=mod(Pi0,289.0);Pi1=mod(Pi1,289.0);vec3 Pf0=fract(P);vec3 Pf1=Pf0-vec3(1.0);vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4 iy=vec4(Pi0.yy,Pi1.yy);vec4 iz0=Pi0.zzzz;vec4 iz1=Pi1.zzzz;vec4 ixy=permute(permute(ix)+iy);vec4 ixy0=permute(ixy+iz0);vec4 ixy1=permute(ixy+iz1);vec4 gx0=ixy0/7.0;vec4 gy0=fract(floor(gx0)/7.0)-0.5;gx0=fract(gx0);vec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4 sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4 gx1=ixy1/7.0;vec4 gy1=fract(floor(gx1)/7.0)-0.5;gx1=fract(gx1);vec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4 sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3 g000=vec3(gx0.x,gy0.x,gz0.x);vec3 g100=vec3(gx0.y,gy0.y,gz0.y);vec3 g010=vec3(gx0.z,gy0.z,gz0.z);vec3 g110=vec3(gx0.w,gy0.w,gz0.w);vec3 g001=vec3(gx1.x,gy1.x,gz1.x);vec3 g101=vec3(gx1.y,gy1.y,gz1.y);vec3 g011=vec3(gx1.z,gy1.z,gz1.z);vec3 g111=vec3(gx1.w,gy1.w,gz1.w);vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float n000=dot(g000,Pf0);float n100=dot(g100,vec3(Pf1.x,Pf0.yz));float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float n110=dot(g110,vec3(Pf1.xy,Pf0.z));float n001=dot(g001,vec3(Pf0.xy,Pf1.z));float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float n011=dot(g011,vec3(Pf0.x,Pf1.yz));float n111=dot(g111,Pf1);vec3 fade_xyz=fade(Pf0);vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return 2.2*n_xyz;}float noise(float p){float fl=floor(p);float fc=fract(p);return mix(rand(fl),rand(fl+1.0),fc);}float noise(vec2 n){const vec2 d=vec2(0.0,1.0);vec2 b=floor(n),f=smoothstep(vec2(0.0),vec2(1.0),fract(n));return mix(mix(rand(b),rand(b+d.yx),f.x),mix(rand(b+d.xy),rand(b+d.yy),f.x),f.y);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeInExpo(float t,float power){return pow(2.0,power*(t-1.0));}void main(){vec2 uv=vUv;vec4 originalPosFetch=texture2D(tOriginalTexture,uv);float ringId=originalPosFetch.w;vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;float randOffset=max(0.3,rand(ringId+545864.));float direction=1.0;mat3 rotation=rotationMatrix(vec3(0.,1.,0.),uTime*randOffset*direction*uRingRotationSpeed);rotation=rotation*rotationMatrix(vec3(0.,1.,0.),uRotationAngle);vec3 target=rotation*originalPosFetch.xyz;float randomIndex=rand(vUv);float randomIndex2=rand(vUv*2.0+4651.);vec3 sphereNormal=normalize(originalPosFetch.xyz);vec3 rotatedNormal=rotation*sphereNormal;vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(target,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;float distance=distance(screenPos,uMouse);float displacementFactor=1.-smoothstep(0.0,uMouseRadius,distance);float displacement=uMouseDisplacementStrength*displacementFactor*(sin(uTime*1.5+randomIndex*PI*2.0)*0.5+1.0);
25349displacement+=uAmbientDisplacementStrength*map(randomIndex2,0.0,1.0,0.5,1.15)*smoothstep(cnoise(vec3(screenPos*uAmbientDisplacementScale,uTime*uAmbientDisplacementSpeed)),0.0,1.0);vec3 viewDir=-earlyViewPosition.xyz;vec3 fresnelNormal=(uModelMatrix*vec4(rotation*sphereNormal,1.0)).rgb;float fresnel=max(0.0,1.0-fresnelFunc(uMouseFresnelAmount,uMouseFresnelOffset,uMouseFresnelFalloff,fresnelNormal,viewDir));target+=rotatedNormal*displacement*fresnel;if(uSetup>0.5){gl_FragColor=vec4(target,displacement*fresnel);return;}currentPos+=(target-currentPos)*uNormalizedDelta*uLerpSpeed;gl_FragColor=vec4(currentPos,displacement*fresnel);if(ringId>100.){gl_FragColor=vec4(currentPos,999.9);}}`;class Que extends uo(){constructor(){super({name:"Team Orb",speed:.0015,scrollResponsiveness:.035,scrollMaxSpeed:6});he(this,"onResize",()=>{});this.pointerPos=new Re(-10,-10),this.targetPointerPos=new Re(-10,-10),this.scrollSpeedMultiplier=1,this.enableRotationOnScroll=0,this._rotation=0}build(){this.assets.textures.envmapPMREM=S.WebGL.pmremHandler.buildEnvironmentTexture(this,this.assets.textures.envmap);const t=this.assets.models.ball.geometry.attributes.position.count;this.textureWidth=Math.ceil(Math.sqrt(t)),this.count=this.textureWidth*this.textureWidth,this.positionSim=new Qr({width:this.textureWidth,height:this.textureWidth,fragmentShader:Gue,uniforms:{uBeatSpeed:{value:10},uSetup:{value:1},uLerpSpeed:{value:.1,gui:{min:0,max:1,step:.001}},uRotationAngle:{value:0},uRingRotationSpeed:{value:.08,gui:{min:0,step:.01}},uMouseDisplacementStrength:{value:.19,gui:{min:0,step:.01}},uMouseRadius:{value:.15,gui:{min:0,step:.01}},uMouseFresnelAmount:{value:2,gui:{min:0,max:100,step:.01}},uMouseFresnelOffset:{value:.01,gui:{min:0,max:1,step:.001}},uMouseFresnelFalloff:{value:.05,gui:{min:0,max:100,step:.01}},uAmbientDisplacementStrength:{value:.05,gui:{min:0,max:1,step:.01}},uAmbientDisplacementScale:{value:.05,gui:{min:0,step:.01}},uAmbientDisplacementSpeed:{value:.05,gui:{min:0,step:.01}},uMouse:{value:this.pointerPos},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!0,type:Zt,data:this.getSphereData()}),this.positionSim.uniforms.uSetup.value=0,this.mesh=new Tp(this.assets.models.cube.geometry.rotateY(Math.PI*.5).rotateZ(Math.PI*.5).scale(.05,.05,.05),new Vue({uniforms:{tOriginalPosition:{value:this.positionSim.originalTexture},tPosition:{value:this.positionSim.texture},tEnvMap:{value:this.assets.textures.envmapPMREM}}}),this.count),this.add(this.mesh),this.mesh.name=this.name,this.mesh.frustumCulled=!1,this.defaultMaterial=this.mesh.material,this.depthMaterial=new Cn({vertexShader:this.defaultMaterial.vertexShader,fragmentShader:this.defaultMaterial.fragmentShader,uniforms:this.defaultMaterial.uniforms,defines:{DEPTH_PACKING:Jx}}),this.godraysMaterial=new Cn({vertexShader:this.defaultMaterial.vertexShader,fragmentShader:this.defaultMaterial.fragmentShader,uniforms:this.defaultMaterial.uniforms,defines:{DEPTH_NORMAL_PACKING:!0}});const i=new Wt,r=[];for(let s=0;s<this.count;s++)i.updateMatrix(),this.mesh.setMatrixAt(s,i.matrix),r.push(Math.random(),Math.random(),Math.random());this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(r),3)),this.mesh.updateMatrix(),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld,oc(this.onResize,!1),this.onResize()}getSphereData(){const t=new Float32Array(this.textureWidth*this.textureWidth*4);for(let i=0;i<this.textureWidth*this.textureWidth*4;i+=4){const r=i/4,s=this.assets.models.ball.geometry.attributes.position.getX(r),o=this.assets.models.ball.geometry.attributes.position.getY(r),a=this.assets.models.ball.geometry.attributes.position.getZ(r),l=this.assets.models.ball.geometry.attributes._ringid.array[r];if(s===void 0||o===void 0||a===void 0){t[i+0]=999.99,t[i+1]=999.99,t[i+2]=999.99,t[i+3]=999.99;continue}t[i+0]=s,t[i+1]=o,t[i+2]=a,t[i+3]=l}return t}update(){this.updateScrollRotation(this.parent.scrollVelocity*this.enableRotationOnScroll),this._rotation+=this.options.speed*this.scrollSpeedMultiplier*S.WebGL.normalizedDelta,this.positionSim.uniforms.uRotationAngle.value=this._rotation,S.pointer.glScreenSpace.equals(this.targetPointerPos)||(this.targetPointerPos.copy(S.pointer.glScreenSpace),this.pointerPos.x===-10&&this.pointerPos.y===-10&&this.pointerPos.copy(this.targetPointerPos)),this.pointerPos.lerp(this.targetPointerPos,.06),this.positionSim.uniforms.uMouse.value.copy(this.pointerPos),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld,this.positionSim.uniforms.uViewM
25349atrix.value=this.parent.activeCamera.matrixWorldInverse,this.positionSim.uniforms.uProjectionMatrix.value=this.parent.activeCamera.projectionMatrix,this.positionSim.update(),this.mesh.material.uniforms.tPosition.value=this.positionSim.texture}updateScrollRotation(t){this.scrollSpeedMultiplier=1+Math.abs(t)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,1,this.options.scrollMaxSpeed)}preRender(){this.positionSim.uniforms.uSetup.value=1,this.positionSim.update(),this.positionSim.uniforms.uSetup.value=0}setDepthMaterial(){this.mesh.material=this.depthMaterial}setDefaultMaterial(){this.mesh.material=this.defaultMaterial}setGodraysMaterial(){this.mesh.material=this.godraysMaterial}destroy(){var t,i;super.destroy(),this.mesh.geometry.dispose(),this.defaultMaterial.dispose(),this.depthMaterial.dispose(),this.godraysMaterial.dispose(),this.positionSim.destroy(),this.remove(this.mesh),this.parent.remove(this);for(const r in this.assets.textures)this.assets.textures[r].dispose();for(const r in this.assets.models)(t=this.assets.models[r].geometry)==null||t.dispose(),(i=this.assets.models[r].material)==null||i.dispose();this.pointerPos.set(-10,-10),this.targetPointerPos.set(-10,-10)}load(){S.AssetLoader.loadGltf("/webgl/models/team-ball.glb").then(t=>{this.assets.models.ball=t.scene.children[0]}),S.AssetLoader.loadGltf("/webgl/models/team-cube.glb").then(t=>{this.assets.models.cube=t.scene.children[0]}),S.AssetLoader.loadTexture("/webgl/textures/team-orb-env.jpg",{mapping:Ya,colorSpace:En,wrapping:ts}).then(t=>{this.assets.textures.envmap=t,this.assets.textures.envmap.name="envmap",this.assets.textures.envmap.isHDR=!1})}addGui(){const t={simulation:{}},i=S.theatre.helper.autoAddUniforms(t.simulation,this.positionSim.uniforms,["uSetup","uMouse","uModelMatrix","uViewMatrix","uProjectionMatrix"]);S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{additionalConfig:t}).onValuesChange(s=>{for(let o=0;o<i.length;o++)i[o](this,s.simulation)},S.theatre.rafDriver)}}class Wue extends cc{constructor(){super("team-orb",{domId:"team"}),Object.assign(this.components,{orb:new Que}),Object.assign(this.cameraLayers,{godrays:1}),this.godrays={enabled:!0},this.godrayRenderTargetResolutionMultiplier=1/4,this._clipPosition=new Vt,this._sunPosition=new K(106.79,0,-891.29),this._screenSpacePosition=new K,this._TAPS_PER_PASS=7,this.scrollVelocity=0}build(){super.build(),this.buildGodrays()}buildScrollAnimation(){var i;if(S.urlParams.has("scene"))return;const t=(i=UA(NA).theme)==null?void 0:i.screens;this.mm=dr.matchMedia(),this.mm.add({isDesktop:S.breakpoints.mediaQueries.md.media,isMobile:`(max-width: ${Number.parseInt(t.md)-1}px)`},r=>{this.scrollAnimation=dr.timeline({defaults:{duration:1,ease:r.conditions.isDesktop?"power2.inOut":"power1.inOut"}}),r.conditions.isDesktop?this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:-1,y:1,z:6},{x:-1,y:0,z:10,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=40%",end:"center center",scrub:!0}},0).fromTo(this.cameras.camera1._position,{x:-1,y:0,z:10},{x:1.4,y:0,z:7.9,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"center center",end:"top top",scrub:!0}},0).fromTo(this._sunPosition,{x:106.79,y:0,z:-891.29},{x:-206.76,y:0,z:-891.29,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"center center",end:"top top",scrub:!0}},0):this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:10,z:4},{x:0,y:1,z:10,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=80%",end:"top top",scrub:!0}}).fromTo(this.cameras.camera1._position,{x:0,y:1,z:10},{x:()=>{let o;return S.window.w<=480?o=1/S.window.h*1400:S.window.w<=768?o=S.window.h*.0032*(S.window.w/S.window.h):o=1.6,o},y:0,z:7.9,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"top top",end:"top top",scrub:!0}},0).fromTo(this._sunPosition,{x:0,y:-120,z:-891.29},{x:-180,y:0,z:-891.29,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"top top",end:"top top",scrub:!0}},0),this.sectionScroll=Pt.create({trigger:`[data-webgl-section="${this.options.domId}"]`,start:"top top",end:"bottom bottom",scrub:!0});const s=dr.to(this.components.orb,{enableRotationOnScroll:1,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"top top+=40%",end:"bottom bottom",scrub:!0}});return()=>{this.scrollAnimation.kill(),this.sectionScroll.kill(),s.kill()}})}getStepSize(e,t,i){return e*Math.pow(t,-i)}filterGodRays(e,t,i){this.godrays.scene.overrideMaterial=this.godrays.materialGodraysGenerate,this.godrays.godrayGenUniforms.fStepSize.value=i,this.godrays.godrayGenUniforms.tInput.value=e,S.WebGL.renderer.setRenderTarget(t),S.WebGL.renderer.render(this.godrays.scene,this.godrays.camera),this.godrays.scene.overrideMaterial=null}buildGodrays(){var o,a,l;this.godrays.scene=new Wa,this.godrays.camera=new Ou(-.5,.5,.5,-.5,-1e4,1e4),this.godrays.camera.position.z=100,this.godrays.scene.add(this.godrays.camera);const e=S.WebGL.renderer.getPixelRatio();this.godrays.rtTextureDepthMask=new li(S.window.w*e,S.window.h*e,{type:nn}),(o=S.WebGL.rtViewer)==null||o.registerRT(this.godrays.rtTextureDepthMask,"Godrays Depth Mask RT");const t=S.window.w*this.godrayRenderTargetResolutionMultiplier*e,i=S.window.h*this.godrayRenderTargetResolutionMultiplier*e;this.godrays.rtTextureGodRays1=new li(t,i,{type:nn}),(a=S.WebGL.rtViewer)==null||a.registerRT(this.godrays.rtTextureGodRays1,"Godrays RT 1"),this.godrays.rtTextureGodRays2=new li(t,i,{type:nn}),(l=S.WebGL.rtViewer)==null||l.registerRT(this.godrays.rtTextureGodRays2,"Godrays RT 2");const r=Ere;this.godrays.godrayGenUniforms=Po.clone(r.uniforms),this.godrays.materialGodraysGenerate=new Cn({uniforms:{...this.godrays.godrayGenUniforms,...S.WebGL.globalUniforms},vertexShader:r.vertexShader,fragmentShader:` 25350 25351 #define TAPS_PER_PASS ${this._TAPS_PER_PASS.toFixed(1)} 25352 25353 varying vec2 vUv; 25354 25355 uniform sampler2D tInput; 25356 25357 uniform vec3 vSunPositionScreenSpace; 25358 uniform float fStepSize; // filter step size 25359 25360 uniform vec2 uResolution; 25361 25362 void main() { 25363 25364 // delta from current pixel to "sun" position 25365 vec2 sunPosAdjusted = vSunPositionScreenSpace.xy; 25366 vec2 uvAdjusted = vUv; 25367 25368 // Adjust for aspect ratio 25369 sunPosAdjusted -= vec2(0.5, 0.5); 25370 uvAdjusted -= vec2(0.5, 0.5); 25371 if (uResolution.x > uResolution.y) { 25372 uvAdjusted.x *= uResolution.x / uResolution.y; // makes it fit the scren 25373 sunPosAdjusted.x *= uResolution.x / uResolution.y; 25374 25375 // other way - doesn't cause increasing strength on all edges but causes bigger gaps on landscape :/ 25376 // uvAdjusted.y *= uResolution.y / uResolution.x; // makes it bigger 25377 // sunPosAdjusted.y *= uResolution.y / uResolution.x; 25378 25379 } else { 25380 uvAdjusted.y *= uResolution.y / uResolution.x; 25381 sunPosAdjusted.y *= uResolution.y / uResolution.x; 25382 25383 // other way 25384 // uvAdjusted.x *= uResolution.x / uResolution.y; 25385 // sunPosAdjusted.x *= uResolution.x / uResolution.y; 25386 } 25387 25388 uvAdjusted += vec2(0.5, 0.5); 25389 sunPosAdjusted += vec2(0.5, 0.5); 25390 25391 vec2 delta = vSunPositionScreenSpace.xy - vUv; 25392 25393 float dist = length( sunPosAdjusted.xy - uvAdjusted ); 25394 25395 vec2 stepv = fStepSize * delta / dist; 25396 25397 // Number of iterations between pixel and sun 25398 float iters = dist/fStepSize; 25399 25400 vec2 uv = vUv.xy; 25401 float col = 0.0; 25402 25403 // Unrolling loop manually makes it work in ANGLE 25404 float f = min( 1.0, max( vSunPositionScreenSpace.z / 10.0, 0.0 ) ); // used to fade out godrays 25405 // f *= (1.0 - (dist * 0.25)); 25406 // f = 1.0; 25407 25408 // TODO fix so that extreme aspect ratios don't cause the godrays to be stronger on the edges 25409 25410 // when the difference between x and y is bigger we need f to be smaller 25411 // when the difference between x and y is bigger, the dist value reaches higher too 25412 25413 // if (uResolution.x < uResolution.y) { 25414 // float aspect = clamp(uResolution.y / uResolution.x, 0.5, 1.0); 25415 // f *= (1.0 - (dist * aspect)); 25416 // } else { 25417 // float aspect = clamp(uResolution.x / uResolution.y, 0.5, 1.0); 25418 // f *= (1.0 - (dist * aspect)); 25419 // } 25420 25421 // f = dist; 25422 25423 // if ( 0.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25424 // uv += stepv; 25425 25426 // if ( 1.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25427 // uv += stepv; 25428 25429 // if ( 2.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25430 // uv += stepv; 25431 25432 // if ( 3.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25433 // uv += stepv; 25434
25435 // if ( 4.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25436 // uv += stepv; 25437 25438 // if ( 5.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25439 // uv += stepv; 25440 25441 // if ( 6.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f; 25442 // uv += stepv; 25443 25444 for ( float i = 0.0; i < TAPS_PER_PASS; i += 1.0 ) { 25445 if ( i <= iters && uv.y < 1.0 ) { 25446 col += texture2D( tInput, uv ).r * f; 25447 } 25448 uv += stepv; 25449 } 25450 25451 // Should technically be dividing by 'iters but 'TAPS_PER_PASS' smooths out 25452 // objectionable artifacts, in particular near the sun position. The side 25453 // effect is that the result is darker than it should be around the sun, as 25454 // TAPS_PER_PASS is greater than the number of samples actually accumulated. 25455 // When the result is inverted (in the shader 'godrays_combine this produces 25456 // a slight bright spot at the position of the sun, even when it is occluded. 25457 25458 gl_FragColor = vec4( col/TAPS_PER_PASS ); 25459 gl_FragColor.a = 1.0; 25460 25461 // gl_FragColor.rgb = vec3(abs(delta), 0.0); 25462 // gl_FragColor.rgb = vec3(abs(delta / dist), 0.0); 25463 25464 }`}),this.godrays.quad=new Qe(new lo(1,1),this.godrays.materialGodraysGenerate),this.godrays.quad.position.z=-9900,this.godrays.scene.add(this.godrays.quad),S.theatre.helper.addSheetObject(this.prettyName,"Godrays",{enabled:Te.types.boolean(this.godraysPass.material.uniforms.uEnabled.value),intensity:Te.types.number(this.godraysPass.material.uniforms.uIntensity.value,{nudgeMultiplier:.01}),exponent:Te.types.number(this.godraysPass.material.uniforms.uExponent.value,{nudgeMultiplier:.01}),maxLimit:Te.types.number(this.godraysPass.material.uniforms.uMaxLimit.value,{nudgeMultiplier:.01}),debug:Te.types.boolean(this.godraysPass.material.uniforms.uDebug.value)}).onValuesChange(c=>{this.godraysPass.material.uniforms.uEnabled.value=c.enabled,this.godraysPass.material.uniforms.uIntensity.value=c.intensity,this.godraysPass.material.uniforms.uExponent.value=c.exponent,this.godraysPass.material.uniforms.uDebug.value=c.debug,this.godraysPass.material.uniforms.uMaxLimit.value=c.maxLimit},S.theatre.rafDriver)}update(){if(this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.2)),super.update(),!this.godrays.enabled)return;const e=S.WebGL.renderer.autoClear,t=S.WebGL.renderer.getRenderTarget(),i=this.background;S.WebGL.renderer.autoClear=!1,this._clipPosition.x=this._sunPosition.x,this._clipPosition.y=this._sunPosition.y,this._clipPosition.z=this._sunPosition.z,this._clipPosition.w=1,this._clipPosition.applyMatrix4(this.activeCamera.matrixWorldInverse).applyMatrix4(this.activeCamera.projectionMatrix),this._clipPosition.x/=this._clipPosition.w,this._clipPosition.y/=this._clipPosition.w,this._screenSpacePosition.x=(this._clipPosition.x+1)/2,this._screenSpacePosition.y=(this._clipPosition.y+1)/2,this._screenSpacePosition.z=this._clipPosition.z,this.godrays.godrayGenUniforms.vSunPositionScreenSpace.value.copy(this._screenSpacePosition),this.background=new ke(0),this.components.orb.setDepthMaterial(),S.WebGL.renderer.setRenderTarget(this.godrays.rtTextureDepthMask),S.WebGL.renderer.clear(),S.WebGL.renderer.render(this.components.orb,this.activeCamera);const r=1.5;this.filterGodRays(this.godrays.rtTextureDepthMask.texture,this.godrays.rtTextureGodRays2,this.getStepSize(r,this._TAPS_PER_PASS,1)),this.filterGodRays(this.godrays.rtTextureGodRays2.texture,this.godrays.rtTextureGodRays1,this.getStepSize(r,this._TAPS_PER_PASS,2)),this.filterGodRays(this.godrays.rtTextureGodRays1.texture,this.godrays.rtTextureGodRays2,this.getStepSize(r,this._TAPS_PER_PASS,3)),this.godrays.scene.overrideMaterial=null,S.WebGL.renderer.setRenderTarget(t),this.components.orb.setDefaultMaterial(),this.background=i,S.WebGL.renderer.autoClear=e,this.godraysPass.material.uniforms.tGodrays.value=this.godrays.rtTextureGodRays2.texture}buildPasses(){super.buildPasses(),this.godraysPass=new rp(new is({vertexShader:R4,fragmentShader:` 25465 25466 #include <default_frag_pars> 25467 25468 varying vec2 vUv; 25469 25470 uniform sampler2D tDiffuse; 25471 uniform sampler2D tGodrays; 25472 25473 uniform float uExponent; 25474 uniform float uIntensity; 25475 uniform float uMaxLimit; 25476 25477 uniform float uTime; 25478 25479 uniform bool uEnabled; 25480 uniform bool uDebug; 25481 25482 void main() { 25483 25484 float godraySample = pow(texture2D( tGodrays, vUv ).r, uExponent) * uIntensity; 25485 25486 if (uDebug) {
25487 gl_FragColor = vec4(vec3(godraySample), 1.0); 25488 return; 25489 } 25490 25491 gl_FragColor = texture2D( tDiffuse, vUv ); 25492 25493 if (uEnabled) { 25494 // gl_FragColor.rgb -= vec3( pow(smoothstep(0.22, 1.0, texture2D( tGodrays, vUv ).r), uExponent) * uIntensity ); 25495 // gl_FragColor.rgb = max(gl_FragColor.rgb - max(min(godraySample, 1.0), 0.0) * 1.0, 0.0); 25496 gl_FragColor.rgb += min(vec3(godraySample), uMaxLimit); 25497 // gl_FragColor.rgb = blendScreen(gl_FragColor.rgb, vec3(godraySample), 1.0); 25498 } 25499 25500 } 25501 `,uniforms:{uEnabled:{value:!0},tDiffuse:{value:null},tGodrays:{value:null},uIntensity:{value:50},uMaxLimit:{value:1},uExponent:{value:5},uDebug:{value:!1}}})),this.godraysPass.enabled=!1,this.godraysPass.name=`${this.name} Godrays`,S.WebGL.composerPasses.add(this.godraysPass,S.WebGL.composerPassOrder[this.name]+5)}onSceneResize(){const e=S.WebGL.renderer.getPixelRatio();this.godrays.rtTextureDepthMask.setSize(S.window.w*e,S.window.h*e);const t=S.window.w*this.godrayRenderTargetResolutionMultiplier*e,i=S.window.h*this.godrayRenderTargetResolutionMultiplier*e;this.godrays.rtTextureGodRays1.setSize(t,i),this.godrays.rtTextureGodRays2.setSize(t,i)}destroy(){var e,t,i;super.destroy(),this.godrays.rtTextureDepthMask.dispose(),this.godrays.rtTextureGodRays1.dispose(),this.godrays.rtTextureGodRays2.dispose(),(e=S.WebGL.rtViewer)==null||e.unregisterRT("Godrays Depth Mask RT"),(t=S.WebGL.rtViewer)==null||t.unregisterRT("Godrays RT 1"),(i=S.WebGL.rtViewer)==null||i.unregisterRT("Godrays RT 2"),this.godrays.materialGodraysGenerate.dispose(),this.godrays.quad.geometry.dispose(),this.scrollVelocity=0}start(){this.components.orb.preRender(),super.start(),this.godraysPass.enabled=!0}stop(){super.stop(),this.godraysPass.enabled=!1}}class jue{constructor(e){he(this,"array",[]);he(this,"sourceArray");this.sourceArray=e}add(e,t){this.array.push({index:t,item:e}),this.array.sort(this.sort),this.updateSourceArray()}remove(e){for(let t=0;t<this.array.length;t++)this.array[t].item===e&&this.array.splice(t,1);this.updateSourceArray()}updateSourceArray(){this.sourceArray.length=0;for(let e=0;e<this.array.length;e++)this.sourceArray[e]=this.array[e].item}sort(e,t){return e.index>t.index?1:-1}}class que extends ac{constructor(){super();he(this,"check",()=>{if(!this.run)return;this.frames++;const t=performance.now();if(t>=this.prevTime+this.checkInterval){const i=this.frames*1e3/(t-this.prevTime);if(i>1&&(this.avgFps.push(i),this.checkCount++,this.checkCount===5)){this.run=!1;const r=Math.min(...this.avgFps),s=Math.max(...this.avgFps);for(let a=0;a<this.avgFps.length;a++)if(this.avgFps[a]===r){this.avgFps.splice(a,1);break}for(let a=0;a<this.avgFps.length;a++)if(this.avgFps[a]===s){this.avgFps.splice(a,1);break}const o=Math.ceil(this.avgFps.reduce((a,l)=>a+l,0)/this.avgFps.length);this.avgFps=[],this.gpuTier=this.tiers.filter(a=>o>=a).length,this.totalChecks++,requestAnimationFrame(()=>{setTimeout(()=>{this.emit("FPSChecked",{gpuTier:this.gpuTier})},0)}),this.gpuTier<this.totalCheckLimit&&this.totalChecks<this.totalCheckLimit&&this.enable()}this.prevTime=t,this.frames=0}});he(this,"onDocVisibilityChange",()=>{this.run&&document.visibilityState==="visible"&&(this.prevTime=performance.now(),this.frames=0)});he(this,"onResize",()=>{this.run&&(this.prevTime=performance.now(),this.frames=0,this.checkCount=0,this.avgFps=[])});this.run=!1,this.hasRun=!1,this.checkInterval=500,this.frames=0,this.prevTime=0,this.checkCount=0,this.totalChecks=0,this.tiers=[15,30,40,50],this.totalCheckLimit=10,this.gpuTier=this.tiers.length,this.avgFps=[]}init(){S.urlParams.has("forcehq")||(S.RAFCollection.add(this.check,200),document.addEventListener("visibilitychange",this.onDocVisibilityChange),oc(this.onResize,!1),this.on("CheckFPS",()=>{this.avgFps=[],this.totalChecks=0,this.hasRun=!0,this.enable()}),this.emit("CheckFPS"))}enable(){this.checkCount=0,this.run=!0}disable(){this.run=!1}on(t,i){this.addEventListener(t,i)}off(t,i){this.removeEventListener(t,i)}emit(t,i={}){this.dispatchEvent({type:t,data:i})}}const L1=new que,Cf=S.env==="development"?"//undefinedundefined":"https://undefinedundefined";function Xue(n,e){const t=r=>{var o,a,l,c,u,f,h,p,m,v,A,y,x,b;const s=[{type:"Icon",title:"Reset State",svgSource:'<svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>',onClick:_=>{confirm("Revert all changes?")&&(r.__experimental.__experimental_clearPersistentStorage(S.theatre.persistenceKey),localStorage.removeItem(S.theatre.persistenceKey+".persistent"),localStorage.removeItem(S.theatre.persistenceKey+".openRTViewerPanes"),window.location.reload())}}
25501,{type:"Icon",title:"Save",svgSource:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm80-16v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"/></svg>',onClick:_=>{const T=window.prompt("Save as: ","state");if(!T)return;const M=S.theatre.studio.createContentOfSaveFile(S.theatre.project.address.projectId);fetch(`${Cf}?save`,{method:"POST",body:JSON.stringify({name:T,projectId:n,data:M})}).then(I=>{I.json().then(R=>{R&&Te.notify.success("Saved Project","Project has been saved!")})},I=>{console.error(I)})}},{type:"Icon",title:"Versions",svgSource:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>',onClick:_=>{r.createPane("unseen-versions")}}];return(S.env==="development"||S.env==="browsersync")&&s.push({type:"Icon",title:"Publish Current Version",svgSource:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>',onClick:_=>{const T=S.theatre.studio.createContentOfSaveFile(S.theatre.project.address.projectId);confirm("This will overwrite the published version. Are you sure?")&&fetch(`${Cf}?publish`,{method:"POST",body:JSON.stringify({projectId:n,data:T})}).then(M=>{M.json().then(I=>{console.log(I),I&&Te.notify.success("Published Project","Project has been published!")})},M=>{console.error(M)})}}),S.WebGL&&((a=(o=S.WebGL)==null?void 0:o.activeScene)!=null&&a.devTools&&s.push({type:"Switch",value:S.WebGL.activeScene.devTools.enabled,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects[S.WebGL.activeScene.prettyName]["Dev Tools"].props.enabled,!S.WebGL.activeScene.devTools.enabled)})},options:[{value:!0,label:"Toggle Orbit Cam",svgSource:`<svg fill="currentColor" viewBox="0 -4 24 24" xmlns="http://www.w3.org/2000/svg"> 25502 <path d="M1450,258l-5-2v2a2,2,0,0,1-2,2h-13a2,2,0,0,1-2-2V246a2,2,0,0,1,2-2h13a2,2,0,0,1,2,2v2l5-2a2,2,0,0,1,2,2v8A2,2,0,0,1,1450,258Zm-7-4v-8h-13v12h13v-4Zm7-6-5,2v4l5,2v-8Z" transform="translate(-1428 -244)"/> 25503 </svg>`}]}),s.push({type:"Switch",value:S.theatre.previewCamOpen,onChange:_=>{S.theatre.previewCamOpen||r.createPane("unseen-preview-cam")},options:[{value:!0,label:"Show Preview Cam",svgSource:`<svg width="62" height="62" viewBox="0 0 62 62" fill="none" xmlns="http://www.w3.org/2000/svg"> 25504 <path d="M11 40.3901C11 44.1666 14.0779 47.2445 17.8544 47.2445H44.2269C48.0034 47.2445 51.0813 44.1666 51.0813 40.3901L51.0838 24.6006C51.0838 20.824 48.0059 17.7461 44.2294 17.7461H40.5617L39.4201 15.9642C38.6355 14.734 37.2939 14 35.8435 14H26.0732C24.6152 14 23.2813 14.7315 22.4966 15.9642L21.355 17.7461H17.862C14.0855 17.7461 11.0076 20.8241 11.0076 24.6006V40.3901H11ZM13.592 24.6006C13.592 22.2491 15.503 20.338 17.8545 20.338H22.765L24.671 17.3563C24.9747 16.8779 25.5012 16.5918 26.0631 16.5918H35.8335C36.403 16.5918 36.9219 16.8778 37.2256 17.3563L39.1316 20.338H44.2194C46.5708 20.338 48.4819 22.2491 48.4819 24.6006V40.3849C48.4819 42.7364 46.5708 44.6474 44.2194 44.6474H17.8469C15.4954 44.6474 13.5844 42.7364 13.5844 40.3849L13.5869 24.6006H13.592Z" fill="currentColor" stroke="currentColor"/> 25505 <path d="M30.8314 40.6629C35.6989 40.6629 39.6629 36.704 39.6629 31.8314C39.6629 26.9639 35.704 23 30.8314 23C25.9589 23 22 26.9588 22 31.8314C21.9975 36.704 25.9563 40.6629 30.8314 40.6629ZM30.8314 25.5971C34.2713 25.5971 37.0708 28.3966 37.0708 31.8365C37.0708 35.2765 34.2713 38.076 30.8314 38.076C27.3915 38.076 24.592 35.2765 24.592 31.8365C24.5895 28.3966 27.389 25.5971 30.8314 25.5971Z" fill="currentColor" stroke="currentColor"/> 25506 <path d="M2.67939 23.1374C3.51909 23.1374 4.28245 22.4504 4.28245 21.5344V4.20611H21.6107C22.4504 4.20611 23.2137 3.51908 23.2137 2.60305C23.2137 1.68702 22.5267 1 21.6107 1H1.07634V21.458C1.07634 22.374 1.76336 23.1374 2.67939 23.1374Z" fill="currentColor" stroke="currentColor"/> 25507 <path d="M40.8474 1.07633C40.0077 1.07633 39.2443 1.76336 39.2443 2.67939C39.2443 3.59542 39.9313 4.28244 40.8474 4.28244H58.2519V21.6107C58.2519 22.4504 58.939 23.2137 59.855 23.2137C60.771 23.2137 61.458 22.5267 61.458 21.6107V1.07633H40.8474Z" fill="currentColor" stroke="currentColor"/> 25508 <path d="M21.6107 57.7939H4.20611V40.4656C4.20611 39.626 3.51908 38.8626 2.60305 38.8626C1.68702 38.8626 1 39.5496 1 40.4656V60.9237H21.6107C22.4504 60.9237 23.2137 60.2366 23.2137 59.3206C23.2137 58.4046 22.4504 57.7939 21.6107 57.7939Z" fill="currentColor" stroke="currentColor"/> 25509 <path d="M59.7787 38.8626C58.939 38.8626 58.1756 39.5496 58.1756 40.4656V57.7939H40.8474C40.0077 57.7939 39.2443 58.4809 39.2443 59.3969C39.2443 60.313 39.9313 61 40.8474 61H61.3054V40.4656C61.3817 39.626 60.6947 38.8626 59.7787 38.8626Z" fill="currentColor" stroke="currentColor"/> 25510 </svg>`}]}),s.push({type:"Icon",title:"Preview Render Target",svgSource:`<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"> 25511 <path d="M42.2293 0H1.77073C0.79293 0 0 0.79293 0 1.77073V42.2288C0 43.2071 0.79293 43.9995 1.77073 43.9995H42.2293C43.2076 43.9995 44 43.2066 44 42.2288V1.77073C44 0.79293 43.2071 0 42.2293 0ZM40.4585 40.4581H3.54146V3.54195H40.4581L40.4585 40.4581Z" fill="currentColor"/> 25512 <path d="M17.0296 7.07653H7.08046V17.0257H17.0296V7.07653Z" fill="currentColor"/> 25513 <path d="M26.9787 17.0257H17.0296V26.9748H26.9787V17.0257Z" fill="currentColor"/> 25514 <path d="M36.9279 26.9743H26.9787V36.9235H36.9279V26.9743Z" fill="currentColor"/> 25515 <path d="M36.9279 7.07653H26.9787V17.0257H36.9279V7.07653Z" fill="currentColor"/> 25516 <path d="M17.0296 26.9743H7.08046V36.9235H17.0296V26.9743Z" fill="currentColor"/> 25517 </svg>`,onClick:_=>{r.createPane("unseen-preview-render-target")}}),(l=S.WebGL)!=null&&l.stats&&s.push({type:"Switch",value:(c=S.WebGL)==null?void 0:c.stats.visible,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects.Unseen.Settings.props.showStats,!S.WebGL.stats.visible)})},options:[{value:!0,label:"Toggle Stats",svgSource:`<svg width="80" height="50" viewB
25517ox="0 0 80 50" fill="none" xmlns="http://www.w3.org/2000/svg"> 25518 <path fill-rule="evenodd" clip-rule="evenodd" d="M44.2427 42.6127C39.8757 46.1878 33.4079 42.4536 34.3206 36.8842C34.532 35.5937 35.1015 34.3885 35.9641 33.4056L56.3606 10.167L46.4335 39.4501C46.0136 40.6886 45.2546 41.7843 44.2427 42.6127ZM29.3864 36.0757C27.7285 46.1926 39.4774 52.9758 47.41 46.4816C49.1461 45.0603 50.4484 43.1803 51.1687 41.0554L63.5119 4.64551C64.741 1.01991 60.092 -1.66419 57.5667 1.21301L32.2063 30.1074C30.7262 31.7937 29.7492 33.8615 29.3864 36.0757ZM40 8.59171C20.67 8.59171 5 24.2618 5 43.5917C5 44.9724 3.8807 46.0917 2.5 46.0917C1.11929 46.0917 0 44.9724 0 43.5917C0 21.5003 17.9086 3.59171 40 3.59171C41.6223 3.59171 43.2232 3.68841 44.7969 3.87661C46.1678 4.04061 47.1463 5.28491 46.9823 6.65581C46.8184 8.02681 45.5741 9.00521 44.2031 8.84131C42.826 8.67661 41.4235 8.59171 40 8.59171ZM63.6624 14.3916C64.6014 13.3793 66.1832 13.3199 67.1954 14.2588C75.0679 21.5608 80 32.0022 80 43.5917C80 44.9724 78.8807 46.0917 77.5 46.0917C76.1193 46.0917 75 44.9724 75 43.5917C75 33.4507 70.6903 24.3201 63.7952 17.9247C62.7829 16.9857 62.7235 15.4039 63.6624 14.3916Z" fill="currentColor"/> 25519 </svg>`}]}),(h=(f=(u=S.WebGL)==null?void 0:u.activeScene)==null?void 0:f.devTools)!=null&&h.enabled&&(s.push({type:"Switch",value:S.WebGL.activeScene.devTools.grid.enabled,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects[S.WebGL.activeScene.prettyName]["Dev Tools"].props.grid,!S.WebGL.activeScene.devTools.grid.enabled)})},options:[{value:!0,label:"Toggle Grid",svgSource:`<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 25520 <path fill-rule="evenodd" clip-rule="evenodd" d="M1.00285 19.9985L19.9985 19.9971L19.9971 1.00147L1.00147 1.00285L1.00285 19.9985ZM0.998746 0H20.0013C20.5528 0 21 0.438615 21 0.998746V20.0013C21 20.5528 20.5614 21 20.0013 21H0.998746C0.447154 21 0 20.5614 0 20.0013V0.998746C0 0.447154 0.438615 0 0.998746 0Z" fill="currentColor"/> 25521 <path d="M6 0H5V21H6V0Z" fill="currentColor"/> 25522 <path d="M11 0H10V21H11V0Z" fill="currentColor"/> 25523 <path d="M16 0H15V21H16V0Z" fill="currentColor"/> 25524 <path d="M21 10H0V11H21V10Z" fill="currentColor"/> 25525 <path d="M21 5H0V6H21V5Z" fill="currentColor"/> 25526 <path d="M21 15H0V16H21V15Z" fill="currentColor"/> 25527 </svg>`}]}),s.push({type:"Switch",value:(p=S.WebGL)==null?void 0:p.activeScene.devTools.options.helpers,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects[S.WebGL.activeScene.prettyName]["Dev Tools"].props.helpers,!S.WebGL.activeScene.devTools.options.helpers)})},options:[{value:!0,label:"Toggle Helpers",svgSource:`<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 25528 <path d="M2 3C2 2.44772 2.44772 2 3 2H8.5C9.05229 2 9.5 1.55228 9.5 1C9.5 0.447715 9.05229 0 8.5 0H3C1.34315 0 0 1.34315 0 3V8.5C0 9.05229 0.447715 9.5 1 9.5C1.55228 9.5 2 9.05229 2 8.5V3Z" fill="currentColor"/> 25529 <path d="M23.5 0C22.9477 0 22.5 0.447715 22.5 1C22.5 1.55228 22.9477 2 23.5 2H29C29.5523 2 30 2.44772 30 3V8.5C30 9.05229 30.4477 9.5 31 9.5C31.5523 9.5 32 9.05229 32 8.5V3C32 1.34315 30.6569 0 29 0H23.5Z" fill="currentColor"/> 25530 <path d="M2 23.5C2 22.9477 1.55228 22.5 1 22.5C0.447715 22.5 0 22.9477 0 23.5V29C0 30.6569 1.34315 32 3 32H8.5C9.05229 32 9.5 31.5523 9.5 31C9.5 30.4477 9.05229 30 8.5 30H3C2.44772 30 2 29.5523 2 29V23.5Z" fill="currentColor"/> 25531 <path d="M32 23.5C32 22.9477 31.5523 22.5 31 22.5C30.4477 22.5 30 22.9477 30 23.5V29C30 29.5523 29.5523 30 29 30H23.5C22.9477 30 22.5 30.4477 22.5 31C22.5 31.5523 22.9477 32 23.5 32H29C30.6569 32 32 30.6569 32 29V23.5Z" fill="currentColor"/> 25532 <path fill-rule="evenodd" clip-rule="evenodd" d="M4.65826 21.0602L10.3238 19L4.65826 16.9398C4.26307 16.7961 4 16.4205 4 16C4 15.5795 4.26307 15.2039 4.65826 15.0602L10.3238 13L4.65826 10.9398C4.26307 10.7961 4 10.4205 4 10C4 9.57949 4.26307 9.20391 4.65826 9.06021L15.6583 5.06021C15.879 4.97993 16.121 4.97993 16.3417 5.06021L27.3417 9.06021C27.7369 9.20391 28 9.57949 28 10C28 10.4205 27.7369 10.7961 27.3417 10.9398L21.6762 13L27.3417 15.0602C27.7369 15.2039 28 15.5795 28 16C28 16.4205 27.7369 16.7961 27.3417 16.9398L21.6762 19L27.3417 21.0602C27.7369 21.2039 28 21.5795 28 22C28 22.4205 27.7369 22.7961 27.3417 22.9398L16.3417 26.9398C16.121 27.0201 15.879 27.0201 15.6583 26.9398L4.65826 22.9398C4.26307 22.7961 4 22.4205 4 22C4 21.5795 4.26307 21.2039 4.65826 21.0602ZM18.75 14.0641L16.3417 14.9398C16.121 15.0201 15.879 15.0201 15.6583 14.9398L13.25 14.0641L7.92618 16L16 18.9359L24.0738 16L18.75 14.0641ZM7.92618 22L13.25 20.0641L15.6583 20.9398C15.879 21.0201 16.121 21.0201 16.3417 20.9398L18.75 20.0641L24.0738 22L16 24.9359L7.92618 22ZM16 12.9359L7.92618 10L16 7.06406L24.0738 10L16 12.9359Z" fill="currentColor"/> 25533 </svg>`}]})),(A=(v=(m=S.WebGL)==null?void 0:m.activeScene)==null?void 0:v.devTools)!=null&&A.enabled&&((b=(x=(y=S.WebGL)==null?void 0:y.activeScene)==null?void 0:x.devTools)!=null&&b.transformControls.enabled)&&(s.push({type:"Switch",value:S.WebGL.activeScene.devTools.transformControls.mode,onCh
25533ange:_=>{S.WebGL.activeScene.devTools.transformControls.setMode(_),S.theatre.updateExtensionToolbar()},options:[{value:"translate",label:"Translate",svgSource:'<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288H402.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z"/></svg>'},{value:"rotate",label:"Rotate",svgSource:'<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z"/></svg>'},{value:"scale",label:"Scale",svgSource:'<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512H24c-13.3 0-24-10.7-24-24V344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"/></svg>'}]}),s.push({type:"Switch",value:S.WebGL.activeScene.devTools.transformControls.space,onChange:_=>{S.WebGL.activeScene.devTools.transformControls.setSpace(_),S.theatre.updateExtensionToolbar()},options:[{value:"world",label:"World Transform",svgSource:'<svg viewBox="0 0 90 90" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M90 44.7C89.9 33.3 85.6 21.9 76.8 13.2C68.3 4.7 57 0 45 0C33 0 21.7 4.7 13.2 13.2C4.5 21.9 0.1 33.3 0 44.7C0 44.8 0 44.9 0 45C0 45.1 0 45.2 0 45.3C0.1 56.7 4.4 68.1 13.2 76.8C21.7 85.3 33 90 45 90C57 90 68.3 85.3 76.8 76.8C85.5 68.1 89.9 56.7 90 45.3C90 45.2 90 45.1 90 45C90 44.9 90 44.8 90 44.7ZM74.9 71.5C72.2 69.1 69.3 67.1 66.2 65.4C67.6 60 68.5 53.9 68.7 47.5H84.9C84.4 56.1 81 64.6 74.9 71.5ZM5.1 47.5H21.3C21.5 54 22.4 60 23.8 65.4C20.7 67 17.8 69.1 15.1 71.5C9 64.6 5.6 56.1 5.1 47.5ZM15.1 18.5C17.8 20.9 20.7 22.9 23.8 24.6C22.3 30 21.5 36 21.3 42.5H5.1C5.6 33.9 9 25.4 15.1 18.5ZM42.5 24.8C38.2 24.5 33.9 23.6 29.8 21.9C32.8 13.1 37.3 6.9 42.5 5.4V24.8ZM42.5 29.8V42.5H26.3C26.5 36.9 27.2 31.5 28.4 26.7C32.9 28.5 37.7 29.5 42.5 29.8ZM42.5 47.5V60.2C37.7 60.5 32.9 61.5 28.4 63.3C27.2 58.5 26.5 53.1 26.3 47.5H42.5ZM42.5 65.2V84.6C37.3 83.1 32.8 76.8 29.8 68.1C33.9 66.4 38.2 65.5 42.5 65.2ZM47.5 65.2C51.8 65.5 56.1 66.4 60.2 68.1C57.2 76.9 52.7 83.1 47.5 84.6V65.2ZM47.5 60.2V47.5H63.7C63.5 53.1 62.8 58.5 61.6 63.3C57.1 61.5 52.3 60.5 47.5 60.2ZM47.5 42.5V29.8C52.3 29.5 57.1 28.5 61.6 26.7C62.8 31.5 63.5 36.9 63.7 42.5H47.5ZM47.5 24.8V5.4C52.7 6.9 57.2 13.2 60.2 21.9C56.1 23.6 51.8 24.5 47.5 24.8ZM58 7.2C62.9 8.9 67.4 11.5 71.4 15C69.3 16.8 67.1 18.4 64.8 19.7C63 14.7 60.7 10.4 58 7.2ZM25.3 19.7C23 18.4 20.7 16.8 18.7 15C22.7 11.5 27.2 8.9 32.1 7.2C29.3 10.4 27 14.7 25.3 19.7ZM25.3 70.3C27.1 75.3 29.4 79.5 32 82.8C27.1 81.1 22.6 78.5 18.6 75C20.7 73.2 22.9 71.6 25.3 70.3ZM64.7 70.3C67 71.6 69.3 73.2 71.3 75C67.3 78.5 62.8 81.1 57.9 82.8C60.7 79.6 63 75.3 64.7 70.3ZM68.7 42.5C68.5 36 67.7 30 66.2 24.6C69.3 23 72.2 20.9 74.9 18.5C81 25.4 84.3 33.9 84.9 42.5H68.7Z" fill="currentColor"/></svg>'},{value:"local",label:"Local Transform",svgSource:'<svg viewBox="0 0 100 92" xmlns="http://www.w3.org/2000/svg"><path d="M99.867 85.986C99.969 85.685 100.015 85.364 99.996 85.037C99.986 84.871 99.96 84.703 99.915 84.536L99.914 84.534L96.015 69.978C95.658 68.643 94.28 67.857 92.953 68.209C91.619 68.566 90.827 69.938 91.184 71.271L93.539 80.063L52.416 56.321V8.95L58.807 15.341C59.295 15.829 59.935 16.073 60.575 16.073C61.215 16.073 61.854 15.829 62.343 15.341C63.32 14.365 63.32 12.782 62.343 11.806L51.684 1.147C50.707 0.169996 49.124 0.169996 48.149 1.147L37.49 11.806C36.513 12.782 36.513 14.365 37.49 15.341C37.978 15.829 38.618 16.073 39.258 16.073C39.898 16.073 40.538 15.829 41.026 15.341L47.417 8.95V56.321L6.49499 79.946L8.83799 71.203C9.19499 69.869 8.40399 68.498 7.
2553306999 68.14C5.73599 67.786 4.36499 68.575 4.00799 69.908L0.136993 84.354C-0.0800068 85.008 -0.0370068 85.746 0.334993 86.389C0.720993 87.057 1.37199 87.462 2.07799 87.584L16.434 91.43C16.651 91.488 16.869 91.516 17.082 91.516C18.186 91.516 19.196 90.779 19.496 89.662C19.853 88.329 19.061 86.958 17.728 86.6L9.01299 84.265L49.916 60.651L90.96 84.348L82.294 86.67C80.961 87.027 80.169 88.399 80.526 89.733C80.826 90.849 81.836 91.587 82.939 91.587C83.154 91.587 83.372 91.559 83.588 91.501L98.147 87.6C98.908 87.396 99.483 86.857 99.778 86.187C99.806 86.124 99.841 86.064 99.864 85.999C99.865 85.994 99.865 85.99 99.867 85.986Z" fill="currentColor"/></svg>'}]}))),s};return{id:"unseen-extension",toolbars:{global(r,s){var l;S.theatre.studioSheets.Unseen=si(S.theatre.studioProject.sheet("Unseen"));const o={};(l=S.WebGL)!=null&&l.stats&&(o.showStats=S.WebGL.stats.visible);const a=S.theatre.helper.addStudioSheetObject("Unseen","Settings",o);S.theatre.updateExtensionToolbar=()=>{r(t(s))},S.theatre.updateExtensionToolbar(),a.onValuesChange(c=>{var u;(u=S.WebGL)!=null&&u.stats&&(c.showStats?S.WebGL.showStats():S.WebGL.hideStats()),S.theatre.updateExtensionToolbar()},S.theatre.rafDriver)},previewCamToolbar(r,s){return r([{type:"Icon",title:"Toggle Wireframe",svgSource:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.931 9h-2.764a14.67 14.67 0 0 0-1.792-6.243A8.013 8.013 0 0 1 19.931 11zM12.53 4.027c1.035 1.364 2.427 3.78 2.627 6.973H9.03c.139-2.596.994-5.028 2.451-6.974.172-.01.344-.026.519-.026.179 0 .354.016.53.027zm-3.842.7C7.704 6.618 7.136 8.762 7.03 11H4.069a8.013 8.013 0 0 1 4.619-6.273zM4.069 13h2.974c.136 2.379.665 4.478 1.556 6.23A8.01 8.01 0 0 1 4.069 13zm7.381 6.973C10.049 18.275 9.222 15.896 9.041 13h6.113c-.208 2.773-1.117 5.196-2.603 6.972-.182.012-.364.028-.551.028-.186 0-.367-.016-.55-.027zm4.011-.772c.955-1.794 1.538-3.901 1.691-6.201h2.778a8.005 8.005 0 0 1-4.469 6.201z"></path></svg>',onClick:()=>{}}]),()=>{}}},panes:[{class:"unseen-versions",mount:async({paneId:r,node:s})=>{s.style.overflowY="auto";const o="unseen-versions-wrapper",a=document.createElement("style"),l=` 25534 .${o} { 25535 padding: 0.3rem; 25536 font-size: 0.7rem; 25537 } 25538 25539 .${o} li { 25540 margin-bottom: 0.5rem; 25541 } 25542 25543 .${o} a { 25544 color: white; 25545 } 25546 25547 .${o} .list-wrap { 25548 display: flex; 25549 flex-direction: column; 25550 width: 100%; 25551 } 25552 25553 .${o} .list-wrap > div { 25554 display: flex; 25555 justify-content: space-between; 25556 align-items: center; 25557 padding: 0.2rem 0.4rem; 25558 } 25559 25560 .${o} .list-wrap > div.published { 25561 padding: 0.4rem 0.4rem; 25562 border-bottom: 1px solid #888; 25563 } 25564 25565 .${o} .list-wrap > div.active { 25566 background-color: rgb(85, 167, 113, 0.2); 25567 } 25568 25569 .${o} .list-wrap > div:hover { 25570 background-color: rgba(255, 255, 255, 0.2); 25571 } 25572 25573 .${o} .list-wrap small { 25574 font-size: 0.6rem; 25575 color: #aaa; 25576 } 25577 25578 .${o} .list-wrap .btn { 25579 display: inline-block; 25580 appearance: none; 25581 padding: 0.3rem 0.4rem; 25582 background: #676767; 25583 border: 1px solid rgba(0, 0, 0, 0.5); 25584 font-size: 0.5rem; 25585 text-transform: uppercase; 25586 font-weight: 600; 25587 cursor: pointer; 25588 color: #fff; 25589 text-decoration: none; 25590 } 25591 25592 .${o} .list-wrap .btn:hover { 25593 opacity: 0.7; 25594 } 25595 25596 .${o} .list-wrap .btn--download { 25597 background: #286a2e; 25598 } 25599 25600 .${o} .list-wrap .btn--delete { 25601 background: #6a2835; 25602 } 25603 25604 .${o} .list-wrap .btn--rename { 25605 background: #276b81; 25606 } 25607 `;a.appendChild(document.createTextNode(l)),s.appendChild(a);const c=document.createElement("div");c.classList.add(o),s.appendChild(c);const u=A=>{window.addEventListener("beforeunload",()=>{S.theatre.studio.__experimental.__experimental_clearPersistentStorage(S.theatre.persistenceKey),localStorage.removeItem(S.theatre.persistenceKey+".persistent")})},f=A=>
25607{const y=A.target.dataset.file;fetch("https://undefinedundefined?download",{method:"POST",body:JSON.stringify({filename:y,projectId:n})}).then(x=>{x.json().then(b=>{b&&fetch(`${Cf}?save`,{method:"POST",body:JSON.stringify({name:y.replace(".json",""),projectId:n,data:JSON.parse(b)})}).then(_=>{_.json().then(T=>{T&&(Te.notify.success("Downloaded Project","Project has been downloaded!"),m())})},_=>{console.error(_)})})},x=>{console.error(x)})},h=A=>{confirm("Are you sure?")&&fetch(`${Cf}?delete`,{method:"POST",body:JSON.stringify({file:A.target.dataset.file,projectId:n})}).then(y=>{y.json().then(x=>{console.log(x),x&&(Te.notify.success("Deleted Project","Project has been deleted!"),m())})},y=>{console.error(y)})},p=A=>{const y=A.target.dataset.filename.replace(".json",""),x=window.prompt("Rename to:",y);x===y||!x||fetch(`${Cf}?rename`,{method:"POST",body:JSON.stringify({file:A.target.dataset.file,projectId:n,newName:x})}).then(b=>{b.json().then(_=>{_&&(Te.notify.success("Renamed Version",`Version has been renamed to "${_}"`),m())})},b=>{console.error(b)})},m=()=>{c.innerHTML="Loading...",v();const A=[];let y=[],x=[],b=[];S.env==="development"&&A.push(new Promise(_=>{fetch(`https://undefinedundefined?list=${n}`).then(T=>{T.json().then(M=>{y=M,_()})},T=>{console.error(T)})})),A.push(new Promise(_=>{fetch(`${Cf}?list=${n}`).then(T=>{T.json().then(M=>{x=M,_()})},T=>{console.error(T)})})),Promise.all(A).then(()=>{const _=y.filter(R=>{const w=!x.find(E=>E[0]===R[0]);return w&&R.push(!0),w});b=[...x,..._],b.sort((R,w)=>w[3]-R[3]);
25607const T=S.urlParams.get("version"),M=S.urlParams.has("scene")?"&scene="+S.urlParams.get("scene"):"";let I='<div class="list-wrap">';b.forEach(R=>{R[0]==="state.json"&&(I+=` 25608 <div class="${R[0]==="state.json"?"published":""} ${R[0]===T?"active":""}"> 25609 <span>Published Version <small>(${R[2]})</small></span> 25610 <div> 25611 <a href="${e}/?gui&version=${encodeURI(R[0])}${M}" class="btn js-view">View</a> 25612 </div> 25613 </div>`)}),b.forEach(R=>{R[4]?I+=` 25614 <div class="${R[0]===T?"active":""}"> 25615 <span>${R[1]==="state"?R[2]:R[1]+" <small>("+R[2]+")</small>"}</span> 25616 <div> 25617 <button class="btn btn--download js-download" data-file="${R[0]}">Download</button> 25618 </div> 25619 </div>`:R[0]!=="state.json"&&(I+=` 25620 <div class="${R[0]===T?"active":""}"> 25621 <span>${R[1]==="state"?R[2]:R[1]+" <small>("+R[2]+")</small>"}</span> 25622 <div> 25623 <a href="${e}/?gui&version=${encodeURI(R[0])}${M}" class="btn js-view">View</a> 25624 <button class="btn btn--delete js-delete" data-file="${R[0]}">Delete</button> 25625 <button class="btn btn--rename js-rename" data-file="${R[0]}" data-filename="${R[1]}">Rename</button> 25626 </div> 25627 </div>`)}),I+="</div>",c.innerHTML=I,c.querySelectorAll(".js-view").forEach(R=>{R.addEventListener("click",u)}),c.querySelectorAll(".js-download").forEach(R=>{R.addEventListener("click",f)}),c.querySelectorAll(".js-delete").forEach(R=>{R.addEventListener("click",h)}),c.querySelectorAll(".js-rename").forEach(R=>{R.addEventListener("click",p)})})},v=()=>{c.querySelectorAll(".js-view").forEach(A=>{A.removeEventListener("click",u)}),c.querySelectorAll(".js-download").forEach(A=>{A.removeEventListener("click",f)}),c.querySelectorAll(".js-delete").forEach(A=>{A.removeEventListener("click",h)}),c.querySelectorAll(".js-rename").forEach(A=>{A.removeEventListener("click",p)})};return m(),()=>{v()}}},{class:"unseen-preview-cam",mount({paneId:r,node:s}){s.parentElement.style.boxShadow="none";const o=new Oy(s,"Composer Result");return S.theatre.previewCamOpen=!0,S.theatre.updateExtensionToolbar(),()=>{o.destroy(),S.theatre.previewCamOpen=!1,S.theatre.updateExtensionToolbar()}}},{class:"unseen-preview-render-target",mount({paneId:r,node:s}){s.style.overflowY="auto",s.parentElement.style.boxShadow="none";const o=JSON.parse(localStorage.getItem(S.theatre.persistenceKey+".openRTViewerPanes"));let a,l;if(o!=null&&o[r]&&S.WebGL.rtViewer.renderTargets[o[r]]){const c=o[r];a=new Oy(s,c)}else{let c='<ul style="padding: 1rem">';
25627for(const u in S.WebGL.rtViewer.renderTargets)c+=`<li style="margin-bottom: 0.5rem"><button style="padding: 0.25rem" data-rtname="${u}">Open ${u}</button></li>`;c+="</ul>",s.innerHTML=c,l=u=>{const f=u.target.dataset.rtname;a=new Oy(s,f);const h=JSON.parse(localStorage.getItem(S.theatre.persistenceKey+".openRTViewerPanes"))||{};h[r]=f,localStorage.setItem(S.theatre.persistenceKey+".openRTViewerPanes",JSON.stringify(h)),s.innerHTML=""},s.querySelectorAll("button").forEach(u=>{u.addEventListener("click",l)})}return()=>{a==null||a.destroy();const c=JSON.parse(localStorage.getItem(S.theatre.persistenceKey+".openRTViewerPanes"));c!=null&&c[r]?(delete c[r],localStorage.setItem(S.theatre.persistenceKey+".openRTViewerPanes",JSON.stringify(c))):s.querySelectorAll("button").forEach(u=>{u.removeEventListener("click",l)})}}}]}}class Oy{constructor(e,t,i={}){he(this,"updateLocation",()=>{const e=this.paneElement.parentElement.offsetLeft,t=this.paneElement.parentElement.offsetTop+this.paneElement.offsetTop,i=this.paneElement.clientWidth,r=this.paneElement.clientHeight;S.WebGL.rtViewer.rtViews[this.rtName].setLocation(e,t,i,r)});he(this,"onResize",()=>{this.updateLocation()});this.paneElement=e,this.rtName=t,this.paneElement.style.background="none",S.WebGL.rtViewer.createRTView(this.rtName,i),this.updateLocation(),this.observer=new MutationObserver(this.updateLocation),this.observer.observe(this.paneElement.parentElement,{attributes:!0,attributeFilter:["style"]}),oc(this.onResize)}destroy(){this.observer.disconnect(),S.WebGL.rtViewer.destroyRTView(this.rtName),Nl.delete(this.onResize)}}const Yue=Object.freeze(Object.defineProperty({__proto__:null,default:Xue},Symbol.toStringTag,{value:"Module"}));class h6{constructor(e,t={}){he(this,"assets",{textures:{},fonts:{},models:{}});he(this,"beforeRender",e=>{this.clockDelta=this.clock.getDelta(),this.globalUniforms.uDelta.value=this.clockDelta>.016?.016:this.clockDelta,this.globalUniforms.uTime.value=e*.001,this.clockDelta=Math.round(this.clockDelta*1e3)/1e3,this.clockDelta=gn.clamp(this.clockDelta,0,.016),this.normalizedDelta=this.clockDelta/.016,this.globalUniforms.uNormalizedDelta.value=this.normalizedDelta,this.renderer.info.reset()});he(this,"render",()=>{var e;this.composer.enabled&&this.composer.render(),(e=this.stats)==null||e.update(),S.Gui&&S.Gui.refresh(!1)});he(this,"onResize",()=>{this.renderer.setSize(S.window.w,S.window.h),this.composer.setSize(S.window.w,S.window.h),this.globalUniforms.uResolution.value.set(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio())});he(this,"onFPSChecked",({data:e})=>{const{gpuTier:t}=e;t<4&&(this.renderer.getPixelRatio()<=2&&this.renderer.getPixelRatio()>1.5&&(this.renderer.setPixelRatio(1.5),this.composer.setPixelRatio(1.5),j_(Nl)),this.renderer.getPixelRatio()<=1.5&&this.renderer.getPixelRatio()>1.25&&(this.renderer.setPixelRatio(1.25),this.composer.setPixelRatio(1.25),j_(Nl)),this.globalUniforms.uResolution.value.set(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio()))});var a;this.el=e,this.options=An({parseBlenderData:!1},t),this.enabled=!1,this.isBuilt=!1,this.renderer=new qne({alpha:!1,antialias:!1,canvas:this.el,powerPreference:"high-performance",stencil:!1,preserveDrawingBuffer:!0});const i=this.renderer.getContext().getExtension("WEBGL_debug_renderer_info");if(i!=null){const l=this.renderer.getContext().getParameter(i.UNMASKED_RENDERER_WEBGL);l.includes("Intel")&&(l.includes("Plus")||l.includes("HD"))&&(S.isLowTierGPU=!0)}this.renderer.setPixelRatio(S.window.dpr>=2?2:S.window.dpr),this.renderer.setSize(S.window.w,S.window.h),this.renderer.info.autoReset=!1,this.renderer.shadowMap.enabled=!1,this.renderer.shadowMap.autoUpdate=!1,this.renderer.shadowMap.type=zo,this.composer=new Cre(this.renderer,new li(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio(),{type:nn})),this.composer.enabled=!S.urlParams.has("controls"),this.composerPasses=new jue(this.composer.passes),S.AssetLoader.setDracoLoader(),S.AssetLoader.setAvailableKtxFiles(),S.AssetLoader.setKtxLoader(this.renderer),S.env!=="production"&&(this.rtViewer=new mle,(a=this.rtViewer)==null||a.registerRT(this.composer.renderTarget1,"Composer Result")),this.pmremHandler=new fle(this.renderer),this.clock=new dP,this.clockDelta=.016,this.composerPassOrder={"landing-orb":0,"crypto-orb":10,"computing-orb":20,"engineering-orb":30,"biology-orb":40,"team-orb":50,article:60,transitions:100,postfx:200},this.globalUniforms={uDelta:{value:0},uNormalizedDelta:{value:0},uTime:{value:0},uResolution:{value:new Re(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio())},uDevCameraActive:{value:!1}},S.theatre.sheets["Global WebGL"]=si(S.theatre.project.sheet("Global WebGL")),this.currentMouse=new Re,this.previousMouse=new Re,this.scenes={"landing-orb":Tce,"crypto-orb":qce,"computing-orb":Sue,"engineering-orb":Due,"biology-orb":kue,"team-orb":Wue,article:sce},this.activeScene=null,this.globalTransitionUniforms={uNoise1Scale:{value:new Re(.015,.03),gui:{step:.001}},uNoise2Scale:{value:new Re(.1,.1),gui:{step:.001}},uNoise1Offset:{value:new Re(.5,0),gui:{step:.001}}
25627,uUvDistortion:{value:.03,gui:{min:0,step:.001}},uAdditionalUvDistortion:{value:.2,gui:{min:0,step:.001}},uChromaticAberrationStrength:{value:.003,gui:{min:0,step:.001}},uCrossfadeSize:{value:.05,gui:{min:0,step:.001}},uCrossfadeNoise:{value:.05,gui:{min:0,step:.001}}};const r={},s=S.theatre.helper.autoAddUniforms(r,this.globalTransitionUniforms);S.theatre.helper.addSheetObject("Global WebGL","Transition",r).onValuesChange(l=>{for(let c=0;c<s.length;c++)s[c](null,l)},S.theatre.rafDriver),S.urlParams.has("gui")||S.urlParams.get("devmode")==="webgl"?this.transitions=[]:this.transitions=[new Uh({fromScene:"landing-orb",toScene:"computing-orb"}),new Uh({fromScene:"computing-orb",toScene:"engineering-orb"}),new Uh({fromScene:"engineering-orb",toScene:"biology-orb"}),new Uh({fromScene:"biology-orb",toScene:"crypto-orb"}),new Uh({fromScene:"crypto-orb",toScene:"team-orb"})],Ale(),xue(),Cue(),this.load(),oc(this.onResize,!1),L1.init(),this.buildStats(),S.urlParams.get("devmode")==="webgl"&&(bE(".lenis").style.display="none",bE(".js-header").style.display="none")}
25627initScenes(){if(S.urlParams.has("scene")){const e=S.urlParams.get("scene");if(this.scenes[e])this.scenes[e]=this.scenes[e]?new this.scenes[e](e,{},this):new cc(e),S.sceneName=e;else{alert("No scene found called: "+e);for(const t in this.scenes)this.scenes[t]!==null&&(this.scenes[t]=new this.scenes[t](t,{},this));S.sceneName=Object.keys(this.scenes)[0]}}else{for(const e in this.scenes)this.scenes[e]!==null&&(this.scenes[e]=new this.scenes[e](e,{},this));S.sceneName=Object.keys(this.scenes)[0]}}buildSceneScrollAnimations(){Object.keys(this.scenes).forEach(e=>{this.scenes[e]instanceof Wa&&this.scenes[e].options.domId&&this.scenes[e].buildScrollAnimation()})}killSceneScrollAnimations(){Object.keys(this.scenes).forEach(e=>{var t,i;(i=(t=this.scenes[e]).killScrollAnimation)==null||i.call(t)})}buildScenePostFxAnimations(){if(S.urlParams.get("devmode")==="webgl")return;this.postFxAnimations=[];const e=zb("[data-webgl-section]");e.forEach((t,i)=>{var a,l;if(i===e.length-1)return;const r=S.theatre.objects[this.scenes[t.dataset.webglSection+"-orb"].prettyName]["Post FX"].value,s=S.theatre.objects[(l=this.scenes[((a=e[i+1])==null?void 0:a.dataset.webglSection)+"-orb"])==null?void 0:l.prettyName]["Post FX"].value,o=dr.timeline({paused:!0,defaults:{duration:1,ease:"none"},scrollTrigger:{trigger:t,start:"bottom bottom",end:"bottom top",scrub:.1}}).fromTo(this.bloomPass,{enabled:r.bloom.enabled,strength:r.bloom.strength,threshold:r.bloom.threshold,radius:r.bloom.radius},{enabled:s.bloom.enabled,strength:s.bloom.strength,threshold:s.bloom.threshold,radius:s.bloom.radius},0).fromTo(this.directionalBloomPass,{enabled:r.directionalBloom.enabled,strength:r.directionalBloom.strength,threshold:r.directionalBloom.threshold,radius:r.directionalBloom.radius},{enabled:s.directionalBloom.enabled,strength:s.directionalBloom.strength,threshold:s.directionalBloom.threshold,radius:s.directionalBloom.radius},0);this.postFxAnimations.push(o)})}killScenePostFxAnimations(){var e;(e=this.postFxAnimations)==null||e.forEach(t=>{t.kill()}),this.postFxAnimations=[]}build(){var e,t,i;if(!this.isBuilt){this.isBuilt=!0,this.buildFluidSim(),this.buildPasses(),this.buildTheatreOptions();for(const r in this.scenes)(t=(e=this.scenes[r])==null?void 0:e.build)==null||t.call(e);S.env!=="production"&&!((i=window==null?void 0:window.__TheatreJS_StudioBundle)!=null&&i._studio._store._atom._currentState.ephemeral.extensions.byId["unseen-extension"])&&Sr(()=>Promise.resolve().then(()=>Yue),void 0,import.meta.url).then(async({default:r})=>{var s,o;(o=(s=S.theatre)==null?void 0:s.studio)==null||o.extend(r("blueyard","/"))})}}buildTransitions(){for(let e=0;e<this.transitions.length;e++)this.transitions[e].build()}killTransitionTimelines(){for(let e=0;e<this.transitions.length;e++)this.transitions[e].killTimeline()}destroyTransitions(){for(let e=0;e<this.transitions.length;e++)this.transitions[e].destroy()}buildFluidSim(){var e;this.fluidSim=new wle({simulationOpts:{uniforms:{}},fluid:{force:10,forceClamp:20}}),(e=this.rtViewer)==null||e.registerRT(this.fluidSim.advectionSimVelocity.renderTargets.read,"Fluid Sim")}buildPasses(){this.bloomPass=new Ld(new Re(S.window.w,S.window.h)),this.bloomPass.threshold=1,this.bloomPass.strength=.24,this.bloomPass.radius=.04,this.bloomPass.name="Bloom",this.bloomPass.enabled=!1,this.directionalBloomPass=new Fd(new Re(S.window.w,S.window.h)),this.directionalBloomPass.threshold=1,this.directionalBloomPass.strength=.24,this.directionalBloomPass.radius=.04,this.directionalBloomPass.name="Directional Bloom",this.directionalBloomPass.enabled=!1,this.fxaaPass=new rp(new is({vertexShader:oce,fragmentShader:ace,uniforms:{tDiffuse:{value:null},uSamples:{value:S.isLowTierGPU?4:8,gui:{min:0,step:1}}},defines:{EDGE_THRESHOLD_MIN:.009,EDGE_THRESHOLD_MAX:.125,SUBPIXEL_QUALITY:.85},name:"FXAAMaterial"})),this.fxaaPass.name="FXAA",this.fxaaPass.material.name="FXAA",this.compositePass=new rp(new is({vertexShader:R4,fragmentShader:lce,uniforms:{tDiffuse:{value:null},uEnabled:{value:!0},uChromaticAberration:{value:!0},uVignette:{value:!1},uNoise:{value:!0},uMaxDistort:{value:.449},uBendAmount:{value:-.0779},uVignetteStrength:{value:.602},uVignetteInnerStrength:{value:.08},uVignetteOuterStrength:{value:.21},uVignetteColor:{value:new ke(0)},uNoiseStrength:{value:.23}},name:"FinalComposite"})),this.compositePass.name="Final Composite",S.env!=="production"&&S.env!=="browsersync-no-theatre"&&(this.outputPass=new Sre),this.composerPasses.add(this.fxaaPass,this.composerPassOrder.postfx),S.isLowTierGPU||(this.composerPasses.add(this.bloomPass,this.composerPassOrder.postfx+2),this.composerPasses.add(this.directionalBloomPass,this.composerPassOrder.postfx+4)),this.composerPasses.add(this.compositePass,this.composerPassOrder.postfx+10)}buildTheatreOptions(){const e={chromaticAberration:{enabled:Te.types.boolean(S.WebGL.compositePass.material.uniforms.uChromaticAberration.value),maxDistort:Te.types.number(S.WebGL.compositePass.material.uniforms.uMaxDistort.value,{range:[0,4],nudgeMultiplier:.001}),bendAmount:Te.types.number(S.WebGL.compositePass.material.uniforms.uBendAmount.value,{range:[-1,1],nudgeMultiplier:.001})},vignette:{enabled:Te.types.boolean(S.WebGL.compositePass.material.uniforms.uVignette.value),strength:Te.types.number(S.WebGL.compositePass.material.uniforms.uVignetteStrength.value,{range:[0,1],nudgeMultiplier:.001}),outerStrength:Te.types.number(S.WebGL.compositePass.material.uniforms.uVignetteOuterStrength.value,{range:[0,2],nudgeMultiplier:.01}),innerStrength:Te.types.number(S.WebGL.compositePass.material.uniforms.uVignetteInnerStrength.value,{range:[0,5
25627],nudgeMultiplier:.01}),color:S.theatre.helper.parseColor(S.WebGL.compositePass.material.uniforms.uVignetteColor.value)},noise:{enabled:Te.types.boolean(S.WebGL.compositePass.material.uniforms.uNoise.value),strength:Te.types.number(S.WebGL.compositePass.material.uniforms.uNoiseStrength.value,{range:[0,1],nudgeMultiplier:.001})},led:{}};S.theatre.helper.addSheetObject("Global WebGL","Post FX",e).onValuesChange(i=>{S.WebGL.compositePass.material.uniforms.uChromaticAberration.value=i.chromaticAberration.enabled,S.WebGL.compositePass.material.uniforms.uMaxDistort.value=i.chromaticAberration.maxDistort,S.WebGL.compositePass.material.uniforms.uBendAmount.value=i.chromaticAberration.bendAmount,S.WebGL.compositePass.material.uniforms.uVignette.value=i.vignette.enabled,S.WebGL.compositePass.material.uniforms.uVignetteStrength.value=i.vignette.strength,S.WebGL.compositePass.material.uniforms.uVignetteInnerStrength.value=i.vignette.innerStrength,S.WebGL.compositePass.material.uniforms.uVignetteOuterStrength.value=i.vignette.outerStrength,S.WebGL.compositePass.material.uniforms.uVignetteColor.value.copy(i.vignette.color),S.WebGL.compositePass.material.uniforms.uNoise.value=i.noise.enabled,S.WebGL.compositePass.material.uniforms.uNoiseStrength.value=i.noise.strength},S.theatre.rafDriver);const t={fluid:{force:Te.types.number(20,{range:[0,1/0],nudgeMultiplier:.1}),forceClamp:Te.types.number(100,{range:[0,1/0],nudgeMultiplier:.1}),iterations:Te.types.number(3,{range:[0,12],nudgeMultiplier:1})},simulation:{mouseRadius:Te.types.number(.25,{range:[0,1],nudgeMultiplier:.01}),pressure:Te.types.number(.98,{range:[.55,.999],nudgeMultiplier:1e-4}),curlStrength:Te.types.number(.25,{range:[0,2],nudgeMultiplier:1e-4}),dissipation:Te.types.number(.1,{range:[0,.99],nudgeMultiplier:1e-4}),clearValue:Te.types.number(.1,{range:[0,.99],nudgeMultiplier:1e-4}),viscosity:Te.types.number(.08,{range:[0,1],nudgeMultiplierp:1e-4})}};S.theatre.helper.addSheetObject("Global WebGL","Fluid Sim",t).onValuesChange(i=>{this.fluidSim&&(S.WebGL.fluidSim.options.fluid.force=i.fluid.force,S.WebGL.fluidSim.options.fluid.forceClamp=i.fluid.forceClamp,S.WebGL.fluidSim.options.fluid.iterations=i.fluid.iterations,S.WebGL.fluidSim.options.simulationOpts.uniforms.uMouseRadius.value=i.simulation.mouseRadius,S.WebGL.fluidSim.options.simulationOpts.uniforms.uPressure.value=i.simulation.pressure,S.WebGL.fluidSim.options.simulationOpts.uniforms.uCurlStrength.value=i.simulation.curlStrength,S.WebGL.fluidSim.options.simulationOpts.uniforms.uDissipation.value=i.simulation.dissipation,S.WebGL.fluidSim.options.simulationOpts.uniforms.uClearValue.value=i.simulation.clearValue,S.WebGL.fluidSim.options.simulationOpts.uniforms.uViscosity.value=i.simulation.viscosity)},S.theatre.rafDriver)}buildStats(){if(S.env!=="production"&&S.urlParams.has("stats")){this.stats=new cle({trackGPU:!0,samplesLog:200,graphsPerSecond:4,logsPerSecond:4}),this.stats.visible=!0,this.stats.init(this.renderer),this.stats.dom.classList.add("js-stats"),Object.assign(this.stats.dom.style,{display:"flex",width:"100%",justifyContent:"center",pointerEvents:"none"});const e=` 25628 .js-stats > * { 25629 position: static !important; 25630 } 25631 `,t=document.createElement("style");t.innerHTML=e,this.stats.dom.appendChild(t),document.body.appendChild(this.stats.dom)}}showStats(){this.stats.dom.style.display="flex",this.stats.visible=!0}hideStats(){this.stats.dom.style.display="none",this.stats.visible=!1}preRender(){for(const e in this.scenes)this.scenes[e]instanceof Wa&&(S.WebGL.renderer.compile(this.scenes[e],this.scenes[e].activeCamera),S.theatre.sheets[this.scenes[e].prettyName].sequence.position=1,this.scenes[e].renderPass.enabled=!0,this.scenes[e].renderPassOrbObjects&&(this.scenes[e].renderPassOrbObjects.enabled=!0),this.scenes[e].backgroundSavePass&&(this.scenes[e].backgroundSavePass.enabled=!0));S.WebGL.composer.render();for(const e in this.scenes)this.scenes[e]instanceof Wa&&(this.scenes[e].renderPass.enabled=!1,S.theatre.sheets[this.scenes[e].prettyName].sequence.position=0,this.scenes[e].renderPassOrbObjects&&(this.scenes[e].renderPassOrbObjects.enabled=!1),this.scenes[e].backgroundSavePass&&(this.scenes[e].backgroundSavePass.enabled=!1))}start(){var e,t;this.enabled||(L1.dispatchEvent("CheckFPS"),this.enabled=!0,this.addEvents(),(e=this.rtViewer)==null||e.enable(),(t=this.scenes[S.sceneName])==null||t.start(),S.theatre.manager&&S.theatre.manager.enableRAF())}stop(){var e;this.enabled&&(this.enabled=!1,this.removeEvents(),(e=this.rtViewer)==null||e.disable(),Object.keys(this.scenes).forEac
25631h(t=>{var i,r;(r=(i=this.scenes[t])==null?void 0:i.stop)==null||r.call(i)}),S.theatre.manager&&S.theatre.manager.disableRAF())}destroy(){var e;this.stop(),this.destroyScenes(),(e=this.rtViewer)==null||e.destroy(),this.renderer.dispose(),this.destroyTransitions(),this.killSceneScrollAnimations(),this.killScenePostFxAnimations(),S.theatre.helper.detachAllSheetObjects("Global WebGL")}destroyScenes(){var e,t;for(const i in this.scenes)(t=(e=this.scenes[i])==null?void 0:e.destroy)==null||t.call(e)}addEvents(){S.RAFCollection.add(this.beforeRender,1),S.RAFCollection.add(this.render,100),L1.on("FPSChecked",this.onFPSChecked),S.isLowTierGPU||S.WebGL.fluidSim.addEvents()}removeEvents(){S.RAFCollection.remove(this.beforeRender),S.RAFCollection.remove(this.render),L1.off("FPSChecked",this.onFPSChecked),S.isLowTierGPU||S.WebGL.fluidSim.removeEvents()}generateTexture(e,t={}){return e instanceof HTMLImageElement&&(e=new xn(e)),e.minFilter=t.minFilter||Fs,e.magFilter=t.magFilter||Yt,e.wrapS=e.wrapT=t.wrapping||ti,e.flipY=t.flipY!==void 0?t.flipY:!0,e.colorSpace=t.colorSpace||mi,e.mapping=t.mapping||Wx,e.isCompressedTexture||(e.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!0),e.anisotropy=t.anisotropy||1,this.renderer.initTexture(e),e}load(){this.loadFonts(),S.AssetLoader.loadTexture("/webgl/textures/gradient-noise.jpg",{wrapping:ts}).then(e=>{this.assets.textures.noise=e})}loadFonts(){for(const e in S.webglFonts){const t=JSON.parse(S.webglFonts[e]);this.assets.fonts[e]=t,t.pages.forEach((i,r)=>{const s=i.split(".")[0];S.AssetLoader.loadTexture(`/webgl/fonts/${e}/msdf/${i}`,{flipY:!0,anisotropy:this.renderer.capabilities.getMaxAnisotropy()}).then(o=>{this.assets.textures[`${e}_${s}-${r}`]=o})})}}}const $ue=JSON.parse('{"LandingOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"enableLookAt":false,"transforms":{"position":{"x":0,"z":16.599999999999987,"y":3.1000000000000014}}},"Landing Orb":{"uniforms":{"uColorFresnelAmount":3.400000000000001,"uAmbientColor":{"r":1,"g":0.6274509803921569,"b":0.4666666666666667,"a":1},"uFresnelColor":{"r":0.9607843137254902,"g":0.8980392156862745,"b":0.8862745098039215,"a":1},"uColorFresnelFalloff":1.5100000000000005,"uLightPosition":{"x":-12,"y":16,"z":53},"uCloudsColor":{"r":0.8588235294117647,"g":0.06274509803921569,"b":0.06274509803921569,"a":1},"uShininess":74,"uSpecularIntensity":0.18999999999999984,"uLightIntensity":0.9499999999999996,"uLightColor":{"r":0.9058823529411765,"g":0.7098039215686275,"b":0.4196078431372549,"a":1},"uOpacity":0.95,"uLightIntensity2":0.9200000000000004,"uSpecularIntensity2":0.6799999999999992,"uLightColor2":{"r":0.7215686274509804,"g":0.1803921568627451,"b":0.3176470588235294,"a":1},"uLightPosition2":{"x":18.000000000000007,"y":-6.700000000000017,"z":22.000000000000057},"uOpacityFresnelFalloff":1.980000000000002,"uOpacityFresnelOffset":0.025000000000000112,"uOpacityFresnelAmount":1.3699999999999974,"uDebugClouds":false,"uCloudNoiseScale":{"x":2.5,"y":2.5,"z":2.5},"uCloudsSmoothstep":{"y":0.9199999999999999,"x":0.36000000000000015},"uCloudNoiseSpeed":0.4199999999999998},"material":{"transparent":true,"depthWrite":true},"visible":true},"LandingOrbParticles":{"material":{"depthTest":true,"transparent":false},"simulation":{"uniforms":{"uCurlSize":0.2799999999999992,"uCurlNoiseSpeed":3.6600000000000037,"uCurlStrength":0.08700000000000001,"uLerpSpeed":0.20399999999999982,"uCurl":true,"uRadius":2.95,"uFriction":0,"uDecay":0.37399999999999944,"uShapeThreshold":0.25,"uAmplitude":{"x":0.1350000000000001,"y":0.12099999999999991},"uRoughness":0.650000000000011,"uDetail":0.5,"uFrequency":{"x":7.580000000000001,"y":9.64},"uCurlNoisePersistence":0.16700000000000043,"uNoiseTranslation":{"x":105.12000000000008,"y":104.0200000000002,"z":97.25999999999998},"uDecay2":0.3960000000000003,"uLerpSpeed2":0.3840000000000002,"uFluidStrength":0.1}},"visible":true,"uniforms":{"uParticleSize":0.35,"uAmbientColor1":{"r":0.30980392156862746,"g":0.1803921568627451,"b":0.17254901960784313,"a":1},"uAmbientColor2":{"r":0.4666666666666667,"g":0.32941176470588235,"b":0.19607843137254902,"a":1},"uBaseColor":{"r":0.8666666666666667,"g":0.2980392156862745,"b":0.2980392156862745,"a":1},"uBaseColor2":{"r":1,"g":0.5843137254901961,"b":0.3215686274509804,"a":1},"uEdgeColor1":{"r":0.9882352941176471,"g":0.6078431372549019,"b":0.4941176470
256315882355,"a":1},"uEdgeColor2":{"r":1,"g":0.7450980392156863,"b":0.5333333333333333,"a":1},"uRandomHighlightSelect":0.98,"uRandomHighlightBaseColor":{"r":1,"g":0,"b":0,"a":1},"uBloomColor1":{"r":0.9529411764705882,"g":0.6666666666666666,"b":0.6352941176470588,"a":1},"uBloomColor2":{"r":0.9607843137254902,"g":0.7372549019607844,"b":0.6274509803921569,"a":1},"uSunDistanceColorStep":9.929999999999692,"uShininess":83,"uLightIntensity":1.4900000000000004,"uSpecularIntensity":0.64,"uLightColor":{"r":1,"g":0.9058823529411765,"b":0.8705882352941177,"a":1},"uLightColor2":{"r":1,"g":0.9137254901960784,"b":0.8392156862745098,"a":1},"uSpecularIntensity2":2,"uCloudsFadeIntensity":2.800000000000005,"uEdgeColorStop":{"x":1.9299999999999962,"y":2.8899999999999904},"uScaleRange":{"y":1.2},"uRandomHighlightColor":{"x":10,"y":1.57,"z":1.3100000000000005},"uBrightColorPick":{"x":0.13,"y":0.16},"uDistanceFadeNearFar":{"x":18.180000000000096,"y":19.529999999999873}}},"Cameras / Settings":{"cameraPivotStrength":0,"cameraPivotOffset":18,"cameraPivotAngle":{"x":0.21700000000000014,"y":0.11799999999999988},"cameraYTranslate":0},"Post FX":{"vignette":{"enabled":false},"bloom":{"enabled":true,"strength":0.32999999999999985,"radius":0},"bloomPassColor":{"enabled":false,"threshold":1.345999999999997,"strength":1.2799999999999994,"radius":0.5400000000000003},"noise":{"strength":0.23}},"Background":{"uniforms":{"uColor2":{"r":0.8235294117647058,"g":0.6823529411764706,"b":0.2549019607843137,"a":1},"uColor3":{"r":0.9803921568627451,"g":0.9568627450980393,"b":0.788235294117647,"a":1},"uColor2Brightness":1,"uColor1":{"r":1,"g":0.3137254901960784,"b":0.3137254901960784,"a":1},"uScale1":1.8800000000000008,"uOffset2":{"x":-0.5100000000000005,"y":-0.27000000000000035},"uOffset1":{"x":-3.66000000000001,"y":-0.3999999999999997},"uScale2":1.4400000000000004},"visible":true,"material":{"transparent":true,"depthTest":true}},"Global Uniforms":{"uniforms":{"uLightPosition":{"x":-37,"y":23,"z":91},"uLightPosition2":{"x":102,"y":3,"z":84}}},"Sun and Shadow":{"sunPosition":{"x":4.2,"y":5.799999999999996,"z":6.00000000000003},"dirLight2position":{"x":-10.000000000000005,"y":1.1999999999999993,"z":-0.1999999999999064},"shadowIntensity":0.6300000000000001,"shadowCamera":{"far":13.799999999999947,"top":3.7000000000000006,"bottom":-2.9000000000000012,"left":-4.200000000000013,"right":3.200000000000005,"near":5.500000000000009},"shadowColor":{"r":0.17647058823529413,"g":0.0196078431372549,"b":0.15294117647058825,"a":1},"shadowColor2":{"r":0.36470588235294116,"g":0.16862745098039217,"b":0.07058823529411765,"a":1}},"LandingOrbFlareParticles":{"material":{"transparent":true,"blending":"2","depthWrite":true,"depthTest":true},"simulation":{"uniforms":{"uDecay":0.131,"uLerpSpeed":0.15699999999999986,"uFluidStrength":0.03}},"visible":true,"uniforms":{"uParticleSize":0.3,"uColor":{"r":1,"g":0,"b":0,"a":1},"uScaleRange":{"y":1.2},"uCenterFade":{"x":3,"y":3.3},"uBloomColor":{"x":0.5399999999999996,"y":0.9299999999999997,"z":0.94}}},"Fluid Sim":{"simulation":{"mouseRadius":0.1,"pressure":0.9883000000000002,"curlStrength":0.3675000000000004,"dissipation":0.034999999999999615,"clearValue":0,"viscosity":0.484126984126984},"fluid":{"forceClamp":20,"force":5}}}},"sequence":{"subUnitsPerUnit":30,"length":10,"type":"PositionalSequence","tracksByObject":{"Landing Orb":{"trackData":{},"trackIdByPropPath":{}}}}},"CryptoOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"transforms":{"position":{"z":17.31000000000005,"x":-2.1899999999999977}},"enableLookAt":false},"Background":{"color":{"r":0.9215686274509803,"g":0.9294117647058824,"b":0.9294117647058824,"a":1},"uniforms":{"uColor2":{"r":0.9254901960784314,"g":0.5568627450980392,"b":0.4392156862745098,"a":1},"uColor1":{"r":0.47058823529411764,"g":0.03529411764705882,"b":0.6,"a":1},"uColor3":{"r":1,"g":0.9921568627450981,"b":0.9686274509803922,"a":1},"uOffset":{"x":0.00999999999999994,"y":-6.938893903907228e-18},"uGradientMidPoint":0.3900000000000001,"uColor1Brightness":1,"uColor2Brightness":1,"uScale1":2.0599999999999983,"uScale2":1.379999999999989,"uOffset1":{"x":5.989999999999967,"y":-4.529999999999993,"z":-2.569999999999993},"uOffset2":{"x":-2.4599999999999835,"y":-3.4199999999999897,"z":2.65999999999999},"uScale3":1.4800000000000069,"uOffset3":{"x":0.23000000000000026}
25631,"uColor4":{"r":0.7450980392156863,"g":0.8941176470588236,"b":1,"a":1},"uColor4BlendEnd":0.7299999999999998,"uColor4BlendStart":0.18999999999999992},"material":{"transparent":true,"depthTest":true}},"CryptoOrbParticleSpheres / inner":{"simulation":{"uniforms":{"uCurlSize":0.909999999999999,"uCurlNoiseSpeed":0.19999999999999996,"uCurlStrength":0.07500000000000004,"uCurl":true,"uLerpSpeed":0.2,"uFluidStrength":0.11499999999999974}},"material":{"uniforms":{"uBaseColor":{"r":0.5372549019607843,"g":0.6784313725490196,"b":0.7294117647058823,"a":1},"uParticleSize":0.2,"uOpacity":0.5600000000000002}},"count":1024,"visible":true},"CryptoOrbParticleSpheres / outer":{"simulation":{"uniforms":{"uCurlSize":1.3200000000000005,"uCurlStrength":0.068,"uCurlNoiseSpeed":0.12000000000000002,"uCurl":true,"uFluidStrength":0.13199999999999967}},"material":{"uniforms":{"uBaseColor":{"r":0.8901960784313725,"g":0.43529411764705883,"b":0.7254901960784313,"a":1},"uParticleSize":0.15}}},"Electric-branches / Global":{"uniforms":{"uBaseColor":{"r":0.25882352941176473,"g":0.23529411764705882,"b":0.3254901960784314,"a":1},"uLineWidth":0.005400000000000002,"uHighlightPower":2.7299999999999986,"uHideProgress":0,"uHighlightLength":0.43999999999999984,"uExtraColor":{"r":0.8196078431372549,"g":0.7098039215686275,"b":1,"a":1},"uFresnelOffset":0.6330000000000001,"uFresnelFalloff":0.22999999999999995,"uFresnelAmount":1}},"CryptoLine-inner-outer / Global":{"uniforms":{"uBaseColor":{"r":0.5372549019607843,"g":0.6313725490196078,"b":0.6470588235294118,"a":1},"uLineWidth":0.003,"uHighlightPower":5}},"Post FX":{"bloom":{"enabled":true,"threshold":1.4400000000000004,"strength":0.5099999999999999,"radius":1},"chromaticAberration":{"maxDistort":0.689,"bendAmount":-0.09589999999999999},"vignette":{"enabled":false},"bloomPassColor":{"threshold":1.0600000000000003,"strength":1.1999999999999993,"radius":1.2400000000000007,"enabled":false},"directionalBloom":{"enabled":false},"noise":{"strength":0.2}},"CryptoOrbGlassSphere":{"material":{"roughness":1,"iridescence":0.41,"dispersion":7.309999999999996,"thickness":0.21999999999999997,"ior":1.1800000000000002,"anisotropy":0,"attenuationDistance":10,"attenuationColor":{"r":0.0941176470
256315882353,"g":0.09411764705882353,"b":0.09411764705882353,"a":1},"clearcoat":0,"clearcoatRoughness":0,"iridescenceIOR":2.100000000000004,"sheen":1,"sheenRoughness":1,"sheenColor":{"r":0.6235294117647059,"g":0.3254901960784314,"b":0.16470588235294117,"a":1},"specularIntensity":0.5899999999999999,"specularColor":{"r":0.5411764705882353,"g":0.25882352941176473,"b":0.5137254901960784,"a":1},"reflectivity":1,"envMapRotation":{"x":-1.1684073464101945,"y":4.490000000000003,"z":0.3800000000000001},"fresnelAmount":3.709999999999995,"transmission":1,"envMapIntensity":2.3,"fresnelOffset":0,"fresnelFalloff":1.1800000000000008,"color":{"r":0.9725490196078431,"g":0.9725490196078431,"b":0.9725490196078431,"a":1},"blending":"1","side":"0"},"visible":true},"Cameras / Settings":{"cameraPivotAngle":{"x":0.1,"y":0.1},"cameraPivotStrength":1,"cameraPivotOffset":20,"cameraXTranslate":0,"cameraPivotRollAmount":0.3,"pointerLerpSpeed1":0.02},"CryptoLine-inner-outer / Line":{"material":{"transparent":true,"depthTest":false,"depthWrite":true,"colorWrite":true,"blending":"1"},"transforms":{"scale":{"x":1},"position":{"x":0}},"uniforms":{"uOpacity":1},"visible":true},"Electric-branches / Line":{"material":{"blending":"2","transparent":true,"depthTest":true},"transforms":{"scale":{"x":1.1,"y":1.1,"z":1.1}},"visible":true},"Extra-branches / Global":{"uniforms":{"uBaseColor":{"r":0.9450980392156862,"g":0.7843137254901961,"b":1,"a":1},"uLineWidth":0.005999999999999979,"uHighlightLength":0.1}},"Extra-branches / Line":{"material":{"blending":"2","transparent":true,"depthWrite":true,"colorWrite":true,"depthTest":true},"visible":false,"uniforms":{"uOpacity":0.2},"transforms":{"scale":{"x":1,"y":1,"z":1}}},"hover-line / Global":{"uniforms":{"uHoverColor":{"r":1,"g":0.5058823529411764,"b":0.26666666666666666,"a":1},"uBaseColor":{"r":0,"g":0,"b":0,"a":1},"uMouseFresnelAmount":6.059999999999991,"uMouseRadius":0.11,"uMouseFresnelOffset":0.01}},"hover-line / Line":{"material":{"blending":"2"},"transforms":{"scale":{"x":1.1,"y":1.1,"z":1.1}}},"Fluid Sim":{"simulation":{"mouseRadius":0.05,"curlStrength":0.0812,"clearValue":0,"dissipation":0.016499999999999845,"viscosity":0.015873015873015872},"fluid":{"forceClamp":30,"force":20}}}},"sequence":{"subUnitsPerUnit":30,"length":35.47,"type":"PositionalSequence","tracksByObject":{"Cameras / Camera 1":{"trackData":{},"trackIdByPropPath":{}},"Electric-branches / Global":{"trackData":{"0kLKUVgKd-":{"type":"BasicKeyframedTrack","__debugName":"Electric-branches / Global:[\\"uniforms\\",\\"uTimeProgress\\"]","keyframes":[{"id":"__etIdk9rv","position":1.067,"connectedRight":true,"handles":[0.5,1,0.18,0.975],"type":"bezier","value":0},{"id":"feej9gcTkU","position":10.533,"connectedRight":true,"handles":[0.624,0.448,0.5,0],"type":"bezier","value":1}]},"PrwP4EWWWQ":{"type":"BasicKeyframedTrack","__debugName":"Electric-branches / Global:[\\"uniforms\\",\\"uHighlightLength\\"]","keyframes":[{"id":"WwZlh6rfW_","position":1.067,"connectedRight":true,"handles":[0.5,1,0.18,0.641],"type":"bezier","value":0.43999999999999984},{"id":"2Aa00SeaUE","position":10.333,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":0}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uTimeProgress\\"]":"0kLKUVgKd-","[\\"uniforms\\",\\"uHighlightLength\\"]":"PrwP4EWWWQ"}},"Extra-branches / Global":{"trackData":{"JaInCSkaln":{"type":"BasicKeyframedTrack","__debugName":"Extra-branches / Global:[\\"uniforms\\",\\"uTimeProgress\\"]","keyframes":[{"id":"-RKmnoKjXh","position":7.3,"connectedRight":true,"handles":[0.5,1,0.55,0.085],"type":"bezier","value":0},{"id":"OCQuwQAT3j","position":33.467,"connectedRight":true,"handles":[0.68,0.53,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uTimeProgress\\"]":"JaInCSkaln"}}}}},"ComputingOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"transforms":{"position":{"z":7.250000000000007,"x":0.7700000000000002,"y":0}},"enableLookAt":false},"Computing Orb Bands":{"uniforms":{"uHighlightPower":39.90000000000002,"uHighlightColor":{"r":0.9137254901960784,"g":0.3843137254901961,"b":1,"a":1},"uFadeLength":0.028799999999999975,"uMatcapBlendMode":1,"uMatcapContrast":1.6400000000000008,"uFadeContrast":36.469999999999985,"uSpeed":0.08,"uColor":{"r":0.941176470
256315882353,"g":0.8901960784313725,"b":0.9803921568627451,"a":1},"uFillRepeat":3,"uStrandOffset":0.021000000000000005,"uBundleOffset":28.16999999999999,"uFillLength":0.6919999999999997,"uStartFadeLength":0.04300000000000001,"uEndFadeLength":0.001,"uEmissiveColor":{"r":0.7254901960784313,"g":0.9215686274509803,"b":0.9647058823529412,"a":1},"uIOR":1.6149999999999987,"uSpecularColor":{"r":1,"g":1,"b":1,"a":1},"uMetalness":0,"uRoughness":0.2,"uOpacity":0.8699999999999999,"uLightMapIntensity":0,"uRevealProgress":1,"uMouseRadius":0.007299999999999993,"uFresnelAmount":2.6899999999999973,"uFresnelOffset":0.016,"uFresnelFalloff":2.659999999999997},"material":{"depthWrite":true,"blending":"1","transparent":true,"wireframe":false},"transforms":{"rotation":{"z":0.54,"x":0.13999999999999968},"scale":{"x":2.4,"y":2.4,"z":2.4}}},"Background":{"color":{"r":0.8862745098039215,"g":0.9294117647058824,"b":0.9725490196078431,"a":1},"uniforms":{"uColor2":{"r":0.3254901960784314,"g":0.6784313725490196,"b":0.9333333333333333,"a":1},"uColor3":{"r":1,"g":1,"b":1,"a":1},"uColor1":{"r":0.4117647058823529,"g":0.21176470588235294,"b":0.8431372549019608,"a":1},"uColor3Brightness":1,"uGradientMidPoint":0.3900000000000002,"uColor2Brightness":1,"uColor1Brightness":1,"uUseTexture":false,"uTextureSize":{"x":4500,"y":3000},"uScale1":2.5700000000000025,"uOffset1":{"x":1.5899999999999987,"y":-1.8600000000000005},"uScale2":2.139999999999998,"uOffset2":{"x":0.5400000000000004,"y":0.25,"z":-0.02000000000000001}}},"Post FX":{"chromaticAberration":{"enabled":true,"maxDistort":1.7539999999999996},"bloom":{"enabled":true,"threshold":1.12,"radius":1.1,"strength":0.3500000000000001},"vignette":{"enabled":false},"bloomPassColor":{"threshold":1.4099999999999995,"radius":1,"enabled":false,"strength":0.3999999999999999},"directionalBloom":{"enabled":false},"noise":{"strength":0.2}},"Cameras / Settings":{"cameraPivotStrength":1,"cameraPivotOffset":14.820000000000007,"cameraPivotAngle":{"x":0.1,"y":0.1},"cameraPivotRollAmount":0.4,"cameraYTranslate":0,"cameraXTranslate":0,"pointerLerpSpeed1":0.02},"Computing Orb Extra Threads":{"uniforms":{"uColor":{"r":0.6745098039215687,"g":0.6705882352941176,"b":0.9686274509803922,"a":1},"uMatcapContrast":0.38,"uFillLength":1,"uFadeContrast":11.219999999999999,"uHighlightPower":71.49999999999991,"uHighlightColor":{"r":0.9607843137254902,"g":0.15294117647058825,"b":0.8784313725490196,"a":1},"uSpeed":0.10999999999999999,"uFillRepeat":5,"uStrandOffset":0.19000000000000006,"uBundleOffset":19.049999999999983,"uStartFadeLength":0.5670000000000004,"uEndFadeLength":0,"uEmissiveColor":{"r":0.9568627450980393,"g":0.5568627450980392,"b":0.9921568627450981,"a":1},"uSpecularColor":{"r":1,"g":1,"b":1,"a":1},"uLightMapIntensity":0},"transforms":{"rotation":{"x":0.13999999999999968,"z":0.54},"scale":{"x":2.4,"y":2.4,"z":2.4}}},"Computing Orb Test Mesh":{"uniforms":{"uProgress":0}}}},"sequence":{"subUnitsPerUnit":30,"length":5.66,"type":"PositionalSequence","tracksByObject":{"Computing Orb Bands":{"trackData":{"ZdQXNL5W9h":{"type":"BasicKeyframedTrack","__debugName":"Computing Orb Bands:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"UtYyOZBhun","position":0.533,"connectedRight":true,"handles":[0.5,1,0.25,0.46],"type":"bezier","value":0},{"id":"tF_kmpbfN-","position":4.533,"connectedRight":true,"handles":[0.45,0.94,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"ZdQXNL5W9h"}},"Computing Orb Extra Threads":{"trackData":{"ujuAZthtkG":{"type":"BasicKeyframedTrack","__debugName":"Computing Orb Extra Threads:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"yYCKDOSHMC","position":0.533,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":0},{"id":"QukKUscb4m","position":4,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"ujuAZthtkG"}}}}},"BiologyOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"enableLookAt":false,"transforms":{"position":{"y":-0.41000000000000003,"z":9.179999999999955,"x":-0.5300000000000001}},"lookAtTarget":{"y":0}},"Cameras / Settings":{"cameraPivotStrength":1,"cameraPivotOffset":20,"cameraPivotAngle":{"x":0.15,"y":0.1},"cameraXTranslate":0,"cameraPivotRollAmount":0.3,"cameraYTranslate":0,"cameraZTranslate":0,"pointerLerpSpeed1":0.02},"Biology Orb / Iris":{"uniforms":{"uMatcapContrast":1.3099999999999992,"uRevealProgress":1,"uC
25631olor":{"r":1,"g":1,"b":1,"a":1},"uColor2":{"r":0.3803921568627451,"g":1,"b":0.7764705882352941,"a":1},"uColor3":{"r":0.7843137254901961,"g":0.8941176470588236,"b":0.9137254901960784,"a":1},"uColor1":{"r":0.40784313725490196,"g":0.29411764705882354,"b":0.7843137254901961,"a":1},"uColor3Brightness":1.2499999999999998,"uColor1Brightness":3.449999999999998,"uColor2Brightness":2.020000000000001,"uMetalness":0,"uFillLength":0.38800000000000007,"uEndFadeLength":0.9329999999999999,"uStartFadeLength":0.10400000000000006,"uSpeed":0.2},"material":{"depthWrite":true,"depthTest":true,"blending":"1","transparent":false,"side":"0"},"transforms":{"rotation":{"x":-0.1,"y":0.4,"z":0.5},"position":{"x":0,"y":0,"z":0}},"visible":true},"Post FX":{"bloom":{"enabled":true,"threshold":1.5599999999999996,"strength":0.27999999999999936,"radius":0.13999999999999843},"chromaticAberration":{"enabled":true,"maxDistort":1.0679999999999998,"bendAmount":-0.02590000000000002},"vignette":{"enabled":false},"noise":{"enabled":true,"strength":0.048000000000000015},"directionalBloom":{"enabled":false},"bloomPassColor":{"enabled":false,"threshold":1.8099999999999998,"strength":1.3999999999999995,"radius":1}},"Background":{"color":{"r":0.9333333333333333,"g":0.9098039215686274,"b":0.9725490196078431,"a":1},"uniforms":{"uColor1":{"r":0.07450980392156863,"g":0.6235294117647059,"b":0.6235294117647059,"a":1},"uColor2":{"r":0.7372549019607844,"g":0.25098039215686274,"b":1,"a":1},"uColor3":{"r":0.8784313725490196,"g":1,"b":0.9803921568627451,"a":1},"uOffset":{"x":16.409999999999936,"y":-1.3299999999999732},"uGradientMidPoint":0.7399999999999998,"uScale":0.42000000000007054,"uUseTexture":false,"uTextureSize":{"x":1920,"y":1207},"uOffset1":{"x":4.65,"y":3.41,"z":-0.019999999999999636},"uOffset2":{"x":4.15,"y":-1.6,"z":1.01},"uScale2":3.0499999999999825,"uScale1":3.24,"uScale3":3.49,"uOffset3":{"x":2.65,"y":-0.37},"uColor1Brightness":1.79,"uColor2Brightness":2.9},"material":{"depthWrite":true,"transparent":true,"depthTest":true}},"Biology Orb / Group":{"transforms":{"rotation":{"x":0.7800000000000005,"z":0.8100000000000005,"y":0.08000000000000196},"position":{"x":-1.3400000000000005,"y":0.7999999999999999,"z":0},"scale":{"x":1.8,"y":1.8,"z":1.8}}},"Biology Orb / Ball":{"visible":true,"material":{"blending":"1","transparent":false,"side":"0","depthWrite":true,"ior":1.15,"bumpScale":1,"thickness":0.23000000000000007,"dispersion":4.590000000000018,"sheenColor":{"r":0.25882352941176473,"g":1,"b":0.803921568627451,"a":0.69},"fresnelOffset":0,"roughness":1,"fresnelFalloff":1.4300000000000008,"fresnelAmount":3.320000000000001,"opacity":0.9900000000000004,"iridescence":1,"clearcoat":0.23000000000000034,"sheen":1,"sheenRoughness":0,"normalMap":{"type":"image"},"map":{"type":"image"},"normalScale":{"x":1,"y":1.47},"envMapRotation":{"x":-6.739999999999991,"y":-0.9499999999999997,"z":5.039999999999989},"attenuationDistance":200,"attenuationColor":{"r":0.8352941176470589,"g":0.5411764705882353,"b":0.9725490196078431,"a":1},"envMapIntensity":2.310000000000002,"iridescenceIOR":1.2800000000000145,"specularIntensity":0,"transmission":1,"envMap":{"type":"image"},"clearcoatRoughness":0,"depthTest":true,"color":{"r":1,"g":1,"b":1,"a":1},"normalMapRepeat":{"x":7.262999999999993,"y":4.299999999999992},"roughnessMapRepeat":{"x":4.463000000000009,"y":2.1899999999999977},"aoMapRepeat":{"x":7.262999999999993,"y":4.299999999999992},"wireframe":false,"colorWrite":true,"highlightColor":{"r":0.36470588235294116,"g":0.8235294117647058,"b":0.8392156862745098,"a":1}},"uniforms":{"uColor1":{"r":0.9686274509803922,"g":0.9254901960784314,"b":1,"a":1},"uFresnelAmount":1.5199999999999867,"uFresnelOffset":0,"uFresnelPower":2.5000000000000036,"uFresnelFalloff":1.4799999999999978,"uColor1Brightness":1.2000000000000002,"uLightPosition":{"x":-8,"y":6,"z":-5},"uShininess":35,"uAmbientColor":{"r":0.8745098039215686,"g":0.8235294117647058,"b":0.9607843137254902,"a":1},"uLightColor":{"r":0.8588235294117647,"g":0.5490196078431373,"b":1,"a":1},"uLightIntensity":1.1500000000000006,"uSpecularIntensity":0.469999999999999}},"Biology Orb / Iris Lines":{"transforms":{"rotation":{"x":-0.1,"y":0.4,"z":0.5},"position":{"x":0,"y":0,"z":0}},"material":{"depthWrite":false,"depthTest":true,"blending":"2","color":{"r":0.3764705882352941,"g":0.8862745098039215,"b":1,"a":1},"transparent":true,"side":"0"},"uniforms":{"diffuse":{"r":0.43137254901960786,"g":0.8274509803921568,"b":1,"a":1}
25631,"linewidth":1.342999999999996,"dashSize":1,"gapSize":1,"dashOffset":0,"dashScale":1,"opacity":0.9500000000000004,"uRevealProgress":1,"worldUnits":1},"visible":true},"Biology Orb / Iris Lines 2":{"material":{"blending":"2","transparent":true,"depthWrite":false},"visible":true,"uniforms":{"diffuse":{"r":0.5019607843137255,"g":0.40784313725490196,"b":0.9803921568627451,"a":1},"uRevealProgress":1,"opacity":1.5800000000000014,"uAmbientParticleProgress":0,"linewidth":1.1820000000000004}},"Biology Orb / Iris Lines Two":{"uniforms":{"diffuse":{"r":0.8784313725490196,"g":0.6274509803921569,"b":0.07058823529411765,"a":1}}},"Biology Orb / Iris Lines 3":{"visible":true,"material":{"blending":"2","depthWrite":false},"uniforms":{"uRevealProgress":1,"diffuse":{"r":0.28627450980392155,"g":1,"b":0.9803921568627451,"a":1}}}}},"sequence":{"subUnitsPerUnit":30,"length":17.4,"type":"PositionalSequence","tracksByObject":{"Biology Orb / Iris":{"trackData":{"Uask-PsNn8":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"3VzuavECI0","position":0,"connectedRight":true,"handles":[0.5,1,0.455,0.03],"type":"bezier","value":0},{"id":"yjZ6FKuig9","position":3.867,"connectedRight":true,"handles":[0.515,0.955,0.5,0],"type":"bezier","value":1}]},"8icKPq9vN0":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris:[\\"uniforms\\",\\"uContractionStrength\\"]","keyframes":[]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"Uask-PsNn8","[\\"uniforms\\",\\"uContractionStrength\\"]":"8icKPq9vN0"}},"Biology Orb / Group":{"trackData":{},"trackIdByPropPath":{}},"Biology Orb / Iris Lines":{"trackData":{"t-3yKNYN96":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"nTLuecL09D","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"PK5fbV6H2l","position":14.633,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]},"RlHhLI_sty":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines:[\\"uniforms\\",\\"uParticleProgress\\"]","keyframes":[{"id":"PAwYPVWuwG","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":-0.019000000000000003},{"id":"Ku5ixbZbbR","position":11.767,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":0.979}]},"NDOGho1G-K":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines:[\\"uniforms\\",\\"uAmbientParticleProgress\\"]","keyframes":[{"id":"tUTRoFRn1o","position":0.633,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"A4OXkTwXC4","position":16.9,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"t-3yKNYN96","[\\"uniforms\\",\\"uParticleProgress\\"]":"RlHhLI_sty","[\\"uniforms\\",\\"uAmbientParticleProgress\\"]":"NDOGho1G-K"}},"Biology Orb / Iris Lines 2":{"trackData":{"eVFr4ao0HY":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines 2:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"XIostsl1In","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"l9VP5bewsm","position":17.1,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]},"D0P_q0c6bN":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines 2:[\\"uniforms\\",\\"uParticleProgress\\"]","keyframes":[{"id":"Pmrf_glBHZ","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":-0.01900000000000001},{"id":"sxpgVEukZE","position":12.233,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":0.974000000000002}]},"vrDyIRxdHz":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines 2:[\\"uniforms\\",\\"uAmbientParticleProgress\\"]","keyframes":[{"id":"kl0N8hRmou","position":0.633,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"bcNN56qSfp","position":14.633,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"eVFr4ao0HY","[\\"uniforms\\",\\"uParticleProgress\\"]":"D0P_q0c6bN","[\\"uniforms\\",\\"uAmbientParticleProgress\\"]":"vrDyIRxdHz"}}}}},"EngineeringOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"transforms":{"position":{"z":7.979999999999988,"x":0.8400000000000003}}},"Cameras / Settings":{"cameraPivotStrength":1,"cameraPivotOffset":20,"cameraPivotAngle":{"x":0.1,"y":0.1},"cameraPivotRollAmount":0.3,"pointerLerpSpeed1":0.02,"cameraZTranslate":0}
25631,"Engineering Orb":{"uniforms":{"uMatcapContrast":1.0199999999999996,"uSpeed":0.17999999999999988,"uRevealProgress":0,"uColor":{"r":0.8509803921568627,"g":0.9058823529411765,"b":1,"a":1},"uFillRepeat":1,"uFillLength":1,"uStartFadeLength":0.5,"uEndFadeLength":0.03599999999999959,"uHighlightStrength":70.40000000000013,"uRoughness":0.16100000000000003,"uMetalness":0.5219999999999996,"uMatcapBlendMode":3,"uEnvMapStrength":1.032000000000041,"tNormal":{"type":"image"},"uNormalStrength":0,"uDiffuseMatcapBlend":1,"uMouseRadius":6.099999999999958,"uMouseFalloff":0.22000000000000014},"material":{"side":"0","blending":"1","depthWrite":true,"depthTest":true,"transparent":false,"roughness":0.21999999999999983,"metalness":1,"envMapRotation":{"y":0},"color":{"r":1,"g":1,"b":1,"a":1},"envMapIntensity":1,"transmission":0,"opacity":1,"thickness":0.8400000000000003,"iridescence":0,"iridescenceIOR":1.5399999999999956,"ior":3.619999999999999,"wireframe":false},"transforms":{"scale":{"x":1,"y":1,"z":1},"rotation":{"x":0,"z":0,"y":0}},"visible":true},"Post FX":{"bloom":{"enabled":true,"threshold":1.3799999999999994,"strength":0.6299999999999988,"radius":1},"vignette":{"enabled":true},"bloomPassColor":{"strength":0.27,"threshold":1.4300000000000006,"radius":0.879999999999999,"enabled":false},"directionalBloom":{"enabled":false}},"Background":{"color":{"r":0.9647058823529412,"g":0.9686274509803922,"b":0.9490196078431372,"a":1},"color2":{"r":1,"g":0.7647058823529411,"b":0.5019607843137255,"a":1},"color1":{"r":1,"g":1,"b":1,"a":1},"uniforms":{"uColor2":{"r":0,"g":0.4588235294117647,"b":1,"a":1},"uColor3":{"r":0.15294117647058825,"g":0.2549019607843137,"b":0.9490196078431372,"a":1},"uGradientMidPoint":0.3900000000000001,"uColor1":{"r":0.9490196078431372,"g":1,"b":1,"a":1},"uColor2Brightness":1,"uOffset":{"x":0},"uColor3Brightness":1,"uColor1Brightness":1,"uScale2":4.67,"uScale1":1.78,"uOffset2":{"y":3.6,"z":1.37,"x":-5.94},"uOffset1":{"x":-2.82,"y":1.22},"uColor4":{"r":0.10588235294117647,"g":0.5450980392156862,"b":1,"a":1},"uColor4BlendStart":0.31,"uColor4BlendEnd":1.44}},"Engineering Orb Gaps":{"material":{"blending":"1","transparent":true,"depthWrite":false,"side":"0","depthTest":true},"uniforms":{"uMatcapContrast":0.9100000000000001,"uMatcapBlendMode":2,"uHighlightStrength":6.4999999999999964,"uSpeed":0.2,"uFillRepeat":1,"uColor":{"r":0.9803921568627451,"g":1,"b":0.8156862745098039,"a":1},"uStartFadeLength":0.049000000000000016,"uEndFadeLength":0.049000000000000016,"uFillLength":1,"uHighlightColor":{"r":0.788235294117647,"g":1,"b":0.7686274509803922,"a":1},"uMouseRadius":4.400000000000005,"uEnvMapStrength":1.6,"uMouseFalloff":0.5,"uRevealProgress":1},"visible":true,"transforms":{"rotation":{"x":0,"z":0,"y":0},"scale":{"x":1,"y":1,"z":1}}},"Engineering Orb Group":{"transforms":{"rotation":{"x":0.850000000000001,"z":0.26000000000000056},"scale":{"x":2.2,"y":2.2,"z":2.2}}},"Engineering Orb Inner":{"material":{"opacity":1,"transparent":true,"blending":"1","color":{"r":1,"g":1,"b":1,"a":1}},"uniforms":{"uMatcapBlendMode":4,"uEnvMapStrength":0.40099999999999947,"uMetalness":1,"uRoughness":0,"uOpacity":0.42000000000000026,"uMetalnessScale":1},"visible":false},"Mouse Settings":{"mouseLerpSpeed":0.03200000000000002}}},"sequence":{"subUnitsPerUnit":30,"length":9.98,"type":"PositionalSequence","tracksByObject":{"Engineering Orb":{"trackData":{"NJ3rkj-m_i":{"type":"BasicKeyframedTrack","__debugName":"Engineering Orb:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"EXCAphVjOd","position":0,"connectedRight":true,"handles":[0.5,1,0.25,0.46],"type":"bezier","value":0},{"id":"hjS5aORSCq","position":3.667,"connectedRight":true,"handles":[0.45,0.94,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"NJ3rkj-m_i"}},"Engineering Orb Gaps":{"trackData":{"8doOcC1izE":{"type":"BasicKeyframedTrack","__debugName":"Engineering Orb Gaps:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"1SwcxsvDIL","position":1.567,"connectedRight":true,"handles":[0.5,1,0.215,0.61],"type":"bezier","value":0},{"id":"CTGH8Wsey2","position":3.833,"connectedRight":true,"handles":[0.355,1,0.5,0],"type":"bezier","value":1}]},"SnUOv9ImWz":{"type":"BasicKeyframedTrack","__debugName":"Engineering Orb Gaps:[\\"uniforms\\",\\"uHighlightRevealProgress\\"]","keyframes":[{"id":"CoMkS12sw8","position":1.833,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":0},{"id":"cGpVWxQsGn","position":2.433,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"8doOcC1izE","[\\"uniforms\\",\\"uHighlightRevealProgress\\"]":"SnUOv9ImWz"}}}}}
25631,"TeamOrb":{"staticOverrides":{"byObject":{"Background":{"uniforms":{"uColor2":{"r":1,"g":0.12549019607843137,"b":0.6509803921568628,"a":1},"uColor3":{"r":0.7176470588235294,"g":0.3607843137254902,"b":0.9921568627450981,"a":1},"uColor1":{"r":0.9137254901960784,"g":0.803921568627451,"b":1,"a":1},"uGradientMidPoint":0.5,"uOffset":{"x":-0.5900000000000001,"y":-0.12999999999999987},"uUseTexture":false,"uScale1":2.919999999999981,"uOffset1":{"x":4.059999999999991,"y":3.240000000000002,"z":0.4500000000000002},"uScale2":3.8699999999999926,"uOffset2":{"x":-1.3700000000000008,"y":-10.280000000000038,"z":0.020000000000000025},"uColor1Brightness":1.09,"uColor2Brightness":1.7500000000000009,"uColor3Brightness":0.9300000000000003,"uColor4BlendStart":0,"uColor4":{"r":0.7568627450980392,"g":0.7607843137254902,"b":1,"a":1},"uColor4BlendEnd":0.15999999999999986},"visible":true,"material":{"blending":"1","transparent":true,"depthTest":true,"depthWrite":true}},"Cameras / Settings":{"cameraPivotStrength":0,"cameraPivotAngle":{"x":0.2,"y":0.2},"cameraPivotOffset":10.779999999999994},"Team Orb":{"uniforms":{"uRoughness":0,"uMetalness":1,"uScale":{"x":0.4499999999999995,"y":0.8499999999999999},"uMatcapBlendMode":4,"uDiffuseMatcapBlend":1,"uInsideGlowColor":{"r":1,"g":0.8901960784313725,"b":0.8901960784313725,"a":1},"uInsideGlowStrength":0.8,"uColor":{"r":1,"g":1,"b":1,"a":1},"uEnvMapStrength":1.5,"tMatcap":{"type":"image"},"uDisplacementColor":{"r":1,"g":0.8745098039215686,"b":0.9882352941176471,"a":1},"tEmissiveMap":{"type":"image"},"uEnterBlockScale":0},"transforms":{"position":{"x":0,"y":0,"z":2.0000000000000004},"rotation":{"x":-0.050000000000000204}},"simulation":{"uniforms":{"uAmbientDisplacementScale":0.1,"uAmbientDisplacementStrength":0.05,"uAmbientDisplacementSpeed":0,"uRotationSpeedY":0.04,"uBeatOscillationSpeed":5,"uBeatSpeed":0.9,"uLerpSpeed":1}},"material":{"transparent":true,"blending":"1","side":"0","depthTest":true,"depthWrite":true}},"Cameras / Camera 1":{"transforms":{"position":{"z":7.9000000000000075,"x":1.4}},"near":1,"far":50,"focalLength":50},"Post FX":{"bloom":{"enabled":true,"strength":0.5999999999999988,"radius":1,"threshold":1.1799999999999993},"directionalBloom":{"enabled":false,"threshold":1.2300000000000002,"strength":0.5900000000000001,"radius":0.5300000000000002},"bloomPassColor":{"enabled":false},"vignette":{"enabled":false},"noise":{"strength":0.2}},"Godrays":{"intensity":10,"debug":false,"exponent":4.680000000000002,"maxLimit":1,"colourSpeed":1.7899999999999996,"enabled":true,"sunPosition":{"z":-891.2899999999988,"x":-206.76999999999944}}}},"sequence":{"subUnitsPerUnit":30,"length":10,"type":"PositionalSequence","tracksByObject":{"Team Orb":{"trackData":{"18NznjLGkA":{"type":"BasicKeyframedTrack","__debugName":"Team Orb:[\\"uniforms\\",\\"uEnterBlockScale\\"]","keyframes":[{"id":"2hYIDTbVso","position":0.6,"connectedRight":true,"handles":[0.5,1,0.467,0.705],"type":"bezier","value":0},{"id":"HXfsXOZgAN","position":2.9,"connectedRight":true,"handles":[0.555,0.54,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uEnterBlockScale\\"]":"18NznjLGkA"}}}}},"Global WebGL":{"staticOverrides":{"byObject":{"Fluid Sim":{"simulation":{"mouseRadius":0.11999999999999998,"curlStrength":0.3684000000000013,"dissipation":0.05340000000000012,"clearValue":0,"viscosity":0.47619047619047594,"pressure":0.999},"fluid":{"force":30,"forceClamp":695.2,"iterations":2}},"Post FX":{"noise":{"strength":0.14539999999999867}},"Transition":{"uniforms":{"uNoise1Offset":{"x":0.026000000000000016,"y":0.0008000000000000073},"uNoise1Scale":{"x":0.016700000000000017,"y":0.030600000000000082},"uNoise2Scale":{"x":0.1691000000000003,"y":0.10059999999999993},"uCrossfadeSize":0.4075000000000002,"uUvDistortion":0.041500000000000044}}}}},"Article":{"staticOverrides":{"byObject":{"Background":{"uniforms":{"uScale1":2.1399999999999983,"uScale2":1.6600000000000006,"uOffset1":{"x":-3.66000000000001,"y":-0.3999999999999997},"uOffset2":{"x":-0.5100000000000005,"y":-0.27000000000000035},"uSpeed":0.24,"uScale3":1.5600000000000032}}}},"sequence":{"subUnitsPerUnit":30,"length":10,"type":"PositionalSequence","tracksByObject":{"Backgroun
25631d":{"trackData":{"jn_9Y5fBac":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor1\\"]","keyframes":[{"id":"3C6eDWN2fK","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9960784940007982,"g":0.9960784940007982,"b":0.9960784940007982,"a":1}},{"id":"k43UvuAJa3","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":1,"g":0.3137254901960784,"b":0.3137254901960784,"a":1}},{"id":"Wj9j2eUNct","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.9490196078431372,"g":1,"b":1,"a":1}},{"id":"CaCXMGNG3f","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.4117647058823529,"g":0.21176470588235294,"b":0.8431372549019608,"a":1}},{"id":"wNp3f0WoqO","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":0.9137254901960784,"g":0.803921568627451,"b":1,"a":1}}]},"tAkMB6eFQQ":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor2\\"]","keyframes":[{"id":"CyBxYtHUVZ","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9843139745950885,"b":0.7764737558081337,"a":1}},{"id":"9r5mXQOX67","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.8235294117647058,"g":0.6823529411764706,"b":0.2549019607843137,"a":1}},{"id":"Gw1-zBVgqc","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0,"g":0.4588235294117647,"b":1,"a":1}},{"id":"38TmgwSG3F","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.3254901960784314,"g":0.6784313725490196,"b":0.9333333333333333,"a":1}},{"id":"LOGk5AVxHF","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":1,"g":0.12549019607843137,"b":0.6509803921568628,"a":1}}]},"TVNNnXaW8O":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor3\\"]","keyframes":[{"id":"Qsek8ajbJT","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9803924676542063,"b":0.9098053011777971,"a":1}},{"id":"SYm4ohA-7c","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.9803921568627451,"g":0.9568627450980393,"b":0.788235294117647,"a":1}},{"id":"bT0Hz_JUrW","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.15294117647058825,"g":0.2549019607843137,"b":0.9490196078431372,"a":1}},{"id":"IehwRuenvD","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":1,"g":1,"b":1,"a":1}},{"id":"fSpFsArmsE","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":0.7176470588235294,"g":0.3607843137254902,"b":0.9921568627450981,"a":1}}]},"tgCnkpoF4h":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor4\\"]","keyframes":[{"id":"ad5fTZMJgs","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9803924676542063,"b":0.9098053011777971,"a":1}},{"id":"q3qWVFO1gr","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9803924676542063,"b":0.9098053011777971,"a":1}},{"id":"xusShI4X94","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.10588235294117647,"g":0.5450980392156862,"b":1,"a":1}},{"id":"UZ-THAZcaq","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.996078431372549,"g":0.9803921568627451,"b":0.9098039215686274,"a":1}},{"id":"3hHkv19TP4","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":0.7568627450980392,"g":0.7607843137254902,"b":1,"a":1}}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uColor1\\"]":"jn_9Y5fBac","[\\"uniforms\\",\\"uColor2\\"]":"tAkMB6eFQQ","[\\"uniforms\\",\\"uColor3\\"]":"TVNNnXaW8O","[\\"uniforms\\",\\"uColor4\\"]":"tgCnkpoF4h"}}}}}}'),Kue="0.4.0",Zue=["HnbPs2zrqOJveuKQ","gtQMaFq2KZLufip_","U9NMXQfyNPYLfiyO","0617rMb9SBFnBjKo","bgiviuckCP5h_B-g","AFW3_VIpwlBBPq43","vjHguKDKJaJzX6w0","2Yy_BurE8r3U9WfU","accyVzyxBjXCFiP8","KBohPS7vXPJpZPOU","WxzNKZhQNUEMiDs_","4IIOllKPW06ih64O","Fj6lIWLopyOyJIRJ","aQ5JzkMs39Rw7AWf","gvDtKFPV_tBTSLwF","Gw8tST0OTruMoy79","cIBMKsGmtZXSQPfn","LnrsK1DgKUvfkTfh","6cNq35wv20Tmzg1j","Gp5sraTqL3oLqH4P","DF6IdcZb6EebGoSK","iikxvToIotVelC_T","lq1Ajq3-PylHDZ4M","YtiXHWZIKnC82Cee","jPD-a4u1fLYrQoGR","LY_Pq-JMI9-TSS9a","OLVkdrIFoxsQQj3d","nt45wuBkzYzrM6DM","T6AapVF2K9s7pvFA","JFTyNTfULR9RFeTJ","UfJLfXWQB0Bic7bG","_9-NubWl8jV9KT4l","V4o7qXTHatm2wRuE","f6t3cc_C7ECMON4Z","BO4DWXGlxZfWF1ZZ","VDdBDi67_AEhqbF-","N-rv8sxvI2BeZSRJ","kg2xkgZXTi6oxl20","rBICj3NTaB7NXCQu","9i8nMiLP-YfkVKvc","wsQbE1_QdE7uqNgh","imj4kam45X1PwAbe","2RFtRzYJW48Oekv8","5j31bE9brgsUdkze","P_Scd77GAfHEhumO","8j6n1_o7Xb9obF4u","kmzegN6SoCRXmF5d","5GSZnBa4ot-V_VF6","wdXhqE3he8XJPs5Z","9Ri-b3rX-eTmFm0H"],Jue={sheetsById:$ue,definitionVersion:Kue,revisionHistory:Zue};class efe{addSheetObject(e,t,i,r,s=!1){S.theatre.objects[e]||(S.theatre.objects[e]={});const o={...i},a=si(S.theatre.sheets[e].object(t,i,{reconfigure:s}));a._originalConfig=o,a._onValuesChangeCallbacks=[];const l=(u,f=S.theatre.rafDriver)=>{const h=a.onValuesChange(u,f);return a._onValuesChangeCallbacks.push(h),h};S.theatre.objects[e][t]=a;const c={onValuesChange:l,_originalConfig:o};return r&&(a._webglObject=r,r._theatreObject=a,c._webglObject=r),si(c)}addStudioSheetObject(e,t,i){if(S.theatre.studio){S.theatre.studioObjects[e]||(S.theatre.studioObjects[e]=si({}));const r=si(S.theatre.studioSheets[e]).object(t,i);return S.theatre.studioObjects[e][t]=si(r),r}else return{onValuesChange:()=>{}}}unsubscribeFromAllSheetObjectCallbacks(e){if(e._onValuesChangeCallbacks)for(let t=0;t<e._onValuesChangeCallbacks.length;t++)e._onValuesChangeCallbacks[t]()}detachAllSheetObjects(e){if(S.theatre.objects[e]){for(const t in S.theatre.objects[e]){const i=si(S.theatre.objects[e][t]);this.unsubscribeFromAllSheetObjectCallbacks(i),i._webglObject&&(i._webglObject._theatreObject=null,i._webglObject=null),S.theatre.sheets[e].detachObject(t),delete S.theatre.objects[e][t]}delete S.theatre.objects[e]}}detachAllStudioSheetObjects(e){if(S.theatre.studioObjects[e])for(const t in S.theatre.studioObjects[e])S.theatre.studioSheets[e].detachObject(t),delete S.theatre.studioObjects[e][t]}deleteSheet(e){S.theatre.sheets[e]&&(this.detachAllSheetObjects(e),S.theatre.sheets[e]._webglScene=null,delete S.theatre.sheets[e])}updateSheetObject(e,t){if(!(e!=null&&e._originalConfig))throw new Error("Sheet Object is missing the _originalConfig property. It likely wasn't created with TheatreHelper.addSheetObject().");const i={...e._originalConfig,...t};return this.addSheetObject(e.address.sheetId,e.address.objectKey,i,null,!0)}autoAddObject(e,t,{exclude:i=[],include:r=[],addDefines:s=!0,additionalConfig:o={}}={}){if(e===void 0||t===void 0)throw new Error("Object and Theatre Sheet are required.");const a={visible:Te.types.boolean(e.visible),transforms:{},...o},l=!i.includes("position"),c=!i.includes("rotation"),u=!i.includes("scale");l&&(a.transforms.position=Te.types.compound({x:Te.types.number(e.position.x,{nudgeMultiplier:.1}),y:Te.types.number(e.position.y,{nudgeMultiplier:.1}),z:Te.types.number(e.position.z,{nudgeMultiplier:.1})})),c&&(a.transforms.rotation=Te.types.compound({x:Te.types.number(e.rotation.x,{nudgeMultiplier:.1}),y:Te.types.number(e.rotation.y,{nudgeMultiplier:.1}),z:Te.types.number(e.rotation.z,{nudgeMultiplier:.1})})),u&&(a.transforms.scale=Te.types.compound({x:Te.types.number(e.scale.x,{nudgeMultiplier:.1}),y:Te.types.number(e.scale.y,{nudgeMultiplier:.1}),z:Te.types.number(e.scale.z,{nudgeMultiplier:.1})}));const f=this.autoAddMaterial(a,{material:e.material,exclude:i,include:r,addDefines:s}),h=this.addSheetObject(t,e.name,a,e);return h.onValuesChange(p=>{e.visible=p.visible,l&&e.position.copy(p.transforms.position),c&&e.rotation.set(p.transforms.rotation.x,p.transforms.rotation.y,p.transforms.rotation.z),u&&e.scale.copy(p.transforms.scale),f(e,p)},S.theatre.rafDriver),h}autoAddMaterial(e,{material:t,options:i=!0,exclude:r,include:s,addDefines:o=!0}){if(!t)return()=>{};e.material||(e.material={}),i&&Object.assign(e.material,{wireframe:Te.types.boolean(t.wireframe),side:Te.types.stringLiteral(t.side,{[Io]:"front",[Rr]:"back",[Zs]:"double"},{as:"menu"}
25631),blending:Te.types.stringLiteral(t.blending,{[wo]:"NoBlending",[bu]:"NormalBlending",[Y0]:"AdditiveBlending",[$_]:"SubtractiveBlending",[K_]:"MultiplyBlending",[TI]:"CustomBlending"},{as:"menu"}),transparent:Te.types.boolean(t.transparent),depthTest:Te.types.boolean(t.depthTest),depthWrite:Te.types.boolean(t.depthWrite),colorWrite:Te.types.boolean(t.colorWrite)});const a=this.autoAddUniforms(e,t.uniforms,r,s),l=this.autoAddThreeMaterial(e,t,r,s);return(c,u)=>{c.material.wireframe=u.material.wireframe,c.material.side=Number.parseInt(u.material.side),c.material.blending=Number.parseInt(u.material.blending),c.material.transparent=u.material.transparent,c.material.depthTest=u.material.depthTest,c.material.depthWrite=u.material.depthWrite,c.material.colorWrite=u.material.colorWrite;for(let f=0;f<a.length;f++)a[f](c,u);for(let f=0;f<l.length;f++)l[f](c,u)}}autoAddThreeMaterial(e,t,i=[],r=[]){var a;e.material||(e.material={});const s=[],o=["aoMap","aoMapIntensity","attenuationColor","attenuationDistance","color","bumpMap","bumpScale","displacementBias","displacementMap","displacementScale","emissive","emissiveIntensity","emissiveMap","_dispersion","_anisotropy","_clearcoat","_iridescence","_sheen","iridescenceIOR","clearcoatRoughness","envMap","envMapIntensity","envMapRotation","ior","map","matcap","metalness","metalnessMap","normalMap","normalScale","opacity","roughness","roughnessMap","specular","specularColor","specularMap","specularIntensity","specularColorMap","specularIntensityMap","sheenColor","sheenRoughness","thickness","_transmission"];if(t.type!=="ShaderMaterial"&&t.type!=="RawShaderMaterial"){for(const l in t)if(o.includes(l))if(t[l]===null||(a=t[l])!=null&&a.isTexture){e.material[l]=Te.types.image("",{label:l});let c=!0;s.push((u,f)=>{var m,v,A,y;const h=S.theatre.project.getAssetUrl(f.material[l]),p={wrapping:ts};if((m=t[l])!=null&&m.isTexture&&Object.assign(p,{minFilter:t[l].minFilter,magFilter:t[l].magFilter,flipY:t[l].flipY,colorSpace:t[l].colorSpace,mapping:t[l].mapping}),h&&((v=t[l])==null?void 0:v.source.data.src)!==h){const x=new Image;x.addEventListener("load",()=>{t[l]=S.WebGL.generateTexture(x,p),t[l].needsUpdate=!0,t.needsUpdate=!0,c=!1},{once:!0}),x.src=h}else!h&&((A=t[l])==null?void 0:A.source.data.src)!==h&&!c&&((y=t[l])!=null&&y.isTexture)&&(t[l]=null,t.needsUpdate=!0,c=!1)}),e.material[l+"Repeat"]=Te.types.compound({x:Te.types.number(1,{nudgeMultiplier:.01}),y:Te.types.number(1,{nudgeMultiplier:.01})}),s.push((u,f)=>{var h;(h=t[l])!=null&&h.isTexture&&(t[l].repeat.set(f.material[l+"Repeat"].x,f.material[l+"Repeat"].y),t[l].needsUpdate=!0)})}else if(t[l].isColor)e.material[l]=this.parseColor(t[l],l),s.push((c,u)=>{t[l].copySRGBToLinear(u.material[l])});else if(l.includes("_")){const c=l.replace("_","");e.material[c]=Te.types.number(t[c],{label:c,nudgeMultiplier:.01}),s.push((u,f)=>{t[c]!==f.material[c]&&(t[c]=f.material[c],t.needsUpdate=!0)})}else if(typeof t[l]=="object"){const c={};for(const u in t[l])if(Object.hasOwnProperty.call(t[l],u)&&typeof t[l][u]=="number"){const f=u.replace("_","");c[f]=Te.types.number(t[l][f],{nudgeMultiplier:.01})}e.material[l]=Te.types.compound(c,{label:l}),s.push((u,f)=>{t[l].isEuler?t[l].set(f.material[l].x,f.material[l].y,f.material[l].z):t[l].copy(f.material[l])})}else if(typeof t[l]=="number"){const c=t[l]===1/0?1e3:t[l];e.material[l]=Te.types.number(c,{label:l,range:[0,1/0],nudgeMultiplier:.01}),s.push((u,f)=>{t[l]=f.material[l]})}else typeof t[l]=="boolean"&&(e.material[l]=Te.types.boolean(t[l],{label:l}),s.push((c,u)=>{t[l]=u.material[l]}))}return s}autoAddThreeMaterialImages(e,t,i=[],r=[]){const s=[];for(const o in t){if(i.includes(o)||r.length&&!r.includes(o)||o.toLowerCase().slice(-3)!=="map"||!t[o])continue;const a=t[o];t[o].isTexture&&(e[o]=Te.types.image("",{label:o}),s.push((l,c)=>{const u=S.theatre.project.getAssetUrl(c[o]),f={minFilter:a.minFilter,magFilter:a.magFilter,wrapping:a.wrapS,flipY:a.flipY,colorSpace:a.colorSpace,mapping:a.mapping};if(u){const h=new Image;h.addEventListener("load",()=>{if(o==="envMap"){const p=S.WebGL.generateTexture(h,f);p.mapping!==Ya&&(p.mapping=Ya,p.needsUpdate=!0);const m=S.WebGL.pmremHandler.fromEquirectangular(p);t[o]=m}else t[o]=S.WebGL.generateTexture(h,f);t[o].needsUpdate=!0},{once:!0}),h.src=u}}))}return s}autoAddUniforms(e,t,i=[],r=[],s="FOG"){e.uniforms||(e.uniforms={});const o=[];for(const a in t){if(a==="uTime"||a==="uResolution"||a==="uTexelSize"||a==="uDevCameraActive"||a.toLowerCase().includes("delta")||i.includes(a)||r.length&&!r.includes(a)||a.toLowerCase().includes("tonemap")||s&&a.toUpperCase().includes(s))continue;const l=t[a];if(!(l.value===null||l.value===void 0)&&!(l.value.isMatrix4||l.value.isMatrix3||l.value.isRenderTargetTexture||l.value.isDepthTexture||l.value instanceof zd||Array.isArray(l.value)))if(l.value.isColor)e.uniforms[a]=this.parseColor(l.value,a),o.push((c,u)=>{l.value.copySRGBToLinear(u.uniforms[a])});else if(l.value.isTexture)e.uniforms[a]=Te.types.image("",{label:a}),o.push((c,u)=>{const f=S.theatre.project.getAssetUrl(u.uniforms[a]),h={minFilter:l.value.minFilter,magFilter:l.value.magFilter,wrapping:ts,flipY:l.value.flipY,colorSpace:l.value.colorSpace};if(f){const p=new Image;p.addEventListener("load",()=>{l.value=S.WebGL.generateTexture(p,h),l.value.needsUpdate=!0},{once:!0}),p.src=f}});else if(typeof l.value=="object"){const c={};for(const u in l.value)if(Object.hasOwnProperty.call(l.value,u)){const f=this.parseUniformGui(l,u);c[u]=Te.types.number(l.value[u],f)}e.uniforms[a]=Te.types.compound(c,{label:a}),o.push((u,f)=>{l.value.copy(f.uniforms[a])})}else if(typeof l.value=="number"){const c=this.parseUniformGui(l);e.uniforms[a]=Te.types.number(l.value,{label:a,...c}),o.push((u,f)=>{l.value=f.uniforms[a]})}else typeof l.value=="boolean"&&(e.uniforms[a]=Te.types.boolean(l.value,{label:a}),o.push((c,u)=>{l.value=u.uniforms[a]}))}return o}parseUniformGui(e,t=!1){const i={};return e.gui&&((e.gui.min!==void 0||e.gui.max!==void 0)&&(i.range=[-1/0,1/0],e.gui.min!==void 0&&(i.range[0]=e.gui.min),e.gui.max!==void 0&&(i.range[1]=e.gui.max)),e.gui.step&&(i.nudgeMultiplier=e.gui.step),t&&e.gui[t]&&(i.range=i.range||[-1/0,1/0],e.gui[t].min!==void 0&&(i.range[0]=e.gui[t].min),e.gui[t].max!==void 0&&(i.range[1]=e.gui[t].max))),i}
25631parseColor(e,t=!1){const i={};return t&&(i.label=t),e.isSRGB||(e.convertLinearToSRGB(),e.isSRGB=!0),Te.types.rgba({r:e.r,g:e.g,b:e.b,a:1},i)}}const tfe=Object.assign({"/public/webgl/theatre/blueyard/state.json":Jue});class p6{initStudio(e){S.theatre.studio=si(e),S.theatre.studioProject=si(S.theatre.studio.getStudioProject()),S.theatre.persistenceKey=si("BlueYard-theatre"),S.theatre.studio.initialize({persistenceKey:S.theatre.persistenceKey,__experimental_rafDriver:S.theatre.rafDriver}),S.urlParams.has("gui")||S.theatre.studio.ui.hide(),S.urlParams.has("gui")&&S.theatre.studio.onSelectionChange(i=>{var r,s,o,a;(r=S.WebGL)!=null&&r.isBuilt&&i.length&&(i[0]._webglScene&&((s=S.WebGL)==null?void 0:s.activeScene)!==i[0]._webglScene||i[0].sheet&&i[0].sheet._webglScene&&((o=S.WebGL)==null?void 0:o.activeScene)!==i[0].sheet._webglScene)&&(S.WebGL.activeScene.theatreIsPlaying&&(S.WebGL.activeScene.runNextTheatreSequence=!1,S.WebGL.activeScene.pauseTheatreSequence()),S.WebGL.activeScene.stop(),(a=i[0].sheet)!=null&&a._webglScene?i[0].sheet._webglScene.start():i[0]._webglScene.start())}),S.urlParams.has("gui")&&S.urlParams.has("autoplay")&&(S.theatre.studio.__experimental.__experimental_disblePlayPauseKeyboardShortcut(),window.addEventListener("keydown",i=>{i.code==="Space"&&(S.WebGL.activeScene.theatreIsPlaying?(S.WebGL.activeScene.runNextTheatreSequence=!1,S.WebGL.activeScene.pauseTheatreSequence()):S.WebGL.activeScene.playTheatreSequence())}));const t=document.createElement("style");t.innerHTML=` 25632 [data-testid="DetailPanel-Object"] { 25633 width: 340px; 25634 } 25635 25636 .kXqnKI { 25637 --step: 13px; 25638 --left-pad: 5px; 25639 --right-width: 40%; 25640 } 25641 25642 .brRnNE { 25643 --right-width: 40%; 25644 } 25645 `,setTimeout(()=>{document.querySelector("#theatrejs-studio-root").shadowRoot.appendChild(t)},500)}async loadProjectState(e,t){S.theatre.helper=si(new efe),S.theatre.rafDriver=si(Te.createRafDriver());let i;if(S.urlParams.has("version")){const r=S.urlParams.get("version"),s=(S.env==="development","//undefinedundefined");i=await(await fetch(s+"?download",{method:"POST",body:JSON.stringify({filename:r,projectId:t})})).json(),i=JSON.parse(i)}else i=tfe[`/public/webgl/theatre/${t}/state.json`];return S.theatre.project=si(Te.getProject(e,{state:i,assets:{baseUrl:"/"}})),S.env!=="production"&&S.theatre.project.ready.then(()=>
25645{!S.urlParams.has("gui")&&window.__TheatreJS_StudioBundle._studio._store._atom._currentState.ephemeral.coreByProject[e].loadingState.type==="browserStateIsNotBasedOnDiskState"&&(S.theatre.studio.__experimental.__experimental_clearPersistentStorage(S.theatre.persistenceKey),localStorage.removeItem(S.theatre.persistenceKey+".persistent"),window.location.reload())}),S.theatre.project.ready}enableRAF(){S.RAFCollection.add(S.theatre.rafDriver.tick,-1)}disableRAF(){S.RAFCollection.remove(S.theatre.rafDriver.tick)}}function nfe(){var o;const e=(o=UA(NA).theme)==null?void 0:o.screens,t={},i={};Object.entries(e).forEach(([a])=>{t[a]=gt(!1)}),t.touch=gt(!1),t.ipadpro=gt(!1);const r=()=>{Object.entries(e).forEach(([a])=>{i[a]&&(t[a].value=i[a].matches)}),t.touch.value=i.touch.matches,t.ipadpro.value=i.ipadpro.matches};return xA(()=>{Object.entries(e).forEach(([a,l])=>{i[a]=window.matchMedia(`(min-width: ${l})`),t[a].value=i[a].matches,i[a].addEventListener("change",r)}),i.touch=window.matchMedia("(pointer: coarse)"),t.touch.value=i.touch.matches,i.touch.addEventListener("change",r),i.ipadpro=window.matchMedia("(hover: none) and (pointer: coarse) and (min-width: 1024px)"),t.ipadpro.value=i.ipadpro.matches,i.ipadpro.addEventListener("change",r)}),tl(()=>{Object.entries(i).forEach(([a,l])=>{l.removeEventListener("change",r)})}),{is:a=>{var l;return((l=t[a])==null?void 0:l.value)??!1},queries:t,mediaQueries:i}}const ife=vs({__name:"WebGLApplication",setup(n,{expose:e}){const{checkIfLoaded:t}=jo(),i=ale(),r=Bu(),s=nfe(),o=gt(),a=gt(),l=()=>{var c;(c=a.value)==null||c.initScenes(),t().then(()=>{var u,f;(u=a.value)==null||u.build(),(f=a.value)==null||f.preRender()})};return zs(async()=>{var c;((c=i.urlParams)==null?void 0:c.get("devmode"))!=="ui"&&(i.breakpoints=s,window.store=i,r.public.THEATRE_STATE&&(i.env!=="production"?Sr(()=>import("./BCN2qmEx.js").then(u=>u.i),[],import.meta.url).then(async({default:u})=>{i.theatre.manager=si(new p6),i.theatre.manager.initStudio(si(u)),await i.theatre.manager.loadProjectState("BlueYard","blueyard"),o.value&&(a.value=si(new h6(o.value)),i.WebGL=a.value,l())}):(i.theatre.manager=si(new p6),await i.theatre.manager.loadProjectState("BlueYard","blueyard"),o.value&&(a.value=si(new h6(o.value)),i.WebGL=a.value,l()))))}),tl(()=>{var c;(c=a.value)==null||c.destroy()}),e({webgl:a}),(c,u)=>(di(),Na("canvas",{ref_key:"canvas",ref:o,style:{width:"100%",height:"100%",position:"fixed",top:"0",left:"0",zIndex:"-1",visibility:"hidden",opacity:"0"}},null,512))}});function rfe(n){const e=so({});return aA(()=>{const t=Tn().$nuxtSiteConfig.get(hA({resolveRefs:!0},n));Object.assign(e,t)}),delete e._priority,e}function sfe(n){const e=new URL(n);return e.search="",e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),e.toString()}const ofe=vs({__name:"app",async setup(n){var f,h,p;let e,t;const{data:i}=([e,t]=f7(()=>qR($re)),e=await e,t(),e),r=mA(),{url:s}=rfe(),o=((f=i==null?void 0:i.value)==null?void 0:f.defaultTitle)||"",a=(h=i==null?void 0:i.value)==null?void 0:h.ogImageUrl,l=((p=i==null?void 0:i.value)==null?void 0:p.ogDescription)||"",c=so(fX());tW({description:l,ogDescription:l,ogImage:a,twitterCard:"summary_large_image"}),ST({titleTemplate:m=>m?`${m} - ${o}`:o,htmlAttrs:{lang:"en"},bodyAttrs:{class:"bg-background text-black/80"},link:[{rel:"canonical",href:()=>sfe(`${s}${r.path}`)},{rel:"icon",type:"image/png",href:"/favicon-96x96.png",sizes:"96x96"},{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"},{rel:"shortcut icon",href:"/favicon.ico"},{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"},{rel:"manifest",href:"/site.webmanifest"}],meta:[{name:"apple-mobile-web-app-title",content:"BlueYard Capital"}]});const u=()=>{S.window.w=window.innerWidth,S.window.h=window.innerHeight,S.window.dpr=window.devicePixelRatio};return nx(()=>{u(),S.urlParams=new URLSearchParams(window.location.search)}),zs(()=>{}),oc(u),ai([()=>c.x,()=>c.y],()=>{const{x:m,y:v}=c;S.pointer.x=m,S.pointer.y=v,S.pointer.gl.set(S.pointer.x-S.window.w/2,-S.pointer.y+S.window.h/2),S.pointer.glNormalized.set(S.pointer.x/S.window.w*2-1,-(S.pointer.y/S.window.h)*2+1),S.pointer.glScreenSpace.set(S.pointer.x/S.window.w,1-S.pointer.y/S.window.h)}),(m,v)=>{var _;const A=Ore,y=Hae,x=Gae,b=ole;return di(),Na(Ii,null,[dn(A),dn(y,{"footer-links":(_=qt(i))==null?void 0:_.navigationLinks},null,8,["footer-links"]),dn(b,null,{default:Ua(()=>[ei("div",null,[dn(x)])]),_:1}),dn(ife)],64)}}}),afe={__name:"nuxt-error-page",props:{error:Object},setup(n){const t=n.error;t.stack&&t.stack.split(` 25646`).splice(1).map(f=>({text:f.replace("webpack:/","").replace(".vue",".js").trim(),internal:f.includes("node_modules")&&!f.includes(".cache")||f.includes("internal")||f.includes("new Promise")})).map(f=>`<span class="stack${f.internal?" internal":""}">${f.text}</span>`).join(` 25647`);const i=Number(t.statusCode||500),r=i===404,s=t.statusMessage??(r?"Page Not Found":"Internal Server Error"),o=t.message||t.toString(),a=void 0,u=r?k5(()=>Sr(()=>import("./Bmypm-7x.js"),__vite__mapDeps([11,12]),import.meta.url)):k5(()=>Sr(()=>import("./C9iO1Kq3.js"),__vite__mapDeps([13,14]),import.meta.url));return(f,h)=>(di(),Ks(qt(u),Az(U7({statusCode:qt(i),statusMessage:qt(s),description:qt(o),stack:qt(a)})),null,16))}},lfe={key:0},m6={__name:"nuxt-root",setup(n){const e=()=>null,t=Tn(),i=t.deferHydration();if(t.isHydrating){const l=t.hooks.hookOnce("app:error",i);As().beforeEach(l)}const r=!1;Va(pA,mA()),t.hooks.callHookWith(l=>l.map(c=>c()),"vue:setup");const s=gA(),o=!1;s7((l,c,u)=>
25647{if(t.hooks.callHook("vue:error",l,c,u).catch(f=>console.error("[nuxt] Error in `vue:error` hook",f)),rQ(l)&&(l.fatal||l.unhandled))return t.runWithContext(()=>Df(l)),!1});const a=!1;return(l,c)=>(di(),Ks(R7,{onResolve:qt(i)},{default:Ua(()=>[qt(o)?(di(),Na("div",lfe)):qt(s)?(di(),Ks(qt(afe),{key:1,error:qt(s)},null,8,["error"])):qt(a)?(di(),Ks(qt(e),{key:2,context:qt(a)},null,8,["context"])):qt(r)?(di(),Ks(l7(qt(r)),{key:3})):(di(),Ks(qt(ofe),{key:4}))]),_:1},8,["onResolve"]))}};let g6;{let n;g6=async function(){var o,a;if(n)return n;const i=!!(((o=window.__NUXT__)==null?void 0:o.serverRendered)??((a=document.getElementById("__NUXT_DATA__"))==null?void 0:a.dataset.ssr)==="true")?PV(m6):IV(m6),r=GG({vueApp:i});async function s(l){await r.callHook("app:error",l),r.payload.error=r.payload.error||Sp(l)}i.config.errorHandler=s,r.hook("app:suspense:resolve",()=>{i.config.errorHandler===s&&(i.config.errorHandler=void 0)});try{await jG(r,Rre)}catch(l){s(l)}try{await r.hooks.callHook("app:created",i),await r.hooks.callHook("app:beforeMount",i),i.mount(zG),await r.hooks.callHook("app:mounted",i),await Ja()}catch(l){s(l)}return i},n=g6().catch(e=>{throw console.error("Error while mounting app:",e),e})}export{qR as $,dr as A,tl as B,bI as C,ii as D,an as E,Ii as F,S as G,V5 as H,bp as I,iA as J,ffe as K,zb as L,dfe as M,hA as N,pC as O,ta as P,dA as Q,aG as R,Pt as S,aV as T,qV as U,Tn as V,Bu as W,ufe as X,Az as Y,f7 as Z,A4 as _,ei as a,wA as a0,Nre as a1,$z as a2,hV as a3,hfe as a4,Va as a5,qH as a6,Wre as a7,Gre as a8,es as a9,Mr as aa,pfe as ab,tW as ac,Oi as ad,Qo as ae,ZR as af,gfe as ag,dn as b,Na as c,ox as d,SI as e,vs as f,nfe as g,jo as h,ai as i,oc as j,wp as k,Ks as l,ix as m,l7 as n,di as o,vo as p,Co as q,gt as r,Fre as s,Pf as t,ST as u,XH as v,Ua as w,qt as x,zs as y,Ja as z};
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.