diff --git "a/assets/Scenes-Bi_RcPFd.js" "b/assets/Scenes-Bi_RcPFd.js" new file mode 100644--- /dev/null +++ "b/assets/Scenes-Bi_RcPFd.js" @@ -0,0 +1,3773 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-CiI-FJ3K.js","assets/index-Ceb_UZqW.js","assets/index-BrANObYr.css","assets/default-node-BHjno-1G.js","assets/import-url-browser-DiF0t3Mp.js","assets/import-url-browser-D6BBwmoZ.js","assets/duckdb-mvp-D8OBsaZy.js","assets/import-url-node-6Z1GQvNO.js"])))=>i.map(i=>d[i]); +import{A as e,B as t,C as n,H as r,I as i,J as a,Q as o,V as s,a$ as c,a2 as l,aI as u,aJ as d,aP as f,aW as p,aX as m,a_ as h,aq as g,at as _,av as v,ax as y,ay as b,az as x,b$ as S,b2 as C,b3 as w,b4 as T,b5 as E,b6 as D,b7 as O,b8 as k,b9 as A,bA as j,bB as M,bC as N,bD as ee,bE as P,bF as F,bG as I,bH as te,bI as ne,bJ as L,bK as re,bL as R,bM as ie,bN as ae,bO as oe,bP as se,bQ as ce,bR as le,bS as ue,bT as de,bU as fe,bV as pe,bW as me,bX as he,bY as ge,bZ as _e,b_ as ve,ba as ye,bb as be,bc as xe,bd as Se,be as Ce,bf as we,bg as Te,bh as Ee,bi as De,bj as Oe,bk as ke,bl as Ae,bm as je,bn as z,bo as Me,bp as Ne,bq as Pe,br as Fe,bs as Ie,bt as Le,bu as Re,bv as ze,bw as Be,bx as Ve,by as He,bz as Ue,c as We,c0 as Ge,c1 as Ke,c2 as qe,c3 as Je,c4 as Ye,c5 as Xe,c6 as Ze,c7 as Qe,c8 as $e,c9 as et,cA as tt,cB as nt,cC as rt,cD as it,cE as at,cF as ot,cG as st,cH as ct,cI as lt,cJ as ut,cK as dt,cL as ft,cM as pt,cN as mt,cO as ht,cP as gt,cQ as _t,cR as vt,cS as yt,cT as bt,cY as xt,ca as St,cb as Ct,cc as wt,cd as Tt,ce as Et,cf as Dt,cg as Ot,ch as kt,ci as At,cj as jt,ck as Mt,cl as Nt,cm as Pt,cn as Ft,co as It,cp as Lt,cq as Rt,cr as zt,cs as Bt,ct as Vt,cu as Ht,cv as Ut,cw as Wt,cx as Gt,cy as Kt,cz as qt,d$ as B,d0 as Jt,d1 as Yt,d3 as Xt,d5 as Zt,d6 as Qt,d7 as V,d8 as $t,dB as H,dD as U,dJ as en,dM as tn,dO as nn,dP as rn,dQ as an,dR as on,dS as W,dT as sn,dU as cn,dY as ln,dZ as un,d_ as G,db as dn,dg as K,dh as fn,di as pn,dj as mn,dl as hn,dn as gn,do as _n,dq as vn,dr as yn,ds as bn,dv as xn,dw as Sn,dx as Cn,dy as wn,e as Tn,e0 as En,e1 as Dn,e2 as On,e6 as kn,e7 as An,e8 as jn,e9 as Mn,ea as Nn,g as Pn,i as Fn,p as In,q as Ln,r as Rn,s as zn,t as Bn,u as Vn,v as Hn,w as Un,x as Wn,y as Gn,z as Kn}from"./index-Ceb_UZqW.js";import{b as qn}from"./import-url-browser-D6BBwmoZ.js";var Jn=Xt({__name:`Range`,props:{modelValue:{},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`mousedown`],setup(e,{emit:t}){let n=e,r=t,i=G(null);function a(e,t,n){return Math.min(Math.max(e,t),n)}function o(e){let t=e.toString();if(t.includes(`e-`))return Number.parseInt(t.split(`e-`)[1],10);let n=t.includes(`.`)?t.split(`.`)[1].length:0;return n}function s(e,t){let n=o(t),r=10**(n+3);return Number.parseFloat((e*r/r).toFixed(n))}let c=yn(()=>s(a(n.modelValue,n.min,n.max),n.step)),l=yn(()=>{let e=(c.value-n.min)/(n.max-n.min)*100;return{width:`${e}%`,backgroundSize:`${e}% 100%`}});function u(e){if(!i.value)return c.value;let t=i.value.getBoundingClientRect(),r=e.clientX-t.left,a=r/t.width,o=n.max-n.min,s=n.min+o*a,l=Math.round(s/n.step)*n.step;return Math.min(Math.max(l,n.min),n.max)}function d(e){if(n.disabled)return;let t=u(e);r(`update:modelValue`,t)}function f(e){if(n.disabled)return;e.preventDefault();let t=u(e);r(`update:modelValue`,t),window.addEventListener(`mousemove`,d),window.addEventListener(`mouseup`,p)}function p(e){window.removeEventListener(`mousemove`,d),window.removeEventListener(`mouseup`,p)}return dn(()=>{window.removeEventListener(`mousemove`,d),window.removeEventListener(`mouseup`,p)}),(e,t)=>(U(),V(`span`,{ref_key:`sliderRef`,ref:i,class:Dn([`range-slider disabled:pointer-events-none disabled:cursor-default disabled:opacity-50`,{disabled:e.disabled}]),bg:`[#e6e1fc] dark:[#676085]`,"touch-action-none":``,relative:``,"inline-block":``,"w-full":``,"cursor-ew-resize":``,"rounded-sm":``,onMousedown:f},[K(`span`,{style:On(l.value),bg:`[#cabeff] dark:[#4e34b9]`,relative:``,block:``,"rounded-sm":``,h:`[14px]`},null,4),K(`span`,{role:`slider`,class:`slider-thumb`,style:On({left:`${(c.value-e.min)/(e.max-e.min)*100}%`}),absolute:``,"rounded-sm":``,w:`[1px]`,h:`[14px]`,bg:`neutral-100 dark:neutral-400`,top:`50%`,transform:`translate-x-[50%] translate-y-[-50%]`},null,4)],34))}}),Yn=Jn,Xn;(function(e){e[e.WEBGL_LEGACY=0]=`WEBGL_LEGACY`,e[e.WEBGL=1]=`WEBGL`,e[e.WEBGL2=2]=`WEBGL2`})(Xn||={});var Zn;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.WEBGL=1]=`WEBGL`,e[e.CANVAS=2]=`CANVAS`})(Zn||={});var Qn;(function(e){e[e.COLOR=16384]=`COLOR`,e[e.DEPTH=256]=`DEPTH`,e[e.STENCIL=1024]=`STENCIL`})(Qn||={});var $n;(function(e){e[e.NORMAL=0]=`NORMAL`,e[e.ADD=1]=`ADD`,e[e.MULTIPLY=2]=`MULTIPLY`,e[e.SCREEN=3]=`SCREEN`,e[e.OVERLAY=4]=`OVERLAY`,e[e.DARKEN=5]=`DARKEN`,e[e.LIGHTEN=6]=`LIGHTEN`,e[e.COLOR_DODGE=7]=`COLOR_DODGE`,e[e.COLOR_BURN=8]=`COLOR_BURN`,e[e.HARD_LIGHT=9]=`HARD_LIGHT`,e[e.SOFT_LIGHT=10]=`SOFT_LIGHT`,e[e.DIFFERENCE=11]=`DIFFERENCE`,e[e.EXCLUSION=12]=`EXCLUSION`,e[e.HUE=13]=`HUE`,e[e.SATURATION=14]=`SATURATION`,e[e.COLOR=15]=`COLOR`,e[e.LUMINOSITY=16]=`LUMINOSITY`,e[e.NORMAL_NPM=17]=`NORMAL_NPM`,e[e.ADD_NPM=18]=`ADD_NPM`,e[e.SCREEN_NPM=19]=`SCREEN_NPM`,e[e.NONE=20]=`NONE`,e[e.SRC_OVER=0]=`SRC_OVER`,e[e.SRC_IN=21]=`SRC_IN`,e[e.SRC_OUT=22]=`SRC_OUT`,e[e.SRC_ATOP=23]=`SRC_ATOP`,e[e.DST_OVER=24]=`DST_OVER`,e[e.DST_IN=25]=`DST_IN`,e[e.DST_OUT=26]=`DST_OUT`,e[e.DST_ATOP=27]=`DST_ATOP`,e[e.ERASE=26]=`ERASE`,e[e.SUBTRACT=28]=`SUBTRACT`,e[e.XOR=29]=`XOR`})($n||={});var er;(function(e){e[e.POINTS=0]=`POINTS`,e[e.LINES=1]=`LINES`,e[e.LINE_LOOP=2]=`LINE_LOOP`,e[e.LINE_STRIP=3]=`LINE_STRIP`,e[e.TRIANGLES=4]=`TRIANGLES`,e[e.TRIANGLE_STRIP=5]=`TRIANGLE_STRIP`,e[e.TRIANGLE_FAN=6]=`TRIANGLE_FAN`})(er||={});var tr;(function(e){e[e.RGBA=6408]=`RGBA`,e[e.RGB=6407]=`RGB`,e[e.RG=33319]=`RG`,e[e.RED=6403]=`RED`,e[e.RGBA_INTEGER=36249]=`RGBA_INTEGER`,e[e.RGB_INTEGER=36248]=`RGB_INTEGER`,e[e.RG_INTEGER=33320]=`RG_INTEGER`,e[e.RED_INTEGER=36244]=`RED_INTEGER`,e[e.ALPHA=6406]=`ALPHA`,e[e.LUMINANCE=6409]=`LUMINANCE`,e[e.LUMINANCE_ALPHA=6410]=`LUMINANCE_ALPHA`,e[e.DEPTH_COMPONENT=6402]=`DEPTH_COMPONENT`,e[e.DEPTH_STENCIL=34041]=`DEPTH_STENCIL`})(tr||={});var nr;(function(e){e[e.TEXTURE_2D=3553]=`TEXTURE_2D`,e[e.TEXTURE_CUBE_MAP=34067]=`TEXTURE_CUBE_MAP`,e[e.TEXTURE_2D_ARRAY=35866]=`TEXTURE_2D_ARRAY`,e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]=`TEXTURE_CUBE_MAP_POSITIVE_X`,e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]=`TEXTURE_CUBE_MAP_NEGATIVE_X`,e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]=`TEXTURE_CUBE_MAP_POSITIVE_Y`,e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]=`TEXTURE_CUBE_MAP_NEGATIVE_Y`,e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]=`TEXTURE_CUBE_MAP_POSITIVE_Z`,e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]=`TEXTURE_CUBE_MAP_NEGATIVE_Z`})(nr||={});var rr;(function(e){e[e.UNSIGNED_BYTE=5121]=`UNSIGNED_BYTE`,e[e.UNSIGNED_SHORT=5123]=`UNSIGNED_SHORT`,e[e.UNSIGNED_SHORT_5_6_5=33635]=`UNSIGNED_SHORT_5_6_5`,e[e.UNSIGNED_SHORT_4_4_4_4=32819]=`UNSIGNED_SHORT_4_4_4_4`,e[e.UNSIGNED_SHORT_5_5_5_1=32820]=`UNSIGNED_SHORT_5_5_5_1`,e[e.UNSIGNED_INT=5125]=`UNSIGNED_INT`,e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]=`UNSIGNED_INT_10F_11F_11F_REV`,e[e.UNSIGNED_INT_2_10_10_10_REV=33640]=`UNSIGNED_INT_2_10_10_10_REV`,e[e.UNSIGNED_INT_24_8=34042]=`UNSIGNED_INT_24_8`,e[e.UNSIGNED_INT_5_9_9_9_REV=35902]=`UNSIGNED_INT_5_9_9_9_REV`,e[e.BYTE=5120]=`BYTE`,e[e.SHORT=5122]=`SHORT`,e[e.INT=5124]=`INT`,e[e.FLOAT=5126]=`FLOAT`,e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]=`FLOAT_32_UNSIGNED_INT_24_8_REV`,e[e.HALF_FLOAT=36193]=`HALF_FLOAT`})(rr||={});var ir;(function(e){e[e.FLOAT=0]=`FLOAT`,e[e.INT=1]=`INT`,e[e.UINT=2]=`UINT`})(ir||={});var ar;(function(e){e[e.NEAREST=0]=`NEAREST`,e[e.LINEAR=1]=`LINEAR`})(ar||={});var or;(function(e){e[e.CLAMP=33071]=`CLAMP`,e[e.REPEAT=10497]=`REPEAT`,e[e.MIRRORED_REPEAT=33648]=`MIRRORED_REPEAT`})(or||={});var sr;(function(e){e[e.OFF=0]=`OFF`,e[e.POW2=1]=`POW2`,e[e.ON=2]=`ON`,e[e.ON_MANUAL=3]=`ON_MANUAL`})(sr||={});var cr;(function(e){e[e.NPM=0]=`NPM`,e[e.UNPACK=1]=`UNPACK`,e[e.PMA=2]=`PMA`,e[e.NO_PREMULTIPLIED_ALPHA=0]=`NO_PREMULTIPLIED_ALPHA`,e[e.PREMULTIPLY_ON_UPLOAD=1]=`PREMULTIPLY_ON_UPLOAD`,e[e.PREMULTIPLY_ALPHA=2]=`PREMULTIPLY_ALPHA`,e[e.PREMULTIPLIED_ALPHA=2]=`PREMULTIPLIED_ALPHA`})(cr||={});var lr;(function(e){e[e.NO=0]=`NO`,e[e.YES=1]=`YES`,e[e.AUTO=2]=`AUTO`,e[e.BLEND=0]=`BLEND`,e[e.CLEAR=1]=`CLEAR`,e[e.BLIT=2]=`BLIT`})(lr||={});var ur;(function(e){e[e.AUTO=0]=`AUTO`,e[e.MANUAL=1]=`MANUAL`})(ur||={});var dr;(function(e){e.LOW=`lowp`,e.MEDIUM=`mediump`,e.HIGH=`highp`})(dr||={});var fr;(function(e){e[e.NONE=0]=`NONE`,e[e.SCISSOR=1]=`SCISSOR`,e[e.STENCIL=2]=`STENCIL`,e[e.SPRITE=3]=`SPRITE`,e[e.COLOR=4]=`COLOR`})(fr||={});var pr;(function(e){e[e.RED=1]=`RED`,e[e.GREEN=2]=`GREEN`,e[e.BLUE=4]=`BLUE`,e[e.ALPHA=8]=`ALPHA`})(pr||={});var mr;(function(e){e[e.NONE=0]=`NONE`,e[e.LOW=2]=`LOW`,e[e.MEDIUM=4]=`MEDIUM`,e[e.HIGH=8]=`HIGH`})(mr||={});var hr;(function(e){e[e.ELEMENT_ARRAY_BUFFER=34963]=`ELEMENT_ARRAY_BUFFER`,e[e.ARRAY_BUFFER=34962]=`ARRAY_BUFFER`,e[e.UNIFORM_BUFFER=35345]=`UNIFORM_BUFFER`})(hr||={});var gr={createCanvas:function(e,t){var n=document.createElement(`canvas`);return n.width=e,n.height=t,n},getWebGLRenderingContext:function(){return WebGLRenderingContext},getNavigator:function(){return navigator},getBaseUrl:function(){var e;return(e=document.baseURI)??window.location.href},fetch:function(e,t){return fetch(e,t)}},_r=/iPhone/i,vr=/iPod/i,yr=/iPad/i,br=/\biOS-universal(?:.+)Mac\b/i,xr=/\bAndroid(?:.+)Mobile\b/i,Sr=/Android/i,Cr=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,wr=/Silk/i,Tr=/Windows Phone/i,Er=/\bWindows(?:.+)ARM\b/i,Dr=/BlackBerry/i,Or=/BB10/i,kr=/Opera Mini/i,Ar=/\b(CriOS|Chrome)(?:.+)Mobile/i,jr=/Mobile(?:.+)Firefox\b/i,Mr=function(e){return e!==void 0&&e.platform===`MacIntel`&&typeof e.maxTouchPoints==`number`&&e.maxTouchPoints>1&&typeof MSStream>`u`};function Nr(e){return function(t){return t.test(e)}}function Pr(e){var t={userAgent:``,platform:``,maxTouchPoints:0};!e&&typeof navigator<`u`?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof e==`string`?t.userAgent=e:e&&e.userAgent&&(t={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0});var n=t.userAgent,r=n.split(`[FBAN`);r[1]!==void 0&&(n=r[0]),r=n.split(`Twitter`),r[1]!==void 0&&(n=r[0]);var i=Nr(n),a={apple:{phone:i(_r)&&!i(Tr),ipod:i(vr),tablet:!i(_r)&&(i(yr)||Mr(t))&&!i(Tr),universal:i(br),device:(i(_r)||i(vr)||i(yr)||i(br)||Mr(t))&&!i(Tr)},amazon:{phone:i(Cr),tablet:!i(Cr)&&i(wr),device:i(Cr)||i(wr)},android:{phone:!i(Tr)&&i(Cr)||!i(Tr)&&i(xr),tablet:!i(Tr)&&!i(Cr)&&!i(xr)&&(i(wr)||i(Sr)),device:!i(Tr)&&(i(Cr)||i(wr)||i(xr)||i(Sr))||i(/\bokhttp\b/i)},windows:{phone:i(Tr),tablet:i(Er),device:i(Tr)||i(Er)},other:{blackberry:i(Dr),blackberry10:i(Or),opera:i(kr),firefox:i(jr),chrome:i(Ar),device:i(Dr)||i(Or)||i(kr)||i(jr)||i(Ar)},any:!1,phone:!1,tablet:!1};return a.any=a.apple.device||a.android.device||a.windows.device||a.other.device,a.phone=a.apple.phone||a.android.phone||a.windows.phone,a.tablet=a.apple.tablet||a.android.tablet||a.windows.tablet,a}var Fr=Pr(globalThis.navigator);function Ir(){return!Fr.apple.device}function Lr(e){var t=!0;if(Fr.tablet||Fr.phone){if(Fr.apple.device){var n=navigator.userAgent.match(/OS (\d+)_(\d+)?/);if(n){var r=parseInt(n[1],10);r<11&&(t=!1)}}if(Fr.android.device){var n=navigator.userAgent.match(/Android\s([0-9.]*)/);if(n){var r=parseInt(n[1],10);r<7&&(t=!1)}}}return t?e:4}var Rr={ADAPTER:gr,MIPMAP_TEXTURES:sr.POW2,ANISOTROPIC_LEVEL:0,RESOLUTION:1,FILTER_RESOLUTION:1,FILTER_MULTISAMPLE:mr.NONE,SPRITE_MAX_TEXTURES:Lr(32),SPRITE_BATCH_SIZE:4096,RENDER_OPTIONS:{view:null,width:800,height:600,autoDensity:!1,backgroundColor:0,backgroundAlpha:1,useContextAlpha:!0,clearBeforeRender:!0,antialias:!1,preserveDrawingBuffer:!1},GC_MODE:ur.AUTO,GC_MAX_IDLE:60*60,GC_MAX_CHECK_COUNT:60*10,WRAP_MODE:or.CLAMP,SCALE_MODE:ar.LINEAR,PRECISION_VERTEX:dr.HIGH,PRECISION_FRAGMENT:Fr.apple.device?dr.HIGH:dr.MEDIUM,CAN_UPLOAD_SAME_BUFFER:Ir(),CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1},zr=kn((exports,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i{t.exports=n,t.exports.default=n;function n(e,t,n){n||=2;var i=t&&t.length,o=i?t[0]*n:e.length,s=r(e,0,o,n,!0),c=[];if(!s||s.next===s.prev)return c;var l,d,f,p,m,h,g;if(i&&(s=u(e,t,s,n)),e.length>80*n){l=f=e[0],d=p=e[1];for(var _=n;_f&&(f=m),h>p&&(p=h);g=Math.max(f-l,p-d),g=g===0?0:32767/g}return a(s,c,n,l,d,g,0),c}function r(e,t,n,r,i){var a,o;if(i===N(e,t,n,r)>0)for(a=t;a=t;a-=r)o=A(a,e[a],e[a+1],o);return o&&S(o,o.next)&&(j(o),o=o.next),o}function i(e,t){if(!e)return e;t||=e;var n=e,r;do if(r=!1,!n.steiner&&(S(n,n.next)||x(n.prev,n,n.next)===0)){if(j(n),n=t=n.prev,n===n.next)break;r=!0}else n=n.next;while(r||n!==t);return t}function a(e,t,n,r,u,d,f){if(e){!f&&d&&h(e,r,u,d);for(var p=e,m,g;e.prev!==e.next;){if(m=e.prev,g=e.next,d?s(e,r,u,d):o(e)){t.push(m.i/n|0),t.push(e.i/n|0),t.push(g.i/n|0),j(e),e=g.next,p=g.next;continue}if(e=g,e===p){f?f===1?(e=c(i(e),t,n),a(e,t,n,r,u,d,2)):f===2&&l(e,t,n,r,u,d):a(i(e),t,n,r,u,d,1);break}}}}function o(e){var t=e.prev,n=e,r=e.next;if(x(t,n,r)>=0)return!1;for(var i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=ia?i>o?i:o:a>o?a:o,p=s>c?s>l?s:l:c>l?c:l,m=r.next;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&y(i,s,a,c,o,l,m.x,m.y)&&x(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function s(e,t,n,r){var i=e.prev,a=e,o=e.next;if(x(i,a,o)>=0)return!1;for(var s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=sc?s>l?s:l:c>l?c:l,g=u>d?u>f?u:f:d>f?d:f,v=_(p,m,t,n,r),b=_(h,g,t,n,r),S=e.prevZ,C=e.nextZ;S&&S.z>=v&&C&&C.z<=b;){if(S.x>=p&&S.x<=h&&S.y>=m&&S.y<=g&&S!==i&&S!==o&&y(s,u,c,d,l,f,S.x,S.y)&&x(S.prev,S,S.next)>=0||(S=S.prevZ,C.x>=p&&C.x<=h&&C.y>=m&&C.y<=g&&C!==i&&C!==o&&y(s,u,c,d,l,f,C.x,C.y)&&x(C.prev,C,C.next)>=0))return!1;C=C.nextZ}for(;S&&S.z>=v;){if(S.x>=p&&S.x<=h&&S.y>=m&&S.y<=g&&S!==i&&S!==o&&y(s,u,c,d,l,f,S.x,S.y)&&x(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;C&&C.z<=b;){if(C.x>=p&&C.x<=h&&C.y>=m&&C.y<=g&&C!==i&&C!==o&&y(s,u,c,d,l,f,C.x,C.y)&&x(C.prev,C,C.next)>=0)return!1;C=C.nextZ}return!0}function c(e,t,n){var r=e;do{var a=r.prev,o=r.next.next;!S(a,o)&&C(a,r,r.next,o)&&D(a,o)&&D(o,a)&&(t.push(a.i/n|0),t.push(r.i/n|0),t.push(o.i/n|0),j(r),j(r.next),r=e=o),r=r.next}while(r!==e);return i(r)}function l(e,t,n,r,o,s){var c=e;do{for(var l=c.next.next;l!==c.prev;){if(c.i!==l.i&&b(c,l)){var u=k(c,l);c=i(c,c.next),u=i(u,u.next),a(c,t,n,r,o,s,0),a(u,t,n,r,o,s,0);return}l=l.next}c=c.next}while(c!==e)}function u(e,t,n,i){var a=[],o,s,c,l,u;for(o=0,s=t.length;o=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=r&&s>a&&(a=s,o=n.x=n.x&&n.x>=l&&r!==n.x&&y(io.x||n.x===o.x&&m(o,n)))&&(o=n,d=f)),n=n.next;while(n!==c);return o}function m(e,t){return x(e.prev,e,t.prev)<0&&x(t.next,e,e.next)<0}function h(e,t,n,r){var i=e;do i.z===0&&(i.z=_(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,g(i)}function g(e){var t,n,r,i,a,o,s,c,l=1;do{for(n=e,e=null,a=null,o=0;n;){for(o++,r=n,s=0,t=0;t0||c>0&&r;)s!==0&&(c===0||!r||n.z<=r.z)?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,c--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,l*=2}while(o>1);return e}function _(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function v(e){var t=e,n=e;do(t.x=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function b(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!E(e,t)&&(D(e,t)&&D(t,e)&&O(e,t)&&(x(e.prev,e,t.prev)||x(e,t.prev,t))||S(e,t)&&x(e.prev,e,e.next)>0&&x(t.prev,t,t.next)>0)}function x(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function S(e,t){return e.x===t.x&&e.y===t.y}function C(e,t,n,r){var i=T(x(e,t,n)),a=T(x(e,t,r)),o=T(x(n,r,e)),s=T(x(n,r,t));return!!(i!==a&&o!==s||i===0&&w(e,n,t)||a===0&&w(e,r,t)||o===0&&w(n,e,r)||s===0&&w(n,t,r))}function w(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function T(e){return e>0?1:e<0?-1:0}function E(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&C(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function D(e,t){return x(e.prev,e,e.next)<0?x(e,t,e.next)>=0&&x(e,e.prev,t)>=0:x(e,t,e.prev)<0||x(e,e.next,t)<0}function O(e,t){var n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}function k(e,t){var n=new M(e.i,e.x,e.y),r=new M(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function A(e,t,n,r){var i=new M(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function j(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function M(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}n.deviation=function(e,t,n,r){var i=t&&t.length,a=i?t[0]*n:e.length,o=Math.abs(N(e,0,a,n));if(i)for(var s=0,c=t.length;s0&&(r+=e[i-1].length,n.holes.push(r))}return n}}),Vr=kn((exports,t)=>{(function(n){var r=typeof exports==`object`&&exports&&!exports.nodeType&&exports,i=typeof t==`object`&&t&&!t.nodeType&&t,a=typeof global==`object`&&global;(a.global===a||a.window===a||a.self===a)&&(n=a);var o,s=2147483647,c=36,l=1,u=26,d=38,f=700,p=72,m=128,h=`-`,g=/^xn--/,_=/[^\x20-\x7E]/,v=/[\x2E\u3002\uFF0E\uFF61]/g,y={overflow:`Overflow: input needs wider integers to process`,"not-basic":`Illegal input >= 0x80 (not a basic code point)`,"invalid-input":`Invalid input`},b=c-l,x=Math.floor,S=String.fromCharCode,C;function w(e){throw RangeError(y[e])}function T(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function E(e,t){var n=e.split(`@`),r=``;n.length>1&&(r=n[0]+`@`,e=n[1]),e=e.replace(v,`.`);var i=e.split(`.`),a=T(i,t).join(`.`);return r+a}function D(e){for(var t=[],n=0,r=e.length,i,a;n=55296&&i<=56319&&n65535&&(e-=65536,t+=S(e>>>10&1023|55296),e=56320|e&1023),t+=S(e),t}).join(``)}function k(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:c}function A(e,t){return e+22+75*(e<26)-((t!=0)<<5)}function j(e,t,n){var r=0;for(e=n?x(e/f):e>>1,e+=x(e/t);e>b*u>>1;r+=c)e=x(e/b);return x(r+(b+1)*e/(e+d))}function M(e){var t=[],n=e.length,r,i=0,a=m,o=p,d,f,g,_,v,y,b,S,C;for(d=e.lastIndexOf(h),d<0&&(d=0),f=0;f=128&&w(`not-basic`),t.push(e.charCodeAt(f));for(g=d>0?d+1:0;g=n&&w(`invalid-input`),b=k(e.charCodeAt(g++)),(b>=c||b>x((s-i)/v))&&w(`overflow`),i+=b*v,S=y<=o?l:y>=o+u?u:y-o,!(bx(s/C)&&w(`overflow`),v*=C;r=t.length+1,o=j(i-_,r,_==0),x(i/r)>s-a&&w(`overflow`),a+=x(i/r),i%=r,t.splice(i++,0,a)}return O(t)}function N(e){var t,n,r,i,a,o,d,f,g,_,v,y=[],b,C,T,E;for(e=D(e),b=e.length,t=m,n=0,a=p,o=0;o=t&&vx((s-n)/C)&&w(`overflow`),n+=(d-t)*C,t=d,o=0;os&&w(`overflow`),v==t){for(f=n,g=c;_=g<=a?l:g>=a+u?u:g-a,!(f<_);g+=c)E=f-_,T=c-_,y.push(S(A(_+E%T,0))),f=x(E/T);y.push(S(A(f,0))),a=j(n,C,r==i),n=0,++r}++n,++t}return y.join(``)}function ee(e){return E(e,function(e){return g.test(e)?M(e.slice(4).toLowerCase()):e})}function P(e){return E(e,function(e){return _.test(e)?`xn--`+N(e):e})}if(o={version:`1.4.1`,ucs2:{decode:D,encode:O},decode:M,encode:N,toASCII:P,toUnicode:ee},typeof define==`function`&&typeof define.amd==`object`&&define.amd)define(`punycode`,function(){return o});else if(r&&i)if(t.exports==r)i.exports=o;else for(C in o)o.hasOwnProperty(C)&&(r[C]=o[C]);else n.punycode=o})(exports)}),Hr=kn((exports,t)=>{Object.defineProperty(exports,`__esModule`,{value:!0});function n(){let e,t,n=n=>{if(n&&(typeof n==`object`||typeof n==`function`)){if(e)return e.get(n)}else if(t)return t.get(n)},r=(n,r)=>{n&&(typeof n==`object`||typeof n==`function`)?(e||=new WeakMap,e.set(n,r)):(t||=new Map,t.set(n,r))},i=n=>{if(n&&(typeof n==`object`||typeof n==`function`)){if(e)return e.has(n)}else if(t)return t.has(n);return!1},a=e=>{if(!i(e))throw TypeError(`Side channel does not contain the given key`)};return{get:n,set:r,has:i,assert:a}}exports.default=n,(typeof exports.default==`object`&&exports.default!==null||typeof exports.default==`function`)&&(Object.assign(exports.default,exports),t.exports=exports.default)}),Ur=kn((exports,t)=>{var n=String.prototype.replace,r=/%20/g,i={RFC1738:`RFC1738`,RFC3986:`RFC3986`};t.exports={default:i.RFC3986,formatters:{RFC1738:function(e){return n.call(e,r,`+`)},RFC3986:function(e){return String(e)}},RFC1738:i.RFC1738,RFC3986:i.RFC3986}}),Wr=kn((exports,t)=>{var n=Ur(),r=Object.prototype.hasOwnProperty,i=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e}(),o=function(e){for(;e.length>1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],a=0;a=d?s.slice(l,l+d):s,f=[],p=0;p=48&&m<=57||m>=65&&m<=90||m>=97&&m<=122||o===n.RFC1738&&(m===40||m===41)){f[f.length]=u.charAt(p);continue}if(m<128){f[f.length]=a[m];continue}if(m<2048){f[f.length]=a[192|m>>6]+a[128|m&63];continue}if(m<55296||m>=57344){f[f.length]=a[224|m>>12]+a[128|m>>6&63]+a[128|m&63];continue}p+=1,m=65536+((m&1023)<<10|u.charCodeAt(p)&1023),f[f.length]=a[240|m>>18]+a[128|m>>12&63]+a[128|m>>6&63]+a[128|m&63]}c+=f.join(``)}return c},p=function(e){for(var t=[{obj:{o:e},prop:`o`}],n=[],r=0;r{var n=Hr(),r=Wr(),i=Ur(),a=Object.prototype.hasOwnProperty,o={brackets:function(e){return e+`[]`},comma:`comma`,indices:function(e,t){return e+`[`+t+`]`},repeat:function(e){return e}},s=Array.isArray,c=Array.prototype.push,l=function(e,t){c.apply(e,s(t)?t:[t])},u=Date.prototype.toISOString,d=i.default,f={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,commaRoundTrip:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:r.encode,encodeValuesOnly:!1,filter:void 0,format:d,formatter:i.formatters[d],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},p=function(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`},m={},h=function e(t,i,a,o,c,u,d,h,g,_,v,y,b,x,S,C,w,T){for(var E=t,D=T,O=0,k=!1;(D=D.get(m))!==void 0&&!k;){var A=D.get(t);if(O+=1,A!==void 0){if(A===O)throw RangeError(`Cyclic object value`);k=!0}D.get(m)===void 0&&(O=0)}if(typeof _==`function`?E=_(i,E):E instanceof Date?E=b(E):a===`comma`&&s(E)&&(E=r.maybeMap(E,function(e){return e instanceof Date?b(e):e})),E===null){if(u)return g&&!C?g(i,f.encoder,w,`key`,x):i;E=``}if(p(E)||r.isBuffer(E)){if(g){var j=C?i:g(i,f.encoder,w,`key`,x);return[S(j)+`=`+S(g(E,f.encoder,w,`value`,x))]}return[S(i)+`=`+S(String(E))]}var M=[];if(E===void 0)return M;var N;if(a===`comma`&&s(E))C&&g&&(E=r.maybeMap(E,g)),N=[{value:E.length>0?E.join(`,`)||null:void 0}];else if(s(_))N=_;else{var ee=Object.keys(E);N=v?ee.sort(v):ee}var P=h?String(i).replace(/\./g,`%2E`):String(i),F=o&&s(E)&&E.length===1?P+`[]`:P;if(c&&s(E)&&E.length===0)return F+`[]`;for(var I=0;I0?b+y:``}}),Kr=kn((exports,t)=>{var n=Wr(),r=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:`utf-8`,charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:n.decode,delimiter:`&`,depth:5,duplicates:`combine`,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},o=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})},s=function(e,t,n){if(e&&typeof e==`string`&&t.comma&&e.indexOf(`,`)>-1)return e.split(`,`);if(t.throwOnLimitExceeded&&n>=t.arrayLimit)throw RangeError(`Array limit exceeded. Only `+t.arrayLimit+` element`+(t.arrayLimit===1?``:`s`)+` allowed in an array.`);return e},c=`utf8=%26%2310003%3B`,l=`utf8=%E2%9C%93`,u=function(e,t){var u={__proto__:null},d=t.ignoreQueryPrefix?e.replace(/^\?/,``):e;d=d.replace(/%5B/gi,`[`).replace(/%5D/gi,`]`);var f=t.parameterLimit===1/0?void 0:t.parameterLimit,p=d.split(t.delimiter,t.throwOnLimitExceeded?f+1:f);if(t.throwOnLimitExceeded&&p.length>f)throw RangeError(`Parameter limit exceeded. Only `+f+` parameter`+(f===1?``:`s`)+` allowed.`);var m=-1,h,g=t.charset;if(t.charsetSentinel)for(h=0;h-1&&(x=i(x)?[x]:x);var S=r.call(u,b);S&&t.duplicates===`combine`?u[b]=n.combine(u[b],x):(!S||t.duplicates===`last`)&&(u[b]=x)}return u},d=function(e,t,r,i){var a=0;if(e.length>0&&e[e.length-1]===`[]`){var o=e.slice(0,-1).join(``);a=Array.isArray(t)&&t[o]?t[o].length:0}for(var c=i?t:s(t,r,a),l=e.length-1;l>=0;--l){var u,d=e[l];if(d===`[]`&&r.parseArrays)u=r.allowEmptyArrays&&(c===``||r.strictNullHandling&&c===null)?[]:n.combine([],c);else{u=r.plainObjects?{__proto__:null}:{};var f=d.charAt(0)===`[`&&d.charAt(d.length-1)===`]`?d.slice(1,-1):d,p=r.decodeDotInKeys?f.replace(/%2E/g,`.`):f,m=parseInt(p,10);!r.parseArrays&&p===``?u={0:c}:!isNaN(m)&&d!==p&&String(m)===p&&m>=0&&r.parseArrays&&m<=r.arrayLimit?(u=[],u[m]=c):p!==`__proto__`&&(u[p]=c)}c=u}return c},f=function(e,t,n,i){if(e){var a=n.allowDots?e.replace(/\.([^.[]+)/g,`[$1]`):e,o=/(\[[^[\]]*])/,s=/(\[[^[\]]*])/g,c=n.depth>0&&o.exec(a),l=c?a.slice(0,c.index):a,u=[];if(l){if(!n.plainObjects&&r.call(Object.prototype,l)&&!n.allowPrototypes)return;u.push(l)}for(var f=0;n.depth>0&&(c=s.exec(a))!==null&&f{var n=Gr(),r=Kr(),i=Ur();t.exports={formats:i,parse:r,stringify:n}}),Jr=kn(exports=>{var t=Vr();function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var r=/^([a-z0-9.+-]+:)/i,i=/:[0-9]*$/,a=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,o=[`<`,`>`,`"`,"`",` `,`\r`,` +`,` `],s=[`{`,`}`,`|`,`\\`,`^`,"`"].concat(o),c=[`'`].concat(s),l=[`%`,`/`,`?`,`;`,`#`].concat(c),u=[`/`,`?`,`#`],d=255,f=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},h={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},_=qr();function v(e,t,r){if(e&&typeof e==`object`&&e instanceof n)return e;var i=new n;return i.parse(e,t,r),i}n.prototype.parse=function(e,n,i){if(typeof e!=`string`)throw TypeError(`Parameter 'url' must be a string, not `+typeof e);var o=e.indexOf(`?`),s=o!==-1&&o127?ee+=`x`:ee+=N[P];if(!ee.match(f)){var I=j.slice(0,E),te=j.slice(E+1),ne=N.match(p);ne&&(I.push(ne[1]),te.unshift(ne[2])),te.length&&(b=`/`+te.join(`.`)+b),this.hostname=I.join(`.`);break}}}this.hostname.length>d?this.hostname=``:this.hostname=this.hostname.toLowerCase(),A||(this.hostname=t.toASCII(this.hostname));var L=this.port?`:`+this.port:``,re=this.hostname||``;this.host=re+L,this.href+=this.host,A&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),b[0]!==`/`&&(b=`/`+b))}if(!m[C])for(var E=0,M=c.length;E0?r.host.split(`@`):!1;w&&(r.auth=w.shift(),r.hostname=w.shift(),r.host=r.hostname)}return r.search=e.search,r.query=e.query,(r.pathname!==null||r.search!==null)&&(r.path=(r.pathname?r.pathname:``)+(r.search?r.search:``)),r.href=r.format(),r}if(!S.length)return r.pathname=null,r.search?r.path=`/`+r.search:r.path=null,r.href=r.format(),r;for(var T=S.slice(-1)[0],E=(r.host||e.host||S.length>1)&&(T===`.`||T===`..`)||T===``,D=0,O=S.length;O>=0;O--)T=S[O],T===`.`?S.splice(O,1):T===`..`?(S.splice(O,1),D++):D&&(S.splice(O,1),D--);if(!b&&!x)for(;D--;)S.unshift(`..`);b&&S[0]!==``&&(!S[0]||S[0].charAt(0)!==`/`)&&S.unshift(``),E&&S.join(`/`).substr(-1)!==`/`&&S.push(``);var k=S[0]===``||S[0]&&S[0].charAt(0)===`/`;if(C){r.hostname=k?``:S.length?S.shift():``,r.host=r.hostname;var w=r.host&&r.host.indexOf(`@`)>0?r.host.split(`@`):!1;w&&(r.auth=w.shift(),r.hostname=w.shift(),r.host=r.hostname)}return b||=r.host&&S.length,b&&!k&&S.unshift(``),S.length>0?r.pathname=S.join(`/`):(r.pathname=null,r.path=null),(r.pathname!==null||r.search!==null)&&(r.path=(r.pathname?r.pathname:``)+(r.search?r.search:``)),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var e=this.host,t=i.exec(e);t&&(t=t[0],t!==`:`&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},exports.parse=v,exports.resolve=b,exports.format=y}),Yr=Nn(zr(),1),Xr=Nn(Br(),1),Zr=Nn(Jr(),1),Qr={parse:Zr.parse,format:Zr.format,resolve:Zr.resolve};Rr.RETINA_PREFIX=/@([0-9\.]+)x/,Rr.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var $r=!1,ei=`6.5.10`;function ti(e){var t;if(!$r){if(Rr.ADAPTER.getNavigator().userAgent.toLowerCase().indexOf(`chrome`)>-1){var n=[` + %c %c %c PixiJS `+ei+` - ✰ `+e+` ✰ %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ + +`,`background: #ff66a5; padding:5px 0;`,`background: #ff66a5; padding:5px 0;`,`color: #ff66a5; background: #030307; padding:5px 0;`,`background: #ff66a5; padding:5px 0;`,`background: #ffc3dc; padding:5px 0;`,`background: #ff66a5; padding:5px 0;`,`color: #ff2424; background: #fff; padding:5px 0;`,`color: #ff2424; background: #fff; padding:5px 0;`,`color: #ff2424; background: #fff; padding:5px 0;`];(t=globalThis.console).log.apply(t,n)}else globalThis.console&&globalThis.console.log(`PixiJS `+ei+` - `+e+` - http://www.pixijs.com/`);$r=!0}}var ni;function ri(){return ni===void 0&&(ni=function(){var e={stencil:!0,failIfMajorPerformanceCaveat:Rr.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!Rr.ADAPTER.getWebGLRenderingContext())return!1;var t=Rr.ADAPTER.createCanvas(),n=t.getContext(`webgl`,e)||t.getContext(`experimental-webgl`,e),r=!!(n&&n.getContextAttributes().stencil);if(n){var i=n.getExtension(`WEBGL_lose_context`);i&&i.loseContext()}return n=null,r}catch{return!1}}()),ni}function ii(e,t){return t===void 0&&(t=[]),t[0]=(e>>16&255)/255,t[1]=(e>>8&255)/255,t[2]=(e&255)/255,t}function ai(e){var t=e.toString(16);return t=`000000`.substring(0,6-t.length)+t,`#`+t}function oi(e){return(e[0]*255<<16)+(e[1]*255<<8)+(e[2]*255|0)}function si(){for(var e=[],t=[],n=0;n<32;n++)e[n]=n,t[n]=n;e[$n.NORMAL_NPM]=$n.NORMAL,e[$n.ADD_NPM]=$n.ADD,e[$n.SCREEN_NPM]=$n.SCREEN,t[$n.NORMAL]=$n.NORMAL_NPM,t[$n.ADD]=$n.ADD_NPM,t[$n.SCREEN]=$n.SCREEN_NPM;var r=[];return r.push(t),r.push(e),r}var ci=si();function li(e,t){if(t===1)return(t*255<<24)+e;if(t===0)return 0;var n=e>>16&255,r=e>>8&255,i=e&255;return n=n*t+.5|0,r=r*t+.5|0,i=i*t+.5|0,(t*255<<24)+(n<<16)+(r<<8)+i}function ui(e){if(e.BYTES_PER_ELEMENT===4)return e instanceof Float32Array?`Float32Array`:e instanceof Uint32Array?`Uint32Array`:`Int32Array`;if(e.BYTES_PER_ELEMENT===2){if(e instanceof Uint16Array)return`Uint16Array`}else if(e.BYTES_PER_ELEMENT===1&&e instanceof Uint8Array)return`Uint8Array`;return null}function di(e){return e+=e===0?1:0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1}function fi(e){return!(e&e-1)&&!!e}function pi(e){var t=(e>65535?1:0)<<4;e>>>=t;var n=(e>255?1:0)<<3;return e>>>=n,t|=n,n=(e>15?1:0)<<2,e>>>=n,t|=n,n=(e>3?1:0)<<1,e>>>=n,t|=n,t|e>>1}function mi(e,t,n){var r=e.length,i;if(!(t>=r||n===0)){n=t+n>r?r-t:n;var a=r-n;for(i=t;i8)throw Error(`max arguments reached`);var c=this,l=c.name,u=c.items;this._aliasCount++;for(var d=0,f=u.length;d0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))},e.prototype.add=function(e){return e[this._name]&&(this.ensureNonAliasedItems(),this.remove(e),this.items.push(e)),this},e.prototype.remove=function(e){var t=this.items.indexOf(e);return t!==-1&&(this.ensureNonAliasedItems(),this.items.splice(t,1)),this},e.prototype.contains=function(e){return this.items.indexOf(e)!==-1},e.prototype.removeAll=function(){return this.ensureNonAliasedItems(),this.items.length=0,this},e.prototype.destroy=function(){this.removeAll(),this.items=null,this._name=null},Object.defineProperty(e.prototype,`empty`,{get:function(){return this.items.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,`name`,{get:function(){return this._name},enumerable:!1,configurable:!0}),e}();Object.defineProperties(Ai.prototype,{dispatch:{value:Ai.prototype.emit},run:{value:Ai.prototype.emit}}),Rr.TARGET_FPMS=.06;var ji;(function(e){e[e.INTERACTION=50]=`INTERACTION`,e[e.HIGH=25]=`HIGH`,e[e.NORMAL=0]=`NORMAL`,e[e.LOW=-25]=`LOW`,e[e.UTILITY=-50]=`UTILITY`})(ji||={});var Mi=function(){function e(e,t,n,r){t===void 0&&(t=null),n===void 0&&(n=0),r===void 0&&(r=!1),this.next=null,this.previous=null,this._destroyed=!1,this.fn=e,this.context=t,this.priority=n,this.once=r}return e.prototype.match=function(e,t){return t===void 0&&(t=null),this.fn===e&&this.context===t},e.prototype.emit=function(e){this.fn&&(this.context?this.fn.call(this.context,e):this.fn(e));var t=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),t},e.prototype.connect=function(e){this.previous=e,e.next&&(e.next.previous=this),this.next=e.next,e.next=this},e.prototype.destroy=function(e){e===void 0&&(e=!1),this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);var t=this.next;return this.next=e?null:t,this.previous=null,t},e}(),Ni=function(){function e(){var e=this;this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new Mi(null,null,1/0),this.deltaMS=1/Rr.TARGET_FPMS,this.elapsedMS=1/Rr.TARGET_FPMS,this._tick=function(t){e._requestId=null,e.started&&(e.update(t),e.started&&e._requestId===null&&e._head.next&&(e._requestId=requestAnimationFrame(e._tick)))}}return e.prototype._requestIfNeeded=function(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))},e.prototype._cancelIfNeeded=function(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)},e.prototype._startIfPossible=function(){this.started?this._requestIfNeeded():this.autoStart&&this.start()},e.prototype.add=function(e,t,n){return n===void 0&&(n=ji.NORMAL),this._addListener(new Mi(e,t,n))},e.prototype.addOnce=function(e,t,n){return n===void 0&&(n=ji.NORMAL),this._addListener(new Mi(e,t,n,!0))},e.prototype._addListener=function(e){var t=this._head.next,n=this._head;if(!t)e.connect(n);else{for(;t;){if(e.priority>t.priority){e.connect(n);break}n=t,t=t.next}e.previous||e.connect(n)}return this._startIfPossible(),this},e.prototype.remove=function(e,t){for(var n=this._head.next;n;)n=n.match(e,t)?n.destroy():n.next;return this._head.next||this._cancelIfNeeded(),this},Object.defineProperty(e.prototype,`count`,{get:function(){if(!this._head)return 0;for(var e=0,t=this._head;t=t.next;)e++;return e},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.started||(this.started=!0,this._requestIfNeeded())},e.prototype.stop=function(){this.started&&(this.started=!1,this._cancelIfNeeded())},e.prototype.destroy=function(){if(!this._protected){this.stop();for(var e=this._head.next;e;)e=e.destroy(!0);this._head.destroy(),this._head=null}},e.prototype.update=function(e){e===void 0&&(e=performance.now());var t;if(e>this.lastTime){if(t=this.elapsedMS=e-this.lastTime,t>this._maxElapsedMS&&(t=this._maxElapsedMS),t*=this.speed,this._minElapsedMS){var n=e-this._lastFrame|0;if(n=this.x&&e=this.y&&te.right?e.right:this.right;if(r<=n)return!1;var i=this.ye.bottom?e.bottom:this.bottom;return a>i}var o=this.left,s=this.right,c=this.top,l=this.bottom;if(s<=o||l<=c)return!1;var u=Bi[0].set(e.left,e.top),d=Bi[1].set(e.left,e.bottom),f=Bi[2].set(e.right,e.top),p=Bi[3].set(e.right,e.bottom);if(f.x<=u.x||d.y<=u.y)return!1;var m=Math.sign(t.a*t.d-t.b*t.c);if(m===0||(t.apply(u,u),t.apply(d,d),t.apply(f,f),t.apply(p,p),Math.max(u.x,d.x,f.x,p.x)<=o||Math.min(u.x,d.x,f.x,p.x)>=s||Math.max(u.y,d.y,f.y,p.y)<=c||Math.min(u.y,d.y,f.y,p.y)>=l))return!1;var h=m*(d.y-u.y),g=m*(u.x-d.x),_=h*o+g*c,v=h*s+g*c,y=h*o+g*l,b=h*s+g*l;if(Math.max(_,v,y,b)<=h*u.x+g*u.y||Math.min(_,v,y,b)>=h*p.x+g*p.y)return!1;var x=m*(u.y-f.y),S=m*(f.x-u.x),C=x*o+S*c,w=x*s+S*c,T=x*o+S*l,E=x*s+S*l;return!(Math.max(C,w,T,E)<=x*u.x+S*u.y||Math.min(C,w,T,E)>=x*p.x+S*p.y)},e.prototype.pad=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=e),this.x-=e,this.y-=t,this.width+=e*2,this.height+=t*2,this},e.prototype.fit=function(e){var t=Math.max(this.x,e.x),n=Math.min(this.x+this.width,e.x+e.width),r=Math.max(this.y,e.y),i=Math.min(this.y+this.height,e.y+e.height);return this.x=t,this.width=Math.max(n-t,0),this.y=r,this.height=Math.max(i-r,0),this},e.prototype.ceil=function(e,t){e===void 0&&(e=1),t===void 0&&(t=.001);var n=Math.ceil((this.x+this.width-t)*e)/e,r=Math.ceil((this.y+this.height-t)*e)/e;return this.x=Math.floor((this.x+t)*e)/e,this.y=Math.floor((this.y+t)*e)/e,this.width=n-this.x,this.height=r-this.y,this},e.prototype.enlarge=function(e){var t=Math.min(this.x,e.x),n=Math.max(this.x+this.width,e.x+e.width),r=Math.min(this.y,e.y),i=Math.max(this.y+this.height,e.y+e.height);return this.x=t,this.width=n-t,this.y=r,this.height=i-r,this},e.prototype.toString=function(){return`[@pixi/math:Rectangle x=`+this.x+` y=`+this.y+` width=`+this.width+` height=`+this.height+`]`},e}(),Hi=function(){function e(e,t,n){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),this.x=e,this.y=t,this.radius=n,this.type=Ri.CIRC}return e.prototype.clone=function(){return new e(this.x,this.y,this.radius)},e.prototype.contains=function(e,t){if(this.radius<=0)return!1;var n=this.radius*this.radius,r=this.x-e,i=this.y-t;return r*=r,i*=i,r+i<=n},e.prototype.getBounds=function(){return new Vi(this.x-this.radius,this.y-this.radius,this.radius*2,this.radius*2)},e.prototype.toString=function(){return`[@pixi/math:Circle x=`+this.x+` y=`+this.y+` radius=`+this.radius+`]`},e}(),Ui=function(){function e(e,t,n,r){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),r===void 0&&(r=0),this.x=e,this.y=t,this.width=n,this.height=r,this.type=Ri.ELIP}return e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e.prototype.contains=function(e,t){if(this.width<=0||this.height<=0)return!1;var n=(e-this.x)/this.width,r=(t-this.y)/this.height;return n*=n,r*=r,n+r<=1},e.prototype.getBounds=function(){return new Vi(this.x-this.width,this.y-this.height,this.width,this.height)},e.prototype.toString=function(){return`[@pixi/math:Ellipse x=`+this.x+` y=`+this.y+` width=`+this.width+` height=`+this.height+`]`},e}(),Wi=function(){function e(){for(var e=arguments,t=[],n=0;nt!=l>t&&e<(c-o)*((t-s)/(l-s))+o;u&&(n=!n)}return n},e.prototype.toString=function(){return`[@pixi/math:Polygon`+(`closeStroke=`+this.closeStroke)+(`points=`+this.points.reduce(function(e,t){return e+`, `+t},``)+`]`)},e}(),Gi=function(){function e(e,t,n,r,i){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),r===void 0&&(r=0),i===void 0&&(i=20),this.x=e,this.y=t,this.width=n,this.height=r,this.radius=i,this.type=Ri.RREC}return e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height,this.radius)},e.prototype.contains=function(e,t){if(this.width<=0||this.height<=0)return!1;if(e>=this.x&&e<=this.x+this.width&&t>=this.y&&t<=this.y+this.height){var n=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(t>=this.y+n&&t<=this.y+this.height-n||e>=this.x+n&&e<=this.x+this.width-n)return!0;var r=e-(this.x+n),i=t-(this.y+n),a=n*n;if(r*r+i*i<=a||(r=e-(this.x+this.width-n),r*r+i*i<=a)||(i=t-(this.y+this.height-n),r*r+i*i<=a)||(r=e-(this.x+n),r*r+i*i<=a))return!0}return!1},e.prototype.toString=function(){return`[@pixi/math:RoundedRectangle x=`+this.x+` y=`+this.y+(`width=`+this.width+` height=`+this.height+` radius=`+this.radius+`]`)},e}(),Ki=function(){function e(e,t,n,r){n===void 0&&(n=0),r===void 0&&(r=0),this._x=n,this._y=r,this.cb=e,this.scope=t}return e.prototype.clone=function(t,n){return t===void 0&&(t=this.cb),n===void 0&&(n=this.scope),new e(t,n,this._x,this._y)},e.prototype.set=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=e),(this._x!==e||this._y!==t)&&(this._x=e,this._y=t,this.cb.call(this.scope)),this},e.prototype.copyFrom=function(e){return(this._x!==e.x||this._y!==e.y)&&(this._x=e.x,this._y=e.y,this.cb.call(this.scope)),this},e.prototype.copyTo=function(e){return e.set(this._x,this._y),e},e.prototype.equals=function(e){return e.x===this._x&&e.y===this._y},e.prototype.toString=function(){return`[@pixi/math:ObservablePoint x=0 y=0 scope=`+this.scope+`]`},Object.defineProperty(e.prototype,`x`,{get:function(){return this._x},set:function(e){this._x!==e&&(this._x=e,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,`y`,{get:function(){return this._y},set:function(e){this._y!==e&&(this._y=e,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),e}(),qi=function(){function e(e,t,n,r,i,a){e===void 0&&(e=1),t===void 0&&(t=0),n===void 0&&(n=0),r===void 0&&(r=1),i===void 0&&(i=0),a===void 0&&(a=0),this.array=null,this.a=e,this.b=t,this.c=n,this.d=r,this.tx=i,this.ty=a}return e.prototype.fromArray=function(e){this.a=e[0],this.b=e[1],this.c=e[3],this.d=e[4],this.tx=e[2],this.ty=e[5]},e.prototype.set=function(e,t,n,r,i,a){return this.a=e,this.b=t,this.c=n,this.d=r,this.tx=i,this.ty=a,this},e.prototype.toArray=function(e,t){this.array||=new Float32Array(9);var n=t||this.array;return e?(n[0]=this.a,n[1]=this.b,n[2]=0,n[3]=this.c,n[4]=this.d,n[5]=0,n[6]=this.tx,n[7]=this.ty,n[8]=1):(n[0]=this.a,n[1]=this.c,n[2]=this.tx,n[3]=this.b,n[4]=this.d,n[5]=this.ty,n[6]=0,n[7]=0,n[8]=1),n},e.prototype.apply=function(e,t){t||=new zi;var n=e.x,r=e.y;return t.x=this.a*n+this.c*r+this.tx,t.y=this.b*n+this.d*r+this.ty,t},e.prototype.applyInverse=function(e,t){t||=new zi;var n=1/(this.a*this.d+this.c*-this.b),r=e.x,i=e.y;return t.x=this.d*n*r+-this.c*n*i+(this.ty*this.c-this.tx*this.d)*n,t.y=this.a*n*i+-this.b*n*r+(-this.ty*this.a+this.tx*this.b)*n,t},e.prototype.translate=function(e,t){return this.tx+=e,this.ty+=t,this},e.prototype.scale=function(e,t){return this.a*=e,this.d*=t,this.c*=e,this.b*=t,this.tx*=e,this.ty*=t,this},e.prototype.rotate=function(e){var t=Math.cos(e),n=Math.sin(e),r=this.a,i=this.c,a=this.tx;return this.a=r*t-this.b*n,this.b=r*n+this.b*t,this.c=i*t-this.d*n,this.d=i*n+this.d*t,this.tx=a*t-this.ty*n,this.ty=a*n+this.ty*t,this},e.prototype.append=function(e){var t=this.a,n=this.b,r=this.c,i=this.d;return this.a=e.a*t+e.b*r,this.b=e.a*n+e.b*i,this.c=e.c*t+e.d*r,this.d=e.c*n+e.d*i,this.tx=e.tx*t+e.ty*r+this.tx,this.ty=e.tx*n+e.ty*i+this.ty,this},e.prototype.setTransform=function(e,t,n,r,i,a,o,s,c){return this.a=Math.cos(o+c)*i,this.b=Math.sin(o+c)*i,this.c=-Math.sin(o-s)*a,this.d=Math.cos(o-s)*a,this.tx=e-(n*this.a+r*this.c),this.ty=t-(n*this.b+r*this.d),this},e.prototype.prepend=function(e){var t=this.tx;if(e.a!==1||e.b!==0||e.c!==0||e.d!==1){var n=this.a,r=this.c;this.a=n*e.a+this.b*e.c,this.b=n*e.b+this.b*e.d,this.c=r*e.a+this.d*e.c,this.d=r*e.b+this.d*e.d}return this.tx=t*e.a+this.ty*e.c+e.tx,this.ty=t*e.b+this.ty*e.d+e.ty,this},e.prototype.decompose=function(e){var t=this.a,n=this.b,r=this.c,i=this.d,a=e.pivot,o=-Math.atan2(-r,i),s=Math.atan2(n,t),c=Math.abs(o+s);return c<1e-5||Math.abs(Fi-c)<1e-5?(e.rotation=s,e.skew.x=e.skew.y=0):(e.rotation=0,e.skew.x=o,e.skew.y=s),e.scale.x=Math.sqrt(t*t+n*n),e.scale.y=Math.sqrt(r*r+i*i),e.position.x=this.tx+(a.x*t+a.y*r),e.position.y=this.ty+(a.x*n+a.y*i),e},e.prototype.invert=function(){var e=this.a,t=this.b,n=this.c,r=this.d,i=this.tx,a=e*r-t*n;return this.a=r/a,this.b=-t/a,this.c=-n/a,this.d=e/a,this.tx=(n*this.ty-r*i)/a,this.ty=-(e*this.ty-t*i)/a,this},e.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},e.prototype.clone=function(){var t=new e;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},e.prototype.copyTo=function(e){return e.a=this.a,e.b=this.b,e.c=this.c,e.d=this.d,e.tx=this.tx,e.ty=this.ty,e},e.prototype.copyFrom=function(e){return this.a=e.a,this.b=e.b,this.c=e.c,this.d=e.d,this.tx=e.tx,this.ty=e.ty,this},e.prototype.toString=function(){return`[@pixi/math:Matrix a=`+this.a+` b=`+this.b+` c=`+this.c+` d=`+this.d+` tx=`+this.tx+` ty=`+this.ty+`]`},Object.defineProperty(e,`IDENTITY`,{get:function(){return new e},enumerable:!1,configurable:!0}),Object.defineProperty(e,`TEMP_MATRIX`,{get:function(){return new e},enumerable:!1,configurable:!0}),e}(),Ji=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Yi=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Xi=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],Zi=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],Qi=[],$i=[],ea=Math.sign;function ta(){for(var e=0;e<16;e++){var t=[];Qi.push(t);for(var n=0;n<16;n++)for(var r=ea(Ji[e]*Ji[n]+Xi[e]*Yi[n]),i=ea(Yi[e]*Ji[n]+Zi[e]*Yi[n]),a=ea(Ji[e]*Xi[n]+Xi[e]*Zi[n]),o=ea(Yi[e]*Xi[n]+Zi[e]*Zi[n]),s=0;s<16;s++)if(Ji[s]===r&&Yi[s]===i&&Xi[s]===a&&Zi[s]===o){t.push(s);break}}for(var e=0;e<16;e++){var c=new qi;c.set(Ji[e],Yi[e],Xi[e],Zi[e],0,0),$i.push(c)}}ta();var na={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:function(e){return Ji[e]},uY:function(e){return Yi[e]},vX:function(e){return Xi[e]},vY:function(e){return Zi[e]},inv:function(e){return e&8?e&15:-e&7},add:function(e,t){return Qi[e][t]},sub:function(e,t){return Qi[e][na.inv(t)]},rotate180:function(e){return e^4},isVertical:function(e){return(e&3)==2},byDirection:function(e,t){return Math.abs(e)*2<=Math.abs(t)?t>=0?na.S:na.N:Math.abs(t)*2<=Math.abs(e)?e>0?na.E:na.W:t>0?e>0?na.SE:na.SW:e>0?na.NE:na.NW},matrixAppendRotationInv:function(e,t,n,r){n===void 0&&(n=0),r===void 0&&(r=0);var i=$i[na.inv(t)];i.tx=n,i.ty=r,e.append(i)}},ra=function(){function e(){this.worldTransform=new qi,this.localTransform=new qi,this.position=new Ki(this.onChange,this,0,0),this.scale=new Ki(this.onChange,this,1,1),this.pivot=new Ki(this.onChange,this,0,0),this.skew=new Ki(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}return e.prototype.onChange=function(){this._localID++},e.prototype.updateSkew=function(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++},e.prototype.toString=function(){return`[@pixi/math:Transform `+(`position=(`+this.position.x+`, `+this.position.y+`) `)+(`rotation=`+this.rotation+` `)+(`scale=(`+this.scale.x+`, `+this.scale.y+`) `)+(`skew=(`+this.skew.x+`, `+this.skew.y+`) `)+`]`},e.prototype.updateLocalTransform=function(){var e=this.localTransform;this._localID!==this._currentLocalID&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this._currentLocalID=this._localID,this._parentID=-1)},e.prototype.updateTransform=function(e){var t=this.localTransform;if(this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==e._worldID){var n=e.worldTransform,r=this.worldTransform;r.a=t.a*n.a+t.b*n.c,r.b=t.a*n.b+t.b*n.d,r.c=t.c*n.a+t.d*n.c,r.d=t.c*n.b+t.d*n.d,r.tx=t.tx*n.a+t.ty*n.c+n.tx,r.ty=t.tx*n.b+t.ty*n.d+n.ty,this._parentID=e._worldID,this._worldID++}},e.prototype.setFromMatrix=function(e){e.decompose(this),this._localID++},Object.defineProperty(e.prototype,`rotation`,{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,this.updateSkew())},enumerable:!1,configurable:!0}),e.IDENTITY=new e,e}();Rr.PREFER_ENV=Fr.any?Xn.WEBGL:Xn.WEBGL2,Rr.STRICT_TEXTURE_CACHE=!1;var ia=[];function aa(e,t){if(!e)return null;var n=``;if(typeof e==`string`){var r=/\.(\w{3,4})(?:$|\?|#)/i.exec(e);r&&(n=r[1].toLowerCase())}for(var i=ia.length-1;i>=0;--i){var a=ia[i];if(a.test&&a.test(e,n))return new a(e,t)}throw Error(`Unrecognized source type to auto-detect Resource`)} +/*! ***************************************************************************** + +Copyright (c) Microsoft Corporation. + + + +Permission to use, copy, modify, and/or distribute this software for any + +purpose with or without fee is hereby granted. + + + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + +PERFORMANCE OF THIS SOFTWARE. + +***************************************************************************** */ +var oa=function(e,t){return oa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},oa(e,t)};function sa(e,t){oa(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var ca=function(){return ca=Object.assign||function(e){for(var t=arguments,n,r=1,i=arguments.length;r0&&l>0,r.textureCacheIds=[],r.destroyed=!1,r.resource=null,r._batchEnabled=0,r._batchLocation=0,r.parentTextureArray=null,r.setResource(t),r}return Object.defineProperty(t.prototype,`realWidth`,{get:function(){return Math.round(this.width*this.resolution)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`realHeight`,{get:function(){return Math.round(this.height*this.resolution)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`mipmap`,{get:function(){return this._mipmap},set:function(e){this._mipmap!==e&&(this._mipmap=e,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`scaleMode`,{get:function(){return this._scaleMode},set:function(e){this._scaleMode!==e&&(this._scaleMode=e,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`wrapMode`,{get:function(){return this._wrapMode},set:function(e){this._wrapMode!==e&&(this._wrapMode=e,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),t.prototype.setStyle=function(e,t){var n;return e!==void 0&&e!==this.scaleMode&&(this.scaleMode=e,n=!0),t!==void 0&&t!==this.mipmap&&(this.mipmap=t,n=!0),n&&this.dirtyStyleId++,this},t.prototype.setSize=function(e,t,n){return n||=this.resolution,this.setRealSize(e*n,t*n,n)},t.prototype.setRealSize=function(e,t,n){return this.resolution=n||this.resolution,this.width=Math.round(e)/this.resolution,this.height=Math.round(t)/this.resolution,this._refreshPOT(),this.update(),this},t.prototype._refreshPOT=function(){this.isPowerOfTwo=fi(this.realWidth)&&fi(this.realHeight)},t.prototype.setResolution=function(e){var t=this.resolution;return t===e?this:(this.resolution=e,this.valid&&(this.width=Math.round(this.width*t)/e,this.height=Math.round(this.height*t)/e,this.emit(`update`,this)),this._refreshPOT(),this)},t.prototype.setResource=function(e){if(this.resource===e)return this;if(this.resource)throw Error(`Resource can be set only once`);return e.bind(this),this.resource=e,this},t.prototype.update=function(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit(`update`,this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit(`loaded`,this),this.emit(`update`,this))},t.prototype.onError=function(e){this.emit(`error`,this,e)},t.prototype.destroy=function(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete xi[this.cacheId],delete bi[this.cacheId],this.cacheId=null),this.dispose(),t.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0},t.prototype.dispose=function(){this.emit(`dispose`,this)},t.prototype.castToBaseTexture=function(){return this},t.from=function(e,n,r){r===void 0&&(r=Rr.STRICT_TEXTURE_CACHE);var i=typeof e==`string`,a=null;if(i)a=e;else{if(!e._pixiId){var o=n&&n.pixiIdPrefix||`pixiid`;e._pixiId=o+`_`+gi()}a=e._pixiId}var s=xi[a];if(i&&r&&!s)throw Error(`The cacheId "`+a+`" does not exist in BaseTextureCache.`);return s||(s=new t(e,n),s.cacheId=a,t.addToCache(s,a)),s},t.fromBuffer=function(e,n,r,i){e||=new Float32Array(n*r*4);var a=new da(e,{width:n,height:r}),o=e instanceof Float32Array?rr.FLOAT:rr.UNSIGNED_BYTE;return new t(a,Object.assign({},fa,i||{width:n,height:r,type:o}))},t.addToCache=function(e,t){t&&(e.textureCacheIds.indexOf(t)===-1&&e.textureCacheIds.push(t),xi[t]&&console.warn(`BaseTexture added to the cache with an id [`+t+`] that already had an entry`),xi[t]=e)},t.removeFromCache=function(e){if(typeof e==`string`){var t=xi[e];if(t){var n=t.textureCacheIds.indexOf(e);return n>-1&&t.textureCacheIds.splice(n,1),delete xi[e],t}}else if(e&&e.textureCacheIds){for(var r=0;r0)if(e.resource)this.addResourceAt(e.resource,t);else throw Error(`CubeResource does not support copying of renderTexture.`);else e.target=nr.TEXTURE_CUBE_MAP_POSITIVE_X+t,e.parentTextureArray=this.baseTexture,this.items[t]=e;return e.valid&&!this.valid&&this.resize(e.realWidth,e.realHeight),this.items[t]=e,this},t.prototype.upload=function(e,n,r){for(var i=this.itemDirtyIds,a=0;a)?\s*()]*-->)?\s*\]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i,t}(ga),xa=function(e){sa(t,e);function t(n,r){var i=this;if(r||={},!(n instanceof HTMLVideoElement)){var a=document.createElement(`video`);a.setAttribute(`preload`,`auto`),a.setAttribute(`webkit-playsinline`,``),a.setAttribute(`playsinline`,``),typeof n==`string`&&(n=[n]);var o=n[0].src||n[0];ga.crossOrigin(a,o,r.crossorigin);for(var s=0;s2},t.prototype._onPlayStart=function(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(Ni.shared.add(this.update,this),this._isConnectedToTicker=!0)},t.prototype._onPlayStop=function(){this._isConnectedToTicker&&(Ni.shared.remove(this.update,this),this._isConnectedToTicker=!1)},t.prototype._onCanPlay=function(){var e=this.source;e.removeEventListener(`canplay`,this._onCanPlay),e.removeEventListener(`canplaythrough`,this._onCanPlay);var t=this.valid;this.resize(e.videoWidth,e.videoHeight),!t&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&e.play()},t.prototype.dispose=function(){this._isConnectedToTicker&&(Ni.shared.remove(this.update,this),this._isConnectedToTicker=!1);var t=this.source;t&&(t.removeEventListener(`error`,this._onError,!0),t.pause(),t.src=``,t.load()),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,`autoUpdate`,{get:function(){return this._autoUpdate},set:function(e){e!==this._autoUpdate&&(this._autoUpdate=e,!this._autoUpdate&&this._isConnectedToTicker?(Ni.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(Ni.shared.add(this.update,this),this._isConnectedToTicker=!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`updateFPS`,{get:function(){return this._updateFPS},set:function(e){e!==this._updateFPS&&(this._updateFPS=e)},enumerable:!1,configurable:!0}),t.test=function(e,n){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement||t.TYPES.indexOf(n)>-1},t.TYPES=[`mp4`,`m4v`,`webm`,`ogg`,`ogv`,`h264`,`avi`,`mov`],t.MIME_TYPES={ogv:`video/ogg`,mov:`video/quicktime`,m4v:`video/mp4`},t}(ga),Sa=function(e){sa(t,e);function t(t){return e.call(this,t)||this}return t.test=function(e){return!!globalThis.createImageBitmap&&typeof ImageBitmap<`u`&&e instanceof ImageBitmap},t}(ga);ia.push(ya,Sa,_a,xa,ba,da,va,ha);var Ca={__proto__:null,Resource:ua,BaseImageResource:ga,INSTALLED:ia,autoDetectResource:aa,AbstractMultiResource:ma,ArrayResource:ha,BufferResource:da,CanvasResource:_a,CubeResource:va,ImageResource:ya,SVGResource:ba,VideoResource:xa,ImageBitmapResource:Sa},wa=function(e){sa(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.upload=function(e,t,n){var r=e.gl;r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.alphaMode===cr.UNPACK);var i=t.realWidth,a=t.realHeight;return n.width===i&&n.height===a?r.texSubImage2D(t.target,0,0,0,i,a,t.format,n.type,this.data):(n.width=i,n.height=a,r.texImage2D(t.target,0,n.internalFormat,i,a,0,t.format,n.type,this.data)),!0},t}(da),Ta=function(){function e(e,t){this.width=Math.round(e||100),this.height=Math.round(t||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new Ai(`disposeFramebuffer`),this.multisample=mr.NONE}return Object.defineProperty(e.prototype,`colorTexture`,{get:function(){return this.colorTextures[0]},enumerable:!1,configurable:!0}),e.prototype.addColorTexture=function(e,t){return e===void 0&&(e=0),this.colorTextures[e]=t||new pa(null,{scaleMode:ar.NEAREST,resolution:1,mipmap:sr.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.addDepthTexture=function(e){return this.depthTexture=e||new pa(new wa(null,{width:this.width,height:this.height}),{scaleMode:ar.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:sr.OFF,format:tr.DEPTH_COMPONENT,type:rr.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableDepth=function(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableStencil=function(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.resize=function(e,t){if(e=Math.round(e),t=Math.round(t),!(e===this.width&&t===this.height)){this.width=e,this.height=t,this.dirtyId++,this.dirtySize++;for(var n=0;n-1&&t.textureCacheIds.splice(n,1),delete bi[e],t}}else if(e&&e.textureCacheIds){for(var r=0;rthis.baseTexture.width,o=n+i>this.baseTexture.height;if(a||o){var s=a&&o?`and`:`or`,c=`X: `+t+` + `+r+` = `+(t+r)+` > `+this.baseTexture.width,l=`Y: `+n+` + `+i+` = `+(n+i)+` > `+this.baseTexture.height;throw Error(`Texture Error: frame does not fit inside the base Texture dimensions: `+(c+` `+s+` `+l))}this.valid=r&&i&&this.baseTexture.valid,!this.trim&&!this.rotate&&(this.orig=e),this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`rotate`,{get:function(){return this._rotate},set:function(e){this._rotate=e,this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`width`,{get:function(){return this.orig.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`height`,{get:function(){return this.orig.height},enumerable:!1,configurable:!0}),t.prototype.castToBaseTexture=function(){return this.baseTexture},Object.defineProperty(t,`EMPTY`,{get:function(){return t._EMPTY||(t._EMPTY=new t(new pa),ka(t._EMPTY),ka(t._EMPTY.baseTexture)),t._EMPTY},enumerable:!1,configurable:!0}),Object.defineProperty(t,`WHITE`,{get:function(){if(!t._WHITE){var e=Rr.ADAPTER.createCanvas(16,16),n=e.getContext(`2d`);e.width=16,e.height=16,n.fillStyle=`white`,n.fillRect(0,0,16,16),t._WHITE=new t(pa.from(e)),ka(t._WHITE),ka(t._WHITE.baseTexture)}return t._WHITE},enumerable:!1,configurable:!0}),t}(Yr.default),ja=function(e){sa(t,e);function t(t,n){var r=e.call(this,t,n)||this;return r.valid=!0,r.filterFrame=null,r.filterPoolKey=null,r.updateUvs(),r}return Object.defineProperty(t.prototype,`framebuffer`,{get:function(){return this.baseTexture.framebuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`multisample`,{get:function(){return this.framebuffer.multisample},set:function(e){this.framebuffer.multisample=e},enumerable:!1,configurable:!0}),t.prototype.resize=function(e,t,n){n===void 0&&(n=!0);var r=this.baseTexture.resolution,i=Math.round(e*r)/r,a=Math.round(t*r)/r;this.valid=i>0&&a>0,this._frame.width=this.orig.width=i,this._frame.height=this.orig.height=a,n&&this.baseTexture.resize(i,a),this.updateUvs()},t.prototype.setResolution=function(e){var t=this.baseTexture;t.resolution!==e&&(t.setResolution(e),this.resize(t.width,t.height,!1))},t.create=function(e){for(var n=arguments,r=[],i=1;i>>0,r>1&&(i+=r*4294967296)):i=r>1?-r:-1,this.texturePool[i]||(this.texturePool[i]=[]);var a=this.texturePool[i].pop();return a||=this.createTexture(e,t,r),a.filterPoolKey=i,a.setResolution(n),a},e.prototype.getFilterTexture=function(e,t,n){var r=this.getOptimalTexture(e.width,e.height,t||e.resolution,n||mr.NONE);return r.filterFrame=e.filterFrame,r},e.prototype.returnTexture=function(e){var t=e.filterPoolKey;e.filterFrame=null,this.texturePool[t].push(e)},e.prototype.returnFilterTexture=function(e){this.returnTexture(e)},e.prototype.clear=function(e){if(e=e!==!1,e)for(var t in this.texturePool){var n=this.texturePool[t];if(n)for(var r=0;r0&&e.height>0,this.texturePool){if(!(Number(t)<0))continue;var n=this.texturePool[t];if(n)for(var r=0;r1){for(var l=0;l1&&(u=this.getOptimalFilterTexture(l.width,l.height,t.resolution),u.filterFrame=l.filterFrame),n[d].apply(this,l,u,lr.CLEAR,t);var f=l;l=u,u=f}n[d].apply(this,l,c.renderTexture,lr.BLEND,t),d>1&&t.multisample>1&&this.returnFilterTexture(t.renderTexture),this.returnFilterTexture(l),this.returnFilterTexture(u)}t.clear(),this.statePool.push(t)},e.prototype.bindAndClear=function(e,t){t===void 0&&(t=lr.CLEAR);var n=this.renderer,r=n.renderTexture,i=n.state;if(e===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,e&&e.filterFrame){var a=this.tempRect;a.x=0,a.y=0,a.width=e.filterFrame.width,a.height=e.filterFrame.height,r.bind(e,e.filterFrame,a)}else e===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.renderTexture.bind(e,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame):r.bind(e);var o=i.stateId&1||this.forceClear;(t===lr.CLEAR||t===lr.BLIT&&o)&&this.renderer.framebuffer.clear(0,0,0,0)},e.prototype.applyFilter=function(e,t,n,r){var i=this.renderer;i.state.set(e.state),this.bindAndClear(n,r),e.uniforms.uSampler=t,e.uniforms.filterGlobals=this.globalUniforms,i.shader.bind(e),e.legacy=!!e.program.attributeData.aTextureCoord,e.legacy?(this.quadUv.map(t._frame,t.filterFrame),i.geometry.bind(this.quadUv),i.geometry.draw(er.TRIANGLES)):(i.geometry.bind(this.quad),i.geometry.draw(er.TRIANGLE_STRIP))},e.prototype.calculateSpriteMatrix=function(e,t){var n=this.activeState,r=n.sourceFrame,i=n.destinationFrame,a=t._texture.orig,o=e.set(i.width,0,0,i.height,r.x,r.y),s=t.worldTransform.copyTo(qi.TEMP_MATRIX);return s.invert(),o.prepend(s),o.scale(1/a.width,1/a.height),o.translate(t.anchor.x,t.anchor.y),o},e.prototype.destroy=function(){this.renderer=null,this.texturePool.clear(!1)},e.prototype.getOptimalFilterTexture=function(e,t,n,r){return n===void 0&&(n=1),r===void 0&&(r=mr.NONE),this.texturePool.getOptimalTexture(e,t,n,r)},e.prototype.getFilterTexture=function(e,t,n){if(typeof e==`number`){var r=e;e=t,t=r}e||=this.activeState.renderTexture;var i=this.texturePool.getOptimalTexture(e.width,e.height,t||e.resolution,n||mr.NONE);return i.filterFrame=e.filterFrame,i},e.prototype.returnFilterTexture=function(e){this.texturePool.returnTexture(e)},e.prototype.emptyPool=function(){this.texturePool.clear(!0)},e.prototype.resize=function(){this.texturePool.setScreenSize(this.renderer.view)},e.prototype.transformAABB=function(e,t){var n=qa[0],r=qa[1],i=qa[2],a=qa[3];n.set(t.left,t.top),r.set(t.left,t.bottom),i.set(t.right,t.top),a.set(t.right,t.bottom),e.apply(n,n),e.apply(r,r),e.apply(i,i),e.apply(a,a);var o=Math.min(n.x,r.x,i.x,a.x),s=Math.min(n.y,r.y,i.y,a.y),c=Math.max(n.x,r.x,i.x,a.x),l=Math.max(n.y,r.y,i.y,a.y);t.x=o,t.y=s,t.width=c-o,t.height=l-s},e.prototype.roundFrame=function(e,t,n,r,i){if(!(e.width<=0||e.height<=0||n.width<=0||n.height<=0)){if(i){var a=i.a,o=i.b,s=i.c,c=i.d;if((Math.abs(o)>1e-4||Math.abs(s)>1e-4)&&(Math.abs(a)>1e-4||Math.abs(c)>1e-4))return}i=i?Ja.copyFrom(i):Ja.identity(),i.translate(-n.x,-n.y).scale(r.width/n.width,r.height/n.height).translate(r.x,r.y),this.transformAABB(i,e),e.ceil(t),this.transformAABB(i.invert(),e)}},e}(),Xa=function(){function e(e){this.renderer=e}return e.prototype.flush=function(){},e.prototype.destroy=function(){this.renderer=null},e.prototype.start=function(){},e.prototype.stop=function(){this.flush()},e.prototype.render=function(e){},e}(),Za=function(){function e(e){this.renderer=e,this.emptyRenderer=new Xa(e),this.currentRenderer=this.emptyRenderer}return e.prototype.setObjectRenderer=function(e){this.currentRenderer!==e&&(this.currentRenderer.stop(),this.currentRenderer=e,this.currentRenderer.start())},e.prototype.flush=function(){this.setObjectRenderer(this.emptyRenderer)},e.prototype.reset=function(){this.setObjectRenderer(this.emptyRenderer)},e.prototype.copyBoundTextures=function(e,t){for(var n=this.renderer.texture.boundTextures,r=t-1;r>=0;--r)e[r]=n[r]||null,e[r]&&(e[r]._batchLocation=r)},e.prototype.boundArray=function(e,t,n,r){for(var i=e.elements,a=e.ids,o=e.count,s=0,c=0;c=0&&u=Xn.WEBGL2&&(n=e.getContext(`webgl2`,t)),n)this.webGLVersion=2;else if(this.webGLVersion=1,n=e.getContext(`webgl`,t)||e.getContext(`experimental-webgl`,t),!n)throw Error(`This browser does not support WebGL. Try using the canvas renderer`);return this.gl=n,this.getExtensions(),this.gl},e.prototype.getExtensions=function(){var e=this.gl,t={loseContext:e.getExtension(`WEBGL_lose_context`),anisotropicFiltering:e.getExtension(`EXT_texture_filter_anisotropic`),floatTextureLinear:e.getExtension(`OES_texture_float_linear`),s3tc:e.getExtension(`WEBGL_compressed_texture_s3tc`),s3tc_sRGB:e.getExtension(`WEBGL_compressed_texture_s3tc_srgb`),etc:e.getExtension(`WEBGL_compressed_texture_etc`),etc1:e.getExtension(`WEBGL_compressed_texture_etc1`),pvrtc:e.getExtension(`WEBGL_compressed_texture_pvrtc`)||e.getExtension(`WEBKIT_WEBGL_compressed_texture_pvrtc`),atc:e.getExtension(`WEBGL_compressed_texture_atc`),astc:e.getExtension(`WEBGL_compressed_texture_astc`)};this.webGLVersion===1?Object.assign(this.extensions,t,{drawBuffers:e.getExtension(`WEBGL_draw_buffers`),depthTexture:e.getExtension(`WEBGL_depth_texture`),vertexArrayObject:e.getExtension(`OES_vertex_array_object`)||e.getExtension(`MOZ_OES_vertex_array_object`)||e.getExtension(`WEBKIT_OES_vertex_array_object`),uint32ElementIndex:e.getExtension(`OES_element_index_uint`),floatTexture:e.getExtension(`OES_texture_float`),floatTextureLinear:e.getExtension(`OES_texture_float_linear`),textureHalfFloat:e.getExtension(`OES_texture_half_float`),textureHalfFloatLinear:e.getExtension(`OES_texture_half_float_linear`)}):this.webGLVersion===2&&Object.assign(this.extensions,t,{colorBufferFloat:e.getExtension(`EXT_color_buffer_float`)})},e.prototype.handleContextLost=function(e){var t=this;e.preventDefault(),setTimeout(function(){t.gl.isContextLost()&&t.extensions.loseContext&&t.extensions.loseContext.restoreContext()},0)},e.prototype.handleContextRestored=function(){this.renderer.runners.contextChange.emit(this.gl)},e.prototype.destroy=function(){var e=this.renderer.view;this.renderer=null,e.removeEventListener(`webglcontextlost`,this.handleContextLost),e.removeEventListener(`webglcontextrestored`,this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()},e.prototype.postrender=function(){this.renderer.renderingToScreen&&this.gl.flush()},e.prototype.validateContext=function(e){var t=e.getContextAttributes(),n=`WebGL2RenderingContext`in globalThis&&e instanceof globalThis.WebGL2RenderingContext;n&&(this.webGLVersion=2),t&&!t.stencil&&console.warn(`Provided WebGL context does not have a stencil buffer, masks may not render correctly`);var r=n||!!e.getExtension(`OES_element_index_uint`);this.supports.uint32Indices=r,r||console.warn(`Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly`)},e}(),eo=function(){function e(e){this.framebuffer=e,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=mr.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}return e}(),to=new Vi,no=function(){function e(e){this.renderer=e,this.managedFramebuffers=[],this.unknownFramebuffer=new Ta(10,10),this.msaaSamples=null}return e.prototype.contextChange=function(){this.disposeAll(!0);var e=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new Vi,this.hasMRT=!0,this.writeDepthTexture=!0,this.renderer.context.webGLVersion===1){var t=this.renderer.context.extensions.drawBuffers,n=this.renderer.context.extensions.depthTexture;Rr.PREFER_ENV===Xn.WEBGL_LEGACY&&(t=null,n=null),t?e.drawBuffers=function(e){return t.drawBuffersWEBGL(e)}:(this.hasMRT=!1,e.drawBuffers=function(){}),n||(this.writeDepthTexture=!1)}else this.msaaSamples=e.getInternalformatParameter(e.RENDERBUFFER,e.RGBA8,e.SAMPLES)},e.prototype.bind=function(e,t,n){n===void 0&&(n=0);var r=this.gl;if(e){var i=e.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(e);this.current!==e&&(this.current=e,r.bindFramebuffer(r.FRAMEBUFFER,i.framebuffer)),i.mipLevel!==n&&(e.dirtyId++,e.dirtyFormat++,i.mipLevel=n),i.dirtyId!==e.dirtyId&&(i.dirtyId=e.dirtyId,i.dirtyFormat===e.dirtyFormat?i.dirtySize!==e.dirtySize&&(i.dirtySize=e.dirtySize,this.resizeFramebuffer(e)):(i.dirtyFormat=e.dirtyFormat,i.dirtySize=e.dirtySize,this.updateFramebuffer(e,n)));for(var a=0;a>n,c=t.height>>n,l=s/t.width;this.setViewport(t.x*l,t.y*l,s,c)}else{var s=e.width>>n,c=e.height>>n;this.setViewport(0,0,s,c)}}else this.current&&(this.current=null,r.bindFramebuffer(r.FRAMEBUFFER,null)),t?this.setViewport(t.x,t.y,t.width,t.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)},e.prototype.setViewport=function(e,t,n,r){var i=this.viewport;e=Math.round(e),t=Math.round(t),n=Math.round(n),r=Math.round(r),(i.width!==n||i.height!==r||i.x!==e||i.y!==t)&&(i.x=e,i.y=t,i.width=n,i.height=r,this.gl.viewport(e,t,n,r))},Object.defineProperty(e.prototype,`size`,{get:function(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}},enumerable:!1,configurable:!0}),e.prototype.clear=function(e,t,n,r,i){i===void 0&&(i=Qn.COLOR|Qn.DEPTH);var a=this.gl;a.clearColor(e,t,n,r),a.clear(i)},e.prototype.initFramebuffer=function(e){var t=this.gl,n=new eo(t.createFramebuffer());return n.multisample=this.detectSamples(e.multisample),e.glFramebuffers[this.CONTEXT_UID]=n,this.managedFramebuffers.push(e),e.disposeRunner.add(this),n},e.prototype.resizeFramebuffer=function(e){var t=this.gl,n=e.glFramebuffers[this.CONTEXT_UID];n.msaaBuffer&&(t.bindRenderbuffer(t.RENDERBUFFER,n.msaaBuffer),t.renderbufferStorageMultisample(t.RENDERBUFFER,n.multisample,t.RGBA8,e.width,e.height)),n.stencil&&(t.bindRenderbuffer(t.RENDERBUFFER,n.stencil),n.msaaBuffer?t.renderbufferStorageMultisample(t.RENDERBUFFER,n.multisample,t.DEPTH24_STENCIL8,e.width,e.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,e.width,e.height));var r=e.colorTextures,i=r.length;t.drawBuffers||(i=Math.min(i,1));for(var a=0;a1&&this.canMultisampleFramebuffer(e)?(r.msaaBuffer=r.msaaBuffer||n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,r.msaaBuffer),n.renderbufferStorageMultisample(n.RENDERBUFFER,r.multisample,n.RGBA8,e.width,e.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,r.msaaBuffer)):r.msaaBuffer&&(n.deleteRenderbuffer(r.msaaBuffer),r.msaaBuffer=null,r.blitFramebuffer&&(r.blitFramebuffer.dispose(),r.blitFramebuffer=null));for(var o=[],s=0;s1&&n.drawBuffers(o),e.depthTexture){var u=this.writeDepthTexture;if(u){var d=e.depthTexture;this.renderer.texture.bind(d,0),n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,d._glTextures[this.CONTEXT_UID].texture,t)}}(e.stencil||e.depth)&&!(e.depthTexture&&this.writeDepthTexture)?(r.stencil=r.stencil||n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,r.stencil),r.msaaBuffer?n.renderbufferStorageMultisample(n.RENDERBUFFER,r.multisample,n.DEPTH24_STENCIL8,e.width,e.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,e.width,e.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,r.stencil)):r.stencil&&(n.deleteRenderbuffer(r.stencil),r.stencil=null)},e.prototype.canMultisampleFramebuffer=function(e){return this.renderer.context.webGLVersion!==1&&e.colorTextures.length<=1&&!e.depthTexture},e.prototype.detectSamples=function(e){var t=this.msaaSamples,n=mr.NONE;if(e<=1||t===null)return n;for(var r=0;r=0&&this.managedFramebuffers.splice(i,1),e.disposeRunner.remove(this),t||(r.deleteFramebuffer(n.framebuffer),n.msaaBuffer&&r.deleteRenderbuffer(n.msaaBuffer),n.stencil&&r.deleteRenderbuffer(n.stencil)),n.blitFramebuffer&&n.blitFramebuffer.dispose()}},e.prototype.disposeAll=function(e){var t=this.managedFramebuffers;this.managedFramebuffers=[];for(var n=0;n=Xn.WEBGL2&&(t=e.getContext(`webgl2`,{})),t||(t=e.getContext(`webgl`,{})||e.getContext(`experimental-webgl`,{}),t?t.getExtension(`WEBGL_draw_buffers`):t=null),po=t}return po}var ho;function go(){if(!ho){ho=dr.MEDIUM;var e=mo();if(e&&e.getShaderPrecisionFormat){var t=e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT);ho=t.precision?dr.HIGH:dr.MEDIUM}}return ho}function _o(e,t,n){if(e.substring(0,9)!==`precision`){var r=t;return t===dr.HIGH&&n!==dr.HIGH&&(r=dr.MEDIUM),`precision `+r+` float; +`+e}else if(n!==dr.HIGH&&e.substring(0,15)===`precision highp`)return e.replace(`precision highp`,`precision mediump`);return e}var vo={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function yo(e){return vo[e]}var bo=null,xo={FLOAT:`float`,FLOAT_VEC2:`vec2`,FLOAT_VEC3:`vec3`,FLOAT_VEC4:`vec4`,INT:`int`,INT_VEC2:`ivec2`,INT_VEC3:`ivec3`,INT_VEC4:`ivec4`,UNSIGNED_INT:`uint`,UNSIGNED_INT_VEC2:`uvec2`,UNSIGNED_INT_VEC3:`uvec3`,UNSIGNED_INT_VEC4:`uvec4`,BOOL:`bool`,BOOL_VEC2:`bvec2`,BOOL_VEC3:`bvec3`,BOOL_VEC4:`bvec4`,FLOAT_MAT2:`mat2`,FLOAT_MAT3:`mat3`,FLOAT_MAT4:`mat4`,SAMPLER_2D:`sampler2D`,INT_SAMPLER_2D:`sampler2D`,UNSIGNED_INT_SAMPLER_2D:`sampler2D`,SAMPLER_CUBE:`samplerCube`,INT_SAMPLER_CUBE:`samplerCube`,UNSIGNED_INT_SAMPLER_CUBE:`samplerCube`,SAMPLER_2D_ARRAY:`sampler2DArray`,INT_SAMPLER_2D_ARRAY:`sampler2DArray`,UNSIGNED_INT_SAMPLER_2D_ARRAY:`sampler2DArray`};function So(e,t){if(!bo){var n=Object.keys(xo);bo={};for(var r=0;r0&&(t+=` +else `),n0?this.maskStack[this.maskStack.length-1]._colorMask:15;n!==t&&this.renderer.gl.colorMask((n&1)!=0,(n&2)!=0,(n&4)!=0,(n&8)!=0)},e.prototype.destroy=function(){this.renderer=null},e}(),es=function(){function e(e){this.renderer=e,this.maskStack=[],this.glConst=0}return e.prototype.getStackLength=function(){return this.maskStack.length},e.prototype.setMaskStack=function(e){var t=this.renderer.gl,n=this.getStackLength();this.maskStack=e;var r=this.getStackLength();r!==n&&(r===0?t.disable(this.glConst):(t.enable(this.glConst),this._useCurrent()))},e.prototype._useCurrent=function(){},e.prototype.destroy=function(){this.renderer=null,this.maskStack=null},e}(),ts=new qi,ns=[],rs=function(e){sa(t,e);function t(t){var n=e.call(this,t)||this;return n.glConst=Rr.ADAPTER.getWebGLRenderingContext().SCISSOR_TEST,n}return t.prototype.getStackLength=function(){var e=this.maskStack[this.maskStack.length-1];return e?e._scissorCounter:0},t.prototype.calcScissorRect=function(e){var t;if(!e._scissorRectLocal){var n=e._scissorRect,r=e.maskObject,i=this.renderer,a=i.renderTexture,o=r.getBounds(!0,(t=ns.pop())??new Vi);this.roundFrameToPixels(o,a.current?a.current.resolution:i.resolution,a.sourceFrame,a.destinationFrame,i.projection.transform),n&&o.fit(n),e._scissorRectLocal=o}},t.isMatrixRotated=function(e){if(!e)return!1;var t=e.a,n=e.b,r=e.c,i=e.d;return(Math.abs(n)>1e-4||Math.abs(r)>1e-4)&&(Math.abs(t)>1e-4||Math.abs(i)>1e-4)},t.prototype.testScissor=function(e){var n=e.maskObject;if(!n.isFastRect||!n.isFastRect()||t.isMatrixRotated(n.worldTransform)||t.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(e);var r=e._scissorRectLocal;return r.width>0&&r.height>0},t.prototype.roundFrameToPixels=function(e,n,r,i,a){t.isMatrixRotated(a)||(a=a?ts.copyFrom(a):ts.identity(),a.translate(-r.x,-r.y).scale(i.width/r.width,i.height/r.height).translate(i.x,i.y),this.renderer.filter.transformAABB(a,e),e.fit(i),e.x=Math.round(e.x*n),e.y=Math.round(e.y*n),e.width=Math.round(e.width*n),e.height=Math.round(e.height*n))},t.prototype.push=function(e){e._scissorRectLocal||this.calcScissorRect(e);var t=this.renderer.gl;e._scissorRect||t.enable(t.SCISSOR_TEST),e._scissorCounter++,e._scissorRect=e._scissorRectLocal,this._useCurrent()},t.prototype.pop=function(e){var t=this.renderer.gl;e&&ns.push(e._scissorRectLocal),this.getStackLength()>0?this._useCurrent():t.disable(t.SCISSOR_TEST)},t.prototype._useCurrent=function(){var e=this.maskStack[this.maskStack.length-1]._scissorRect,t;t=this.renderer.renderTexture.current?e.y:this.renderer.height-e.height-e.y,this.renderer.gl.scissor(e.x,t,e.width,e.height)},t}(es),os=function(e){sa(t,e);function t(t){var n=e.call(this,t)||this;return n.glConst=Rr.ADAPTER.getWebGLRenderingContext().STENCIL_TEST,n}return t.prototype.getStackLength=function(){var e=this.maskStack[this.maskStack.length-1];return e?e._stencilCounter:0},t.prototype.push=function(e){var t=e.maskObject,n=this.renderer.gl,r=e._stencilCounter;r===0&&(this.renderer.framebuffer.forceStencil(),n.clearStencil(0),n.clear(n.STENCIL_BUFFER_BIT),n.enable(n.STENCIL_TEST)),e._stencilCounter++;var i=e._colorMask;i!==0&&(e._colorMask=0,n.colorMask(!1,!1,!1,!1)),n.stencilFunc(n.EQUAL,r,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.INCR),t.renderable=!0,t.render(this.renderer),this.renderer.batch.flush(),t.renderable=!1,i!==0&&(e._colorMask=i,n.colorMask((i&1)!=0,(i&2)!=0,(i&4)!=0,(i&8)!=0)),this._useCurrent()},t.prototype.pop=function(e){var t=this.renderer.gl;if(this.getStackLength()===0)t.disable(t.STENCIL_TEST);else{var n=this.maskStack.length===0?null:this.maskStack[this.maskStack.length-1],r=n?n._colorMask:15;r!==0&&(n._colorMask=0,t.colorMask(!1,!1,!1,!1)),t.stencilOp(t.KEEP,t.KEEP,t.DECR),e.renderable=!0,e.render(this.renderer),this.renderer.batch.flush(),e.renderable=!1,r!==0&&(n._colorMask=r,t.colorMask((r&1)!=0,(r&2)!=0,(r&4)!=0,(r&8)!=0)),this._useCurrent()}},t.prototype._useCurrent=function(){var e=this.renderer.gl;e.stencilFunc(e.EQUAL,this.getStackLength(),4294967295),e.stencilOp(e.KEEP,e.KEEP,e.KEEP)},t}(es),ss=function(){function e(e){this.renderer=e,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new qi,this.transform=null}return e.prototype.update=function(e,t,n,r){this.destinationFrame=e||this.destinationFrame||this.defaultFrame,this.sourceFrame=t||this.sourceFrame||e,this.calculateProjection(this.destinationFrame,this.sourceFrame,n,r),this.transform&&this.projectionMatrix.append(this.transform);var i=this.renderer;i.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,i.globalUniforms.update(),i.shader.shader&&i.shader.syncUniformGroup(i.shader.shader.uniforms.globals)},e.prototype.calculateProjection=function(e,t,n,r){var i=this.projectionMatrix,a=r?-1:1;i.identity(),i.a=1/t.width*2,i.d=a*(1/t.height*2),i.tx=-1-t.x*i.a,i.ty=-a-t.y*i.d},e.prototype.setTransform=function(e){},e.prototype.destroy=function(){this.renderer=null},e}(),cs=new Vi,ls=new Vi,us=function(){function e(e){this.renderer=e,this.clearColor=e._backgroundColorRgba,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new Vi,this.destinationFrame=new Vi,this.viewportFrame=new Vi}return e.prototype.bind=function(e,t,n){e===void 0&&(e=null);var r=this.renderer;this.current=e;var i,a,o;e?(i=e.baseTexture,o=i.resolution,t||(cs.width=e.frame.width,cs.height=e.frame.height,t=cs),n||(ls.x=e.frame.x,ls.y=e.frame.y,ls.width=t.width,ls.height=t.height,n=ls),a=i.framebuffer):(o=r.resolution,t||(cs.width=r.screen.width,cs.height=r.screen.height,t=cs),n||(n=cs,n.width=t.width,n.height=t.height));var s=this.viewportFrame;s.x=n.x*o,s.y=n.y*o,s.width=n.width*o,s.height=n.height*o,e||(s.y=r.view.height-(s.y+s.height)),s.ceil(),this.renderer.framebuffer.bind(a,s),this.renderer.projection.update(n,t,o,!a),e?this.renderer.mask.setMaskStack(i.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(t),this.destinationFrame.copyFrom(n)},e.prototype.clear=function(e,t){this.current?e||=this.current.baseTexture.clearColor:e||=this.clearColor;var n=this.destinationFrame,r=this.current?this.current.baseTexture:this.renderer.screen,i=n.width!==r.width||n.height!==r.height;if(i){var a=this.viewportFrame,o=a.x,s=a.y,c=a.width,l=a.height;o=Math.round(o),s=Math.round(s),c=Math.round(c),l=Math.round(l),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(o,s,c,l)}this.renderer.framebuffer.clear(e[0],e[1],e[2],e[3],t),i&&this.renderer.scissor.pop()},e.prototype.resize=function(){this.bind(null)},e.prototype.reset=function(){this.bind(null)},e.prototype.destroy=function(){this.renderer=null},e}();function ds(e,t,n,r,i){n.buffer.update(i)}var fs={float:` + data[offset] = v; + `,vec2:` + data[offset] = v[0]; + data[offset+1] = v[1]; + `,vec3:` + data[offset] = v[0]; + data[offset+1] = v[1]; + data[offset+2] = v[2]; + + `,vec4:` + data[offset] = v[0]; + data[offset+1] = v[1]; + data[offset+2] = v[2]; + data[offset+3] = v[3]; + `,mat2:` + data[offset] = v[0]; + data[offset+1] = v[1]; + + data[offset+4] = v[2]; + data[offset+5] = v[3]; + `,mat3:` + data[offset] = v[0]; + data[offset+1] = v[1]; + data[offset+2] = v[2]; + + data[offset + 4] = v[3]; + data[offset + 5] = v[4]; + data[offset + 6] = v[5]; + + data[offset + 8] = v[6]; + data[offset + 9] = v[7]; + data[offset + 10] = v[8]; + `,mat4:` + for(var i = 0; i < 16; i++) + { + data[offset + i] = v[i]; + } + `},ps={float:4,vec2:8,vec3:12,vec4:16,int:4,ivec2:8,ivec3:12,ivec4:16,uint:4,uvec2:8,uvec3:12,uvec4:16,bool:4,bvec2:8,bvec3:12,bvec4:16,mat2:16*2,mat3:16*3,mat4:16*4};function ms(e){for(var t=e.map(function(e){return{data:e,offset:0,dataLen:0,dirty:0}}),n=0,r=0,i=0,a=0;a1&&(n=Math.max(n,16)*o.data.size),o.dataLen=n,r%n!==0&&r<16){var s=r%n%16;r+=s,i+=s}r+n>16?(i=Math.ceil(i/16)*16,o.offset=i,i+=n,r=n):(o.offset=i,r+=n,i+=n)}return i=Math.ceil(i/16)*16,{uboElements:t,size:i}}function hs(e,t){var n=[];for(var r in e)t[r]&&n.push(t[r]);return n.sort(function(e,t){return e.index-t.index}),n}function gs(e,t){if(!e.autoManage)return{size:0,syncFunc:ds};for(var n=hs(e.uniforms,t),r=ms(n),i=r.uboElements,a=r.size,o=[` + var v = null; + var v2 = null; + var cv = null; + var t = 0; + var gl = renderer.gl + var index = 0; + var data = buffer.data; + `],s=0;s1){var m=yo(c.data.type),h=Math.max(ps[c.data.type]/16,1),g=m/h,_=(4-g%4)%4;o.push(` + cv = ud.`+u+`.value; + v = uv.`+u+`; + offset = `+c.offset/4+`; + + t = 0; + + for(var i=0; i < `+c.data.size*h+`; i++) + { + for(var j = 0; j < `+g+`; j++) + { + data[offset++] = v[t++]; + } + offset += `+_+`; + } + + `)}else{var v=fs[c.data.type];o.push(` + cv = ud.`+u+`.value; + v = uv.`+u+`; + offset = `+c.offset/4+`; + `+v+`; + `)}}return o.push(` + renderer.buffer.update(buffer); + `),{size:a,syncFunc:Function(`ud`,`uv`,`renderer`,`syncData`,`buffer`,o.join(` +`))}}var _s=function(){function e(){}return e}(),vs=function(){function e(e,t){this.program=e,this.uniformData=t,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}return e.prototype.destroy=function(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null},e}();function ys(e,t){for(var n={},r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=0;it?1:-1});for(var o=0;o>=1,n++;this.stateId=e.data}for(var n=0;nthis.checkCountMax&&(this.checkCount=0,this.run())))},e.prototype.run=function(){for(var e=this.renderer.texture,t=e.managedTextures,n=!1,r=0;rthis.maxIdle&&(e.destroyTexture(i,!0),t[r]=null,n=!0)}if(n){for(var a=0,r=0;r=0;r--)this.unload(e.children[r])},e.prototype.destroy=function(){this.renderer=null},e}();function Ps(e){var t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C;return C=`WebGL2RenderingContext`in globalThis&&e instanceof globalThis.WebGL2RenderingContext?(t={},t[rr.UNSIGNED_BYTE]=(n={},n[tr.RGBA]=e.RGBA8,n[tr.RGB]=e.RGB8,n[tr.RG]=e.RG8,n[tr.RED]=e.R8,n[tr.RGBA_INTEGER]=e.RGBA8UI,n[tr.RGB_INTEGER]=e.RGB8UI,n[tr.RG_INTEGER]=e.RG8UI,n[tr.RED_INTEGER]=e.R8UI,n[tr.ALPHA]=e.ALPHA,n[tr.LUMINANCE]=e.LUMINANCE,n[tr.LUMINANCE_ALPHA]=e.LUMINANCE_ALPHA,n),t[rr.BYTE]=(r={},r[tr.RGBA]=e.RGBA8_SNORM,r[tr.RGB]=e.RGB8_SNORM,r[tr.RG]=e.RG8_SNORM,r[tr.RED]=e.R8_SNORM,r[tr.RGBA_INTEGER]=e.RGBA8I,r[tr.RGB_INTEGER]=e.RGB8I,r[tr.RG_INTEGER]=e.RG8I,r[tr.RED_INTEGER]=e.R8I,r),t[rr.UNSIGNED_SHORT]=(i={},i[tr.RGBA_INTEGER]=e.RGBA16UI,i[tr.RGB_INTEGER]=e.RGB16UI,i[tr.RG_INTEGER]=e.RG16UI,i[tr.RED_INTEGER]=e.R16UI,i[tr.DEPTH_COMPONENT]=e.DEPTH_COMPONENT16,i),t[rr.SHORT]=(a={},a[tr.RGBA_INTEGER]=e.RGBA16I,a[tr.RGB_INTEGER]=e.RGB16I,a[tr.RG_INTEGER]=e.RG16I,a[tr.RED_INTEGER]=e.R16I,a),t[rr.UNSIGNED_INT]=(o={},o[tr.RGBA_INTEGER]=e.RGBA32UI,o[tr.RGB_INTEGER]=e.RGB32UI,o[tr.RG_INTEGER]=e.RG32UI,o[tr.RED_INTEGER]=e.R32UI,o[tr.DEPTH_COMPONENT]=e.DEPTH_COMPONENT24,o),t[rr.INT]=(s={},s[tr.RGBA_INTEGER]=e.RGBA32I,s[tr.RGB_INTEGER]=e.RGB32I,s[tr.RG_INTEGER]=e.RG32I,s[tr.RED_INTEGER]=e.R32I,s),t[rr.FLOAT]=(c={},c[tr.RGBA]=e.RGBA32F,c[tr.RGB]=e.RGB32F,c[tr.RG]=e.RG32F,c[tr.RED]=e.R32F,c[tr.DEPTH_COMPONENT]=e.DEPTH_COMPONENT32F,c),t[rr.HALF_FLOAT]=(l={},l[tr.RGBA]=e.RGBA16F,l[tr.RGB]=e.RGB16F,l[tr.RG]=e.RG16F,l[tr.RED]=e.R16F,l),t[rr.UNSIGNED_SHORT_5_6_5]=(u={},u[tr.RGB]=e.RGB565,u),t[rr.UNSIGNED_SHORT_4_4_4_4]=(d={},d[tr.RGBA]=e.RGBA4,d),t[rr.UNSIGNED_SHORT_5_5_5_1]=(f={},f[tr.RGBA]=e.RGB5_A1,f),t[rr.UNSIGNED_INT_2_10_10_10_REV]=(p={},p[tr.RGBA]=e.RGB10_A2,p[tr.RGBA_INTEGER]=e.RGB10_A2UI,p),t[rr.UNSIGNED_INT_10F_11F_11F_REV]=(m={},m[tr.RGB]=e.R11F_G11F_B10F,m),t[rr.UNSIGNED_INT_5_9_9_9_REV]=(h={},h[tr.RGB]=e.RGB9_E5,h),t[rr.UNSIGNED_INT_24_8]=(g={},g[tr.DEPTH_STENCIL]=e.DEPTH24_STENCIL8,g),t[rr.FLOAT_32_UNSIGNED_INT_24_8_REV]=(_={},_[tr.DEPTH_STENCIL]=e.DEPTH32F_STENCIL8,_),t):(v={},v[rr.UNSIGNED_BYTE]=(y={},y[tr.RGBA]=e.RGBA,y[tr.RGB]=e.RGB,y[tr.ALPHA]=e.ALPHA,y[tr.LUMINANCE]=e.LUMINANCE,y[tr.LUMINANCE_ALPHA]=e.LUMINANCE_ALPHA,y),v[rr.UNSIGNED_SHORT_5_6_5]=(b={},b[tr.RGB]=e.RGB,b),v[rr.UNSIGNED_SHORT_4_4_4_4]=(x={},x[tr.RGBA]=e.RGBA,x),v[rr.UNSIGNED_SHORT_5_5_5_1]=(S={},S[tr.RGBA]=e.RGBA,S),v),C}var Fs=function(){function e(e){this.texture=e,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=rr.UNSIGNED_BYTE,this.internalFormat=tr.RGBA,this.samplerType=0}return e}(),Is=function(){function e(e){this.renderer=e,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new pa,this.hasIntegerTextures=!1}return e.prototype.contextChange=function(){var e=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats=Ps(e);var t=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=t;for(var n=0;n=0;--a){var o=n[a];if(o){var s=o._glTextures[i];s.samplerType!==ir.FLOAT&&this.renderer.texture.unbind(o)}}},e.prototype.initTexture=function(e){var t=new Fs(this.gl.createTexture());return t.dirtyId=-1,e._glTextures[this.CONTEXT_UID]=t,this.managedTextures.push(e),e.on(`dispose`,this.destroyTexture,this),t},e.prototype.initTextureType=function(e,t){var n,r;t.internalFormat=(r=(n=this.internalFormats[e.type])?.[e.format])??e.format,this.webGLVersion===2&&e.type===rr.HALF_FLOAT?t.type=this.gl.HALF_FLOAT:t.type=e.type},e.prototype.updateTexture=function(e){var t=e._glTextures[this.CONTEXT_UID];if(t){var n=this.renderer;if(this.initTextureType(e,t),e.resource&&e.resource.upload(n,e,t))t.samplerType!==ir.FLOAT&&(this.hasIntegerTextures=!0);else{var r=e.realWidth,i=e.realHeight,a=n.gl;(t.width!==r||t.height!==i||t.dirtyId<0)&&(t.width=r,t.height=i,a.texImage2D(e.target,0,t.internalFormat,r,i,0,e.format,t.type,null))}e.dirtyStyleId!==t.dirtyStyleId&&this.updateTextureStyle(e),t.dirtyId=e.dirtyId}},e.prototype.destroyTexture=function(e,t){var n=this.gl;if(e=e.castToBaseTexture(),e._glTextures[this.CONTEXT_UID]&&(this.unbind(e),n.deleteTexture(e._glTextures[this.CONTEXT_UID].texture),e.off(`dispose`,this.destroyTexture,this),delete e._glTextures[this.CONTEXT_UID],!t)){var r=this.managedTextures.indexOf(e);r!==-1&&mi(this.managedTextures,r,1)}},e.prototype.updateTextureStyle=function(e){var t=e._glTextures[this.CONTEXT_UID];t&&((e.mipmap===sr.POW2||this.webGLVersion!==2)&&!e.isPowerOfTwo?t.mipmap=!1:t.mipmap=e.mipmap>=1,this.webGLVersion!==2&&!e.isPowerOfTwo?t.wrapMode=or.CLAMP:t.wrapMode=e.wrapMode,e.resource&&e.resource.style(this.renderer,e,t)||this.setStyle(e,t),t.dirtyStyleId=e.dirtyStyleId)},e.prototype.setStyle=function(e,t){var n=this.gl;if(t.mipmap&&e.mipmap!==sr.ON_MANUAL&&n.generateMipmap(e.target),n.texParameteri(e.target,n.TEXTURE_WRAP_S,t.wrapMode),n.texParameteri(e.target,n.TEXTURE_WRAP_T,t.wrapMode),t.mipmap){n.texParameteri(e.target,n.TEXTURE_MIN_FILTER,e.scaleMode===ar.LINEAR?n.LINEAR_MIPMAP_LINEAR:n.NEAREST_MIPMAP_NEAREST);var r=this.renderer.context.extensions.anisotropicFiltering;if(r&&e.anisotropicLevel>0&&e.scaleMode===ar.LINEAR){var i=Math.min(e.anisotropicLevel,n.getParameter(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT));n.texParameterf(e.target,r.TEXTURE_MAX_ANISOTROPY_EXT,i)}}else n.texParameteri(e.target,n.TEXTURE_MIN_FILTER,e.scaleMode===ar.LINEAR?n.LINEAR:n.NEAREST);n.texParameteri(e.target,n.TEXTURE_MAG_FILTER,e.scaleMode===ar.LINEAR?n.LINEAR:n.NEAREST)},e.prototype.destroy=function(){this.renderer=null},e}(),Ls={__proto__:null,FilterSystem:Ya,BatchSystem:Za,ContextSystem:$a,FramebufferSystem:no,GeometrySystem:io,MaskSystem:$o,ScissorSystem:rs,StencilSystem:os,ProjectionSystem:ss,RenderTextureSystem:us,ShaderSystem:ws,StateSystem:Ms,TextureGCSystem:Ns,TextureSystem:Is},Rs=new qi,zs=function(e){sa(t,e);function t(t,n){t===void 0&&(t=Zn.UNKNOWN);var r=e.call(this)||this;return n=Object.assign({},Rr.RENDER_OPTIONS,n),r.options=n,r.type=t,r.screen=new Vi(0,0,n.width,n.height),r.view=n.view||Rr.ADAPTER.createCanvas(),r.resolution=n.resolution||Rr.RESOLUTION,r.useContextAlpha=n.useContextAlpha,r.autoDensity=!!n.autoDensity,r.preserveDrawingBuffer=n.preserveDrawingBuffer,r.clearBeforeRender=n.clearBeforeRender,r._backgroundColor=0,r._backgroundColorRgba=[0,0,0,1],r._backgroundColorString=`#000000`,r.backgroundColor=n.backgroundColor||r._backgroundColor,r.backgroundAlpha=n.backgroundAlpha,n.transparent!==void 0&&(vi(`6.0.0`,`Option transparent is deprecated, please use backgroundAlpha instead.`),r.useContextAlpha=n.transparent,r.backgroundAlpha=n.transparent?0:1),r._lastObjectRendered=null,r.plugins={},r}return t.prototype.initPlugins=function(e){for(var t in e)this.plugins[t]=new e[t](this)},Object.defineProperty(t.prototype,`width`,{get:function(){return this.view.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`height`,{get:function(){return this.view.height},enumerable:!1,configurable:!0}),t.prototype.resize=function(e,t){this.view.width=Math.round(e*this.resolution),this.view.height=Math.round(t*this.resolution);var n=this.view.width/this.resolution,r=this.view.height/this.resolution;this.screen.width=n,this.screen.height=r,this.autoDensity&&(this.view.style.width=n+`px`,this.view.style.height=r+`px`),this.emit(`resize`,n,r)},t.prototype.generateTexture=function(e,t,n,r){t===void 0&&(t={}),typeof t==`number`&&(vi(`6.1.0`,`generateTexture options (scaleMode, resolution, region) are now object options.`),t={scaleMode:t,resolution:n,region:r});var i=t.region,a=la(t,[`region`]);r=i||e.getLocalBounds(null,!0),r.width===0&&(r.width=1),r.height===0&&(r.height=1);var o=ja.create(ca({width:r.width,height:r.height},a));return Rs.tx=-r.x,Rs.ty=-r.y,this.render(e,{renderTexture:o,clear:!1,transform:Rs,skipUpdateTransform:!!e.parent}),o},t.prototype.destroy=function(e){for(var t in this.plugins)this.plugins[t].destroy(),this.plugins[t]=null;e&&this.view.parentNode&&this.view.parentNode.removeChild(this.view);var n=this;n.plugins=null,n.type=Zn.UNKNOWN,n.view=null,n.screen=null,n._tempDisplayObjectParent=null,n.options=null,this._backgroundColorRgba=null,this._backgroundColorString=null,this._lastObjectRendered=null},Object.defineProperty(t.prototype,`backgroundColor`,{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e,this._backgroundColorString=ai(e),ii(e,this._backgroundColorRgba)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`backgroundAlpha`,{get:function(){return this._backgroundColorRgba[3]},set:function(e){this._backgroundColorRgba[3]=e},enumerable:!1,configurable:!0}),t}(Yr.default),Bs=function(){function e(e){this.buffer=e||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}return e}(),Vs=function(){function e(e){this.renderer=e,this.managedBuffers={},this.boundBufferBases={}}return e.prototype.destroy=function(){this.renderer=null},e.prototype.contextChange=function(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID},e.prototype.bind=function(e){var t=this,n=t.gl,r=t.CONTEXT_UID,i=e._glBuffers[r]||this.createGLBuffer(e);n.bindBuffer(e.type,i.buffer)},e.prototype.bindBufferBase=function(e,t){var n=this,r=n.gl,i=n.CONTEXT_UID;if(this.boundBufferBases[t]!==e){var a=e._glBuffers[i]||this.createGLBuffer(e);this.boundBufferBases[t]=e,r.bindBufferBase(r.UNIFORM_BUFFER,t,a.buffer)}},e.prototype.bindBufferRange=function(e,t,n){var r=this,i=r.gl,a=r.CONTEXT_UID;n||=0;var o=e._glBuffers[a]||this.createGLBuffer(e);i.bindBufferRange(i.UNIFORM_BUFFER,t||0,o.buffer,n*256,256)},e.prototype.update=function(e){var t=this,n=t.gl,r=t.CONTEXT_UID,i=e._glBuffers[r];if(e._updateID!==i.updateID)if(i.updateID=e._updateID,n.bindBuffer(e.type,i.buffer),i.byteLength>=e.data.byteLength)n.bufferSubData(e.type,0,e.data);else{var a=e.static?n.STATIC_DRAW:n.DYNAMIC_DRAW;i.byteLength=e.data.byteLength,n.bufferData(e.type,e.data,a)}},e.prototype.dispose=function(e,t){if(this.managedBuffers[e.id]){delete this.managedBuffers[e.id];var n=e._glBuffers[this.CONTEXT_UID],r=this.gl;e.disposeRunner.remove(this),n&&(t||r.deleteBuffer(n.buffer),delete e._glBuffers[this.CONTEXT_UID])}},e.prototype.disposeAll=function(e){for(var t=Object.keys(this.managedBuffers),n=0;n=mr.HIGH?this.multisample=mr.HIGH:t>=mr.MEDIUM?this.multisample=mr.MEDIUM:t>=mr.LOW?this.multisample=mr.LOW:this.multisample=mr.NONE},t.prototype.addSystem=function(e,t){var n=new e(this);if(this[t])throw Error(`Whoops! The name "`+t+`" is already in use`);for(var r in this[t]=n,this.runners)this.runners[r].add(n);return this},t.prototype.render=function(e,t){var n,r,i,a;if(t&&(t instanceof ja?(vi(`6.0.0`,`Renderer#render arguments changed, use options instead.`),n=t,r=arguments[2],i=arguments[3],a=arguments[4]):(n=t.renderTexture,r=t.clear,i=t.transform,a=t.skipUpdateTransform)),this.renderingToScreen=!n,this.runners.prerender.emit(),this.emit(`prerender`),this.projection.transform=i,!this.context.isLost){if(n||(this._lastObjectRendered=e),!a){var o=e.enableTempParent();e.updateTransform(),e.disableTempParent(o)}this.renderTexture.bind(n),this.batch.currentRenderer.start(),(r===void 0?this.clearBeforeRender:r)&&this.renderTexture.clear(),e.render(this),this.batch.currentRenderer.flush(),n&&n.baseTexture.update(),this.runners.postrender.emit(),this.projection.transform=null,this.emit(`postrender`)}},t.prototype.generateTexture=function(t,n,r,i){n===void 0&&(n={});var a=e.prototype.generateTexture.call(this,t,n,r,i);return this.framebuffer.blit(),a},t.prototype.resize=function(t,n){e.prototype.resize.call(this,t,n),this.runners.resize.emit(this.screen.height,this.screen.width)},t.prototype.reset=function(){return this.runners.reset.emit(),this},t.prototype.clear=function(){this.renderTexture.bind(),this.renderTexture.clear()},t.prototype.destroy=function(t){for(var n in this.runners.destroy.emit(),this.runners)this.runners[n].destroy();e.prototype.destroy.call(this,t),this.gl=null},Object.defineProperty(t.prototype,`extract`,{get:function(){return vi(`6.0.0`,`Renderer#extract has been deprecated, please use Renderer#plugins.extract instead.`),this.plugins.extract},enumerable:!1,configurable:!0}),t.registerPlugin=function(e,t){vi(`6.5.0`,`Renderer.registerPlugin() has been deprecated, please use extensions.add() instead.`),ki.add({name:e,type:Di.RendererPlugin,ref:t})},t.__plugins={},t}(zs);ki.handleByMap(Di.RendererPlugin,Hs.__plugins);function Us(e){return Hs.create(e)}var Ws=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Gs=Ws,Ks=function(){function e(e){vi(`6.1.0`,`System class is deprecated, implemement ISystem interface instead.`),this.renderer=e}return e.prototype.destroy=function(){this.renderer=null},e}(),qs=function(){function e(){this.texArray=null,this.blend=0,this.type=er.TRIANGLES,this.start=0,this.size=0,this.data=null}return e}(),Js=function(){function e(){this.elements=[],this.ids=[],this.count=0}return e.prototype.clear=function(){for(var e=0;ethis.size&&this.flush(),this._vertexCount+=e.vertexData.length/2,this._indexCount+=e.indices.length,this._bufferedTextures[this._bufferSize]=e._texture.baseTexture,this._bufferedElements[this._bufferSize++]=e)},t.prototype.buildTexturesAndDrawCalls=function(){var e=this,n=e._bufferedTextures,r=e.MAX_TEXTURES,i=t._textureArrayPool,a=this.renderer.batch,o=this._tempBoundTextures,s=this.renderer.textureGC.count,c=++pa._globalBatch,l=0,u=i[0],d=0;a.copyBoundTextures(o,r);for(var f=0;f=r&&(a.boundArray(u,o,c,r),this.buildDrawCalls(u,d,f),d=f,u=i[++l],++c),p._batchEnabled=c,p.touched=s,u.elements[u.count++]=p)}u.count>0&&(a.boundArray(u,o,c,r),this.buildDrawCalls(u,d,this._bufferSize),++l,++c);for(var f=0;f0&&(t+=` +else `),nthis.maxX||this.minY>this.maxY},e.prototype.clear=function(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0},e.prototype.getRectangle=function(e){return this.minX>this.maxX||this.minY>this.maxY?Vi.EMPTY:(e||=new Vi(0,0,1,1),e.x=this.minX,e.y=this.minY,e.width=this.maxX-this.minX,e.height=this.maxY-this.minY,e)},e.prototype.addPoint=function(e){this.minX=Math.min(this.minX,e.x),this.maxX=Math.max(this.maxX,e.x),this.minY=Math.min(this.minY,e.y),this.maxY=Math.max(this.maxY,e.y)},e.prototype.addPointMatrix=function(e,t){var n=e.a,r=e.b,i=e.c,a=e.d,o=e.tx,s=e.ty,c=n*t.x+i*t.y+o,l=r*t.x+a*t.y+s;this.minX=Math.min(this.minX,c),this.maxX=Math.max(this.maxX,c),this.minY=Math.min(this.minY,l),this.maxY=Math.max(this.maxY,l)},e.prototype.addQuad=function(e){var t=this.minX,n=this.minY,r=this.maxX,i=this.maxY,a=e[0],o=e[1];t=ar?a:r,i=o>i?o:i,a=e[2],o=e[3],t=ar?a:r,i=o>i?o:i,a=e[4],o=e[5],t=ar?a:r,i=o>i?o:i,a=e[6],o=e[7],t=ar?a:r,i=o>i?o:i,this.minX=t,this.minY=n,this.maxX=r,this.maxY=i},e.prototype.addFrame=function(e,t,n,r,i){this.addFrameMatrix(e.worldTransform,t,n,r,i)},e.prototype.addFrameMatrix=function(e,t,n,r,i){var a=e.a,o=e.b,s=e.c,c=e.d,l=e.tx,u=e.ty,d=this.minX,f=this.minY,p=this.maxX,m=this.maxY,h=a*t+s*n+l,g=o*t+c*n+u;d=hp?h:p,m=g>m?g:m,h=a*r+s*n+l,g=o*r+c*n+u,d=hp?h:p,m=g>m?g:m,h=a*t+s*i+l,g=o*t+c*i+u,d=hp?h:p,m=g>m?g:m,h=a*r+s*i+l,g=o*r+c*i+u,d=hp?h:p,m=g>m?g:m,this.minX=d,this.minY=f,this.maxX=p,this.maxY=m},e.prototype.addVertexData=function(e,t,n){for(var r=this.minX,i=this.minY,a=this.maxX,o=this.maxY,s=t;sa?c:a,o=l>o?l:o}this.minX=r,this.minY=i,this.maxX=a,this.maxY=o},e.prototype.addVertices=function(e,t,n,r){this.addVerticesMatrix(e.worldTransform,t,n,r)},e.prototype.addVerticesMatrix=function(e,t,n,r,i,a){i===void 0&&(i=0),a===void 0&&(a=i);for(var o=e.a,s=e.b,c=e.c,l=e.d,u=e.tx,d=e.ty,f=this.minX,p=this.minY,m=this.maxX,h=this.maxY,g=n;gr?e.maxX:r,this.maxY=e.maxY>i?e.maxY:i},e.prototype.addBoundsMask=function(e,t){var n=e.minX>t.minX?e.minX:t.minX,r=e.minY>t.minY?e.minY:t.minY,i=e.maxXc?i:c,this.maxY=a>l?a:l}},e.prototype.addBoundsMatrix=function(e,t){this.addFrameMatrix(t,e.minX,e.minY,e.maxX,e.maxY)},e.prototype.addBoundsArea=function(e,t){var n=e.minX>t.x?e.minX:t.x,r=e.minY>t.y?e.minY:t.y,i=e.maxXc?i:c,this.maxY=a>l?a:l}},e.prototype.pad=function(e,t){e===void 0&&(e=0),t===void 0&&(t=e),this.isEmpty()||(this.minX-=e,this.maxX+=e,this.minY-=t,this.maxY+=t)},e.prototype.addFramePad=function(e,t,n,r,i,a){e-=i,t-=a,n+=i,r+=a,this.minX=this.minXn?this.maxX:n,this.minY=this.minYr?this.maxY:r},e}(),lc=function(e,t){return lc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},lc(e,t)};function uc(e,t){lc(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var dc=function(e){uc(t,e);function t(){var t=e.call(this)||this;return t.tempDisplayObjectParent=null,t.transform=new ra,t.alpha=1,t.visible=!0,t.renderable=!0,t.cullable=!1,t.cullArea=null,t.parent=null,t.worldAlpha=1,t._lastSortedIndex=0,t._zIndex=0,t.filterArea=null,t.filters=null,t._enabledFilters=null,t._bounds=new cc,t._localBounds=null,t._boundsID=0,t._boundsRect=null,t._localBoundsRect=null,t._mask=null,t._maskRefCount=0,t._destroyed=!1,t.isSprite=!1,t.isMask=!1,t}return t.mixin=function(e){for(var n=Object.keys(e),r=0;r1)for(var r=0;rthis.children.length)throw Error(e+`addChildAt: The index `+t+` supplied is out of bounds `+this.children.length);return e.parent&&e.parent.removeChild(e),e.parent=this,this.sortDirty=!0,e.transform._parentID=-1,this.children.splice(t,0,e),this._boundsID++,this.onChildrenChange(t),e.emit(`added`,this),this.emit(`childAdded`,e,this,t),e},t.prototype.swapChildren=function(e,t){if(e!==t){var n=this.getChildIndex(e),r=this.getChildIndex(t);this.children[n]=t,this.children[r]=e,this.onChildrenChange(n=this.children.length)throw Error(`The index `+t+` supplied is out of bounds `+this.children.length);var n=this.getChildIndex(e);mi(this.children,n,1),this.children.splice(t,0,e),this.onChildrenChange(t)},t.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw Error(`getChildAt: Index (`+e+`) does not exist.`);return this.children[e]},t.prototype.removeChild=function(){for(var e=arguments,t=[],n=0;n1)for(var r=0;r0&&i<=r){a=this.children.splice(n,i);for(var o=0;o1&&this.children.sort(pc),this.sortDirty=!1},t.prototype.updateTransform=function(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(var e=0,t=this.children.length;e0&&n.height>0){var r,i;if(this.cullArea?(r=this.cullArea,i=this.worldTransform):this._render!==t.prototype._render&&(r=this.getBounds(!0)),r&&n.intersects(r,i))this._render(e);else if(this.cullArea)return;for(var a=0,o=this.children.length;anew Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),yc=class e{constructor(){this._breathParameters=[],this._currentTime=0}static create(){return new e}setParameters(e){this._breathParameters=e}getParameters(){return this._breathParameters}updateParameters(e,t){this._currentTime+=t;let n=this._currentTime*2*3.14159;for(let t=0;t=1&&(r=1,this._blinkingState=Cc.EyeState_Closed,this._stateStartTimeSeconds=this._userTimeSeconds),n=1-r;break;case Cc.EyeState_Closed:r=(this._userTimeSeconds-this._stateStartTimeSeconds)/this._closedSeconds,r>=1&&(this._blinkingState=Cc.EyeState_Opening,this._stateStartTimeSeconds=this._userTimeSeconds),n=0;break;case Cc.EyeState_Opening:r=(this._userTimeSeconds-this._stateStartTimeSeconds)/this._openingSeconds,r>=1&&(r=1,this._blinkingState=Cc.EyeState_Interval,this._nextBlinkingTime=this.determinNextBlinkingTiming()),n=r;break;case Cc.EyeState_Interval:this._nextBlinkingTime(e[e.EyeState_First=0]=`EyeState_First`,e[e.EyeState_Interval=1]=`EyeState_Interval`,e[e.EyeState_Closing=2]=`EyeState_Closing`,e[e.EyeState_Closed=3]=`EyeState_Closed`,e[e.EyeState_Opening=4]=`EyeState_Opening`,e))(Cc||{});const wc=.001,Tc=.5;var Ec=class e{static create(t){let n=new e;typeof t.FadeInTime==`number`&&(n._fadeTimeSeconds=t.FadeInTime,n._fadeTimeSeconds<=0&&(n._fadeTimeSeconds=Tc));let r=t.Groups,i=r.length;for(let e=0;ewc){if(i>=0)break;i=o,a=e.getPartOpacityByIndex(n),a+=t/this._fadeTimeSeconds,a>1&&(a=1)}}i<0&&(i=0,a=1);for(let t=n;ts&&(r=1-s/(1-a)),t>r&&(t=r),e.setPartOpacityByIndex(n,t)}}}constructor(){this._fadeTimeSeconds=Tc,this._lastModel=void 0,this._partGroups=[],this._partGroupCounts=[]}},Dc=class e{constructor(e){this.parameterIndex=0,this.partIndex=0,this.partId=``,this.link=[],e!=null&&this.assignment(e)}assignment(e){return this.partId=e.partId,this.link=e.link.map(e=>e.clone()),this}initialize(e){this.parameterIndex=e.getParameterIndex(this.partId),this.partIndex=e.getPartIndex(this.partId),e.setParameterValueByIndex(this.parameterIndex,1)}clone(){let t=new e;return t.partId=this.partId,t.parameterIndex=this.parameterIndex,t.partIndex=this.partIndex,t.link=this.link.map(e=>e.clone()),t}},Oc=class e{constructor(e,t){this.x=e||0,this.y=t||0}add(t){let n=new e(0,0);return n.x=this.x+t.x,n.y=this.y+t.y,n}substract(t){let n=new e(0,0);return n.x=this.x-t.x,n.y=this.y-t.y,n}multiply(t){let n=new e(0,0);return n.x=this.x*t.x,n.y=this.y*t.y,n}multiplyByScaler(t){return this.multiply(new e(t,t))}division(t){let n=new e(0,0);return n.x=this.x/t.x,n.y=this.y/t.y,n}divisionByScalar(t){return this.division(new e(t,t))}getLength(){return Math.sqrt(this.x*this.x+this.y*this.y)}getDistanceWith(e){return Math.sqrt((this.x-e.x)*(this.x-e.x)+(this.y-e.y)*(this.y-e.y))}dot(e){return this.x*e.x+this.y*e.y}normalize(){let e=(this.x*this.x+this.y*this.y)**.5;this.x/=e,this.y/=e}isEqual(e){return this.x==e.x&&this.y==e.y}isNotEqual(e){return!this.isEqual(e)}};const kc=class{static range(e,t,n){return en&&(e=n),e}static sin(e){return Math.sin(e)}static cos(e){return Math.cos(e)}static abs(e){return Math.abs(e)}static sqrt(e){return Math.sqrt(e)}static cbrt(e){if(e===0)return e;let t=e,n=t<0;n&&(t=-t);let r;return t===1/0?r=1/0:(r=Math.exp(Math.log(t)/3),r=(t/(r*r)+2*r)/3),n?-r:r}static getEasingSine(e){return e<0?0:e>1?1:.5-.5*this.cos(e*Math.PI)}static max(e,t){return e>t?e:t}static min(e,t){return e>t?t:e}static degreesToRadian(e){return e/180*Math.PI}static radianToDegrees(e){return e*180/Math.PI}static directionToRadian(e,t){let n=Math.atan2(t.y,t.x),r=Math.atan2(e.y,e.x),i=n-r;for(;i<-Math.PI;)i+=Math.PI*2;for(;i>Math.PI;)i-=Math.PI*2;return i}static directionToDegrees(e,t){let n=this.directionToRadian(e,t),r=this.radianToDegrees(n);return t.x-e.x>0&&(r=-r),r}static radianToDirection(e){let t=new Oc;return t.x=this.sin(e),t.y=this.cos(e),t}static quadraticEquation(e,t,n){return this.abs(e)1&&(e=1),t<0?t=0:t>1&&(t=1),n<0?n=0:n>1&&(n=1),r<0?r=0:r>1&&(r=1),this._modelColor.R=e,this._modelColor.G=t,this._modelColor.B=n,this._modelColor.A=r}getModelColor(){return Object.assign({},this._modelColor)}setIsPremultipliedAlpha(e){this._isPremultipliedAlpha=e}isPremultipliedAlpha(){return this._isPremultipliedAlpha}setIsCulling(e){this._isCulling=e}isCulling(){return this._isCulling}setAnisotropy(e){this._anisortopy=e}getAnisotropy(){return this._anisortopy}getModel(){return this._model}constructor(){this._isCulling=!1,this._isPremultipliedAlpha=!1,this._anisortopy=0,this._modelColor=new Pc,this._mvpMatrix4x4=new jc,this._mvpMatrix4x4.loadIdentity()}},Nc=(e=>(e[e.CubismBlendMode_Normal=0]=`CubismBlendMode_Normal`,e[e.CubismBlendMode_Additive=1]=`CubismBlendMode_Additive`,e[e.CubismBlendMode_Multiplicative=2]=`CubismBlendMode_Multiplicative`,e))(Nc||{}),Pc=class{constructor(){this.R=1,this.G=1,this.B=1,this.A=1}};let Fc=!1,Ic=!1,Lc;const Rc={vertexOffset:0,vertexStep:2};var zc=class{static startUp(e){if(Fc)return Uc(`CubismFramework.startUp() is already done.`),Fc;if(Live2DCubismCore._isStarted)return Fc=!0,!0;if(Live2DCubismCore._isStarted=!0,Lc=e,Lc&&Live2DCubismCore.Logging.csmSetLogFunction(Lc.logFunction),Fc=!0,Fc){let e=Live2DCubismCore.Version.csmGetVersion(),t=(e&4278190080)>>24,n=(e&16711680)>>16,r=e&65535,i=e;Uc(`Live2D Cubism Core version: {0}.{1}.{2} ({3})`,(`00`+t).slice(-2),(`00`+n).slice(-2),(`0000`+r).slice(-4),i)}return Uc(`CubismFramework.startUp() is complete.`),Fc}static cleanUp(){Fc=!1,Ic=!1,Lc=void 0}static initialize(){if(!Fc){Wc(`CubismFramework is not started.`);return}if(Ic){Wc(`CubismFramework.initialize() skipped, already initialized.`);return}Ic=!0,Uc(`CubismFramework.initialize() is complete.`)}static dispose(){if(!Fc){Wc(`CubismFramework is not started.`);return}if(!Ic){Wc(`CubismFramework.dispose() skipped, not initialized.`);return}Mc.staticRelease(),Ic=!1,Uc(`CubismFramework.dispose() is complete.`)}static isStarted(){return Fc}static isInitialized(){return Ic}static coreLogFunction(e){Live2DCubismCore.Logging.csmGetLogFunction()&&Live2DCubismCore.Logging.csmGetLogFunction()(e)}static getLoggingLevel(){return Lc==null?Bc.LogLevel_Off:Lc.loggingLevel}constructor(){}},Bc=(e=>(e[e.LogLevel_Verbose=0]=`LogLevel_Verbose`,e[e.LogLevel_Debug=1]=`LogLevel_Debug`,e[e.LogLevel_Info=2]=`LogLevel_Info`,e[e.LogLevel_Warning=3]=`LogLevel_Warning`,e[e.LogLevel_Error=4]=`LogLevel_Error`,e[e.LogLevel_Off=5]=`LogLevel_Off`,e))(Bc||{});const Vc=()=>{};function Hc(e,...t){Kc.print(Bc.LogLevel_Debug,`[CSM][D]`+e+` +`,t)}function Uc(e,...t){Kc.print(Bc.LogLevel_Info,`[CSM][I]`+e+` +`,t)}function Wc(e,...t){Kc.print(Bc.LogLevel_Warning,`[CSM][W]`+e+` +`,t)}function Gc(e,...t){Kc.print(Bc.LogLevel_Error,`[CSM][E]`+e+` +`,t)}var Kc=class{static print(e,t,n){if(en[t]);r(i)}static dumpBytes(e,t,n){for(let r=0;r0?this.print(e,` +`):r%8==0&&r>0&&this.print(e,` `),this.print(e,`{0} `,[t[r]&255]);this.print(e,` +`)}constructor(){}},qc=class{update(){this._model.update(),this._model.drawables.resetDynamicFlags()}getCanvasWidth(){return this._model==null?0:this._model.canvasinfo.CanvasWidth/this._model.canvasinfo.PixelsPerUnit}getCanvasHeight(){return this._model==null?0:this._model.canvasinfo.CanvasHeight/this._model.canvasinfo.PixelsPerUnit}saveParameters(){let e=this._model.parameters.count,t=this._savedParameters.length;for(let n=0;nt&&(t=this._model.parameters.minimumValues[e]),this._parameterValues[e]=n==1?t:this._parameterValues[e]=this._parameterValues[e]*(1-n)+t*n}setParameterValueById(e,t,n=1){let r=this.getParameterIndex(e);this.setParameterValueByIndex(r,t,n)}addParameterValueByIndex(e,t,n=1){this.setParameterValueByIndex(e,this.getParameterValueByIndex(e)+t*n)}addParameterValueById(e,t,n=1){let r=this.getParameterIndex(e);this.addParameterValueByIndex(r,t,n)}multiplyParameterValueById(e,t,n=1){let r=this.getParameterIndex(e);this.multiplyParameterValueByIndex(r,t,n)}multiplyParameterValueByIndex(e,t,n=1){this.setParameterValueByIndex(e,this.getParameterValueByIndex(e)*(1+(t-1)*n))}getDrawableIds(){return this._drawableIds.slice()}getDrawableIndex(e){let t=this._model.drawables.count;for(let n=0;nt&&(e=t);for(let t=0;t0&&t.getEndTime()(e[e.ExpressionBlendType_Add=0]=`ExpressionBlendType_Add`,e[e.ExpressionBlendType_Multiply=1]=`ExpressionBlendType_Multiply`,e[e.ExpressionBlendType_Overwrite=2]=`ExpressionBlendType_Overwrite`,e))(Qc||{}),$c;(e=>{e.supportMoreMaskDivisions=!0,e.setOpacityFromMotion=!1})($c||={});var el=(e=>(e[e.CubismMotionCurveTarget_Model=0]=`CubismMotionCurveTarget_Model`,e[e.CubismMotionCurveTarget_Parameter=1]=`CubismMotionCurveTarget_Parameter`,e[e.CubismMotionCurveTarget_PartOpacity=2]=`CubismMotionCurveTarget_PartOpacity`,e))(el||{}),tl=(e=>(e[e.CubismMotionSegmentType_Linear=0]=`CubismMotionSegmentType_Linear`,e[e.CubismMotionSegmentType_Bezier=1]=`CubismMotionSegmentType_Bezier`,e[e.CubismMotionSegmentType_Stepped=2]=`CubismMotionSegmentType_Stepped`,e[e.CubismMotionSegmentType_InverseStepped=3]=`CubismMotionSegmentType_InverseStepped`,e))(tl||{}),nl=class{constructor(e=0,t=0){this.time=e,this.value=t}},rl=class{constructor(){this.basePointIndex=0,this.segmentType=0}},il=class{constructor(){this.id=``,this.type=0,this.segmentCount=0,this.baseSegmentIndex=0,this.fadeInTime=0,this.fadeOutTime=0}},al=class{constructor(){this.fireTime=0,this.value=``}},ol=class{constructor(){this.duration=0,this.loop=!1,this.curveCount=0,this.eventCount=0,this.fps=0,this.curves=[],this.segments=[],this.points=[],this.events=[]}},sl=class{constructor(e){this._json=e}release(){this._json=void 0}getMotionDuration(){return this._json.Meta.Duration}isMotionLoop(){return this._json.Meta.Loop||!1}getEvaluationOptionFlag(e){return cl.EvaluationOptionFlag_AreBeziersRistricted==e?!!this._json.Meta.AreBeziersRestricted:!1}getMotionCurveCount(){return this._json.Meta.CurveCount}getMotionFps(){return this._json.Meta.Fps}getMotionTotalSegmentCount(){return this._json.Meta.TotalSegmentCount}getMotionTotalPointCount(){return this._json.Meta.TotalPointCount}getMotionFadeInTime(){return this._json.Meta.FadeInTime}getMotionFadeOutTime(){return this._json.Meta.FadeOutTime}getMotionCurveTarget(e){return this._json.Curves[e].Target}getMotionCurveId(e){return this._json.Curves[e].Id}getMotionCurveFadeInTime(e){return this._json.Curves[e].FadeInTime}getMotionCurveFadeOutTime(e){return this._json.Curves[e].FadeOutTime}getMotionCurveSegmentCount(e){return this._json.Curves[e].Segments.length}getMotionCurveSegment(e,t){return this._json.Curves[e].Segments[t]}getEventCount(){return this._json.Meta.UserDataCount||0}getTotalEventValueSize(){return this._json.Meta.TotalUserDataSize}getEventTime(e){return this._json.UserData[e].Time}getEventValue(e){return this._json.UserData[e].Value}},cl=(e=>(e[e.EvaluationOptionFlag_AreBeziersRistricted=0]=`EvaluationOptionFlag_AreBeziersRistricted`,e))(cl||{});const ll=`EyeBlink`,ul=`LipSync`,dl=`Model`,fl=`Parameter`,pl=`PartOpacity`,ml=!1;function hl(e,t,n){let r=new nl;return r.time=e.time+(t.time-e.time)*n,r.value=e.value+(t.value-e.value)*n,r}function gl(e,t){let n=(t-e[0].time)/(e[1].time-e[0].time);return n<0&&(n=0),e[0].value+(e[1].value-e[0].value)*n}function _l(e,t){let n=(t-e[0].time)/(e[3].time-e[0].time);n<0&&(n=0);let r=hl(e[0],e[1],n),i=hl(e[1],e[2],n),a=hl(e[2],e[3],n),o=hl(r,i,n),s=hl(i,a,n);return hl(o,s,n).value}function vl(e,t){let n=t,r=e[0].time,i=e[3].time,a=e[1].time,o=e[2].time,s=i-3*o+3*a-r,c=3*o-6*a+3*r,l=3*a-3*r,u=r-n,d=Ac.cardanoAlgorithmForBezier(s,c,l,u),f=hl(e[0],e[1],d),p=hl(e[1],e[2],d),m=hl(e[2],e[3],d),h=hl(f,p,d),g=hl(p,m,d);return hl(h,g,d).value}function yl(e,t){return e[0].value}function bl(e,t){return e[1].value}function xl(e,t,n){let r=e.curves[t],i=-1,a=r.baseSegmentIndex+r.segmentCount,o=0;for(let t=r.baseSegmentIndex;tn){i=t;break}if(i==-1)return e.points[o].value;let s=e.segments[i];return s.evaluate(e.points.slice(s.basePointIndex),n)}var Sl=class e extends Yc{constructor(){super(),this._eyeBlinkParameterIds=[],this._lipSyncParameterIds=[],this._sourceFrameRate=30,this._loopDurationSeconds=-1,this._isLoop=!1,this._isLoopFadeIn=!0,this._lastWeight=0}static create(t,n){let r=new e;return r.parse(t),r._sourceFrameRate=r._motionData.fps,r._loopDurationSeconds=r._motionData.duration,r._onFinishedMotion=n,r}doUpdateParameters(e,t,n,r){this._modelCurveIdEyeBlink??=ll,this._modelCurveIdLipSync??=ul;let i=t-r.getStartTime();i<0&&(i=0);let a=Number.MAX_VALUE,o=Number.MAX_VALUE,s=64,c=0,l=0;this._eyeBlinkParameterIds.length>s&&Hc(`too many eye blink targets : {0}`,this._eyeBlinkParameterIds.length),this._lipSyncParameterIds.length>s&&Hc(`too many lip sync targets : {0}`,this._lipSyncParameterIds.length);let u=this._fadeInSeconds<=0?1:Ac.getEasingSine((t-r.getFadeInStartTime())/this._fadeInSeconds),d=this._fadeOutSeconds<=0||r.getEndTime()<0?1:Ac.getEasingSine((r.getEndTime()-t)/this._fadeOutSeconds),f,p,m,h=i;if(this._isLoop)for(;h>this._motionData.duration;)h-=this._motionData.duration;let g=this._motionData.curves;for(p=0;p>t&1)continue;let i=r+(o-r)*n;e.setParameterValueById(this._eyeBlinkParameterIds[t],i)}if(a!=Number.MAX_VALUE)for(let t=0;t>t&1)continue;let i=r+(a-r)*n;e.setParameterValueById(this._lipSyncParameterIds[t],i)}for(;p=this._motionData.duration&&(this._isLoop?(r.setStartTime(t),this._isLoopFadeIn&&r.setFadeInStartTime(t)):(this._onFinishedMotion&&this._onFinishedMotion(this),r.setIsFinished(!0))),this._lastWeight=n}setIsLoop(e){this._isLoop=e}isLoop(){return this._isLoop}setIsLoopFadeIn(e){this._isLoopFadeIn=e}isLoopFadeIn(){return this._isLoopFadeIn}getDuration(){return this._isLoop?-1:this._loopDurationSeconds}getLoopDuration(){return this._loopDurationSeconds}setParameterFadeInTime(e,t){let n=this._motionData.curves;for(let r=0;rnew il),this._motionData.segments=Array.from({length:t.getMotionTotalSegmentCount()}).map(()=>new rl),this._motionData.events=Array.from({length:this._motionData.eventCount}).map(()=>new al),this._motionData.points=[];let a=0,o=0;for(let e=0;ee&&this._motionData.events[n].fireTime<=t&&this._firedEventValues.push(this._motionData.events[n].value);return this._firedEventValues}},Cl=class{constructor(){this._autoDelete=!1,this._available=!0,this._finished=!1,this._started=!1,this._startTimeSeconds=-1,this._fadeInStartTimeSeconds=0,this._endTimeSeconds=-1,this._stateTimeSeconds=0,this._stateWeight=0,this._lastEventCheckSeconds=0,this._motionQueueEntryHandle=this,this._fadeOutSeconds=0,this._isTriggeredFadeOut=!1}release(){this._autoDelete&&this._motion&&this._motion.release()}setFadeOut(e){this._fadeOutSeconds=e,this._isTriggeredFadeOut=!0}startFadeOut(e,t){let n=t+e;this._isTriggeredFadeOut=!0,(this._endTimeSeconds<0||nt!=null&&t._motionQueueEntryHandle==e)}setEventCallback(e,t=null){this._eventCallBack=e,this._eventCustomData=t}doUpdateMotion(e,t){let n=!1,r=0;for(;r(e[e.CubismPhysicsTargetType_Parameter=0]=`CubismPhysicsTargetType_Parameter`,e))(El||{}),Dl=(e=>(e[e.CubismPhysicsSource_X=0]=`CubismPhysicsSource_X`,e[e.CubismPhysicsSource_Y=1]=`CubismPhysicsSource_Y`,e[e.CubismPhysicsSource_Angle=2]=`CubismPhysicsSource_Angle`,e))(Dl||{}),Ol=class{constructor(){this.initialPosition=new Oc(0,0),this.position=new Oc(0,0),this.lastPosition=new Oc(0,0),this.lastGravity=new Oc(0,0),this.force=new Oc(0,0),this.velocity=new Oc(0,0)}},kl=class{constructor(){this.normalizationPosition={},this.normalizationAngle={}}},Al=class{constructor(){this.source={}}},jl=class{constructor(){this.destination={},this.translationScale=new Oc(0,0)}},Ml=class{constructor(){this.settings=[],this.inputs=[],this.outputs=[],this.particles=[],this.gravity=new Oc(0,0),this.wind=new Oc(0,0)}},Nl=class{constructor(e){this._json=e}release(){this._json=void 0}getGravity(){let e=new Oc(0,0);return e.x=this._json.Meta.EffectiveForces.Gravity.X,e.y=this._json.Meta.EffectiveForces.Gravity.Y,e}getWind(){let e=new Oc(0,0);return e.x=this._json.Meta.EffectiveForces.Wind.X,e.y=this._json.Meta.EffectiveForces.Wind.Y,e}getSubRigCount(){return this._json.Meta.PhysicsSettingCount}getTotalInputCount(){return this._json.Meta.TotalInputCount}getTotalOutputCount(){return this._json.Meta.TotalOutputCount}getVertexCount(){return this._json.Meta.VertexCount}getNormalizationPositionMinimumValue(e){return this._json.PhysicsSettings[e].Normalization.Position.Minimum}getNormalizationPositionMaximumValue(e){return this._json.PhysicsSettings[e].Normalization.Position.Maximum}getNormalizationPositionDefaultValue(e){return this._json.PhysicsSettings[e].Normalization.Position.Default}getNormalizationAngleMinimumValue(e){return this._json.PhysicsSettings[e].Normalization.Angle.Minimum}getNormalizationAngleMaximumValue(e){return this._json.PhysicsSettings[e].Normalization.Angle.Maximum}getNormalizationAngleDefaultValue(e){return this._json.PhysicsSettings[e].Normalization.Angle.Default}getInputCount(e){return this._json.PhysicsSettings[e].Input.length}getInputWeight(e,t){return this._json.PhysicsSettings[e].Input[t].Weight}getInputReflect(e,t){return this._json.PhysicsSettings[e].Input[t].Reflect}getInputType(e,t){return this._json.PhysicsSettings[e].Input[t].Type}getInputSourceId(e,t){return this._json.PhysicsSettings[e].Input[t].Source.Id}getOutputCount(e){return this._json.PhysicsSettings[e].Output.length}getOutputVertexIndex(e,t){return this._json.PhysicsSettings[e].Output[t].VertexIndex}getOutputAngleScale(e,t){return this._json.PhysicsSettings[e].Output[t].Scale}getOutputWeight(e,t){return this._json.PhysicsSettings[e].Output[t].Weight}getOutputDestinationId(e,t){return this._json.PhysicsSettings[e].Output[t].Destination.Id}getOutputType(e,t){return this._json.PhysicsSettings[e].Output[t].Type}getOutputReflect(e,t){return this._json.PhysicsSettings[e].Output[t].Reflect}getParticleCount(e){return this._json.PhysicsSettings[e].Vertices.length}getParticleMobility(e,t){return this._json.PhysicsSettings[e].Vertices[t].Mobility}getParticleDelay(e,t){return this._json.PhysicsSettings[e].Vertices[t].Delay}getParticleAcceleration(e,t){return this._json.PhysicsSettings[e].Vertices[t].Acceleration}getParticleRadius(e,t){return this._json.PhysicsSettings[e].Vertices[t].Radius}getParticlePosition(e,t){let n=new Oc(0,0);return n.x=this._json.PhysicsSettings[e].Vertices[t].Position.X,n.y=this._json.PhysicsSettings[e].Vertices[t].Position.Y,n}};const Pl=`X`,Fl=`Y`,Il=`Angle`,Ll=5,Rl=100,zl=.001;var Bl=class e{static create(t){let n=new e;return n.parse(t),n._physicsRig.gravity.y=0,n}evaluate(e,t){let n,r,i,a,o=new Oc,s,c,l,u,d,f,p,m;d=e.getModel().parameters.values,f=e.getModel().parameters.maximumValues,p=e.getModel().parameters.minimumValues,m=e.getModel().parameters.defaultValues;for(let h=0;h=s.particleCount)break;l[t].destinationParameterIndex==-1&&(l[t].destinationParameterIndex=e.getParameterIndex(l[t].destination.id));let r=new Oc;r.x=u[n].position.x-u[n-1].position.x,r.y=u[n].position.y-u[n-1].position.y,a=l[t].getValue(r,u,n,l[t].reflect,this._options.gravity);let i=l[t].destinationParameterIndex,o=!Float32Array.prototype.slice&&`subarray`in Float32Array.prototype?JSON.parse(JSON.stringify(d.subarray(i))):d.slice(i);eu(o,p[i],f[i],a,l[t]);for(let e=i,t=0;e=2?t[n-1].position.substract(t[n-2].position):i.multiplyByScaler(-1),a=Ac.directionToRadian(i,e),r&&(a*=-1),a}function Jl(e,t){return Math.abs(Math.max(e,t)-Math.min(e,t))}function Yl(e,t){let n=Math.min(e,t);return n+Jl(e,t)/2}function Xl(e,t){return e.x}function Zl(e,t){return e.y}function Ql(e,t){return t}function $l(e,t,n,r,i,a,o,s){let c,l,u,d,f=new Oc(0,0),p=new Oc(0,0),m=new Oc(0,0),h=new Oc(0,0);e[0].position=new Oc(n.x,n.y),c=Ac.degreesToRadian(r),d=Ac.radianToDirection(c),d.normalize();for(let n=1;nn&&(o>i.valueExceededMaximum&&(i.valueExceededMaximum=o),o=n),s=i.weight/Rl,s>=1||(o=e[0]*(1-s)+o*s),e[0]=o}function tu(e,t,n,r,i,a,o,s){let c=0,l=Ac.max(n,t);le&&(e=u);let d=Ac.min(i,a),f=Ac.max(i,a),p=o,m=Yl(u,l),h=e-m;switch(Math.sign(h)){case 1:{let e=f-p,t=l-m;t!=0&&(c=h*(e/t),c+=p);break}case-1:{let e=d-p,t=u-m;t!=0&&(c=h*(e/t),c+=p);break}case 0:c=p;break}return s?c:c*-1}var nu=class{constructor(e=0,t=0,n=0,r=0){this.x=e,this.y=t,this.width=n,this.height=r}getCenterX(){return this.x+.5*this.width}getCenterY(){return this.y+.5*this.height}getRight(){return this.x+this.width}getBottom(){return this.y+this.height}setRect(e){this.x=e.x,this.y=e.y,this.width=e.width,this.height=e.height}expand(e,t){this.x-=e,this.y-=t,this.width+=e*2,this.height+=t*2}};const ru=4,iu=10;let au,ou,su;var cu=class{getChannelFlagAsColor(e){return this._channelColors[e]}getMaskRenderTexture(){let e=0;if(this._maskTexture&&this._maskTexture.texture!=0&&(this._maskTexture.frameNo=this._currentFrameNo,e=this._maskTexture.texture),e==0){let t=this._clippingMaskBufferSize;this._colorBuffer=this.gl.createTexture(),this.gl.bindTexture(this.gl.TEXTURE_2D,this._colorBuffer),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,t,t,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,null),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindTexture(this.gl.TEXTURE_2D,null),e=this.gl.createFramebuffer(),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,e),this.gl.framebufferTexture2D(this.gl.FRAMEBUFFER,this.gl.COLOR_ATTACHMENT0,this.gl.TEXTURE_2D,this._colorBuffer,0),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,su),this._maskTexture=new lu(this._currentFrameNo,e)}return e}setGL(e){this.gl=e}calcClippedDrawTotalBounds(e,t){let n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=Number.MIN_VALUE,a=Number.MIN_VALUE,o=t._clippedDrawableIndexList.length;for(let s=0;sf&&(f=t),np&&(p=n)}if(u!=Number.MAX_VALUE)if(ui&&(i=f),p>a&&(a=p),n==Number.MAX_VALUE)t._allClippedDrawRect.x=0,t._allClippedDrawRect.y=0,t._allClippedDrawRect.width=0,t._allClippedDrawRect.height=0,t._isUsing=!1;else{t._isUsing=!0;let e=i-n,o=a-r;t._allClippedDrawRect.x=n,t._allClippedDrawRect.y=r,t._allClippedDrawRect.width=e,t._allClippedDrawRect.height=o}}}constructor(){this._maskRenderTexture=null,this._colorBuffer=null,this._currentFrameNo=0,this._clippingMaskBufferSize=256,this._clippingContextListForMask=[],this._clippingContextListForDraw=[],this._channelColors=[],this._tmpBoundsOnModel=new nu,this._tmpMatrix=new jc,this._tmpMatrixForMask=new jc,this._tmpMatrixForDraw=new jc;let e=new Pc;e.R=1,e.G=0,e.B=0,e.A=0,this._channelColors.push(e),e=new Pc,e.R=0,e.G=1,e.B=0,e.A=0,this._channelColors.push(e),e=new Pc,e.R=0,e.G=0,e.B=1,e.A=0,this._channelColors.push(e),e=new Pc,e.R=0,e.G=0,e.B=0,e.A=1,this._channelColors.push(e)}release(){var e,t,n;let r=this;for(let t=0;t0){this.gl.viewport(0,0,this._clippingMaskBufferSize,this._clippingMaskBufferSize),this._maskRenderTexture=this.getMaskRenderTexture(),t.getMvpMatrix(),t.preDraw(),this.setupLayoutBounds(n),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,this._maskRenderTexture),this.gl.clearColor(1,1,1,1),this.gl.clear(this.gl.COLOR_BUFFER_BIT);for(let n=0;n(e[e.ShaderNames_SetupMask=0]=`ShaderNames_SetupMask`,e[e.ShaderNames_NormalPremultipliedAlpha=1]=`ShaderNames_NormalPremultipliedAlpha`,e[e.ShaderNames_NormalMaskedPremultipliedAlpha=2]=`ShaderNames_NormalMaskedPremultipliedAlpha`,e[e.ShaderNames_NomralMaskedInvertedPremultipliedAlpha=3]=`ShaderNames_NomralMaskedInvertedPremultipliedAlpha`,e[e.ShaderNames_AddPremultipliedAlpha=4]=`ShaderNames_AddPremultipliedAlpha`,e[e.ShaderNames_AddMaskedPremultipliedAlpha=5]=`ShaderNames_AddMaskedPremultipliedAlpha`,e[e.ShaderNames_AddMaskedPremultipliedAlphaInverted=6]=`ShaderNames_AddMaskedPremultipliedAlphaInverted`,e[e.ShaderNames_MultPremultipliedAlpha=7]=`ShaderNames_MultPremultipliedAlpha`,e[e.ShaderNames_MultMaskedPremultipliedAlpha=8]=`ShaderNames_MultMaskedPremultipliedAlpha`,e[e.ShaderNames_MultMaskedPremultipliedAlphaInverted=9]=`ShaderNames_MultMaskedPremultipliedAlphaInverted`,e))(fu||{});const pu=`attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_myPos;uniform mat4 u_clipMatrix;void main(){ gl_Position = u_clipMatrix * a_position; v_myPos = u_clipMatrix * a_position; v_texCoord = a_texCoord; v_texCoord.y = 1.0 - v_texCoord.y;}`,mu=`precision mediump float;varying vec2 v_texCoord;varying vec4 v_myPos;uniform vec4 u_baseColor;uniform vec4 u_channelFlag;uniform sampler2D s_texture0;void main(){ float isInside = step(u_baseColor.x, v_myPos.x/v_myPos.w) * step(u_baseColor.y, v_myPos.y/v_myPos.w) * step(v_myPos.x/v_myPos.w, u_baseColor.z) * step(v_myPos.y/v_myPos.w, u_baseColor.w); gl_FragColor = u_channelFlag * texture2D(s_texture0, v_texCoord).a * isInside;}`,hu=`attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;uniform mat4 u_matrix;void main(){ gl_Position = u_matrix * a_position; v_texCoord = a_texCoord; v_texCoord.y = 1.0 - v_texCoord.y;}`,gu=`attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_clipPos;uniform mat4 u_matrix;uniform mat4 u_clipMatrix;void main(){ gl_Position = u_matrix * a_position; v_clipPos = u_clipMatrix * a_position; v_texCoord = a_texCoord; v_texCoord.y = 1.0 - v_texCoord.y;}`,_u=`precision mediump float;varying vec2 v_texCoord;uniform vec4 u_baseColor;uniform sampler2D s_texture0;void main(){ gl_FragColor = texture2D(s_texture0 , v_texCoord) * u_baseColor;}`,vu=`precision mediump float;varying vec2 v_texCoord;varying vec4 v_clipPos;uniform vec4 u_baseColor;uniform vec4 u_channelFlag;uniform sampler2D s_texture0;uniform sampler2D s_texture1;void main(){ vec4 col_formask = texture2D(s_texture0 , v_texCoord) * u_baseColor; vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag; float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a; col_formask = col_formask * maskVal; gl_FragColor = col_formask;}`,yu=`precision mediump float;varying vec2 v_texCoord;varying vec4 v_clipPos;uniform sampler2D s_texture0;uniform sampler2D s_texture1;uniform vec4 u_channelFlag;uniform vec4 u_baseColor;void main(){vec4 col_formask = texture2D(s_texture0, v_texCoord) * u_baseColor;vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;col_formask = col_formask * (1.0 - maskVal);gl_FragColor = col_formask;}`;var bu=class extends Mc{constructor(){super(),this._clippingContextBufferForMask=null,this._clippingContextBufferForDraw=null,this._clippingManager=new cu,this.firstDraw=!0,this._textures={},this._sortedDrawableIndexList=[],this._bufferData={vertex:null,uv:null,index:null}}initialize(e){e.isUsingMasking()&&(this._clippingManager=new cu,this._clippingManager.initialize(e,e.getDrawableCount(),e.getDrawableMasks(),e.getDrawableMaskCounts()));for(let t=e.getDrawableCount()-1;t>=0;t--)this._sortedDrawableIndexList[t]=0;super.initialize(e)}bindTexture(e,t){this._textures[e]=t}getBindedTextures(){return this._textures}setClippingMaskBufferSize(e){this._clippingManager.release(),this._clippingManager=new cu,this._clippingManager.setClippingMaskBufferSize(e),this._clippingManager.initialize(this.getModel(),this.getModel().getDrawableCount(),this.getModel().getDrawableMasks(),this.getModel().getDrawableMaskCounts())}getClippingMaskBufferSize(){return this._clippingManager.getClippingMaskBufferSize()}release(){var e,t,n;let r=this;this._clippingManager.release(),r._clippingManager=void 0,(e=this.gl)==null||e.deleteBuffer(this._bufferData.vertex),this._bufferData.vertex=null,(t=this.gl)==null||t.deleteBuffer(this._bufferData.uv),this._bufferData.uv=null,(n=this.gl)==null||n.deleteBuffer(this._bufferData.index),this._bufferData.index=null,r._bufferData=void 0,r._textures=void 0}doDrawModel(){this.preDraw(),this._clippingManager!=null&&this._clippingManager.setupClippingContext(this.getModel(),this);let e=this.getModel().getDrawableCount(),t=this.getModel().getDrawableRenderOrders();for(let n=0;n{bu.doStaticRelease()};var xu=class{constructor(e){this.groups=e.Groups,this.hitAreas=e.HitAreas,this.layout=e.Layout,this.moc=e.FileReferences.Moc,this.expressions=e.FileReferences.Expressions,this.motions=e.FileReferences.Motions,this.textures=e.FileReferences.Textures,this.physics=e.FileReferences.Physics,this.pose=e.FileReferences.Pose}getEyeBlinkParameters(){var e,t;return(t=(e=this.groups)?.find(e=>e.Name===`EyeBlink`))?.Ids}getLipSyncParameters(){var e,t;return(t=(e=this.groups)?.find(e=>e.Name===`LipSync`))?.Ids}};const Su=`ParamAngleX`,Cu=`ParamAngleY`,wu=`ParamAngleZ`,Tu=`ParamEyeBallX`,Eu=`ParamEyeBallY`,Du=`ParamBodyAngleX`,Ou=`ParamBreath`,ku=2,Au=2;var ju;(e=>{e.LOG_LEVEL_VERBOSE=0,e.LOG_LEVEL_WARNING=1,e.LOG_LEVEL_ERROR=2,e.LOG_LEVEL_NONE=999,e.logLevel=e.LOG_LEVEL_WARNING,e.sound=!0,e.motionSync=!0,e.motionFadingDuration=500,e.idleMotionFadingDuration=2e3,e.expressionFadingDuration=500,e.preserveExpressionOnMotion=!0,e.cubism4=$c})(ju||={});const Mu={log(e,...t){ju.logLevel<=ju.LOG_LEVEL_VERBOSE&&console.log(`[${e}]`,...t)},warn(e,...t){ju.logLevel<=ju.LOG_LEVEL_WARNING&&console.warn(`[${e}]`,...t)},error(e,...t){ju.logLevel<=ju.LOG_LEVEL_ERROR&&console.error(`[${e}]`,...t)}};function Nu(e,t,n){return en?n:e}function Pu(e,t){t.forEach(t=>{Object.getOwnPropertyNames(t.prototype).forEach(n=>{n!==`constructor`&&Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(t.prototype,n))})})}function Fu(e){let t=e.lastIndexOf(`/`);return t!=-1&&(e=e.slice(0,t)),t=e.lastIndexOf(`/`),t!==-1&&(e=e.slice(t+1)),e}function Iu(e,t){let n=e.indexOf(t);n!==-1&&e.splice(n,1)}var Lu=class extends Yr.default{constructor(e,t){super(),this.expressions=[],this.reserveExpressionIndex=-1,this.destroyed=!1,this.settings=e,this.tag=`ExpressionManager(${e.name})`}init(){this.defaultExpression=this.createExpression({},void 0),this.currentExpression=this.defaultExpression,this.stopAllExpressions()}loadExpression(e){return vc(this,null,function*(){if(!this.definitions[e]){Mu.warn(this.tag,`Undefined expression at [${e}]`);return}if(this.expressions[e]===null){Mu.warn(this.tag,`Cannot set expression at [${e}] because it's already failed in loading.`);return}if(this.expressions[e])return this.expressions[e];let t=yield this._loadExpression(e);return this.expressions[e]=t,t})}_loadExpression(e){throw Error(`Not implemented.`)}setRandomExpression(){return vc(this,null,function*(){if(this.definitions.length){let e=[];for(let t=0;t-1&&ec&&(a*=c/s,o*=c/s),this.vx+=a,this.vy+=o;let l=Math.sqrt(_c(this.vx,2)+_c(this.vy,2)),u=.5*(Math.sqrt(_c(c,2)+8*c*r)-c);l>u&&(this.vx*=u/l,this.vy*=u/l),this.x+=this.vx,this.y+=this.vy}},Hu=class{constructor(e){this.json=e;let t=e.url;if(typeof t!=`string`)throw TypeError("The `url` field in settings JSON must be defined as a string.");this.url=t,this.name=Fu(this.url)}resolveURL(e){return Qr.resolve(this.url,e)}replaceFiles(e){this.moc=e(this.moc,`moc`),this.pose!==void 0&&(this.pose=e(this.pose,`pose`)),this.physics!==void 0&&(this.physics=e(this.physics,`physics`));for(let t=0;t(e.push(t),t)),e}validateFiles(e){let t=(t,n)=>{let r=this.resolveURL(t);if(!e.includes(r)){if(n)throw Error(`File "${t}" is defined in settings, but doesn't exist in given files`);return!1}return!0},n=[this.moc,...this.textures];n.forEach(e=>t(e,!0));let r=this.getDefinedFiles();return r.filter(e=>t(e,!1))}},Uu=(e=>(e[e.NONE=0]=`NONE`,e[e.IDLE=1]=`IDLE`,e[e.NORMAL=2]=`NORMAL`,e[e.FORCE=3]=`FORCE`,e))(Uu||{}),Wu=class{constructor(){this.debug=!1,this.currentPriority=0,this.reservePriority=0}reserve(e,t,n){if(n<=0)return Mu.log(this.tag,`Cannot start a motion with MotionPriority.NONE.`),!1;if(e===this.currentGroup&&t===this.currentIndex)return Mu.log(this.tag,`Motion is already playing.`,this.dump(e,t)),!1;if(e===this.reservedGroup&&t===this.reservedIndex||e===this.reservedIdleGroup&&t===this.reservedIdleIndex)return Mu.log(this.tag,`Motion is already reserved.`,this.dump(e,t)),!1;if(n===1){if(this.currentPriority!==0)return Mu.log(this.tag,`Cannot start idle motion because another motion is playing.`,this.dump(e,t)),!1;if(this.reservedIdleGroup!==void 0)return Mu.log(this.tag,`Cannot start idle motion because another idle motion has reserved.`,this.dump(e,t)),!1;this.setReservedIdle(e,t)}else{if(n<3){if(n<=this.currentPriority)return Mu.log(this.tag,`Cannot start motion because another motion is playing as an equivalent or higher priority.`,this.dump(e,t)),!1;if(n<=this.reservePriority)return Mu.log(this.tag,`Cannot start motion because another motion has reserved as an equivalent or higher priority.`,this.dump(e,t)),!1}this.setReserved(e,t,n)}return!0}start(e,t,n,r){if(r===1){if(this.setReservedIdle(void 0,void 0),this.currentPriority!==0)return Mu.log(this.tag,`Cannot start idle motion because another motion is playing.`,this.dump(t,n)),!1}else{if(t!==this.reservedGroup||n!==this.reservedIndex)return Mu.log(this.tag,`Cannot start motion because another motion has taken the place.`,this.dump(t,n)),!1;this.setReserved(void 0,void 0,0)}return e?(this.setCurrent(t,n,r),!0):!1}complete(){this.setCurrent(void 0,void 0,0)}setCurrent(e,t,n){this.currentPriority=n,this.currentGroup=e,this.currentIndex=t}setReserved(e,t,n){this.reservePriority=n,this.reservedGroup=e,this.reservedIndex=t}setReservedIdle(e,t){this.reservedIdleGroup=e,this.reservedIdleIndex=t}isActive(e,t){return e===this.currentGroup&&t===this.currentIndex||e===this.reservedGroup&&t===this.reservedIndex||e===this.reservedIdleGroup&&t===this.reservedIdleIndex}reset(){this.setCurrent(void 0,void 0,0),this.setReserved(void 0,void 0,0),this.setReservedIdle(void 0,void 0)}shouldRequestIdleMotion(){return this.currentGroup===void 0&&this.reservedIdleGroup===void 0}shouldOverrideExpression(){return!ju.preserveExpressionOnMotion&&this.currentPriority>1}dump(e,t){if(this.debug){let n=[`currentPriority`,`reservePriority`,`currentGroup`,`currentIndex`,`reservedGroup`,`reservedIndex`,`reservedIdleGroup`,`reservedIdleIndex`];return` + group = "${e}", index = ${t} +`+n.map(e=>`[`+e+`] `+this[e]).join(` +`)}return``}};const Gu=`SoundManager`,Ku=.5;var qu=class{static get volume(){return this._volume}static set volume(e){this._volume=(e>1?1:e<0?0:e)||0,this.audios.forEach(e=>e.volume=this._volume)}static add(e,t,n){let r=new Audio(e);return r.volume=this._volume,r.preload=`auto`,r.addEventListener(`ended`,()=>{this.dispose(r),t?.()}),r.addEventListener(`error`,t=>{this.dispose(r),Mu.warn(Gu,`Error occurred on "${e}"`,t.error),n?.(t.error)}),this.audios.push(r),r}static play(e){return new Promise((t,n)=>{var r;(r=e.play())==null||r.catch(t=>{e.dispatchEvent(new ErrorEvent(`error`,{error:t})),n(t)}),e.readyState===e.HAVE_ENOUGH_DATA?t():e.addEventListener(`canplaythrough`,t)})}static dispose(e){e.pause(),e.removeAttribute(`src`),Iu(this.audios,e)}static destroy(){for(let e=this.audios.length-1;e>=0;e--)this.dispose(this.audios[e])}};qu.audios=[],qu._volume=Ku;var Ju=class extends Yr.default{constructor(e,t){super(),this.motionGroups={},this.state=new Wu,this.playing=!1,this.destroyed=!1,this.settings=e,this.tag=`MotionManager(${e.name})`,this.state.tag=this.tag}init(e){e?.idleMotionGroup&&(this.groups.idle=e.idleMotionGroup),this.setupMotions(e),this.stopAllMotions()}setupMotions(e){for(let e of Object.keys(this.definitions))this.motionGroups[e]=[];let t;switch(e?.motionPreload){case`NONE`:return;case`ALL`:t=Object.keys(this.definitions);break;case`IDLE`:default:t=[this.groups.idle];break}for(let e of t)if(this.definitions[e])for(let t=0;tthis.currentAudio=void 0,()=>this.currentAudio=void 0),this.currentAudio=a}catch(t){Mu.warn(this.tag,`Failed to create audio`,e,t)}}let o=yield this.loadMotion(e,t);if(a){let e=qu.play(a).catch(e=>Mu.warn(this.tag,`Failed to play audio`,a.src,e));ju.motionSync&&(yield e)}return this.state.start(o,e,t,n)?(Mu.log(this.tag,`Start motion:`,this.getMotionName(i)),this.emit(`motionStart`,e,t,a),this.state.shouldOverrideExpression()&&this.expressionManager&&this.expressionManager.resetExpression(),this.playing=!0,this._startMotion(o),!0):(a&&(qu.dispose(a),this.currentAudio=void 0),!1)})}startRandomMotion(e,t){return vc(this,null,function*(){let n=this.definitions[e];if(n?.length){let r=[];for(let t=0;te.index>=0);for(let t of e)this.hitAreas[t.name]=t}hitTest(e,t){return Object.keys(this.hitAreas).filter(n=>this.isHit(n,e,t))}isHit(e,t,n){if(!this.hitAreas[e])return!1;let r=this.hitAreas[e].index,i=this.getDrawableBounds(r,Yu);return i.x<=t&&t<=i.x+i.width&&i.y<=n&&n<=i.y+i.height}getDrawableBounds(e,t){let n=this.getDrawableVertices(e),r=n[0],i=n[0],a=n[1],o=n[1];for(let e=0;e{(a.status===200||a.status===0)&&a.response?r(a.response):a.onerror()},a.onerror=()=>{Mu.warn(Zu,`Failed to load resource as ${a.responseType} (Status ${a.status}): ${t}`),i(new Qu(`Network error.`,t,a.status))},a.onabort=()=>i(new Qu(`Aborted.`,t,a.status,!0)),a.onloadend=()=>{var t;$u.allXhrSet.delete(a),e&&((t=$u.xhrMap.get(e))==null||t.delete(a))},a}static cancelXHRs(){var e;(e=$u.xhrMap.get(this))==null||e.forEach(e=>{e.abort(),$u.allXhrSet.delete(e)}),$u.xhrMap.delete(this)}static release(){$u.allXhrSet.forEach(e=>e.abort()),$u.allXhrSet.clear(),$u.xhrMap=new WeakMap}};let ed=$u;ed.xhrMap=new WeakMap,ed.allXhrSet=new Set,ed.loader=(e,t)=>new Promise((t,n)=>{let r=$u.createXHR(e.target,e.settings?e.settings.resolveURL(e.url):e.url,e.type,n=>{e.result=n,t()},n);r.send()});function td(e,t){let n=-1;return r(0);function r(i,a){if(a)return Promise.reject(a);if(i<=n)return Promise.reject(Error(`next() called multiple times`));n=i;let o=e[i];if(!o)return Promise.resolve();try{return Promise.resolve(o(t,r.bind(null,i+1)))}catch(e){return Promise.reject(e)}}}var nd=class{static load(e){return td(this.middlewares,e).then(()=>e.result)}};nd.middlewares=[ed.loader];function rd(e,t={}){var n;let r={resourceOptions:{crossorigin:t.crossOrigin}};if(Aa.fromURL)return Aa.fromURL(e,r).catch(e=>{if(e instanceof Error)throw e;let t=Error(`Texture loading error`);throw t.event=e,t});r.resourceOptions.autoLoad=!1;let i=Aa.from(e,r);if(i.baseTexture.valid)return Promise.resolve(i);let a=i.baseTexture.resource;return(n=a._live2d_load)??(a._live2d_load=new Promise((e,t)=>{let n=e=>{a.source.removeEventListener(`error`,n);let r=Error(`Texture loading error`);r.event=e,t(r)};a.source.addEventListener(`error`,n),a.load().then(()=>e(i)).catch(n)})),a._live2d_load}const id=`Live2DFactory`,ad=(e,t)=>vc(void 0,null,function*(){if(typeof e.source==`string`){let t=yield nd.load({url:e.source,type:`json`,target:e.live2dModel});t.url=e.source,e.source=t,e.live2dModel.emit(`settingsJSONLoaded`,t)}return t()}),od=(e,t)=>vc(void 0,null,function*(){if(e.source instanceof Hu)return e.settings=e.source,t();if(typeof e.source==`object`){let n=fd.findRuntime(e.source);if(n){let r=n.createModelSettings(e.source);return e.settings=r,e.live2dModel.emit(`settingsLoaded`,r),t()}}throw TypeError(`Unknown settings format.`)}),sd=(e,t)=>{if(e.settings){let n=fd.findRuntime(e.settings);if(n)return n.ready().then(t)}return t()},cd=(e,t)=>vc(void 0,null,function*(){yield t();let n=e.internalModel;if(n){let t=e.settings,r=fd.findRuntime(t);if(r){let i=[];t.pose&&i.push(nd.load({settings:t,url:t.pose,type:`json`,target:n}).then(t=>{n.pose=r.createPose(n.coreModel,t),e.live2dModel.emit(`poseLoaded`,n.pose)}).catch(t=>{e.live2dModel.emit(`poseLoadError`,t),Mu.warn(id,`Failed to load pose.`,t)})),t.physics&&i.push(nd.load({settings:t,url:t.physics,type:`json`,target:n}).then(t=>{n.physics=r.createPhysics(n.coreModel,t),e.live2dModel.emit(`physicsLoaded`,n.physics)}).catch(t=>{e.live2dModel.emit(`physicsLoadError`,t),Mu.warn(id,`Failed to load physics.`,t)})),i.length&&(yield Promise.all(i))}}}),ld=(e,t)=>vc(void 0,null,function*(){if(e.settings){let n=e.live2dModel,r=e.settings.textures.map(t=>{let n=e.settings.resolveURL(t);return rd(n,{crossOrigin:e.options.crossOrigin})});if(yield t(),e.internalModel)n.internalModel=e.internalModel,n.emit(`modelLoaded`,e.internalModel);else throw TypeError(`Missing internal model.`);n.textures=yield Promise.all(r),n.emit(`textureLoaded`,n.textures)}else throw TypeError(`Missing settings.`)}),ud=(e,t)=>vc(void 0,null,function*(){let n=e.settings;if(n instanceof Hu){let r=fd.findRuntime(n);if(!r)throw TypeError(`Unknown model settings.`);let i=yield nd.load({settings:n,url:n.moc,type:`arraybuffer`,target:e.live2dModel});if(!r.isValidMoc(i))throw Error(`Invalid moc data`);let a=r.createCoreModel(i);return e.internalModel=r.createInternalModel(a,n,e.options),t()}throw TypeError(`Missing settings.`)}),dd=class{static registerRuntime(e){dd.runtimes.push(e),dd.runtimes.sort((e,t)=>t.version-e.version)}static findRuntime(e){for(let t of dd.runtimes)if(t.test(e))return t}static setupLive2DModel(e,t,n){return vc(this,null,function*(){let r=new Promise(t=>e.once(`textureLoaded`,t)),i=new Promise(t=>e.once(`modelLoaded`,t)),a=Promise.all([r,i]).then(()=>e.emit(`ready`));yield td(dd.live2DModelMiddlewares,{live2dModel:e,source:t,options:n||{}}),yield a,e.emit(`load`)})}static loadMotion(e,t,n){var r,i;let a=r=>e.emit(`motionLoadError`,t,n,r);try{let o=(r=e.definitions[t])?.[n];if(!o)return Promise.resolve(void 0);e.listeners(`destroy`).includes(dd.releaseTasks)||e.once(`destroy`,dd.releaseTasks);let s=dd.motionTasksMap.get(e);s||(s={},dd.motionTasksMap.set(e,s));let c=s[t];c||(c=[],s[t]=c);let l=e.getMotionFile(o);return(i=c[n])??(c[n]=nd.load({url:l,settings:e.settings,type:e.motionDataType,target:e}).then(r=>{var i;let a=(i=dd.motionTasksMap.get(e))?.[t];a&&delete a[n];let s=e.createMotion(r,t,o);return e.emit(`motionLoaded`,t,n,s),s}).catch(t=>{Mu.warn(e.tag,`Failed to load motion: ${l} +`,t),a(t)})),c[n]}catch(r){Mu.warn(e.tag,`Failed to load motion at "${t}"[${n}] +`,r),a(r)}return Promise.resolve(void 0)}static loadExpression(e,t){var n;let r=n=>e.emit(`expressionLoadError`,t,n);try{let i=e.definitions[t];if(!i)return Promise.resolve(void 0);e.listeners(`destroy`).includes(dd.releaseTasks)||e.once(`destroy`,dd.releaseTasks);let a=dd.expressionTasksMap.get(e);a||(a=[],dd.expressionTasksMap.set(e,a));let o=e.getExpressionFile(i);return(n=a[t])??(a[t]=nd.load({url:o,settings:e.settings,type:`json`,target:e}).then(n=>{let r=dd.expressionTasksMap.get(e);r&&delete r[t];let a=e.createExpression(n,i);return e.emit(`expressionLoaded`,t,a),a}).catch(t=>{Mu.warn(e.tag,`Failed to load expression: ${o} +`,t),r(t)})),a[t]}catch(n){Mu.warn(e.tag,`Failed to load expression at [${t}] +`,n),r(n)}return Promise.resolve(void 0)}static releaseTasks(){this instanceof Ju?dd.motionTasksMap.delete(this):dd.expressionTasksMap.delete(this)}};let fd=dd;fd.runtimes=[],fd.urlToJSON=ad,fd.jsonToSettings=od,fd.waitUntilReady=sd,fd.setupOptionals=cd,fd.setupEssentials=ld,fd.createInternalModel=ud,fd.live2DModelMiddlewares=[ad,od,sd,cd,ld,ud],fd.motionTasksMap=new WeakMap,fd.expressionTasksMap=new WeakMap,Ju.prototype._loadMotion=function(e,t){return fd.loadMotion(this,e,t)},Lu.prototype._loadExpression=function(e){return fd.loadExpression(this,e)};var pd=class{constructor(){this._autoInteract=!1}get autoInteract(){return this._autoInteract}set autoInteract(e){e!==this._autoInteract&&(e?this.on(`pointertap`,md,this):this.off(`pointertap`,md,this),this._autoInteract=e)}registerInteraction(e){e!==this.interactionManager&&(this.unregisterInteraction(),this._autoInteract&&e&&(this.interactionManager=e,e.on(`pointermove`,hd,this)))}unregisterInteraction(){var e;this.interactionManager&&((e=this.interactionManager)==null||e.off(`pointermove`,hd,this),this.interactionManager=void 0)}};function md(e){this.tap(e.data.global.x,e.data.global.y)}function hd(e){this.focus(e.data.global.x,e.data.global.y)}var gd=class extends ra{};const _d=new zi,vd=new qi;let yd;var bd=class extends mc{constructor(e){super(),this.tag=`Live2DModel(uninitialized)`,this.textures=[],this.transform=new gd,this.anchor=new Ki(this.onAnchorChange,this,0,0),this.glContextID=-1,this.elapsedTime=performance.now(),this.deltaTime=0,this._autoUpdate=!1,this.once(`modelLoaded`,()=>this.init(e))}static from(e,t){let n=new this(t);return fd.setupLive2DModel(n,e,t).then(()=>n)}static fromSync(e,t){let n=new this(t);return fd.setupLive2DModel(n,e,t).then(t?.onLoad).catch(t?.onError),n}static registerTicker(e){yd=e}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){var t;yd||=(t=window.PIXI)?.Ticker,e?this._destroyed||(yd?(yd.shared.add(this.onTickerUpdate,this),this._autoUpdate=!0):Mu.warn(this.tag,`No Ticker registered, please call Live2DModel.registerTicker(Ticker).`)):(yd?.shared.remove(this.onTickerUpdate,this),this._autoUpdate=!1)}init(e){this.tag=`Live2DModel(${this.internalModel.settings.name})`;let t=Object.assign({autoUpdate:!0,autoInteract:!0},e);t.autoInteract&&(this.interactive=!0),this.autoInteract=t.autoInteract,this.autoUpdate=t.autoUpdate}onAnchorChange(){this.pivot.set(this.anchor.x*this.internalModel.width,this.anchor.y*this.internalModel.height)}motion(e,t,n){return t===void 0?this.internalModel.motionManager.startRandomMotion(e,n):this.internalModel.motionManager.startMotion(e,t,n)}expression(e){return this.internalModel.motionManager.expressionManager?e===void 0?this.internalModel.motionManager.expressionManager.setRandomExpression():this.internalModel.motionManager.expressionManager.setExpression(e):Promise.resolve(!1)}focus(e,t,n=!1){_d.x=e,_d.y=t,this.toModelPosition(_d,_d,!0);let r=_d.x/this.internalModel.originalWidth*2-1,i=_d.y/this.internalModel.originalHeight*2-1,a=Math.atan2(i,r);this.internalModel.focusController.focus(Math.cos(a),-Math.sin(a),n)}tap(e,t){let n=this.hitTest(e,t);n.length&&(Mu.log(this.tag,`Hit`,n),this.emit(`hit`,n))}hitTest(e,t){return _d.x=e,_d.y=t,this.toModelPosition(_d,_d),this.internalModel.hitTest(_d.x,_d.y)}toModelPosition(e,t=e.clone(),n){return n||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.transform.worldTransform.applyInverse(e,t),this.internalModel.localTransform.applyInverse(t,t),t}containsPoint(e){return this.getBounds(!0).contains(e.x,e.y)}_calculateBounds(){this._bounds.addFrame(this.transform,0,0,this.internalModel.width,this.internalModel.height)}onTickerUpdate(){this.update(yd.shared.deltaMS)}update(e){this.deltaTime+=e,this.elapsedTime+=e}_render(e){this.registerInteraction(e.plugins.interaction),e.batch.reset(),e.geometry.reset(),e.shader.reset(),e.state.reset();let t=!1;this.glContextID!==e.CONTEXT_UID&&(this.glContextID=e.CONTEXT_UID,this.internalModel.updateWebGLContext(e.gl,this.glContextID),t=!0);for(let n=0;nt.destroy(e.baseTexture)),this.internalModel.destroy(),super.destroy(e)}};Pu(bd,[pd]);const xd=class{static resolveURL(e,t){var n;let r=(n=xd.filesMap[e])?.[t];if(r===void 0)throw Error(`Cannot find this file from uploaded files: `+t);return r}static upload(e,t){return vc(this,null,function*(){let n={};for(let r of t.getDefinedFiles()){let i=decodeURI(Qr.resolve(t.url,r)),a=e.find(e=>e.webkitRelativePath===i);a&&(n[r]=URL.createObjectURL(a))}xd.filesMap[t._objectURL]=n})}static createSettings(e){return vc(this,null,function*(){let t=e.find(e=>e.name.endsWith(`model.json`)||e.name.endsWith(`model3.json`));if(!t)throw TypeError(`Settings file not found`);let n=yield xd.readText(t),r=JSON.parse(n);r.url=t.webkitRelativePath;let i=fd.findRuntime(r);if(!i)throw Error(`Unknown settings JSON`);let a=i.createModelSettings(r);return a._objectURL=URL.createObjectURL(t),a})}static readText(e){return vc(this,null,function*(){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsText(e,`utf8`)})})}};let Sd=xd;Sd.filesMap={},Sd.factory=(e,t)=>vc(void 0,null,function*(){if(Array.isArray(e.source)&&e.source[0]instanceof File){let t=e.source,n=t.settings;if(!n)n=yield xd.createSettings(t);else if(!n._objectURL)throw Error(`"_objectURL" must be specified in ModelSettings`);n.validateFiles(t.map(e=>encodeURI(e.webkitRelativePath))),yield xd.upload(t,n),n.resolveURL=function(e){return xd.resolveURL(this._objectURL,e)},e.source=n,e.live2dModel.once(`modelLoaded`,e=>{e.once(`destroy`,function(){let e=this.settings._objectURL;if(URL.revokeObjectURL(e),xd.filesMap[e])for(let t of Object.values(xd.filesMap[e]))URL.revokeObjectURL(t);delete xd.filesMap[e]})})}return t()}),fd.live2DModelMiddlewares.unshift(Sd.factory);const Cd=class{static unzip(e,t){return vc(this,null,function*(){let n=yield Cd.getFilePaths(e),r=[];for(let e of t.getDefinedFiles()){let i=decodeURI(Qr.resolve(t.url,e));n.includes(i)&&r.push(i)}let i=yield Cd.getFiles(e,r);for(let e=0;ee.endsWith(`model.json`)||e.endsWith(`model3.json`));if(!n)throw Error(`Settings file not found`);let r=yield Cd.readText(e,n);if(!r)throw Error(`Empty settings file: `+n);let i=JSON.parse(r);i.url=n;let a=fd.findRuntime(i);if(!a)throw Error(`Unknown settings JSON`);return a.createModelSettings(i)})}static zipReader(e,t){return vc(this,null,function*(){throw Error(`Not implemented`)})}static getFilePaths(e){return vc(this,null,function*(){throw Error(`Not implemented`)})}static getFiles(e,t){return vc(this,null,function*(){throw Error(`Not implemented`)})}static readText(e,t){return vc(this,null,function*(){throw Error(`Not implemented`)})}static releaseReader(e){}};let wd=Cd;if(wd.ZIP_PROTOCOL=`zip://`,wd.uid=0,wd.factory=(e,t)=>vc(void 0,null,function*(){let n=e.source,r,i,a;if(typeof n==`string`&&(n.endsWith(`.zip`)||n.startsWith(Cd.ZIP_PROTOCOL))?(r=n.startsWith(Cd.ZIP_PROTOCOL)?n.slice(Cd.ZIP_PROTOCOL.length):n,i=yield nd.load({url:r,type:`blob`,target:e.live2dModel})):Array.isArray(n)&&n.length===1&&n[0]instanceof File&&n[0].name.endsWith(`.zip`)&&(i=n[0],r=URL.createObjectURL(i),a=n.settings),i){if(!i.size)throw Error(`Empty zip file`);let t=yield Cd.zipReader(i,r);a||=yield Cd.createSettings(t),a._objectURL=Cd.ZIP_PROTOCOL+Cd.uid+`/`+a.url;let n=yield Cd.unzip(t,a);n.settings=a,e.source=n,r.startsWith(`blob:`)&&e.live2dModel.once(`modelLoaded`,e=>{e.once(`destroy`,function(){URL.revokeObjectURL(r)})}),Cd.releaseReader(t)}return t()}),fd.live2DModelMiddlewares.unshift(wd.factory),!window.Live2DCubismCore)throw Error(`Could not find Cubism 4 runtime. This plugin requires live2dcubismcore.js to be loaded.`);var Td=class extends Lu{constructor(e,t){var n;super(e,t),this.queueManager=new wl,this.definitions=(n=e.expressions)??[],this.init()}isFinished(){return this.queueManager.isFinished()}getExpressionIndex(e){return this.definitions.findIndex(t=>t.Name===e)}getExpressionFile(e){return e.File}createExpression(e,t){return Zc.create(e)}_setExpression(e){return this.queueManager.startMotion(e,!1,performance.now())}stopAllExpressions(){this.queueManager.stopAllMotions()}updateParameters(e,t){return this.queueManager.doUpdateMotion(e,t)}},Ed=class e extends Hu{constructor(t){if(super(t),!e.isValidJSON(t))throw TypeError(`Invalid JSON.`);Object.assign(this,new xu(t))}static isValidJSON(e){var t;return!!e?.FileReferences&&typeof e.FileReferences.Moc==`string`&&(t=e.FileReferences.Textures)?.length>0&&e.FileReferences.Textures.every(e=>typeof e==`string`)}replaceFiles(e){if(super.replaceFiles(e),this.motions)for(let[t,n]of Object.entries(this.motions))for(let r=0;r{this.emit(`motion:`+t)})}isFinished(){return this.queueManager.isFinished()}_startMotion(e,t){return e.setFinishedMotionHandler(t),this.queueManager.stopAllMotions(),this.queueManager.startMotion(e,!1,performance.now())}_stopAllMotions(){this.queueManager.stopAllMotions()}createMotion(e,t,n){let r=Sl.create(e),i=new sl(e),a=(t===this.groups.idle?ju.idleMotionFadingDuration:ju.motionFadingDuration)/1e3;return i.getMotionFadeInTime()===void 0&&r.setFadeInTime(n.FadeInTime>0?n.FadeInTime:a),i.getMotionFadeOutTime()===void 0&&r.setFadeOutTime(n.FadeOutTime>0?n.FadeOutTime:a),r.setEffectIds(this.eyeBlinkIds,this.lipSyncIds),r}getMotionFile(e){return e.File}getMotionName(e){return e.File}getSoundFile(e){return e.Sound}updateParameters(e,t){return this.queueManager.doUpdateMotion(e,t)}destroy(){super.destroy(),this.queueManager.release(),this.queueManager=void 0}};const Od=new jc;var kd=class extends Xu{constructor(e,t,n){super(),this.lipSync=!0,this.breath=yc.create(),this.renderer=new bu,this.idParamAngleX=Su,this.idParamAngleY=Cu,this.idParamAngleZ=wu,this.idParamEyeBallX=Tu,this.idParamEyeBallY=Eu,this.idParamBodyAngleX=Du,this.idParamBreath=Ou,this.pixelsPerUnit=1,this.centeringTransform=new qi,this.coreModel=e,this.settings=t,this.motionManager=new Dd(t,n),this.init()}init(){var e;super.init(),(e=this.settings.getEyeBlinkParameters())?.length>0&&(this.eyeBlink=Sc.create(this.settings)),this.breath.setParameters([new bc(this.idParamAngleX,0,15,6.5345,.5),new bc(this.idParamAngleY,0,8,3.5345,.5),new bc(this.idParamAngleZ,0,10,5.5345,.5),new bc(this.idParamBodyAngleX,0,4,15.5345,.5),new bc(this.idParamBreath,0,.5,3.2345,.5)]),this.renderer.initialize(this.coreModel),this.renderer.setIsPremultipliedAlpha(!0)}getSize(){return[this.coreModel.getModel().canvasinfo.CanvasWidth,this.coreModel.getModel().canvasinfo.CanvasHeight]}getLayout(){let e={};if(this.settings.layout)for(let t of Object.keys(this.settings.layout)){let n=t.charAt(0).toLowerCase()+t.slice(1);e[n]=this.settings.layout[t]}return e}setupLayout(){super.setupLayout(),this.pixelsPerUnit=this.coreModel.getModel().canvasinfo.PixelsPerUnit,this.centeringTransform.scale(this.pixelsPerUnit,this.pixelsPerUnit).translate(this.originalWidth/2,this.originalHeight/2)}updateWebGLContext(e,t){this.renderer.firstDraw=!0,this.renderer._bufferData={vertex:null,uv:null,index:null},this.renderer.startUp(e),this.renderer._clippingManager._currentFrameNo=t,this.renderer._clippingManager._maskTexture=void 0,du.getInstance()._shaderSets=[]}bindTexture(e,t){this.renderer.bindTexture(e,t)}getHitAreaDefs(){var e,t;return(t=(e=this.settings.hitAreas)?.map(e=>({id:e.Id,name:e.Name,index:this.coreModel.getDrawableIndex(e.Id)})))??[]}getDrawableIDs(){return this.coreModel.getDrawableIds()}getDrawableIndex(e){return this.coreModel.getDrawableIndex(e)}getDrawableVertices(e){if(typeof e==`string`&&(e=this.coreModel.getDrawableIndex(e),e===-1))throw TypeError(`Unable to find drawable ID: `+e);let t=this.coreModel.getDrawableVertices(e).slice();for(let e=0;e{function n(){try{Nd(),e()}catch(e){if(jd--,jd<0){let n=Error(`Failed to start up Cubism 4 framework.`);n.cause=e,t(n);return}Mu.log(`Cubism4`,`Startup failed, retrying 10ms later...`),setTimeout(n,10)}}n()}),Ad)}function Nd(e){e=Object.assign({logFunction:console.log,loggingLevel:Bc.LogLevel_Verbose},e),zc.startUp(e),zc.initialize()}fd.registerRuntime({version:4,ready:Md,test(e){return e instanceof Ed||Ed.isValidJSON(e)},isValidMoc(e){if(e.byteLength<4)return!1;let t=new Int8Array(e,0,4);return String.fromCharCode(...t)===`MOC3`},createModelSettings(e){return new Ed(e)},createCoreModel(e){let t=Jc.create(e);try{let e=t.createModel();return e.__moc=t,e}catch(e){try{t.release()}catch{}throw e}},createInternalModel(e,t,n){let r=new kd(e,t,n),i=e;return i.__moc&&(r.__moc=i.__moc,delete i.__moc,r.once(`destroy`,Pd)),r},createPhysics(e,t){return Bl.create(t)},createPose(e,t){return Ec.create(t)}});function Pd(){var e;(e=this.__moc)==null||e.release()}var Fd=Xt({__name:`Canvas`,props:{width:{},height:{},resolution:{default:2}},setup(e,{expose:t}){let n=e,r=G(),i=G(),a=G();async function o(e){bd.registerTicker(Ni),ki.add(Pi),i.value=new gc({width:n.width*n.resolution,height:n.height*n.resolution,backgroundAlpha:0,preserveDrawingBuffer:!0}),a.value=i.value.view,a.value.style.width=`100%`,a.value.style.height=`100%`,a.value.style.objectFit=`cover`,a.value.style.display=`block`,e.appendChild(i.value.view)}function s(){i.value&&i.value.renderer.resize(n.width,n.height)}H([()=>n.width,()=>n.height],()=>s()),H(()=>n.resolution,e=>{i.value&&e&&(i.value.renderer.resolution=e,s())}),Jt(async()=>r.value&&await o(r.value)),dn(()=>i.value?.destroy());async function c(){let e=new Promise(e=>{if(!a.value||!i.value)return e(null);i.value.render(),a.value.toBlob(e)});return e}function l(){return a.value}return t({captureFrame:c,canvasElement:l}),(e,t)=>(U(),V(`div`,{ref_key:`containerRef`,ref:r,"h-full":``,"w-full":``},[hn(e.$slots,`default`,{app:i.value})],512))}}),Id=Fd,Ld=kn((exports,t)=>{ +/*! +localForage -- Offline Storage, Improved +Version 1.10.0 +https://localforage.github.io/localForage +(c) 2013-2017 Mozilla, Apache License 2.0 +*/ +(function(n){if(typeof exports==`object`&&t!==void 0)t.exports=n();else if(typeof define==`function`&&define.amd)define([],n);else{var r;r=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this,r.localforage=n()}})(function(){var e,t,n;return function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var c=typeof Mn==`function`&&Mn;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var l=Error(`Cannot find module '`+o+`'`);throw l.code=`MODULE_NOT_FOUND`,l}var u=n[o]={exports:{}};t[o][0].call(u.exports,function(e){var n=t[o][1][e];return i(n||e)},u,u.exports,e,t,n,r)}return n[o].exports}for(var a=typeof Mn==`function`&&Mn,o=0;o`u`&&e(3);var l=Promise;function u(e,t){t&&e.then(function(e){t(null,e)},function(e){t(e)})}function d(e,t,n){typeof t==`function`&&e.then(t),typeof n==`function`&&e.catch(n)}function f(e){return typeof e!=`string`&&(console.warn(e+` used as a key, but it is not a string.`),e=String(e)),e}function p(){if(arguments.length&&typeof arguments[arguments.length-1]==`function`)return arguments[arguments.length-1]}var m=`local-forage-detect-blob-support`,h=void 0,g={},_=Object.prototype.toString,v=`readonly`,y=`readwrite`;function b(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n),i=0;i=43)}}).catch(function(){return!1})}function S(e){return typeof h==`boolean`?l.resolve(h):x(e).then(function(e){return h=e,h})}function C(e){var t=g[e.name],n={};n.promise=new l(function(e,t){n.resolve=e,n.reject=t}),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then(function(){return n.promise}):t.dbReady=n.promise}function w(e){var t=g[e.name],n=t.deferredOperations.pop();if(n)return n.resolve(),n.promise}function T(e,t){var n=g[e.name],r=n.deferredOperations.pop();if(r)return r.reject(t),r.promise}function E(e,t){return new l(function(n,r){if(g[e.name]=g[e.name]||F(),e.db)if(t)C(e),e.db.close();else return n(e.db);var i=[e.name];t&&i.push(e.version);var a=o.open.apply(o,i);t&&(a.onupgradeneeded=function(t){var n=a.result;try{n.createObjectStore(e.storeName),t.oldVersion<=1&&n.createObjectStore(m)}catch(n){if(n.name===`ConstraintError`)console.warn(`The database "`+e.name+`" has been upgraded from version `+t.oldVersion+` to version `+t.newVersion+`, but the storage "`+e.storeName+`" already exists.`);else throw n}}),a.onerror=function(e){e.preventDefault(),r(a.error)},a.onsuccess=function(){var t=a.result;t.onversionchange=function(e){e.target.close()},n(t),w(e)}})}function D(e){return E(e,!1)}function O(e){return E(e,!0)}function k(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.versione.db.version;if(r&&(e.version!==t&&console.warn(`The database "`+e.name+`" can't be downgraded from version `+e.db.version+` to version `+e.version+`.`),e.version=e.db.version),i||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function A(e){return new l(function(t,n){var r=new FileReader;r.onerror=n,r.onloadend=function(n){var r=btoa(n.target.result||``);t({__local_forage_encoded_blob:!0,data:r,type:e.type})},r.readAsBinaryString(e)})}function j(e){var t=b(atob(e.data));return c([t],{type:e.type})}function M(e){return e&&e.__local_forage_encoded_blob}function N(e){var t=this,n=t._initReady().then(function(){var e=g[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady});return d(n,e,e),n}function ee(e){C(e);for(var t=g[e.name],n=t.forages,r=0;r0&&(!e.db||i.name===`InvalidStateError`||i.name===`NotFoundError`))return l.resolve().then(function(){if(!e.db||i.name===`NotFoundError`&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),O(e)}).then(function(){return ee(e).then(function(){P(e,t,n,r-1)})}).catch(n);n(i)}}function F(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function I(e){var t=this,n={db:null};if(e)for(var r in e)n[r]=e[r];var i=g[n.name];i||(i=F(),g[n.name]=i),i.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=N);var a=[];function o(){return l.resolve()}for(var s=0;s>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l}function ke(e){var t=new Uint8Array(e),n=``,r;for(r=0;r>2],n+=ue[(t[r]&3)<<4|t[r+1]>>4],n+=ue[(t[r+1]&15)<<2|t[r+2]>>6],n+=ue[t[r+2]&63];return t.length%3==2?n=n.substring(0,n.length-1)+`=`:t.length%3==1&&(n=n.substring(0,n.length-2)+`==`),n}function Ae(e,t){var n=``;if(e&&(n=De.call(e)),e&&(n===`[object ArrayBuffer]`||e.buffer&&De.call(e.buffer)===`[object ArrayBuffer]`)){var r,i=pe;e instanceof ArrayBuffer?(r=e,i+=he):(r=e.buffer,n===`[object Int8Array]`?i+=_e:n===`[object Uint8Array]`?i+=ve:n===`[object Uint8ClampedArray]`?i+=ye:n===`[object Int16Array]`?i+=be:n===`[object Uint16Array]`?i+=Se:n===`[object Int32Array]`?i+=xe:n===`[object Uint32Array]`?i+=Ce:n===`[object Float32Array]`?i+=we:n===`[object Float64Array]`?i+=Te:t(Error(`Failed to get type for BinaryArray`))),t(i+ke(r))}else if(n===`[object Blob]`){var a=new FileReader;a.onload=function(){var n=de+e.type+`~`+ke(this.result);t(pe+ge+n)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(n){console.error(`Couldn't convert value into a JSON string: `,e),t(null,n)}}function je(e){if(e.substring(0,me)!==pe)return JSON.parse(e);var t=e.substring(Ee),n=e.substring(me,Ee),r;if(n===ge&&fe.test(t)){var i=t.match(fe);r=i[1],t=t.substring(i[0].length)}var a=Oe(t);switch(n){case he:return a;case ge:return c([a],{type:r});case _e:return new Int8Array(a);case ve:return new Uint8Array(a);case ye:return new Uint8ClampedArray(a);case be:return new Int16Array(a);case Se:return new Uint16Array(a);case xe:return new Int32Array(a);case Ce:return new Uint32Array(a);case we:return new Float32Array(a);case Te:return new Float64Array(a);default:throw Error(`Unkown type: `+n)}}var z={serialize:Ae,deserialize:je,stringToBuffer:Oe,bufferToString:ke};function Me(e,t,n,r){e.executeSql(`CREATE TABLE IF NOT EXISTS `+t.storeName+` (id INTEGER PRIMARY KEY, key unique, value)`,[],n,r)}function Ne(e){var t=this,n={db:null};if(e)for(var r in e)n[r]=typeof e[r]==`string`?e[r]:e[r].toString();var i=new l(function(e,r){try{n.db=openDatabase(n.name,String(n.version),n.description,n.size)}catch(e){return r(e)}n.db.transaction(function(i){Me(i,n,function(){t._dbInfo=n,e()},function(e,t){r(t)})},r)});return n.serializer=z,i}function Pe(e,t,n,r,i,a){e.executeSql(n,r,i,function(e,o){o.code===o.SYNTAX_ERR?e.executeSql(`SELECT name FROM sqlite_master WHERE type='table' AND name = ?`,[t.storeName],function(e,s){s.rows.length?a(e,o):Me(e,t,function(){e.executeSql(n,r,i,a)},a)},a):a(e,o)},a)}function Fe(e,t){var n=this;e=f(e);var r=new l(function(t,r){n.ready().then(function(){var i=n._dbInfo;i.db.transaction(function(n){Pe(n,i,`SELECT * FROM `+i.storeName+` WHERE key = ? LIMIT 1`,[e],function(e,n){var r=n.rows.length?n.rows.item(0).value:null;r&&=i.serializer.deserialize(r),t(r)},function(e,t){r(t)})})}).catch(r)});return u(r,t),r}function Ie(e,t){var n=this,r=new l(function(t,r){n.ready().then(function(){var i=n._dbInfo;i.db.transaction(function(n){Pe(n,i,`SELECT * FROM `+i.storeName,[],function(n,r){for(var a=r.rows,o=a.length,s=0;s0){a(Le.apply(i,[e,s,n,r-1]));return}o(t)}})})}).catch(o)});return u(a,n),a}function Re(e,t,n){return Le.apply(this,[e,t,n,1])}function ze(e,t){var n=this;e=f(e);var r=new l(function(t,r){n.ready().then(function(){var i=n._dbInfo;i.db.transaction(function(n){Pe(n,i,`DELETE FROM `+i.storeName+` WHERE key = ?`,[e],function(){t()},function(e,t){r(t)})})}).catch(r)});return u(r,t),r}function Be(e){var t=this,n=new l(function(e,n){t.ready().then(function(){var r=t._dbInfo;r.db.transaction(function(t){Pe(t,r,`DELETE FROM `+r.storeName,[],function(){e()},function(e,t){n(t)})})}).catch(n)});return u(n,e),n}function Ve(e){var t=this,n=new l(function(e,n){t.ready().then(function(){var r=t._dbInfo;r.db.transaction(function(t){Pe(t,r,`SELECT COUNT(key) as c FROM `+r.storeName,[],function(t,n){var r=n.rows.item(0).c;e(r)},function(e,t){n(t)})})}).catch(n)});return u(n,e),n}function He(e,t){var n=this,r=new l(function(t,r){n.ready().then(function(){var i=n._dbInfo;i.db.transaction(function(n){Pe(n,i,`SELECT key FROM `+i.storeName+` WHERE id = ? LIMIT 1`,[e+1],function(e,n){var r=n.rows.length?n.rows.item(0).key:null;t(r)},function(e,t){r(t)})})}).catch(r)});return u(r,t),r}function Ue(e){var t=this,n=new l(function(e,n){t.ready().then(function(){var r=t._dbInfo;r.db.transaction(function(t){Pe(t,r,`SELECT key FROM `+r.storeName,[],function(t,n){for(var r=[],i=0;i '__WebKitDatabaseInfoTable__'`,[],function(n,r){for(var i=[],a=0;a0}function Ze(e){var t=this,n={};if(e)for(var r in e)n[r]=e[r];return n.keyPrefix=Je(e,t._defaultConfig),Xe()?(t._dbInfo=n,n.serializer=z,l.resolve()):l.reject()}function Qe(e){var t=this,n=t.ready().then(function(){for(var e=t._dbInfo.keyPrefix,n=localStorage.length-1;n>=0;n--){var r=localStorage.key(n);r.indexOf(e)===0&&localStorage.removeItem(r)}});return u(n,e),n}function $e(e,t){var n=this;e=f(e);var r=n.ready().then(function(){var t=n._dbInfo,r=localStorage.getItem(t.keyPrefix+e);return r&&=t.serializer.deserialize(r),r});return u(r,t),r}function et(e,t){var n=this,r=n.ready().then(function(){for(var t=n._dbInfo,r=t.keyPrefix,i=r.length,a=localStorage.length,o=1,s=0;s=0;t--){var n=localStorage.key(t);n.indexOf(e)===0&&localStorage.removeItem(n)}}):l.reject(`Invalid arguments`),u(i,t),i}var st={_driver:`localStorageWrapper`,_initStorage:Ze,_support:qe(),iterate:et,getItem:$e,setItem:at,removeItem:it,clear:Qe,length:rt,key:tt,keys:nt,dropInstance:ot},ct=function(e,t){return e===t||typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)},lt=function(e,t){for(var n=e.length,r=0;r=0;f--){var p=d[f],m=this.recursiveFindHit(e,p,n,r,c);if(m){if(!p.parent)continue;c=!1,m&&(e.target&&(r=!1),s=!0)}}return i&&(r&&!e.target&&!t.hitArea&&t.containsPoint&&t.containsPoint(o)&&(s=!0),t.interactive&&(s&&!e.target&&(e.target=t),n&&n(e,t,!!s))),s},e.prototype.findHit=function(e,t,n,r){this.recursiveFindHit(e,t,n,r,!1)},e}(),Wd={interactive:!1,interactiveChildren:!0,hitArea:null,get buttonMode(){return this.cursor===`pointer`},set buttonMode(e){e?this.cursor=`pointer`:this.cursor===`pointer`&&(this.cursor=null)},cursor:null,get trackedPointers(){return this._trackedPointers===void 0&&(this._trackedPointers={}),this._trackedPointers},_trackedPointers:void 0};dc.mixin(Wd);var Gd=1,Kd={target:null,data:{global:null}},qd=function(e){Bd(t,e);function t(t,n){var r=e.call(this)||this;return n||={},r.renderer=t,r.autoPreventDefault=n.autoPreventDefault===void 0?!0:n.autoPreventDefault,r.interactionFrequency=n.interactionFrequency||10,r.mouse=new Rd,r.mouse.identifier=Gd,r.mouse.global.set(-999999),r.activeInteractionData={},r.activeInteractionData[Gd]=r.mouse,r.interactionDataPool=[],r.eventData=new Vd,r.interactionDOMElement=null,r.moveWhenInside=!1,r.eventsAdded=!1,r.tickerAdded=!1,r.mouseOverRenderer=!(`PointerEvent`in globalThis),r.supportsTouchEvents=`ontouchstart`in globalThis,r.supportsPointerEvents=!!globalThis.PointerEvent,r.onPointerUp=r.onPointerUp.bind(r),r.processPointerUp=r.processPointerUp.bind(r),r.onPointerCancel=r.onPointerCancel.bind(r),r.processPointerCancel=r.processPointerCancel.bind(r),r.onPointerDown=r.onPointerDown.bind(r),r.processPointerDown=r.processPointerDown.bind(r),r.onPointerMove=r.onPointerMove.bind(r),r.processPointerMove=r.processPointerMove.bind(r),r.onPointerOut=r.onPointerOut.bind(r),r.processPointerOverOut=r.processPointerOverOut.bind(r),r.onPointerOver=r.onPointerOver.bind(r),r.cursorStyles={default:`inherit`,pointer:`pointer`},r.currentCursorMode=null,r.cursor=null,r.resolution=1,r.delayedEvents=[],r.search=new Ud,r._tempDisplayObject=new fc,r._eventListenerOptions={capture:!0,passive:!1},r._useSystemTicker=n.useSystemTicker===void 0?!0:n.useSystemTicker,r.setTargetElement(r.renderer.view,r.renderer.resolution),r}return Object.defineProperty(t.prototype,`useSystemTicker`,{get:function(){return this._useSystemTicker},set:function(e){this._useSystemTicker=e,e?this.addTickerListener():this.removeTickerListener()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`lastObjectRendered`,{get:function(){return this.renderer._lastObjectRendered||this._tempDisplayObject},enumerable:!1,configurable:!0}),t.prototype.hitTest=function(e,t){return Kd.target=null,Kd.data.global=e,t||=this.lastObjectRendered,this.processInteractive(Kd,t,null,!0),Kd.target},t.prototype.setTargetElement=function(e,t){t===void 0&&(t=1),this.removeTickerListener(),this.removeEvents(),this.interactionDOMElement=e,this.resolution=t,this.addEvents(),this.addTickerListener()},t.prototype.addTickerListener=function(){this.tickerAdded||!this.interactionDOMElement||!this._useSystemTicker||(Ni.system.add(this.tickerUpdate,this,ji.INTERACTION),this.tickerAdded=!0)},t.prototype.removeTickerListener=function(){this.tickerAdded&&(Ni.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)},t.prototype.addEvents=function(){if(!(this.eventsAdded||!this.interactionDOMElement)){var e=this.interactionDOMElement.style;globalThis.navigator.msPointerEnabled?(e.msContentZooming=`none`,e.msTouchAction=`none`):this.supportsPointerEvents&&(e.touchAction=`none`),this.supportsPointerEvents?(globalThis.document.addEventListener(`pointermove`,this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`pointerdown`,this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`pointerleave`,this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`pointerover`,this.onPointerOver,this._eventListenerOptions),globalThis.addEventListener(`pointercancel`,this.onPointerCancel,this._eventListenerOptions),globalThis.addEventListener(`pointerup`,this.onPointerUp,this._eventListenerOptions)):(globalThis.document.addEventListener(`mousemove`,this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`mousedown`,this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`mouseout`,this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`mouseover`,this.onPointerOver,this._eventListenerOptions),globalThis.addEventListener(`mouseup`,this.onPointerUp,this._eventListenerOptions)),this.supportsTouchEvents&&(this.interactionDOMElement.addEventListener(`touchstart`,this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`touchcancel`,this.onPointerCancel,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`touchend`,this.onPointerUp,this._eventListenerOptions),this.interactionDOMElement.addEventListener(`touchmove`,this.onPointerMove,this._eventListenerOptions)),this.eventsAdded=!0}},t.prototype.removeEvents=function(){if(!(!this.eventsAdded||!this.interactionDOMElement)){var e=this.interactionDOMElement.style;globalThis.navigator.msPointerEnabled?(e.msContentZooming=``,e.msTouchAction=``):this.supportsPointerEvents&&(e.touchAction=``),this.supportsPointerEvents?(globalThis.document.removeEventListener(`pointermove`,this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`pointerdown`,this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`pointerleave`,this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`pointerover`,this.onPointerOver,this._eventListenerOptions),globalThis.removeEventListener(`pointercancel`,this.onPointerCancel,this._eventListenerOptions),globalThis.removeEventListener(`pointerup`,this.onPointerUp,this._eventListenerOptions)):(globalThis.document.removeEventListener(`mousemove`,this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`mousedown`,this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`mouseout`,this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`mouseover`,this.onPointerOver,this._eventListenerOptions),globalThis.removeEventListener(`mouseup`,this.onPointerUp,this._eventListenerOptions)),this.supportsTouchEvents&&(this.interactionDOMElement.removeEventListener(`touchstart`,this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`touchcancel`,this.onPointerCancel,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`touchend`,this.onPointerUp,this._eventListenerOptions),this.interactionDOMElement.removeEventListener(`touchmove`,this.onPointerMove,this._eventListenerOptions)),this.interactionDOMElement=null,this.eventsAdded=!1}},t.prototype.tickerUpdate=function(e){this._deltaTime+=e,!(this._deltaTime0&&(a=e.composedPath()[0]);for(var o=a===this.interactionDOMElement?``:`outside`,s=0;s 0.0) { + c.rgb /= c.a; + + vec3 rgb = pow(c.rgb, vec3(1. / gamma)); + rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast); + rgb.r *= red; + rgb.g *= green; + rgb.b *= blue; + c.rgb = rgb * brightness; + + c.rgb *= c.a; + } + + gl_FragColor = c * alpha; +} +`,Qd=function(e){Yd(t,e);function t(t){var n=e.call(this,Xd,Zd)||this;return n.gamma=1,n.saturation=1,n.contrast=1,n.brightness=1,n.red=1,n.green=1,n.blue=1,n.alpha=1,Object.assign(n,t),n}return t.prototype.apply=function(e,t,n,r){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,e.applyFilter(this,t,n,r)},t}(qo),$d=function(e,t){return $d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},$d(e,t)};function ef(e,t){$d(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var tf=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,nf=` +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 uOffset; + +void main(void) +{ + vec4 color = vec4(0.0); + + // Sample top left pixel + color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y)); + + // Sample top right pixel + color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y)); + + // Sample bottom right pixel + color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y)); + + // Sample bottom left pixel + color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y)); + + // Average + color *= 0.25; + + gl_FragColor = color; +}`,rf=` +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 uOffset; +uniform vec4 filterClamp; + +void main(void) +{ + vec4 color = vec4(0.0); + + // Sample top left pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample top right pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample bottom right pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample bottom left pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Average + color *= 0.25; + + gl_FragColor = color; +} +`,af=function(e){ef(t,e);function t(t,n,r){t===void 0&&(t=4),n===void 0&&(n=3),r===void 0&&(r=!1);var i=e.call(this,tf,r?rf:nf)||this;return i._kernels=[],i._blur=4,i._quality=3,i.uniforms.uOffset=new Float32Array(2),i._pixelSize=new zi,i.pixelSize=1,i._clamp=r,Array.isArray(t)?i.kernels=t:(i._blur=t,i.quality=n),i}return t.prototype.apply=function(e,t,n,r){var i=this._pixelSize.x/t._frame.width,a=this._pixelSize.y/t._frame.height,o;if(this._quality===1||this._blur===0)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*i,this.uniforms.uOffset[1]=o*a,e.applyFilter(this,t,n,r);else{for(var s=e.getFilterTexture(),c=t,l=s,u=void 0,d=this._quality-1,f=0;f0)for(var r=e,i=e/t,a=1;a0?(this._kernels=e,this._quality=e.length,this._blur=Math.max.apply(Math,e)):(this._kernels=[0],this._quality=1)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`clamp`,{get:function(){return this._clamp},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`pixelSize`,{get:function(){return this._pixelSize},set:function(e){typeof e==`number`?(this._pixelSize.x=e,this._pixelSize.y=e):Array.isArray(e)?(this._pixelSize.x=e[0],this._pixelSize.y=e[1]):e instanceof zi?(this._pixelSize.x=e.x,this._pixelSize.y=e.y):(this._pixelSize.x=1,this._pixelSize.y=1)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`quality`,{get:function(){return this._quality},set:function(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`blur`,{get:function(){return this._blur},set:function(e){this._blur=e,this._generateKernels()},enumerable:!1,configurable:!0}),t}(qo),sf=function(e,t){return sf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},sf(e,t)};function cf(e,t){sf(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var lf=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,uf=` +uniform sampler2D uSampler; +varying vec2 vTextureCoord; + +uniform float threshold; + +void main() { + vec4 color = texture2D(uSampler, vTextureCoord); + + // A simple & fast algorithm for getting brightness. + // It's inaccuracy , but good enought for this feature. + float _max = max(max(color.r, color.g), color.b); + float _min = min(min(color.r, color.g), color.b); + float brightness = (_max + _min) * 0.5; + + if(brightness > threshold) { + gl_FragColor = color; + } else { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); + } +} +`,df=function(e){cf(t,e);function t(t){t===void 0&&(t=.5);var n=e.call(this,lf,uf)||this;return n.threshold=t,n}return Object.defineProperty(t.prototype,`threshold`,{get:function(){return this.uniforms.threshold},set:function(e){this.uniforms.threshold=e},enumerable:!1,configurable:!0}),t}(qo),ff=`uniform sampler2D uSampler; +varying vec2 vTextureCoord; + +uniform sampler2D bloomTexture; +uniform float bloomScale; +uniform float brightness; + +void main() { + vec4 color = texture2D(uSampler, vTextureCoord); + color.rgb *= brightness; + vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0); + bloomColor.rgb *= bloomScale; + gl_FragColor = color + bloomColor; +} +`,pf=function(e){cf(t,e);function t(n){var r=e.call(this,lf,ff)||this;r.bloomScale=1,r.brightness=1,r._resolution=Rr.FILTER_RESOLUTION,typeof n==`number`&&(n={threshold:n});var i=Object.assign(t.defaults,n);r.bloomScale=i.bloomScale,r.brightness=i.brightness;var a=i.kernels,o=i.blur,s=i.quality,c=i.pixelSize,l=i.resolution;return r._extractFilter=new df(i.threshold),r._extractFilter.resolution=l,r._blurFilter=a?new af(a):new af(o,s),r.pixelSize=c,r.resolution=l,r}return t.prototype.apply=function(e,t,n,r,i){var a=e.getFilterTexture();this._extractFilter.apply(e,t,a,1,i);var o=e.getFilterTexture();this._blurFilter.apply(e,a,o,1),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=o,e.applyFilter(this,t,n,r),e.returnFilterTexture(o),e.returnFilterTexture(a)},Object.defineProperty(t.prototype,`resolution`,{get:function(){return this._resolution},set:function(e){this._resolution=e,this._extractFilter&&(this._extractFilter.resolution=e),this._blurFilter&&(this._blurFilter.resolution=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`threshold`,{get:function(){return this._extractFilter.threshold},set:function(e){this._extractFilter.threshold=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`kernels`,{get:function(){return this._blurFilter.kernels},set:function(e){this._blurFilter.kernels=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`blur`,{get:function(){return this._blurFilter.blur},set:function(e){this._blurFilter.blur=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`quality`,{get:function(){return this._blurFilter.quality},set:function(e){this._blurFilter.quality=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`pixelSize`,{get:function(){return this._blurFilter.pixelSize},set:function(e){this._blurFilter.pixelSize=e},enumerable:!1,configurable:!0}),t.defaults={threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:Rr.FILTER_RESOLUTION},t}(qo),mf=function(e,t){return mf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},mf(e,t)};function hf(e,t){mf(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var gf=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,_f=`varying vec2 vTextureCoord; + +uniform vec4 filterArea; +uniform float pixelSize; +uniform sampler2D uSampler; + +vec2 mapCoord( vec2 coord ) +{ + coord *= filterArea.xy; + coord += filterArea.zw; + + return coord; +} + +vec2 unmapCoord( vec2 coord ) +{ + coord -= filterArea.zw; + coord /= filterArea.xy; + + return coord; +} + +vec2 pixelate(vec2 coord, vec2 size) +{ + return floor( coord / size ) * size; +} + +vec2 getMod(vec2 coord, vec2 size) +{ + return mod( coord , size) / size; +} + +float character(float n, vec2 p) +{ + p = floor(p*vec2(4.0, -4.0) + 2.5); + + if (clamp(p.x, 0.0, 4.0) == p.x) + { + if (clamp(p.y, 0.0, 4.0) == p.y) + { + if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0; + } + } + return 0.0; +} + +void main() +{ + vec2 coord = mapCoord(vTextureCoord); + + // get the rounded color.. + vec2 pixCoord = pixelate(coord, vec2(pixelSize)); + pixCoord = unmapCoord(pixCoord); + + vec4 color = texture2D(uSampler, pixCoord); + + // determine the character to use + float gray = (color.r + color.g + color.b) / 3.0; + + float n = 65536.0; // . + if (gray > 0.2) n = 65600.0; // : + if (gray > 0.3) n = 332772.0; // * + if (gray > 0.4) n = 15255086.0; // o + if (gray > 0.5) n = 23385164.0; // & + if (gray > 0.6) n = 15252014.0; // 8 + if (gray > 0.7) n = 13199452.0; // @ + if (gray > 0.8) n = 11512810.0; // # + + // get the mod.. + vec2 modd = getMod(coord, vec2(pixelSize)); + + gl_FragColor = color * character( n, vec2(-1.0) + modd * 2.0); + +} +`,vf=function(e){hf(t,e);function t(t){t===void 0&&(t=8);var n=e.call(this,gf,_f)||this;return n.size=t,n}return Object.defineProperty(t.prototype,`size`,{get:function(){return this.uniforms.pixelSize},set:function(e){this.uniforms.pixelSize=e},enumerable:!1,configurable:!0}),t}(qo),yf=function(e,t){return yf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},yf(e,t)};function bf(e,t){yf(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var xf=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Sf=`precision mediump float; + +varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; + +uniform float transformX; +uniform float transformY; +uniform vec3 lightColor; +uniform float lightAlpha; +uniform vec3 shadowColor; +uniform float shadowAlpha; + +void main(void) { + vec2 transform = vec2(1.0 / filterArea) * vec2(transformX, transformY); + vec4 color = texture2D(uSampler, vTextureCoord); + float light = texture2D(uSampler, vTextureCoord - transform).a; + float shadow = texture2D(uSampler, vTextureCoord + transform).a; + + color.rgb = mix(color.rgb, lightColor, clamp((color.a - light) * lightAlpha, 0.0, 1.0)); + color.rgb = mix(color.rgb, shadowColor, clamp((color.a - shadow) * shadowAlpha, 0.0, 1.0)); + gl_FragColor = vec4(color.rgb * color.a, color.a); +} +`,Cf=function(e){bf(t,e);function t(t){var n=e.call(this,xf,Sf)||this;return n._thickness=2,n._angle=0,n.uniforms.lightColor=new Float32Array(3),n.uniforms.shadowColor=new Float32Array(3),Object.assign(n,{rotation:45,thickness:2,lightColor:16777215,lightAlpha:.7,shadowColor:0,shadowAlpha:.7},t),n.padding=1,n}return t.prototype._updateTransform=function(){this.uniforms.transformX=this._thickness*Math.cos(this._angle),this.uniforms.transformY=this._thickness*Math.sin(this._angle)},Object.defineProperty(t.prototype,`rotation`,{get:function(){return this._angle/Li},set:function(e){this._angle=e*Li,this._updateTransform()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`thickness`,{get:function(){return this._thickness},set:function(e){this._thickness=e,this._updateTransform()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`lightColor`,{get:function(){return oi(this.uniforms.lightColor)},set:function(e){ii(e,this.uniforms.lightColor)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`lightAlpha`,{get:function(){return this.uniforms.lightAlpha},set:function(e){this.uniforms.lightAlpha=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`shadowColor`,{get:function(){return oi(this.uniforms.shadowColor)},set:function(e){ii(e,this.uniforms.shadowColor)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`shadowAlpha`,{get:function(){return this.uniforms.shadowAlpha},set:function(e){this.uniforms.shadowAlpha=e},enumerable:!1,configurable:!0}),t}(qo),wf=function(e,t){return wf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},wf(e,t)};function Tf(e,t){wf(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Ef=`varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform float uAlpha; + +void main(void) +{ + gl_FragColor = texture2D(uSampler, vTextureCoord) * uAlpha; +} +`,Df=function(e){Tf(t,e);function t(t){t===void 0&&(t=1);var n=e.call(this,Gs,Ef,{uAlpha:1})||this;return n.alpha=t,n}return Object.defineProperty(t.prototype,`alpha`,{get:function(){return this.uniforms.uAlpha},set:function(e){this.uniforms.uAlpha=e},enumerable:!1,configurable:!0}),t}(qo),Of=function(e,t){return Of=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},Of(e,t)};function kf(e,t){Of(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Af=` + attribute vec2 aVertexPosition; + + uniform mat3 projectionMatrix; + + uniform float strength; + + varying vec2 vBlurTexCoords[%size%]; + + uniform vec4 inputSize; + uniform vec4 outputFrame; + + vec4 filterVertexPosition( void ) + { + vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; + + return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); + } + + vec2 filterTextureCoord( void ) + { + return aVertexPosition * (outputFrame.zw * inputSize.zw); + } + + void main(void) + { + gl_Position = filterVertexPosition(); + + vec2 textureCoord = filterTextureCoord(); + %blur% + }`;function jf(e,t){var n=Math.ceil(e/2),r=Af,i=``,a;a=t?`vBlurTexCoords[%index%] = textureCoord + vec2(%sampleIndex% * strength, 0.0);`:`vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * strength);`;for(var o=0;o=n&&(o=e-s-1),c=c.replace(`%value%`,t[o].toString()),i+=c,i+=` +`}return r=r.replace(`%blur%`,i),r=r.replace(`%size%`,e.toString()),r}var Ff=function(e){kf(t,e);function t(t,n,r,i,a){n===void 0&&(n=8),r===void 0&&(r=4),i===void 0&&(i=Rr.FILTER_RESOLUTION),a===void 0&&(a=5);var o=this,s=jf(a,t),c=Pf(a);return o=e.call(this,s,c)||this,o.horizontal=t,o.resolution=i,o._quality=0,o.quality=r,o.blur=n,o}return t.prototype.apply=function(e,t,n,r){if(n?this.horizontal?this.uniforms.strength=1/n.width*(n.width/t.width):this.uniforms.strength=1/n.height*(n.height/t.height):this.horizontal?this.uniforms.strength=1/e.renderer.width*(e.renderer.width/t.width):this.uniforms.strength=1/e.renderer.height*(e.renderer.height/t.height),this.uniforms.strength*=this.strength,this.uniforms.strength/=this.passes,this.passes===1)e.applyFilter(this,t,n,r);else{var i=e.getFilterTexture(),a=e.renderer,o=t,s=i;this.state.blend=!1,e.applyFilter(this,o,s,lr.CLEAR);for(var c=1;c 0.0) { + coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75); + } else { + coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent); + } + } + coord += center * dimensions.xy; + coord /= filterArea.xy; + vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw); + vec4 color = texture2D(uSampler, clampedCoord); + if (coord != clampedCoord) { + color *= max(0.0, 1.0 - length(coord - clampedCoord)); + } + + gl_FragColor = color; +} +`,Wf=function(e){Vf(t,e);function t(n){var r=e.call(this,Hf,Uf)||this;return r.uniforms.dimensions=new Float32Array(2),Object.assign(r,t.defaults,n),r}return t.prototype.apply=function(e,t,n,r){var i=t.filterFrame,a=i.width,o=i.height;this.uniforms.dimensions[0]=a,this.uniforms.dimensions[1]=o,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`radius`,{get:function(){return this.uniforms.radius},set:function(e){this.uniforms.radius=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`strength`,{get:function(){return this.uniforms.strength},set:function(e){this.uniforms.strength=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`center`,{get:function(){return this.uniforms.center},set:function(e){this.uniforms.center=e},enumerable:!1,configurable:!0}),t.defaults={center:[.5,.5],radius:100,strength:1},t}(qo),Gf=function(e,t){return Gf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Gf(e,t)};function Kf(e,t){Gf(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var qf=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Jf=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform sampler2D colorMap; +uniform float _mix; +uniform float _size; +uniform float _sliceSize; +uniform float _slicePixelSize; +uniform float _sliceInnerSize; +void main() { + vec4 color = texture2D(uSampler, vTextureCoord.xy); + + vec4 adjusted; + if (color.a > 0.0) { + color.rgb /= color.a; + float innerWidth = _size - 1.0; + float zSlice0 = min(floor(color.b * innerWidth), innerWidth); + float zSlice1 = min(zSlice0 + 1.0, innerWidth); + float xOffset = _slicePixelSize * 0.5 + color.r * _sliceInnerSize; + float s0 = xOffset + (zSlice0 * _sliceSize); + float s1 = xOffset + (zSlice1 * _sliceSize); + float yOffset = _sliceSize * 0.5 + color.g * (1.0 - _sliceSize); + vec4 slice0Color = texture2D(colorMap, vec2(s0,yOffset)); + vec4 slice1Color = texture2D(colorMap, vec2(s1,yOffset)); + float zOffset = fract(color.b * innerWidth); + adjusted = mix(slice0Color, slice1Color, zOffset); + + color.rgb *= color.a; + } + gl_FragColor = vec4(mix(color, adjusted, _mix).rgb, color.a); + +}`,Yf=function(e){Kf(t,e);function t(t,n,r){n===void 0&&(n=!1),r===void 0&&(r=1);var i=e.call(this,qf,Jf)||this;return i.mix=1,i._size=0,i._sliceSize=0,i._slicePixelSize=0,i._sliceInnerSize=0,i._nearest=!1,i._scaleMode=null,i._colorMap=null,i._scaleMode=null,i.nearest=n,i.mix=r,i.colorMap=t,i}return t.prototype.apply=function(e,t,n,r){this.uniforms._mix=this.mix,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`colorSize`,{get:function(){return this._size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`colorMap`,{get:function(){return this._colorMap},set:function(e){var t;e&&(e instanceof Aa||(e=Aa.from(e)),(t=e)?.baseTexture&&(e.baseTexture.scaleMode=this._scaleMode,e.baseTexture.mipmap=sr.OFF,this._size=e.height,this._sliceSize=1/this._size,this._slicePixelSize=this._sliceSize/this._size,this._sliceInnerSize=this._slicePixelSize*(this._size-1),this.uniforms._size=this._size,this.uniforms._sliceSize=this._sliceSize,this.uniforms._slicePixelSize=this._slicePixelSize,this.uniforms._sliceInnerSize=this._sliceInnerSize,this.uniforms.colorMap=e),this._colorMap=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`nearest`,{get:function(){return this._nearest},set:function(e){this._nearest=e,this._scaleMode=e?ar.NEAREST:ar.LINEAR;var t=this._colorMap;t&&t.baseTexture&&(t.baseTexture._glTextures={},t.baseTexture.scaleMode=this._scaleMode,t.baseTexture.mipmap=sr.OFF,t._updateID++,t.baseTexture.emit(`update`,t.baseTexture))},enumerable:!1,configurable:!0}),t.prototype.updateColorMap=function(){var e=this._colorMap;e&&e.baseTexture&&(e._updateID++,e.baseTexture.emit(`update`,e.baseTexture),this.colorMap=e)},t.prototype.destroy=function(t){t===void 0&&(t=!1),this._colorMap&&this._colorMap.destroy(t),e.prototype.destroy.call(this)},t}(qo),Xf=function(e,t){return Xf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Xf(e,t)};function Zf(e,t){Xf(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Qf=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,$f=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec3 color; +uniform float alpha; + +void main(void) { + vec4 currentColor = texture2D(uSampler, vTextureCoord); + gl_FragColor = vec4(mix(currentColor.rgb, color.rgb, currentColor.a * alpha), currentColor.a); +} +`,ep=function(e){Zf(t,e);function t(t,n){t===void 0&&(t=0),n===void 0&&(n=1);var r=e.call(this,Qf,$f)||this;return r._color=0,r._alpha=1,r.uniforms.color=new Float32Array(3),r.color=t,r.alpha=n,r}return Object.defineProperty(t.prototype,`color`,{get:function(){return this._color},set:function(e){var t=this.uniforms.color;typeof e==`number`?(ii(e,t),this._color=e):(t[0]=e[0],t[1]=e[1],t[2]=e[2],this._color=oi(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`alpha`,{get:function(){return this._alpha},set:function(e){this.uniforms.alpha=e,this._alpha=e},enumerable:!1,configurable:!0}),t}(qo),tp=function(e,t){return tp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},tp(e,t)};function np(e,t){tp(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var rp=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,ip=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec3 originalColor; +uniform vec3 newColor; +uniform float epsilon; +void main(void) { + vec4 currentColor = texture2D(uSampler, vTextureCoord); + vec3 colorDiff = originalColor - (currentColor.rgb / max(currentColor.a, 0.0000000001)); + float colorDistance = length(colorDiff); + float doReplace = step(colorDistance, epsilon); + gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a); +} +`,ap=function(e){np(t,e);function t(t,n,r){t===void 0&&(t=16711680),n===void 0&&(n=0),r===void 0&&(r=.4);var i=e.call(this,rp,ip)||this;return i._originalColor=16711680,i._newColor=0,i.uniforms.originalColor=new Float32Array(3),i.uniforms.newColor=new Float32Array(3),i.originalColor=t,i.newColor=n,i.epsilon=r,i}return Object.defineProperty(t.prototype,`originalColor`,{get:function(){return this._originalColor},set:function(e){var t=this.uniforms.originalColor;typeof e==`number`?(ii(e,t),this._originalColor=e):(t[0]=e[0],t[1]=e[1],t[2]=e[2],this._originalColor=oi(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`newColor`,{get:function(){return this._newColor},set:function(e){var t=this.uniforms.newColor;typeof e==`number`?(ii(e,t),this._newColor=e):(t[0]=e[0],t[1]=e[1],t[2]=e[2],this._newColor=oi(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`epsilon`,{get:function(){return this.uniforms.epsilon},set:function(e){this.uniforms.epsilon=e},enumerable:!1,configurable:!0}),t}(qo),op=function(e,t){return op=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},op(e,t)};function sp(e,t){op(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var cp=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,lp=`precision mediump float; + +varying mediump vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform vec2 texelSize; +uniform float matrix[9]; + +void main(void) +{ + vec4 c11 = texture2D(uSampler, vTextureCoord - texelSize); // top left + vec4 c12 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - texelSize.y)); // top center + vec4 c13 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y - texelSize.y)); // top right + + vec4 c21 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y)); // mid left + vec4 c22 = texture2D(uSampler, vTextureCoord); // mid center + vec4 c23 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y)); // mid right + + vec4 c31 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y + texelSize.y)); // bottom left + vec4 c32 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + texelSize.y)); // bottom center + vec4 c33 = texture2D(uSampler, vTextureCoord + texelSize); // bottom right + + gl_FragColor = + c11 * matrix[0] + c12 * matrix[1] + c13 * matrix[2] + + c21 * matrix[3] + c22 * matrix[4] + c23 * matrix[5] + + c31 * matrix[6] + c32 * matrix[7] + c33 * matrix[8]; + + gl_FragColor.a = c22.a; +} +`,up=function(e){sp(t,e);function t(t,n,r){n===void 0&&(n=200),r===void 0&&(r=200);var i=e.call(this,cp,lp)||this;return i.uniforms.texelSize=new Float32Array(2),i.uniforms.matrix=new Float32Array(9),t!==void 0&&(i.matrix=t),i.width=n,i.height=r,i}return Object.defineProperty(t.prototype,`matrix`,{get:function(){return this.uniforms.matrix},set:function(e){var t=this;e.forEach(function(e,n){t.uniforms.matrix[n]=e})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`width`,{get:function(){return 1/this.uniforms.texelSize[0]},set:function(e){this.uniforms.texelSize[0]=1/e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`height`,{get:function(){return 1/this.uniforms.texelSize[1]},set:function(e){this.uniforms.texelSize[1]=1/e},enumerable:!1,configurable:!0}),t}(qo),dp=function(e,t){return dp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},dp(e,t)};function fp(e,t){dp(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var pp=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,mp=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform sampler2D uSampler; + +void main(void) +{ + float lum = length(texture2D(uSampler, vTextureCoord.xy).rgb); + + gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); + + if (lum < 1.00) + { + if (mod(gl_FragCoord.x + gl_FragCoord.y, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } + + if (lum < 0.75) + { + if (mod(gl_FragCoord.x - gl_FragCoord.y, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } + + if (lum < 0.50) + { + if (mod(gl_FragCoord.x + gl_FragCoord.y - 5.0, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } + + if (lum < 0.3) + { + if (mod(gl_FragCoord.x - gl_FragCoord.y - 5.0, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } +} +`,hp=function(e){fp(t,e);function t(){return e.call(this,pp,mp)||this}return t}(qo),gp=function(e,t){return gp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},gp(e,t)};function _p(e,t){gp(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var vp=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,yp=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec4 filterArea; +uniform vec2 dimensions; + +const float SQRT_2 = 1.414213; + +const float light = 1.0; + +uniform float curvature; +uniform float lineWidth; +uniform float lineContrast; +uniform bool verticalLine; +uniform float noise; +uniform float noiseSize; + +uniform float vignetting; +uniform float vignettingAlpha; +uniform float vignettingBlur; + +uniform float seed; +uniform float time; + +float rand(vec2 co) { + return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + vec2 dir = vec2(vTextureCoord.xy * filterArea.xy / dimensions - vec2(0.5, 0.5)); + + gl_FragColor = texture2D(uSampler, vTextureCoord); + vec3 rgb = gl_FragColor.rgb; + + if (noise > 0.0 && noiseSize > 0.0) + { + pixelCoord.x = floor(pixelCoord.x / noiseSize); + pixelCoord.y = floor(pixelCoord.y / noiseSize); + float _noise = rand(pixelCoord * noiseSize * seed) - 0.5; + rgb += _noise * noise; + } + + if (lineWidth > 0.0) + { + float _c = curvature > 0. ? curvature : 1.; + float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.; + vec2 uv = dir * k; + + float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c; + float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast; + rgb *= j; + float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.); + rgb *= 0.99 + ceil(segment) * 0.015; + } + + if (vignetting > 0.0) + { + float outter = SQRT_2 - vignetting * SQRT_2; + float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0); + rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha); + } + + gl_FragColor.rgb = rgb; +} +`,bp=function(e){_p(t,e);function t(n){var r=e.call(this,vp,yp)||this;return r.time=0,r.seed=0,r.uniforms.dimensions=new Float32Array(2),Object.assign(r,t.defaults,n),r}return t.prototype.apply=function(e,t,n,r){var i=t.filterFrame,a=i.width,o=i.height;this.uniforms.dimensions[0]=a,this.uniforms.dimensions[1]=o,this.uniforms.seed=this.seed,this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`curvature`,{get:function(){return this.uniforms.curvature},set:function(e){this.uniforms.curvature=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`lineWidth`,{get:function(){return this.uniforms.lineWidth},set:function(e){this.uniforms.lineWidth=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`lineContrast`,{get:function(){return this.uniforms.lineContrast},set:function(e){this.uniforms.lineContrast=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`verticalLine`,{get:function(){return this.uniforms.verticalLine},set:function(e){this.uniforms.verticalLine=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`noise`,{get:function(){return this.uniforms.noise},set:function(e){this.uniforms.noise=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`noiseSize`,{get:function(){return this.uniforms.noiseSize},set:function(e){this.uniforms.noiseSize=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`vignetting`,{get:function(){return this.uniforms.vignetting},set:function(e){this.uniforms.vignetting=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`vignettingAlpha`,{get:function(){return this.uniforms.vignettingAlpha},set:function(e){this.uniforms.vignettingAlpha=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`vignettingBlur`,{get:function(){return this.uniforms.vignettingBlur},set:function(e){this.uniforms.vignettingBlur=e},enumerable:!1,configurable:!0}),t.defaults={curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0},t}(qo),xp=function(e,t){return xp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},xp(e,t)};function Sp(e,t){xp(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Cp=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,wp=`precision mediump float; + +varying vec2 vTextureCoord; +varying vec4 vColor; + +uniform vec4 filterArea; +uniform sampler2D uSampler; + +uniform float angle; +uniform float scale; + +float pattern() +{ + float s = sin(angle), c = cos(angle); + vec2 tex = vTextureCoord * filterArea.xy; + vec2 point = vec2( + c * tex.x - s * tex.y, + s * tex.x + c * tex.y + ) * scale; + return (sin(point.x) * sin(point.y)) * 4.0; +} + +void main() +{ + vec4 color = texture2D(uSampler, vTextureCoord); + float average = (color.r + color.g + color.b) / 3.0; + gl_FragColor = vec4(vec3(average * 10.0 - 5.0 + pattern()), color.a); +} +`,Tp=function(e){Sp(t,e);function t(t,n){t===void 0&&(t=1),n===void 0&&(n=5);var r=e.call(this,Cp,wp)||this;return r.scale=t,r.angle=n,r}return Object.defineProperty(t.prototype,`scale`,{get:function(){return this.uniforms.scale},set:function(e){this.uniforms.scale=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`angle`,{get:function(){return this.uniforms.angle},set:function(e){this.uniforms.angle=e},enumerable:!1,configurable:!0}),t}(qo),Ep=function(e,t){return Ep=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Ep(e,t)};function Dp(e,t){Ep(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Op=function(){return Op=Object.assign||function(e){for(var t=arguments,n,r=1,i=arguments.length;r 1.0 || coord.y > 1.0) { + return; + } + + float cx = coord.x - 0.5; + float cy = (coord.y - 0.5) * aspect; + float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5; + + // displacementMap: repeat + // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny); + + // displacementMap: mirror + ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny); + + vec4 dc = texture2D(displacementMap, vec2(0.5, ny)); + + float displacement = (dc.r - dc.g) * (offset / filterArea.x); + + coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * aspect); + + if (fillMode == CLAMP) { + coord = clamp(coord, filterClamp.xy, filterClamp.zw); + } else { + if( coord.x > filterClamp.z ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.x -= filterClamp.z; + } else if (fillMode == MIRROR) { + coord.x = filterClamp.z * 2.0 - coord.x; + } + } else if( coord.x < filterClamp.x ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.x += filterClamp.z; + } else if (fillMode == MIRROR) { + coord.x *= -filterClamp.z; + } + } + + if( coord.y > filterClamp.w ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.y -= filterClamp.w; + } else if (fillMode == MIRROR) { + coord.y = filterClamp.w * 2.0 - coord.y; + } + } else if( coord.y < filterClamp.y ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.y += filterClamp.w; + } else if (fillMode == MIRROR) { + coord.y *= -filterClamp.w; + } + } + } + + gl_FragColor.r = texture2D(uSampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r; + gl_FragColor.g = texture2D(uSampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g; + gl_FragColor.b = texture2D(uSampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b; + gl_FragColor.a = texture2D(uSampler, coord).a; +} +`,Vp=function(e){Rp(t,e);function t(n){var r=e.call(this,zp,Bp)||this;return r.offset=100,r.fillMode=t.TRANSPARENT,r.average=!1,r.seed=0,r.minSize=8,r.sampleSize=512,r._slices=0,r._offsets=new Float32Array(1),r._sizes=new Float32Array(1),r._direction=-1,r.uniforms.dimensions=new Float32Array(2),r._canvas=document.createElement(`canvas`),r._canvas.width=4,r._canvas.height=r.sampleSize,r.texture=Aa.from(r._canvas,{scaleMode:ar.NEAREST}),Object.assign(r,t.defaults,n),r}return t.prototype.apply=function(e,t,n,r){var i=t.filterFrame,a=i.width,o=i.height;this.uniforms.dimensions[0]=a,this.uniforms.dimensions[1]=o,this.uniforms.aspect=o/a,this.uniforms.seed=this.seed,this.uniforms.offset=this.offset,this.uniforms.fillMode=this.fillMode,e.applyFilter(this,t,n,r)},t.prototype._randomizeSizes=function(){var e=this._sizes,t=this._slices-1,n=this.sampleSize,r=Math.min(this.minSize/n,.9/this._slices);if(this.average){for(var i=this._slices,a=1,o=0;o0;n--){var r=Math.random()*n>>0,i=e[n];e[n]=e[r],e[r]=i}},t.prototype._randomizeOffsets=function(){for(var e=0;e0?r:0,c=r<0?-r:0;n.fillStyle=`rgba(`+s+`, `+c+`, 0, 1)`,n.fillRect(0,i>>0,e,o+1>>0),i+=o}t.baseTexture.update(),this.uniforms.displacementMap=t},Object.defineProperty(t.prototype,`sizes`,{get:function(){return this._sizes},set:function(e){for(var t=Math.min(this._slices,e.length),n=0;n>0)+1},Object.defineProperty(t.prototype,`offset`,{get:function(){return this.uniforms.uOffset},set:function(e){this.uniforms.uOffset=e},enumerable:!1,configurable:!0}),t}(qo),im=function(e,t){return im=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},im(e,t)};function am(e,t){im(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var om=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,sm=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform float epsilon; + +const int MAX_COLORS = %maxColors%; + +uniform vec3 originalColors[MAX_COLORS]; +uniform vec3 targetColors[MAX_COLORS]; + +void main(void) +{ + gl_FragColor = texture2D(uSampler, vTextureCoord); + + float alpha = gl_FragColor.a; + if (alpha < 0.0001) + { + return; + } + + vec3 color = gl_FragColor.rgb / alpha; + + for(int i = 0; i < MAX_COLORS; i++) + { + vec3 origColor = originalColors[i]; + if (origColor.r < 0.0) + { + break; + } + vec3 colorDiff = origColor - color; + if (length(colorDiff) < epsilon) + { + vec3 targetColor = targetColors[i]; + gl_FragColor = vec4((targetColor + colorDiff) * alpha, alpha); + return; + } + } +} +`,cm=function(e){am(t,e);function t(t,n,r){n===void 0&&(n=.05),r===void 0&&(r=t.length);var i=e.call(this,om,sm.replace(/%maxColors%/g,r.toFixed(0)))||this;return i._replacements=[],i._maxColors=0,i.epsilon=n,i._maxColors=r,i.uniforms.originalColors=new Float32Array(r*3),i.uniforms.targetColors=new Float32Array(r*3),i.replacements=t,i}return Object.defineProperty(t.prototype,`replacements`,{get:function(){return this._replacements},set:function(e){var t=this.uniforms.originalColors,n=this.uniforms.targetColors,r=e.length;if(r>this._maxColors)throw Error(`Length of replacements (`+r+`) exceeds the maximum colors length (`+this._maxColors+`)`);t[r*3]=-1;for(var i=0;i 0.5) then: 1 - 2 * (1 - dst) * (1 - src) + return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)), + (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)), + (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z))); +} + + +void main() +{ + gl_FragColor = texture2D(uSampler, vTextureCoord); + vec3 color = gl_FragColor.rgb; + + if (sepia > 0.0) + { + float gray = (color.x + color.y + color.z) / 3.0; + vec3 grayscale = vec3(gray); + + color = Overlay(SEPIA_RGB, grayscale); + + color = grayscale + sepia * (color - grayscale); + } + + vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy; + + if (vignetting > 0.0) + { + float outter = SQRT_2 - vignetting * SQRT_2; + vec2 dir = vec2(vec2(0.5, 0.5) - coord); + dir.y *= dimensions.y / dimensions.x; + float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0); + color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha); + } + + if (scratchDensity > seed && scratch != 0.0) + { + float phase = seed * 256.0; + float s = mod(floor(phase), 2.0); + float dist = 1.0 / scratchDensity; + float d = distance(coord, vec2(seed * dist, abs(s - seed * dist))); + if (d < seed * 0.6 + 0.4) + { + highp float period = scratchDensity * 10.0; + + float xx = coord.x * period + phase; + float aa = abs(mod(xx, 0.5) * 4.0); + float bb = mod(floor(xx / 0.5), 2.0); + float yy = (1.0 - bb) * aa + bb * (2.0 - aa); + + float kk = 2.0 * period; + float dw = scratchWidth / dimensions.x * (0.75 + seed); + float dh = dw * kk; + + float tine = (yy - (2.0 - dh)); + + if (tine > 0.0) { + float _sign = sign(scratch); + + tine = s * tine / period + scratch + 0.1; + tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5); + + color.rgb *= tine; + } + } + } + + if (noise > 0.0 && noiseSize > 0.0) + { + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + pixelCoord.x = floor(pixelCoord.x / noiseSize); + pixelCoord.y = floor(pixelCoord.y / noiseSize); + // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0); + // float _noise = snoise(d) * 0.5; + float _noise = rand(pixelCoord * noiseSize * seed) - 0.5; + color += _noise * noise; + } + + gl_FragColor.rgb = color; +} +`,pm=function(e){um(t,e);function t(n,r){r===void 0&&(r=0);var i=e.call(this,dm,fm)||this;return i.seed=0,i.uniforms.dimensions=new Float32Array(2),typeof n==`number`?(i.seed=n,n=void 0):i.seed=r,Object.assign(i,t.defaults,n),i}return t.prototype.apply=function(e,t,n,r){var i,a;this.uniforms.dimensions[0]=(i=t.filterFrame)?.width,this.uniforms.dimensions[1]=(a=t.filterFrame)?.height,this.uniforms.seed=this.seed,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`sepia`,{get:function(){return this.uniforms.sepia},set:function(e){this.uniforms.sepia=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`noise`,{get:function(){return this.uniforms.noise},set:function(e){this.uniforms.noise=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`noiseSize`,{get:function(){return this.uniforms.noiseSize},set:function(e){this.uniforms.noiseSize=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`scratch`,{get:function(){return this.uniforms.scratch},set:function(e){this.uniforms.scratch=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`scratchDensity`,{get:function(){return this.uniforms.scratchDensity},set:function(e){this.uniforms.scratchDensity=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`scratchWidth`,{get:function(){return this.uniforms.scratchWidth},set:function(e){this.uniforms.scratchWidth=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`vignetting`,{get:function(){return this.uniforms.vignetting},set:function(e){this.uniforms.vignetting=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`vignettingAlpha`,{get:function(){return this.uniforms.vignettingAlpha},set:function(e){this.uniforms.vignettingAlpha=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`vignettingBlur`,{get:function(){return this.uniforms.vignettingBlur},set:function(e){this.uniforms.vignettingBlur=e},enumerable:!1,configurable:!0}),t.defaults={sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3},t}(qo),mm=function(e,t){return mm=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},mm(e,t)};function hm(e,t){mm(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var gm=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,_m=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 thickness; +uniform vec4 outlineColor; +uniform vec4 filterClamp; + +const float DOUBLE_PI = 3.14159265358979323846264 * 2.; + +void main(void) { + vec4 ownColor = texture2D(uSampler, vTextureCoord); + vec4 curColor; + float maxAlpha = 0.; + vec2 displaced; + for (float angle = 0.; angle <= DOUBLE_PI; angle += \${angleStep}) { + displaced.x = vTextureCoord.x + thickness.x * cos(angle); + displaced.y = vTextureCoord.y + thickness.y * sin(angle); + curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw)); + maxAlpha = max(maxAlpha, curColor.a); + } + float resultAlpha = max(maxAlpha, ownColor.a); + gl_FragColor = vec4((ownColor.rgb + outlineColor.rgb * (1. - ownColor.a)) * resultAlpha, resultAlpha); +} +`,vm=function(e){hm(t,e);function t(n,r,i){n===void 0&&(n=1),r===void 0&&(r=0),i===void 0&&(i=.1);var a=e.call(this,gm,_m.replace(/\$\{angleStep\}/,t.getAngleStep(i)))||this;return a._thickness=1,a.uniforms.thickness=new Float32Array([0,0]),a.uniforms.outlineColor=new Float32Array([0,0,0,1]),Object.assign(a,{thickness:n,color:r,quality:i}),a}return t.getAngleStep=function(e){var n=Math.max(e*t.MAX_SAMPLES,t.MIN_SAMPLES);return(Math.PI*2/n).toFixed(7)},t.prototype.apply=function(e,t,n,r){this.uniforms.thickness[0]=this._thickness/t._frame.width,this.uniforms.thickness[1]=this._thickness/t._frame.height,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`color`,{get:function(){return oi(this.uniforms.outlineColor)},set:function(e){ii(e,this.uniforms.outlineColor)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`thickness`,{get:function(){return this._thickness},set:function(e){this._thickness=e,this.padding=e},enumerable:!1,configurable:!0}),t.MIN_SAMPLES=1,t.MAX_SAMPLES=100,t}(qo),ym=function(e,t){return ym=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},ym(e,t)};function bm(e,t){ym(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var xm=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Sm=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform vec2 size; +uniform sampler2D uSampler; + +uniform vec4 filterArea; + +vec2 mapCoord( vec2 coord ) +{ + coord *= filterArea.xy; + coord += filterArea.zw; + + return coord; +} + +vec2 unmapCoord( vec2 coord ) +{ + coord -= filterArea.zw; + coord /= filterArea.xy; + + return coord; +} + +vec2 pixelate(vec2 coord, vec2 size) +{ + return floor( coord / size ) * size; +} + +void main(void) +{ + vec2 coord = mapCoord(vTextureCoord); + + coord = pixelate(coord, size); + + coord = unmapCoord(coord); + + gl_FragColor = texture2D(uSampler, coord); +} +`,Cm=function(e){bm(t,e);function t(t){t===void 0&&(t=10);var n=e.call(this,xm,Sm)||this;return n.size=t,n}return Object.defineProperty(t.prototype,`size`,{get:function(){return this.uniforms.size},set:function(e){typeof e==`number`&&(e=[e,e]),this.uniforms.size=e},enumerable:!1,configurable:!0}),t}(qo),wm=function(e,t){return wm=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},wm(e,t)};function Tm(e,t){wm(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Em=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Dm=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; + +uniform float uRadian; +uniform vec2 uCenter; +uniform float uRadius; +uniform int uKernelSize; + +const int MAX_KERNEL_SIZE = 2048; + +void main(void) +{ + vec4 color = texture2D(uSampler, vTextureCoord); + + if (uKernelSize == 0) + { + gl_FragColor = color; + return; + } + + float aspect = filterArea.y / filterArea.x; + vec2 center = uCenter.xy / filterArea.xy; + float gradient = uRadius / filterArea.x * 0.3; + float radius = uRadius / filterArea.x - gradient * 0.5; + int k = uKernelSize - 1; + + vec2 coord = vTextureCoord; + vec2 dir = vec2(center - coord); + float dist = length(vec2(dir.x, dir.y * aspect)); + + float radianStep = uRadian; + if (radius >= 0.0 && dist > radius) { + float delta = dist - radius; + float gap = gradient; + float scale = 1.0 - abs(delta / gap); + if (scale <= 0.0) { + gl_FragColor = color; + return; + } + radianStep *= scale; + } + radianStep /= float(k); + + float s = sin(radianStep); + float c = cos(radianStep); + mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c)); + + for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) { + if (i == k) { + break; + } + + coord -= center; + coord.y *= aspect; + coord = rotationMatrix * coord; + coord.y /= aspect; + coord += center; + + vec4 sample = texture2D(uSampler, coord); + + // switch to pre-multiplied alpha to correctly blur transparent images + // sample.rgb *= sample.a; + + color += sample; + } + + gl_FragColor = color / float(uKernelSize); +} +`,Om=function(e){Tm(t,e);function t(t,n,r,i){t===void 0&&(t=0),n===void 0&&(n=[0,0]),r===void 0&&(r=5),i===void 0&&(i=-1);var a=e.call(this,Em,Dm)||this;return a._angle=0,a.angle=t,a.center=n,a.kernelSize=r,a.radius=i,a}return t.prototype.apply=function(e,t,n,r){this.uniforms.uKernelSize=this._angle===0?0:this.kernelSize,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`angle`,{get:function(){return this._angle},set:function(e){this._angle=e,this.uniforms.uRadian=e*Math.PI/180},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`center`,{get:function(){return this.uniforms.uCenter},set:function(e){this.uniforms.uCenter=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`radius`,{get:function(){return this.uniforms.uRadius},set:function(e){(e<0||e===1/0)&&(e=-1),this.uniforms.uRadius=e},enumerable:!1,configurable:!0}),t}(qo),km=function(e,t){return km=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},km(e,t)};function Am(e,t){km(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var jm=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Mm=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec4 filterArea; +uniform vec4 filterClamp; +uniform vec2 dimensions; + +uniform bool mirror; +uniform float boundary; +uniform vec2 amplitude; +uniform vec2 waveLength; +uniform vec2 alpha; +uniform float time; + +float rand(vec2 co) { + return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + vec2 coord = pixelCoord / dimensions; + + if (coord.y < boundary) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + + float k = (coord.y - boundary) / (1. - boundary + 0.0001); + float areaY = boundary * dimensions.y / filterArea.y; + float v = areaY + areaY - vTextureCoord.y; + float y = mirror ? v : vTextureCoord.y; + + float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x; + float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y; + float _alpha = (alpha.y - alpha.x) * k + alpha.x; + + float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude; + x = clamp(x, filterClamp.x, filterClamp.z); + + vec4 color = texture2D(uSampler, vec2(x, y)); + + gl_FragColor = color * _alpha; +} +`,Nm=function(e){Am(t,e);function t(n){var r=e.call(this,jm,Mm)||this;return r.time=0,r.uniforms.amplitude=new Float32Array(2),r.uniforms.waveLength=new Float32Array(2),r.uniforms.alpha=new Float32Array(2),r.uniforms.dimensions=new Float32Array(2),Object.assign(r,t.defaults,n),r}return t.prototype.apply=function(e,t,n,r){var i,a;this.uniforms.dimensions[0]=(i=t.filterFrame)?.width,this.uniforms.dimensions[1]=(a=t.filterFrame)?.height,this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`mirror`,{get:function(){return this.uniforms.mirror},set:function(e){this.uniforms.mirror=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`boundary`,{get:function(){return this.uniforms.boundary},set:function(e){this.uniforms.boundary=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`amplitude`,{get:function(){return this.uniforms.amplitude},set:function(e){this.uniforms.amplitude[0]=e[0],this.uniforms.amplitude[1]=e[1]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`waveLength`,{get:function(){return this.uniforms.waveLength},set:function(e){this.uniforms.waveLength[0]=e[0],this.uniforms.waveLength[1]=e[1]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`alpha`,{get:function(){return this.uniforms.alpha},set:function(e){this.uniforms.alpha[0]=e[0],this.uniforms.alpha[1]=e[1]},enumerable:!1,configurable:!0}),t.defaults={mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0},t}(qo),Pm=function(e,t){return Pm=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Pm(e,t)};function Fm(e,t){Pm(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Im=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Lm=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform vec4 filterArea; +uniform vec2 red; +uniform vec2 green; +uniform vec2 blue; + +void main(void) +{ + gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r; + gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g; + gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b; + gl_FragColor.a = texture2D(uSampler, vTextureCoord).a; +} +`,Rm=function(e){Fm(t,e);function t(t,n,r){t===void 0&&(t=[-10,0]),n===void 0&&(n=[0,10]),r===void 0&&(r=[0,0]);var i=e.call(this,Im,Lm)||this;return i.red=t,i.green=n,i.blue=r,i}return Object.defineProperty(t.prototype,`red`,{get:function(){return this.uniforms.red},set:function(e){this.uniforms.red=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`green`,{get:function(){return this.uniforms.green},set:function(e){this.uniforms.green=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`blue`,{get:function(){return this.uniforms.blue},set:function(e){this.uniforms.blue=e},enumerable:!1,configurable:!0}),t}(qo),zm=function(e,t){return zm=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},zm(e,t)};function Bm(e,t){zm(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Vm=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Hm=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; +uniform vec4 filterClamp; + +uniform vec2 center; + +uniform float amplitude; +uniform float wavelength; +// uniform float power; +uniform float brightness; +uniform float speed; +uniform float radius; + +uniform float time; + +const float PI = 3.14159; + +void main() +{ + float halfWavelength = wavelength * 0.5 / filterArea.x; + float maxRadius = radius / filterArea.x; + float currentRadius = time * speed / filterArea.x; + + float fade = 1.0; + + if (maxRadius > 0.0) { + if (currentRadius > maxRadius) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + fade = 1.0 - pow(currentRadius / maxRadius, 2.0); + } + + vec2 dir = vec2(vTextureCoord - center / filterArea.xy); + dir.y *= filterArea.y / filterArea.x; + float dist = length(dir); + + if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + + vec2 diffUV = normalize(dir); + + float diff = (dist - currentRadius) / halfWavelength; + + float p = 1.0 - pow(abs(diff), 2.0); + + // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade ); + float powDiff = 1.25 * sin(diff * PI) * p * ( amplitude * fade ); + + vec2 offset = diffUV * powDiff / filterArea.xy; + + // Do clamp : + vec2 coord = vTextureCoord + offset; + vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw); + vec4 color = texture2D(uSampler, clampedCoord); + if (coord != clampedCoord) { + color *= max(0.0, 1.0 - length(coord - clampedCoord)); + } + + // No clamp : + // gl_FragColor = texture2D(uSampler, vTextureCoord + offset); + + color.rgb *= 1.0 + (brightness - 1.0) * p * fade; + + gl_FragColor = color; +} +`,Um=function(e){Bm(t,e);function t(n,r,i){n===void 0&&(n=[0,0]),i===void 0&&(i=0);var a=e.call(this,Vm,Hm)||this;return a.center=n,Object.assign(a,t.defaults,r),a.time=i,a}return t.prototype.apply=function(e,t,n,r){this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`center`,{get:function(){return this.uniforms.center},set:function(e){this.uniforms.center=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`amplitude`,{get:function(){return this.uniforms.amplitude},set:function(e){this.uniforms.amplitude=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`wavelength`,{get:function(){return this.uniforms.wavelength},set:function(e){this.uniforms.wavelength=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`brightness`,{get:function(){return this.uniforms.brightness},set:function(e){this.uniforms.brightness=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`speed`,{get:function(){return this.uniforms.speed},set:function(e){this.uniforms.speed=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`radius`,{get:function(){return this.uniforms.radius},set:function(e){this.uniforms.radius=e},enumerable:!1,configurable:!0}),t.defaults={amplitude:30,wavelength:160,brightness:1,speed:500,radius:-1},t}(qo),Wm=function(e,t){return Wm=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Wm(e,t)};function Gm(e,t){Wm(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Km=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,qm=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform sampler2D uLightmap; +uniform vec4 filterArea; +uniform vec2 dimensions; +uniform vec4 ambientColor; +void main() { + vec4 diffuseColor = texture2D(uSampler, vTextureCoord); + vec2 lightCoord = (vTextureCoord * filterArea.xy) / dimensions; + vec4 light = texture2D(uLightmap, lightCoord); + vec3 ambient = ambientColor.rgb * ambientColor.a; + vec3 intensity = ambient + light.rgb; + vec3 finalColor = diffuseColor.rgb * intensity; + gl_FragColor = vec4(finalColor, diffuseColor.a); +} +`,Jm=function(e){Gm(t,e);function t(t,n,r){n===void 0&&(n=0),r===void 0&&(r=1);var i=e.call(this,Km,qm)||this;return i._color=0,i.uniforms.dimensions=new Float32Array(2),i.uniforms.ambientColor=new Float32Array([0,0,0,r]),i.texture=t,i.color=n,i}return t.prototype.apply=function(e,t,n,r){var i,a;this.uniforms.dimensions[0]=(i=t.filterFrame)?.width,this.uniforms.dimensions[1]=(a=t.filterFrame)?.height,e.applyFilter(this,t,n,r)},Object.defineProperty(t.prototype,`texture`,{get:function(){return this.uniforms.uLightmap},set:function(e){this.uniforms.uLightmap=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`color`,{get:function(){return this._color},set:function(e){var t=this.uniforms.ambientColor;typeof e==`number`?(ii(e,t),this._color=e):(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],this._color=oi(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`alpha`,{get:function(){return this.uniforms.ambientColor[3]},set:function(e){this.uniforms.ambientColor[3]=e},enumerable:!1,configurable:!0}),t}(qo),Ym=function(e,t){return Ym=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Ym(e,t)};function Xm(e,t){Ym(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Zm=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Qm=`varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform float blur; +uniform float gradientBlur; +uniform vec2 start; +uniform vec2 end; +uniform vec2 delta; +uniform vec2 texSize; + +float random(vec3 scale, float seed) +{ + return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed); +} + +void main(void) +{ + vec4 color = vec4(0.0); + float total = 0.0; + + float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0); + vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x)); + float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur; + + for (float t = -30.0; t <= 30.0; t++) + { + float percent = (t + offset - 0.5) / 30.0; + float weight = 1.0 - abs(percent); + vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius); + sample.rgb *= sample.a; + color += sample * weight; + total += weight; + } + + color /= total; + color.rgb /= color.a + 0.00001; + + gl_FragColor = color; +} +`,$m=function(e){Xm(t,e);function t(t,n,r,i){t===void 0&&(t=100),n===void 0&&(n=600);var a=e.call(this,Zm,Qm)||this;return a.uniforms.blur=t,a.uniforms.gradientBlur=n,a.uniforms.start=r||new zi(0,window.innerHeight/2),a.uniforms.end=i||new zi(600,window.innerHeight/2),a.uniforms.delta=new zi(30,30),a.uniforms.texSize=new zi(window.innerWidth,window.innerHeight),a.updateDelta(),a}return t.prototype.updateDelta=function(){this.uniforms.delta.x=0,this.uniforms.delta.y=0},Object.defineProperty(t.prototype,`blur`,{get:function(){return this.uniforms.blur},set:function(e){this.uniforms.blur=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`gradientBlur`,{get:function(){return this.uniforms.gradientBlur},set:function(e){this.uniforms.gradientBlur=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`start`,{get:function(){return this.uniforms.start},set:function(e){this.uniforms.start=e,this.updateDelta()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`end`,{get:function(){return this.uniforms.end},set:function(e){this.uniforms.end=e,this.updateDelta()},enumerable:!1,configurable:!0}),t}(qo),eh=function(e){Xm(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.updateDelta=function(){var e=this.uniforms.end.x-this.uniforms.start.x,t=this.uniforms.end.y-this.uniforms.start.y,n=Math.sqrt(e*e+t*t);this.uniforms.delta.x=e/n,this.uniforms.delta.y=t/n},t}($m),th=function(e){Xm(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.updateDelta=function(){var e=this.uniforms.end.x-this.uniforms.start.x,t=this.uniforms.end.y-this.uniforms.start.y,n=Math.sqrt(e*e+t*t);this.uniforms.delta.x=-t/n,this.uniforms.delta.y=e/n},t}($m),nh=function(e){Xm(t,e);function t(t,n,r,i){t===void 0&&(t=100),n===void 0&&(n=600);var a=e.call(this)||this;return a.tiltShiftXFilter=new eh(t,n,r,i),a.tiltShiftYFilter=new th(t,n,r,i),a}return t.prototype.apply=function(e,t,n,r){var i=e.getFilterTexture();this.tiltShiftXFilter.apply(e,t,i,1),this.tiltShiftYFilter.apply(e,i,n,r),e.returnFilterTexture(i)},Object.defineProperty(t.prototype,`blur`,{get:function(){return this.tiltShiftXFilter.blur},set:function(e){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`gradientBlur`,{get:function(){return this.tiltShiftXFilter.gradientBlur},set:function(e){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`start`,{get:function(){return this.tiltShiftXFilter.start},set:function(e){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`end`,{get:function(){return this.tiltShiftXFilter.end},set:function(e){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=e},enumerable:!1,configurable:!0}),t}(qo),rh=function(e,t){return rh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},rh(e,t)};function ih(e,t){rh(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var ah=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,oh=`varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform float radius; +uniform float angle; +uniform vec2 offset; +uniform vec4 filterArea; + +vec2 mapCoord( vec2 coord ) +{ + coord *= filterArea.xy; + coord += filterArea.zw; + + return coord; +} + +vec2 unmapCoord( vec2 coord ) +{ + coord -= filterArea.zw; + coord /= filterArea.xy; + + return coord; +} + +vec2 twist(vec2 coord) +{ + coord -= offset; + + float dist = length(coord); + + if (dist < radius) + { + float ratioDist = (radius - dist) / radius; + float angleMod = ratioDist * ratioDist * angle; + float s = sin(angleMod); + float c = cos(angleMod); + coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c); + } + + coord += offset; + + return coord; +} + +void main(void) +{ + + vec2 coord = mapCoord(vTextureCoord); + + coord = twist(coord); + + coord = unmapCoord(coord); + + gl_FragColor = texture2D(uSampler, coord ); + +} +`,sh=function(e){ih(t,e);function t(n){var r=e.call(this,ah,oh)||this;return Object.assign(r,t.defaults,n),r}return Object.defineProperty(t.prototype,`offset`,{get:function(){return this.uniforms.offset},set:function(e){this.uniforms.offset=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`radius`,{get:function(){return this.uniforms.radius},set:function(e){this.uniforms.radius=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`angle`,{get:function(){return this.uniforms.angle},set:function(e){this.uniforms.angle=e},enumerable:!1,configurable:!0}),t.defaults={radius:200,angle:4,padding:20,offset:new zi},t}(qo),ch=function(e,t){return ch=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},ch(e,t)};function lh(e,t){ch(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function uh(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i= 0.0 && dist > radius) { // radius < 0 means it's infinity + delta = dist - radius; + gap = gradient; + } + + if (delta > 0.0) { + float normalCount = gap / filterArea.x; + delta = (normalCount - delta) / normalCount; + countLimit *= delta; + strength *= delta; + if (countLimit < 1.0) + { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + } + + // randomize the lookup values to hide the fixed number of samples + float offset = rand(vTextureCoord, 0.0); + + float total = 0.0; + vec4 color = vec4(0.0); + + dir *= strength; + + for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) { + float percent = (t + offset) / MAX_KERNEL_SIZE; + float weight = 4.0 * (percent - percent * percent); + vec2 p = vTextureCoord + dir * percent; + vec4 sample = texture2D(uSampler, p); + + // switch to pre-multiplied alpha to correctly blur transparent images + // sample.rgb *= sample.a; + + color += sample * weight; + total += weight; + + if (t > countLimit){ + break; + } + } + + color /= total; + // switch back from pre-multiplied alpha + // color.rgb /= color.a + 0.00001; + + gl_FragColor = color; +} +`,ph=function(e){lh(t,e);function t(n){var r=this,i=Object.assign(t.defaults,n),a=i.maxKernelSize,o=uh(i,[`maxKernelSize`]);return r=e.call(this,dh,fh.replace("${maxKernelSize}",a.toFixed(1)))||this,Object.assign(r,o),r}return Object.defineProperty(t.prototype,`center`,{get:function(){return this.uniforms.uCenter},set:function(e){this.uniforms.uCenter=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`strength`,{get:function(){return this.uniforms.uStrength},set:function(e){this.uniforms.uStrength=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`innerRadius`,{get:function(){return this.uniforms.uInnerRadius},set:function(e){this.uniforms.uInnerRadius=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,`radius`,{get:function(){return this.uniforms.uRadius},set:function(e){(e<0||e===1/0)&&(e=-1),this.uniforms.uRadius=e},enumerable:!1,configurable:!0}),t.defaults={strength:.1,center:[0,0],innerRadius:0,radius:-1,maxKernelSize:32},t}(qo);function mh(){let e=-1,t,n=-1;function r(r,i){(i>=e||i({x:0,y:0})},disableFocusAt:{type:Boolean,default:!1},xOffset:{},yOffset:{},scale:{default:1}},emits:[`modelLoaded`],setup(e,{expose:t,emit:n}){let r=e,i=n;function a(){let e=Number.parseFloat(String(r.xOffset))||0,t=Number.parseFloat(String(r.yOffset))||0;return String(r.xOffset).endsWith(`%`)&&(e=Number.parseFloat(String(r.xOffset).replace(`%`,``))/100*r.width),String(r.yOffset).endsWith(`%`)&&(t=Number.parseFloat(String(r.yOffset).replace(`%`,``))/100*r.height),{xOffset:e,yOffset:t}}let o=yn(()=>a()),s=un(()=>r.app),l=un(()=>r.paused),u=un(()=>r.focusAt),g=G(),_=G(0),v=G(0),y=yn(()=>Math.max(0,Math.min(100,r.mouthOpenSize))),b=m(),S=p(f),C=yn(()=>S.between(`sm`,`md`).value||S.smaller(`sm`).value),w=mh(),T=B(new jp({alpha:.2,blur:0,distance:20,rotation:45}));function E(){return g.value.internalModel.coreModel}function D(){if(!g.value)return;let e=2.2;C.value&&(e=2.2);let t=r.height*.95/v.value*e,n=r.width*.95/_.value*e,i=Math.min(t,n);g.value.scale.set(i*r.scale,i*r.scale),g.value.x=r.width/2+o.value.xOffset,g.value.y=r.height+o.value.yOffset}let{live2dModelFile:O,loadingLive2dModel:k,live2dCurrentMotion:A,availableLive2dMotions:j,live2dLoadSource:M,live2dModelUrl:N,themeColorsHue:ee,themeColorsHueDynamic:P}=d(We()),F=G({group:`Idle`,index:0});async function I(){if(!s.value)return;g.value&&(s.value.stage.removeChild(g.value),g.value.destroy(),g.value=void 0);let e=new bd;M.value===`file`?await fd.setupLive2DModel(e,[O.value],{autoInteract:!1}):M.value===`url`&&await fd.setupLive2DModel(e,N.value,{autoInteract:!1}),g.value=e,s.value.stage.addChild(g.value),_.value=g.value.width,v.value=g.value.height,g.value.anchor.set(.5,.5),D(),g.value.on(`hit`,e=>{g.value&&e.includes(`body`)&&g.value.motion(`tap_body`)});let t=g.value.internalModel,n=t.coreModel,r=t.motionManager;n.setParameterValueById(`ParamMouthOpenY`,y.value),j.value=Object.entries(r.definitions).flatMap(([e,t])=>t?t.map((t,n)=>({motionName:e,motionIndex:n,fileName:t.File})):[]).filter(Boolean),r.groups.idle&&r.motionGroups[r.groups.idle]?.forEach(e=>{e._motionData.curves.forEach(e=>{(e.id===`ParamEyeBallX`||e.id===`ParamEyeBallY`)&&(e.id=`_${e.id}`)})});let a=r.update;r.update=function(e,n){return a?.call(this,e,n),r.state.currentGroup===r.groups.idle&&w.update(t,n),!0},r.on(`motionStart`,(e,t)=>{F.value={group:e,index:t}}),O.value&&await hh.default.setItem(`live2dModel`,O.value),i(`modelLoaded`),k.value=!1}async function te(){if(!s.value)return;bd.registerTicker(Ni),ki.add(Pi),ki.add(qd);let e=await hh.default.getItem(`live2dModel`);if(e){O.value=e,M.value=`file`,k.value=!0;return}if(N.value){M.value=`url`,k.value=!0;return}k.value=!1}async function ne(e,t){await g.value?.motion(e,t,Uu.FORCE)}let L=c(D,100),re=G(),R=G(0);function ie(){if(g.value){let e=getComputedStyle(re.value).backgroundColor;T.value.color=Number(x(e).replace(`#`,`0x`)),g.value.filters=[T.value]}}H([()=>r.width,()=>r.height],()=>L()),H(b,ie,{immediate:!0}),H([g,ee],ie),H(o,D),H(()=>r.scale,D);function ae(){ie(),R.value=requestAnimationFrame(ae)}H(P,()=>{P.value?R.value=requestAnimationFrame(ae):(cancelAnimationFrame(R.value),R.value=0)},{immediate:!0}),H(y,e=>E().setParameterValueById(`ParamMouthOpenY`,e)),H(s,te),H(A,e=>ne(e.group,e.index)),H(l,e=>e?s.value?.stop():s.value?.start()),H(u,e=>{g.value&&(r.disableFocusAt||g.value.focus(e.x,e.y))}),h(k,e=>{e&&I()},{debounce:1e3}),Jt(ie),dn(()=>{cancelAnimationFrame(R.value),g.value&&s.value?.stage.removeChild(g.value)});function oe(){return j.value}return t({setMotion:ne,listMotionGroups:oe}),(e,t)=>(U(),V(vn,null,[K(`div`,{ref_key:`dropShadowColorComputer`,ref:re,hidden:``,bg:`primary-400 dark:primary-500`},null,512),hn(e.$slots,`default`)],64))}}),_h=gh,vh=kn((exports,t)=>{ +/*! + +JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + +(c) 2009-2016 Stuart Knightley +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + +JSZip uses the library pako released under the MIT license : +https://github.com/nodeca/pako/blob/main/LICENSE +*/ +(function(n){typeof exports==`object`&&t!==void 0?t.exports=n():typeof define==`function`&&define.amd?define([],n):(typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this).JSZip=n()})(function(){return function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var c=typeof Mn==`function`&&Mn;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var l=Error(`Cannot find module '`+o+`'`);throw l.code=`MODULE_NOT_FOUND`,l}var u=n[o]={exports:{}};t[o][0].call(u.exports,function(e){var n=t[o][1][e];return i(n||e)},u,u.exports,e,t,n,r)}return n[o].exports}for(var a=typeof Mn==`function`&&Mn,o=0;o>2,s=(3&t)<<4|n>>4,c=1>6:64,l=2>4,n=(15&o)<<4|(s=a.indexOf(e.charAt(l++)))>>2,r=(3&s)<<6|(c=a.indexOf(e.charAt(l++))),f[u++]=t,s!==64&&(f[u++]=n),c!==64&&(f[u++]=r);return f}},{"./support":30,"./utils":32}],2:[function(e,t,n){"use strict";var r=e(`./external`),i=e(`./stream/DataWorker`),a=e(`./stream/Crc32Probe`),o=e(`./stream/DataLengthProbe`);function s(e,t,n,r,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=r,this.compressedContent=i}s.prototype={getContentWorker:function(){var e=new i(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o(`data_length`)),t=this;return e.on(`end`,function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw Error(`Bug : uncompressed data size mismatch`)}),e},getCompressedWorker:function(){return new i(r.Promise.resolve(this.compressedContent)).withStreamInfo(`compressedSize`,this.compressedSize).withStreamInfo(`uncompressedSize`,this.uncompressedSize).withStreamInfo(`crc32`,this.crc32).withStreamInfo(`compression`,this.compression)}},s.createWorkerFrom=function(e,t,n){return e.pipe(new a).pipe(new o(`uncompressedSize`)).pipe(t.compressWorker(n)).pipe(new o(`compressedSize`)).withStreamInfo(`compression`,t)},t.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,n){"use strict";var r=e(`./stream/GenericWorker`);n.STORE={magic:`\0\0`,compressWorker:function(){return new r(`STORE compression`)},uncompressWorker:function(){return new r(`STORE decompression`)}},n.DEFLATE=e(`./flate`)},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,n){"use strict";var r=e(`./utils`),i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t){return e!==void 0&&e.length?r.getTypeOf(e)===`string`?function(e,t,n,r){var a=i,o=r+n;e^=-1;for(var s=r;s>>8^a[255&(e^t.charCodeAt(s))];return-1^e}(0|t,e,e.length,0):function(e,t,n,r){var a=i,o=r+n;e^=-1;for(var s=r;s>>8^a[255&(e^t[s])];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,n){"use strict";n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(e,t,n){"use strict";var r=null;r=typeof Promise<`u`?Promise:e(`lie`),t.exports={Promise:r}},{lie:37}],7:[function(e,t,n){"use strict";var r=typeof Uint8Array<`u`&&typeof Uint16Array<`u`&&typeof Uint32Array<`u`,i=e(`pako`),a=e(`./utils`),o=e(`./stream/GenericWorker`),s=r?`uint8array`:`array`;function c(e,t){o.call(this,`FlateWorker/`+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}n.magic=`\b\0`,a.inherits(c,o),c.prototype.processChunk=function(e){this.meta=e.meta,this._pako===null&&this._createPako(),this._pako.push(a.transformTo(s,e.data),!1)},c.prototype.flush=function(){o.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},n.compressWorker=function(e){return new c(`Deflate`,e)},n.uncompressWorker=function(){return new c(`Inflate`,{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,n){"use strict";function r(e,t){var n,r=``;for(n=0;n>>=8;return r}function i(e,t,n,i,o,u){var d,f,p=e.file,m=e.compression,h=u!==s.utf8encode,g=a.transformTo(`string`,u(p.name)),_=a.transformTo(`string`,s.utf8encode(p.name)),v=p.comment,y=a.transformTo(`string`,u(v)),b=a.transformTo(`string`,s.utf8encode(v)),x=_.length!==p.name.length,S=b.length!==v.length,C=``,w=``,T=``,E=p.dir,D=p.date,O={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(O.crc32=e.crc32,O.compressedSize=e.compressedSize,O.uncompressedSize=e.uncompressedSize);var k=0;t&&(k|=8),h||!x&&!S||(k|=2048);var A=0,j=0;E&&(A|=16),o===`UNIX`?(j=798,A|=function(e,t){var n=e;return e||(n=t?16893:33204),(65535&n)<<16}(p.unixPermissions,E)):(j=20,A|=function(e){return 63&(e||0)}(p.dosPermissions)),d=D.getUTCHours(),d<<=6,d|=D.getUTCMinutes(),d<<=5,d|=D.getUTCSeconds()/2,f=D.getUTCFullYear()-1980,f<<=4,f|=D.getUTCMonth()+1,f<<=5,f|=D.getUTCDate(),x&&(w=r(1,1)+r(c(g),4)+_,C+=`up`+r(w.length,2)+w),S&&(T=r(1,1)+r(c(y),4)+b,C+=`uc`+r(T.length,2)+T);var M=``;return M+=` +\0`,M+=r(k,2),M+=m.magic,M+=r(d,2),M+=r(f,2),M+=r(O.crc32,4),M+=r(O.compressedSize,4),M+=r(O.uncompressedSize,4),M+=r(g.length,2),M+=r(C.length,2),{fileRecord:l.LOCAL_FILE_HEADER+M+g+C,dirRecord:l.CENTRAL_FILE_HEADER+r(j,2)+M+r(y.length,2)+`\0\0\0\0`+r(A,4)+r(i,4)+g+C+y}}var a=e(`../utils`),o=e(`../stream/GenericWorker`),s=e(`../utf8`),c=e(`../crc32`),l=e(`../signature`);function u(e,t,n,r){o.call(this,`ZipFileWorker`),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=r,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}a.inherits(u,o),u.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,o.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-r-1))/n:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,n=i(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),t)this.push({data:function(e){return l.DATA_DESCRIPTOR+r(e.crc32,4)+r(e.compressedSize,4)+r(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return r.transformTo(`string`,this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,n){"use strict";var r=e(`./Uint8ArrayReader`);function i(e){r.call(this,e)}e(`../utils`).inherits(i,r),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,n){"use strict";var r=e(`./DataReader`);function i(e){r.call(this,e)}e(`../utils`).inherits(i,r),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,n){"use strict";var r=e(`./ArrayReader`);function i(e){r.call(this,e)}e(`../utils`).inherits(i,r),i.prototype.readData=function(e){if(this.checkOffset(e),e===0)return new Uint8Array;var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,n){"use strict";var r=e(`../utils`),i=e(`../support`),a=e(`./ArrayReader`),o=e(`./StringReader`),s=e(`./NodeBufferReader`),c=e(`./Uint8ArrayReader`);t.exports=function(e){var t=r.getTypeOf(e);return r.checkSupport(t),t!==`string`||i.uint8array?t===`nodebuffer`?new s(e):i.uint8array?new c(r.transformTo(`uint8array`,e)):new a(r.transformTo(`array`,e)):new o(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,n){"use strict";n.LOCAL_FILE_HEADER=`PK`,n.CENTRAL_FILE_HEADER=`PK`,n.CENTRAL_DIRECTORY_END=`PK`,n.ZIP64_CENTRAL_DIRECTORY_LOCATOR=`PK\x07`,n.ZIP64_CENTRAL_DIRECTORY_END=`PK`,n.DATA_DESCRIPTOR=`PK\x07\b`},{}],24:[function(e,t,n){"use strict";var r=e(`./GenericWorker`),i=e(`../utils`);function a(e){r.call(this,`ConvertWorker to `+e),this.destType=e}i.inherits(a,r),a.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,n){"use strict";var r=e(`./GenericWorker`),i=e(`../crc32`);function a(){r.call(this,`Crc32Probe`),this.withStreamInfo(`crc32`,0)}e(`../utils`).inherits(a,r),a.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,n){"use strict";var r=e(`../utils`),i=e(`./GenericWorker`);function a(e){i.call(this,`DataLengthProbe for `+e),this.propName=e,this.withStreamInfo(e,0)}r.inherits(a,i),a.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,n){"use strict";var r=e(`../utils`),i=e(`./GenericWorker`);function a(e){i.call(this,`DataWorker`);var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=``,this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=r.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}r.inherits(a,i),a.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case`string`:e=this.data.substring(this.index,t);break;case`uint8array`:e=this.data.subarray(this.index,t);break;case`array`:case`nodebuffer`:e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=a},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,n){"use strict";function r(e){this.name=e||`default`,this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(e){this.emit(`data`,e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(`end`),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(`error`,e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(`error`,e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n `+e:e}},t.exports=r},{}],29:[function(e,t,n){"use strict";var r=e(`../utils`),i=e(`./ConvertWorker`),a=e(`./GenericWorker`),o=e(`../base64`),s=e(`../support`),c=e(`../external`),l=null;if(s.nodestream)try{l=e(`../nodejs/NodejsStreamOutputAdapter`)}catch{}function u(e,t){return new c.Promise(function(n,i){var a=[],s=e._internalType,c=e._outputType,l=e._mimeType;e.on(`data`,function(e,n){a.push(e),t&&t(n)}).on(`error`,function(e){a=[],i(e)}).on(`end`,function(){try{var e=function(e,t,n){switch(e){case`blob`:return r.newBlob(r.transformTo(`arraybuffer`,t),n);case`base64`:return o.encode(t);default:return r.transformTo(e,t)}}(c,function(e,t){var n,r=0,i=null,a=0;for(n=0;n`u`)n.blob=!1;else{var r=new ArrayBuffer(0);try{n.blob=new Blob([r],{type:`application/zip`}).size===0}catch{try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(r),n.blob=i.getBlob(`application/zip`).size===0}catch{n.blob=!1}}}try{n.nodestream=!!e(`readable-stream`).Readable}catch{n.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,n){"use strict";for(var r=e(`./utils`),i=e(`./support`),a=e(`./nodejsUtils`),o=e(`./stream/GenericWorker`),s=Array(256),c=0;c<256;c++)s[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;s[254]=s[254]=1;function l(){o.call(this,`utf-8 decode`),this.leftOver=null}function u(){o.call(this,`utf-8 encode`)}n.utf8encode=function(e){return i.nodebuffer?a.newBufferFrom(e,`utf-8`):function(e){var t,n,r,a,o,s=e.length,c=0;for(a=0;a>>6:(n<65536?t[o++]=224|n>>>12:(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63),t[o++]=128|n>>>6&63),t[o++]=128|63&n);return t}(e)},n.utf8decode=function(e){return i.nodebuffer?r.transformTo(`nodebuffer`,e).toString(`utf-8`):function(e){var t,n,i,a,o=e.length,c=Array(2*o);for(t=n=0;t>10&1023,c[n++]=56320|1023&i)}return c.length!==n&&(c.subarray?c=c.subarray(0,n):c.length=n),r.applyFromCharCode(c)}(e=r.transformTo(i.uint8array?`uint8array`:`array`,e))},r.inherits(l,o),l.prototype.processChunk=function(e){var t=r.transformTo(i.uint8array?`uint8array`:`array`,e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var a=t;(t=new Uint8Array(a.length+this.leftOver.length)).set(this.leftOver,0),t.set(a,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var o=function(e,t){var n;for((t||=e.length)>e.length&&(t=e.length),n=t-1;0<=n&&(192&e[n])==128;)n--;return n<0||n===0?t:n+s[e[n]]>t?n:t}(t),c=t;o!==t.length&&(i.uint8array?(c=t.subarray(0,o),this.leftOver=t.subarray(o,t.length)):(c=t.slice(0,o),this.leftOver=t.slice(o,t.length))),this.push({data:n.utf8decode(c),meta:e.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=l,r.inherits(u,o),u.prototype.processChunk=function(e){this.push({data:n.utf8encode(e.data),meta:e.meta})},n.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,n){"use strict";var r=e(`./support`),i=e(`./base64`),a=e(`./nodejsUtils`),o=e(`./external`);function s(e){return e}function c(e,t){for(var n=0;n>8;this.dir=!!(16&this.externalFileAttributes),e==0&&(this.dosPermissions=63&this.externalFileAttributes),e==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!==`/`||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=r(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,n,r,i=e.index+this.extraFieldsLength;for(this.extraFields||={};e.index+4>>6:(n<65536?t[o++]=224|n>>>12:(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63),t[o++]=128|n>>>6&63),t[o++]=128|63&n);return t},n.buf2binstring=function(e){return c(e,e.length)},n.binstring2buf=function(e){for(var t=new r.Buf8(e.length),n=0,i=t.length;n>10&1023,l[r++]=56320|1023&i)}return c(l,r)},n.utf8border=function(e,t){var n;for((t||=e.length)>e.length&&(t=e.length),n=t-1;0<=n&&(192&e[n])==128;)n--;return n<0||n===0?t:n+o[e[n]]>t?n:t}},{"./common":41}],43:[function(e,t,n){"use strict";t.exports=function(e,t,n,r){for(var i=65535&e|0,a=e>>>16&65535|0,o=0;n!==0;){for(n-=o=2e3>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t,n,i){var a=r,o=i+n;e^=-1;for(var s=i;s>>8^a[255&(e^t[s])];return-1^e}},{}],46:[function(e,t,n){"use strict";var r,i=e(`../utils/common`),a=e(`./trees`),o=e(`./adler32`),s=e(`./crc32`),c=e(`./messages`),l=0,u=4,d=0,f=-2,p=-1,m=4,h=2,g=8,_=9,v=286,y=30,b=19,x=2*v+1,S=15,C=3,w=258,T=w+C+1,E=42,D=113,O=1,k=2,A=3,j=4;function M(e,t){return e.msg=c[t],t}function N(e){return(e<<1)-(4e.avail_out&&(n=e.avail_out),n!==0&&(i.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function F(e,t){a._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,P(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function te(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ne(e,t){var n,r,i=e.max_chain_length,a=e.strstart,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-T?e.strstart-(e.w_size-T):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+w,p=l[a+o-1],m=l[a+o];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do if(l[(n=t)+o]===m&&l[n+o-1]===p&&l[n]===l[a]&&l[++n]===l[a+1]){a+=2,n++;do;while(l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&ac&&--i!=0);return o<=e.lookahead?o:e.lookahead}function L(e){var t,n,r,a,c,l,u,d,f,p,m=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-T)){for(i.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=n=e.hash_size;r=e.head[--t],e.head[t]=m<=r?r-m:0,--n;);for(t=n=m;r=e.prev[--t],e.prev[t]=m<=r?r-m:0,--n;);a+=m}if(e.strm.avail_in===0)break;if(l=e.strm,u=e.window,d=e.strstart+e.lookahead,f=a,p=void 0,p=l.avail_in,f=C)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<=C&&(e.ins_h=(e.ins_h<=C)if(r=a._tr_tally(e,e.strstart-e.match_start,e.match_length-C),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=C){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=C&&(e.ins_h=(e.ins_h<=C&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-C,r=a._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-C),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(L(e),e.lookahead===0&&t===l)return O;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,F(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-T&&(F(e,!1),e.strm.avail_out===0))return O}return e.insert=0,t===u?(F(e,!0),e.strm.avail_out===0?A:j):(e.strstart>e.block_start&&(F(e,!1),e.strm.avail_out),O)}),new ie(4,4,8,4,re),new ie(4,5,16,8,re),new ie(4,6,32,32,re),new ie(4,4,16,16,R),new ie(8,16,32,32,R),new ie(8,16,128,128,R),new ie(8,32,128,256,R),new ie(32,128,258,1024,R),new ie(32,258,258,4096,R)],n.deflateInit=function(e,t){return ce(e,t,g,15,8,0)},n.deflateInit2=ce,n.deflateReset=se,n.deflateResetKeep=oe,n.deflateSetHeader=function(e,t){return e&&e.state&&e.state.wrap===2?(e.state.gzhead=t,d):f},n.deflate=function(e,t){var n,i,o,c;if(!e||!e.state||5>8&255),I(i,i.gzhead.time>>16&255),I(i,i.gzhead.time>>24&255),I(i,i.level===9?2:2<=i.strategy||i.level<2?4:0),I(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(I(i,255&i.gzhead.extra.length),I(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=s(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(I(i,0),I(i,0),I(i,0),I(i,0),I(i,0),I(i,i.level===9?2:2<=i.strategy||i.level<2?4:0),I(i,3),i.status=D);else{var p=g+(i.w_bits-8<<4)<<8;p|=(2<=i.strategy||i.level<2?0:i.level<6?1:i.level===6?2:3)<<6,i.strstart!==0&&(p|=32),p+=31-p%31,i.status=D,te(i,p),i.strstart!==0&&(te(i,e.adler>>>16),te(i,65535&e.adler)),e.adler=1}if(i.status===69)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),P(e),o=i.pending,i.pending!==i.pending_buf_size));)I(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(i.status===73)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),P(e),o=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindexo&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),c===0&&(i.gzindex=0,i.status=91)}else i.status=91;if(i.status===91)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),P(e),o=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindexo&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),c===0&&(i.status=103)}else i.status=103;if(i.status===103&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&P(e),i.pending+2<=i.pending_buf_size&&(I(i,255&e.adler),I(i,e.adler>>8&255),e.adler=0,i.status=D)):i.status=D),i.pending!==0){if(P(e),e.avail_out===0)return i.last_flush=-1,d}else if(e.avail_in===0&&N(t)<=N(n)&&t!==u)return M(e,-5);if(i.status===666&&e.avail_in!==0)return M(e,-5);if(e.avail_in!==0||i.lookahead!==0||t!==l&&i.status!==666){var m=i.strategy===2?function(e,t){for(var n;;){if(e.lookahead===0&&(L(e),e.lookahead===0)){if(t===l)return O;break}if(e.match_length=0,n=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(F(e,!1),e.strm.avail_out===0))return O}return e.insert=0,t===u?(F(e,!0),e.strm.avail_out===0?A:j):e.last_lit&&(F(e,!1),e.strm.avail_out===0)?O:k}(i,t):i.strategy===3?function(e,t){for(var n,r,i,o,s=e.window;;){if(e.lookahead<=w){if(L(e),e.lookahead<=w&&t===l)return O;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=C&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=C?(n=a._tr_tally(e,1,e.match_length-C),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(F(e,!1),e.strm.avail_out===0))return O}return e.insert=0,t===u?(F(e,!0),e.strm.avail_out===0?A:j):e.last_lit&&(F(e,!1),e.strm.avail_out===0)?O:k}(i,t):r[i.level].func(i,t);if(m!==A&&m!==j||(i.status=666),m===O||m===A)return e.avail_out===0&&(i.last_flush=-1),d;if(m===k&&(t===1?a._tr_align(i):t!==5&&(a._tr_stored_block(i,0,0,!1),t===3&&(ee(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),P(e),e.avail_out===0))return i.last_flush=-1,d}return t===u?i.wrap<=0?1:(i.wrap===2?(I(i,255&e.adler),I(i,e.adler>>8&255),I(i,e.adler>>16&255),I(i,e.adler>>24&255),I(i,255&e.total_in),I(i,e.total_in>>8&255),I(i,e.total_in>>16&255),I(i,e.total_in>>24&255)):(te(i,e.adler>>>16),te(i,65535&e.adler)),P(e),0=n.w_size&&(s===0&&(ee(n.head),n.strstart=0,n.block_start=0,n.insert=0),p=new i.Buf8(n.w_size),i.arraySet(p,t,m-n.w_size,n.w_size,0),t=p,m=n.w_size),c=e.avail_in,l=e.next_in,u=e.input,e.avail_in=m,e.next_in=0,e.input=t,L(n);n.lookahead>=C;){for(r=n.strstart,a=n.lookahead-(C-1);n.ins_h=(n.ins_h<>>=b=y>>>24,m-=b,(b=y>>>16&255)==0)E[a++]=65535&y;else{if(!(16&b)){if(!(64&b)){y=h[(65535&y)+(p&(1<>>=b,m-=b),m<15&&(p+=T[r++]<>>=b=y>>>24,m-=b,!(16&(b=y>>>16&255))){if(!(64&b)){y=g[(65535&y)+(p&(1<>>=b,m-=b,(b=a-o)>3,p&=(1<<(m-=x<<3))-1,e.next_in=r,e.next_out=a,e.avail_in=r>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function g(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function _(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=1&t.wrap),t.mode=f,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new r.Buf32(p),t.distcode=t.distdyn=new r.Buf32(m),t.sane=1,t.back=-1,u):d}function v(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,_(e)):d}function y(e,t){var n,r;return e&&e.state?(r=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=o.wsize?(r.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i<(a=o.wsize-o.wnext)&&(a=i),r.arraySet(o.window,t,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,t,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=a(n.check,L,2,0),x=b=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&b)<<8)+(b>>8))%31){e.msg=`incorrect header check`,n.mode=30;break}if((15&b)!=8){e.msg=`unknown compression method`,n.mode=30;break}if(x-=4,P=8+(15&(b>>>=4)),n.wbits===0)n.wbits=P;else if(P>n.wbits){e.msg=`invalid window size`,n.mode=30;break}n.dmax=1<>8&1),512&n.flags&&(L[0]=255&b,L[1]=b>>>8&255,n.check=a(n.check,L,2,0)),x=b=0,n.mode=3;case 3:for(;x<32;){if(v===0)break e;v--,b+=p[g++]<>>8&255,L[2]=b>>>16&255,L[3]=b>>>24&255,n.check=a(n.check,L,4,0)),x=b=0,n.mode=4;case 4:for(;x<16;){if(v===0)break e;v--,b+=p[g++]<>8),512&n.flags&&(L[0]=255&b,L[1]=b>>>8&255,n.check=a(n.check,L,2,0)),x=b=0,n.mode=5;case 5:if(1024&n.flags){for(;x<16;){if(v===0)break e;v--,b+=p[g++]<>>8&255,n.check=a(n.check,L,2,0)),x=b=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(v<(E=n.length)&&(E=v),E&&(n.head&&(P=n.head.extra_len-n.length,n.head.extra||(n.head.extra=Array(n.head.extra_len)),r.arraySet(n.head.extra,p,g,E,P)),512&n.flags&&(n.check=a(n.check,p,E,g)),v-=E,g+=E,n.length-=E),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(v===0)break e;for(E=0;P=p[g+ E++],n.head&&P&&n.length<65536&&(n.head.name+=String.fromCharCode(P)),P&&E>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=12;break;case 10:for(;x<32;){if(v===0)break e;v--,b+=p[g++]<>>=7&x,x-=7&x,n.mode=27;break}for(;x<3;){if(v===0)break e;v--,b+=p[g++]<>>=1)){case 0:n.mode=14;break;case 1:if(w(n),n.mode=20,t!==6)break;b>>>=2,x-=2;break e;case 2:n.mode=17;break;case 3:e.msg=`invalid block type`,n.mode=30}b>>>=2,x-=2;break;case 14:for(b>>>=7&x,x-=7&x;x<32;){if(v===0)break e;v--,b+=p[g++]<>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=30;break}if(n.length=65535&b,x=b=0,n.mode=15,t===6)break e;case 15:n.mode=16;case 16:if(E=n.length){if(v>>=5,x-=5,n.ndist=1+(31&b),b>>>=5,x-=5,n.ncode=4+(15&b),b>>>=4,x-=4,286>>=3,x-=3}for(;n.have<19;)n.lens[re[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,I={bits:n.lenbits},F=s(0,n.lens,0,19,n.lencode,0,n.work,I),n.lenbits=I.bits,F){e.msg=`invalid code lengths set`,n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,j=65535&ne,!((k=ne>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>>=k,x-=k,n.lens[n.have++]=j;else{if(j===16){for(te=k+2;x>>=k,x-=k,n.have===0){e.msg=`invalid bit length repeat`,n.mode=30;break}P=n.lens[n.have-1],E=3+(3&b),b>>>=2,x-=2}else if(j===17){for(te=k+3;x>>=k)),b>>>=3,x-=3}else{for(te=k+7;x>>=k)),b>>>=7,x-=7}if(n.have+E>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=30;break}for(;E--;)n.lens[n.have++]=P}}if(n.mode===30)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=30;break}if(n.lenbits=9,I={bits:n.lenbits},F=s(c,n.lens,0,n.nlen,n.lencode,0,n.work,I),n.lenbits=I.bits,F){e.msg=`invalid literal/lengths set`,n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,I={bits:n.distbits},F=s(l,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,I),n.distbits=I.bits,F){e.msg=`invalid distances set`,n.mode=30;break}if(n.mode=20,t===6)break e;case 20:n.mode=21;case 21:if(6<=v&&258<=y){e.next_out=_,e.avail_out=y,e.next_in=g,e.avail_in=v,n.hold=b,n.bits=x,o(e,C),_=e.next_out,m=e.output,y=e.avail_out,g=e.next_in,p=e.input,v=e.avail_in,b=n.hold,x=n.bits,n.mode===12&&(n.back=-1);break}for(n.back=0;A=(ne=n.lencode[b&(1<>>16&255,j=65535&ne,!((k=ne>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>M)])>>>16&255,j=65535&ne,!(M+(k=ne>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>>=M,x-=M,n.back+=M}if(b>>>=k,x-=k,n.back+=k,n.length=j,A===0){n.mode=26;break}if(32&A){n.back=-1,n.mode=12;break}if(64&A){e.msg=`invalid literal/length code`,n.mode=30;break}n.extra=15&A,n.mode=22;case 22:if(n.extra){for(te=n.extra;x>>=n.extra,x-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;A=(ne=n.distcode[b&(1<>>16&255,j=65535&ne,!((k=ne>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>M)])>>>16&255,j=65535&ne,!(M+(k=ne>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>>=M,x-=M,n.back+=M}if(b>>>=k,x-=k,n.back+=k,64&A){e.msg=`invalid distance code`,n.mode=30;break}n.offset=j,n.extra=15&A,n.mode=24;case 24:if(n.extra){for(te=n.extra;x>>=n.extra,x-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=30;break}n.mode=25;case 25:if(y===0)break e;if(E=C-y,n.offset>E){if((E=n.offset-E)>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=30;break}D=E>n.wnext?(E-=n.wnext,n.wsize-E):n.wnext-E,E>n.length&&(E=n.length),O=n.window}else O=m,D=_-n.offset,E=n.length;for(yv?(b=I[te+d[w]],N[ee+d[w]]):(b=96,0),p=1<>k)+(m-=p)]=y<<24|b<<16|x|0,m!==0;);for(p=1<>=1;if(p===0?M=0:(M&=p-1,M+=p),w++,--P[C]==0){if(C===E)break;C=t[n+d[w]]}if(D>>7)]}function I(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function te(e,t,n){e.bi_valid>h-n?(e.bi_buf|=t<>h-e.bi_valid,e.bi_valid+=n-h):(e.bi_buf|=t<>>=1,n<<=1,0<--t;);return n>>>1}function re(e,t,n){var r,i,a=Array(m+1),o=0;for(r=1;r<=m;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];s!==0&&(e[2*i]=L(a[s]++,s))}}function R(e){var t;for(t=0;t>1;1<=n;n--)oe(e,a,n);for(i=c;n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],oe(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,oe(e,a,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,o,s,c=t.dyn_tree,l=t.max_code,u=t.stat_desc.static_tree,d=t.stat_desc.has_stree,f=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,g=t.stat_desc.max_length,_=0;for(a=0;a<=m;a++)e.bl_count[a]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n>=7;r>>=1)if(1&n&&e.dyn_ltree[2*t]!==0)return i;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return a;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=o&&(o=s)):o=s=n+5,n+4<=o&&t!==-1?fe(e,t,n,r):e.strategy===4||s===o?(te(e,2+(r?1:0),3),se(e,T,E)):(te(e,4+(r?1:0),3),function(e,t,n,r){var i;for(te(e,t-257,5),te(e,n-1,5),te(e,r-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,t===0?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(O[n]+l+1)]++,e.dyn_dtree[2*F(t)]++),e.last_lit===e.lit_bufsize-1},n._tr_align=function(e){te(e,2,3),ne(e,_,T),function(e){e.bi_valid===16?(I(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,n){(function(e){(function(e,t){"use strict";if(!e.setImmediate){var n,r,i,a,o=1,s={},c=!1,l=e.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(e);u=u&&u.setTimeout?u:e,n={}.toString.call(e.process)===`[object process]`?function(e){process.nextTick(function(){f(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(``,`*`),e.onmessage=n,t}}()?(a=`setImmediate$`+Math.random()+`$`,e.addEventListener?e.addEventListener(`message`,p,!1):e.attachEvent(`onmessage`,p),function(t){e.postMessage(a+t,`*`)}):e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},function(e){i.port2.postMessage(e)}):l&&`onreadystatechange`in l.createElement(`script`)?(r=l.documentElement,function(e){var t=l.createElement(`script`);t.onreadystatechange=function(){f(e),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t)}):function(e){setTimeout(f,0,e)},u.setImmediate=function(e){typeof e!=`function`&&(e=Function(``+e));for(var t=Array(arguments.length-1),r=0;r`u`?e===void 0?this:e:self)}).call(this,typeof global<`u`?global:typeof self<`u`?self:typeof window<`u`?window:{})},{}]},{},[10])(10)})}),yh=Nn(vh());wd.zipReader=(e,t)=>yh.default.loadAsync(e);const bh=wd.createSettings;wd.createSettings=async e=>{let t=Object.keys(e.files);return t.find(e=>xh(e))?bh(e):wh(t)};function xh(e){return e.endsWith(`model3.json`)}function Sh(e){return e.endsWith(`.moc3`)}function Ch(e){return e.split(/[\\/]/).pop()}function wh(e){let t=e.filter(e=>Sh(e));if(t.length!==1){let e=t.length?`(${t.map(e=>`"${e}"`).join(`,`)})`:``;throw Error(`Expected exactly one moc file, got ${t.length} ${e}`)}let n=t[0],r=Ch(n).replace(/\.moc3?/,``),i=e.filter(e=>e.endsWith(`.png`));if(!i.length)throw Error(`Textures not found`);let a=e.filter(e=>e.endsWith(`.mtn`)||e.endsWith(`.motion3.json`)),o=e.find(e=>e.includes(`physics`)),s=e.find(e=>e.includes(`pose`)),c=new Ed({url:`${r}.model3.json`,Version:3,FileReferences:{Moc:n,Textures:i,Physics:o,Pose:s,Motions:a.length?{"":a.map(e=>({File:e}))}:void 0}});return c.name=r,c._objectURL=`example://${c.url}`,c}wd.readText=(e,t)=>{let n=e.file(t);if(!n)throw Error(`Cannot find file: ${t}`);return n.async(`text`)},wd.getFilePaths=e=>{let t=[];return e.forEach(e=>t.push(e)),Promise.resolve(t)},wd.getFiles=(e,t)=>Promise.all(t.map(async t=>{let n=t.slice(t.lastIndexOf(`/`)+1),r=await e.file(t).async(`blob`);return new File([r],n)}));const Th={absolute:``,bottom:`3`,right:`3`},Eh={flex:`~ row`,"cursor-pointer":``},Dh=[`checked`,`aria-checked`],Oh={key:0,"min-w":`50vw`,z:`(U(),mn(s,{relative:``},{default:Qt(({width:a,height:o})=>[Cn(Id,{width:a,height:o,resolution:2,"max-h":`100dvh`},{default:Qt(({app:t})=>[Cn(_h,{app:t,"mouth-open-size":e.mouthOpenSize,width:a,height:o,paused:e.paused,"focus-at":e.focusAt,"x-offset":e.xOffset,"y-offset":e.yOffset,scale:e.scale},null,8,[`app`,`mouth-open-size`,`width`,`height`,`paused`,`focus-at`,`x-offset`,`y-offset`,`scale`])]),_:2},1032,[`width`,`height`]),K(`div`,Th,[K(`div`,Eh,[K(`label`,{class:Dn([n.value?`bg-neutral-300 dark:bg-neutral-200`:`bg-neutral-100 dark:bg-neutral-700`]),transition:`all ease-in-out duration-500`,text:`lg neutral-500 dark:neutral-400`,"m-1":``,"h-fit":``,"w-fit":``,"cursor-pointer":``,"appearance-none":``,"gap-1":``,"rounded-lg":``,"rounded-md":``,"border-none":``,"p-2":``,"outline-none":``},[gn(K(`input`,{"onUpdate:modelValue":i[0]||=e=>n.value=e,checked:n.value,"aria-checked":n.value,name:`showLive2DViewerInspector`,type:`checkbox`,"appearance-none":``,"outline-none":``,hidden:``},null,8,Dh),[[bt,n.value]]),i[8]||=K(`div`,{"select-none":``},[K(`div`,{"i-solar:bug-bold-duotone":``})],-1)],2)]),Cn(W(g),null,{default:Qt(()=>[n.value?(U(),V(`div`,Oh,[K(`div`,kh,[K(`div`,Ah,[K(`span`,null,En(W(t)(`stage.viewers.debug-menu.emotions`)),1)]),K(`div`,jh,[K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[1]||=e=>r.value={group:`Surprise`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.surprised`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[2]||=e=>r.value={group:`Sad`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.sad`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[3]||=e=>r.value={group:`Angry`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.angry`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[4]||=e=>r.value={group:`Happy`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.happy`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[5]||=e=>r.value={group:`Awkward`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.awkward`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[6]||=e=>r.value={group:`Question`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.question`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:i[7]||=e=>r.value={group:`Think`,index:0}},En(W(t)(`stage.viewers.debug-menu.emotions-btn.think`)),1)])])])):Zt(``,!0)]),_:1})])]),_:1}))}}),Nh=Mh;function Ph(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function Fh(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function Ih(e){return this instanceof Ih?(this.v=e,this):new Ih(e)}function Lh(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof Ih?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function Rh(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:Ih(e[r](t)),done:!1}:i?i(t):t}:i}}function zh(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof Fh==`function`?Fh(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}const Bh=new TextDecoder(`utf-8`),Vh=e=>Bh.decode(e),Hh=new TextEncoder,Uh=e=>Hh.encode(e),Wh=e=>typeof e==`number`,Gh=e=>typeof e==`boolean`,Kh=e=>typeof e==`function`,qh=e=>e!=null&&Object(e)===e,Jh=e=>qh(e)&&Kh(e.then),Yh=e=>qh(e)&&Kh(e[Symbol.iterator]),Xh=e=>qh(e)&&Kh(e[Symbol.asyncIterator]),Zh=e=>qh(e)&&qh(e.schema),Qh=e=>qh(e)&&`done`in e&&`value`in e,$h=e=>qh(e)&&Kh(e.stat)&&Wh(e.fd),eg=e=>qh(e)&&rg(e.body),tg=e=>`_getDOMStream`in e&&`_getNodeStream`in e,ng=e=>qh(e)&&Kh(e.abort)&&Kh(e.getWriter)&&!tg(e),rg=e=>qh(e)&&Kh(e.cancel)&&Kh(e.getReader)&&!tg(e),ig=e=>qh(e)&&Kh(e.end)&&Kh(e.write)&&Gh(e.writable)&&!tg(e),ag=e=>qh(e)&&Kh(e.read)&&Kh(e.pipe)&&Gh(e.readable)&&!tg(e),og=e=>qh(e)&&Kh(e.clear)&&Kh(e.bytes)&&Kh(e.position)&&Kh(e.setPosition)&&Kh(e.capacity)&&Kh(e.getBufferIdentifier)&&Kh(e.createLong),sg=typeof SharedArrayBuffer<`u`?SharedArrayBuffer:ArrayBuffer;function cg(e){let t=e[0]?[e[0]]:[],n,r,i,a;for(let o,s,c=0,l=0,u=e.length;++ce+t.byteLength,0),i,a,o,s=0,c=-1,l=Math.min(t||1/0,r);for(let e=n.length;++cdg(Int32Array,e),pg=e=>dg(BigInt64Array,e),mg=e=>dg(Uint8Array,e),hg=e=>(e.next(),e);function*gg(e,t){let n=function*(e){yield e},r=typeof t==`string`||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof sg?n(t):Yh(t)?t:n(t);return yield*hg(function*(t){let n=null;do n=t.next(yield dg(e,n));while(!n.done)}(r[Symbol.iterator]())),new e}const _g=e=>gg(Uint8Array,e);function vg(e,t){return Lh(this,arguments,function*(){if(Jh(t))return yield Ih(yield Ih(yield*Rh(zh(vg(e,yield Ih(t))))));let n=function(e){return Lh(this,arguments,function*(){yield yield Ih(yield Ih(e))})},r=function(e){return Lh(this,arguments,function*(){yield Ih(yield*Rh(zh(hg(function*(e){let t=null;do t=e.next(yield t?.value);while(!t.done)}(e[Symbol.iterator]())))))})},i=typeof t==`string`||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof sg?n(t):Yh(t)?r(t):Xh(t)?t:n(t);return yield Ih(yield*Rh(zh(hg(function(t){return Lh(this,arguments,function*(){let n=null;do n=yield Ih(t.next(yield yield Ih(dg(e,n))));while(!n.done)})}(i[Symbol.asyncIterator]()))))),yield Ih(new e)})}const yg=e=>vg(Uint8Array,e);function bg(e,t,n){if(e!==0){n=n.slice(0,t);for(let t=-1,r=n.length;++t0)do if(e[n]!==t[n])return!1;while(++n(e.next(),e);function*wg(e){let t,n=!1,r=[],i,a,o,s=0;function c(){return a===`peek`?ug(r,o)[0]:([i,r,s]=ug(r,o),i)}({cmd:a,size:o}=(yield(()=>null)())||{cmd:`read`,size:0});let l=_g(e)[Symbol.iterator]();try{do if({done:t,value:i}=Number.isNaN(o-s)?l.next():l.next(o-s),!t&&i.byteLength>0&&(r.push(i),s+=i.byteLength),t||o<=s)do({cmd:a,size:o}=yield c());while(onull)()))||{cmd:`read`,size:0});let l=yg(e)[Symbol.asyncIterator]();try{do if({done:t,value:i}=Number.isNaN(o-s)?yield Ih(l.next()):yield Ih(l.next(o-s)),!t&&i.byteLength>0&&(r.push(i),s+=i.byteLength),t||o<=s)do({cmd:a,size:o}=yield yield Ih(c()));while(onull)()))||{cmd:`read`,size:0});let l=new Dg(e);try{do if({done:t,value:i}=Number.isNaN(o-s)?yield Ih(l.read()):yield Ih(l.read(o-s)),!t&&i.byteLength>0&&(r.push(mg(i)),s+=i.byteLength),t||o<=s)do({cmd:a,size:o}=yield yield Ih(c()));while(o{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Ph(this,void 0,void 0,function*(){let{reader:t,source:n}=this;t&&(yield t.cancel(e).catch(()=>{})),n&&n.locked&&this.releaseLock()})}read(e){return Ph(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array};let t=yield this.reader.read();return!t.done&&(t.value=mg(t)),t})}};const Og=(e,t)=>{let n=e=>r([t,e]),r;return[t,n,new Promise(i=>(r=i)&&e.once(t,n))]};function kg(e){return Lh(this,arguments,function*(){let t=[],n=`error`,r=!1,i=null,a,o,s=0,c=[],l;function u(){return a===`peek`?ug(c,o)[0]:([l,c,s]=ug(c,o),l)}if({cmd:a,size:o}=(yield yield Ih((()=>null)()))||{cmd:`read`,size:0},e.isTTY)return yield yield Ih(new Uint8Array),yield Ih(null);try{t[0]=Og(e,`end`),t[1]=Og(e,`error`);do{if(t[2]=Og(e,`readable`),[n,i]=yield Ih(Promise.race(t.map(e=>e[2]))),n===`error`)break;if((r=n===`end`)||(Number.isFinite(o-s)?(l=mg(e.read(o-s)),l.byteLength0&&(c.push(l),s+=l.byteLength)),r||o<=s)do({cmd:a,size:o}=yield yield Ih(u()));while(o{for(let[n,r]of t)e.off(n,r);try{let t=e.destroy;t&&t.call(e,n),n=void 0}catch(e){n=e||n}finally{n==null?r():i(n)}})}})}var Ag;(function(e){e[e.V1=0]=`V1`,e[e.V2=1]=`V2`,e[e.V3=2]=`V3`,e[e.V4=3]=`V4`,e[e.V5=4]=`V5`})(Ag||={});var jg;(function(e){e[e.Sparse=0]=`Sparse`,e[e.Dense=1]=`Dense`})(jg||={});var Mg;(function(e){e[e.HALF=0]=`HALF`,e[e.SINGLE=1]=`SINGLE`,e[e.DOUBLE=2]=`DOUBLE`})(Mg||={});var Ng;(function(e){e[e.DAY=0]=`DAY`,e[e.MILLISECOND=1]=`MILLISECOND`})(Ng||={});var Pg;(function(e){e[e.SECOND=0]=`SECOND`,e[e.MILLISECOND=1]=`MILLISECOND`,e[e.MICROSECOND=2]=`MICROSECOND`,e[e.NANOSECOND=3]=`NANOSECOND`})(Pg||={});var Fg;(function(e){e[e.YEAR_MONTH=0]=`YEAR_MONTH`,e[e.DAY_TIME=1]=`DAY_TIME`,e[e.MONTH_DAY_NANO=2]=`MONTH_DAY_NANO`})(Fg||={});const Ig=2,Lg=4,Rg=4,zg=4,Bg=new Int32Array(2),Vg=new Float32Array(Bg.buffer),Hg=new Float64Array(Bg.buffer),Ug=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Wg;(function(e){e[e.UTF8_BYTES=1]=`UTF8_BYTES`,e[e.UTF16_STRING=2]=`UTF16_STRING`})(Wg||={});var Gg=class e{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){Vg[0]=t,this.writeInt32(e,Bg[0])}writeFloat64(e,t){Hg[0]=t,this.writeInt32(e,Bg[Ug?0:1]),this.writeInt32(e+4,Bg[Ug?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let r=~(this.bb.capacity()-this.space+n)+1&t-1;for(;this.space=0&&this.vtable[t]==0;t--);let n=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]==0?0:e-this.vtable[t]);let r=2;this.addInt16(e-this.object_start);let i=(n+r)*Ig;this.addInt16(i);let a=0,o=this.space;outer_loop:for(t=0;t=0;t--)this.writeInt8(e.charCodeAt(t))}this.prep(this.minalign,Lg+r),this.addOffset(e),r&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){let n=this.bb.capacity()-e,r=n-this.bb.readInt32(n),i=t=0;n--)e.addInt32(t[n]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){let t=e.endObject();return t}static createUnion(t,n,r){return e.startUnion(t),e.addMode(t,n),e.addTypeIds(t,r),e.endUnion(t)}},C_=class e{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,n){return t.setPosition(t.position()+zg),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(e){e.startObject(0)}static endUtf8(e){let t=e.endObject();return t}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}},w_;(function(e){e[e.NONE=0]=`NONE`,e[e.Null=1]=`Null`,e[e.Int=2]=`Int`,e[e.FloatingPoint=3]=`FloatingPoint`,e[e.Binary=4]=`Binary`,e[e.Utf8=5]=`Utf8`,e[e.Bool=6]=`Bool`,e[e.Decimal=7]=`Decimal`,e[e.Date=8]=`Date`,e[e.Time=9]=`Time`,e[e.Timestamp=10]=`Timestamp`,e[e.Interval=11]=`Interval`,e[e.List=12]=`List`,e[e.Struct_=13]=`Struct_`,e[e.Union=14]=`Union`,e[e.FixedSizeBinary=15]=`FixedSizeBinary`,e[e.FixedSizeList=16]=`FixedSizeList`,e[e.Map=17]=`Map`,e[e.Duration=18]=`Duration`,e[e.LargeBinary=19]=`LargeBinary`,e[e.LargeUtf8=20]=`LargeUtf8`,e[e.LargeList=21]=`LargeList`,e[e.RunEndEncoded=22]=`RunEndEncoded`})(w_||={});var T_=class e{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,n){return t.setPosition(t.position()+zg),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}name(e){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):w_.NONE}type(e){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){let t=this.bb.__offset(this.bb_pos,12);return t?(e||new r_).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(t,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,16);return n?(t||new i_).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,w_.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){let t=e.endObject();return t}},E_=class e{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,n){return t.setPosition(t.position()+zg),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):e_.Little}fields(e,t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new T_).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}fieldsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,8);return n?(t||new i_).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,e_.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let n=t.length-1;n>=0;n--)e.addInt64(t[n]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){let t=e.endObject();return t}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(t,n,r,i,a){return e.startSchema(t),e.addEndianness(t,n),e.addFields(t,r),e.addCustomMetadata(t,i),e.addFeatures(t,a),e.endSchema(t)}},D_;(function(e){e[e.NONE=0]=`NONE`,e[e.Schema=1]=`Schema`,e[e.DictionaryBatch=2]=`DictionaryBatch`,e[e.RecordBatch=3]=`RecordBatch`,e[e.Tensor=4]=`Tensor`,e[e.SparseTensor=5]=`SparseTensor`})(D_||={});var q;(function(e){e[e.NONE=0]=`NONE`,e[e.Null=1]=`Null`,e[e.Int=2]=`Int`,e[e.Float=3]=`Float`,e[e.Binary=4]=`Binary`,e[e.Utf8=5]=`Utf8`,e[e.Bool=6]=`Bool`,e[e.Decimal=7]=`Decimal`,e[e.Date=8]=`Date`,e[e.Time=9]=`Time`,e[e.Timestamp=10]=`Timestamp`,e[e.Interval=11]=`Interval`,e[e.List=12]=`List`,e[e.Struct=13]=`Struct`,e[e.Union=14]=`Union`,e[e.FixedSizeBinary=15]=`FixedSizeBinary`,e[e.FixedSizeList=16]=`FixedSizeList`,e[e.Map=17]=`Map`,e[e.Duration=18]=`Duration`,e[e.LargeBinary=19]=`LargeBinary`,e[e.LargeUtf8=20]=`LargeUtf8`,e[e.Dictionary=-1]=`Dictionary`,e[e.Int8=-2]=`Int8`,e[e.Int16=-3]=`Int16`,e[e.Int32=-4]=`Int32`,e[e.Int64=-5]=`Int64`,e[e.Uint8=-6]=`Uint8`,e[e.Uint16=-7]=`Uint16`,e[e.Uint32=-8]=`Uint32`,e[e.Uint64=-9]=`Uint64`,e[e.Float16=-10]=`Float16`,e[e.Float32=-11]=`Float32`,e[e.Float64=-12]=`Float64`,e[e.DateDay=-13]=`DateDay`,e[e.DateMillisecond=-14]=`DateMillisecond`,e[e.TimestampSecond=-15]=`TimestampSecond`,e[e.TimestampMillisecond=-16]=`TimestampMillisecond`,e[e.TimestampMicrosecond=-17]=`TimestampMicrosecond`,e[e.TimestampNanosecond=-18]=`TimestampNanosecond`,e[e.TimeSecond=-19]=`TimeSecond`,e[e.TimeMillisecond=-20]=`TimeMillisecond`,e[e.TimeMicrosecond=-21]=`TimeMicrosecond`,e[e.TimeNanosecond=-22]=`TimeNanosecond`,e[e.DenseUnion=-23]=`DenseUnion`,e[e.SparseUnion=-24]=`SparseUnion`,e[e.IntervalDayTime=-25]=`IntervalDayTime`,e[e.IntervalYearMonth=-26]=`IntervalYearMonth`,e[e.DurationSecond=-27]=`DurationSecond`,e[e.DurationMillisecond=-28]=`DurationMillisecond`,e[e.DurationMicrosecond=-29]=`DurationMicrosecond`,e[e.DurationNanosecond=-30]=`DurationNanosecond`})(q||={});var O_;(function(e){e[e.OFFSET=0]=`OFFSET`,e[e.DATA=1]=`DATA`,e[e.VALIDITY=2]=`VALIDITY`,e[e.TYPE=3]=`TYPE`})(O_||={});const k_=void 0;function A_(e){if(e===null)return`null`;if(e===k_)return`undefined`;switch(typeof e){case`number`:return`${e}`;case`bigint`:return`${e}`;case`string`:return`"${e}"`}return typeof e[Symbol.toPrimitive]==`function`?e[Symbol.toPrimitive](`string`):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(e=>A_(e))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(e,t)=>typeof t==`bigint`?`${t}`:t)}function j_(e){if(typeof e==`bigint`&&(e<-(2**53-1)||e>2**53-1))throw TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function M_(e,t){return j_(e/t)+j_(e%t)/j_(t)}const N_=Symbol.for(`isArrowBigNum`);function P_(e,...t){return t.length===0?Object.setPrototypeOf(dg(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}P_.prototype[N_]=!0,P_.prototype.toJSON=function(){return`"${V_(this)}"`},P_.prototype.valueOf=function(e){return B_(this,e)},P_.prototype.toString=function(){return V_(this)},P_.prototype[Symbol.toPrimitive]=function(e=`default`){switch(e){case`number`:return B_(this);case`string`:return V_(this);case`default`:return H_(this)}return V_(this)};function F_(...e){return P_.apply(this,e)}function I_(...e){return P_.apply(this,e)}function L_(...e){return P_.apply(this,e)}Object.setPrototypeOf(F_.prototype,Object.create(Int32Array.prototype)),Object.setPrototypeOf(I_.prototype,Object.create(Uint32Array.prototype)),Object.setPrototypeOf(L_.prototype,Object.create(Uint32Array.prototype)),Object.assign(F_.prototype,P_.prototype,{constructor:F_,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array}),Object.assign(I_.prototype,P_.prototype,{constructor:I_,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array}),Object.assign(L_.prototype,P_.prototype,{constructor:L_,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const R_=BigInt(4294967296)*BigInt(4294967296),z_=R_-BigInt(1);function B_(e,t){let{buffer:n,byteOffset:r,byteLength:i,signed:a}=e,o=new BigUint64Array(n,r,i/8),s=a&&o.at(-1)&BigInt(1)<=0)return U_(e);t=t.slice();let r=1;for(let e=0;e(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=`DataType`))(pv.prototype);var mv=class extends pv{constructor(){super(q.Null)}toString(){return`Null`}};K_=Symbol.toStringTag,mv[K_]=(e=>e[Symbol.toStringTag]=`Null`)(mv.prototype);var hv=class extends pv{constructor(e,t){super(q.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?`I`:`Ui`}nt${this.bitWidth}`}};q_=Symbol.toStringTag,hv[q_]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=`Int`))(hv.prototype);var gv=class extends hv{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},_v=class extends hv{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},vv=class extends hv{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},yv=class extends hv{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},bv=class extends hv{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},xv=class extends hv{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Sv=class extends hv{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Cv=class extends hv{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(gv.prototype,`ArrayType`,{value:Int8Array}),Object.defineProperty(_v.prototype,`ArrayType`,{value:Int16Array}),Object.defineProperty(vv.prototype,`ArrayType`,{value:Int32Array}),Object.defineProperty(yv.prototype,`ArrayType`,{value:BigInt64Array}),Object.defineProperty(bv.prototype,`ArrayType`,{value:Uint8Array}),Object.defineProperty(xv.prototype,`ArrayType`,{value:Uint16Array}),Object.defineProperty(Sv.prototype,`ArrayType`,{value:Uint32Array}),Object.defineProperty(Cv.prototype,`ArrayType`,{value:BigUint64Array});var wv=class extends pv{constructor(e){super(q.Float),this.precision=e}get ArrayType(){switch(this.precision){case Mg.HALF:return Uint16Array;case Mg.SINGLE:return Float32Array;case Mg.DOUBLE:return Float64Array}throw Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};J_=Symbol.toStringTag,wv[J_]=(e=>(e.precision=null,e[Symbol.toStringTag]=`Float`))(wv.prototype);var Tv=class extends wv{constructor(){super(Mg.HALF)}},Ev=class extends wv{constructor(){super(Mg.SINGLE)}},Dv=class extends wv{constructor(){super(Mg.DOUBLE)}};Object.defineProperty(Tv.prototype,`ArrayType`,{value:Uint16Array}),Object.defineProperty(Ev.prototype,`ArrayType`,{value:Float32Array}),Object.defineProperty(Dv.prototype,`ArrayType`,{value:Float64Array});var Ov=class extends pv{constructor(){super(q.Binary)}toString(){return`Binary`}};Y_=Symbol.toStringTag,Ov[Y_]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`Binary`))(Ov.prototype);var kv=class extends pv{constructor(){super(q.LargeBinary)}toString(){return`LargeBinary`}};X_=Symbol.toStringTag,kv[X_]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=`LargeBinary`))(kv.prototype);var Av=class extends pv{constructor(){super(q.Utf8)}toString(){return`Utf8`}};Z_=Symbol.toStringTag,Av[Z_]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`Utf8`))(Av.prototype);var jv=class extends pv{constructor(){super(q.LargeUtf8)}toString(){return`LargeUtf8`}};Q_=Symbol.toStringTag,jv[Q_]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=`LargeUtf8`))(jv.prototype);var Mv=class extends pv{constructor(){super(q.Bool)}toString(){return`Bool`}};$_=Symbol.toStringTag,Mv[$_]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`Bool`))(Mv.prototype);var Nv=class extends pv{constructor(e,t,n=128){super(q.Decimal),this.scale=e,this.precision=t,this.bitWidth=n}toString(){return`Decimal[${this.precision}e${this.scale>0?`+`:``}${this.scale}]`}};ev=Symbol.toStringTag,Nv[ev]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=`Decimal`))(Nv.prototype);var Pv=class extends pv{constructor(e){super(q.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${Ng[this.unit]}>`}get ArrayType(){return this.unit===Ng.DAY?Int32Array:BigInt64Array}};tv=Symbol.toStringTag,Pv[tv]=(e=>(e.unit=null,e[Symbol.toStringTag]=`Date`))(Pv.prototype);var Fv=class extends pv{constructor(e,t){super(q.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${Pg[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};nv=Symbol.toStringTag,Fv[nv]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=`Time`))(Fv.prototype);var Iv=class extends pv{constructor(e,t){super(q.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${Pg[this.unit]}${this.timezone?`, ${this.timezone}`:``}>`}};rv=Symbol.toStringTag,Iv[rv]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=`Timestamp`))(Iv.prototype);var Lv=class extends pv{constructor(e){super(q.Interval),this.unit=e}toString(){return`Interval<${Fg[this.unit]}>`}};iv=Symbol.toStringTag,Lv[iv]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=`Interval`))(Lv.prototype);var Rv=class extends pv{constructor(e){super(q.Duration),this.unit=e}toString(){return`Duration<${Pg[this.unit]}>`}};av=Symbol.toStringTag,Rv[av]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=`Duration`))(Rv.prototype);var zv=class extends pv{constructor(e){super(q.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};ov=Symbol.toStringTag,zv[ov]=(e=>(e.children=null,e[Symbol.toStringTag]=`List`))(zv.prototype);var Bv=class extends pv{constructor(e){super(q.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(`, `)}}>`}};sv=Symbol.toStringTag,Bv[sv]=(e=>(e.children=null,e[Symbol.toStringTag]=`Struct`))(Bv.prototype);var Vv=class extends pv{constructor(e,t,n){super(q.Union),this.mode=e,this.children=n,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((e,t,n)=>(e[t]=n)&&e||e,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(` | `)}>`}};cv=Symbol.toStringTag,Vv[cv]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=`Union`))(Vv.prototype);var Hv=class extends pv{constructor(e){super(q.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};lv=Symbol.toStringTag,Hv[lv]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`FixedSizeBinary`))(Hv.prototype);var Uv=class extends pv{constructor(e,t){super(q.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};uv=Symbol.toStringTag,Uv[uv]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=`FixedSizeList`))(Uv.prototype);var Wv=class extends pv{constructor(e,t=!1){var n,r,i;if(super(q.Map),this.children=[e],this.keysSorted=t,e&&(e.name=`entries`,(n=e?.type)?.children)){let t=(r=e?.type)?.children[0];t&&(t.name=`key`);let n=(i=e?.type)?.children[1];n&&(n.name=`value`)}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(`, `)}}>`}};dv=Symbol.toStringTag,Wv[dv]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=`Map_`))(Wv.prototype);const Gv=(e=>()=>++e)(-1);var Kv=class extends pv{constructor(e,t,n,r){super(q.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=r||!1,this.id=n==null?Gv():j_(n)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};fv=Symbol.toStringTag,Kv[fv]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=`Dictionary`))(Kv.prototype);function qv(e){let t=e;switch(e.typeId){case q.Decimal:return e.bitWidth/32;case q.Interval:return 1+t.unit;case q.FixedSizeList:return t.listSize;case q.FixedSizeBinary:return t.byteWidth;default:return 1}}var Jv=class{visitMany(e,...t){return e.map((e,n)=>this.visit(e,...t.map(e=>e[n])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return Yv(this,e,t)}getVisitFnByTypeId(e,t=!0){return Xv(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}};function Yv(e,t,n=!0){return typeof t==`number`?Xv(e,t,n):typeof t==`string`&&t in q?Xv(e,q[t],n):t&&t instanceof pv?Xv(e,Zv(t),n):t?.type&&t.type instanceof pv?Xv(e,Zv(t.type),n):Xv(e,q.NONE,n)}function Xv(e,t,n=!0){let r=null;switch(t){case q.Null:r=e.visitNull;break;case q.Bool:r=e.visitBool;break;case q.Int:r=e.visitInt;break;case q.Int8:r=e.visitInt8||e.visitInt;break;case q.Int16:r=e.visitInt16||e.visitInt;break;case q.Int32:r=e.visitInt32||e.visitInt;break;case q.Int64:r=e.visitInt64||e.visitInt;break;case q.Uint8:r=e.visitUint8||e.visitInt;break;case q.Uint16:r=e.visitUint16||e.visitInt;break;case q.Uint32:r=e.visitUint32||e.visitInt;break;case q.Uint64:r=e.visitUint64||e.visitInt;break;case q.Float:r=e.visitFloat;break;case q.Float16:r=e.visitFloat16||e.visitFloat;break;case q.Float32:r=e.visitFloat32||e.visitFloat;break;case q.Float64:r=e.visitFloat64||e.visitFloat;break;case q.Utf8:r=e.visitUtf8;break;case q.LargeUtf8:r=e.visitLargeUtf8;break;case q.Binary:r=e.visitBinary;break;case q.LargeBinary:r=e.visitLargeBinary;break;case q.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case q.Date:r=e.visitDate;break;case q.DateDay:r=e.visitDateDay||e.visitDate;break;case q.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case q.Timestamp:r=e.visitTimestamp;break;case q.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case q.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case q.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case q.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case q.Time:r=e.visitTime;break;case q.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case q.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case q.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case q.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case q.Decimal:r=e.visitDecimal;break;case q.List:r=e.visitList;break;case q.Struct:r=e.visitStruct;break;case q.Union:r=e.visitUnion;break;case q.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case q.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case q.Dictionary:r=e.visitDictionary;break;case q.Interval:r=e.visitInterval;break;case q.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case q.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case q.Duration:r=e.visitDuration;break;case q.DurationSecond:r=e.visitDurationSecond||e.visitDuration;break;case q.DurationMillisecond:r=e.visitDurationMillisecond||e.visitDuration;break;case q.DurationMicrosecond:r=e.visitDurationMicrosecond||e.visitDuration;break;case q.DurationNanosecond:r=e.visitDurationNanosecond||e.visitDuration;break;case q.FixedSizeList:r=e.visitFixedSizeList;break;case q.Map:r=e.visitMap;break}if(typeof r==`function`)return r;if(!n)return()=>null;throw Error(`Unrecognized type '${q[t]}'`)}function Zv(e){switch(e.typeId){case q.Null:return q.Null;case q.Int:{let{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?q.Int8:q.Uint8;case 16:return n?q.Int16:q.Uint16;case 32:return n?q.Int32:q.Uint32;case 64:return n?q.Int64:q.Uint64}return q.Int}case q.Float:switch(e.precision){case Mg.HALF:return q.Float16;case Mg.SINGLE:return q.Float32;case Mg.DOUBLE:return q.Float64}return q.Float;case q.Binary:return q.Binary;case q.LargeBinary:return q.LargeBinary;case q.Utf8:return q.Utf8;case q.LargeUtf8:return q.LargeUtf8;case q.Bool:return q.Bool;case q.Decimal:return q.Decimal;case q.Time:switch(e.unit){case Pg.SECOND:return q.TimeSecond;case Pg.MILLISECOND:return q.TimeMillisecond;case Pg.MICROSECOND:return q.TimeMicrosecond;case Pg.NANOSECOND:return q.TimeNanosecond}return q.Time;case q.Timestamp:switch(e.unit){case Pg.SECOND:return q.TimestampSecond;case Pg.MILLISECOND:return q.TimestampMillisecond;case Pg.MICROSECOND:return q.TimestampMicrosecond;case Pg.NANOSECOND:return q.TimestampNanosecond}return q.Timestamp;case q.Date:switch(e.unit){case Ng.DAY:return q.DateDay;case Ng.MILLISECOND:return q.DateMillisecond}return q.Date;case q.Interval:switch(e.unit){case Fg.DAY_TIME:return q.IntervalDayTime;case Fg.YEAR_MONTH:return q.IntervalYearMonth}return q.Interval;case q.Duration:switch(e.unit){case Pg.SECOND:return q.DurationSecond;case Pg.MILLISECOND:return q.DurationMillisecond;case Pg.MICROSECOND:return q.DurationMicrosecond;case Pg.NANOSECOND:return q.DurationNanosecond}return q.Duration;case q.Map:return q.Map;case q.List:return q.List;case q.Struct:return q.Struct;case q.Union:switch(e.mode){case jg.Dense:return q.DenseUnion;case jg.Sparse:return q.SparseUnion}return q.Union;case q.FixedSizeBinary:return q.FixedSizeBinary;case q.FixedSizeList:return q.FixedSizeList;case q.Dictionary:return q.Dictionary}throw Error(`Unrecognized type '${q[e.typeId]}'`)}Jv.prototype.visitInt8=null,Jv.prototype.visitInt16=null,Jv.prototype.visitInt32=null,Jv.prototype.visitInt64=null,Jv.prototype.visitUint8=null,Jv.prototype.visitUint16=null,Jv.prototype.visitUint32=null,Jv.prototype.visitUint64=null,Jv.prototype.visitFloat16=null,Jv.prototype.visitFloat32=null,Jv.prototype.visitFloat64=null,Jv.prototype.visitDateDay=null,Jv.prototype.visitDateMillisecond=null,Jv.prototype.visitTimestampSecond=null,Jv.prototype.visitTimestampMillisecond=null,Jv.prototype.visitTimestampMicrosecond=null,Jv.prototype.visitTimestampNanosecond=null,Jv.prototype.visitTimeSecond=null,Jv.prototype.visitTimeMillisecond=null,Jv.prototype.visitTimeMicrosecond=null,Jv.prototype.visitTimeNanosecond=null,Jv.prototype.visitDenseUnion=null,Jv.prototype.visitSparseUnion=null,Jv.prototype.visitIntervalDayTime=null,Jv.prototype.visitIntervalYearMonth=null,Jv.prototype.visitDuration=null,Jv.prototype.visitDurationSecond=null,Jv.prototype.visitDurationMillisecond=null,Jv.prototype.visitDurationMicrosecond=null,Jv.prototype.visitDurationNanosecond=null;const Qv=new Float64Array(1),$v=new Uint32Array(Qv.buffer);function ey(e){let t=(e&31744)>>10,n=(e&1023)/1024,r=(-1)**((e&32768)>>15);switch(t){case 31:return r*(n?NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*2**(t-15)*(1+n)}function ty(e){if(e!==e)return 32256;Qv[0]=e;let t=($v[1]&2147483648)>>16&65535,n=$v[1]&2146435072,r=0;return n>=1089470464?$v[0]>0?n=31744:(n=(n&2080374784)>>16,r=($v[1]&1048575)>>10):n<=1056964608?(r=1048576+($v[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=($v[1]&1048575)+512>>10),t|n|r&65535}var ny=class extends Jv{};function ry(e){return(t,n,r)=>{if(t.setValid(n,r!=null))return e(t,n,r)}}const iy=(e,t,n)=>{e[t]=Math.floor(n/864e5)},ay=(e,t,n,r)=>{if(n+1{let i=e+n;r?t[i>>3]|=1<>3]&=~(1<{e[t]=n},cy=({values:e},t,n)=>{e[t]=n},ly=({values:e},t,n)=>{e[t]=ty(n)},uy=(e,t,n)=>{switch(e.type.precision){case Mg.HALF:return ly(e,t,n);case Mg.SINGLE:case Mg.DOUBLE:return cy(e,t,n)}},dy=({values:e},t,n)=>{iy(e,t,n.valueOf())},fy=({values:e},t,n)=>{e[t]=BigInt(n)},py=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},my=({values:e,valueOffsets:t},n,r)=>ay(e,t,n,r),hy=({values:e,valueOffsets:t},n,r)=>ay(e,t,n,Uh(r)),gy=(e,t,n)=>{e.type.unit===Ng.DAY?dy(e,t,n):fy(e,t,n)},_y=({values:e},t,n)=>{e[t]=BigInt(n/1e3)},vy=({values:e},t,n)=>{e[t]=BigInt(n)},yy=({values:e},t,n)=>{e[t]=BigInt(n*1e3)},by=({values:e},t,n)=>{e[t]=BigInt(n*1e6)},xy=(e,t,n)=>{switch(e.type.unit){case Pg.SECOND:return _y(e,t,n);case Pg.MILLISECOND:return vy(e,t,n);case Pg.MICROSECOND:return yy(e,t,n);case Pg.NANOSECOND:return by(e,t,n)}},Sy=({values:e},t,n)=>{e[t]=n},Cy=({values:e},t,n)=>{e[t]=n},wy=({values:e},t,n)=>{e[t]=n},Ty=({values:e},t,n)=>{e[t]=n},Ey=(e,t,n)=>{switch(e.type.unit){case Pg.SECOND:return Sy(e,t,n);case Pg.MILLISECOND:return Cy(e,t,n);case Pg.MICROSECOND:return wy(e,t,n);case Pg.NANOSECOND:return Ty(e,t,n)}},Dy=({values:e,stride:t},n,r)=>{e.set(r.subarray(0,t),t*n)},Oy=(e,t,n)=>{let r=e.children[0],i=e.valueOffsets,a=Jy.getVisitFn(r);if(Array.isArray(n))for(let e=-1,o=i[t],s=i[t+1];o{let r=e.children[0],{valueOffsets:i}=e,a=Jy.getVisitFn(r),{[t]:o,[t+1]:s}=i,c=n instanceof Map?n.entries():Object.entries(n);for(let e of c)if(a(r,o,e),++o>=s)break},Ay=(e,t)=>(n,r,i,a)=>r&&n(r,e,t[a]),jy=(e,t)=>(n,r,i,a)=>r&&n(r,e,t.get(a)),My=(e,t)=>(n,r,i,a)=>r&&n(r,e,t.get(i.name)),Ny=(e,t)=>(n,r,i,a)=>r&&n(r,e,t[i.name]),Py=(e,t,n)=>{let r=e.type.children.map(e=>Jy.getVisitFn(e.type)),i=n instanceof Map?My(t,n):n instanceof qx?jy(t,n):Array.isArray(n)?Ay(t,n):Ny(t,n);e.type.children.forEach((t,n)=>i(r[n],e.children[n],t,n))},Fy=(e,t,n)=>{e.type.mode===jg.Dense?Iy(e,t,n):Ly(e,t,n)},Iy=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Jy.visit(i,e.valueOffsets[t],n)},Ly=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Jy.visit(i,t,n)},Ry=(e,t,n)=>{var r;(r=e.dictionary)==null||r.set(e.values[t],n)},zy=(e,t,n)=>{e.type.unit===Fg.DAY_TIME?By(e,t,n):Vy(e,t,n)},By=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},Vy=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},Hy=({values:e},t,n)=>{e[t]=n},Uy=({values:e},t,n)=>{e[t]=n},Wy=({values:e},t,n)=>{e[t]=n},Gy=({values:e},t,n)=>{e[t]=n},Ky=(e,t,n)=>{switch(e.type.unit){case Pg.SECOND:return Hy(e,t,n);case Pg.MILLISECOND:return Uy(e,t,n);case Pg.MICROSECOND:return Wy(e,t,n);case Pg.NANOSECOND:return Gy(e,t,n)}},qy=(e,t,n)=>{let{stride:r}=e,i=e.children[0],a=Jy.getVisitFn(i);if(Array.isArray(n))for(let e=-1,o=t*r;++e`${A_(e)}: ${A_(t)}`).join(`, `)}}`}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.toString()}[Symbol.iterator](){return new Qy(this[Yy],this[Xy])}},Qy=class{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return ee.name)}has(e,t){return e[Yy].type.children.findIndex(e=>e.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[Yy].type.children.findIndex(e=>e.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];let n=e[Yy].type.children.findIndex(e=>e.name===t);if(n!==-1){let r=Wb.visit(e[Yy].children[n],e[Xy]);return Reflect.set(e,t,r),r}}set(e,t,n){let r=e[Yy].type.children.findIndex(e=>e.name===t);return r===-1?Reflect.has(e,t)||typeof t==`symbol`?Reflect.set(e,t,n):!1:(Jy.visit(e[Yy].children[r],e[Xy],n),Reflect.set(e,t,n))}},eb=class extends Jv{};function tb(e){return(t,n)=>t.getValid(n)?e(t,n):null}const nb=(e,t)=>864e5*e[t],rb=(e,t)=>null,ib=(e,t,n)=>{if(n+1>=t.length)return null;let r=j_(t[n]),i=j_(t[n+1]);return e.subarray(r,i)},ab=({offset:e,values:t},n)=>{let r=e+n,i=t[r>>3];return(i&1<nb(e,t),sb=({values:e},t)=>j_(e[t]),cb=({stride:e,values:t},n)=>t[e*n],lb=({stride:e,values:t},n)=>ey(t[e*n]),ub=({values:e},t)=>e[t],db=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),fb=({values:e,valueOffsets:t},n)=>ib(e,t,n),pb=({values:e,valueOffsets:t},n)=>{let r=ib(e,t,n);return r===null?null:Vh(r)},mb=({values:e},t)=>e[t],hb=({type:e,values:t},n)=>e.precision===Mg.HALF?ey(t[n]):t[n],gb=(e,t)=>e.type.unit===Ng.DAY?ob(e,t):sb(e,t),_b=({values:e},t)=>1e3*j_(e[t]),vb=({values:e},t)=>j_(e[t]),yb=({values:e},t)=>M_(e[t],BigInt(1e3)),bb=({values:e},t)=>M_(e[t],BigInt(1e6)),xb=(e,t)=>{switch(e.type.unit){case Pg.SECOND:return _b(e,t);case Pg.MILLISECOND:return vb(e,t);case Pg.MICROSECOND:return yb(e,t);case Pg.NANOSECOND:return bb(e,t)}},Sb=({values:e},t)=>e[t],Cb=({values:e},t)=>e[t],wb=({values:e},t)=>e[t],Tb=({values:e},t)=>e[t],Eb=(e,t)=>{switch(e.type.unit){case Pg.SECOND:return Sb(e,t);case Pg.MILLISECOND:return Cb(e,t);case Pg.MICROSECOND:return wb(e,t);case Pg.NANOSECOND:return Tb(e,t)}},Db=({values:e,stride:t},n)=>W_.decimal(e.subarray(t*n,t*(n+1))),Ob=(e,t)=>{let{valueOffsets:n,stride:r,children:i}=e,{[t*r]:a,[t*r+1]:o}=n,s=i[0],c=s.slice(a,o-a);return new qx([c])},kb=(e,t)=>{let{valueOffsets:n,children:r}=e,{[t]:i,[t+1]:a}=n,o=r[0];return new Yb(o.slice(i,a-i))},Ab=(e,t)=>new Zy(e,t),jb=(e,t)=>e.type.mode===jg.Dense?Mb(e,t):Nb(e,t),Mb=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return Wb.visit(r,e.valueOffsets[t])},Nb=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return Wb.visit(r,t)},Pb=(e,t)=>{var n;return(n=e.dictionary)?.get(e.values[t])},Fb=(e,t)=>e.type.unit===Fg.DAY_TIME?Ib(e,t):Lb(e,t),Ib=({values:e},t)=>e.subarray(2*t,2*(t+1)),Lb=({values:e},t)=>{let n=e[t],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},Rb=({values:e},t)=>e[t],zb=({values:e},t)=>e[t],Bb=({values:e},t)=>e[t],Vb=({values:e},t)=>e[t],Hb=(e,t)=>{switch(e.type.unit){case Pg.SECOND:return Rb(e,t);case Pg.MILLISECOND:return zb(e,t);case Pg.MICROSECOND:return Bb(e,t);case Pg.NANOSECOND:return Vb(e,t)}},Ub=(e,t)=>{let{stride:n,children:r}=e,i=r[0],a=i.slice(t*n,n);return new qx([a])};eb.prototype.visitNull=tb(rb),eb.prototype.visitBool=tb(ab),eb.prototype.visitInt=tb(mb),eb.prototype.visitInt8=tb(cb),eb.prototype.visitInt16=tb(cb),eb.prototype.visitInt32=tb(cb),eb.prototype.visitInt64=tb(ub),eb.prototype.visitUint8=tb(cb),eb.prototype.visitUint16=tb(cb),eb.prototype.visitUint32=tb(cb),eb.prototype.visitUint64=tb(ub),eb.prototype.visitFloat=tb(hb),eb.prototype.visitFloat16=tb(lb),eb.prototype.visitFloat32=tb(cb),eb.prototype.visitFloat64=tb(cb),eb.prototype.visitUtf8=tb(pb),eb.prototype.visitLargeUtf8=tb(pb),eb.prototype.visitBinary=tb(fb),eb.prototype.visitLargeBinary=tb(fb),eb.prototype.visitFixedSizeBinary=tb(db),eb.prototype.visitDate=tb(gb),eb.prototype.visitDateDay=tb(ob),eb.prototype.visitDateMillisecond=tb(sb),eb.prototype.visitTimestamp=tb(xb),eb.prototype.visitTimestampSecond=tb(_b),eb.prototype.visitTimestampMillisecond=tb(vb),eb.prototype.visitTimestampMicrosecond=tb(yb),eb.prototype.visitTimestampNanosecond=tb(bb),eb.prototype.visitTime=tb(Eb),eb.prototype.visitTimeSecond=tb(Sb),eb.prototype.visitTimeMillisecond=tb(Cb),eb.prototype.visitTimeMicrosecond=tb(wb),eb.prototype.visitTimeNanosecond=tb(Tb),eb.prototype.visitDecimal=tb(Db),eb.prototype.visitList=tb(Ob),eb.prototype.visitStruct=tb(Ab),eb.prototype.visitUnion=tb(jb),eb.prototype.visitDenseUnion=tb(Mb),eb.prototype.visitSparseUnion=tb(Nb),eb.prototype.visitDictionary=tb(Pb),eb.prototype.visitInterval=tb(Fb),eb.prototype.visitIntervalDayTime=tb(Ib),eb.prototype.visitIntervalYearMonth=tb(Lb),eb.prototype.visitDuration=tb(Hb),eb.prototype.visitDurationSecond=tb(Rb),eb.prototype.visitDurationMillisecond=tb(zb),eb.prototype.visitDurationMicrosecond=tb(Bb),eb.prototype.visitDurationNanosecond=tb(Vb),eb.prototype.visitFixedSizeList=tb(Ub),eb.prototype.visitMap=tb(kb);const Wb=new eb,Gb=Symbol.for(`keys`),Kb=Symbol.for(`vals`),qb=Symbol.for(`kKeysAsStrings`),Jb=Symbol.for(`_kKeysAsStrings`);var Yb=class{constructor(e){return this[Gb]=new qx([e.children[0]]).memoize(),this[Kb]=e.children[1],new Proxy(this,new Zb)}get[qb](){return this[Jb]||(this[Jb]=Array.from(this[Gb].toArray(),String))}[Symbol.iterator](){return new Xb(this[Gb],this[Kb])}get size(){return this[Gb].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[Gb],t=this[Kb],n={};for(let r=-1,i=e.length;++r`${A_(e)}: ${A_(t)}`).join(`, `)}}`}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.toString()}},Xb=class{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Wb.visit(this.vals,e)]})}},Zb=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[qb]}has(e,t){return e[qb].includes(t)}getOwnPropertyDescriptor(e,t){let n=e[qb].indexOf(t);if(n!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];let n=e[qb].indexOf(t);if(n!==-1){let r=Wb.visit(Reflect.get(e,Kb),n);return Reflect.set(e,t,r),r}}set(e,t,n){let r=e[qb].indexOf(t);return r===-1?Reflect.has(e,t)?Reflect.set(e,t,n):!1:(Jy.visit(Reflect.get(e,Kb),r,n),Reflect.set(e,t,n))}};Object.defineProperties(Yb.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:`Row`},[Gb]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Kb]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Jb]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let Qb;function $b(e,t,n,r){let{length:i=0}=e,a=typeof t==`number`?t:0,o=typeof n==`number`?n:i;return a<0&&(a=(a%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(e,a,o):[a,o]}const ex=(e,t)=>e<0?t+e:e,tx=e=>e!==e;function nx(e){let t=typeof e;if(t!==`object`||e===null)return tx(e)?tx:t=>t===e;if(e instanceof Date){let t=e.valueOf();return e=>e instanceof Date?e.valueOf()===t:!1}return ArrayBuffer.isView(e)?t=>t?xg(e,t):!1:e instanceof Map?ix(e):Array.isArray(e)?rx(e):e instanceof qx?ax(e):ox(e,!0)}function rx(e){let t=[];for(let n=-1,r=e.length;++n!1;let r=[];for(let t=-1,i=n.length;++t{if(!n||typeof n!=`object`)return!1;switch(n.constructor){case Array:return cx(e,n);case Map:return ux(e,n,n.keys());case Yb:case Zy:case Object:case void 0:return ux(e,n,t||Object.keys(n))}return n instanceof qx?lx(e,n):!1}}function cx(e,t){let n=e.length;if(t.length!==n)return!1;for(let r=-1;++r>r}function px(e,t,n){let r=n.byteLength+7&-8;if(e>0||n.byteLength>3):mx(new hx(n,e,t,null,dx)).subarray(0,r)),i}return n}function mx(e){let t=[],n=0,r=0,i=0;for(let a of e)a&&(i|=1<0)&&(t[n++]=i);let a=new Uint8Array(t.length+7&-8);return a.set(t),a}var hx=class{constructor(e,t,n,r,i){this.bytes=e,this.length=n,this.context=r,this.get=i,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=t+(t%8==0?0:8-t%8);return gx(e,t,i)+gx(e,r,n)+_x(e,i>>3,r-i>>3)}function _x(e,t,n){let r=0,i=Math.trunc(t),a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=n===void 0?e.byteLength:i+n;for(;o-i>=4;)r+=vx(a.getUint32(i)),i+=4;for(;o-i>=2;)r+=vx(a.getUint16(i)),i+=2;for(;o-i>=1;)r+=vx(a.getUint8(i)),i+=1;return r}function vx(e){let t=Math.trunc(e);return t-=t>>>1&1431655765,t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}const yx=-1;var bx=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return pv.isSparseUnion(e)||pv.isDenseUnion(e)?this.children.some(e=>e.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:t,values:n,nullBitmap:r,typeIds:i}=this;return t&&(e+=t.byteLength),n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),this.children.reduce((e,t)=>e+t.byteLength,e)}get nullCount(){if(pv.isUnion(this.type))return this.children.reduce((e,t)=>e+t.nullCount,0);let e=this._nullCount,t;return e<=yx&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-gx(t,this.offset,this.offset+this.length)),e}constructor(t,n,r,i,a,o=[],s){this.type=t,this.children=o,this.dictionary=s,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let c;a instanceof e?(this.stride=a.stride,this.values=a.values,this.typeIds=a.typeIds,this.nullBitmap=a.nullBitmap,this.valueOffsets=a.valueOffsets):(this.stride=qv(t),a&&((c=a[0])&&(this.valueOffsets=c),(c=a[1])&&(this.values=c),(c=a[2])&&(this.nullBitmap=c),(c=a[3])&&(this.typeIds=c)))}getValid(e){let{type:t}=this;if(pv.isUnion(t)){let n=t,r=this.children[n.typeIdToChildIndex[this.typeIds[e]]],i=n.mode===jg.Dense?this.valueOffsets[e]:e;return r.getValid(i)}if(this.nullable&&this.nullCount>0){let t=this.offset+e,n=this.nullBitmap[t>>3];return(n&1<>3;(!r||r.byteLength<=c)&&(r=new Uint8Array((i+a+63&-64)>>3).fill(255),this.nullCount>0?(r.set(px(i,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:r})):Object.assign(this,{nullBitmap:r,_nullCount:0}));let l=r[c];n=(l&s)!==0,r[c]=t?l|s:l&~s}return n!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(t=this.type,n=this.offset,r=this.length,i=this._nullCount,a=this,o=this.children){return new e(t,n,r,i,a,o,this.dictionary)}slice(e,t){let{stride:n,typeId:r,children:i}=this,a=(this._nullCount===0)-1,o=r===16?n:1,s=this._sliceBuffers(e,t,n,r);return this.clone(this.type,this.offset+e,t,a,s,i.length===0||this.valueOffsets?i:this._sliceChildren(i,o*e,o*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===q.Null)return this.clone(this.type,0,e,0);let{length:t,nullCount:n}=this,r=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);r[t>>3]=(1<0&&r.set(px(this.offset,t,this.nullBitmap),0);let i=this.buffers;return i[O_.VALIDITY]=r,this.clone(this.type,0,e,n+(e-t),i)}_sliceBuffers(e,t,n,r){let i,{buffers:a}=this;return(i=a[O_.TYPE])&&(a[O_.TYPE]=i.subarray(e,e+t)),(i=a[O_.OFFSET])&&(a[O_.OFFSET]=i.subarray(e,e+t+1))||(i=a[O_.DATA])&&(a[O_.DATA]=r===6?i:i.subarray(n*e,n*(e+t))),a}_sliceChildren(e,t,n){return e.map(e=>e.slice(t,n))}};bx.prototype.children=Object.freeze([]);var xx=class e extends Jv{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{type:t,offset:n=0,length:r=0}=e;return new bx(t,n,r,r)}visitBool(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length>>3,nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitInt(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length,nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitFloat(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length,nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitUtf8(e){let{type:t,offset:n=0}=e,r=mg(e.data),i=mg(e.nullBitmap),a=fg(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new bx(t,n,o,s,[a,r,i])}visitLargeUtf8(e){let{type:t,offset:n=0}=e,r=mg(e.data),i=mg(e.nullBitmap),a=pg(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new bx(t,n,o,s,[a,r,i])}visitBinary(e){let{type:t,offset:n=0}=e,r=mg(e.data),i=mg(e.nullBitmap),a=fg(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new bx(t,n,o,s,[a,r,i])}visitLargeBinary(e){let{type:t,offset:n=0}=e,r=mg(e.data),i=mg(e.nullBitmap),a=pg(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new bx(t,n,o,s,[a,r,i])}visitFixedSizeBinary(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length/qv(t),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitDate(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length/qv(t),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitTimestamp(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length/qv(t),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitTime(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length/qv(t),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitDecimal(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length/qv(t),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitList(e){let{type:t,offset:n=0,child:r}=e,i=mg(e.nullBitmap),a=fg(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new bx(t,n,o,s,[a,void 0,i],[r])}visitStruct(e){let{type:t,offset:n=0,children:r=[]}=e,i=mg(e.nullBitmap),{length:a=r.reduce((e,{length:t})=>Math.max(e,t),0),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,void 0,i],r)}visitUnion(e){let{type:t,offset:n=0,children:r=[]}=e,i=dg(t.ArrayType,e.typeIds),{length:a=i.length,nullCount:o=-1}=e;if(pv.isSparseUnion(t))return new bx(t,n,a,o,[void 0,void 0,void 0,i],r);let s=fg(e.valueOffsets);return new bx(t,n,a,o,[s,void 0,void 0,i],r)}visitDictionary(t){let{type:n,offset:r=0}=t,i=mg(t.nullBitmap),a=dg(n.indices.ArrayType,t.data),{dictionary:o=new qx([new e().visit({type:n.dictionary})])}=t,{length:s=a.length,nullCount:c=t.nullBitmap?-1:0}=t;return new bx(n,r,s,c,[void 0,a,i],[],o)}visitInterval(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length/qv(t),nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitDuration(e){let{type:t,offset:n=0}=e,r=mg(e.nullBitmap),i=dg(t.ArrayType,e.data),{length:a=i.length,nullCount:o=e.nullBitmap?-1:0}=e;return new bx(t,n,a,o,[void 0,i,r])}visitFixedSizeList(t){let{type:n,offset:r=0,child:i=new e().visit({type:n.valueType})}=t,a=mg(t.nullBitmap),{length:o=i.length/qv(n),nullCount:s=t.nullBitmap?-1:0}=t;return new bx(n,r,o,s,[void 0,void 0,a],[i])}visitMap(t){let{type:n,offset:r=0,child:i=new e().visit({type:n.childType})}=t,a=mg(t.nullBitmap),o=fg(t.valueOffsets),{length:s=o.length-1,nullCount:c=t.nullBitmap?-1:0}=t;return new bx(n,r,s,c,[o,void 0,a],[i])}};const Sx=new xx;function Cx(e){return Sx.visit(e)}var wx=class{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function Ex(e){return e.reduce((e,t)=>e+t.nullCount,0)}function Dx(e){return e.reduce((e,t,n)=>(e[n+1]=e[n]+t.length,e),new Uint32Array(e.length+1))}function Ox(e,t,n,r){let i=[];for(let a=-1,o=e.length;++a=r)break;if(n>=s+c)continue;if(s>=n&&s+c<=r){i.push(o);continue}let l=Math.max(0,n-s),u=Math.min(r-s,c);i.push(o.slice(l,u-l))}return i.length===0&&i.push(e[0].slice(0,0)),i}function kx(e,t,n,r){let i=0,a=0,o=t.length-1;do{if(i>=o-1)return n0?0:-1}function Ix(e,t){let{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(let i of new hx(n,e.offset+(t||0),e.length,n,dx)){if(!i)return r;++r}return-1}function Lx(e,t,n){if(t===void 0)return-1;if(t===null)switch(e.typeId){case q.Union:break;case q.Dictionary:break;default:return Ix(e,n)}let r=Wb.getVisitFn(e),i=nx(t);for(let t=(n||0)-1,a=e.length;++t{let n=e.data[t];return n.values.subarray(0,n.length)[Symbol.iterator]()});let n=0;return new wx(e.data.length,t=>{let r=e.data[t],i=r.length,a=e.slice(n,n+i);return n+=i,new Hx(a)})}var Hx=class{constructor(e){this.vector=e,this.index=0}next(){return this.indexe.data):t;if(a.length===0||a.some(e=>!(e instanceof bx)))throw TypeError(`Vector constructor expects an Array of Data instances.`);let o=(n=a[0])?.type;switch(a.length){case 0:this._offsets=[0];break;case 1:{let{get:e,set:t,indexOf:n}=Gx[o.typeId],r=a[0];this.isValid=e=>Ax(r,e),this.get=t=>e(r,t),this.set=(e,n)=>t(r,e,n),this.indexOf=e=>n(r,e),this._offsets=[0,r.length];break}default:Object.setPrototypeOf(this,Kx[o.typeId]),this._offsets=Dx(a);break}this.data=a,this.type=o,this.stride=qv(o),this.numChildren=(i=(r=o.children)?.length)??0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Tx(this.data)}get nullCount(){return Ex(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${q[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(ex(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return Ux.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(e=>e.data).flat(1/0)))}slice(t,n){return new e($b(this,t,n,({data:e,_offsets:t},n,r)=>Ox(e,t,n,r)))}toJSON(){return[...this]}toArray(){let{type:e,data:t,length:n,stride:r,ArrayType:i}=this;switch(e.typeId){case q.Int:case q.Float:case q.Decimal:case q.Time:case q.Timestamp:switch(t.length){case 0:return new i;case 1:return t[0].values.subarray(0,n*r);default:return t.reduce((e,{values:t,length:n})=>(e.array.set(t.subarray(0,n*r),e.offset),e.offset+=n*r,e),{array:new i(n*r),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(`,`)}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)?.findIndex(t=>t.name===e))}getChildAt(t){return t>-1&&te[t])):null}get isMemoized(){return pv.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(pv.isDictionary(this.type)){let t=new Jx(this.data[0].dictionary),n=this.data.map(e=>{let n=e.clone();return n.dictionary=t,n});return new e(n)}return new Jx(this)}unmemoize(){if(pv.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),n=this.data.map(e=>{let n=e.clone();return n.dictionary=t,n});return new e(n)}return this}};Wx=Symbol.toStringTag,qx[Wx]=(e=>{e.type=pv.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(q).map(e=>q[e]).filter(e=>typeof e==`number`&&e!==q.NONE);for(let n of t){let t=Wb.getVisitFnByTypeId(n),r=Jy.getVisitFnByTypeId(n),i=zx.getVisitFnByTypeId(n);Gx[n]={get:t,set:r,indexOf:i},Kx[n]=Object.create(e,{isValid:{value:jx(Ax)},get:{value:jx(Wb.getVisitFnByTypeId(n))},set:{value:Mx(Jy.getVisitFnByTypeId(n))},indexOf:{value:Nx(zx.getVisitFnByTypeId(n))}})}return`Vector`})(qx.prototype);var Jx=class e extends qx{constructor(t){super(t.data);let n=this.get,r=this.set,i=this.slice,a=Array(this.length);Object.defineProperty(this,`get`,{value(e){let t=a[e];if(t!==void 0)return t;let r=n.call(this,e);return a[e]=r,r}}),Object.defineProperty(this,`set`,{value(e,t){r.call(this,e,t),a[e]=t}}),Object.defineProperty(this,`slice`,{value:(t,n)=>new e(i.call(this,t,n))}),Object.defineProperty(this,`isMemoized`,{value:!0}),Object.defineProperty(this,`unmemoize`,{value:()=>new qx(this.data)}),Object.defineProperty(this,`memoize`,{value:()=>this})}},Yx=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,n,r){return e.prep(8,24),e.writeInt64(BigInt(r??0)),e.pad(4),e.writeInt32(n),e.writeInt64(BigInt(t??0)),e.offset()}},Xx=class e{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,n){return t.setPosition(t.position()+zg),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ag.V1}schema(e){let t=this.bb.__offset(this.bb_pos,6);return t?(e||new E_).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){let n=this.bb.__offset(this.bb_pos,8);return n?(t||new Yx).__init(this.bb.__vector(this.bb_pos+n)+e*24,this.bb):null}dictionariesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){let n=this.bb.__offset(this.bb_pos,10);return n?(t||new Yx).__init(this.bb.__vector(this.bb_pos+n)+e*24,this.bb):null}recordBatchesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,12);return n?(t||new i_).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,Ag.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){let t=e.endObject();return t}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}},Zx=class e{constructor(e=[],t,n,r=Ag.V5){this.fields=e||[],this.metadata=t||new Map,n||=eS(this.fields),this.dictionaries=n,this.metadataVersion=r}get[Symbol.toStringTag](){return`Schema`}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(`, `)} }>`}select(t){let n=new Set(t),r=this.fields.filter(e=>n.has(e.name));return new e(r,this.metadata)}selectAt(t){let n=t.map(e=>this.fields[e]).filter(Boolean);return new e(n,this.metadata)}assign(...t){let n=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),r=[...this.fields],i=$x($x(new Map,this.metadata),n.metadata),a=n.fields.filter(e=>{let t=r.findIndex(t=>t.name===e.name);return~t?(r[t]=e.clone({metadata:$x($x(new Map,r[t].metadata),e.metadata)}))&&!1:!0}),o=eS(a,new Map);return new e([...r,...a],i,new Map([...this.dictionaries,...o]))}};Zx.prototype.fields=null,Zx.prototype.metadata=null,Zx.prototype.dictionaries=null;var Qx=class e{static new(...t){let[n,r,i,a]=t;return t[0]&&typeof t[0]==`object`&&({name:n}=t[0],r===void 0&&(r=t[0].type),i===void 0&&(i=t[0].nullable),a===void 0&&(a=t[0].metadata)),new e(`${n}`,r,i,a)}constructor(e,t,n=!1,r){this.name=e,this.type=t,this.nullable=n,this.metadata=r||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return`Field`}toString(){return`${this.name}: ${this.type}`}clone(...t){let[n,r,i,a]=t;return!t[0]||typeof t[0]!=`object`?[n=this.name,r=this.type,i=this.nullable,a=this.metadata]=t:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:a=this.metadata}=t[0],e.new(n,r,i,a)}};Qx.prototype.type=null,Qx.prototype.name=null,Qx.prototype.nullable=null,Qx.prototype.metadata=null;function $x(e,t){return new Map([...e||new Map,...t||new Map])}function eS(e,t=new Map){for(let n=-1,r=e.length;++n0&&eS(i.children,t)}return t}var tS=Kg,nS=Gg,rS=class{static decode(e){e=new nS(mg(e));let t=Xx.getRootAsFooter(e),n=Zx.decode(t.schema(),new Map,t.version());return new iS(n,t)}static encode(e){let t=new tS,n=Zx.encode(t,e.schema);Xx.startRecordBatchesVector(t,e.numRecordBatches);for(let n of[...e.recordBatches()].slice().reverse())aS.encode(t,n);let r=t.endVector();Xx.startDictionariesVector(t,e.numDictionaries);for(let n of[...e.dictionaryBatches()].slice().reverse())aS.encode(t,n);let i=t.endVector();return Xx.startFooter(t),Xx.addSchema(t,n),Xx.addVersion(t,Ag.V5),Xx.addRecordBatches(t,r),Xx.addDictionaries(t,i),Xx.finishFooterBuffer(t,Xx.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=Ag.V5,n,r){this.schema=e,this.version=t,n&&(this._recordBatches=n),r&&(this._dictionaryBatches=r)}*recordBatches(){for(let e,t=-1,n=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Ph(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){let{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(oS);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return Sg.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return Sg.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Ph(this,void 0,void 0,function*(){return yield this.abort(e),oS})}return(e){return Ph(this,void 0,void 0,function*(){return yield this.close(),oS})}read(e){return Ph(this,void 0,void 0,function*(){return(yield this.next(e,`read`)).value})}peek(e){return Ph(this,void 0,void 0,function*(){return(yield this.next(e,`peek`)).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((e,t)=>{this.resolvers.push({resolve:e,reject:t})}):Promise.resolve(oS)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw Error(`AsyncQueue is closed`)}},uS=class extends lS{write(e){if((e=mg(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?Vh(this.toUint8Array(!0)):this.toUint8Array(!1).then(Vh)}toUint8Array(e=!1){return e?ug(this._values)[0]:(()=>Ph(this,void 0,void 0,function*(){var e,t,n,r;let i=[],a=0;try{for(var o=!0,s=zh(this),c;c=yield s.next(),e=c.done,!e;o=!0){r=c.value,o=!1;let e=r;i.push(e),a+=e.byteLength}}catch(e){t={error:e}}finally{try{!o&&!e&&(n=s.return)&&(yield n.call(s))}finally{if(t)throw t.error}}return ug(i,a)[0]}))()}},dS=class{constructor(e){e&&(this.source=new pS(Sg.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},fS=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof uS?this.source=new mS(Sg.fromAsyncIterable(t)):ag(t)?this.source=new mS(Sg.fromNodeStream(t)):rg(t)?this.source=new mS(Sg.fromDOMStream(t)):eg(t)?this.source=new mS(Sg.fromDOMStream(t.body)):Yh(t)?this.source=new mS(Sg.fromIterable(t)):(Jh(t)||Xh(t))&&(this.source=new mS(Sg.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},pS=class{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,`peek`).value}read(e){return this.next(e,`read`).value}next(e,t=`read`){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||oS)}return(e){return Object.create(this.source.return&&this.source.return(e)||oS)}},mS=class{constructor(e){this.source=e,this._closedPromise=new Promise(e=>this._closedPromiseResolve=e)}cancel(e){return Ph(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Ph(this,void 0,void 0,function*(){return(yield this.next(e,`read`)).value})}peek(e){return Ph(this,void 0,void 0,function*(){return(yield this.next(e,`peek`)).value})}next(e){return Ph(this,arguments,void 0,function*(e,t=`read`){return yield this.source.next({cmd:t,size:e})})}throw(e){return Ph(this,void 0,void 0,function*(){let t=this.source.throw&&(yield this.source.throw(e))||oS;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Ph(this,void 0,void 0,function*(){let t=this.source.return&&(yield this.source.return(e))||oS;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}},hS=class extends dS{constructor(e,t){super(),this.position=0,this.buffer=mg(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){let{buffer:t,byteOffset:n}=this.readAt(e,4);return new DataView(t,n).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),ePh(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return Ph(this,void 0,void 0,function*(){let{buffer:t,byteOffset:n}=yield this.readAt(e,4);return new DataView(t,n).getInt32(0,!0)})}seek(e){return Ph(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),n=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),r=t[3]*n[3];this.buffer[0]=r&65535;let i=r>>>16;return r=t[2]*n[3],i+=r,r=t[3]*n[2]>>>0,i+=r,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0>>16,this.buffer[1]+=t[1]*n[3]+t[2]*n[2]+t[3]*n[1],this.buffer[1]+=t[0]*n[3]+t[1]*n[2]+t[2]*n[1]+t[3]*n[0]<<16,this}_plus(e){let t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${vS(this.buffer[3])} ${vS(this.buffer[2])} ${vS(this.buffer[1])} ${vS(this.buffer[0])}`}static multiply(t,n){let r=new e(new Uint32Array(t.buffer));return r.times(n)}static add(t,n){let r=new e(new Uint32Array(t.buffer));return r.plus(n)}static from(t,n=new Uint32Array(4)){return e.fromString(typeof t==`string`?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){let r=t.startsWith(`-`),i=t.length,a=new e(n);for(let n=r?1:0;n0&&this.readData(e,n)||new Uint8Array}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:n}=this.nextBufferRange()){return this.bytes.subarray(n,n+t)}readDictionary(e){return this.dictionaries.get(e.id)}},ES=class extends TS{constructor(e,t,n,r,i){super(new Uint8Array,t,n,r,i),this.sources=e}readNullBitmap(e,t,{offset:n}=this.nextBufferRange()){return t<=0?new Uint8Array:mx(this.sources[n])}readOffsets(e,{offset:t}=this.nextBufferRange()){return dg(Uint8Array,dg(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return dg(Uint8Array,dg(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){let{sources:n}=this;return pv.isTimestamp(e)||(pv.isInt(e)||pv.isTime(e))&&e.bitWidth===64||pv.isDuration(e)||pv.isDate(e)&&e.unit===Ng.MILLISECOND?dg(Uint8Array,CS.convertArray(n[t])):pv.isDecimal(e)?dg(Uint8Array,wS.convertArray(n[t])):pv.isBinary(e)||pv.isLargeBinary(e)||pv.isFixedSizeBinary(e)?DS(n[t]):pv.isBool(e)?mx(n[t]):pv.isUtf8(e)||pv.isLargeUtf8(e)?Uh(n[t].join(``)):dg(Uint8Array,dg(e.ArrayType,n[t].map(e=>+e)))}};function DS(e){let t=e.join(``),n=new Uint8Array(t.length/2);for(let e=0;e>1]=Number.parseInt(t.slice(e,e+2),16);return n}var OS=class extends Jv{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>this.compareFields(e,t[n]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}};function kS(e,t){return t instanceof e.constructor}function AS(e,t){return e===t||kS(e,t)}function jS(e,t){return e===t||kS(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function MS(e,t){return e===t||kS(e,t)&&e.precision===t.precision}function NS(e,t){return e===t||kS(e,t)&&e.byteWidth===t.byteWidth}function PS(e,t){return e===t||kS(e,t)&&e.unit===t.unit}function FS(e,t){return e===t||kS(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function IS(e,t){return e===t||kS(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function LS(e,t){return e===t||kS(e,t)&&e.children.length===t.children.length&&GS.compareManyFields(e.children,t.children)}function RS(e,t){return e===t||kS(e,t)&&e.children.length===t.children.length&&GS.compareManyFields(e.children,t.children)}function zS(e,t){return e===t||kS(e,t)&&e.mode===t.mode&&e.typeIds.every((e,n)=>e===t.typeIds[n])&&GS.compareManyFields(e.children,t.children)}function BS(e,t){return e===t||kS(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&GS.visit(e.indices,t.indices)&&GS.visit(e.dictionary,t.dictionary)}function VS(e,t){return e===t||kS(e,t)&&e.unit===t.unit}function HS(e,t){return e===t||kS(e,t)&&e.unit===t.unit}function US(e,t){return e===t||kS(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&GS.compareManyFields(e.children,t.children)}function WS(e,t){return e===t||kS(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&GS.compareManyFields(e.children,t.children)}OS.prototype.visitNull=AS,OS.prototype.visitBool=AS,OS.prototype.visitInt=jS,OS.prototype.visitInt8=jS,OS.prototype.visitInt16=jS,OS.prototype.visitInt32=jS,OS.prototype.visitInt64=jS,OS.prototype.visitUint8=jS,OS.prototype.visitUint16=jS,OS.prototype.visitUint32=jS,OS.prototype.visitUint64=jS,OS.prototype.visitFloat=MS,OS.prototype.visitFloat16=MS,OS.prototype.visitFloat32=MS,OS.prototype.visitFloat64=MS,OS.prototype.visitUtf8=AS,OS.prototype.visitLargeUtf8=AS,OS.prototype.visitBinary=AS,OS.prototype.visitLargeBinary=AS,OS.prototype.visitFixedSizeBinary=NS,OS.prototype.visitDate=PS,OS.prototype.visitDateDay=PS,OS.prototype.visitDateMillisecond=PS,OS.prototype.visitTimestamp=FS,OS.prototype.visitTimestampSecond=FS,OS.prototype.visitTimestampMillisecond=FS,OS.prototype.visitTimestampMicrosecond=FS,OS.prototype.visitTimestampNanosecond=FS,OS.prototype.visitTime=IS,OS.prototype.visitTimeSecond=IS,OS.prototype.visitTimeMillisecond=IS,OS.prototype.visitTimeMicrosecond=IS,OS.prototype.visitTimeNanosecond=IS,OS.prototype.visitDecimal=AS,OS.prototype.visitList=LS,OS.prototype.visitStruct=RS,OS.prototype.visitUnion=zS,OS.prototype.visitDenseUnion=zS,OS.prototype.visitSparseUnion=zS,OS.prototype.visitDictionary=BS,OS.prototype.visitInterval=VS,OS.prototype.visitIntervalDayTime=VS,OS.prototype.visitIntervalYearMonth=VS,OS.prototype.visitDuration=HS,OS.prototype.visitDurationSecond=HS,OS.prototype.visitDurationMillisecond=HS,OS.prototype.visitDurationMicrosecond=HS,OS.prototype.visitDurationNanosecond=HS,OS.prototype.visitFixedSizeList=US,OS.prototype.visitMap=WS;const GS=new OS;function KS(e,t){return GS.compareSchemas(e,t)}function qS(e,t){return JS(e,t.map(e=>e.data.concat()))}function JS(e,t){let n=[...e.fields],r=[],i={numBatches:t.reduce((e,t)=>Math.max(e,t.length),0)},a=0,o=0,s=-1,c=t.length,l,u=[];for(;i.numBatches-- >0;){for(o=1/0,s=-1;++s0&&(r[a++]=Cx({type:new Bv(n),length:o,nullCount:0,children:u.slice()})))}return[e=e.assign(n),r.map(t=>new $S(e,t))]}function YS(e,t,n,r,i){var a;let o=(t+63&-64)>>3;for(let s=-1,c=r.length;++s=t)l===t?n[s]=c:(n[s]=c.slice(0,t),i.numBatches=Math.max(i.numBatches,r[s].unshift(c.slice(t,l-t))));else{let r=e[s];e[s]=r.clone({nullable:!0}),n[s]=(a=c?._changeLengthAndBackfillNullBitmap(t))??Cx({type:r.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return n}var XS,ZS=class e{constructor(...t){var n,r;if(t.length===0)return this.batches=[],this.schema=new Zx([]),this._offsets=[0],this;let i,a;t[0]instanceof Zx&&(i=t.shift()),t.at(-1)instanceof Uint32Array&&(a=t.pop());let o=t=>{if(t){if(t instanceof $S)return[t];if(t instanceof e)return t.batches;if(t instanceof bx){if(t.type instanceof Bv)return[new $S(new Zx(t.type.children),t)]}else if(Array.isArray(t))return t.flatMap(e=>o(e));else if(typeof t[Symbol.iterator]==`function`)return[...t].flatMap(e=>o(e));else if(typeof t==`object`){let e=Object.keys(t),n=e.map(e=>new qx([t[e]])),r=i??new Zx(e.map((e,t)=>new Qx(String(e),n[t].type,n[t].nullable))),[,a]=qS(r,n);return a.length===0?[new $S(t)]:a}}return[]},s=t.flatMap(e=>o(e));if(i=(r=i??(n=s[0])?.schema)??new Zx([]),!(i instanceof Zx))throw TypeError(`Table constructor expects a [Schema, RecordBatch[]] pair.`);for(let e of s){if(!(e instanceof $S))throw TypeError(`Table constructor expects a [Schema, RecordBatch[]] pair.`);if(!KS(i,e.schema))throw TypeError(`Table and inner RecordBatch schemas must be equivalent.`)}this.schema=i,this.batches=s,this._offsets=a??Dx(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Ex(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(ex(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?Ux.visit(new qx(this.data)):[][Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(`, + `)}\n]`}concat(...t){let n=this.schema,r=this.data.concat(t.flatMap(({data:e})=>e));return new e(n,r.map(e=>new $S(n,e)))}slice(t,n){let r=this.schema;[t,n]=$b({length:this.numRows},t,n);let i=Ox(this.data,this._offsets,t,n);return new e(r,i.map(e=>new $S(r,e)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&et.children[e]);if(t.length===0){let{type:n}=this.schema.fields[e],r=Cx({type:n,length:0,nullCount:0});t.push(r._changeLengthAndBackfillNullBitmap(this.numRows))}return new qx(t)}return null}setChild(e,t){var n;return this.setChildAt((n=this.schema.fields)?.findIndex(t=>t.name===e),t)}setChildAt(t,n){let r=this.schema,i=[...this.batches];if(t>-1&&tthis.getChildAt(t));[e[t],o[t]]=[a,n],[r,i]=qS(r,o)}return new e(r,i)}select(e){let t=this.schema.fields.reduce((e,t,n)=>e.set(t.name,n),new Map);return this.selectAt(e.map(e=>t.get(e)).filter(e=>e>-1))}selectAt(t){let n=this.schema.selectAt(t),r=this.batches.map(e=>e.selectAt(t));return new e(n,r)}assign(t){let n=this.schema.fields,[r,i]=t.schema.fields.reduce((e,t,r)=>{let[i,a]=e,o=n.findIndex(e=>e.name===t.name);return~o?a[o]=r:i.push(r),e},[[],[]]),a=this.schema.assign(t.schema),o=[...n.map((e,t)=>[t,i[t]]).map(([e,n])=>n===void 0?this.getChildAt(e):t.getChildAt(n)),...r.map(e=>t.getChildAt(e))].filter(Boolean);return new e(...qS(a,o))}};XS=Symbol.toStringTag,ZS[XS]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=jx(Ax),e.get=jx(Wb.getVisitFn(q.Struct)),e.set=Mx(Jy.getVisitFn(q.Struct)),e.indexOf=Nx(zx.getVisitFn(q.Struct)),`Table`))(ZS.prototype);var QS,$S=class e{constructor(...e){switch(e.length){case 2:if([this.schema]=e,!(this.schema instanceof Zx)||([,this.data=Cx({nullCount:0,type:new Bv(this.schema.fields),children:this.schema.fields.map(e=>Cx({type:e.type,nullCount:0}))})]=e,!(this.data instanceof bx)))throw TypeError(`RecordBatch constructor expects a [Schema, Data] pair.`);[this.schema,this.data]=eC(this.schema,this.data.children);break;case 1:{let[t]=e,{fields:n,children:r,length:i}=Object.keys(t).reduce((e,n,r)=>(e.children[r]=t[n],e.length=Math.max(e.length,t[n].length),e.fields[r]=Qx.new({name:n,type:t[n].type,nullable:!0}),e),{length:0,fields:[],children:[]}),a=new Zx(n),o=Cx({type:new Bv(n),length:i,children:r,nullCount:0});[this.schema,this.data]=eC(a,o.children,i);break}default:throw TypeError(`RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.`)}}get dictionaries(){return this._dictionaries||=tC(this.schema.fields,this.data.children)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Wb.visit(this.data,e)}at(e){return this.get(ex(e,this.numRows))}set(e,t){return Jy.visit(this.data,e,t)}indexOf(e,t){return zx.visit(this.data,e,t)}[Symbol.iterator](){return Ux.visit(new qx([this.data]))}toArray(){return[...this]}concat(...e){return new ZS(this.schema,[this,...e])}slice(t,n){let[r]=new qx([this.data]).slice(t,n).data;return new e(this.schema,r)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)?.findIndex(t=>t.name===e))}getChildAt(e){return e>-1&&et.name===e),t)}setChildAt(t,n){let r=this.schema,i=this.data;if(t>-1&&tt.name===e);~t&&(i[t]=this.data.children[t])}return new e(n,Cx({type:r,length:this.numRows,children:i}))}selectAt(t){let n=this.schema.selectAt(t),r=t.map(e=>this.data.children[e]).filter(Boolean),i=Cx({type:new Bv(n.fields),length:this.numRows,children:r});return new e(n,i)}};QS=Symbol.toStringTag,$S[QS]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,`RecordBatch`))($S.prototype);function eC(e,t,n=t.reduce((e,t)=>Math.max(e,t.length),0)){var r;let i=[...e.fields],a=[...t],o=(n+63&-64)>>3;for(let[s,c]of e.fields.entries()){let e=t[s];(!e||e.length!==n)&&(i[s]=c.clone({nullable:!0}),a[s]=(r=e?._changeLengthAndBackfillNullBitmap(n))??Cx({type:c.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[e.assign(i),Cx({type:new Bv(i),length:n,children:a})]}function tC(e,t,n=new Map){var r,i;if(((r=e?.length)??0)>0&&e?.length===t?.length)for(let r=-1,a=e.length;++rCx({type:e.type})),n=Cx({type:new Bv(e.fields),nullCount:0,children:t});super(e,n)}},rC=class e{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,n){return t.setPosition(t.position()+zg),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ag.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):D_.NONE}header(e){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt(`0`)}customMetadata(e,t){let n=this.bb.__offset(this.bb_pos,12);return n?(t||new i_).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,Ag.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,D_.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt(`0`))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){let t=e.endObject();return t}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(t,n,r,i,a,o){return e.startMessage(t),e.addVersion(t,n),e.addHeaderType(t,r),e.addHeader(t,i),e.addBodyLength(t,a),e.addCustomMetadata(t,o),e.endMessage(t)}},iC=class extends Jv{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return v_.startNull(t),v_.endNull(t)}visitInt(e,t){return n_.startInt(t),n_.addBitWidth(t,e.bitWidth),n_.addIsSigned(t,e.isSigned),n_.endInt(t)}visitFloat(e,t){return f_.startFloatingPoint(t),f_.addPrecision(t,e.precision),f_.endFloatingPoint(t)}visitBinary(e,t){return a_.startBinary(t),a_.endBinary(t)}visitLargeBinary(e,t){return m_.startLargeBinary(t),m_.endLargeBinary(t)}visitBool(e,t){return o_.startBool(t),o_.endBool(t)}visitUtf8(e,t){return C_.startUtf8(t),C_.endUtf8(t)}visitLargeUtf8(e,t){return h_.startLargeUtf8(t),h_.endLargeUtf8(t)}visitDecimal(e,t){return c_.startDecimal(t),c_.addScale(t,e.scale),c_.addPrecision(t,e.precision),c_.addBitWidth(t,e.bitWidth),c_.endDecimal(t)}visitDate(e,t){return s_.startDate(t),s_.addUnit(t,e.unit),s_.endDate(t)}visitTime(e,t){return b_.startTime(t),b_.addUnit(t,e.unit),b_.addBitWidth(t,e.bitWidth),b_.endTime(t)}visitTimestamp(e,t){let n=e.timezone&&t.createString(e.timezone)||void 0;return x_.startTimestamp(t),x_.addUnit(t,e.unit),n!==void 0&&x_.addTimezone(t,n),x_.endTimestamp(t)}visitInterval(e,t){return p_.startInterval(t),p_.addUnit(t,e.unit),p_.endInterval(t)}visitDuration(e,t){return l_.startDuration(t),l_.addUnit(t,e.unit),l_.endDuration(t)}visitList(e,t){return g_.startList(t),g_.endList(t)}visitStruct(e,t){return y_.startStruct_(t),y_.endStruct_(t)}visitUnion(e,t){S_.startTypeIdsVector(t,e.typeIds.length);let n=S_.createTypeIdsVector(t,e.typeIds);return S_.startUnion(t),S_.addMode(t,e.mode),S_.addTypeIds(t,n),S_.endUnion(t)}visitDictionary(e,t){let n=this.visit(e.indices,t);return r_.startDictionaryEncoding(t),r_.addId(t,BigInt(e.id)),r_.addIsOrdered(t,e.isOrdered),n!==void 0&&r_.addIndexType(t,n),r_.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return u_.startFixedSizeBinary(t),u_.addByteWidth(t,e.byteWidth),u_.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return d_.startFixedSizeList(t),d_.addListSize(t,e.listSize),d_.endFixedSizeList(t)}visitMap(e,t){return __.startMap(t),__.addKeysSorted(t,e.keysSorted),__.endMap(t)}};const aC=new iC;function oC(e,t=new Map){return new Zx(lC(e,t),hC(e.metadata),t)}function sC(e){return new xC(e.count,dC(e.columns),fC(e.columns))}function cC(e){return new SC(sC(e.data),e.id,e.isDelta)}function lC(e,t){return(e.fields||[]).filter(Boolean).map(e=>Qx.fromJSON(e,t))}function uC(e,t){return(e.children||[]).filter(Boolean).map(e=>Qx.fromJSON(e,t))}function dC(e){return(e||[]).reduce((e,t)=>[...e,new wC(t.count,pC(t.VALIDITY)),...dC(t.children)],[])}function fC(e,t=[]){for(let n=-1,r=(e||[]).length;++ne+ +(t===0),0)}function mC(e,t){let n,r,i,a,o,s;return!t||!(a=e.dictionary)?(o=_C(e,uC(e,t)),i=new Qx(e.name,o,e.nullable,hC(e.metadata))):t.has(n=a.id)?(r=(r=a.indexType)?gC(r):new vv,s=new Kv(t.get(n),r,n,a.isOrdered),i=new Qx(e.name,s,e.nullable,hC(e.metadata))):(r=(r=a.indexType)?gC(r):new vv,t.set(n,o=_C(e,uC(e,t))),s=new Kv(o,r,n,a.isOrdered),i=new Qx(e.name,s,e.nullable,hC(e.metadata))),i||null}function hC(e=[]){return new Map(e.map(({key:e,value:t})=>[e,t]))}function gC(e){return new hv(e.isSigned,e.bitWidth)}function _C(e,t){let n=e.type.name;switch(n){case`NONE`:return new mv;case`null`:return new mv;case`binary`:return new Ov;case`largebinary`:return new kv;case`utf8`:return new Av;case`largeutf8`:return new jv;case`bool`:return new Mv;case`list`:return new zv((t||[])[0]);case`struct`:return new Bv(t||[]);case`struct_`:return new Bv(t||[])}switch(n){case`int`:{let t=e.type;return new hv(t.isSigned,t.bitWidth)}case`floatingpoint`:{let t=e.type;return new wv(Mg[t.precision])}case`decimal`:{let t=e.type;return new Nv(t.scale,t.precision,t.bitWidth)}case`date`:{let t=e.type;return new Pv(Ng[t.unit])}case`time`:{let t=e.type;return new Fv(Pg[t.unit],t.bitWidth)}case`timestamp`:{let t=e.type;return new Iv(Pg[t.unit],t.timezone)}case`interval`:{let t=e.type;return new Lv(Fg[t.unit])}case`duration`:{let t=e.type;return new Rv(Pg[t.unit])}case`union`:{let n=e.type,[r,...i]=(n.mode+``).toLowerCase(),a=r.toUpperCase()+i.join(``);return new Vv(jg[a],n.typeIds||[],t||[])}case`fixedsizebinary`:{let t=e.type;return new Hv(t.byteWidth)}case`fixedsizelist`:{let n=e.type;return new Uv(n.listSize,(t||[])[0])}case`map`:{let n=e.type;return new Wv((t||[])[0],n.keysSorted)}}throw Error(`Unrecognized type: "${n}"`)}var vC=Kg,yC=Gg,bC=class e{static fromJSON(t,n){let r=new e(0,Ag.V5,n);return r._createHeader=TC(t,n),r}static decode(t){t=new yC(mg(t));let n=rC.getRootAsMessage(t),r=n.bodyLength(),i=n.version(),a=n.headerType(),o=new e(r,i,a);return o._createHeader=EC(n,a),o}static encode(e){let t=new vC,n=-1;return e.isSchema()?n=Zx.encode(t,e.header()):e.isRecordBatch()?n=xC.encode(t,e.header()):e.isDictionaryBatch()&&(n=SC.encode(t,e.header())),rC.startMessage(t),rC.addVersion(t,Ag.V5),rC.addHeader(t,n),rC.addHeaderType(t,e.headerType),rC.addBodyLength(t,BigInt(e.bodyLength)),rC.finishMessageBuffer(t,rC.endMessage(t)),t.asUint8Array()}static from(t,n=0){if(t instanceof Zx)return new e(0,Ag.V5,D_.Schema,t);if(t instanceof xC)return new e(n,Ag.V5,D_.RecordBatch,t);if(t instanceof SC)return new e(n,Ag.V5,D_.DictionaryBatch,t);throw Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===D_.Schema}isRecordBatch(){return this.headerType===D_.RecordBatch}isDictionaryBatch(){return this.headerType===D_.DictionaryBatch}constructor(e,t,n,r){this._version=t,this._headerType=n,this.body=new Uint8Array,r&&(this._createHeader=()=>r),this._bodyLength=j_(e)}},xC=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,n){this._nodes=t,this._buffers=n,this._length=j_(e)}},SC=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,n=!1){this._data=e,this._isDelta=n,this._id=j_(t)}},CC=class{constructor(e,t){this.offset=j_(e),this.length=j_(t)}},wC=class{constructor(e,t){this.length=j_(e),this.nullCount=j_(t)}};function TC(e,t){return()=>{switch(t){case D_.Schema:return Zx.fromJSON(e);case D_.RecordBatch:return xC.fromJSON(e);case D_.DictionaryBatch:return SC.fromJSON(e)}throw Error(`Unrecognized Message type: { name: ${D_[t]}, type: ${t} }`)}}function EC(e,t){return()=>{switch(t){case D_.Schema:return Zx.decode(e.header(new E_),new Map,e.version());case D_.RecordBatch:return xC.decode(e.header(new Qg),e.version());case D_.DictionaryBatch:return SC.decode(e.header(new $g),e.version())}throw Error(`Unrecognized Message type: { name: ${D_[t]}, type: ${t} }`)}}Qx.encode=VC,Qx.decode=IC,Qx.fromJSON=mC,Zx.encode=BC,Zx.decode=DC,Zx.fromJSON=oC,xC.encode=HC,xC.decode=OC,xC.fromJSON=sC,SC.encode=UC,SC.decode=kC,SC.fromJSON=cC,wC.encode=WC,wC.decode=jC,CC.encode=GC,CC.decode=AC;function DC(e,t=new Map,n=Ag.V5){let r=PC(e,t);return new Zx(r,LC(e),t,n)}function OC(e,t=Ag.V5){if(e.compression()!==null)throw Error(`Record batch compression not implemented`);return new xC(e.length(),MC(e),NC(e,t))}function kC(e,t=Ag.V5){return new SC(xC.decode(e.data(),t),e.id(),e.isDelta())}function AC(e){return new CC(e.offset(),e.length())}function jC(e){return new wC(e.length(),e.nullCount())}function MC(e){let t=[];for(let n,r=-1,i=-1,a=e.nodesLength();++rQx.encode(e,t));E_.startFieldsVector(e,n.length);let r=E_.createFieldsVector(e,n),i=t.metadata&&t.metadata.size>0?E_.createCustomMetadataVector(e,[...t.metadata].map(([t,n])=>{let r=e.createString(`${t}`),i=e.createString(`${n}`);return i_.startKeyValue(e),i_.addKey(e,r),i_.addValue(e,i),i_.endKeyValue(e)})):-1;return E_.startSchema(e),E_.addFields(e,r),E_.addEndianness(e,KC?e_.Little:e_.Big),i!==-1&&E_.addCustomMetadata(e,i),E_.endSchema(e)}function VC(e,t){let n=-1,r=-1,i=-1,a=t.type,o=t.typeId;pv.isDictionary(a)?(o=a.dictionary.typeId,i=aC.visit(a,e),r=aC.visit(a.dictionary,e)):r=aC.visit(a,e);let s=(a.children||[]).map(t=>Qx.encode(e,t)),c=T_.createChildrenVector(e,s),l=t.metadata&&t.metadata.size>0?T_.createCustomMetadataVector(e,[...t.metadata].map(([t,n])=>{let r=e.createString(`${t}`),i=e.createString(`${n}`);return i_.startKeyValue(e),i_.addKey(e,r),i_.addValue(e,i),i_.endKeyValue(e)})):-1;return t.name&&(n=e.createString(t.name)),T_.startField(e),T_.addType(e,r),T_.addTypeType(e,o),T_.addChildren(e,c),T_.addNullable(e,!!t.nullable),n!==-1&&T_.addName(e,n),i!==-1&&T_.addDictionary(e,i),l!==-1&&T_.addCustomMetadata(e,l),T_.endField(e)}function HC(e,t){let n=t.nodes||[],r=t.buffers||[];Qg.startNodesVector(e,n.length);for(let t of n.slice().reverse())wC.encode(e,t);let i=e.endVector();Qg.startBuffersVector(e,r.length);for(let t of r.slice().reverse())CC.encode(e,t);let a=e.endVector();return Qg.startRecordBatch(e),Qg.addLength(e,BigInt(t.length)),Qg.addNodes(e,i),Qg.addBuffers(e,a),Qg.endRecordBatch(e)}function UC(e,t){let n=xC.encode(e,t.data);return $g.startDictionaryBatch(e),$g.addId(e,BigInt(t.id)),$g.addIsDelta(e,t.isDelta),$g.addData(e,n),$g.endDictionaryBatch(e)}function WC(e,t){return Zg.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function GC(e,t){return Xg.createBuffer(e,BigInt(t.offset),BigInt(t.length))}const KC=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})(),qC=e=>`Expected ${D_[e]} Message in stream, but was null or length 0.`,JC=e=>`Header pointer of flatbuffer-encoded ${D_[e]} Message is null or length 0.`,YC=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,XC=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`;var ZC=class{constructor(e){this.source=e instanceof dS?e:new dS(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?oS:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw Error(qC(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array;let t=mg(this.source.read(e));if(t.byteLength[...e,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE_ID&&[n.TYPE_ID]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...t(n.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw Error(qC(e));return t.value}readSchema(){let e=D_.Schema,t=this.readMessage(e),n=t?.header();if(!t||!n)throw Error(JC(e));return n}};const ew=4,tw=`ARROW1`,nw=new Uint8Array(6);for(let e=0;e<6;e+=1)nw[e]=tw.codePointAt(e);function rw(e,t=0){for(let n=-1,r=nw.length;++nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Sg.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Sg.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw Error(`"throughNode" not available in this environment`)}static throughDOM(e,t){throw Error(`"throughDOM" not available in this environment`)}static from(t){return t instanceof e?t:Zh(t)?xw(t):$h(t)?ww(t):Jh(t)?(()=>Ph(this,void 0,void 0,function*(){return yield e.from(yield t)}))():eg(t)||rg(t)||ag(t)||Xh(t)?Cw(new fS(t)):Sw(new dS(t))}static readAll(t){return t instanceof e?t.isSync()?yw(t):bw(t):Zh(t)||ArrayBuffer.isView(t)||Yh(t)||Qh(t)?yw(t):bw(t)}},cw=class extends sw{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Lh(this,arguments,function*(){yield Ih(yield*Rh(zh(this[Symbol.iterator]())))})}},lw=class extends sw{constructor(e){super(e),this._impl=e}readAll(){return Ph(this,void 0,void 0,function*(){var e,t,n,r;let i=[];try{for(var a=!0,o=zh(this),s;s=yield o.next(),e=s.done,!e;a=!0){r=s.value,a=!1;let e=r;i.push(e)}}catch(e){t={error:e}}finally{try{!a&&!e&&(n=o.return)&&(yield n.call(o))}finally{if(t)throw t.error}}return i})}[Symbol.iterator](){throw Error(`AsyncRecordBatchStreamReader is not Iterable`)}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},uw=class extends cw{constructor(e){super(e),this._impl=e}},dw=class extends lw{constructor(e){super(e),this._impl=e}},fw=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){let n=this._loadVectors(e,t,this.schema.fields),r=Cx({type:new Bv(this.schema.fields),length:e.length,children:n});return new $S(this.schema,r)}_loadDictionaryBatch(e,t){let{id:n,isDelta:r}=e,{dictionaries:i,schema:a}=this,o=i.get(n),s=a.dictionaries.get(n),c=this._loadVectors(e.data,t,[s]);return(o&&r?o.concat(new qx(c)):new qx(c)).memoize()}_loadVectors(e,t,n){return new TS(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(n)}},pw=class extends fw{constructor(e,t){super(t),this._reader=Zh(e)?new $C(this._handle=e):new ZC(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=vw(this,e),(this.schema||=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):oS}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):oS}next(){if(this.closed)return oS;let e,{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let n=e.header(),r=t.readMessageBody(e.bodyLength),i=this._loadRecordBatch(n,r);return{done:!1,value:i}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let n=e.header(),r=t.readMessageBody(e.bodyLength),i=this._loadDictionaryBatch(n,r);this.dictionaries.set(n.id,i)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new nC(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}},mw=class extends fw{constructor(e,t){super(t),this._reader=new QC(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Ph(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Ph(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=vw(this,e),(this.schema||=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Ph(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):oS})}return(e){return Ph(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):oS})}next(){return Ph(this,void 0,void 0,function*(){if(this.closed)return oS;let e,{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let n=e.header(),r=yield t.readMessageBody(e.bodyLength),i=this._loadRecordBatch(n,r);return{done:!1,value:i}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let n=e.header(),r=yield t.readMessageBody(e.bodyLength),i=this._loadDictionaryBatch(n,r);this.dictionaries.set(n.id,i)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new nC(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Ph(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}},hw=class extends pw{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof hS?e:new hS(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let e of this._footer.dictionaryBatches())e&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();let n=(t=this._footer)?.getRecordBatch(e);if(n&&this._handle.seek(n.offset)){let e=this._reader.readMessage(D_.RecordBatch);if(e?.isRecordBatch()){let t=e.header(),n=this._reader.readMessageBody(e.bodyLength),r=this._loadRecordBatch(t,n);return r}}return null}_readDictionaryBatch(e){var t;let n=(t=this._footer)?.getDictionaryBatch(e);if(n&&this._handle.seek(n.offset)){let e=this._reader.readMessage(D_.DictionaryBatch);if(e?.isDictionaryBatch()){let t=e.header(),n=this._reader.readMessageBody(e.bodyLength),r=this._loadDictionaryBatch(t,n);this.dictionaries.set(t.id,r)}}}_readFooter(){let{_handle:e}=this,t=e.size-aw,n=e.readInt32(t),r=e.readAt(t-n,n);return rS.decode(r)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Ph(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let e of this._footer.dictionaryBatches())e&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Ph(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());let n=(t=this._footer)?.getRecordBatch(e);if(n&&(yield this._handle.seek(n.offset))){let e=yield this._reader.readMessage(D_.RecordBatch);if(e?.isRecordBatch()){let t=e.header(),n=yield this._reader.readMessageBody(e.bodyLength),r=this._loadRecordBatch(t,n);return r}}return null})}_readDictionaryBatch(e){return Ph(this,void 0,void 0,function*(){var t;let n=(t=this._footer)?.getDictionaryBatch(e);if(n&&(yield this._handle.seek(n.offset))){let e=yield this._reader.readMessage(D_.DictionaryBatch);if(e?.isDictionaryBatch()){let t=e.header(),n=yield this._reader.readMessageBody(e.bodyLength),r=this._loadDictionaryBatch(t,n);this.dictionaries.set(t.id,r)}}})}_readFooter(){return Ph(this,void 0,void 0,function*(){let{_handle:e}=this;e._pending&&(yield e._pending);let t=e.size-aw,n=yield e.readInt32(t),r=yield e.readAt(t-n,n);return rS.decode(r)})}_readNextMessageAndValidate(e){return Ph(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?rw(t)?new uw(new hw(e.read())):new cw(new pw(e)):new cw(new pw(function*(){}()))}function Cw(e){return Ph(this,void 0,void 0,function*(){let t=yield e.peek(iw+7&-8);return t&&t.byteLength>=4?rw(t)?new uw(new hw(yield e.read())):new lw(new mw(e)):new lw(new mw(function(){return Lh(this,arguments,function*(){})}()))})}function ww(e){return Ph(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),n=new gS(e,t);return t>=ow&&rw(yield n.readAt(0,iw+7&-8))?new dw(new gw(n)):new lw(new mw(n))})}var Tw=class e extends Jv{static assemble(...t){let n=e=>e.flatMap(e=>Array.isArray(e)?n(e):e instanceof $S?e.data.children:e.data),r=new e;return r.visitMany(n(t)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(e){if(e instanceof qx)return this.visitMany(e.data),this;let{type:t}=e;if(!pv.isDictionary(t)){let{length:n}=e;if(n>2147483647)throw RangeError(`Cannot write arrays larger than 2^31 - 1 in length`);if(pv.isUnion(t))this.nodes.push(new wC(n,0));else{let{nullCount:r}=e;pv.isNull(t)||Ew.call(this,r<=0?new Uint8Array:px(e.offset,n,e.nullBitmap)),this.nodes.push(new wC(n,r))}}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function Ew(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new CC(this._byteLength,t)),this._byteLength+=t,this}function Dw(e){var t;let{type:n,length:r,typeIds:i,valueOffsets:a}=e;if(Ew.call(this,i),n.mode===jg.Sparse)return Mw.call(this,e);if(n.mode===jg.Dense){if(e.offset<=0)return Ew.call(this,a),Mw.call(this,e);{let o=new Int32Array(r),s=Object.create(null),c=Object.create(null);for(let e,n,l=-1;++l{let i=n.typeIds[t],a=s[i],o=c[i];return e.slice(a,Math.min(r,o))}))}}return this}function Ow(e){let t;return e.nullCount>=e.length?Ew.call(this,new Uint8Array):(t=e.values)instanceof Uint8Array?Ew.call(this,px(e.offset,e.length,t)):Ew.call(this,mx(e.values))}function kw(e){return Ew.call(this,e.values.subarray(0,e.length*e.stride))}function Aw(e){let{length:t,values:n,valueOffsets:r}=e,i=j_(r[0]),a=j_(r[t]),o=Math.min(a-i,n.byteLength-i);return Ew.call(this,bg(-i,t+1,r)),Ew.call(this,n.subarray(i,i+o)),this}function jw(e){let{length:t,valueOffsets:n}=e;if(n){let{0:r,[t]:i}=n;return Ew.call(this,bg(-r,t+1,n)),this.visit(e.children[0].slice(r,i-r))}return this.visit(e.children[0])}function Mw(e){return this.visitMany(e.type.children.map((t,n)=>e.children[n]).filter(Boolean))[0]}Tw.prototype.visitBool=Ow,Tw.prototype.visitInt=kw,Tw.prototype.visitFloat=kw,Tw.prototype.visitUtf8=Aw,Tw.prototype.visitLargeUtf8=Aw,Tw.prototype.visitBinary=Aw,Tw.prototype.visitLargeBinary=Aw,Tw.prototype.visitFixedSizeBinary=kw,Tw.prototype.visitDate=kw,Tw.prototype.visitTimestamp=kw,Tw.prototype.visitTime=kw,Tw.prototype.visitDecimal=kw,Tw.prototype.visitList=jw,Tw.prototype.visitStruct=Mw,Tw.prototype.visitUnion=Dw,Tw.prototype.visitInterval=kw,Tw.prototype.visitDuration=kw,Tw.prototype.visitFixedSizeList=jw,Tw.prototype.visitMap=jw;var Nw=class extends cS{static throughNode(e){throw Error(`"throughNode" not available in this environment`)}static throughDOM(e,t){throw Error(`"throughDOM" not available in this environment`)}constructor(e){super(),this._position=0,this._started=!1,this._sink=new uS,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,qh(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy==`boolean`?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat==`boolean`?e.writeLegacyIpcFormat:!1}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Jh(e)?e.then(e=>this.writeAll(e)):Xh(e)?Lw(this,e):Iw(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,t=null){return e===this._sink||e instanceof uS?this._sink=e:(this._sink=new uS,e&&ng(e)?this.toDOMStream({type:`bytes`}).pipeTo(e):e&&ig(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!t||!KS(t,this._schema))&&(t==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=t,this._writeSchema(t))),this}write(e){let t=null;if(this._sink){if(e==null||e instanceof ZS&&!(t=e.schema)||e instanceof $S&&!(t=e.schema))return this.finish()&&void 0}else throw Error(`RecordBatchWriter is closed`);if(t&&!KS(t,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,t)}e instanceof $S?e instanceof nC||this._writeRecordBatch(e):e instanceof ZS?this.writeAll(e.batches):Yh(e)&&this.writeAll(e)}_writeMessage(e,t=8){let n=t-1,r=bC.encode(e),i=r.byteLength,a=this._writeLegacyIpcFormat?4:8,o=i+a+n&~n,s=o-i-a;return e.headerType===D_.RecordBatch?this._recordBatchBlocks.push(new aS(o,e.bodyLength,this._position)):e.headerType===D_.DictionaryBatch&&this._dictionaryBlocks.push(new aS(o,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(o-a)),i>0&&this._write(r),this._writePadding(s)}_write(e){if(this._started){let t=mg(e);t&&t.byteLength>0&&(this._sink.write(t),this._position+=t.byteLength)}return this}_writeSchema(e){return this._writeMessage(bC.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(nw)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){let{byteLength:t,nodes:n,bufferRegions:r,buffers:i}=Tw.assemble(e),a=new xC(e.numRows,n,r),o=bC.from(a,t);return this._writeDictionaries(e)._writeMessage(o)._writeBodyBuffers(i)}_writeDictionaryBatch(e,t,n=!1){let{byteLength:r,nodes:i,bufferRegions:a,buffers:o}=Tw.assemble(new qx([e])),s=new xC(e.length,i,a),c=new SC(s,t,n),l=bC.from(c,r);return this._writeMessage(l)._writeBodyBuffers(o)}_writeBodyBuffers(e){let t,n,r;for(let i=-1,a=e.length;++i0&&(this._write(t),(r=(n+7&-8)-n)>0&&this._writePadding(r));return this}_writeDictionaries(e){var t,n;for(let[r,i]of e.dictionaries){let e=(t=i?.data)??[],a=this._seenDictionaries.get(r),o=(n=this._dictionaryDeltaOffsets.get(r))??0;if(!a||a.data[0]!==e[0])for(let[t,n]of e.entries())this._writeDictionaryBatch(n,r,t>0);else if(or.writeAll(e)):Xh(t)?Lw(r,t):Iw(r,t)}},Fw=class e extends Nw{static writeAll(t){let n=new e;return Jh(t)?t.then(e=>n.writeAll(e)):Xh(t)?Lw(n,t):Iw(n,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(e,t,n=!1){if(!n&&this._seenDictionaries.has(t))throw Error(`The Arrow File format does not support replacement dictionaries. `);return super._writeDictionaryBatch(e,t,n)}_writeFooter(e){let t=rS.encode(new rS(e,Ag.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(t)._write(Int32Array.of(t.byteLength))._writeMagic()}};function Iw(e,t){let n=t;t instanceof ZS&&(n=t.batches,e.reset(void 0,t.schema));for(let t of n)e.write(t);return e.finish()}function Lw(e,t){return Ph(this,void 0,void 0,function*(){var n,r,i,a,o,s,c;try{for(n=!0,r=zh(t);i=yield r.next(),a=i.done,!a;n=!0){c=i.value,n=!1;let t=c;e.write(t)}}catch(e){o={error:e}}finally{try{!n&&!a&&(s=r.return)&&(yield s.call(r))}finally{if(o)throw o.error}}return e.finish()})}function Rw(e,t=`stream`){return(t===`stream`?Pw:Fw).writeAll(e).toUint8Array(!0)}var zw=Object.create,Bw=Object.defineProperty,Vw=Object.getOwnPropertyDescriptor,Hw=Object.getOwnPropertyNames,Uw=Object.getPrototypeOf,Ww=Object.prototype.hasOwnProperty,Gw=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Kw=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Hw(t))!Ww.call(e,i)&&i!==n&&Bw(e,i,{get:()=>t[i],enumerable:!(r=Vw(t,i))||r.enumerable});return e},qw=(e,t,n)=>(n=e==null?{}:zw(Uw(e)),Kw(t||!e||!e.__esModule?Bw(n,`default`,{value:e,enumerable:!0}):n,e)),Jw=Gw((e,t)=>{t.exports=Worker}),Yw=(e=>(e[e.UNDEFINED=0]=`UNDEFINED`,e[e.AUTOMATIC=1]=`AUTOMATIC`,e[e.READ_ONLY=2]=`READ_ONLY`,e[e.READ_WRITE=3]=`READ_WRITE`,e))(Yw||{}),Xw=(e=>(e[e.IDENTIFIER=0]=`IDENTIFIER`,e[e.NUMERIC_CONSTANT=1]=`NUMERIC_CONSTANT`,e[e.STRING_CONSTANT=2]=`STRING_CONSTANT`,e[e.OPERATOR=3]=`OPERATOR`,e[e.KEYWORD=4]=`KEYWORD`,e[e.COMMENT=5]=`COMMENT`,e))(Xw||{}),Zw=(e=>(e[e.NONE=0]=`NONE`,e[e.DEBUG=1]=`DEBUG`,e[e.INFO=2]=`INFO`,e[e.WARNING=3]=`WARNING`,e[e.ERROR=4]=`ERROR`,e))(Zw||{}),Qw=(e=>(e[e.NONE=0]=`NONE`,e[e.CONNECT=1]=`CONNECT`,e[e.DISCONNECT=2]=`DISCONNECT`,e[e.OPEN=3]=`OPEN`,e[e.QUERY=4]=`QUERY`,e[e.INSTANTIATE=5]=`INSTANTIATE`,e))(Qw||{}),$w=(e=>(e[e.NONE=0]=`NONE`,e[e.OK=1]=`OK`,e[e.ERROR=2]=`ERROR`,e[e.START=3]=`START`,e[e.RUN=4]=`RUN`,e[e.CAPTURE=5]=`CAPTURE`,e))($w||{}),eT=(e=>(e[e.NONE=0]=`NONE`,e[e.WEB_WORKER=1]=`WEB_WORKER`,e[e.NODE_WORKER=2]=`NODE_WORKER`,e[e.BINDINGS=3]=`BINDINGS`,e[e.ASYNC_DUCKDB=4]=`ASYNC_DUCKDB`,e))(eT||{}),tT=class{log(e){}},nT=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}},rT=(e=>(e[e.SUCCESS=0]=`SUCCESS`,e))(rT||{}),iT=class{constructor(e,t){this._bindings=e,this._conn=t}get bindings(){return this._bindings}async close(){return this._bindings.disconnect(this._conn)}useUnsafe(e){return e(this._bindings,this._conn)}async query(e){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let t=await this._bindings.runQuery(this._conn,e),n=sw.from(t);return console.assert(n.isSync(),`Reader is not sync`),console.assert(n.isFile(),`Reader is not file`),new ZS(n)}async send(e,t=!1){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let n=await this._bindings.startPendingQuery(this._conn,e,t);for(;n==null;)n=await this._bindings.pollPendingQuery(this._conn);let r=new aT(this._bindings,this._conn,n),i=await sw.from(r);return console.assert(i.isAsync()),console.assert(i.isStream()),i}async cancelSent(){return await this._bindings.cancelPendingQuery(this._conn)}async getTableNames(e){return await this._bindings.getTableNames(this._conn,e)}async prepare(e){let t=await this._bindings.createPrepared(this._conn,e);return new oT(this._bindings,this._conn,t)}async insertArrowTable(e,t){let n=Rw(e,`stream`);await this.insertArrowFromIPCStream(n,t)}async insertArrowFromIPCStream(e,t){await this._bindings.insertArrowFromIPCStream(this._conn,e,t)}async insertCSVFromPath(e,t){await this._bindings.insertCSVFromPath(this._conn,e,t)}async insertJSONFromPath(e,t){await this._bindings.insertJSONFromPath(this._conn,e,t)}},aT=class{constructor(e,t,n){this.db=e,this.conn=t,this.header=n,this._first=!0,this._depleted=!1,this._inFlight=null}async next(){if(this._first)return this._first=!1,{done:!1,value:this.header};if(this._depleted)return{done:!0,value:null};let e;return this._inFlight==null?e=await this.db.fetchQueryResults(this.conn):(e=await this._inFlight,this._inFlight=null),this._depleted=e.length==0,this._depleted||(this._inFlight=this.db.fetchQueryResults(this.conn)),{done:this._depleted,value:e}}[Symbol.asyncIterator](){return this}},oT=class{constructor(e,t,n){this.bindings=e,this.connectionId=t,this.statementId=n}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let t=await this.bindings.runPrepared(this.connectionId,this.statementId,e),n=sw.from(t);return console.assert(n.isSync()),console.assert(n.isFile()),new ZS(n)}async send(...e){let t=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),n=new aT(this.bindings,this.connectionId,t),r=await sw.from(n);return console.assert(r.isAsync()),console.assert(r.isStream()),r}},sT=(e=>(e.CANCEL_PENDING_QUERY=`CANCEL_PENDING_QUERY`,e.CLOSE_PREPARED=`CLOSE_PREPARED`,e.COLLECT_FILE_STATISTICS=`COLLECT_FILE_STATISTICS`,e.REGISTER_OPFS_FILE_NAME=`REGISTER_OPFS_FILE_NAME`,e.CONNECT=`CONNECT`,e.COPY_FILE_TO_BUFFER=`COPY_FILE_TO_BUFFER`,e.COPY_FILE_TO_PATH=`COPY_FILE_TO_PATH`,e.CREATE_PREPARED=`CREATE_PREPARED`,e.DISCONNECT=`DISCONNECT`,e.DROP_FILE=`DROP_FILE`,e.DROP_FILES=`DROP_FILES`,e.EXPORT_FILE_STATISTICS=`EXPORT_FILE_STATISTICS`,e.FETCH_QUERY_RESULTS=`FETCH_QUERY_RESULTS`,e.FLUSH_FILES=`FLUSH_FILES`,e.GET_FEATURE_FLAGS=`GET_FEATURE_FLAGS`,e.GET_TABLE_NAMES=`GET_TABLE_NAMES`,e.GET_VERSION=`GET_VERSION`,e.GLOB_FILE_INFOS=`GLOB_FILE_INFOS`,e.INSERT_ARROW_FROM_IPC_STREAM=`INSERT_ARROW_FROM_IPC_STREAM`,e.INSERT_CSV_FROM_PATH=`IMPORT_CSV_FROM_PATH`,e.INSERT_JSON_FROM_PATH=`IMPORT_JSON_FROM_PATH`,e.INSTANTIATE=`INSTANTIATE`,e.OPEN=`OPEN`,e.PING=`PING`,e.POLL_PENDING_QUERY=`POLL_PENDING_QUERY`,e.REGISTER_FILE_BUFFER=`REGISTER_FILE_BUFFER`,e.REGISTER_FILE_HANDLE=`REGISTER_FILE_HANDLE`,e.REGISTER_FILE_URL=`REGISTER_FILE_URL`,e.RESET=`RESET`,e.RUN_PREPARED=`RUN_PREPARED`,e.RUN_QUERY=`RUN_QUERY`,e.SEND_PREPARED=`SEND_PREPARED`,e.START_PENDING_QUERY=`START_PENDING_QUERY`,e.TOKENIZE=`TOKENIZE`,e))(sT||{}),cT=(e=>(e.CONNECTION_INFO=`CONNECTION_INFO`,e.ERROR=`ERROR`,e.FEATURE_FLAGS=`FEATURE_FLAGS`,e.FILE_BUFFER=`FILE_BUFFER`,e.FILE_INFOS=`FILE_INFOS`,e.FILE_SIZE=`FILE_SIZE`,e.FILE_STATISTICS=`FILE_STATISTICS`,e.INSTANTIATE_PROGRESS=`INSTANTIATE_PROGRESS`,e.LOG=`LOG`,e.OK=`OK`,e.PREPARED_STATEMENT_ID=`PREPARED_STATEMENT_ID`,e.QUERY_PLAN=`QUERY_PLAN`,e.QUERY_RESULT=`QUERY_RESULT`,e.QUERY_RESULT_CHUNK=`QUERY_RESULT_CHUNK`,e.QUERY_RESULT_HEADER=`QUERY_RESULT_HEADER`,e.QUERY_RESULT_HEADER_OR_NULL=`QUERY_RESULT_HEADER_OR_NULL`,e.REGISTERED_FILE=`REGISTERED_FILE`,e.SCRIPT_TOKENS=`SCRIPT_TOKENS`,e.SUCCESS=`SUCCESS`,e.TABLE_NAMES=`TABLE_NAMES`,e.VERSION_STRING=`VERSION_STRING`,e))(cT||{}),lT=class{constructor(e,t){this.promiseResolver=()=>{},this.promiseRejecter=()=>{},this.type=e,this.data=t,this.promise=new Promise((e,t)=>{this.promiseResolver=e,this.promiseRejecter=t})}};function uT(e){switch(e.typeId){case q.Binary:return{sqlType:`binary`};case q.Bool:return{sqlType:`bool`};case q.Date:return{sqlType:`date`};case q.DateDay:return{sqlType:`date32[d]`};case q.DateMillisecond:return{sqlType:`date64[ms]`};case q.Decimal:{let t=e;return{sqlType:`decimal`,precision:t.precision,scale:t.scale}}case q.Float:return{sqlType:`float`};case q.Float16:return{sqlType:`float16`};case q.Float32:return{sqlType:`float32`};case q.Float64:return{sqlType:`float64`};case q.Int:return{sqlType:`int32`};case q.Int16:return{sqlType:`int16`};case q.Int32:return{sqlType:`int32`};case q.Int64:return{sqlType:`int64`};case q.Uint16:return{sqlType:`uint16`};case q.Uint32:return{sqlType:`uint32`};case q.Uint64:return{sqlType:`uint64`};case q.Uint8:return{sqlType:`uint8`};case q.IntervalDayTime:return{sqlType:`interval[dt]`};case q.IntervalYearMonth:return{sqlType:`interval[m]`};case q.List:return{sqlType:`list`,valueType:uT(e.valueType)};case q.FixedSizeBinary:return{sqlType:`fixedsizebinary`,byteWidth:e.byteWidth};case q.Null:return{sqlType:`null`};case q.Utf8:return{sqlType:`utf8`};case q.Struct:return{sqlType:`struct`,fields:e.children.map(e=>dT(e.name,e.type))};case q.Map:{let t=e;return{sqlType:`map`,keyType:uT(t.keyType),valueType:uT(t.valueType)}}case q.Time:return{sqlType:`time[s]`};case q.TimeMicrosecond:return{sqlType:`time[us]`};case q.TimeMillisecond:return{sqlType:`time[ms]`};case q.TimeNanosecond:return{sqlType:`time[ns]`};case q.TimeSecond:return{sqlType:`time[s]`};case q.Timestamp:return{sqlType:`timestamp`,timezone:e.timezone||void 0};case q.TimestampSecond:return{sqlType:`timestamp[s]`,timezone:e.timezone||void 0};case q.TimestampMicrosecond:return{sqlType:`timestamp[us]`,timezone:e.timezone||void 0};case q.TimestampNanosecond:return{sqlType:`timestamp[ns]`,timezone:e.timezone||void 0};case q.TimestampMillisecond:return{sqlType:`timestamp[ms]`,timezone:e.timezone||void 0}}throw Error(`unsupported arrow type: ${e.toString()}`)}function dT(e,t){let n=uT(t);return n.name=e,n}var fT=new TextEncoder,pT=class{constructor(e,t=null){this._onInstantiationProgress=[],this._worker=null,this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{},this._nextMessageId=0,this._pendingRequests=new Map,this._logger=e,this._onMessageHandler=this.onMessage.bind(this),this._onErrorHandler=this.onError.bind(this),this._onCloseHandler=this.onClose.bind(this),t!=null&&this.attach(t)}get logger(){return this._logger}attach(e){this._worker=e,this._worker.addEventListener(`message`,this._onMessageHandler),this._worker.addEventListener(`error`,this._onErrorHandler),this._worker.addEventListener(`close`,this._onCloseHandler),this._workerShutdownPromise=new Promise((e,t)=>{this._workerShutdownResolver=e})}detach(){this._worker&&(this._worker.removeEventListener(`message`,this._onMessageHandler),this._worker.removeEventListener(`error`,this._onErrorHandler),this._worker.removeEventListener(`close`,this._onCloseHandler),this._worker=null,this._workerShutdownResolver(null),this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async terminate(){this._worker&&(this._worker.terminate(),this._worker=null,this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async postTask(e,t=[]){if(!this._worker){console.error(`cannot send a message since the worker is not set!`);return}let n=this._nextMessageId++;return this._pendingRequests.set(n,e),this._worker.postMessage({messageId:n,type:e.type,data:e.data},t),await e.promise}onMessage(e){var t;let n=e.data;switch(n.type){case`LOG`:this._logger.log(n.data);return;case`INSTANTIATE_PROGRESS`:for(let e of this._onInstantiationProgress)e(n.data);return}let r=this._pendingRequests.get(n.requestId);if(!r){console.warn(`unassociated response: [${n.requestId}, ${n.type.toString()}]`);return}if(this._pendingRequests.delete(n.requestId),n.type==`ERROR`){let e=Error(n.data.message);e.name=n.data.name,(t=Object.getOwnPropertyDescriptor(e,`stack`))!=null&&t.writable&&(e.stack=n.data.stack),r.promiseRejecter(e);return}switch(r.type){case`CLOSE_PREPARED`:case`COLLECT_FILE_STATISTICS`:case`REGISTER_OPFS_FILE_NAME`:case`COPY_FILE_TO_PATH`:case`DISCONNECT`:case`DROP_FILE`:case`DROP_FILES`:case`FLUSH_FILES`:case`INSERT_ARROW_FROM_IPC_STREAM`:case`IMPORT_CSV_FROM_PATH`:case`IMPORT_JSON_FROM_PATH`:case`OPEN`:case`PING`:case`REGISTER_FILE_BUFFER`:case`REGISTER_FILE_HANDLE`:case`REGISTER_FILE_URL`:case`RESET`:if(n.type==`OK`){r.promiseResolver(n.data);return}break;case`INSTANTIATE`:if(this._onInstantiationProgress=[],n.type==`OK`){r.promiseResolver(n.data);return}break;case`GLOB_FILE_INFOS`:if(n.type==`FILE_INFOS`){r.promiseResolver(n.data);return}break;case`GET_VERSION`:if(n.type==`VERSION_STRING`){r.promiseResolver(n.data);return}break;case`GET_FEATURE_FLAGS`:if(n.type==`FEATURE_FLAGS`){r.promiseResolver(n.data);return}break;case`GET_TABLE_NAMES`:if(n.type==`TABLE_NAMES`){r.promiseResolver(n.data);return}break;case`TOKENIZE`:if(n.type==`SCRIPT_TOKENS`){r.promiseResolver(n.data);return}break;case`COPY_FILE_TO_BUFFER`:if(n.type==`FILE_BUFFER`){r.promiseResolver(n.data);return}break;case`EXPORT_FILE_STATISTICS`:if(n.type==`FILE_STATISTICS`){r.promiseResolver(n.data);return}break;case`CONNECT`:if(n.type==`CONNECTION_INFO`){r.promiseResolver(n.data);return}break;case`RUN_PREPARED`:case`RUN_QUERY`:if(n.type==`QUERY_RESULT`){r.promiseResolver(n.data);return}break;case`SEND_PREPARED`:if(n.type==`QUERY_RESULT_HEADER`){r.promiseResolver(n.data);return}break;case`START_PENDING_QUERY`:if(n.type==`QUERY_RESULT_HEADER_OR_NULL`){r.promiseResolver(n.data);return}break;case`POLL_PENDING_QUERY`:if(n.type==`QUERY_RESULT_HEADER_OR_NULL`){r.promiseResolver(n.data);return}break;case`CANCEL_PENDING_QUERY`:if(this._onInstantiationProgress=[],n.type==`SUCCESS`){r.promiseResolver(n.data);return}break;case`FETCH_QUERY_RESULTS`:if(n.type==`QUERY_RESULT_CHUNK`){r.promiseResolver(n.data);return}break;case`CREATE_PREPARED`:if(n.type==`PREPARED_STATEMENT_ID`){r.promiseResolver(n.data);return}break}r.promiseRejecter(Error(`unexpected response type: ${n.type.toString()}`))}onError(e){console.error(e),console.error(`error in duckdb worker: ${e.message}`),this._pendingRequests.clear()}onClose(){if(this._workerShutdownResolver(null),this._pendingRequests.size!=0){console.warn(`worker terminated with ${this._pendingRequests.size} pending requests`);return}this._pendingRequests.clear()}async reset(){let e=new lT(`RESET`,null);return await this.postTask(e)}async ping(){let e=new lT(`PING`,null);await this.postTask(e)}async dropFile(e){let t=new lT(`DROP_FILE`,e);return await this.postTask(t)}async dropFiles(){let e=new lT(`DROP_FILES`,null);return await this.postTask(e)}async flushFiles(){let e=new lT(`FLUSH_FILES`,null);return await this.postTask(e)}async instantiate(e,t=null,n=e=>{}){this._onInstantiationProgress.push(n);let r=new lT(`INSTANTIATE`,[e,t]);return await this.postTask(r)}async getVersion(){let e=new lT(`GET_VERSION`,null);return await this.postTask(e)}async getFeatureFlags(){let e=new lT(`GET_FEATURE_FLAGS`,null);return await this.postTask(e)}async open(e){let t=new lT(`OPEN`,e);await this.postTask(t)}async tokenize(e){let t=new lT(`TOKENIZE`,e);return await this.postTask(t)}async connectInternal(){let e=new lT(`CONNECT`,null);return await this.postTask(e)}async connect(){let e=await this.connectInternal();return new iT(this,e)}async disconnect(e){let t=new lT(`DISCONNECT`,e);await this.postTask(t)}async runQuery(e,t){let n=new lT(`RUN_QUERY`,[e,t]);return await this.postTask(n)}async startPendingQuery(e,t,n=!1){let r=new lT(`START_PENDING_QUERY`,[e,t,n]);return await this.postTask(r)}async pollPendingQuery(e){let t=new lT(`POLL_PENDING_QUERY`,e);return await this.postTask(t)}async cancelPendingQuery(e){let t=new lT(`CANCEL_PENDING_QUERY`,e);return await this.postTask(t)}async fetchQueryResults(e){let t=new lT(`FETCH_QUERY_RESULTS`,e);return await this.postTask(t)}async getTableNames(e,t){let n=new lT(`GET_TABLE_NAMES`,[e,t]);return await this.postTask(n)}async createPrepared(e,t){let n=new lT(`CREATE_PREPARED`,[e,t]);return await this.postTask(n)}async closePrepared(e,t){let n=new lT(`CLOSE_PREPARED`,[e,t]);await this.postTask(n)}async runPrepared(e,t,n){let r=new lT(`RUN_PREPARED`,[e,t,n]);return await this.postTask(r)}async sendPrepared(e,t,n){let r=new lT(`SEND_PREPARED`,[e,t,n]);return await this.postTask(r)}async globFiles(e){let t=new lT(`GLOB_FILE_INFOS`,e);return await this.postTask(t)}async registerFileText(e,t){let n=fT.encode(t);await this.registerFileBuffer(e,n)}async registerFileURL(e,t,n,r){t===void 0&&(t=e);let i=new lT(`REGISTER_FILE_URL`,[e,t,n,r]);await this.postTask(i)}async registerEmptyFileBuffer(e){}async registerFileBuffer(e,t){let n=new lT(`REGISTER_FILE_BUFFER`,[e,t]);await this.postTask(n,[t.buffer])}async registerFileHandle(e,t,n,r){let i=new lT(`REGISTER_FILE_HANDLE`,[e,t,n,r]);await this.postTask(i,[])}async registerOPFSFileName(e){let t=new lT(`REGISTER_OPFS_FILE_NAME`,[e]);await this.postTask(t,[])}async collectFileStatistics(e,t){let n=new lT(`COLLECT_FILE_STATISTICS`,[e,t]);await this.postTask(n,[])}async exportFileStatistics(e){let t=new lT(`EXPORT_FILE_STATISTICS`,e);return await this.postTask(t,[])}async copyFileToBuffer(e){let t=new lT(`COPY_FILE_TO_BUFFER`,e);return await this.postTask(t)}async copyFileToPath(e,t){let n=new lT(`COPY_FILE_TO_PATH`,[e,t]);await this.postTask(n)}async insertArrowFromIPCStream(e,t,n){if(t.length==0)return;let r=new lT(`INSERT_ARROW_FROM_IPC_STREAM`,[e,t,n]);await this.postTask(r,[t.buffer])}async insertCSVFromPath(e,t,n){if(n.columns!==void 0){let e=[];for(let t in n.columns){let r=n.columns[t];e.push(dT(t,r))}n.columnsFlat=e,delete n.columns}let r=new lT(`IMPORT_CSV_FROM_PATH`,[e,t,n]);await this.postTask(r)}async insertJSONFromPath(e,t,n){if(n.columns!==void 0){let e=[];for(let t in n.columns){let r=n.columns[t];e.push(dT(t,r))}n.columnsFlat=e,delete n.columns}let r=new lT(`IMPORT_JSON_FROM_PATH`,[e,t,n]);await this.postTask(r)}};function mT(){let e=new TextDecoder;return t=>(typeof SharedArrayBuffer<`u`&&t.buffer instanceof SharedArrayBuffer&&(t=new Uint8Array(t)),e.decode(t))}var hT=mT(),gT=(e=>(e[e.BUFFER=0]=`BUFFER`,e[e.NODE_FS=1]=`NODE_FS`,e[e.BROWSER_FILEREADER=2]=`BROWSER_FILEREADER`,e[e.BROWSER_FSACCESS=3]=`BROWSER_FSACCESS`,e[e.HTTP=4]=`HTTP`,e[e.S3=5]=`S3`,e))(gT||{}),_T=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),vT=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),yT=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),bT=()=>(async e=>{try{return typeof MessageChannel<`u`&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch{return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),xT={name:`@duckdb/duckdb-wasm`,version:`1.29.1-dev68.0`,description:`DuckDB powered by WebAssembly`,license:`MIT`,repository:{type:`git`,url:`https://github.com/duckdb/duckdb-wasm.git`},keywords:[`sql`,`duckdb`,`relational`,`database`,`data`,`query`,`wasm`,`analytics`,`olap`,`arrow`,`parquet`,`json`,`csv`],dependencies:{"apache-arrow":`^17.0.0`},devDependencies:{"@types/emscripten":`^1.39.10`,"@types/jasmine":`^5.1.4`,"@typescript-eslint/eslint-plugin":`^6.21.0`,"@typescript-eslint/parser":`^6.21.0`,esbuild:`^0.20.2`,eslint:`^8.57.0`,"eslint-plugin-jasmine":`^4.1.3`,"eslint-plugin-react":`^7.34.0`,"fast-glob":`^3.3.2`,jasmine:`^5.1.0`,"jasmine-core":`^5.1.2`,"jasmine-spec-reporter":`^7.0.0`,"js-sha256":`^0.11.0`,karma:`^6.4.2`,"karma-chrome-launcher":`^3.2.0`,"karma-coverage":`^2.2.1`,"karma-firefox-launcher":`^2.1.3`,"karma-jasmine":`^5.1.0`,"karma-jasmine-html-reporter":`^2.1.0`,"karma-sourcemap-loader":`^0.4.0`,"karma-spec-reporter":`^0.0.36`,"make-dir":`^4.0.0`,nyc:`^15.1.0`,prettier:`^3.2.5`,puppeteer:`^22.8.0`,rimraf:`^5.0.5`,s3rver:`^3.7.1`,typedoc:`^0.25.13`,typescript:`^5.3.3`,"wasm-feature-detect":`^1.6.1`,"web-worker":`^1.2.0`},scripts:{"build:debug":`node bundle.mjs debug && tsc --emitDeclarationOnly`,"build:release":`node bundle.mjs release && tsc --emitDeclarationOnly`,docs:`typedoc`,report:`node ./coverage.mjs`,"test:node":`node --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs`,"test:node:debug":`node --inspect-brk --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs`,"test:node:coverage":`nyc -r json --report-dir ./coverage/node node ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs`,"test:firefox":`karma start ./karma/tests-firefox.cjs`,"test:chrome":`karma start ./karma/tests-chrome.cjs`,"test:chrome:eh":`karma start ./karma/tests-chrome-eh.cjs`,"test:chrome:coverage":`karma start ./karma/tests-chrome-coverage.cjs`,"test:browser":`karma start ./karma/tests-all.cjs`,"test:browser:debug":`karma start ./karma/tests-debug.cjs`,test:`npm run test:chrome && npm run test:node`,"test:coverage":`npm run test:chrome:coverage && npm run test:node:coverage && npm run report`,lint:`eslint src test`},files:[`dist`,`!dist/tests-*`,`!dist/duckdb-browser-mvp.worker.js.map`,`!dist/types/test`],main:`dist/duckdb-browser.cjs`,module:`dist/duckdb-browser.mjs`,types:`dist/duckdb-browser.d.ts`,jsdelivr:`dist/duckdb-browser.cjs`,unpkg:`dist/duckdb-browser.mjs`,sideEffects:!1,browser:{fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},exports:{"./dist/duckdb-mvp.wasm":`./dist/duckdb-mvp.wasm`,"./dist/duckdb-eh.wasm":`./dist/duckdb-eh.wasm`,"./dist/duckdb-coi.wasm":`./dist/duckdb-coi.wasm`,"./dist/duckdb-browser":`./dist/duckdb-browser.mjs`,"./dist/duckdb-browser.cjs":`./dist/duckdb-browser.cjs`,"./dist/duckdb-browser.mjs":`./dist/duckdb-browser.mjs`,"./dist/duckdb-browser-coi.pthread.worker.js":`./dist/duckdb-browser-coi.pthread.worker.js`,"./dist/duckdb-browser-coi.worker.js":`./dist/duckdb-browser-coi.worker.js`,"./dist/duckdb-browser-eh.worker.js":`./dist/duckdb-browser-eh.worker.js`,"./dist/duckdb-browser-mvp.worker.js":`./dist/duckdb-browser-mvp.worker.js`,"./dist/duckdb-node":`./dist/duckdb-node.cjs`,"./dist/duckdb-node.cjs":`./dist/duckdb-node.cjs`,"./dist/duckdb-node-blocking":`./dist/duckdb-node-blocking.cjs`,"./dist/duckdb-node-blocking.cjs":`./dist/duckdb-node-blocking.cjs`,"./dist/duckdb-node-eh.worker.cjs":`./dist/duckdb-node-eh.worker.cjs`,"./dist/duckdb-node-mvp.worker.cjs":`./dist/duckdb-node-mvp.worker.cjs`,"./blocking":{node:{types:`./dist/duckdb-node-blocking.d.ts`,require:`./dist/duckdb-node-blocking.cjs`,import:`./dist/duckdb-node-blocking.cjs`},types:`./dist/duckdb-node-blocking.d.ts`,import:`./dist/duckdb-node-blocking.mjs`,require:`./dist/duckdb-node-blocking.cjs`},".":{browser:{types:`./dist/duckdb-browser.d.ts`,import:`./dist/duckdb-browser.mjs`,require:`./dist/duckdb-browser.cjs`},node:{types:`./dist/duckdb-node.d.ts`,import:`./dist/duckdb-node.cjs`,require:`./dist/duckdb-node.cjs`},types:`./dist/duckdb-browser.d.ts`,import:`./dist/duckdb-browser.mjs`,require:`./dist/duckdb-browser.cjs`}}},ST=xT.name,CT=xT.version,wT=xT.version.split(`.`),TT=wT[0],ET=wT[1],DT=wT[2],OT=()=>typeof navigator>`u`,kT=()=>OT()?`node`:navigator.userAgent,AT=()=>kT().includes(`Firefox`),jT=()=>/^((?!chrome|android).)*safari/i.test(kT()),MT=null,NT=null,PT=null,FT=null,IT=null;async function LT(){return MT??=typeof BigInt64Array<`u`,NT??=await vT(),PT??=await bT(),FT??=await yT(),IT??=await _T(),{bigInt64Array:MT,crossOriginIsolated:OT()||globalThis.crossOriginIsolated||!1,wasmExceptions:NT,wasmSIMD:FT,wasmThreads:PT,wasmBulkMemory:IT}}async function RT(e){let t=await LT();if(t.wasmExceptions){if(t.wasmSIMD&&t.wasmThreads&&t.crossOriginIsolated&&e.coi)return{mainModule:e.coi.mainModule,mainWorker:e.coi.mainWorker,pthreadWorker:e.coi.pthreadWorker};if(e.eh)return{mainModule:e.eh.mainModule,mainWorker:e.eh.mainWorker,pthreadWorker:null}}return{mainModule:e.mvp.mainModule,mainWorker:e.mvp.mainWorker,pthreadWorker:null}}var zT=qw(Jw());const BT=Symbol.for(`constructDateFrom`),VT={},HT={};function UT(e,t){try{let n=VT[e]||=new Intl.DateTimeFormat(`en-GB`,{timeZone:e,hour:`numeric`,timeZoneName:`longOffset`}).format,r=n(t).split(`GMT`)[1]||``;return r in HT?HT[r]:GT(r,r.split(`:`))}catch{if(e in HT)return HT[e];let t=e?.match(WT);return t?GT(e,t.slice(1)):NaN}}const WT=/([+-]\d\d):?(\d\d)?/;function GT(e,t){let n=+t[0],r=+(t[1]||0);return HT[e]=n>0?n*60+r:n*60-r}var KT=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(UT(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),XT(this,NaN),JT(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){return-UT(this.timeZone,this)}setTime(e){return Date.prototype.setTime.apply(this,arguments),JT(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};const qT=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!qT.test(e))return;let t=e.replace(qT,`$1UTC`);KT.prototype[t]&&(e.startsWith(`get`)?KT.prototype[e]=function(){return this.internal[t]()}:(KT.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),YT(this),+this},KT.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),JT(this),+this}))});function JT(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function YT(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),XT(e)}function XT(e){let t=UT(e.timeZone,e),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);let r=-new Date(+e).getTimezoneOffset(),i=-new Date(+n).getTimezoneOffset(),a=r-i,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=r-t;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=UT(e.timeZone,e),l=-new Date(+e).getTimezoneOffset(),u=l-c,d=c!==t,f=u-s;if(d&&f){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+f);let t=UT(e.timeZone,e),n=c-t;n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n))}}var ZT=class e extends KT{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${QT(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset(),t=e>0?`-`:`+`,n=String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),r=String(Math.abs(e)%60).padStart(2,`0`);return[t,n,r]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};function QT(e,t){return new Intl.DateTimeFormat(`en-GB`,{timeZone:e,timeZoneName:`long`}).format(t).slice(12)}const $T=new TextDecoder(`utf-8`),eE=e=>$T.decode(e),tE=new TextEncoder,nE=e=>tE.encode(e),rE=e=>typeof e==`function`,iE=e=>e!=null&&Object(e)===e,aE=e=>iE(e)&&rE(e.then),oE=e=>iE(e)&&rE(e[Symbol.iterator]),sE=e=>iE(e)&&rE(e[Symbol.asyncIterator]),cE=e=>iE(e)&&`done`in e&&`value`in e,lE=e=>iE(e)&&rE(e.clear)&&rE(e.bytes)&&rE(e.position)&&rE(e.setPosition)&&rE(e.capacity)&&rE(e.getBufferIdentifier)&&rE(e.createLong);var uE={};An(uE,{compareArrayLike:()=>YE,joinUint8Arrays:()=>mE,memcpy:()=>pE,rebaseValueOffsets:()=>JE,toArrayBufferView:()=>hE,toArrayBufferViewAsyncIterator:()=>RE,toArrayBufferViewIterator:()=>OE,toBigInt64Array:()=>yE,toBigUint64Array:()=>CE,toFloat32Array:()=>wE,toFloat32ArrayAsyncIterator:()=>GE,toFloat32ArrayIterator:()=>FE,toFloat64Array:()=>TE,toFloat64ArrayAsyncIterator:()=>KE,toFloat64ArrayIterator:()=>IE,toInt16Array:()=>_E,toInt16ArrayAsyncIterator:()=>BE,toInt16ArrayIterator:()=>AE,toInt32Array:()=>vE,toInt32ArrayAsyncIterator:()=>VE,toInt32ArrayIterator:()=>jE,toInt8Array:()=>gE,toInt8ArrayAsyncIterator:()=>zE,toInt8ArrayIterator:()=>kE,toUint16Array:()=>xE,toUint16ArrayAsyncIterator:()=>UE,toUint16ArrayIterator:()=>NE,toUint32Array:()=>SE,toUint32ArrayAsyncIterator:()=>WE,toUint32ArrayIterator:()=>PE,toUint8Array:()=>bE,toUint8ArrayAsyncIterator:()=>HE,toUint8ArrayIterator:()=>ME,toUint8ClampedArray:()=>EE,toUint8ClampedArrayAsyncIterator:()=>qE,toUint8ClampedArrayIterator:()=>LE});const dE=typeof SharedArrayBuffer<`u`?SharedArrayBuffer:ArrayBuffer;function fE(e){let t=e[0]?[e[0]]:[],n,r,i,a;for(let o,s,c=0,l=0,u=e.length;++ce+t.byteLength,0),i,a,o,s=0,c=-1,l=Math.min(t||1/0,r);for(let e=n.length;++chE(Int8Array,e),_E=e=>hE(Int16Array,e),vE=e=>hE(Int32Array,e),yE=e=>hE(BigInt64Array,e),bE=e=>hE(Uint8Array,e),xE=e=>hE(Uint16Array,e),SE=e=>hE(Uint32Array,e),CE=e=>hE(BigUint64Array,e),wE=e=>hE(Float32Array,e),TE=e=>hE(Float64Array,e),EE=e=>hE(Uint8ClampedArray,e),DE=e=>(e.next(),e);function*OE(e,t){let n=function*(e){yield e},r=typeof t==`string`||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof dE?n(t):oE(t)?t:n(t);return yield*DE(function*(t){let n=null;do n=t.next(yield hE(e,n));while(!n.done)}(r[Symbol.iterator]())),new e}const kE=e=>OE(Int8Array,e),AE=e=>OE(Int16Array,e),jE=e=>OE(Int32Array,e),ME=e=>OE(Uint8Array,e),NE=e=>OE(Uint16Array,e),PE=e=>OE(Uint32Array,e),FE=e=>OE(Float32Array,e),IE=e=>OE(Float64Array,e),LE=e=>OE(Uint8ClampedArray,e);function RE(e,t){return Lh(this,arguments,function*(){if(aE(t))return yield Ih(yield Ih(yield*Rh(zh(RE(e,yield Ih(t))))));let n=function(e){return Lh(this,arguments,function*(){yield yield Ih(yield Ih(e))})},r=function(e){return Lh(this,arguments,function*(){yield Ih(yield*Rh(zh(DE(function*(e){let t=null;do t=e.next(yield t?.value);while(!t.done)}(e[Symbol.iterator]())))))})},i=typeof t==`string`||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof dE?n(t):oE(t)?r(t):sE(t)?t:n(t);return yield Ih(yield*Rh(zh(DE(function(t){return Lh(this,arguments,function*(){let n=null;do n=yield Ih(t.next(yield yield Ih(hE(e,n))));while(!n.done)})}(i[Symbol.asyncIterator]()))))),yield Ih(new e)})}const zE=e=>RE(Int8Array,e),BE=e=>RE(Int16Array,e),VE=e=>RE(Int32Array,e),HE=e=>RE(Uint8Array,e),UE=e=>RE(Uint16Array,e),WE=e=>RE(Uint32Array,e),GE=e=>RE(Float32Array,e),KE=e=>RE(Float64Array,e),qE=e=>RE(Uint8ClampedArray,e);function JE(e,t,n){if(e!==0){n=n.slice(0,t);for(let t=-1,r=n.length;++t0)do if(e[n]!==t[n])return!1;while(++niD});const rD=void 0;function iD(e){if(e===null)return`null`;if(e===rD)return`undefined`;switch(typeof e){case`number`:return`${e}`;case`bigint`:return`${e}`;case`string`:return`"${e}"`}return typeof e[Symbol.toPrimitive]==`function`?e[Symbol.toPrimitive](`string`):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(e=>iD(e))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(e,t)=>typeof t==`bigint`?`${t}`:t)}function aD(e){if(typeof e==`bigint`&&(e<-(2**53-1)||e>2**53-1))throw TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function oD(e,t){return aD(e/t)+aD(e%t)/aD(t)}var sD={};An(sD,{BN:()=>yD,bigNumToBigInt:()=>_D,bigNumToNumber:()=>hD,bigNumToString:()=>gD,isArrowBigNumSymbol:()=>cD});const cD=Symbol.for(`isArrowBigNum`);function lD(e,...t){return t.length===0?Object.setPrototypeOf(hE(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}lD.prototype[cD]=!0,lD.prototype.toJSON=function(){return`"${gD(this)}"`},lD.prototype.valueOf=function(e){return hD(this,e)},lD.prototype.toString=function(){return gD(this)},lD.prototype[Symbol.toPrimitive]=function(e=`default`){switch(e){case`number`:return hD(this);case`string`:return gD(this);case`default`:return _D(this)}return gD(this)};function uD(...e){return lD.apply(this,e)}function dD(...e){return lD.apply(this,e)}function fD(...e){return lD.apply(this,e)}Object.setPrototypeOf(uD.prototype,Object.create(Int32Array.prototype)),Object.setPrototypeOf(dD.prototype,Object.create(Uint32Array.prototype)),Object.setPrototypeOf(fD.prototype,Object.create(Uint32Array.prototype)),Object.assign(uD.prototype,lD.prototype,{constructor:uD,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array}),Object.assign(dD.prototype,lD.prototype,{constructor:dD,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array}),Object.assign(fD.prototype,lD.prototype,{constructor:fD,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const pD=BigInt(4294967296)*BigInt(4294967296),mD=pD-BigInt(1);function hD(e,t){let{buffer:n,byteOffset:r,byteLength:i,signed:a}=e,o=new BigUint64Array(n,r,i/8),s=a&&o.at(-1)&BigInt(1)<0){let e=BigInt(`1`.padEnd(t+1,`0`)),n=c/e,r=s?-(c%e):c%e,i=aD(n),a=`${r}`.padStart(t,`0`),o=s&&i===0?`-`:``;return+`${o}${i}.${a}`}return aD(c)}function gD(e){if(e.byteLength===8){let t=new e.BigIntArray(e.buffer,e.byteOffset,1);return`${t[0]}`}if(!e.signed)return vD(e);let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),n=new Int16Array([t.at(-1)])[0];if(n>=0)return vD(e);t=t.slice();let r=1;for(let e=0;e(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=`DataType`))(HD.prototype);var UD=class extends HD{constructor(){super(J.Null)}toString(){return`Null`}};xD=Symbol.toStringTag,UD[xD]=(e=>e[Symbol.toStringTag]=`Null`)(UD.prototype);var WD=class extends HD{constructor(e,t){super(J.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?`I`:`Ui`}nt${this.bitWidth}`}};SD=Symbol.toStringTag,WD[SD]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=`Int`))(WD.prototype);var GD=class extends WD{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},KD=class extends WD{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},qD=class extends WD{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},JD=class extends WD{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},YD=class extends WD{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},XD=class extends WD{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},ZD=class extends WD{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},QD=class extends WD{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(GD.prototype,`ArrayType`,{value:Int8Array}),Object.defineProperty(KD.prototype,`ArrayType`,{value:Int16Array}),Object.defineProperty(qD.prototype,`ArrayType`,{value:Int32Array}),Object.defineProperty(JD.prototype,`ArrayType`,{value:BigInt64Array}),Object.defineProperty(YD.prototype,`ArrayType`,{value:Uint8Array}),Object.defineProperty(XD.prototype,`ArrayType`,{value:Uint16Array}),Object.defineProperty(ZD.prototype,`ArrayType`,{value:Uint32Array}),Object.defineProperty(QD.prototype,`ArrayType`,{value:BigUint64Array});var $D=class extends HD{constructor(e){super(J.Float),this.precision=e}get ArrayType(){switch(this.precision){case ZE.HALF:return Uint16Array;case ZE.SINGLE:return Float32Array;case ZE.DOUBLE:return Float64Array}throw Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};CD=Symbol.toStringTag,$D[CD]=(e=>(e.precision=null,e[Symbol.toStringTag]=`Float`))($D.prototype);var eO=class extends $D{constructor(){super(ZE.HALF)}},tO=class extends $D{constructor(){super(ZE.SINGLE)}},nO=class extends $D{constructor(){super(ZE.DOUBLE)}};Object.defineProperty(eO.prototype,`ArrayType`,{value:Uint16Array}),Object.defineProperty(tO.prototype,`ArrayType`,{value:Float32Array}),Object.defineProperty(nO.prototype,`ArrayType`,{value:Float64Array});var rO=class extends HD{constructor(){super(J.Binary)}toString(){return`Binary`}};wD=Symbol.toStringTag,rO[wD]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`Binary`))(rO.prototype);var iO=class extends HD{constructor(){super(J.LargeBinary)}toString(){return`LargeBinary`}};TD=Symbol.toStringTag,iO[TD]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=`LargeBinary`))(iO.prototype);var aO=class extends HD{constructor(){super(J.Utf8)}toString(){return`Utf8`}};ED=Symbol.toStringTag,aO[ED]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`Utf8`))(aO.prototype);var oO=class extends HD{constructor(){super(J.LargeUtf8)}toString(){return`LargeUtf8`}};DD=Symbol.toStringTag,oO[DD]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=`LargeUtf8`))(oO.prototype);var sO=class extends HD{constructor(){super(J.Bool)}toString(){return`Bool`}};OD=Symbol.toStringTag,sO[OD]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`Bool`))(sO.prototype);var cO=class extends HD{constructor(e,t,n=128){super(J.Decimal),this.scale=e,this.precision=t,this.bitWidth=n}toString(){return`Decimal[${this.precision}e${this.scale>0?`+`:``}${this.scale}]`}};kD=Symbol.toStringTag,cO[kD]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=`Decimal`))(cO.prototype);var lO=class extends HD{constructor(e){super(J.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${QE[this.unit]}>`}get ArrayType(){return this.unit===QE.DAY?Int32Array:BigInt64Array}};AD=Symbol.toStringTag,lO[AD]=(e=>(e.unit=null,e[Symbol.toStringTag]=`Date`))(lO.prototype);var uO=class extends HD{constructor(e,t){super(J.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${$E[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};jD=Symbol.toStringTag,uO[jD]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=`Time`))(uO.prototype);var dO=class extends HD{constructor(e,t){super(J.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${$E[this.unit]}${this.timezone?`, ${this.timezone}`:``}>`}};MD=Symbol.toStringTag,dO[MD]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=`Timestamp`))(dO.prototype);var fO=class extends HD{constructor(e){super(J.Interval),this.unit=e}toString(){return`Interval<${eD[this.unit]}>`}};ND=Symbol.toStringTag,fO[ND]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=`Interval`))(fO.prototype);var pO=class extends HD{constructor(e){super(J.Duration),this.unit=e}toString(){return`Duration<${$E[this.unit]}>`}};PD=Symbol.toStringTag,pO[PD]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=`Duration`))(pO.prototype);var mO=class extends HD{constructor(e){super(J.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};FD=Symbol.toStringTag,mO[FD]=(e=>(e.children=null,e[Symbol.toStringTag]=`List`))(mO.prototype);var hO=class extends HD{constructor(e){super(J.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(`, `)}}>`}};ID=Symbol.toStringTag,hO[ID]=(e=>(e.children=null,e[Symbol.toStringTag]=`Struct`))(hO.prototype);var gO=class extends HD{constructor(e,t,n){super(J.Union),this.mode=e,this.children=n,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((e,t,n)=>(e[t]=n)&&e||e,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(` | `)}>`}};LD=Symbol.toStringTag,gO[LD]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=`Union`))(gO.prototype);var _O=class extends HD{constructor(e){super(J.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};RD=Symbol.toStringTag,_O[RD]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=`FixedSizeBinary`))(_O.prototype);var vO=class extends HD{constructor(e,t){super(J.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};zD=Symbol.toStringTag,vO[zD]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=`FixedSizeList`))(vO.prototype);var yO=class extends HD{constructor(e,t=!1){var n,r,i;if(super(J.Map),this.children=[e],this.keysSorted=t,e&&(e.name=`entries`,(n=e?.type)?.children)){let t=(r=e?.type)?.children[0];t&&(t.name=`key`);let n=(i=e?.type)?.children[1];n&&(n.name=`value`)}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(`, `)}}>`}};BD=Symbol.toStringTag,yO[BD]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=`Map_`))(yO.prototype);const bO=(e=>()=>++e)(-1);var xO=class extends HD{constructor(e,t,n,r){super(J.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=r||!1,this.id=n==null?bO():aD(n)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};VD=Symbol.toStringTag,xO[VD]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=`Dictionary`))(xO.prototype);function SO(e){let t=e;switch(e.typeId){case J.Decimal:return e.bitWidth/32;case J.Interval:return t.unit===eD.MONTH_DAY_NANO?4:1+t.unit;case J.FixedSizeList:return t.listSize;case J.FixedSizeBinary:return t.byteWidth;default:return 1}}var CO=class{visitMany(e,...t){return e.map((e,n)=>this.visit(e,...t.map(e=>e[n])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return wO(this,e,t)}getVisitFnByTypeId(e,t=!0){return TO(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}};function wO(e,t,n=!0){return typeof t==`number`?TO(e,t,n):typeof t==`string`&&t in J?TO(e,J[t],n):t&&t instanceof HD?TO(e,EO(t),n):t?.type&&t.type instanceof HD?TO(e,EO(t.type),n):TO(e,J.NONE,n)}function TO(e,t,n=!0){let r=null;switch(t){case J.Null:r=e.visitNull;break;case J.Bool:r=e.visitBool;break;case J.Int:r=e.visitInt;break;case J.Int8:r=e.visitInt8||e.visitInt;break;case J.Int16:r=e.visitInt16||e.visitInt;break;case J.Int32:r=e.visitInt32||e.visitInt;break;case J.Int64:r=e.visitInt64||e.visitInt;break;case J.Uint8:r=e.visitUint8||e.visitInt;break;case J.Uint16:r=e.visitUint16||e.visitInt;break;case J.Uint32:r=e.visitUint32||e.visitInt;break;case J.Uint64:r=e.visitUint64||e.visitInt;break;case J.Float:r=e.visitFloat;break;case J.Float16:r=e.visitFloat16||e.visitFloat;break;case J.Float32:r=e.visitFloat32||e.visitFloat;break;case J.Float64:r=e.visitFloat64||e.visitFloat;break;case J.Utf8:r=e.visitUtf8;break;case J.LargeUtf8:r=e.visitLargeUtf8;break;case J.Binary:r=e.visitBinary;break;case J.LargeBinary:r=e.visitLargeBinary;break;case J.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case J.Date:r=e.visitDate;break;case J.DateDay:r=e.visitDateDay||e.visitDate;break;case J.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case J.Timestamp:r=e.visitTimestamp;break;case J.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case J.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case J.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case J.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case J.Time:r=e.visitTime;break;case J.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case J.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case J.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case J.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case J.Decimal:r=e.visitDecimal;break;case J.List:r=e.visitList;break;case J.Struct:r=e.visitStruct;break;case J.Union:r=e.visitUnion;break;case J.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case J.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case J.Dictionary:r=e.visitDictionary;break;case J.Interval:r=e.visitInterval;break;case J.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case J.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case J.IntervalMonthDayNano:r=e.visitIntervalMonthDayNano||e.visitInterval;break;case J.Duration:r=e.visitDuration;break;case J.DurationSecond:r=e.visitDurationSecond||e.visitDuration;break;case J.DurationMillisecond:r=e.visitDurationMillisecond||e.visitDuration;break;case J.DurationMicrosecond:r=e.visitDurationMicrosecond||e.visitDuration;break;case J.DurationNanosecond:r=e.visitDurationNanosecond||e.visitDuration;break;case J.FixedSizeList:r=e.visitFixedSizeList;break;case J.Map:r=e.visitMap;break}if(typeof r==`function`)return r;if(!n)return()=>null;throw Error(`Unrecognized type '${J[t]}'`)}function EO(e){switch(e.typeId){case J.Null:return J.Null;case J.Int:{let{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?J.Int8:J.Uint8;case 16:return n?J.Int16:J.Uint16;case 32:return n?J.Int32:J.Uint32;case 64:return n?J.Int64:J.Uint64}return J.Int}case J.Float:switch(e.precision){case ZE.HALF:return J.Float16;case ZE.SINGLE:return J.Float32;case ZE.DOUBLE:return J.Float64}return J.Float;case J.Binary:return J.Binary;case J.LargeBinary:return J.LargeBinary;case J.Utf8:return J.Utf8;case J.LargeUtf8:return J.LargeUtf8;case J.Bool:return J.Bool;case J.Decimal:return J.Decimal;case J.Time:switch(e.unit){case $E.SECOND:return J.TimeSecond;case $E.MILLISECOND:return J.TimeMillisecond;case $E.MICROSECOND:return J.TimeMicrosecond;case $E.NANOSECOND:return J.TimeNanosecond}return J.Time;case J.Timestamp:switch(e.unit){case $E.SECOND:return J.TimestampSecond;case $E.MILLISECOND:return J.TimestampMillisecond;case $E.MICROSECOND:return J.TimestampMicrosecond;case $E.NANOSECOND:return J.TimestampNanosecond}return J.Timestamp;case J.Date:switch(e.unit){case QE.DAY:return J.DateDay;case QE.MILLISECOND:return J.DateMillisecond}return J.Date;case J.Interval:switch(e.unit){case eD.DAY_TIME:return J.IntervalDayTime;case eD.YEAR_MONTH:return J.IntervalYearMonth;case eD.MONTH_DAY_NANO:return J.IntervalMonthDayNano}return J.Interval;case J.Duration:switch(e.unit){case $E.SECOND:return J.DurationSecond;case $E.MILLISECOND:return J.DurationMillisecond;case $E.MICROSECOND:return J.DurationMicrosecond;case $E.NANOSECOND:return J.DurationNanosecond}return J.Duration;case J.Map:return J.Map;case J.List:return J.List;case J.Struct:return J.Struct;case J.Union:switch(e.mode){case XE.Dense:return J.DenseUnion;case XE.Sparse:return J.SparseUnion}return J.Union;case J.FixedSizeBinary:return J.FixedSizeBinary;case J.FixedSizeList:return J.FixedSizeList;case J.Dictionary:return J.Dictionary}throw Error(`Unrecognized type '${J[e.typeId]}'`)}CO.prototype.visitInt8=null,CO.prototype.visitInt16=null,CO.prototype.visitInt32=null,CO.prototype.visitInt64=null,CO.prototype.visitUint8=null,CO.prototype.visitUint16=null,CO.prototype.visitUint32=null,CO.prototype.visitUint64=null,CO.prototype.visitFloat16=null,CO.prototype.visitFloat32=null,CO.prototype.visitFloat64=null,CO.prototype.visitDateDay=null,CO.prototype.visitDateMillisecond=null,CO.prototype.visitTimestampSecond=null,CO.prototype.visitTimestampMillisecond=null,CO.prototype.visitTimestampMicrosecond=null,CO.prototype.visitTimestampNanosecond=null,CO.prototype.visitTimeSecond=null,CO.prototype.visitTimeMillisecond=null,CO.prototype.visitTimeMicrosecond=null,CO.prototype.visitTimeNanosecond=null,CO.prototype.visitDenseUnion=null,CO.prototype.visitSparseUnion=null,CO.prototype.visitIntervalDayTime=null,CO.prototype.visitIntervalYearMonth=null,CO.prototype.visitIntervalMonthDayNano=null,CO.prototype.visitDuration=null,CO.prototype.visitDurationSecond=null,CO.prototype.visitDurationMillisecond=null,CO.prototype.visitDurationMicrosecond=null,CO.prototype.visitDurationNanosecond=null;var DO={};An(DO,{float64ToUint16:()=>jO,uint16ToFloat64:()=>AO});const OO=new Float64Array(1),kO=new Uint32Array(OO.buffer);function AO(e){let t=(e&31744)>>10,n=(e&1023)/1024,r=(-1)**((e&32768)>>15);switch(t){case 31:return r*(n?NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*2**(t-15)*(1+n)}function jO(e){if(e!==e)return 32256;OO[0]=e;let t=(kO[1]&2147483648)>>16&65535,n=kO[1]&2146435072,r=0;return n>=1089470464?kO[0]>0?n=31744:(n=(n&2080374784)>>16,r=(kO[1]&1048575)>>10):n<=1056964608?(r=1048576+(kO[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(kO[1]&1048575)+512>>10),t|n|r&65535}var MO=class extends CO{};function NO(e){return(t,n,r)=>{if(t.setValid(n,r!=null))return e(t,n,r)}}const PO=(e,t,n)=>{e[t]=Math.floor(n/864e5)},FO=(e,t,n,r)=>{if(n+1{let i=e+n;r?t[i>>3]|=1<>3]&=~(1<{e[t]=n},RO=({values:e},t,n)=>{e[t]=n},zO=({values:e},t,n)=>{e[t]=jO(n)},BO=(e,t,n)=>{switch(e.type.precision){case ZE.HALF:return zO(e,t,n);case ZE.SINGLE:case ZE.DOUBLE:return RO(e,t,n)}},VO=({values:e},t,n)=>{PO(e,t,n.valueOf())},HO=({values:e},t,n)=>{e[t]=BigInt(n)},UO=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},WO=({values:e,valueOffsets:t},n,r)=>FO(e,t,n,r),GO=({values:e,valueOffsets:t},n,r)=>FO(e,t,n,nE(r)),KO=(e,t,n)=>{e.type.unit===QE.DAY?VO(e,t,n):HO(e,t,n)},qO=({values:e},t,n)=>{e[t]=BigInt(n/1e3)},JO=({values:e},t,n)=>{e[t]=BigInt(n)},YO=({values:e},t,n)=>{e[t]=BigInt(n*1e3)},XO=({values:e},t,n)=>{e[t]=BigInt(n*1e6)},ZO=(e,t,n)=>{switch(e.type.unit){case $E.SECOND:return qO(e,t,n);case $E.MILLISECOND:return JO(e,t,n);case $E.MICROSECOND:return YO(e,t,n);case $E.NANOSECOND:return XO(e,t,n)}},QO=({values:e},t,n)=>{e[t]=n},$O=({values:e},t,n)=>{e[t]=n},ek=({values:e},t,n)=>{e[t]=n},tk=({values:e},t,n)=>{e[t]=n},nk=(e,t,n)=>{switch(e.type.unit){case $E.SECOND:return QO(e,t,n);case $E.MILLISECOND:return $O(e,t,n);case $E.MICROSECOND:return ek(e,t,n);case $E.NANOSECOND:return tk(e,t,n)}},rk=({values:e,stride:t},n,r)=>{e.set(r.subarray(0,t),t*n)},ik=(e,t,n)=>{let r=e.children[0],i=e.valueOffsets,a=Tk.getVisitFn(r);if(Array.isArray(n))for(let e=-1,o=i[t],s=i[t+1];o{let r=e.children[0],{valueOffsets:i}=e,a=Tk.getVisitFn(r),{[t]:o,[t+1]:s}=i,c=n instanceof Map?n.entries():Object.entries(n);for(let e of c)if(a(r,o,e),++o>=s)break},ok=(e,t)=>(n,r,i,a)=>r&&n(r,e,t[a]),sk=(e,t)=>(n,r,i,a)=>r&&n(r,e,t.get(a)),ck=(e,t)=>(n,r,i,a)=>r&&n(r,e,t.get(i.name)),lk=(e,t)=>(n,r,i,a)=>r&&n(r,e,t[i.name]),uk=(e,t,n)=>{let r=e.type.children.map(e=>Tk.getVisitFn(e.type)),i=n instanceof Map?ck(t,n):n instanceof Oj?sk(t,n):Array.isArray(n)?ok(t,n):lk(t,n);e.type.children.forEach((t,n)=>i(r[n],e.children[n],t,n))},dk=(e,t,n)=>{e.type.mode===XE.Dense?fk(e,t,n):pk(e,t,n)},fk=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Tk.visit(i,e.valueOffsets[t],n)},pk=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Tk.visit(i,t,n)},mk=(e,t,n)=>{var r;(r=e.dictionary)==null||r.set(e.values[t],n)},hk=(e,t,n)=>{switch(e.type.unit){case eD.YEAR_MONTH:return _k(e,t,n);case eD.DAY_TIME:return gk(e,t,n);case eD.MONTH_DAY_NANO:return vk(e,t,n)}},gk=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},_k=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},vk=({values:e,stride:t},n,r)=>{e.set(r.subarray(0,t),t*n)},yk=({values:e},t,n)=>{e[t]=n},bk=({values:e},t,n)=>{e[t]=n},xk=({values:e},t,n)=>{e[t]=n},Sk=({values:e},t,n)=>{e[t]=n},Ck=(e,t,n)=>{switch(e.type.unit){case $E.SECOND:return yk(e,t,n);case $E.MILLISECOND:return bk(e,t,n);case $E.MICROSECOND:return xk(e,t,n);case $E.NANOSECOND:return Sk(e,t,n)}},wk=(e,t,n)=>{let{stride:r}=e,i=e.children[0],a=Tk.getVisitFn(i);if(Array.isArray(n))for(let e=-1,o=t*r;++e`${iD(e)}: ${iD(t)}`).join(`, `)}}`}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.toString()}[Symbol.iterator](){return new kk(this[Ek],this[Dk])}},kk=class{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return ee.name)}has(e,t){return e[Ek].type.children.some(e=>e.name===t)}getOwnPropertyDescriptor(e,t){if(e[Ek].type.children.some(e=>e.name===t))return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];let n=e[Ek].type.children.findIndex(e=>e.name===t);if(n!==-1){let r=CA.visit(e[Ek].children[n],e[Dk]);return Reflect.set(e,t,r),r}}set(e,t,n){let r=e[Ek].type.children.findIndex(e=>e.name===t);return r===-1?Reflect.has(e,t)||typeof t==`symbol`?Reflect.set(e,t,n):!1:(Tk.visit(e[Ek].children[r],e[Dk],n),Reflect.set(e,t,n))}};const jk=new Ak;var Mk=class extends CO{};function Nk(e){return(t,n)=>t.getValid(n)?e(t,n):null}const Pk=(e,t)=>864e5*e[t],Fk=(e,t)=>null,Ik=(e,t,n)=>{if(n+1>=t.length)return null;let r=aD(t[n]),i=aD(t[n+1]);return e.subarray(r,i)},Lk=({offset:e,values:t},n)=>{let r=e+n,i=t[r>>3];return(i&1<Pk(e,t),zk=({values:e},t)=>aD(e[t]),Bk=({stride:e,values:t},n)=>t[e*n],Vk=({stride:e,values:t},n)=>AO(t[e*n]),Hk=({values:e},t)=>e[t],Uk=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),Wk=({values:e,valueOffsets:t},n)=>Ik(e,t,n),Gk=({values:e,valueOffsets:t},n)=>{let r=Ik(e,t,n);return r===null?null:eE(r)},Kk=({values:e},t)=>e[t],qk=({type:e,values:t},n)=>e.precision===ZE.HALF?AO(t[n]):t[n],Jk=(e,t)=>e.type.unit===QE.DAY?Rk(e,t):zk(e,t),Yk=({values:e},t)=>1e3*aD(e[t]),Xk=({values:e},t)=>aD(e[t]),Zk=({values:e},t)=>oD(e[t],BigInt(1e3)),Qk=({values:e},t)=>oD(e[t],BigInt(1e6)),$k=(e,t)=>{switch(e.type.unit){case $E.SECOND:return Yk(e,t);case $E.MILLISECOND:return Xk(e,t);case $E.MICROSECOND:return Zk(e,t);case $E.NANOSECOND:return Qk(e,t)}},eA=({values:e},t)=>e[t],tA=({values:e},t)=>e[t],nA=({values:e},t)=>e[t],rA=({values:e},t)=>e[t],iA=(e,t)=>{switch(e.type.unit){case $E.SECOND:return eA(e,t);case $E.MILLISECOND:return tA(e,t);case $E.MICROSECOND:return nA(e,t);case $E.NANOSECOND:return rA(e,t)}},aA=({values:e,stride:t},n)=>yD.decimal(e.subarray(t*n,t*(n+1))),oA=(e,t)=>{let{valueOffsets:n,stride:r,children:i}=e,{[t*r]:a,[t*r+1]:o}=n,s=i[0],c=s.slice(a,o-a);return new Oj([c])},sA=(e,t)=>{let{valueOffsets:n,children:r}=e,{[t]:i,[t+1]:a}=n,o=r[0];return new OA(o.slice(i,a-i))},cA=(e,t)=>new Ok(e,t),lA=(e,t)=>e.type.mode===XE.Dense?uA(e,t):dA(e,t),uA=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return CA.visit(r,e.valueOffsets[t])},dA=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return CA.visit(r,t)},fA=(e,t)=>{var n;return(n=e.dictionary)?.get(e.values[t])},pA=(e,t)=>e.type.unit===eD.MONTH_DAY_NANO?gA(e,t):e.type.unit===eD.DAY_TIME?mA(e,t):hA(e,t),mA=({values:e},t)=>e.subarray(2*t,2*(t+1)),hA=({values:e},t)=>{let n=e[t],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},gA=({values:e},t)=>e.subarray(4*t,4*(t+1)),_A=({values:e},t)=>e[t],vA=({values:e},t)=>e[t],yA=({values:e},t)=>e[t],bA=({values:e},t)=>e[t],xA=(e,t)=>{switch(e.type.unit){case $E.SECOND:return _A(e,t);case $E.MILLISECOND:return vA(e,t);case $E.MICROSECOND:return yA(e,t);case $E.NANOSECOND:return bA(e,t)}},SA=(e,t)=>{let{stride:n,children:r}=e,i=r[0],a=i.slice(t*n,n);return new Oj([a])};Mk.prototype.visitNull=Nk(Fk),Mk.prototype.visitBool=Nk(Lk),Mk.prototype.visitInt=Nk(Kk),Mk.prototype.visitInt8=Nk(Bk),Mk.prototype.visitInt16=Nk(Bk),Mk.prototype.visitInt32=Nk(Bk),Mk.prototype.visitInt64=Nk(Hk),Mk.prototype.visitUint8=Nk(Bk),Mk.prototype.visitUint16=Nk(Bk),Mk.prototype.visitUint32=Nk(Bk),Mk.prototype.visitUint64=Nk(Hk),Mk.prototype.visitFloat=Nk(qk),Mk.prototype.visitFloat16=Nk(Vk),Mk.prototype.visitFloat32=Nk(Bk),Mk.prototype.visitFloat64=Nk(Bk),Mk.prototype.visitUtf8=Nk(Gk),Mk.prototype.visitLargeUtf8=Nk(Gk),Mk.prototype.visitBinary=Nk(Wk),Mk.prototype.visitLargeBinary=Nk(Wk),Mk.prototype.visitFixedSizeBinary=Nk(Uk),Mk.prototype.visitDate=Nk(Jk),Mk.prototype.visitDateDay=Nk(Rk),Mk.prototype.visitDateMillisecond=Nk(zk),Mk.prototype.visitTimestamp=Nk($k),Mk.prototype.visitTimestampSecond=Nk(Yk),Mk.prototype.visitTimestampMillisecond=Nk(Xk),Mk.prototype.visitTimestampMicrosecond=Nk(Zk),Mk.prototype.visitTimestampNanosecond=Nk(Qk),Mk.prototype.visitTime=Nk(iA),Mk.prototype.visitTimeSecond=Nk(eA),Mk.prototype.visitTimeMillisecond=Nk(tA),Mk.prototype.visitTimeMicrosecond=Nk(nA),Mk.prototype.visitTimeNanosecond=Nk(rA),Mk.prototype.visitDecimal=Nk(aA),Mk.prototype.visitList=Nk(oA),Mk.prototype.visitStruct=Nk(cA),Mk.prototype.visitUnion=Nk(lA),Mk.prototype.visitDenseUnion=Nk(uA),Mk.prototype.visitSparseUnion=Nk(dA),Mk.prototype.visitDictionary=Nk(fA),Mk.prototype.visitInterval=Nk(pA),Mk.prototype.visitIntervalDayTime=Nk(mA),Mk.prototype.visitIntervalYearMonth=Nk(hA),Mk.prototype.visitIntervalMonthDayNano=Nk(gA),Mk.prototype.visitDuration=Nk(xA),Mk.prototype.visitDurationSecond=Nk(_A),Mk.prototype.visitDurationMillisecond=Nk(vA),Mk.prototype.visitDurationMicrosecond=Nk(yA),Mk.prototype.visitDurationNanosecond=Nk(bA),Mk.prototype.visitFixedSizeList=Nk(SA),Mk.prototype.visitMap=Nk(sA);const CA=new Mk,wA=Symbol.for(`keys`),TA=Symbol.for(`vals`),EA=Symbol.for(`kKeysAsStrings`),DA=Symbol.for(`_kKeysAsStrings`);var OA=class{constructor(e){return this[wA]=new Oj([e.children[0]]).memoize(),this[TA]=e.children[1],new Proxy(this,new AA)}get[EA](){return this[DA]||(this[DA]=Array.from(this[wA].toArray(),String))}[Symbol.iterator](){return new kA(this[wA],this[TA])}get size(){return this[wA].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[wA],t=this[TA],n={};for(let r=-1,i=e.length;++r`${iD(e)}: ${iD(t)}`).join(`, `)}}`}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.toString()}},kA=class{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),CA.visit(this.vals,e)]})}},AA=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[EA]}has(e,t){return e[EA].includes(t)}getOwnPropertyDescriptor(e,t){let n=e[EA].indexOf(t);if(n!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];let n=e[EA].indexOf(t);if(n!==-1){let r=CA.visit(Reflect.get(e,TA),n);return Reflect.set(e,t,r),r}}set(e,t,n){let r=e[EA].indexOf(t);return r===-1?Reflect.has(e,t)?Reflect.set(e,t,n):!1:(Tk.visit(Reflect.get(e,TA),r,n),Reflect.set(e,t,n))}};Object.defineProperties(OA.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:`Row`},[wA]:{writable:!0,enumerable:!1,configurable:!1,value:null},[TA]:{writable:!0,enumerable:!1,configurable:!1,value:null},[DA]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var jA={};An(jA,{clampRange:()=>NA,createElementComparator:()=>IA,wrapIndex:()=>PA});let MA;function NA(e,t,n,r){let{length:i=0}=e,a=typeof t==`number`?t:0,o=typeof n==`number`?n:i;return a<0&&(a=(a%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(e,a,o):[a,o]}const PA=(e,t)=>e<0?t+e:e,FA=e=>e!==e;function IA(e){let t=typeof e;if(t!==`object`||e===null)return FA(e)?FA:t=>t===e;if(e instanceof Date){let t=e.valueOf();return e=>e instanceof Date?e.valueOf()===t:!1}return ArrayBuffer.isView(e)?t=>t?YE(e,t):!1:e instanceof Map?RA(e):Array.isArray(e)?LA(e):e instanceof Oj?zA(e):BA(e,!0)}function LA(e){let t=[];for(let n=-1,r=e.length;++n!1;let r=[];for(let t=-1,i=n.length;++t{if(!n||typeof n!=`object`)return!1;switch(n.constructor){case Array:return HA(e,n);case Map:return WA(e,n,n.keys());case OA:case Ok:case Object:case void 0:return WA(e,n,t||Object.keys(n))}return n instanceof Oj?UA(e,n):!1}}function HA(e,t){let n=e.length;if(t.length!==n)return!1;for(let r=-1;++rZA,getBit:()=>qA,getBool:()=>KA,packBools:()=>XA,popcnt_array:()=>$A,popcnt_bit_range:()=>QA,popcnt_uint32:()=>ej,setBool:()=>JA,truncateBitmap:()=>YA});function KA(e,t,n,r){return(n&1<>r}function JA(e,t,n){return n?!!(e[t>>3]|=1<>3]&=~(1<0||n.byteLength>3):XA(new ZA(n,e,t,null,KA)).subarray(0,r)),i}return n}function XA(e){let t=[],n=0,r=0,i=0;for(let a of e)a&&(i|=1<0)&&(t[n++]=i);let a=new Uint8Array(t.length+7&-8);return a.set(t),a}var ZA=class{constructor(e,t,n,r,i){this.bytes=e,this.length=n,this.context=r,this.get=i,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=t+(t%8==0?0:8-t%8);return QA(e,t,i)+QA(e,r,n)+$A(e,i>>3,r-i>>3)}function $A(e,t,n){let r=0,i=Math.trunc(t),a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=n===void 0?e.byteLength:i+n;for(;o-i>=4;)r+=ej(a.getUint32(i)),i+=4;for(;o-i>=2;)r+=ej(a.getUint16(i)),i+=2;for(;o-i>=1;)r+=ej(a.getUint8(i)),i+=1;return r}function ej(e){let t=Math.trunc(e);return t-=t>>>1&1431655765,t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}const tj=-1;var nj=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return HD.isSparseUnion(e)||HD.isDenseUnion(e)?this.children.some(e=>e.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:t,values:n,nullBitmap:r,typeIds:i}=this;return t&&(e+=t.byteLength),n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),this.children.reduce((e,t)=>e+t.byteLength,e)}get nullCount(){if(HD.isUnion(this.type))return this.children.reduce((e,t)=>e+t.nullCount,0);let e=this._nullCount,t;return e<=tj&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-QA(t,this.offset,this.offset+this.length)),e}constructor(t,n,r,i,a,o=[],s){this.type=t,this.children=o,this.dictionary=s,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let c;a instanceof e?(this.stride=a.stride,this.values=a.values,this.typeIds=a.typeIds,this.nullBitmap=a.nullBitmap,this.valueOffsets=a.valueOffsets):(this.stride=SO(t),a&&((c=a[0])&&(this.valueOffsets=c),(c=a[1])&&(this.values=c),(c=a[2])&&(this.nullBitmap=c),(c=a[3])&&(this.typeIds=c)))}getValid(e){let{type:t}=this;if(HD.isUnion(t)){let n=t,r=this.children[n.typeIdToChildIndex[this.typeIds[e]]],i=n.mode===XE.Dense?this.valueOffsets[e]:e;return r.getValid(i)}if(this.nullable&&this.nullCount>0){let t=this.offset+e,n=this.nullBitmap[t>>3];return(n&1<>3;(!r||r.byteLength<=c)&&(r=new Uint8Array((i+a+63&-64)>>3).fill(255),this.nullCount>0?(r.set(YA(i,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:r})):Object.assign(this,{nullBitmap:r,_nullCount:0}));let l=r[c];n=(l&s)!==0,r[c]=t?l|s:l&~s}return n!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(t=this.type,n=this.offset,r=this.length,i=this._nullCount,a=this,o=this.children){return new e(t,n,r,i,a,o,this.dictionary)}slice(e,t){let{stride:n,typeId:r,children:i}=this,a=(this._nullCount===0)-1,o=r===16?n:1,s=this._sliceBuffers(e,t,n,r);return this.clone(this.type,this.offset+e,t,a,s,i.length===0||this.valueOffsets?i:this._sliceChildren(i,o*e,o*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===J.Null)return this.clone(this.type,0,e,0);let{length:t,nullCount:n}=this,r=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);r[t>>3]=(1<0&&r.set(YA(this.offset,t,this.nullBitmap),0);let i=this.buffers;return i[tD.VALIDITY]=r,this.clone(this.type,0,e,n+(e-t),i)}_sliceBuffers(e,t,n,r){let i,{buffers:a}=this;return(i=a[tD.TYPE])&&(a[tD.TYPE]=i.subarray(e,e+t)),(i=a[tD.OFFSET])&&(a[tD.OFFSET]=i.subarray(e,e+t+1))||(i=a[tD.DATA])&&(a[tD.DATA]=r===6?i:i.subarray(n*e,n*(e+t))),a}_sliceChildren(e,t,n){return e.map(e=>e.slice(t,n))}};nj.prototype.children=Object.freeze([]);var rj=class e extends CO{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{type:t,offset:n=0,length:r=0}=e;return new nj(t,n,r,r)}visitBool(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length>>3,nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitInt(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length,nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitFloat(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length,nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitUtf8(e){let{type:t,offset:n=0}=e,r=bE(e.data),i=bE(e.nullBitmap),a=vE(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new nj(t,n,o,s,[a,r,i])}visitLargeUtf8(e){let{type:t,offset:n=0}=e,r=bE(e.data),i=bE(e.nullBitmap),a=yE(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new nj(t,n,o,s,[a,r,i])}visitBinary(e){let{type:t,offset:n=0}=e,r=bE(e.data),i=bE(e.nullBitmap),a=vE(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new nj(t,n,o,s,[a,r,i])}visitLargeBinary(e){let{type:t,offset:n=0}=e,r=bE(e.data),i=bE(e.nullBitmap),a=yE(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new nj(t,n,o,s,[a,r,i])}visitFixedSizeBinary(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length/SO(t),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitDate(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length/SO(t),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitTimestamp(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length/SO(t),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitTime(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length/SO(t),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitDecimal(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length/SO(t),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitList(e){let{type:t,offset:n=0,child:r}=e,i=bE(e.nullBitmap),a=vE(e.valueOffsets),{length:o=a.length-1,nullCount:s=e.nullBitmap?-1:0}=e;return new nj(t,n,o,s,[a,void 0,i],[r])}visitStruct(e){let{type:t,offset:n=0,children:r=[]}=e,i=bE(e.nullBitmap),{length:a=r.reduce((e,{length:t})=>Math.max(e,t),0),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,void 0,i],r)}visitUnion(e){let{type:t,offset:n=0,children:r=[]}=e,i=hE(t.ArrayType,e.typeIds),{length:a=i.length,nullCount:o=-1}=e;if(HD.isSparseUnion(t))return new nj(t,n,a,o,[void 0,void 0,void 0,i],r);let s=vE(e.valueOffsets);return new nj(t,n,a,o,[s,void 0,void 0,i],r)}visitDictionary(t){let{type:n,offset:r=0}=t,i=bE(t.nullBitmap),a=hE(n.indices.ArrayType,t.data),{dictionary:o=new Oj([new e().visit({type:n.dictionary})])}=t,{length:s=a.length,nullCount:c=t.nullBitmap?-1:0}=t;return new nj(n,r,s,c,[void 0,a,i],[],o)}visitInterval(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length/SO(t),nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitDuration(e){let{type:t,offset:n=0}=e,r=bE(e.nullBitmap),i=hE(t.ArrayType,e.data),{length:a=i.length,nullCount:o=e.nullBitmap?-1:0}=e;return new nj(t,n,a,o,[void 0,i,r])}visitFixedSizeList(t){let{type:n,offset:r=0,child:i=new e().visit({type:n.valueType})}=t,a=bE(t.nullBitmap),{length:o=i.length/SO(n),nullCount:s=t.nullBitmap?-1:0}=t;return new nj(n,r,o,s,[void 0,void 0,a],[i])}visitMap(t){let{type:n,offset:r=0,child:i=new e().visit({type:n.childType})}=t,a=bE(t.nullBitmap),o=vE(t.valueOffsets),{length:s=o.length-1,nullCount:c=t.nullBitmap?-1:0}=t;return new nj(n,r,s,c,[o,void 0,a],[i])}};const ij=new rj;var aj=class{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function sj(e){return e.reduce((e,t)=>e+t.nullCount,0)}function cj(e){return e.reduce((e,t,n)=>(e[n+1]=e[n]+t.length,e),new Uint32Array(e.length+1))}function lj(e,t,n,r){let i=[];for(let a=-1,o=e.length;++a=r)break;if(n>=s+c)continue;if(s>=n&&s+c<=r){i.push(o);continue}let l=Math.max(0,n-s),u=Math.min(r-s,c);i.push(o.slice(l,u-l))}return i.length===0&&i.push(e[0].slice(0,0)),i}function uj(e,t,n,r){let i=0,a=0,o=t.length-1;do{if(i>=o-1)return n0?0:-1}function _j(e,t){let{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(let i of new ZA(n,e.offset+(t||0),e.length,n,KA)){if(!i)return r;++r}return-1}function vj(e,t,n){if(t===void 0)return-1;if(t===null)switch(e.typeId){case J.Union:break;case J.Dictionary:break;default:return _j(e,n)}let r=CA.getVisitFn(e),i=IA(t);for(let t=(n||0)-1,a=e.length;++t{let n=e.data[t];return n.values.subarray(0,n.length)[Symbol.iterator]()});let n=0;return new aj(e.data.length,t=>{let r=e.data[t],i=r.length,a=e.slice(n,n+i);return n+=i,new Cj(a)})}var Cj=class{constructor(e){this.vector=e,this.index=0}next(){return this.indexe.data):t;if(a.length===0||a.some(e=>!(e instanceof nj)))throw TypeError(`Vector constructor expects an Array of Data instances.`);let o=(n=a[0])?.type;switch(a.length){case 0:this._offsets=[0];break;case 1:{let{get:e,set:t,indexOf:n}=Ej[o.typeId],r=a[0];this.isValid=e=>dj(r,e),this.get=t=>e(r,t),this.set=(e,n)=>t(r,e,n),this.indexOf=e=>n(r,e),this._offsets=[0,r.length];break}default:Object.setPrototypeOf(this,Dj[o.typeId]),this._offsets=cj(a);break}this.data=a,this.type=o,this.stride=SO(o),this.numChildren=(i=(r=o.children)?.length)??0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return oj(this.data)}get nullCount(){return sj(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${J[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(PA(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return wj.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(e=>e.data).flat(1/0)))}slice(t,n){return new e(NA(this,t,n,({data:e,_offsets:t},n,r)=>lj(e,t,n,r)))}toJSON(){return[...this]}toArray(){let{type:e,data:t,length:n,stride:r,ArrayType:i}=this;switch(e.typeId){case J.Int:case J.Float:case J.Decimal:case J.Time:case J.Timestamp:switch(t.length){case 0:return new i;case 1:return t[0].values.subarray(0,n*r);default:return t.reduce((e,{values:t,length:n})=>(e.array.set(t.subarray(0,n*r),e.offset),e.offset+=n*r,e),{array:new i(n*r),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(`,`)}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)?.findIndex(t=>t.name===e))}getChildAt(t){return t>-1&&te[t])):null}get isMemoized(){return HD.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(HD.isDictionary(this.type)){let t=new kj(this.data[0].dictionary),n=this.data.map(e=>{let n=e.clone();return n.dictionary=t,n});return new e(n)}return new kj(this)}unmemoize(){if(HD.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),n=this.data.map(e=>{let n=e.clone();return n.dictionary=t,n});return new e(n)}return this}};Tj=Symbol.toStringTag,Oj[Tj]=(e=>{e.type=HD.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(J).map(e=>J[e]).filter(e=>typeof e==`number`&&e!==J.NONE);for(let n of t){let t=CA.getVisitFnByTypeId(n),r=Tk.getVisitFnByTypeId(n),i=bj.getVisitFnByTypeId(n);Ej[n]={get:t,set:r,indexOf:i},Dj[n]=Object.create(e,{isValid:{value:fj(dj)},get:{value:fj(CA.getVisitFnByTypeId(n))},set:{value:pj(Tk.getVisitFnByTypeId(n))},indexOf:{value:mj(bj.getVisitFnByTypeId(n))}})}return`Vector`})(Oj.prototype);var kj=class e extends Oj{constructor(t){super(t.data);let n=this.get,r=this.set,i=this.slice,a=Array(this.length);Object.defineProperty(this,`get`,{value(e){let t=a[e];if(t!==void 0)return t;let r=n.call(this,e);return a[e]=r,r}}),Object.defineProperty(this,`set`,{value(e,t){r.call(this,e,t),a[e]=t}}),Object.defineProperty(this,`slice`,{value:(t,n)=>new e(i.call(this,t,n))}),Object.defineProperty(this,`isMemoized`,{value:!0}),Object.defineProperty(this,`unmemoize`,{value:()=>new Oj(this.data)}),Object.defineProperty(this,`memoize`,{value:()=>this})}},Aj={};An(Aj,{BaseInt64:()=>Fj,Int128:()=>Rj,Int64:()=>Lj,Uint64:()=>Ij});const jj=65536;function Mj(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}const Nj=8,Pj=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8];var Fj=class{constructor(e){this.buffer=e}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(e){let t=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),n=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),r=t[3]*n[3];this.buffer[0]=r&65535;let i=r>>>16;return r=t[2]*n[3],i+=r,r=t[3]*n[2]>>>0,i+=r,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0>>16,this.buffer[1]+=t[1]*n[3]+t[2]*n[2]+t[3]*n[1],this.buffer[1]+=t[0]*n[3]+t[1]*n[2]+t[2]*n[1]+t[3]*n[0]<<16,this}_plus(e){let t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${Mj(this.buffer[3])} ${Mj(this.buffer[2])} ${Mj(this.buffer[1])} ${Mj(this.buffer[0])}`}static multiply(t,n){let r=new e(new Uint32Array(t.buffer));return r.times(n)}static add(t,n){let r=new e(new Uint32Array(t.buffer));return r.plus(n)}static from(t,n=new Uint32Array(4)){return e.fromString(typeof t==`string`?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){let r=t.startsWith(`-`),i=t.length,a=new e(n);for(let n=r?1:0;nBj,toIntervalDayTimeObjects:()=>Hj,toIntervalMonthDayNanoInt32Array:()=>Vj,toIntervalMonthDayNanoObjects:()=>Uj});function Bj(e){var t,n;let r=e.length,i=new Int32Array(r*2);for(let a=0,o=0;a>BigInt(32))):o+=2}return i}function Hj(e){let t=e.length,n=Array(t/2);for(let r=0,i=0;r>>0);r[a++]={months:e[i],days:e[i+1],nanoseconds:t?`${n}`:n}}return r}var Wj=class extends CO{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>this.compareFields(e,t[n]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}};function Gj(e,t){return t instanceof e.constructor}function Kj(e,t){return e===t||Gj(e,t)}function qj(e,t){return e===t||Gj(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function Jj(e,t){return e===t||Gj(e,t)&&e.precision===t.precision}function Yj(e,t){return e===t||Gj(e,t)&&e.byteWidth===t.byteWidth}function Xj(e,t){return e===t||Gj(e,t)&&e.unit===t.unit}function Zj(e,t){return e===t||Gj(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function Qj(e,t){return e===t||Gj(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function $j(e,t){return e===t||Gj(e,t)&&e.children.length===t.children.length&&sM.compareManyFields(e.children,t.children)}function eM(e,t){return e===t||Gj(e,t)&&e.children.length===t.children.length&&sM.compareManyFields(e.children,t.children)}function tM(e,t){return e===t||Gj(e,t)&&e.mode===t.mode&&e.typeIds.every((e,n)=>e===t.typeIds[n])&&sM.compareManyFields(e.children,t.children)}function nM(e,t){return e===t||Gj(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&sM.visit(e.indices,t.indices)&&sM.visit(e.dictionary,t.dictionary)}function rM(e,t){return e===t||Gj(e,t)&&e.unit===t.unit}function iM(e,t){return e===t||Gj(e,t)&&e.unit===t.unit}function aM(e,t){return e===t||Gj(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&sM.compareManyFields(e.children,t.children)}function oM(e,t){return e===t||Gj(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&sM.compareManyFields(e.children,t.children)}Wj.prototype.visitNull=Kj,Wj.prototype.visitBool=Kj,Wj.prototype.visitInt=qj,Wj.prototype.visitInt8=qj,Wj.prototype.visitInt16=qj,Wj.prototype.visitInt32=qj,Wj.prototype.visitInt64=qj,Wj.prototype.visitUint8=qj,Wj.prototype.visitUint16=qj,Wj.prototype.visitUint32=qj,Wj.prototype.visitUint64=qj,Wj.prototype.visitFloat=Jj,Wj.prototype.visitFloat16=Jj,Wj.prototype.visitFloat32=Jj,Wj.prototype.visitFloat64=Jj,Wj.prototype.visitUtf8=Kj,Wj.prototype.visitLargeUtf8=Kj,Wj.prototype.visitBinary=Kj,Wj.prototype.visitLargeBinary=Kj,Wj.prototype.visitFixedSizeBinary=Yj,Wj.prototype.visitDate=Xj,Wj.prototype.visitDateDay=Xj,Wj.prototype.visitDateMillisecond=Xj,Wj.prototype.visitTimestamp=Zj,Wj.prototype.visitTimestampSecond=Zj,Wj.prototype.visitTimestampMillisecond=Zj,Wj.prototype.visitTimestampMicrosecond=Zj,Wj.prototype.visitTimestampNanosecond=Zj,Wj.prototype.visitTime=Qj,Wj.prototype.visitTimeSecond=Qj,Wj.prototype.visitTimeMillisecond=Qj,Wj.prototype.visitTimeMicrosecond=Qj,Wj.prototype.visitTimeNanosecond=Qj,Wj.prototype.visitDecimal=Kj,Wj.prototype.visitList=$j,Wj.prototype.visitStruct=eM,Wj.prototype.visitUnion=tM,Wj.prototype.visitDenseUnion=tM,Wj.prototype.visitSparseUnion=tM,Wj.prototype.visitDictionary=nM,Wj.prototype.visitInterval=rM,Wj.prototype.visitIntervalDayTime=rM,Wj.prototype.visitIntervalYearMonth=rM,Wj.prototype.visitIntervalMonthDayNano=rM,Wj.prototype.visitDuration=iM,Wj.prototype.visitDurationSecond=iM,Wj.prototype.visitDurationMillisecond=iM,Wj.prototype.visitDurationMicrosecond=iM,Wj.prototype.visitDurationNanosecond=iM,Wj.prototype.visitFixedSizeList=aM,Wj.prototype.visitMap=oM;const sM=new Wj;function cM(e,t){return sM.compareSchemas(e,t)}function lM(e,t){return sM.compareFields(e,t)}function uM(e,t){return sM.visit(e,t)}const dM=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},sD),Aj),GA),DO),uE),jA),nD),zj),{compareSchemas:cM,compareFields:lM,compareTypes:uM}),fM=365.2425,pM=10**8*24*60*60*1e3,mM=6048e5,hM=864e5,gM=3600,_M=gM*24,vM=_M*7,yM=_M*fM,bM=yM/12,xM=bM*3,SM=Symbol.for(`constructDateFrom`);function CM(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&SM in e?e[SM](t):e instanceof Date?new e.constructor(t):new Date(t)}function wM(e,t){return CM(t||e,e)}let TM={};function EM(){return TM}function DM(e,t){let n=EM(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=wM(e,t?.in),a=i.getDay(),o=(a=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function AM(e){let t=wM(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function jM(e,...t){let n=CM.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function MM(e,t){let n=wM(e,t?.in);return n.setHours(0,0,0,0),n}function NM(e,t,n){let[r,i]=jM(n?.in,e,t),a=MM(r),o=MM(i),s=+a-AM(a),c=+o-AM(o);return Math.round((s-c)/hM)}function PM(e,t){let n=kM(e,t),r=CM(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),OM(r)}function FM(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function IM(e){return!(!FM(e)&&typeof e!=`number`||isNaN(+wM(e)))}function LM(e,t){let n=wM(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const RM={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},zM=(e,t,n)=>{let r,i=RM[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function BM(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth,r=e.formats[n]||e.formats[e.defaultWidth];return r}}const VM={full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},HM={full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},UM={full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},WM={date:BM({formats:VM,defaultWidth:`full`}),time:BM({formats:HM,defaultWidth:`full`}),dateTime:BM({formats:UM,defaultWidth:`full`})},GM={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},KM=(e,t,n,r)=>GM[e];function qM(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}const JM={narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},YM={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},XM={narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},ZM={narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},QM={narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},$M={narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},eN=(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},tN={ordinalNumber:eN,era:qM({values:JM,defaultWidth:`wide`}),quarter:qM({values:YM,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:qM({values:XM,defaultWidth:`wide`}),day:qM({values:ZM,defaultWidth:`wide`}),dayPeriod:qM({values:QM,defaultWidth:`wide`,formattingValues:$M,defaultFormattingWidth:`wide`})};function nN(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?iN(s,e=>e.test(o)):rN(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function rN(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function iN(e,t){for(let n=0;n{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}const oN=/^(\d+)(th|st|nd|rd)?/i,sN=/\d+/i,cN={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},lN={any:[/^b/i,/^(a|c)/i]},uN={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},dN={any:[/1/i,/2/i,/3/i,/4/i]},fN={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},pN={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},mN={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},hN={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},gN={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},_N={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},vN={ordinalNumber:aN({matchPattern:oN,parsePattern:sN,valueCallback:e=>parseInt(e,10)}),era:nN({matchPatterns:cN,defaultMatchWidth:`wide`,parsePatterns:lN,defaultParseWidth:`any`}),quarter:nN({matchPatterns:uN,defaultMatchWidth:`wide`,parsePatterns:dN,defaultParseWidth:`any`,valueCallback:e=>e+1}),month:nN({matchPatterns:fN,defaultMatchWidth:`wide`,parsePatterns:pN,defaultParseWidth:`any`}),day:nN({matchPatterns:mN,defaultMatchWidth:`wide`,parsePatterns:hN,defaultParseWidth:`any`}),dayPeriod:nN({matchPatterns:gN,defaultMatchWidth:`any`,parsePatterns:_N,defaultParseWidth:`any`})},yN={code:`en-US`,formatDistance:zM,formatLong:WM,formatRelative:KM,localize:tN,match:vN,options:{weekStartsOn:0,firstWeekContainsDate:1}};function bN(e,t){let n=wM(e,t?.in),r=NM(n,LM(n)),i=r+1;return i}function xN(e,t){let n=wM(e,t?.in),r=OM(n)-+PM(n);return Math.round(r/mM)+1}function SN(e,t){let n=wM(e,t?.in),r=n.getFullYear(),i=EM(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=CM(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=DM(o,t),c=CM(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=DM(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function CN(e,t){let n=EM(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=SN(e,t),a=CM(t?.in||e,0);a.setFullYear(i,0,r),a.setHours(0,0,0,0);let o=DM(a,t);return o}function wN(e,t){let n=wM(e,t?.in),r=DM(n,t)-+CN(n,t);return Math.round(r/mM)+1}function TN(e,t){let n=e<0?`-`:``,r=Math.abs(e).toString().padStart(t,`0`);return n+r}const EN={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return TN(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):TN(n+1,2)},d(e,t){return TN(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];case`aaaa`:default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return TN(e.getHours()%12||12,t.length)},H(e,t){return TN(e.getHours(),t.length)},m(e,t){return TN(e.getMinutes(),t.length)},s(e,t){return TN(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*10**(n-3));return TN(i,t.length)}},DN={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},ON={G:function(e,t,n){let r=e.getFullYear()>0?1:0;switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});case`GGGG`:default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return EN.y(e,t)},Y:function(e,t,n,r){let i=SN(e,r),a=i>0?i:1-i;if(t===`YY`){let e=a%100;return TN(e,2)}return t===`Yo`?n.ordinalNumber(a,{unit:`year`}):TN(a,t.length)},R:function(e,t){let n=kM(e);return TN(n,t.length)},u:function(e,t){let n=e.getFullYear();return TN(n,t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return TN(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});case`QQQQ`:default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return TN(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});case`qqqq`:default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return EN.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});case`MMMM`:default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return TN(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});case`LLLL`:default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=wN(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):TN(i,t.length)},I:function(e,t,n){let r=xN(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):TN(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):EN.d(e,t)},D:function(e,t,n){let r=bN(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):TN(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});case`EEEE`:default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return TN(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});case`eeee`:default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return TN(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});case`cccc`:default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return TN(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});case`iiii`:default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours(),i=r/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`aaaa`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?DN.noon:r===0?DN.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`bbbb`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?DN.evening:r>=12?DN.afternoon:r>=4?DN.morning:DN.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`BBBB`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return EN.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):EN.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):TN(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):TN(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):EN.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):EN.s(e,t)},S:function(e,t){return EN.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return AN(r);case`XXXX`:case`XX`:return jN(r);case`XXXXX`:case`XXX`:default:return jN(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return AN(r);case`xxxx`:case`xx`:return jN(r);case`xxxxx`:case`xxx`:default:return jN(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+kN(r,`:`);case`OOOO`:default:return`GMT`+jN(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+kN(r,`:`);case`zzzz`:default:return`GMT`+jN(r,`:`)}},t:function(e,t,n){let r=Math.trunc(e/1e3);return TN(r,t.length)},T:function(e,t,n){return TN(+e,t.length)}};function kN(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+TN(a,2)}function AN(e,t){if(e%60==0){let t=e>0?`-`:`+`;return t+TN(Math.abs(e)/60,2)}return jN(e,t)}function jN(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=TN(Math.trunc(r/60),2),a=TN(r%60,2);return n+i+t+a}const MN=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});case`PPPP`:default:return t.date({width:`full`})}},NN=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});case`pppp`:default:return t.time({width:`full`})}},PN=(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return MN(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;case`PPPP`:default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,MN(r,t)).replace(`{{time}}`,NN(i,t))},FN={p:NN,P:PN},IN=/^D+$/,LN=/^Y+$/,RN=[`D`,`DD`,`YY`,`YYYY`];function zN(e){return IN.test(e)}function BN(e){return LN.test(e)}function VN(e,t,n){let r=HN(e,t,n);if(console.warn(r),RN.includes(e))throw RangeError(r)}function HN(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const UN=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,WN=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,GN=/^'([^]*?)'?$/,KN=/''/g,qN=/[a-zA-Z]/;function JN(e,t,n){let r=EM(),i=n?.locale??r.locale??yN,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=wM(e,n?.in);if(!IM(s))throw RangeError(`Invalid time value`);let c=t.match(WN).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=FN[t];return n(e,i.formatLong)}return e}).join(``).match(UN).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:YN(e)};if(ON[t])return{isToken:!0,value:e};if(t.match(qN))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&BN(a)||!n?.useAdditionalDayOfYearTokens&&zN(a))&&VN(a,t,String(e));let o=ON[a[0]];return o(s,a,i.localize,l)}).join(``)}function YN(e){let t=e.match(GN);return t?t[1].replace(KN,`'`):e}function XN(e,t){return wM(e*1e3,t?.in)}function ZN(e,t){let n=QN(t)?new t(0):CM(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function QN(e){return typeof e==`function`&&e.prototype?.constructor===e}function $N(e,t){if(t===void 0)return e.trimEnd();let n=e.length;switch(typeof t){case`string`:if(t.length!==1)throw Error(`The 'chars' parameter should be a single character string.`);for(;n>0&&e[n-1]===t;)n--;break;case`object`:for(;n>0&&t.includes(e[n-1]);)n--}return e.substring(0,n)}function eP(e){return e==null}function tP(e){return e!=null}async function nP(){if(typeof window<`u`&&window!==null)return`browser`;try{let e=await u(()=>import(`./__vite-browser-external-CiI-FJ3K.js`).then(jn(1)),__vite__mapDeps([0,1,2]));return e!==void 0&&e.versions!=null&&e.versions.node!=null?`node`:`unknown`}catch{return`unknown`}}function rP(e){return eP(e)?!1:HD.isInt(e.type)&&!lP(e)||iP(e)}function iP(e){return eP(e)?!1:HD.isInt(e.type)&&e.type.isSigned===!1}function aP(e){return eP(e)?!1:HD.isFloat(e.type)??!1}function oP(e){return eP(e)?!1:HD.isDecimal(e.type)}function sP(e){return eP(e)?!1:HD.isBool(e.type)}function cP(e){return eP(e)?!1:HD.isDuration(e.type)}function lP(e){return eP(e)?!1:HD.isInt(e.type)&&e.metadata.get(`ARROW:extension:name`)===`period`}function uP(e){return eP(e)?!1:HD.isTimestamp(e.type)}function dP(e){return eP(e)?!1:HD.isDate(e.type)}function fP(e){return eP(e)?!1:HD.isTime(e.type)}function pP(e){return eP(e)?!1:HD.isList(e.type)||HD.isFixedSizeList(e.type)}function mP(e){return eP(e)?!1:HD.isStruct(e.type)||HD.isMap(e.type)}function hP(e){return eP(e)?!1:HD.isStruct(e.type)&&e.metadata.get(`ARROW:extension:name`)===`interval`||HD.isInterval(e.type)}const gP=new Date(1970,0,1);function _P(e,t){let n;if(t===$E.MILLISECOND)n=1e3;else if(t===$E.MICROSECOND)n=1e3*1e3;else if(t===$E.NANOSECOND)n=1e3*1e3*1e3;else return Number(e);return typeof e==`bigint`&&!Number.isSafeInteger(Number(e))?Number(e/BigInt(n)):Number(e)/n}function vP(e,t){let n=_P(e,t?.type?.unit??$E.SECOND);return XN(n)}function yP(e,t){let n=vP(e,t);return JN(n,n.getMilliseconds()===0?`HH:mm:ss`:`HH:mm:ss.SSS`)}function bP(e){let t=`yyyy-MM-dd`;return e instanceof Date||typeof e==`number`&&Number.isFinite(e)?JN(e,t):(console.warn(`Unsupported date value: ${e}`),String(e))}function xP(e,t){if(!(e instanceof Date||typeof e==`number`&&Number.isFinite(e)))return console.warn(`Unsupported datetime value: ${e}`),null;let n,r=t?.type?.timezone;return n=r?new KT(e,r):new KT(e),ZN(n,Date)}function SP(e,t){let n=t?.type?.scale||0,r=dM.bigNumToString(new dM.BN(e)).padStart(n,`0`);if(n===0)return r;let i=``;r.startsWith(`-`)&&(i=`-`,r=r.slice(1));let a=r.slice(0,-n)||`0`,o=$N(r.slice(-n),`0`)||``;return`${i}${a}${o?`.${o}`:``}`}const CP=new Intl.NumberFormat(`en-US`,{style:`decimal`,maximumFractionDigits:4,minimumFractionDigits:4,useGrouping:!0});function wP(e){let t=e[0],n=e[1],r=[];return t!==0&&r.push(`${t} year${t>1?`s`:``}`),n!==0&&r.push(`${n} month${n>1?`s`:``}`),r.length?r.join(` `):`0 months`}function TP(e,t){if(HD.isInterval(t?.type))return wP(e);let n=t&&t.metadata.get(`ARROW:extension:name`);if(n&&n===`pandas.interval`){let n=JSON.parse(t.metadata.get(`ARROW:extension:metadata`)),{closed:r}=n,i=e.toJSON(),a=r===`both`||r===`left`?`[`:`(`,o=r===`both`||r===`right`?`]`:`)`,s=DP(i.left,t.type?.children?.[0]),c=DP(i.right,t.type?.children?.[1]);return`${a+s}, ${c+o}`}return String(e)}function EP(e,t){return t?.type instanceof hO?JSON.parse(JSON.stringify(e,(e,t)=>{if(tP(t))return typeof t==`bigint`?Number(t):t})):JSON.parse(JSON.stringify(e,(e,t)=>typeof t==`bigint`?Number(t):t))}function DP(e,t){if(eP(e))return null;let n=e instanceof Date||Number.isFinite(e);if(n&&dP(t))return bP(e);if(typeof e==`bigint`&&fP(t))return yP(Number(e),t);if(n&&uP(t))return xP(e,t);if(lP(t))throw Error(`Period type is not supported yet`);if(hP(t))return TP(e,t);if(cP(t))throw Error(`Duration type is not supported yet`);return oP(t)?SP(e,t):aP(t)&&Number.isFinite(e)||rP(t)?e:mP(t)||pP(t)?EP(e,t):sP(t)?!!e:String(e)}function OP(e){let t=(e.toArray()||[]).map(e=>e.toJSON())||[],n=t.map(t=>(e.schema.fields.forEach(e=>t[e.name]=DP(t[e.name],e)),t));return n}let kP=function(e){return e.ORIGIN_PRIVATE_FS=`origin-private-fs`,e.NODE_FS=`node-fs`,e}({});async function AP(e){let t=C(e,{logger:!1}),n,r,i=await nP();if(i===`browser`){if(t.bundles===void 0){let{getBundles:e}=await u(async()=>{let{getBundles:e}=await import(`./default-browser-CAeK6Ish.js`);return{getBundles:e}},[]);t.bundles=await e()}r=await RT(await t.bundles),n=new Worker(r.mainWorker)}else if(i===`node`){if(t.bundles===void 0){let{getBundles:e}=await u(async()=>{let{getBundles:e}=await import(`./default-node-BHjno-1G.js`);return{getBundles:e}},__vite__mapDeps([3,1,2]));t.bundles=await e()}r=await RT(await t.bundles);let e=r.mainWorker;e.startsWith(`/@fs/`)&&(e=e.replace(`/@fs/`,`file://`));let i=await u(()=>import(`./browser-BSMtDYed.js`),[]);n=new i.default(e,{type:`module`})}else throw Error(`Unsupported environment: ${i}`);let a;a=t.logger===!0?new nT:t.logger===!1?new tT:t.logger;let o=new pT(a,n);if(await o.instantiate(r.mainModule,r.pthreadWorker),t.storage)switch(t.storage.type){case kP.ORIGIN_PRIVATE_FS:try{let e=t.storage.path;e.startsWith(`/`)&&(e=e.slice(1)),await o.open({path:`opfs://${e}`,accessMode:t.storage.accessMode})}catch(e){throw await o.terminate(),await n.terminate(),e}break;case kP.NODE_FS:try{await o.open({path:t.storage.path,accessMode:t.storage.accessMode,useDirectIO:!0})}catch(e){throw await o.terminate(),await n.terminate(),e}break}let s=await o.connect();async function c(e,t=[]){if(!t||t.length===0){let t=await s.query(e);return{_results:t,_schema:t.schema,columns:t.schema.fields,rows:OP(t)}}let n=await s.prepare(e),r=await n.query(...t);return n.close(),{_results:r,_schema:r.schema,columns:r.schema.fields,rows:OP(r)}}return{worker:n,db:o,conn:s,query:async(e,t=[])=>c(e,t).then(e=>e.rows),queryWithColumns:async(e,t=[])=>c(e,t),close:async()=>{await s.close(),await o.terminate(),await n.terminate()}}}async function jP(e,t){await(await e).conn.send(`BEGIN TRANSACTION`);try{let n=await t(e);return await(await e).conn.send(`COMMIT`),n}catch(t){throw await(await e).conn.send(`ROLLBACK`),t}}async function MP(e,t,n){await(await e).conn.send(`SAVEPOINT ${t}`);try{let r=await n(e);return await(await e).conn.send(`RELEASE SAVEPOINT ${t}`),r}catch(n){throw await(await e).conn.send(`ROLLBACK TO SAVEPOINT ${t}`),n}}const Y=Symbol.for(`drizzle:entityKind`),NP=Symbol.for(`drizzle:hasOwnEntityKind`);function X(e,t){if(!e||typeof e!=`object`)return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,Y))throw Error(`Class "${t.name??``}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let n=Object.getPrototypeOf(e).constructor;if(n)for(;n;){if(Y in n&&n[Y]===t[Y])return!0;n=Object.getPrototypeOf(n)}return!1}var PP=class{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[Y]=`Column`;name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!==`byDefault`}},FP=class{static[Y]=`ColumnBuilder`;config;constructor(e,t,n){this.config={name:e,keyAsName:e===``,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===``&&(this.config.name=e)}};const IP=Symbol.for(`drizzle:Name`);var LP=class{static[Y]=`PgForeignKeyBuilder`;reference;_onUpdate=`no action`;_onDelete=`no action`;constructor(e,t){this.reference=()=>{let{name:t,columns:n,foreignColumns:r}=e();return{name:t,columns:n,foreignTable:r[0].table,foreignColumns:r}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=e===void 0?`no action`:e,this}onDelete(e){return this._onDelete=e===void 0?`no action`:e,this}build(e){return new RP(e,this)}},RP=class{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[Y]=`PgForeignKey`;reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map(e=>e.name),i=n.map(e=>e.name),a=[this.table[IP],...r,n[0].table[IP],...i];return e??`${a.join(`_`)}_fk`}};function zP(e,...t){return e(...t)}function BP(e,t){return`${e[IP]}_${t.join(`_`)}_unique`}var VP=class{constructor(e,t){this.name=t,this.columns=e}static[Y]=`PgUniqueConstraintBuilder`;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new UP(e,this.columns,this.nullsNotDistinctConfig,this.name)}},HP=class{static[Y]=`PgUniqueOnConstraintBuilder`;name;constructor(e){this.name=e}on(...e){return new VP(e,this.name)}},UP=class{constructor(e,t,n,r){this.table=e,this.columns=t,this.name=r??BP(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=n}static[Y]=`PgUniqueConstraint`;columns;name;nullsNotDistinct=!1;getName(){return this.name}};function WP(e,t,n){for(let r=t;rArray.isArray(e)?qP(e):typeof e==`string`?`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`:`${e}`).join(`,`)}}`}var JP=class extends FP{foreignKeyConfigs=[];static[Y]=`PgColumnBuilder`;array(e){return new QP(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:`always`,mode:`stored`},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>zP((n,r)=>{let i=new LP(()=>{let t=n();return{columns:[e],foreignColumns:[t]}});return r.onUpdate&&i.onUpdate(r.onUpdate),r.onDelete&&i.onDelete(r.onDelete),i.build(t)},n,r))}buildExtraConfigColumn(e){return new XP(e,this.config)}},YP=class extends PP{constructor(e,t){t.uniqueName||=BP(e,[t.name]),super(e,t),this.table=e}static[Y]=`PgColumn`},XP=class extends YP{static[Y]=`ExtraConfigColumn`;getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??`asc`,nulls:this.config.nulls??`last`,opClass:this.config.opClass};defaultConfig={order:`asc`,nulls:`last`,opClass:void 0};asc(){return this.indexConfig.order=`asc`,this}desc(){return this.indexConfig.order=`desc`,this}nullsFirst(){return this.indexConfig.nulls=`first`,this}nullsLast(){return this.indexConfig.nulls=`last`,this}op(e){return this.indexConfig.opClass=e,this}},ZP=class{static[Y]=`IndexedColumn`;constructor(e,t,n,r){this.name=e,this.keyAsName=t,this.type=n,this.indexConfig=r}name;keyAsName;type;indexConfig},QP=class extends JP{static[Y]=`PgArrayBuilder`;constructor(e,t,n){super(e,`array`,`PgArray`),this.config.baseBuilder=t,this.config.size=n}build(e){let t=this.config.baseBuilder.build(e);return new $P(e,this.config,t)}},$P=class e extends YP{constructor(e,t,n,r){super(e,t),this.baseColumn=n,this.range=r,this.size=t.size}size;static[Y]=`PgArray`;getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==`number`?this.size:``}]`}mapFromDriverValue(e){return typeof e==`string`&&(e=KP(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(t,n=!1){let r=t.map(t=>t===null?null:X(this.baseColumn,e)?this.baseColumn.mapToDriverValue(t,!0):this.baseColumn.mapToDriverValue(t));return n?r:qP(r)}},eF=class extends JP{static[Y]=`PgEnumObjectColumnBuilder`;constructor(e,t){super(e,`string`,`PgEnumObjectColumn`),this.config.enum=t}build(e){return new tF(e,this.config)}},tF=class extends YP{static[Y]=`PgEnumObjectColumn`;enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}};const nF=Symbol.for(`drizzle:isPgEnum`);function rF(e){return!!e&&typeof e==`function`&&nF in e&&e[nF]===!0}var iF=class extends JP{static[Y]=`PgEnumColumnBuilder`;constructor(e,t){super(e,`string`,`PgEnumColumn`),this.config.enum=t}build(e){return new aF(e,this.config)}},aF=class extends YP{static[Y]=`PgEnumColumn`;enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}},oF=class{static[Y]=`Subquery`;constructor(e,t,n,r=!1,i=[]){this._={brand:`Subquery`,sql:e,selectedFields:t,alias:n,isWith:r,usedTables:i}}},sF=class extends oF{static[Y]=`WithSubquery`},cF=`0.44.2`;let lF,uF;const dF={startActiveSpan(e,t){return lF?(uF||=lF.trace.getTracer(`drizzle-orm`,cF),zP((n,r)=>r.startActiveSpan(e,e=>{try{return t(e)}catch(t){throw e.setStatus({code:n.SpanStatusCode.ERROR,message:t instanceof Error?t.message:`Unknown error`}),t}finally{e.end()}}),lF,uF)):t()}},fF=Symbol.for(`drizzle:ViewBaseConfig`),pF=Symbol.for(`drizzle:Schema`),mF=Symbol.for(`drizzle:Columns`),hF=Symbol.for(`drizzle:ExtraConfigColumns`),gF=Symbol.for(`drizzle:OriginalName`),_F=Symbol.for(`drizzle:BaseName`),vF=Symbol.for(`drizzle:IsAlias`),yF=Symbol.for(`drizzle:ExtraConfigBuilder`),bF=Symbol.for(`drizzle:IsDrizzleTable`);var xF=class{static[Y]=`Table`;static Symbol={Name:IP,Schema:pF,OriginalName:gF,Columns:mF,ExtraConfigColumns:hF,BaseName:_F,IsAlias:vF,ExtraConfigBuilder:yF};[IP];[gF];[pF];[mF];[hF];[_F];[vF]=!1;[bF]=!0;[yF]=void 0;constructor(e,t,n){this[IP]=this[gF]=e,this[pF]=t,this[_F]=n}};function SF(e){return e[IP]}function CF(e){return`${e[pF]??`public`}.${e[IP]}`}var wF=class{static[Y]=`FakePrimitiveParam`};function TF(e){return e!=null&&typeof e.getSQL==`function`}function EF(e){let t={sql:``,params:[]};for(let n of e)t.sql+=n.sql,t.params.push(...n.params),n.typings?.length&&(t.typings||=[],t.typings.push(...n.typings));return t}var DF=class{static[Y]=`StringChunk`;value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new OF([this])}},OF=class e{constructor(e){this.queryChunks=e;for(let t of e)if(X(t,xF)){let e=t[xF.Symbol.Schema];this.usedTables.push(e===void 0?t[xF.Symbol.Name]:e+`.`+t[xF.Symbol.Name])}}static[Y]=`SQL`;decoder=jF;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return dF.startActiveSpan(`drizzle.buildSQL`,t=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,n){let r=Object.assign({},n,{inlineParams:n.inlineParams||this.shouldInlineParams,paramStartIndex:n.paramStartIndex||{value:0}}),{casing:i,escapeName:a,escapeParam:o,prepareTyping:s,inlineParams:c,paramStartIndex:l}=r;return EF(t.map(t=>{if(X(t,DF))return{sql:t.value.join(``),params:[]};if(X(t,kF))return{sql:a(t.value),params:[]};if(t===void 0)return{sql:``,params:[]};if(Array.isArray(t)){let e=[new DF(`(`)];for(let[n,r]of t.entries())e.push(r),ne},MF={mapToDriverValue:e=>e},NF={...jF,...MF};var PF=class{constructor(e,t=MF){this.value=e,this.encoder=t}static[Y]=`Param`;brand;getSQL(){return new OF([this])}};function Z(e,...t){let n=[];(t.length>0||e.length>0&&e[0]!==``)&&n.push(new DF(e[0]));for(let[r,i]of t.entries())n.push(i,new DF(e[r+1]));return new OF(n)}(e=>{function t(){return new OF([])}e.empty=t;function n(e){return new OF(e)}e.fromList=n;function r(e){return new OF([new DF(e)])}e.raw=r;function i(e,t){let n=[];for(let[r,i]of e.entries())r>0&&t!==void 0&&n.push(t),n.push(i);return new OF(n)}e.join=i;function a(e){return new kF(e)}e.identifier=a;function o(e){return new FF(e)}e.placeholder=o;function s(e,t){return new PF(e,t)}e.param=s})(Z||={}),(e=>{class t{constructor(e,t){this.sql=e,this.fieldAlias=t}static[Y]=`SQL.Aliased`;isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(OF||={});var FF=class{constructor(e){this.name=e}static[Y]=`Placeholder`;getSQL(){return new OF([this])}};function IF(e,t){return e.map(e=>{if(X(e,FF)){if(!(e.name in t))throw Error(`No value for placeholder "${e.name}" was provided`);return t[e.name]}if(X(e,PF)&&X(e.value,FF)){if(!(e.value.name in t))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(t[e.value.name])}return e})}const LF=Symbol.for(`drizzle:IsDrizzleView`);var RF=class{static[Y]=`View`;[fF];[LF]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[fF]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new OF([this])}};PP.prototype.getSQL=function(){return new OF([this])},xF.prototype.getSQL=function(){return new OF([this])},oF.prototype.getSQL=function(){return new OF([this])};var zF=class{constructor(e){this.table=e}static[Y]=`ColumnAliasProxyHandler`;get(e,t){return t===`table`?this.table:e[t]}},BF=class{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[Y]=`TableAliasProxyHandler`;get(e,t){if(t===xF.Symbol.IsAlias)return!0;if(t===xF.Symbol.Name||this.replaceOriginalName&&t===xF.Symbol.OriginalName)return this.alias;if(t===fF)return{...e[fF],name:this.alias,isAlias:!0};if(t===xF.Symbol.Columns){let t=e[xF.Symbol.Columns];if(!t)return t;let n={};return Object.keys(t).map(r=>{n[r]=new Proxy(t[r],new zF(new Proxy(e,this)))}),n}let n=e[t];return X(n,PP)?new Proxy(n,new zF(new Proxy(e,this))):n}},VF=class{constructor(e){this.alias=e}static[Y]=`RelationTableAliasProxyHandler`;get(e,t){return t===`sourceTable`?HF(e.sourceTable,this.alias):e[t]}};function HF(e,t){return new Proxy(e,new BF(t,!1))}function UF(e,t){return new Proxy(e,new zF(new Proxy(e.table,new BF(t,!1))))}function WF(e,t){return new OF.Aliased(GF(e.sql,t),e.fieldAlias)}function GF(e,t){return Z.join(e.queryChunks.map(e=>X(e,PP)?UF(e,t):X(e,OF)?GF(e,t):X(e,OF.Aliased)?WF(e,t):e))}var KF=class extends Error{static[Y]=`DrizzleError`;constructor({message:e,cause:t}){super(e),this.name=`DrizzleError`,this.cause=t}},qF=class extends KF{static[Y]=`TransactionRollbackError`;constructor(){super({message:`Rollback`})}},JF=class{static[Y]=`ConsoleLogWriter`;write(e){console.log(e)}},YF=class{static[Y]=`DefaultLogger`;writer;constructor(e){this.writer=e?.writer??new JF}logQuery(e,t){let n=t.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),r=n.length?` -- params: [${n.join(`, `)}]`:``;this.writer.write(`Query: ${e}${r}`)}},XF=class{static[Y]=`NoopLogger`;logQuery(){}},ZF=class{static[Y]=`QueryPromise`;[Symbol.toStringTag]=`QueryPromise`;catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}};function QF(e,t){return Object.entries(e).reduce((e,[n,r])=>{if(typeof n!=`string`)return e;let i=t?[...t,n]:[n];return X(r,PP)||X(r,OF)||X(r,OF.Aliased)?e.push({path:i,field:r}):X(r,xF)?e.push(...QF(r[xF.Symbol.Columns],i)):e.push(...QF(r,i)),e},[])}function $F(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let[e,t]of n.entries())if(t!==r[e])return!1;return!0}function eI(e,t){let n=Object.entries(t).filter(([,e])=>e!==void 0).map(([t,n])=>X(n,OF)||X(n,PP)?[t,n]:[t,new PF(n,e[xF.Symbol.Columns][t])]);if(n.length===0)throw Error(`No values to set`);return Object.fromEntries(n)}function tI(e,t){for(let n of t)for(let t of Object.getOwnPropertyNames(n.prototype)){if(t===`constructor`)continue;Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(n.prototype,t)||Object.create(null))}}function nI(e){return e[xF.Symbol.Columns]}function rI(e){return X(e,oF)?e._.alias:X(e,RF)?e[fF].name:X(e,OF)?void 0:e[xF.Symbol.IsAlias]?e[xF.Symbol.Name]:e[xF.Symbol.BaseName]}function iI(e){if(typeof e!=`object`||!e||e.constructor.name!==`Object`)return!1;if(`logger`in e){let t=typeof e.logger;return!(t!==`boolean`&&(t!==`object`||typeof e.logger.logQuery!=`function`)&&t!==`undefined`)}if(`schema`in e){let t=typeof e.schema;return!(t!==`object`&&t!==`undefined`)}if(`casing`in e){let t=typeof e.casing;return!(t!==`string`&&t!==`undefined`)}if(`mode`in e)return!(e.mode!==`default`||e.mode!==`planetscale`||e.mode!==void 0);if(`connection`in e){let t=typeof e.connection;return!(t!==`string`&&t!==`object`&&t!==`undefined`)}if(`client`in e){let t=typeof e.client;return!(t!==`object`&&t!==`function`&&t!==`undefined`)}return Object.keys(e).length===0}var aI=class extends JP{static[Y]=`PgDateColumnBaseBuilder`;defaultNow(){return this.default(Z`now()`)}},oI=class extends aI{static[Y]=`PgDateBuilder`;constructor(e){super(e,`date`,`PgDate`)}build(e){return new sI(e,this.config)}},sI=class extends YP{static[Y]=`PgDate`;getSQLType(){return`date`}mapFromDriverValue(e){return new Date(e)}mapToDriverValue(e){return e.toISOString()}},cI=class extends aI{static[Y]=`PgDateStringBuilder`;constructor(e){super(e,`string`,`PgDateString`)}build(e){return new lI(e,this.config)}},lI=class extends YP{static[Y]=`PgDateString`;getSQLType(){return`date`}},uI=class extends JP{static[Y]=`PgJsonBuilder`;constructor(e){super(e,`json`,`PgJson`)}build(e){return new dI(e,this.config)}},dI=class extends YP{static[Y]=`PgJson`;constructor(e,t){super(e,t)}getSQLType(){return`json`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e}},fI=class extends JP{static[Y]=`PgJsonbBuilder`;constructor(e){super(e,`json`,`PgJsonb`)}build(e){return new pI(e,this.config)}},pI=class extends YP{static[Y]=`PgJsonb`;constructor(e,t){super(e,t)}getSQLType(){return`jsonb`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e}},mI=class extends JP{static[Y]=`PgNumericBuilder`;constructor(e,t,n){super(e,`string`,`PgNumeric`),this.config.precision=t,this.config.scale=n}build(e){return new hI(e,this.config)}},hI=class extends YP{static[Y]=`PgNumeric`;precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return typeof e==`string`?e:String(e)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?`numeric`:`numeric(${this.precision})`}},gI=class extends JP{static[Y]=`PgNumericNumberBuilder`;constructor(e,t,n){super(e,`number`,`PgNumericNumber`),this.config.precision=t,this.config.scale=n}build(e){return new _I(e,this.config)}},_I=class extends YP{static[Y]=`PgNumericNumber`;precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return typeof e==`number`?e:Number(e)}mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?`numeric`:`numeric(${this.precision})`}},vI=class extends JP{static[Y]=`PgNumericBigIntBuilder`;constructor(e,t,n){super(e,`bigint`,`PgNumericBigInt`),this.config.precision=t,this.config.scale=n}build(e){return new yI(e,this.config)}},yI=class extends YP{static[Y]=`PgNumericBigInt`;precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?`numeric`:`numeric(${this.precision})`}},bI=class extends aI{constructor(e,t,n){super(e,`string`,`PgTime`),this.withTimezone=t,this.precision=n,this.config.withTimezone=t,this.config.precision=n}static[Y]=`PgTimeBuilder`;build(e){return new xI(e,this.config)}},xI=class extends YP{static[Y]=`PgTime`;withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){let e=this.precision===void 0?``:`(${this.precision})`;return`time${e}${this.withTimezone?` with time zone`:``}`}},SI=class extends aI{static[Y]=`PgTimestampBuilder`;constructor(e,t,n){super(e,`date`,`PgTimestamp`),this.config.withTimezone=t,this.config.precision=n}build(e){return new CI(e,this.config)}},CI=class extends YP{static[Y]=`PgTimestamp`;withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){let e=this.precision===void 0?``:` (${this.precision})`;return`timestamp${e}${this.withTimezone?` with time zone`:``}`}mapFromDriverValue=e=>new Date(this.withTimezone?e:e+`+0000`);mapToDriverValue=e=>e.toISOString()},wI=class extends aI{static[Y]=`PgTimestampStringBuilder`;constructor(e,t,n){super(e,`string`,`PgTimestampString`),this.config.withTimezone=t,this.config.precision=n}build(e){return new TI(e,this.config)}},TI=class extends YP{static[Y]=`PgTimestampString`;withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){let e=this.precision===void 0?``:`(${this.precision})`;return`timestamp${e}${this.withTimezone?` with time zone`:``}`}},EI=class extends JP{static[Y]=`PgUUIDBuilder`;constructor(e){super(e,`string`,`PgUUID`)}defaultRandom(){return this.default(Z`gen_random_uuid()`)}build(e){return new DI(e,this.config)}},DI=class extends YP{static[Y]=`PgUUID`;getSQLType(){return`uuid`}};const OI=Symbol.for(`drizzle:PgInlineForeignKeys`),kI=Symbol.for(`drizzle:EnableRLS`);var AI=class extends xF{static[Y]=`PgTable`;static Symbol=Object.assign({},xF.Symbol,{InlineForeignKeys:OI,EnableRLS:kI});[OI]=[];[kI]=!1;[xF.Symbol.ExtraConfigBuilder]=void 0;[xF.Symbol.ExtraConfigColumns]={}},jI=class{static[Y]=`PgPrimaryKeyBuilder`;columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new MI(e,this.columns,this.name)}},MI=class{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static[Y]=`PgPrimaryKey`;columns;name;getName(){return this.name??`${this.table[AI.Symbol.Name]}_${this.columns.map(e=>e.name).join(`_`)}_pk`}};function NI(e,t){return AF(t)&&!TF(e)&&!X(e,PF)&&!X(e,FF)&&!X(e,PP)&&!X(e,xF)&&!X(e,RF)?new PF(e,t):e}const PI=(e,t)=>Z`${e} = ${NI(t,e)}`,FI=(e,t)=>Z`${e} <> ${NI(t,e)}`;function II(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new OF(t):new OF([new DF(`(`),Z.join(t,new DF(` and `)),new DF(`)`)])}function LI(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new OF(t):new OF([new DF(`(`),Z.join(t,new DF(` or `)),new DF(`)`)])}function RI(e){return Z`not ${e}`}const zI=(e,t)=>Z`${e} > ${NI(t,e)}`,BI=(e,t)=>Z`${e} >= ${NI(t,e)}`,VI=(e,t)=>Z`${e} < ${NI(t,e)}`,HI=(e,t)=>Z`${e} <= ${NI(t,e)}`;function UI(e,t){return Array.isArray(t)?t.length===0?Z`false`:Z`${e} in ${t.map(t=>NI(t,e))}`:Z`${e} in ${NI(t,e)}`}function WI(e,t){return Array.isArray(t)?t.length===0?Z`true`:Z`${e} not in ${t.map(t=>NI(t,e))}`:Z`${e} not in ${NI(t,e)}`}function GI(e){return Z`${e} is null`}function KI(e){return Z`${e} is not null`}function qI(e){return Z`exists ${e}`}function JI(e){return Z`not exists ${e}`}function YI(e,t,n){return Z`${e} between ${NI(t,e)} and ${NI(n,e)}`}function XI(e,t,n){return Z`${e} not between ${NI(t,e)} and ${NI(n,e)}`}function ZI(e,t){return Z`${e} like ${t}`}function QI(e,t){return Z`${e} not like ${t}`}function $I(e,t){return Z`${e} ilike ${t}`}function eL(e,t){return Z`${e} not ilike ${t}`}function tL(e){return Z`${e} asc`}function nL(e){return Z`${e} desc`}var rL=class{constructor(e,t,n){this.sourceTable=e,this.referencedTable=t,this.relationName=n,this.referencedTableName=t[xF.Symbol.Name]}static[Y]=`Relation`;referencedTableName;fieldName},iL=class{constructor(e,t){this.table=e,this.config=t}static[Y]=`Relations`},aL=class e extends rL{constructor(e,t,n,r){super(e,t,n?.relationName),this.config=n,this.isNullable=r}static[Y]=`One`;withFieldName(t){let n=new e(this.sourceTable,this.referencedTable,this.config,this.isNullable);return n.fieldName=t,n}},oL=class e extends rL{constructor(e,t,n){super(e,t,n?.relationName),this.config=n}static[Y]=`Many`;withFieldName(t){let n=new e(this.sourceTable,this.referencedTable,this.config);return n.fieldName=t,n}};function sL(){return{and:II,between:YI,eq:PI,exists:qI,gt:zI,gte:BI,ilike:$I,inArray:UI,isNull:GI,isNotNull:KI,like:ZI,lt:VI,lte:HI,ne:FI,not:RI,notBetween:XI,notExists:JI,notLike:QI,notIlike:eL,notInArray:WI,or:LI,sql:Z}}function cL(){return{sql:Z,asc:tL,desc:nL}}function lL(e,t){Object.keys(e).length===1&&`default`in e&&!X(e.default,xF)&&(e=e.default);let n={},r={},i={};for(let[a,o]of Object.entries(e))if(X(o,xF)){let e=CF(o),t=r[e];n[e]=a,i[a]={tsName:a,dbName:o[xF.Symbol.Name],schema:o[xF.Symbol.Schema],columns:o[xF.Symbol.Columns],relations:t?.relations??{},primaryKey:t?.primaryKey??[]};for(let e of Object.values(o[xF.Symbol.Columns]))e.primary&&i[a].primaryKey.push(e);let s=o[xF.Symbol.ExtraConfigBuilder]?.(o[xF.Symbol.ExtraConfigColumns]);if(s)for(let e of Object.values(s))X(e,jI)&&i[a].primaryKey.push(...e.columns)}else if(X(o,iL)){let e=CF(o.table),a=n[e],s=o.config(t(o.table)),c;for(let[t,n]of Object.entries(s))if(a){let e=i[a];e.relations[t]=n,c&&e.primaryKey.push(...c)}else e in r||(r[e]={relations:{},primaryKey:c}),r[e].relations[t]=n}return{tables:i,tableNamesMap:n}}function uL(e){return function(t,n){return new aL(e,t,n,n?.fields.reduce((e,t)=>e&&t.notNull,!0)??!1)}}function dL(e){return function(t,n){return new oL(e,t,n)}}function fL(e,t,n){if(X(n,aL)&&n.config)return{fields:n.config.fields,references:n.config.references};let r=t[CF(n.referencedTable)];if(!r)throw Error(`Table "${n.referencedTable[xF.Symbol.Name]}" not found in schema`);let i=e[r];if(!i)throw Error(`Table "${r}" not found in schema`);let a=n.sourceTable,o=t[CF(a)];if(!o)throw Error(`Table "${a[xF.Symbol.Name]}" not found in schema`);let s=[];for(let e of Object.values(i.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&s.push(e);if(s.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${r}"`):Error(`There are multiple relations between "${r}" and "${n.sourceTable[xF.Symbol.Name]}". Please specify relation name`);if(s[0]&&X(s[0],aL)&&s[0].config)return{fields:s[0].config.references,references:s[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${n.fieldName}"`)}function pL(e){return{one:uL(e),many:dL(e)}}function mL(e,t,n,r,i=e=>e){let a={};for(let[o,s]of r.entries())if(s.isJson){let r=t.relations[s.tsKey],c=n[o],l=typeof c==`string`?JSON.parse(c):c;a[s.tsKey]=X(r,aL)?l&&mL(e,e[s.relationTableTsKey],l,s.selection,i):l.map(t=>mL(e,e[s.relationTableTsKey],t,s.selection,i))}else{let e=i(n[o]),t=s.field,r;r=X(t,PP)?t:X(t,OF)?t.decoder:t.sql.decoder,a[s.tsKey]=e===null?null:r.mapFromDriverValue(e)}return a}var hL=class e{static[Y]=`SelectionProxyHandler`;config;constructor(e){this.config={...e}}get(t,n){if(n===`_`)return{...t._,selectedFields:new Proxy(t._.selectedFields,this)};if(n===fF)return{...t[fF],selectedFields:new Proxy(t[fF].selectedFields,this)};if(typeof n==`symbol`)return t[n];let r=X(t,oF)?t._.selectedFields:X(t,RF)?t[fF].selectedFields:t,i=r[n];if(X(i,OF.Aliased)){if(this.config.sqlAliasedBehavior===`sql`&&!i.isSelectionField)return i.sql;let e=i.clone();return e.isSelectionField=!0,e}if(X(i,OF)){if(this.config.sqlBehavior===`sql`)return i;throw Error(`You tried to reference "${n}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return X(i,PP)?this.config.alias?new Proxy(i,new zF(new Proxy(i.table,new BF(this.config.alias,this.config.replaceOriginalName??!1)))):i:typeof i!=`object`||!i?i:new Proxy(i,new e(this.config))}};function gL(e){let t=e.replace(/['\u2019]/g,``).match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[];return t.map(e=>e.toLowerCase()).join(`_`)}function _L(e){let t=e.replace(/['\u2019]/g,``).match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[];return t.reduce((e,t,n)=>{let r=n===0?t.toLowerCase():`${t[0].toUpperCase()}${t.slice(1)}`;return e+r},``)}function vL(e){return e}var yL=class{static[Y]=`CasingCache`;cache={};cachedTables={};convert;constructor(e){this.convert=e===`snake_case`?gL:e===`camelCase`?_L:vL}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=e.table[xF.Symbol.Schema]??`public`,n=e.table[xF.Symbol.OriginalName],r=`${t}.${n}.${e.name}`;return this.cache[r]||this.cacheTable(e.table),this.cache[r]}cacheTable(e){let t=e[xF.Symbol.Schema]??`public`,n=e[xF.Symbol.OriginalName],r=`${t}.${n}`;if(!this.cachedTables[r]){for(let t of Object.values(e[xF.Symbol.Columns])){let e=`${r}.${t.name}`;this.cache[e]=this.convert(t.name)}this.cachedTables[r]=!0}}clearCache(){this.cache={},this.cachedTables={}}},bL=class extends RF{static[Y]=`PgViewBase`},xL=class{static[Y]=`PgDialect`;casing;constructor(e){this.casing=new yL(e?.casing)}async migrate(e,t,n){let r=typeof n==`string`?`__drizzle_migrations`:n.migrationsTable??`__drizzle_migrations`,i=typeof n==`string`?`drizzle`:n.migrationsSchema??`drizzle`,a=Z` + CREATE TABLE IF NOT EXISTS ${Z.identifier(i)}.${Z.identifier(r)} ( + id SERIAL PRIMARY KEY, + hash text NOT NULL, + created_at bigint + ) + `;await t.execute(Z`CREATE SCHEMA IF NOT EXISTS ${Z.identifier(i)}`),await t.execute(a);let o=await t.all(Z`select id, hash, created_at from ${Z.identifier(i)}.${Z.identifier(r)} order by created_at desc limit 1`),s=o[0];await t.transaction(async t=>{for await(let n of e)if(!s||Number(s.created_at)t[e]!==void 0||n[e]?.onUpdateFn!==void 0),i=r.length;return Z.join(r.flatMap((e,r)=>{let a=n[e],o=t[e]??Z.param(a.onUpdateFn(),a),s=Z`${Z.identifier(this.casing.getColumnCasing(a))} = ${o}`;return r{let i=[];if(X(e,OF.Aliased)&&e.isSelectionField)i.push(Z.identifier(e.fieldAlias));else if(X(e,OF.Aliased)||X(e,OF)){let n=X(e,OF.Aliased)?e.sql:e;t?i.push(new OF(n.queryChunks.map(e=>X(e,YP)?Z.identifier(this.casing.getColumnCasing(e)):e))):i.push(n),X(e,OF.Aliased)&&i.push(Z` as ${Z.identifier(e.fieldAlias)}`)}else X(e,PP)&&(t?i.push(Z.identifier(this.casing.getColumnCasing(e))):i.push(e));return ro?.some(({alias:t})=>t===(e[xF.Symbol.IsAlias]?SF(e):e[xF.Symbol.BaseName])))(e.field.table)){let t=SF(e.field.table);throw Error(`Your "${e.path.join(`->`)}" field references a column "${t}"."${e.field.name}", but the table "${t}" is not part of the query! Did you forget to join it?`)}let h=!o||o.length===0,g=this.buildWithCTE(e),_;f&&(_=f===!0?Z` distinct`:Z` distinct on (${Z.join(f.on,Z`, `)})`);let v=this.buildSelection(m,{isSingleTable:h}),y=this.buildFromTable(a),b=this.buildJoins(o),x=r?Z` where ${r}`:void 0,S=i?Z` having ${i}`:void 0,C;s&&s.length>0&&(C=Z` order by ${Z.join(s,Z`, `)}`);let w;c&&c.length>0&&(w=Z` group by ${Z.join(c,Z`, `)}`);let T=typeof l==`object`||typeof l==`number`&&l>=0?Z` limit ${l}`:void 0,E=u?Z` offset ${u}`:void 0,D=Z.empty();if(d){let e=Z` for ${Z.raw(d.strength)}`;d.config.of&&e.append(Z` of ${Z.join(Array.isArray(d.config.of)?d.config.of:[d.config.of],Z`, `)}`),d.config.noWait?e.append(Z` nowait`):d.config.skipLocked&&e.append(Z` skip locked`),D.append(e)}let O=Z`${g}select${_} ${v} from ${y}${b}${x}${w}${S}${C}${T}${E}${D}`;return p.length>0?this.buildSetOperations(O,p):O}buildSetOperations(e,t){let[n,...r]=t;if(!n)throw Error(`Cannot pass undefined values to any set operator`);return r.length===0?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:n,rightSelect:r,limit:i,orderBy:a,offset:o}}){let s=Z`(${e.getSQL()}) `,c=Z`(${r.getSQL()})`,l;if(a&&a.length>0){let e=[];for(let t of a)if(X(t,YP))e.push(Z.identifier(t.name));else if(X(t,OF)){for(let e=0;e=0?Z` limit ${i}`:void 0,d=Z.raw(`${t} ${n?`all `:``}`),f=o?Z` offset ${o}`:void 0;return Z`${s}${d}${c}${l}${u}${f}`}buildInsertQuery({table:e,values:t,onConflict:n,returning:r,withList:i,select:a,overridingSystemValue_:o}){let s=[],c=e[xF.Symbol.Columns],l=Object.entries(c).filter(([e,t])=>!t.shouldDisableInsert()),u=l.map(([,e])=>Z.identifier(this.casing.getColumnCasing(e)));if(a){let e=t;X(e,OF)?s.push(e):s.push(e.getSQL())}else{let e=t;s.push(Z.raw(`values `));for(let[t,n]of e.entries()){let r=[];for(let[e,t]of l){let i=n[e];if(i===void 0||X(i,PF)&&i.value===void 0)if(t.defaultFn!==void 0){let e=t.defaultFn(),n=X(e,OF)?e:Z.param(e,t);r.push(n)}else if(!t.default&&t.onUpdateFn!==void 0){let e=t.onUpdateFn(),n=X(e,OF)?e:Z.param(e,t);r.push(n)}else r.push(Z`default`);else r.push(i)}s.push(r),t({dbKey:t.name,tsKey:e,field:UF(t,o),relationTableTsKey:void 0,isJson:!1,selection:[]}))}else{let r=Object.fromEntries(Object.entries(i.columns).map(([e,t])=>[e,UF(t,o)]));if(a.where){let e=typeof a.where==`function`?a.where(r,sL()):a.where;p=e&&GF(e,o)}let s=[],c=[];if(a.columns){let e=!1;for(let[t,n]of Object.entries(a.columns)){if(n===void 0)continue;t in i.columns&&(!e&&n===!0&&(e=!0),c.push(t))}c.length>0&&(c=e?c.filter(e=>a.columns?.[e]===!0):Object.keys(i.columns).filter(e=>!c.includes(e)))}else c=Object.keys(i.columns);for(let e of c){let t=i.columns[e];s.push({tsKey:e,value:t})}let h=[];a.with&&(h=Object.entries(a.with).filter(e=>!!e[1]).map(([e,t])=>({tsKey:e,queryConfig:t,relation:i.relations[e]})));let g;if(a.extras){g=typeof a.extras==`function`?a.extras(r,{sql:Z}):a.extras;for(let[e,t]of Object.entries(g))s.push({tsKey:e,value:WF(t,o)})}for(let{tsKey:e,value:t}of s)l.push({dbKey:X(t,OF.Aliased)?t.fieldAlias:i.columns[e].name,tsKey:e,field:X(t,PP)?UF(t,o):t,relationTableTsKey:void 0,isJson:!1,selection:[]});let _=typeof a.orderBy==`function`?a.orderBy(r,cL()):a.orderBy??[];Array.isArray(_)||(_=[_]),f=_.map(e=>X(e,PP)?UF(e,o):GF(e,o)),u=a.limit,d=a.offset;for(let{tsKey:r,queryConfig:i,relation:a}of h){let s=fL(t,n,a),c=CF(a.referencedTable),u=n[c],d=`${o}_${r}`,f=II(...s.fields.map((e,t)=>PI(UF(s.references[t],d),UF(e,o)))),p=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:n,table:e[u],tableConfig:t[u],queryConfig:X(a,aL)?i===!0?{limit:1}:{...i,limit:1}:i,tableAlias:d,joinOn:f,nestedQueryRelation:a}),h=Z`${Z.identifier(d)}.${Z.identifier(`data`)}`.as(r);m.push({on:Z`true`,table:new oF(p.sql,{},d),alias:d,joinType:`left`,lateral:!0}),l.push({dbKey:r,tsKey:r,field:h,relationTableTsKey:u,isJson:!0,selection:p.selection})}}if(l.length===0)throw new KF({message:`No fields selected for table "${i.tsName}" ("${o}")`});let h;if(p=II(c,p),s){let e=Z`json_build_array(${Z.join(l.map(({field:e,tsKey:t,isJson:n})=>n?Z`${Z.identifier(`${o}_${t}`)}.${Z.identifier(`data`)}`:X(e,OF.Aliased)?e.sql:e),Z`, `)})`;X(s,oL)&&(e=Z`coalesce(json_agg(${e}${f.length>0?Z` order by ${Z.join(f,Z`, `)}`:void 0}), '[]'::json)`);let t=[{dbKey:`data`,tsKey:`data`,field:e.as(`data`),isJson:!0,relationTableTsKey:i.tsName,selection:l}],n=u!==void 0||d!==void 0||f.length>0;n?(h=this.buildSelectQuery({table:HF(r,o),fields:{},fieldsFlat:[{path:[],field:Z.raw(`*`)}],where:p,limit:u,offset:d,orderBy:f,setOperators:[]}),p=void 0,u=void 0,d=void 0,f=[]):h=HF(r,o),h=this.buildSelectQuery({table:X(h,AI)?h:new oF(h,{},o),fields:{},fieldsFlat:t.map(({field:e})=>({path:[],field:X(e,PP)?UF(e,o):e})),joins:m,where:p,limit:u,offset:d,orderBy:f,setOperators:[]})}else h=this.buildSelectQuery({table:HF(r,o),fields:{},fieldsFlat:l.map(({field:e})=>({path:[],field:X(e,PP)?UF(e,o):e})),joins:m,where:p,limit:u,offset:d,orderBy:f,setOperators:[]});return{tableTsKey:i.tsName,sql:h,selection:l}}},SL=class{static[Y]=`TypedQueryBuilder`;getSelectedFields(){return this._.selectedFields}},CL=class{static[Y]=`PgSelectBuilder`;fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let t=!!this.fields,n=e,r;return r=this.fields?this.fields:X(n,oF)?Object.fromEntries(Object.keys(n._.selectedFields).map(e=>[e,n[e]])):X(n,bL)?n[fF].selectedFields:X(n,OF)?{}:nI(n),new TL({table:n,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}},wL=class extends SL{static[Y]=`PgSelectQueryBuilder`;_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:r,dialect:i,withList:a,distinct:o}){super(),this.config={withList:a,table:e,fields:{...t},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=r,this.dialect=i,this._={selectedFields:t,config:this.config},this.tableName=rI(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{};for(let t of FL(e))this.usedTables.add(t)}getUsedTables(){return[...this.usedTables]}createJoin(e,t){return(n,r)=>{let i=this.tableName,a=rI(n);for(let e of FL(n))this.usedTables.add(e);if(typeof a==`string`&&this.config.joins?.some(e=>e.alias===a))throw Error(`Alias "${a}" is already used in this query`);if(!this.isPartialSelect&&(Object.keys(this.joinsNotNullableMap).length===1&&typeof i==`string`&&(this.config.fields={[i]:this.config.fields}),typeof a==`string`&&!X(n,OF))){let e=X(n,oF)?n._.selectedFields:X(n,RF)?n[fF].selectedFields:n[xF.Symbol.Columns];this.config.fields[a]=e}if(typeof r==`function`&&(r=r(new Proxy(this.config.fields,new hL({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:r,table:n,joinType:e,alias:a,lateral:t}),typeof a==`string`)switch(e){case`left`:this.joinsNotNullableMap[a]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[a]=!0;break;case`cross`:case`inner`:this.joinsNotNullableMap[a]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[a]=!1;break}return this}}leftJoin=this.createJoin(`left`,!1);leftJoinLateral=this.createJoin(`left`,!0);rightJoin=this.createJoin(`right`,!1);innerJoin=this.createJoin(`inner`,!1);innerJoinLateral=this.createJoin(`inner`,!0);fullJoin=this.createJoin(`full`,!1);crossJoin=this.createJoin(`cross`,!1);crossJoinLateral=this.createJoin(`cross`,!0);createSetOperator(e,t){return n=>{let r=typeof n==`function`?n(DL()):n;if(!$F(this.getSelectedFields(),r.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return this.config.setOperators.push({type:e,isAll:t,rightSelect:r}),this}}union=this.createSetOperator(`union`,!1);unionAll=this.createSetOperator(`union`,!0);intersect=this.createSetOperator(`intersect`,!1);intersectAll=this.createSetOperator(`intersect`,!0);except=this.createSetOperator(`except`,!1);exceptAll=this.createSetOperator(`except`,!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new hL({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.where=e,this}having(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new hL({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.having=e,this}groupBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new hL({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new hL({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else{let t=e;this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t}return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,t={}){return this.config.lockingClause={strength:e,config:t},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...FL(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...FL(e.table));return new Proxy(new oF(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new hL({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}getSelectedFields(){return new Proxy(this.config.fields,new hL({alias:this.tableName,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}},TL=class extends wL{static[Y]=`PgSelect`;_prepare(e){let{session:t,config:n,dialect:r,joinsNotNullableMap:i,authToken:a,cacheConfig:o,usedTables:s}=this;if(!t)throw Error(`Cannot execute a query on a query builder. Please use a database instance instead.`);let{fields:c}=n;return dF.startActiveSpan(`drizzle.prepareQuery`,()=>{let n=QF(c),l=t.prepareQuery(r.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:`select`,tables:[...s]},o);return l.joinsNotNullableMap=i,l.setToken(a)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>dF.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))};tI(TL,[ZF]);function EL(e,t){return(n,r,...i)=>{let a=[r,...i].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!$F(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return n.addSetOperators(a)}}const DL=()=>({union:OL,unionAll:kL,intersect:AL,intersectAll:jL,except:ML,exceptAll:NL}),OL=EL(`union`,!1),kL=EL(`union`,!0),AL=EL(`intersect`,!1),jL=EL(`intersect`,!0),ML=EL(`except`,!1),NL=EL(`except`,!0);var PL=class{static[Y]=`PgQueryBuilder`;dialect;dialectConfig;constructor(e){this.dialect=X(e,xL)?e:void 0,this.dialectConfig=X(e,xL)?void 0:e}$with=(e,t)=>{let n=this,r=r=>(typeof r==`function`&&(r=r(n)),new Proxy(new sF(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new hL({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})));return{as:r}};with(...e){let t=this;function n(n){return new CL({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function r(e){return new CL({fields:e??void 0,session:void 0,dialect:t.getDialect(),distinct:!0})}function i(e,n){return new CL({fields:n??void 0,session:void 0,dialect:t.getDialect(),distinct:{on:e}})}return{select:n,selectDistinct:r,selectDistinctOn:i}}select(e){return new CL({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new CL({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,t){return new CL({fields:t??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||=new xL(this.dialectConfig),this.dialect}};function FL(e){return X(e,AI)?[e[pF]?`${e[pF]}.${e[xF.Symbol.BaseName]}`:e[xF.Symbol.BaseName]]:X(e,oF)?e._.usedTables??[]:X(e,OF)?e.usedTables??[]:[]}var IL=class extends ZF{constructor(e,t,n,r){super(),this.session=t,this.dialect=n,this.config={table:e,withList:r}}static[Y]=`PgDelete`;config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[xF.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=QF(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return dF.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`delete`,tables:FL(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>dF.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new hL({alias:SF(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},LL=class{constructor(e,t,n,r,i){this.table=e,this.session=t,this.dialect=n,this.withList=r,this.overridingSystemValue_=i}static[Y]=`PgInsertBuilder`;authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error(`values() must be called with at least one value`);let t=e.map(e=>{let t={},n=this.table[xF.Symbol.Columns];for(let r of Object.keys(e)){let i=e[r];t[r]=X(i,OF)?i:new PF(i,n[r])}return t});return new RL(this.table,t,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let t=typeof e==`function`?e(new PL):e;if(!X(t,OF)&&!$F(this.table[mF],t._.selectedFields))throw Error(`Insert select error: selected fields are not the same or are in a different order compared to the table definition`);return new RL(this.table,t,this.session,this.dialect,this.withList,!0)}},RL=class extends ZF{constructor(e,t,n,r,i,a,o){super(),this.session=n,this.dialect=r,this.config={table:e,values:t,withList:i,select:a,overridingSystemValue_:o}}static[Y]=`PgInsert`;config;cacheConfig;returning(e=this.config.table[xF.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=QF(e),this}onConflictDoNothing(e={}){if(e.target===void 0)this.config.onConflict=Z`do nothing`;else{let t=``;t=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?Z` where ${e.where}`:void 0;this.config.onConflict=Z`(${Z.raw(t)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error(`You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.`);let t=e.where?Z` where ${e.where}`:void 0,n=e.targetWhere?Z` where ${e.targetWhere}`:void 0,r=e.setWhere?Z` where ${e.setWhere}`:void 0,i=this.dialect.buildUpdateSet(this.config.table,eI(this.config.table,e.set)),a=``;return a=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=Z`(${Z.raw(a)})${n} do update set ${i}${t}${r}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return dF.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:FL(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>dF.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new hL({alias:SF(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},zL=class extends ZF{constructor(e,t,n){super(),this.session=t,this.dialect=n,this.config={view:e}}static[Y]=`PgRefreshMaterializedView`;config;concurrently(){if(this.config.withNoData!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return dF.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>dF.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))},BL=class{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[Y]=`PgUpdateBuilder`;authToken;setToken(e){return this.authToken=e,this}set(e){return new VL(this.table,eI(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}},VL=class extends ZF{constructor(e,t,n,r,i){super(),this.session=n,this.dialect=r,this.config={set:t,table:e,withList:i,joins:[]},this.tableName=rI(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{}}static[Y]=`PgUpdate`;config;tableName;joinsNotNullableMap;cacheConfig;from(e){let t=e,n=rI(t);return typeof n==`string`&&(this.joinsNotNullableMap[n]=!0),this.config.from=t,this}getTableLikeFields(e){return X(e,AI)?e[xF.Symbol.Columns]:X(e,oF)?e._.selectedFields:e[fF].selectedFields}createJoin(e){return(t,n)=>{let r=rI(t);if(typeof r==`string`&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(typeof n==`function`){let e=this.config.from&&!X(this.config.from,OF)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[xF.Symbol.Columns],new hL({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})),e&&new Proxy(e,new hL({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))}if(this.config.joins.push({on:n,table:t,joinType:e,alias:r}),typeof r==`string`)switch(e){case`left`:this.joinsNotNullableMap[r]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case`inner`:this.joinsNotNullableMap[r]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1;break}return this}}leftJoin=this.createJoin(`left`);rightJoin=this.createJoin(`right`);innerJoin=this.createJoin(`inner`);fullJoin=this.createJoin(`full`);where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[xF.Symbol.Columns]),this.config.from)){let t=rI(this.config.from);if(typeof t==`string`&&this.config.from&&!X(this.config.from,OF)){let n=this.getTableLikeFields(this.config.from);e[t]=n}for(let t of this.config.joins){let n=rI(t.table);if(typeof n==`string`&&!X(t.table,OF)){let r=this.getTableLikeFields(t.table);e[n]=r}}}return this.config.returningFields=e,this.config.returning=QF(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){let t=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:FL(this.config.table)},this.cacheConfig);return t.joinsNotNullableMap=this.joinsNotNullableMap,t}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new hL({alias:SF(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},HL=class e extends OF{constructor(t){super(e.buildEmbeddedCount(t.source,t.filters).queryChunks),this.params=t,this.mapWith(Number),this.session=t.session,this.sql=e.buildCount(t.source,t.filters)}sql;token;static[Y]=`PgCountBuilder`;[Symbol.toStringTag]=`PgCountBuilder`;session;static buildEmbeddedCount(e,t){return Z`(select count(*) from ${e}${Z.raw(` where `).if(t)}${t})`}static buildCount(e,t){return Z`select count(*) as count from ${e}${Z.raw(` where `).if(t)}${t};`}setToken(e){return this.token=e,this}then(e,t){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}},UL=class{constructor(e,t,n,r,i,a,o){this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o}static[Y]=`PgRelationalQueryBuilder`;findMany(e){return new WL(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},`many`)}findFirst(e){return new WL(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},`first`)}},WL=class extends ZF{constructor(e,t,n,r,i,a,o,s,c){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o,this.config=s,this.mode=c}static[Y]=`PgRelationalQuery`;_prepare(e){return dF.startActiveSpan(`drizzle.prepareQuery`,()=>{let{query:t,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let r=e.map(e=>mL(this.schema,this.tableConfig,e,t.selection,n));return this.mode===`first`?r[0]:r})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return dF.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(void 0,this.authToken))}},GL=class extends ZF{constructor(e,t,n,r){super(),this.execute=e,this.sql=t,this.query=n,this.mapBatchResult=r}static[Y]=`PgRaw`;getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}},KL=class{constructor(e,t,n){if(this.dialect=e,this.session=t,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:t}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:t},this.query={},this._.schema)for(let[r,i]of Object.entries(this._.schema))this.query[r]=new UL(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[r],i,e,t);this.$cache={invalidate:async e=>{}}}static[Y]=`PgDatabase`;query;$with=(e,t)=>{let n=this,r=r=>(typeof r==`function`&&(r=r(new PL(n.dialect))),new Proxy(new sF(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new hL({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})));return{as:r}};$count(e,t){return new HL({source:e,filters:t,session:this.session})}$cache;with(...e){let t=this;function n(n){return new CL({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})}function r(n){return new CL({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function i(n,r){return new CL({fields:r??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:{on:n}})}function a(n){return new BL(n,t.session,t.dialect,e)}function o(n){return new LL(n,t.session,t.dialect,e)}function s(n){return new IL(n,t.session,t.dialect,e)}return{select:n,selectDistinct:r,selectDistinctOn:i,update:a,insert:o,delete:s}}select(e){return new CL({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new CL({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,t){return new CL({fields:t??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new BL(e,this.session,this.dialect)}insert(e){return new LL(e,this.session,this.dialect)}delete(e){return new IL(e,this.session,this.dialect)}refreshMaterializedView(e){return new zL(e,this.session,this.dialect)}authToken;execute(e){let t=typeof e==`string`?Z.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(t),r=this.session.prepareQuery(n,void 0,void 0,!1);return new GL(()=>r.execute(void 0,this.authToken),t,n,e=>r.mapResult(e,!0))}transaction(e,t){return this.session.transaction(e,t)}},qL=class{static[Y]=`Cache`},JL=class extends qL{strategy(){return`all`}static[Y]=`NoopCache`;async get(e){}async put(e,t,n,r){}async onMutate(e){}};async function YL(e,t){let n=`${e}-${JSON.stringify(t)}`,r=new TextEncoder,i=r.encode(n),a=await crypto.subtle.digest(`SHA-256`,i),o=[...new Uint8Array(a)],s=o.map(e=>e.toString(16).padStart(2,`0`)).join(``);return s}var XL=class e extends Error{constructor(t,n,r){super(`Failed query: ${t} +params: ${n}`),this.query=t,this.params=n,this.cause=r,Error.captureStackTrace(this,e),r&&(this.cause=r)}},ZL=class{constructor(e,t,n,r){this.query=e,this.cache=t,this.queryMetadata=n,this.cacheConfig=r,t&&t.strategy()===`all`&&r===void 0&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,t){return e}setToken(e){return this.authToken=e,this}static[Y]=`PgPreparedQuery`;joinsNotNullableMap;async queryWithCache(e,t,n){if(this.cache===void 0||X(this.cache,JL)||this.queryMetadata===void 0)try{return await n()}catch(n){throw new XL(e,t,n)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new XL(e,t,n)}if((this.queryMetadata.type===`insert`||this.queryMetadata.type===`update`||this.queryMetadata.type===`delete`)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new XL(e,t,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new XL(e,t,n)}if(this.queryMetadata.type===`select`){let r=await this.cache.get(this.cacheConfig.tag??await YL(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(r===void 0){let r;try{r=await n()}catch(n){throw new XL(e,t,n)}return await this.cache.put(this.cacheConfig.tag??await YL(e,t),r,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),r}return r}try{return await n()}catch(n){throw new XL(e,t,n)}}},QL=class{constructor(e){this.dialect=e}static[Y]=`PgSession`;execute(e,t){return dF.startActiveSpan(`drizzle.operation`,()=>{let n=dF.startActiveSpan(`drizzle.prepareQuery`,()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1));return n.setToken(t).execute(void 0,t)})}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,t){let n=await this.execute(e,t);return Number(n[0].count)}},$L=class extends KL{constructor(e,t,n,r=0){super(e,t,n),this.schema=n,this.nestedIndex=r}static[Y]=`PgTransaction`;rollback(){throw new qF}getTransactionConfigSQL(e){let t=[];return e.isolationLevel&&t.push(`isolation level ${e.isolationLevel}`),e.accessMode&&t.push(e.accessMode),typeof e.deferrable==`boolean`&&t.push(e.deferrable?`deferrable`:`not deferrable`),Z.raw(t.join(` `))}setTransaction(e){return this.session.execute(Z`set transaction ${this.getTransactionConfigSQL(e)}`)}};function eR(e){return typeof e==`string`&&/^true$/i.test(e)}function tR(e){let t={scheme:`duckdb-wasm:`},n=new URL(e);if(!n.protocol.startsWith(`duckdb-wasm:`))throw Error(`Expected scheme to be "duckdb-wasm:" but got "${n.protocol}"`);n.searchParams.get(`bundles`)===`import-url`&&(t.bundles=`import-url`);let r=n.searchParams.get(`logger`);r&&eR(r)&&(t.logger=!0);let i=n.searchParams.get(`storage`);switch(i){case kP.ORIGIN_PRIVATE_FS:{n.host.length>0&&console.warn(`Host "${n.host}" will be ignored while using Origin Private FS`);let e=n.searchParams.get(`write`);t.storage={type:kP.ORIGIN_PRIVATE_FS,path:n.pathname.startsWith(`/`)?n.pathname.slice(1):n.pathname,...e&&eR(e)&&{accessMode:Yw.READ_WRITE}};break}case null:break;default:console.warn(`Unknown storage type "${i}"`);break}return t}var nR=class extends ZL{static[Y]=`DuckDBWasmPreparedQuery`;constructor(e,t,n,r,i,a){super({sql:t,params:n}),this.client=e,this.queryString=t,this.params=n,this.logger=r,this.fields=i,this.customResultMapper=a}async execute(e={}){let t=IF(this.params,e);this.logger.logQuery(this.queryString,t);let{fields:n,queryString:r,client:i,customResultMapper:a}=this,o=await i;return o.query(r,t)}async all(e={}){let t=IF(this.params,e);this.logger.logQuery(this.queryString,t);let n=await this.client;return n.query(this.queryString,t)}},rR=class e extends QL{static[Y]=`DuckDBWasmSession`;logger;constructor(e,t,n,r={}){super(t),this.client=e,this.schema=n,this.options=r,this.logger=r.logger??new XF}prepareQuery(e,t,n,r,i){return new nR(this.client,e.sql,e.params,this.logger,t,i)}async query(e,t){this.logger.logQuery(e,t);let n=await this.client;return n.query(e,t)}async queryObjects(e,t){this.logger.logQuery(e,t);let n=await this.client;return n.query(e,t)}transaction(t,n){return jP(this.client,async r=>{let i=new e(r,this.dialect,this.schema,this.options),a=new iR(this.dialect,i,this.schema);return n&&await a.setTransaction(n),t(a)})}},iR=class e extends $L{static[Y]=`DuckDBWasmTransaction`;dialect;session;constructor(e,t,n,r=0){super(e,t,n,r),this.dialect=e,this.session=t}async transaction(t){return MP(this.session.client,``,async n=>{let r=new rR(n,this.dialect,this.schema,this.session.options),i=new e(this.dialect,r,this.schema);return t(i)})}},aR=class extends KL{static[Y]=`DuckDBWasmDatabase`};function oR(e,t={}){let n=new xL({casing:t.casing}),r;t.logger===!0?r=new YF:t.logger!==!1&&(r=t.logger);let i;if(t.schema){let e=lL(t.schema,pL);i={fullSchema:t.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let a=new rR(e,n,i,{logger:r}),o=new aR(n,a,i);return o.$client=e,o}function sR(e,t){let n=tR(e),r;if(n.bundles===`import-url`){let e=async()=>{let e=await nP();switch(e){case`browser`:return(await u(async()=>{let{getImportUrlBundles:e}=await import(`./import-url-browser-DiF0t3Mp.js`);return{getImportUrlBundles:e}},__vite__mapDeps([4,5,6]))).getImportUrlBundles();case`node`:return await(await u(async()=>{let{getImportUrlBundles:e}=await import(`./import-url-node-6Z1GQvNO.js`);return{getImportUrlBundles:e}},__vite__mapDeps([7,6]))).getImportUrlBundles();default:throw Error(`Unsupported environment: "${e}"`)}};r=e()}else{let e=async()=>{let e=await nP();switch(e){case`browser`:return(await u(async()=>{let{getBundles:e}=await import(`./default-browser-CAeK6Ish.js`);return{getBundles:e}},[])).getBundles();case`node`:return await(await u(async()=>{let{getBundles:e}=await import(`./default-node-BHjno-1G.js`);return{getBundles:e}},__vite__mapDeps([3,1,2]))).getBundles();default:throw Error(`Unsupported environment: "${e}"`)}};r=e()}return oR(AP({bundles:r,logger:n.logger?new nT:void 0,storage:n.storage}),t)}function cR(...e){if(typeof e[0]==`string`)return sR(e[0],e[1]);if(iI(e[0])){let{connection:t,client:n,...r}=e[0];if(n)return oR(n,r);if(typeof t==`string`)return sR(t,r);if(t===void 0)throw Error(`connection option is required`);return oR(AP({bundles:t.bundles,logger:t.logger,storage:t.storage}),r)}return oR(e[0],e[1])}(function(e){function t(e){return oR({options:{parsers:{},serializers:{}}},e)}e.mock=t})(cR||={});var lR=Object.defineProperty,uR=(e,t,n)=>t in e?lR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dR=(e,t,n)=>uR(e,typeof t==`symbol`?t:t+``,n);function fR(e){return nn()?(on(e),!0):!1}function pR(e){return typeof e==`function`?e():W(e)}const mR=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;const hR=Object.prototype.toString,gR=e=>hR.call(e)===`[object Object]`,_R=()=>{};function vR(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function yR(e,t={}){let n,r,i=_R,a=e=>{clearTimeout(e),i(),i=_R};return o=>{let s=pR(e),c=pR(t.maxWait);return n&&a(n),s<=0||c!==void 0&&c<=0?(r&&(a(r),r=null),Promise.resolve(o())):new Promise((e,l)=>{i=t.rejectOnCancel?l:e,c&&!r&&(r=setTimeout(()=>{n&&a(n),r=null,e(o())},c)),n=setTimeout(()=>{r&&a(r),r=null,e(o())},s)})}}function bR(...e){let t=0,n,r=!0,i=_R,a,o,s,c,l;!ln(e[0])&&typeof e[0]==`object`?{delay:o,trailing:s=!0,leading:c=!0,rejectOnCancel:l=!1}=e[0]:[o,s=!0,c=!0,l=!1]=e;let u=()=>{n&&(clearTimeout(n),n=void 0,i(),i=_R)};return e=>{let d=pR(o),f=Date.now()-t,p=()=>a=e();return u(),d<=0?(t=Date.now(),p()):(f>d&&(c||!r)?(t=Date.now(),p()):s&&(a=new Promise((e,a)=>{i=l?a:e,n=setTimeout(()=>{t=Date.now(),r=!0,e(p()),u()},Math.max(0,d-f))})),!c&&!n&&(n=setTimeout(()=>r=!0,d)),r=!1,a)}}function xR(e){return bn()}function SR(e,t=200,n={}){return vR(yR(t,n),e)}function CR(e,t=200,n=!1,r=!0,i=!1){return vR(bR(t,n,r,i),e)}function wR(e,t=!0,n){xR()?Jt(e,n):t?e():Yt(e)}const TR=mR?window:void 0;function ER(e){var t;let n=pR(e);return(t=n?.$el)??n}function DR(...e){let t,n,r,i;if(typeof e[0]==`string`||Array.isArray(e[0])?([n,r,i]=e,t=TR):[t,n,r,i]=e,!t)return _R;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);let a=[],o=()=>{a.forEach(e=>e()),a.length=0},s=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),c=H(()=>[ER(t),pR(i)],([e,t])=>{if(o(),!e)return;let i=gR(t)?{...t}:t;a.push(...n.flatMap(t=>r.map(n=>s(e,t,n,i))))},{immediate:!0,flush:`post`}),l=()=>{c(),o()};return fR(l),l}function OR(){let e=G(!1),t=bn();return t&&Jt(()=>{e.value=!0},t),e}function kR(e){let t=OR();return yn(()=>(t.value,!!e()))}function AR(e,t={}){let{window:n=TR}=t,r=kR(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),i,a=G(!1),o=e=>{a.value=e.matches},s=()=>{i&&(`removeEventListener`in i?i.removeEventListener(`change`,o):i.removeListener(o))},c=pn(()=>{r.value&&(s(),i=n.matchMedia(pR(e)),`addEventListener`in i?i.addEventListener(`change`,o):i.addListener(o),a.value=i.matches)});return fR(()=>{c(),s(),i=void 0}),a}function jR(e,t,n={}){let{window:r=TR,...i}=n,a,o=kR(()=>r&&`ResizeObserver`in r),s=()=>{a&&(a.disconnect(),a=void 0)},c=yn(()=>{let t=pR(e);return Array.isArray(t)?t.map(e=>ER(e)):[ER(t)]}),l=H(c,e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),u=()=>{s(),l()};return fR(u),{isSupported:o,stop:u}}function MR(e,t={width:0,height:0},n={}){let{window:r=TR,box:i=`content-box`}=n,a=yn(()=>{var t,n;return(n=(t=ER(e))?.namespaceURI)?.includes(`svg`)}),o=G(t.width),s=G(t.height),{stop:c}=jR(e,([t])=>{let n=i===`border-box`?t.borderBoxSize:i===`content-box`?t.contentBoxSize:t.devicePixelContentBoxSize;if(r&&a.value){let t=ER(e);if(t){let e=t.getBoundingClientRect();o.value=e.width,s.value=e.height}}else if(n){let e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n);wR(()=>{let n=ER(e);n&&(o.value=`offsetWidth`in n?n.offsetWidth:t.width,s.value=`offsetHeight`in n?n.offsetHeight:t.height)});let l=H(()=>ER(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0});function u(){c(),l()}return{width:o,height:s,stop:u}}const NR=1;function PR(e,t={}){let{throttle:n=0,idle:r=200,onStop:i=_R,onScroll:a=_R,offset:o={left:0,right:0,top:0,bottom:0},eventListenerOptions:s={capture:!1,passive:!0},behavior:c=`auto`,window:l=TR,onError:u=e=>{console.error(e)}}=t,d=G(0),f=G(0),p=yn({get(){return d.value},set(e){h(e,void 0)}}),m=yn({get(){return f.value},set(e){h(void 0,e)}});function h(t,n){var r,i,a,o;if(!l)return;let s=pR(e);if(!s)return;(a=s instanceof Document?l.document.body:s)==null||a.scrollTo({top:(r=pR(n))??m.value,left:(i=pR(t))??p.value,behavior:pR(c)});let u=(o=s?.document)?.documentElement||s?.documentElement||s;p!=null&&(d.value=u.scrollLeft),m!=null&&(f.value=u.scrollTop)}let g=G(!1),_=an({left:!0,right:!1,top:!0,bottom:!1}),v=an({left:!1,right:!1,top:!1,bottom:!1}),y=e=>{g.value&&(g.value=!1,v.left=!1,v.right=!1,v.top=!1,v.bottom=!1,i(e))},b=SR(y,n+r),x=e=>{var t;if(!l)return;let n=(t=e?.document)?.documentElement||e?.documentElement||ER(e),{display:r,flexDirection:i}=getComputedStyle(n),a=n.scrollLeft;v.left=ad.value;let s=Math.abs(a)<=(o.left||0),c=Math.abs(a)+n.clientWidth>=n.scrollWidth-(o.right||0)-NR;r===`flex`&&i===`row-reverse`?(_.left=c,_.right=s):(_.left=s,_.right=c),d.value=a;let u=n.scrollTop;e===l.document&&!u&&(u=l.document.body.scrollTop),v.top=uf.value;let p=Math.abs(u)<=(o.top||0),m=Math.abs(u)+n.clientHeight>=n.scrollHeight-(o.bottom||0)-NR;r===`flex`&&i===`column-reverse`?(_.top=m,_.bottom=p):(_.top=p,_.bottom=m),f.value=u},S=e=>{var t;if(!l)return;let n=(t=e.target.documentElement)??e.target;x(n),g.value=!0,b(e),a(e)};return DR(e,`scroll`,n?CR(S,n,!0,!1):S,s),wR(()=>{try{let t=pR(e);if(!t)return;x(t)}catch(e){u(e)}}),DR(e,`scrollend`,y,s),{x:p,y:m,isScrolling:g,arrivedState:_,directions:v,measure(){let t=pR(e);l&&t&&x(t)}}}const FR={ctrl:`control`,command:`meta`,cmd:`meta`,option:`alt`,up:`arrowup`,down:`arrowdown`,left:`arrowleft`,right:`arrowright`};function IR(e={}){let{reactive:t=!1,target:n=TR,aliasMap:r=FR,passive:i=!0,onEventFired:a=_R}=e,o=an(new Set),s={toJSON(){return{}},current:o},c=t?an(s):s,l=new Set,u=new Set;function d(e,n){e in c&&(t?c[e]=n:c[e].value=n)}function f(){o.clear();for(let e of u)d(e,!1)}function p(e,t){var n,r;let i=(n=e.key)?.toLowerCase(),a=[(r=e.code)?.toLowerCase(),i].filter(Boolean);i&&(t?o.add(i):o.delete(i));for(let e of a)u.add(e),d(e,t);i===`meta`&&!t?(l.forEach(e=>{o.delete(e),d(e,!1)}),l.clear()):typeof e.getModifierState==`function`&&e.getModifierState(`Meta`)&&t&&[...o,...a].forEach(e=>l.add(e))}DR(n,`keydown`,e=>(p(e,!0),a(e)),{passive:i}),DR(n,`keyup`,e=>(p(e,!1),a(e)),{passive:i}),DR(`blur`,f,{passive:!0}),DR(`focus`,f,{passive:!0});let m=new Proxy(c,{get(e,n,i){if(typeof n!=`string`)return Reflect.get(e,n,i);if(n=n.toLowerCase(),n in r&&(n=r[n]),!(n in c))if(/[+_-]/.test(n)){let e=n.split(/[+_-]/g).map(e=>e.trim());c[n]=yn(()=>e.every(e=>pR(m[e])))}else c[n]=G(!1);let a=Reflect.get(e,n,i);return t?pR(a):a}});return m}const LR={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof Touch?null:[e.movementX,e.movementY]};function RR(e={}){let{type:t=`page`,touch:n=!0,resetOnTouchEnds:r=!1,initialValue:i={x:0,y:0},window:a=TR,target:o=a,scroll:s=!0,eventFilter:c}=e,l=null,u=0,d=0,f=G(i.x),p=G(i.y),m=G(null),h=typeof t==`function`?t:LR[t],g=e=>{let t=h(e);l=e,t&&([f.value,p.value]=t,m.value=`mouse`),a&&(u=a.scrollX,d=a.scrollY)},_=e=>{if(e.touches.length>0){let t=h(e.touches[0]);t&&([f.value,p.value]=t,m.value=`touch`)}},v=()=>{if(!l||!a)return;let e=h(l);l instanceof MouseEvent&&e&&(f.value=e[0]+a.scrollX-u,p.value=e[1]+a.scrollY-d)},y=()=>{f.value=i.x,p.value=i.y},b=c?e=>c(()=>g(e),{}):e=>g(e),x=c?e=>c(()=>_(e),{}):e=>_(e),S=c?()=>c(()=>v(),{}):()=>v();if(o){let e={passive:!0};DR(o,[`mousemove`,`dragover`],b,e),n&&t!==`movement`&&(DR(o,[`touchstart`,`touchmove`],x,e),r&&DR(o,`touchend`,y,e)),s&&t===`page`&&DR(a,`scroll`,S,{passive:!0})}return{x:f,y:p,sourceType:m}}function zR(e={}){let{window:t=TR,behavior:n=`auto`}=e;if(!t)return{x:G(0),y:G(0)};let r=G(t.scrollX),i=G(t.scrollY),a=yn({get(){return r.value},set(e){scrollTo({left:e,behavior:n})}}),o=yn({get(){return i.value},set(e){scrollTo({top:e,behavior:n})}});return DR(t,`scroll`,()=>{r.value=t.scrollX,i.value=t.scrollY},{capture:!1,passive:!0}),{x:a,y:o}}function BR(e={}){let{window:t=TR,initialWidth:n=1/0,initialHeight:r=1/0,listenOrientation:i=!0,includeScrollbar:a=!0,type:o=`inner`}=e,s=G(n),c=G(r),l=()=>{t&&(o===`outer`?(s.value=t.outerWidth,c.value=t.outerHeight):a?(s.value=t.innerWidth,c.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(l(),wR(l),DR(`resize`,l,{passive:!0}),i){let e=AR(`(orientation: portrait)`);H(e,()=>l())}return{width:s,height:c}}function VR(e){let{resolution:t,renderer:n,scene:r,envMap:i,fog:a,near:o,far:s}=e;n??=w().renderer,r??=w().scene,pn(()=>{t=cn(e.resolution)??255,o=cn(e.near)??.1,s=cn(e.far)??1e3,i=cn(e.envMap)??void 0,a=cn(e.fog)??void 0,n=cn(e.renderer)??n,r=cn(e.scene)??r});let c=yn(()=>new ot(cn(t)));c.value.texture.type=j,fR(()=>{c.value.dispose()});let l=yn(()=>new ke(cn(o),cn(s),cn(c))),u=()=>{let e=cn(r),t=e.fog,o=e.background;e.background=cn(i)||o,e.fog=cn(a)||t,l.value.update(cn(n),e),e.fog=t,e.background=o};return pn(u),{fbo:c,camera:l,update:u}}const HR=[`object`],UR=Xt({__name:`component`,props:{frames:{default:1/0},resolution:{},near:{},far:{},envMap:{},fog:{},renderer:{},scene:{}},setup(e,{expose:t}){let n=e,r=B(),{fbo:i,camera:a,update:o}=VR(n),s=0;return T().onBeforeRender(()=>{r.value&&(n.frames===1/0||s{`material`in e&&typeof e.material==`object`&&e.material&&`envMap`in e.material&&(e.material.envMap=i.value.texture)}),s++)}),t({instance:r,fbo:i,camera:a,update:o}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`groupRef`,ref:r},[K(`primitive`,{object:W(a)},null,8,HR),hn(e.$slots,`default`)],512))}}),WR=Xt({__name:`Billboard`,props:{autoUpdate:{type:Boolean,default:!0},lockX:{type:Boolean,default:!1},lockY:{type:Boolean,default:!1},lockZ:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=e,r=B(new Tt),i=B(new Tt),a=new rt,o=new re;function s(e){r.value&&(!e&&(e=w().camera.value,!e)||(i.value.rotation.copy(o),r.value.updateMatrix(),r.value.updateWorldMatrix(!1,!1),r.value.getWorldQuaternion(a),e.getWorldQuaternion(i.value.quaternion).premultiply(a.invert()),n.lockX&&(i.value.rotation.x=o.x),n.lockY&&(i.value.rotation.y=o.y),n.lockZ&&(i.value.rotation.z=o.z)))}return T().onBeforeRender(({camera:e})=>{n.autoUpdate&&s(e)}),t({instance:r,update:s}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`outerRef`,ref:r},[K(`TresGroup`,{ref_key:`innerRef`,ref:i},[hn(e.$slots,`default`)],512)],512))}}),GR=Xt({name:`GlobalAudio`,props:[`src`,`loop`,`volume`,`playbackRate`,`playTrigger`,`stopTrigger`],async setup(e,{expose:t,emit:n}){var r;let{camera:i,renderer:a}=be(),o=new Ye;(r=i.value)==null||r.add(o);let s=new zt(o),c=new Oe;t({instance:s}),dn(()=>{s&&s.disconnect()}),H(()=>[e.playbackRate],()=>s.setPlaybackRate(e.playbackRate??1),{immediate:!0}),H(()=>[e.volume],()=>s.setVolume(e.volume??.5),{immediate:!0}),H(()=>[e.loop],()=>s.setLoop(e.loop??!1),{immediate:!0}),H(()=>[e.src],async()=>{let t=await c.loadAsync(e.src);s.setBuffer(t)},{immediate:!0});let l=document.getElementById(e.playTrigger??``)||a.value.domElement;DR(l,`click`,()=>{s.isPlaying?s.pause():s.play(),n(`isPlaying`,s.isPlaying)});let u=document.getElementById(e.stopTrigger??``);return u&&DR(u,`click`,()=>{s.stop(),n(`isPlaying`,s.isPlaying)}),null}}),KR=[`color-space`,`args`,`attach`],qR=Xt({__name:`GradientTexture`,props:{stops:{},colors:{},attach:{default:`map`},height:{default:1024},width:{default:16},type:{default:`linear`},innerCircleRadius:{default:0},outerCircleRadius:{default:`auto`}},setup(e,{expose:t}){let n=e,r=B(),i=document.createElement(`canvas`);function a(e){let t=e.getContext(`2d`);e.width=n.width,e.height=n.height;let i;if(n.type===`linear`)i=t.createLinearGradient(0,0,0,n.height);else{let r=e.width/2,a=e.height/2,o=n.outerCircleRadius===`auto`?Math.sqrt(r**2+a**2):Math.abs(Number(n.outerCircleRadius));i=t.createRadialGradient(r,a,Math.abs(n.innerCircleRadius),r,a,o)}let a=new Ct,o=n.stops.length;for(;o--;)i.addColorStop(n.stops[o],a.set(n.colors[o]).getStyle());t.save(),t.fillStyle=i,t.fillRect(0,0,n.width,n.height),t.restore(),r.value&&(r.value.needsUpdate=!0)}let o=w().renderer;return H(()=>[n.colors,n.stops,n.height,n.width,n.type,n.innerCircleRadius,n.outerCircleRadius],()=>{a(i)},{immediate:!0}),en(n.colors)&&H(n.colors,()=>a(i)),en(n.stops)&&H(n.stops,()=>a(i)),t({instance:r}),(e,t)=>(U(),V(`TresCanvasTexture`,{ref_key:`textureRef`,ref:r,"color-space":W(o).outputColorSpace,args:[W(i)],attach:n.attach},null,8,KR))}});function JR(e,t,n,r){let i=class extends at{constructor(r={}){let i=Object.entries(e);super({uniforms:i.reduce((e,[t,n])=>{let r=Rt.clone({[t]:{value:n}});return{...e,...r}},{}),vertexShader:t,fragmentShader:n}),dR(this,`key`,``),i.forEach(([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t})),Object.assign(this,r)}};return i.key=we.generateUUID(),i}const YR=JR({color:new Ct(`white`),scale:new Ae(1,1),imageBounds:new Ae(1,1),resolution:1024,map:null,zoom:1,radius:0,grayscale:0,opacity:1},` + varying vec2 vUv; + varying vec2 vPos; + void main() { + gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.); + vUv = uv; + vPos = position.xy; + } + `,` + // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44 + varying vec2 vUv; + varying vec2 vPos; + uniform vec2 scale; + uniform vec2 imageBounds; + uniform float resolution; + uniform vec3 color; + uniform sampler2D map; + uniform float radius; + uniform float zoom; + uniform float grayscale; + uniform float opacity; + const vec3 luma = vec3(.299, 0.587, 0.114); + vec4 toGrayscale(vec4 color, float intensity) { + return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a); + } + vec2 aspect(vec2 size) { + return size / min(size.x, size.y); + } + + const float PI = 3.14159265; + + // from https://iquilezles.org/articles/distfunctions + float udRoundBox( vec2 p, vec2 b, float r ) { + return length(max(abs(p)-b+r,0.0))-r; + } + + void main() { + vec2 s = aspect(scale); + vec2 i = aspect(imageBounds); + float rs = s.x / s.y; + float ri = i.x / i.y; + vec2 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; + vec2 uv = vUv * s / new + offset; + vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5); + + vec2 res = vec2(scale * resolution); + vec2 halfRes = 0.5 * res; + float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius); + vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b)); + gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale); + + #include + #include + } + `),XR=Xt({__name:`ImageMaterial`,setup(e,{expose:t}){A({ImageMaterial:YR});let n=B();return t({instance:n}),(e,t)=>(U(),V(`TresImageMaterial`,{ref_key:`materialRef`,ref:n},null,512))}}),ZR=[`scale`],QR=[`args`],$R=Xt({__name:`component`,props:{segments:{default:1},scale:{default:1},color:{default:()=>new Ct(`white`)},zoom:{default:1},radius:{default:0},grayscale:{default:0},toneMapped:{type:Boolean,default:!0},transparent:{type:Boolean,default:!1},opacity:{default:1},side:{default:He},texture:{},url:{}},setup(e,{expose:t}){let n=e,r=B(),i=B(n.texture??null),a=w().sizes,o=yn(()=>Array.isArray(n.scale)?[n.scale[0],n.scale[1]]:[n.scale,n.scale]),s=yn(()=>{var e,t;return[(e=i.value)?.image.width??0,(t=i.value)?.image.height??0]}),c=yn(()=>Math.max(a.width.value,a.height.value));pn(()=>{n.texture?i.value=n.texture:E([n.url]).then(e=>i.value=e)});let l=yn(()=>Array.isArray(n.scale)?[...n.scale,1]:n.scale);return t({instance:r}),(e,t)=>(U(),V(`TresMesh`,{ref_key:`imageRef`,ref:r,scale:l.value},[hn(e.$slots,`default`,{},()=>[K(`TresPlaneGeometry`,{args:[1,1,n.segments,n.segments]},null,8,QR)]),Cn(XR,{color:n.color,map:i.value,zoom:n.zoom,grayscale:n.grayscale,opacity:n.opacity,scale:o.value,imageBounds:s.value,resolution:c.value,radius:e.radius,toneMapped:e.toneMapped,transparent:e.transparent,side:e.side},null,8,[`color`,`map`,`zoom`,`grayscale`,`opacity`,`scale`,`imageBounds`,`resolution`,`radius`,`toneMapped`,`transparent`,`side`])],8,ZR))}}),ez=parseInt(Lt.replace(/\D+/g,``)),tz=ez>=125?`uv1`:`uv2`;function nz(e,t=Math.PI/3){let n=Math.cos(t),r=1.0000000001*100,i=[new L,new L,new L],a=new L,o=new L,s=new L,c=new L;function l(e){let t=~~(e.x*r),n=~~(e.y*r),i=~~(e.z*r);return`${t},${n},${i}`}let u=e.index?e.toNonIndexed():e,d=u.attributes.position,f={};for(let e=0,t=d.count/3;en&&c.add(t)}c.normalize(),m.setXYZ(t+e,c.x,c.y,c.z)}}return u.setAttribute(`normal`,m),u}var rz=Object.defineProperty,iz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,az=(e,t,n)=>(iz(e,t+``,n),n);async function oz(e){let t=await e.arrayBuffer(),n=btoa(String.fromCharCode(...new Uint8Array(t)));return`data:${e.type||``};base64,${n}`}let sz,cz,lz,uz;function dz(e,t=1/0,n=null){cz||=new Mt(2,2,1,1),lz||=new at({uniforms:{blitTexture:new Ge(e)},vertexShader:` + varying vec2 vUv; + void main(){ + vUv = uv; + gl_Position = vec4(position.xy * 1.0,0.,.999999); + } + `,fragmentShader:` + uniform sampler2D blitTexture; + varying vec2 vUv; + + void main(){ + gl_FragColor = vec4(vUv.xy, 0, 1); + + #ifdef IS_SRGB + gl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) ); + #else + gl_FragColor = texture2D( blitTexture, vUv); + #endif + } + `}),lz.uniforms.blitTexture.value=e,lz.defines.IS_SRGB=`colorSpace`in e?e.colorSpace===`srgb`:e.encoding===3001,lz.needsUpdate=!0,uz||(uz=new z(cz,lz),uz.frustrumCulled=!1);let r=new At,i=new je;i.add(uz),n||=sz=new Ce({antialias:!1}),n.setSize(Math.min(e.image.width,t),Math.min(e.image.height,t)),n.clear(),n.render(i,r);let a=new ht(n.domElement);return a.minFilter=e.minFilter,a.magFilter=e.magFilter,a.wrapS=e.wrapS,a.wrapT=e.wrapT,a.name=e.name,sz&&(sz.dispose(),sz=null),a}const fz={POSITION:[`byte`,`byte normalized`,`unsigned byte`,`unsigned byte normalized`,`short`,`short normalized`,`unsigned short`,`unsigned short normalized`],NORMAL:[`byte normalized`,`short normalized`],TANGENT:[`byte normalized`,`short normalized`],TEXCOORD:[`byte`,`byte normalized`,`unsigned byte`,`short`,`short normalized`,`unsigned short`]};var pz=class{constructor(){this.pluginCallbacks=[],this.register(function(e){return new Pz(e)}),this.register(function(e){return new Fz(e)}),this.register(function(e){return new Rz(e)}),this.register(function(e){return new zz(e)}),this.register(function(e){return new Bz(e)}),this.register(function(e){return new Vz(e)}),this.register(function(e){return new Iz(e)}),this.register(function(e){return new Lz(e)}),this.register(function(e){return new Hz(e)}),this.register(function(e){return new Uz(e)}),this.register(function(e){return new Wz(e)})}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,n,r){let i=new Nz,a=[];for(let e=0,t=this.pluginCallbacks.length;ee.times[e.times.length-1]){if(Math.abs(e.times[e.times.length-1]-t)<.001)return e.times.length-1;r[r.length-1]=t,r.set(e.times,0),i.set(e.values,0),i.set(a.evaluate(t),e.values.length),o=r.length-1}else for(let s=0;st){r.set(e.times.slice(0,s+1),0),r[s+1]=t,r.set(e.times.slice(s+1),s+2),i.set(e.values.slice(0,(s+1)*n),0),i.set(a.evaluate(t),(s+1)*n),i.set(e.values.slice((s+1)*n),(s+2)*n),o=s+1;break}}return e.times=r,e.values=i,o},mergeMorphTargetTracks:function(e,t){let n=[],r={},i=e.tracks;for(let e=0;e4?n=e.array[i*e.itemSize+t]:(t===0?n=e.getX(i):t===1?n=e.getY(i):t===2?n=e.getZ(i):t===3&&(n=e.getW(i)),e.normalized===!0&&(n=we.normalize(n,e.array))),r.min[t]=Math.min(r.min[t],n),r.max[t]=Math.max(r.max[t],n)}return r}function kz(e){return Math.ceil(e/4)*4}function Az(e,t=0){let n=kz(e.byteLength);if(n!==e.byteLength){let r=new Uint8Array(n);if(r.set(new Uint8Array(e)),t!==0)for(let i=e.byteLength;i`u`&&typeof OffscreenCanvas<`u`?new OffscreenCanvas(1,1):document.createElement(`canvas`)}function Mz(e,t){if(e.toBlob!==void 0)return new Promise(n=>e.toBlob(n,t));let n;return t===`image/jpeg`?n=.92:t===`image/webp`&&(n=.8),e.convertToBlob({type:t,quality:n})}var Nz=class{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:`2.0`,generator:`THREE.GLTFExporter`}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,t,n={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},n),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);let r=this,i=r.buffers,a=r.json;n=r.options;let o=r.extensionsUsed,s=r.extensionsRequired,c=new Blob(i,{type:`application/octet-stream`}),l=Object.keys(o),u=Object.keys(s);l.length>0&&(a.extensionsUsed=l),u.length>0&&(a.extensionsRequired=u),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=c.size),n.binary===!0?c.arrayBuffer().then(e=>{let n=Az(e),r=new DataView(new ArrayBuffer(Sz));r.setUint32(0,n.byteLength,!0),r.setUint32(4,wz,!0);let i=Az(Ez(JSON.stringify(a)),32),o=new DataView(new ArrayBuffer(Sz));o.setUint32(0,i.byteLength,!0),o.setUint32(4,Cz,!0);let s=new ArrayBuffer(yz),c=new DataView(s);c.setUint32(0,bz,!0),c.setUint32(4,xz,!0);let l=yz+o.byteLength+i.byteLength+r.byteLength+n.byteLength;c.setUint32(8,l,!0),new Blob([s,o,i,r,n],{type:`application/octet-stream`}).arrayBuffer().then(t)}):a.buffers&&a.buffers.length>0?oz(c).then(e=>{a.buffers[0].uri=e,t(a)}):t(a)}serializeUserData(e,t){if(Object.keys(e.userData).length===0)return;let n=this.options,r=this.extensionsUsed;try{let i=JSON.parse(JSON.stringify(e.userData));if(n.includeCustomExtensions&&i.gltfExtensions){for(let e in t.extensions===void 0&&(t.extensions={}),i.gltfExtensions)t.extensions[e]=i.gltfExtensions[e],r[e]=!0;delete i.gltfExtensions}Object.keys(i).length>0&&(t.extras=i)}catch(t){console.warn(`THREE.GLTFExporter: userData of '`+e.name+`' won't be serialized because of JSON.stringify error - `+t.message)}}getUID(e,t=!1){if(this.uids.has(e)===!1){let t=new Map;t.set(!0,this.uid++),t.set(!1,this.uid++),this.uids.set(e,t)}return this.uids.get(e).get(t)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;let t=new L;for(let n=0,r=e.count;n5e-4)return!1;return!0}createNormalizedNormalAttribute(e){let t=this.cache;if(t.attributesNormalized.has(e))return t.attributesNormalized.get(e);let n=e.clone(),r=new L;for(let e=0,t=n.count;e4?r=e.array[i*e.itemSize+n]:(n===0?r=e.getX(i):n===1?r=e.getY(i):n===2?r=e.getZ(i):n===3&&(r=e.getW(i)),e.normalized===!0&&(r=we.normalize(r,e.array))),t===mz.FLOAT?c.setFloat32(l,r,!0):t===mz.INT?c.setInt32(l,r,!0):t===mz.UNSIGNED_INT?c.setUint32(l,r,!0):t===mz.SHORT?c.setInt16(l,r,!0):t===mz.UNSIGNED_SHORT?c.setUint16(l,r,!0):t===mz.BYTE?c.setInt8(l,r):t===mz.UNSIGNED_BYTE&&c.setUint8(l,r),l+=o}let u={buffer:this.processBuffer(c.buffer),byteOffset:this.byteOffset,byteLength:s};return i!==void 0&&(u.target=i),i===mz.ARRAY_BUFFER&&(u.byteStride=e.itemSize*o),this.byteOffset+=s,a.bufferViews.push(u),{id:a.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){let t=this,n=t.json;return n.bufferViews||=[],e.arrayBuffer().then(e=>{let r=Az(e),i={buffer:t.processBuffer(r),byteOffset:t.byteOffset,byteLength:r.byteLength};return t.byteOffset+=r.byteLength,n.bufferViews.push(i)-1})}processAccessor(e,t,n,r){let i=this.json,a={1:`SCALAR`,2:`VEC2`,3:`VEC3`,4:`VEC4`,9:`MAT3`,16:`MAT4`},o;if(e.array.constructor===Float32Array)o=mz.FLOAT;else if(e.array.constructor===Int32Array)o=mz.INT;else if(e.array.constructor===Uint32Array)o=mz.UNSIGNED_INT;else if(e.array.constructor===Int16Array)o=mz.SHORT;else if(e.array.constructor===Uint16Array)o=mz.UNSIGNED_SHORT;else if(e.array.constructor===Int8Array)o=mz.BYTE;else if(e.array.constructor===Uint8Array)o=mz.UNSIGNED_BYTE;else throw Error(`THREE.GLTFExporter: Unsupported bufferAttribute component type: `+e.array.constructor.name);if(n===void 0&&(n=0),r===void 0&&(r=e.count),r===0)return null;let s=Oz(e,n,r),c;t!==void 0&&(c=e===t.index?mz.ELEMENT_ARRAY_BUFFER:mz.ARRAY_BUFFER);let l=this.processBufferView(e,o,n,r,c),u={bufferView:l.id,byteOffset:l.byteOffset,componentType:o,count:r,max:s.max,min:s.min,type:a[e.itemSize]};return e.normalized===!0&&(u.normalized=!0),i.accessors||=[],i.accessors.push(u)-1}processImage(e,t,n,r=`image/png`){if(e!==null){let i=this,a=i.cache,o=i.json,s=i.options,c=i.pending;a.images.has(e)||a.images.set(e,{});let l=a.images.get(e),u=r+`:flipY/`+n.toString();if(l[u]!==void 0)return l[u];o.images||=[];let d={mimeType:r},f=jz();f.width=Math.min(e.width,s.maxTextureSize),f.height=Math.min(e.height,s.maxTextureSize);let p=f.getContext(`2d`);if(n===!0&&(p.translate(0,f.height),p.scale(1,-1)),e.data!==void 0){t!==S&&console.error(`GLTFExporter: Only RGBAFormat is supported.`,t),(e.width>s.maxTextureSize||e.height>s.maxTextureSize)&&console.warn(`GLTFExporter: Image size is bigger than maxTextureSize`,e);let n=new Uint8ClampedArray(e.height*e.width*4);for(let t=0;ti.processBufferViewImage(e)).then(e=>{d.bufferView=e})):f.toDataURL===void 0?c.push(Mz(f,r).then(oz).then(e=>{d.uri=e})):d.uri=f.toDataURL(r);let m=o.images.push(d)-1;return l[u]=m,m}else throw Error(`THREE.GLTFExporter: No valid image data found. Unable to process texture.`)}processSampler(e){let t=this.json;t.samplers||=[];let n={magFilter:gz[e.magFilter],minFilter:gz[e.minFilter],wrapS:gz[e.wrapS],wrapT:gz[e.wrapT]};return t.samplers.push(n)-1}processTexture(e){let t=this.options,n=this.cache,r=this.json;if(n.textures.has(e))return n.textures.get(e);r.textures||=[],e instanceof Je&&(e=dz(e,t.maxTextureSize));let i=e.userData.mimeType;i===`image/webp`&&(i=`image/png`);let a={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,i)};e.name&&(a.name=e.name),this._invokeAll(function(t){t.writeTexture&&t.writeTexture(e,a)});let o=r.textures.push(a)-1;return n.textures.set(e,o),o}processMaterial(e){let t=this.cache,n=this.json;if(t.materials.has(e))return t.materials.get(e);if(e.isShaderMaterial)return console.warn(`GLTFExporter: THREE.ShaderMaterial not supported.`),null;n.materials||=[];let r={pbrMetallicRoughness:{}};e.isMeshStandardMaterial!==!0&&e.isMeshBasicMaterial!==!0&&console.warn(`GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.`);let i=e.color.toArray().concat([e.opacity]);if(Tz(i,[1,1,1,1])||(r.pbrMetallicRoughness.baseColorFactor=i),e.isMeshStandardMaterial?(r.pbrMetallicRoughness.metallicFactor=e.metalness,r.pbrMetallicRoughness.roughnessFactor=e.roughness):(r.pbrMetallicRoughness.metallicFactor=.5,r.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){let t=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),n={index:this.processTexture(t),channel:t.channel};this.applyTextureTransform(n,t),r.pbrMetallicRoughness.metallicRoughnessTexture=n}if(e.map){let t={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(t,e.map),r.pbrMetallicRoughness.baseColorTexture=t}if(e.emissive){let t=e.emissive;if(Math.max(t.r,t.g,t.b)>0&&(r.emissiveFactor=e.emissive.toArray()),e.emissiveMap){let t={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(t,e.emissiveMap),r.emissiveTexture=t}}if(e.normalMap){let t={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&e.normalScale.x!==1&&(t.scale=e.normalScale.x),this.applyTextureTransform(t,e.normalMap),r.normalTexture=t}if(e.aoMap){let t={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};e.aoMapIntensity!==1&&(t.strength=e.aoMapIntensity),this.applyTextureTransform(t,e.aoMap),r.occlusionTexture=t}e.transparent?r.alphaMode=`BLEND`:e.alphaTest>0&&(r.alphaMode=`MASK`,r.alphaCutoff=e.alphaTest),e.side===ie&&(r.doubleSided=!0),e.name!==``&&(r.name=e.name),this.serializeUserData(e,r),this._invokeAll(function(t){t.writeMaterial&&t.writeMaterial(e,r)});let a=n.materials.push(r)-1;return t.materials.set(e,a),a}processMesh(e){let t=this.cache,n=this.json,r=[e.geometry.uuid];if(Array.isArray(e.material))for(let t=0,n=e.material.length;t=152?{uv:`TEXCOORD_0`,uv1:`TEXCOORD_1`,uv2:`TEXCOORD_2`,uv3:`TEXCOORD_3`}:{uv:`TEXCOORD_0`,uv2:`TEXCOORD_1`},color:`COLOR_0`,skinWeight:`WEIGHTS_0`,skinIndex:`JOINTS_0`},f=a.getAttribute(`normal`);f!==void 0&&!this.isNormalizedNormalAttribute(f)&&(console.warn(`THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one.`),a.setAttribute(`normal`,this.createNormalizedNormalAttribute(f)));let p=null;for(let e in a.attributes){if(e.slice(0,5)===`morph`)continue;let n=a.attributes[e];if(e=d[e]||e.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(e)||(e=`_`+e),t.attributes.has(this.getUID(n))){c[e]=t.attributes.get(this.getUID(n));continue}p=null;let r=n.array;e===`JOINTS_0`&&!(r instanceof Uint16Array)&&!(r instanceof Uint8Array)&&(console.warn(`GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.`),p=new qe(new Uint16Array(r),n.itemSize,n.normalized));let i=this.processAccessor(p||n,a);i!==null&&(e.startsWith(`_`)||this.detectMeshQuantization(e,n),c[e]=i,t.attributes.set(this.getUID(n),i))}if(f!==void 0&&a.setAttribute(`normal`,f),Object.keys(c).length===0)return null;if(e.morphTargetInfluences!==void 0&&e.morphTargetInfluences.length>0){let n=[],r=[],i={};if(e.morphTargetDictionary!==void 0)for(let t in e.morphTargetDictionary)i[e.morphTargetDictionary[t]]=t;for(let o=0;o0&&(s.extras={},s.extras.targetNames=r)}let m=Array.isArray(e.material);if(m&&a.groups.length===0)return null;let h=m?e.material:[e.material],g=m?a.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let e=0,n=g.length;e0&&(n.targets=u),a.index!==null){let r=this.getUID(a.index);(g[e].start!==void 0||g[e].count!==void 0)&&(r+=`:`+g[e].start+`:`+g[e].count),t.attributes.has(r)?n.indices=t.attributes.get(r):(n.indices=this.processAccessor(a.index,a,g[e].start,g[e].count),t.attributes.set(r,n.indices)),n.indices===null&&delete n.indices}let r=this.processMaterial(h[g[e].materialIndex]);r!==null&&(n.material=r),l.push(n)}s.primitives=l,n.meshes||=[],this._invokeAll(function(t){t.writeMesh&&t.writeMesh(e,s)});let _=n.meshes.push(s)-1;return t.meshes.set(i,_),_}detectMeshQuantization(e,t){if(this.extensionsUsed[hz])return;let n;switch(t.array.constructor){case Int8Array:n=`byte`;break;case Uint8Array:n=`unsigned byte`;break;case Int16Array:n=`short`;break;case Uint16Array:n=`unsigned short`;break;default:return}t.normalized&&(n+=` normalized`);let r=e.split(`_`,1)[0];fz[r]&&fz[r].includes(n)&&(this.extensionsUsed[hz]=!0,this.extensionsRequired[hz]=!0)}processCamera(e){let t=this.json;t.cameras||=[];let n=e.isOrthographicCamera,r={type:n?`orthographic`:`perspective`};return n?r.orthographic={xmag:e.right*2,ymag:e.top*2,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:r.perspective={aspectRatio:e.aspect,yfov:we.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},e.name!==``&&(r.name=e.type),t.cameras.push(r)-1}processAnimation(e,t){let n=this.json,r=this.nodeMap;n.animations||=[],e=pz.Utils.mergeMorphTargetTracks(e.clone(),t);let i=e.tracks,a=[],o=[];for(let e=0;e0){let t=[];for(let r=0,i=e.children.length;r0&&(i.children=t)}this._invokeAll(function(t){t.writeNode&&t.writeNode(e,i)});let a=t.nodes.push(i)-1;return r.set(e,a),a}processScene(e){let t=this.json,n=this.options;t.scenes||(t.scenes=[],t.scene=0);let r={};e.name!==``&&(r.name=e.name),t.scenes.push(r);let i=[];for(let t=0,r=e.children.length;t0&&(r.nodes=i),this.serializeUserData(e,r)}processObjects(e){let t=new je;t.name=`AuxScene`;for(let n=0;n0&&this.processObjects(n);for(let e=0;e0&&(a.range=e.distance)):e.isSpotLight&&(a.type=`spot`,e.distance>0&&(a.range=e.distance),a.spot={},a.spot.innerConeAngle=(e.penumbra-1)*e.angle*-1,a.spot.outerConeAngle=e.angle),e.decay!==void 0&&e.decay!==2&&console.warn(`THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2.`),e.target&&(e.target.parent!==e||e.target.position.x!==0||e.target.position.y!==0||e.target.position.z!==-1)&&console.warn(`THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1.`),i[this.name]||(r.extensions=r.extensions||{},r.extensions[this.name]={lights:[]},i[this.name]=!0);let o=r.extensions[this.name].lights;o.push(a),t.extensions=t.extensions||{},t.extensions[this.name]={light:o.length-1}}};let Fz=class{constructor(e){this.writer=e,this.name=`KHR_materials_unlit`}writeMaterial(e,t){if(!e.isMeshBasicMaterial)return;let n=this.writer.extensionsUsed;t.extensions=t.extensions||{},t.extensions[this.name]={},n[this.name]=!0,t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=.9}},Iz=class{constructor(e){this.writer=e,this.name=`KHR_materials_clearcoat`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.clearcoat===0)return;let n=this.writer,r=n.extensionsUsed,i={};if(i.clearcoatFactor=e.clearcoat,e.clearcoatMap){let t={index:n.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};n.applyTextureTransform(t,e.clearcoatMap),i.clearcoatTexture=t}if(i.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){let t={index:n.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};n.applyTextureTransform(t,e.clearcoatRoughnessMap),i.clearcoatRoughnessTexture=t}if(e.clearcoatNormalMap){let t={index:n.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};n.applyTextureTransform(t,e.clearcoatNormalMap),i.clearcoatNormalTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Lz=class{constructor(e){this.writer=e,this.name=`KHR_materials_iridescence`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.iridescence===0)return;let n=this.writer,r=n.extensionsUsed,i={};if(i.iridescenceFactor=e.iridescence,e.iridescenceMap){let t={index:n.processTexture(e.iridescenceMap),texCoord:e.iridescenceMap.channel};n.applyTextureTransform(t,e.iridescenceMap),i.iridescenceTexture=t}if(i.iridescenceIor=e.iridescenceIOR,i.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){let t={index:n.processTexture(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};n.applyTextureTransform(t,e.iridescenceThicknessMap),i.iridescenceThicknessTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Rz=class{constructor(e){this.writer=e,this.name=`KHR_materials_transmission`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;let n=this.writer,r=n.extensionsUsed,i={};if(i.transmissionFactor=e.transmission,e.transmissionMap){let t={index:n.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};n.applyTextureTransform(t,e.transmissionMap),i.transmissionTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},zz=class{constructor(e){this.writer=e,this.name=`KHR_materials_volume`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;let n=this.writer,r=n.extensionsUsed,i={};if(i.thicknessFactor=e.thickness,e.thicknessMap){let t={index:n.processTexture(e.thicknessMap),texCoord:e.thicknessMap.channel};n.applyTextureTransform(t,e.thicknessMap),i.thicknessTexture=t}i.attenuationDistance=e.attenuationDistance,i.attenuationColor=e.attenuationColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Bz=class{constructor(e){this.writer=e,this.name=`KHR_materials_ior`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.ior===1.5)return;let n=this.writer.extensionsUsed,r={};r.ior=e.ior,t.extensions=t.extensions||{},t.extensions[this.name]=r,n[this.name]=!0}},Vz=class{constructor(e){this.writer=e,this.name=`KHR_materials_specular`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.specularIntensity===1&&e.specularColor.equals(vz)&&!e.specularIntensityMap&&!e.specularColorTexture)return;let n=this.writer,r=n.extensionsUsed,i={};if(e.specularIntensityMap){let t={index:n.processTexture(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};n.applyTextureTransform(t,e.specularIntensityMap),i.specularTexture=t}if(e.specularColorMap){let t={index:n.processTexture(e.specularColorMap),texCoord:e.specularColorMap.channel};n.applyTextureTransform(t,e.specularColorMap),i.specularColorTexture=t}i.specularFactor=e.specularIntensity,i.specularColorFactor=e.specularColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Hz=class{constructor(e){this.writer=e,this.name=`KHR_materials_sheen`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.sheen==0)return;let n=this.writer,r=n.extensionsUsed,i={};if(e.sheenRoughnessMap){let t={index:n.processTexture(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};n.applyTextureTransform(t,e.sheenRoughnessMap),i.sheenRoughnessTexture=t}if(e.sheenColorMap){let t={index:n.processTexture(e.sheenColorMap),texCoord:e.sheenColorMap.channel};n.applyTextureTransform(t,e.sheenColorMap),i.sheenColorTexture=t}i.sheenRoughnessFactor=e.sheenRoughness,i.sheenColorFactor=e.sheenColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Uz=class{constructor(e){this.writer=e,this.name=`KHR_materials_anisotropy`}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.anisotropy==0)return;let n=this.writer,r=n.extensionsUsed,i={};if(e.anisotropyMap){let t={index:n.processTexture(e.anisotropyMap)};n.applyTextureTransform(t,e.anisotropyMap),i.anisotropyTexture=t}i.anisotropyStrength=e.anisotropy,i.anisotropyRotation=e.anisotropyRotation,t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Wz=class{constructor(e){this.writer=e,this.name=`KHR_materials_emissive_strength`}writeMaterial(e,t){if(!e.isMeshStandardMaterial||e.emissiveIntensity===1)return;let n=this.writer.extensionsUsed,r={};r.emissiveStrength=e.emissiveIntensity,t.extensions=t.extensions||{},t.extensions[this.name]=r,n[this.name]=!0}};var Gz=Uint8Array,Kz=Uint16Array,qz=Uint32Array,Jz=new Gz([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Yz=new Gz([0,0,0,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,13,13,0,0]),Xz=new Gz([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Zz=function(e,t){for(var n=new Kz(31),r=0;r<31;++r)n[r]=t+=1<>>1|(iB&21845)<<1;aB=(aB&52428)>>>2|(aB&13107)<<2,aB=(aB&61680)>>>4|(aB&3855)<<4,rB[iB]=((aB&65280)>>>8|(aB&255)<<8)>>>1}for(var oB=function(e,t,n){for(var r=e.length,i=0,a=new Kz(t);i>>c]=l}else for(s=new Kz(r),i=0;i>>15-e[i]);return s},sB=new Gz(288),iB=0;iB<144;++iB)sB[iB]=8;for(var iB=144;iB<256;++iB)sB[iB]=9;for(var iB=256;iB<280;++iB)sB[iB]=7;for(var iB=280;iB<288;++iB)sB[iB]=8;for(var cB=new Gz(32),iB=0;iB<32;++iB)cB[iB]=5;var lB=oB(sB,9,1),uB=oB(cB,5,1),dB=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},fB=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},pB=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},mB=function(e){return(e/8|0)+(e&7&&1)},hB=function(e,t,n){(n==null||n>e.length)&&(n=e.length);var r=new(e instanceof Kz?Kz:e instanceof qz?qz:Gz)(n-t);return r.set(e.subarray(t,n)),r},gB=function(e,t,n){var r=e.length;if(!r||n&&!n.l&&r<5)return t||new Gz(0);var i=!t||n,a=!n||n.i;n||={},t||=new Gz(r*3);var o=function(e){var n=t.length;if(e>n){var r=new Gz(Math.max(n*2,e));r.set(t),t=r}},s=n.f||0,c=n.p||0,l=n.b||0,u=n.l,d=n.d,f=n.m,p=n.n,m=r*8;do{if(!u){n.f=s=fB(e,c,1);var h=fB(e,c+1,3);if(c+=3,h)if(h==1)u=lB,d=uB,f=9,p=5;else if(h==2){var g=fB(e,c,31)+257,_=fB(e,c+10,15)+4,v=g+fB(e,c+5,31)+1;c+=14;for(var y=new Gz(v),b=new Gz(19),x=0;x<_;++x)b[Xz[x]]=fB(e,c+x*3,7);c+=_*3;for(var S=dB(b),C=(1<>>4;if(E<16)y[x++]=E;else{var D=0,O=0;for(E==16?(O=3+fB(e,c,3),c+=2,D=y[x-1]):E==17?(O=3+fB(e,c,7),c+=3):E==18&&(O=11+fB(e,c,127),c+=7);O--;)y[x++]=D}}var k=y.subarray(0,g),A=y.subarray(g);f=dB(k),p=dB(A),u=oB(k,f,1),d=oB(A,p,1)}else throw`invalid block type`;else{var E=mB(c)+4,j=e[E-4]|e[E-3]<<8,M=E+j;if(M>r){if(a)throw`unexpected EOF`;break}i&&o(l+j),t.set(e.subarray(E,M),l),n.b=l+=j,n.p=c=M*8;continue}if(c>m){if(a)throw`unexpected EOF`;break}}i&&o(l+131072);for(var N=(1<>>4;if(c+=D&15,c>m){if(a)throw`unexpected EOF`;break}if(!D)throw`invalid length/literal`;if(F<256)t[l++]=F;else if(F==256){P=c,u=null;break}else{var I=F-254;if(F>264){var x=F-257,te=Jz[x];I=fB(e,c,(1<>>4;if(!ne)throw`invalid distance`;c+=ne&15;var A=nB[L];if(L>3){var te=Yz[L];A+=pB(e,c)&(1<m){if(a)throw`unexpected EOF`;break}i&&o(l+131072);for(var re=l+I;l>>4>7||(e[0]<<8|e[1])%31)throw`invalid zlib data`;if(e[1]&32)throw`invalid zlib data: preset dictionaries not supported`},yB=typeof TextDecoder<`u`&&new TextDecoder,bB=0;try{yB.decode(_B,{stream:!0}),bB=1}catch{}var xB=Object.defineProperty,SB=(e,t,n)=>t in e?xB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,CB=(e,t,n)=>(SB(e,t+``,n),n);const wB=class extends z{constructor(e,t={}){super(e),this.isReflector=!0,this.type=`Reflector`,this.camera=new At;let n=this,r=t.color===void 0?new Ct(8355711):new Ct(t.color),i=t.textureWidth||512,a=t.textureHeight||512,o=t.clipBias||0,s=t.shader||wB.ReflectorShader,c=t.multisample===void 0?4:t.multisample,l=new qt,u=new L,d=new L,f=new L,p=new N,m=new L(0,0,-1),h=new mt,g=new L,_=new L,v=new mt,y=new N,b=this.camera,x=new ve(i,a,{samples:c,type:j}),S=new at({uniforms:Rt.clone(s.uniforms),fragmentShader:s.fragmentShader,vertexShader:s.vertexShader});S.uniforms.tDiffuse.value=x.texture,S.uniforms.color.value=r,S.uniforms.textureMatrix.value=y,this.material=S,this.onBeforeRender=function(e,t,r){if(d.setFromMatrixPosition(n.matrixWorld),f.setFromMatrixPosition(r.matrixWorld),p.extractRotation(n.matrixWorld),u.set(0,0,1),u.applyMatrix4(p),g.subVectors(d,f),g.dot(u)>0)return;g.reflect(u).negate(),g.add(d),p.extractRotation(r.matrixWorld),m.set(0,0,-1),m.applyMatrix4(p),m.add(f),_.subVectors(d,m),_.reflect(u).negate(),_.add(d),b.position.copy(g),b.up.set(0,1,0),b.up.applyMatrix4(p),b.up.reflect(u),b.lookAt(_),b.far=r.far,b.updateMatrixWorld(),b.projectionMatrix.copy(r.projectionMatrix),y.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),y.multiply(b.projectionMatrix),y.multiply(b.matrixWorldInverse),y.multiply(n.matrixWorld),l.setFromNormalAndCoplanarPoint(u,d),l.applyMatrix4(b.matrixWorldInverse),h.set(l.normal.x,l.normal.y,l.normal.z,l.constant);let i=b.projectionMatrix;v.x=(Math.sign(h.x)+i.elements[8])/i.elements[0],v.y=(Math.sign(h.y)+i.elements[9])/i.elements[5],v.z=-1,v.w=(1+i.elements[10])/i.elements[14],h.multiplyScalar(2/h.dot(v)),i.elements[2]=h.x,i.elements[6]=h.y,i.elements[10]=h.z+1-o,i.elements[14]=h.w,n.visible=!1;let a=e.getRenderTarget(),s=e.xr.enabled,c=e.shadowMap.autoUpdate,S=e.toneMapping,C=!1;C=`outputColorSpace`in e?e.outputColorSpace===`srgb`:e.outputEncoding===3001,e.xr.enabled=!1,e.shadowMap.autoUpdate=!1,`outputColorSpace`in e?e.outputColorSpace=`srgb-linear`:e.outputEncoding=3e3,e.toneMapping=Ut,e.setRenderTarget(x),e.state.buffers.depth.setMask(!0),e.autoClear===!1&&e.clear(),e.render(t,b),e.xr.enabled=s,e.shadowMap.autoUpdate=c,e.toneMapping=S,`outputColorSpace`in e?e.outputColorSpace=C?`srgb`:`srgb-linear`:e.outputEncoding=C?3001:3e3,e.setRenderTarget(a);let w=r.viewport;w!==void 0&&e.state.viewport(w),n.visible=!0},this.getRenderTarget=function(){return x},this.dispose=function(){x.dispose(),n.material.dispose()}}};let TB=wB;CB(TB,`ReflectorShader`,{uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:` + uniform mat4 textureMatrix; + varying vec4 vUv; + + #include + #include + + void main() { + + vUv = textureMatrix * vec4( position, 1.0 ); + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + #include + + }`,fragmentShader:` + uniform vec3 color; + uniform sampler2D tDiffuse; + varying vec4 vUv; + + #include + + 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 ) ); + + } + + void main() { + + #include + + vec4 base = texture2DProj( tDiffuse, vUv ); + gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 ); + + #include + #include <${ez>=154?`colorspace_fragment`:`encodings_fragment`}> + + }`});var EB=Object.defineProperty,DB=(e,t,n)=>t in e?EB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OB=(e,t,n)=>(DB(e,typeof t==`symbol`?t:t+``,n),n);const kB=new yt,AB=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),jB=new I(AB,5);kB.setIndex([0,1,2,0,2,3]),kB.setAttribute(`position`,new Ne(jB,3,0,!1)),kB.setAttribute(`uv`,new Ne(jB,2,3,!1));const MB=class extends z{constructor(){super(MB.Geometry,new Ie({opacity:0,transparent:!0})),this.isLensflare=!0,this.type=`Lensflare`,this.frustumCulled=!1,this.renderOrder=1/0;let e=new L,t=new L,n=new Me(new Uint8Array(16*16*3),16,16,S);n.minFilter=Qe,n.magFilter=Qe,n.wrapS=me,n.wrapT=me;let r=new Me(new Uint8Array(16*16*3),16,16,S);r.minFilter=Qe,r.magFilter=Qe,r.wrapS=me,r.wrapT=me;let i=MB.Geometry,a=new st({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + + void main() { + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + void main() { + + gl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 ); + + }`,depthTest:!0,depthWrite:!1,transparent:!1}),o=new st({uniforms:{map:{value:n},scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + attribute vec2 uv; + + varying vec2 vUV; + + void main() { + + vUV = uv; + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + uniform sampler2D map; + + varying vec2 vUV; + + void main() { + + gl_FragColor = texture2D( map, vUV ); + + }`,depthTest:!1,depthWrite:!1,transparent:!1}),s=new z(i,a),c=[],l=PB.Shader,u=new st({uniforms:{map:{value:null},occlusionMap:{value:r},color:{value:new Ct(16777215)},scale:{value:new Ae},screenPosition:{value:new L}},vertexShader:l.vertexShader,fragmentShader:l.fragmentShader,blending:de,transparent:!0,depthWrite:!1}),d=new z(i,u);this.addElement=function(e){c.push(e)};let f=new Ae,p=new Ae,m=new Wt,h=new mt;this.onBeforeRender=function(l,g,_){l.getCurrentViewport(h);let v=h.w/h.z,y=h.z/2,b=h.w/2,x=16/h.w;if(f.set(x*v,x),m.min.set(h.x,h.y),m.max.set(h.x+(h.z-16),h.y+(h.w-16)),t.setFromMatrixPosition(this.matrixWorld),t.applyMatrix4(_.matrixWorldInverse),!(t.z>0)&&(e.copy(t).applyMatrix4(_.projectionMatrix),p.x=h.x+e.x*y+y-8,p.y=h.y+e.y*b+b-8,m.containsPoint(p))){l.copyFramebufferToTexture(p,n);let t=a.uniforms;t.scale.value=f,t.screenPosition.value=e,l.renderBufferDirect(_,null,i,a,s,null),l.copyFramebufferToTexture(p,r),t=o.uniforms,t.scale.value=f,t.screenPosition.value=e,l.renderBufferDirect(_,null,i,o,s,null);let m=-e.x*2,g=-e.y*2;for(let t=0,n=c.length;t + #include + #include + #include + + void main() { + mirrorCoord = modelMatrix * vec4( position, 1.0 ); + worldPosition = mirrorCoord.xyzw; + mirrorCoord = textureMatrix * mirrorCoord; + vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 ); + gl_Position = projectionMatrix * mvPosition; + + #include + #include + #include + #include + #include + }`,fragmentShader:` + uniform sampler2D mirrorSampler; + uniform float alpha; + uniform float time; + uniform float size; + uniform float distortionScale; + uniform sampler2D normalSampler; + uniform vec3 sunColor; + uniform vec3 sunDirection; + uniform vec3 eye; + uniform vec3 waterColor; + + varying vec4 mirrorCoord; + varying vec4 worldPosition; + + vec4 getNoise( vec2 uv ) { + vec2 uv0 = ( uv / 103.0 ) + vec2(time / 17.0, time / 29.0); + vec2 uv1 = uv / 107.0-vec2( time / -19.0, time / 31.0 ); + vec2 uv2 = uv / vec2( 8907.0, 9803.0 ) + vec2( time / 101.0, time / 97.0 ); + vec2 uv3 = uv / vec2( 1091.0, 1027.0 ) - vec2( time / 109.0, time / -113.0 ); + vec4 noise = texture2D( normalSampler, uv0 ) + + texture2D( normalSampler, uv1 ) + + texture2D( normalSampler, uv2 ) + + texture2D( normalSampler, uv3 ); + return noise * 0.5 - 1.0; + } + + void sunLight( const vec3 surfaceNormal, const vec3 eyeDirection, float shiny, float spec, float diffuse, inout vec3 diffuseColor, inout vec3 specularColor ) { + vec3 reflection = normalize( reflect( -sunDirection, surfaceNormal ) ); + float direction = max( 0.0, dot( eyeDirection, reflection ) ); + specularColor += pow( direction, shiny ) * sunColor * spec; + diffuseColor += max( dot( sunDirection, surfaceNormal ), 0.0 ) * sunColor * diffuse; + } + + #include + #include + #include + #include + #include + #include + #include + #include + + void main() { + + #include + vec4 noise = getNoise( worldPosition.xz * size ); + vec3 surfaceNormal = normalize( noise.xzy * vec3( 1.5, 1.0, 1.5 ) ); + + vec3 diffuseLight = vec3(0.0); + vec3 specularLight = vec3(0.0); + + vec3 worldToEye = eye-worldPosition.xyz; + vec3 eyeDirection = normalize( worldToEye ); + sunLight( surfaceNormal, eyeDirection, 100.0, 2.0, 0.5, diffuseLight, specularLight ); + + float distance = length(worldToEye); + + vec2 distortion = surfaceNormal.xz * ( 0.001 + 1.0 / distance ) * distortionScale; + vec3 reflectionSample = vec3( texture2D( mirrorSampler, mirrorCoord.xy / mirrorCoord.w + distortion ) ); + + float theta = max( dot( eyeDirection, surfaceNormal ), 0.0 ); + float rf0 = 0.3; + float reflectance = rf0 + ( 1.0 - rf0 ) * pow( ( 1.0 - theta ), 5.0 ); + vec3 scatter = max( 0.0, dot( surfaceNormal, eyeDirection ) ) * waterColor; + vec3 albedo = mix( ( sunColor * diffuseLight * 0.3 + scatter ) * getShadowMask(), ( vec3( 0.1 ) + reflectionSample * 0.9 + reflectionSample * specularLight ), reflectance); + vec3 outgoingLight = albedo; + gl_FragColor = vec4( outgoingLight, alpha ); + + #include + #include <${parseInt(Lt.replace(/\D+/g,``))>=154?`colorspace_fragment`:`encodings_fragment`}> + #include + }`},A=new at({fragmentShader:k.fragmentShader,vertexShader:k.vertexShader,uniforms:Rt.clone(k.uniforms),lights:!0,side:m,fog:h});A.uniforms.mirrorSampler.value=O.texture,A.uniforms.textureMatrix.value=E,A.uniforms.alpha.value=o,A.uniforms.time.value=s,A.uniforms.normalSampler.value=c,A.uniforms.sunColor.value=u,A.uniforms.waterColor.value=d,A.uniforms.sunDirection.value=l,A.uniforms.distortionScale.value=p,A.uniforms.eye.value=f,n.material=A,n.onBeforeRender=function(e,t,r){if(v.setFromMatrixPosition(n.matrixWorld),y.setFromMatrixPosition(r.matrixWorld),b.extractRotation(n.matrixWorld),_.set(0,0,1),_.applyMatrix4(b),C.subVectors(v,y),C.dot(_)>0)return;C.reflect(_).negate(),C.add(v),b.extractRotation(r.matrixWorld),x.set(0,0,-1),x.applyMatrix4(b),x.add(y),w.subVectors(v,x),w.reflect(_).negate(),w.add(v),D.position.copy(C),D.up.set(0,1,0),D.up.applyMatrix4(b),D.up.reflect(_),D.lookAt(w),D.far=r.far,D.updateMatrixWorld(),D.projectionMatrix.copy(r.projectionMatrix),E.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),E.multiply(D.projectionMatrix),E.multiply(D.matrixWorldInverse),g.setFromNormalAndCoplanarPoint(_,v),g.applyMatrix4(D.matrixWorldInverse),S.set(g.normal.x,g.normal.y,g.normal.z,g.constant);let i=D.projectionMatrix;T.x=(Math.sign(S.x)+i.elements[8])/i.elements[0],T.y=(Math.sign(S.y)+i.elements[9])/i.elements[5],T.z=-1,T.w=(1+i.elements[10])/i.elements[14],S.multiplyScalar(2/S.dot(T)),i.elements[2]=S.x,i.elements[6]=S.y,i.elements[10]=S.z+1-a,i.elements[14]=S.w,f.setFromMatrixPosition(r.matrixWorld);let o=e.getRenderTarget(),s=e.xr.enabled,c=e.shadowMap.autoUpdate;n.visible=!1,e.xr.enabled=!1,e.shadowMap.autoUpdate=!1,e.setRenderTarget(O),e.state.buffers.depth.setMask(!0),e.autoClear===!1&&e.clear(),e.render(t,D),n.visible=!0,e.xr.enabled=s,e.shadowMap.autoUpdate=c,e.setRenderTarget(o);let l=r.viewport;l!==void 0&&e.state.viewport(l)}}},IB=Object.defineProperty,LB=(e,t,n)=>t in e?IB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RB=(e,t,n)=>(LB(e,typeof t==`symbol`?t:t+``,n),n);const zB={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new L},up:{value:new L(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${ez>=154?`colorspace_fragment`:`encodings_fragment`}> + + } + `},BB=new at({name:`SkyShader`,fragmentShader:zB.fragmentShader,vertexShader:zB.vertexShader,uniforms:Rt.clone(zB.uniforms),side:P,depthWrite:!1});var VB=class extends z{constructor(){super(new Fe(1,1,1),BB)}};RB(VB,`SkyShader`,zB),RB(VB,`material`,BB);const HB=new nt,UB=new L;var WB=class{constructor(e){let t=e.geometry;t.index&&(console.warn(`THREE.MeshSurfaceSampler: Converting geometry to non-indexed BufferGeometry.`),t=t.toNonIndexed()),this.geometry=t,this.randomFunction=Math.random,this.positionAttribute=this.geometry.getAttribute(`position`),this.colorAttribute=this.geometry.getAttribute(`color`),this.weightAttribute=null,this.distribution=null}setWeightAttribute(e){return this.weightAttribute=e?this.geometry.getAttribute(e):null,this}build(){let e=this.positionAttribute,t=this.weightAttribute,n=new Float32Array(e.count/3);for(let r=0;re){i=a;break}else e1&&(i=1-i,a=1-a),HB.a.fromBufferAttribute(this.positionAttribute,e*3),HB.b.fromBufferAttribute(this.positionAttribute,e*3+1),HB.c.fromBufferAttribute(this.positionAttribute,e*3+2),t.set(0,0,0).addScaledVector(HB.a,i).addScaledVector(HB.b,a).addScaledVector(HB.c,1-(i+a)),n!==void 0&&HB.getNormal(n),r!==void 0&&this.colorAttribute!==void 0&&(HB.a.fromBufferAttribute(this.colorAttribute,e*3),HB.b.fromBufferAttribute(this.colorAttribute,e*3+1),HB.c.fromBufferAttribute(this.colorAttribute,e*3+2),UB.set(0,0,0).addScaledVector(HB.a,i).addScaledVector(HB.b,a).addScaledVector(HB.c,1-(i+a)),r.r=UB.x,r.g=UB.y,r.b=UB.z),this}},GB=Object.defineProperty,KB=(e,t,n)=>t in e?GB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>(KB(e,typeof t==`symbol`?t:t+``,n),n),qB=class extends wt{constructor(e,t){super(),Q(this,`isTransformControls`,!0),Q(this,`visible`,!1),Q(this,`domElement`),Q(this,`raycaster`,new Te),Q(this,`gizmo`),Q(this,`plane`),Q(this,`tempVector`,new L),Q(this,`tempVector2`,new L),Q(this,`tempQuaternion`,new rt),Q(this,`unit`,{X:new L(1,0,0),Y:new L(0,1,0),Z:new L(0,0,1)}),Q(this,`pointStart`,new L),Q(this,`pointEnd`,new L),Q(this,`offset`,new L),Q(this,`rotationAxis`,new L),Q(this,`startNorm`,new L),Q(this,`endNorm`,new L),Q(this,`rotationAngle`,0),Q(this,`cameraPosition`,new L),Q(this,`cameraQuaternion`,new rt),Q(this,`cameraScale`,new L),Q(this,`parentPosition`,new L),Q(this,`parentQuaternion`,new rt),Q(this,`parentQuaternionInv`,new rt),Q(this,`parentScale`,new L),Q(this,`worldPositionStart`,new L),Q(this,`worldQuaternionStart`,new rt),Q(this,`worldScaleStart`,new L),Q(this,`worldPosition`,new L),Q(this,`worldQuaternion`,new rt),Q(this,`worldQuaternionInv`,new rt),Q(this,`worldScale`,new L),Q(this,`eye`,new L),Q(this,`positionStart`,new L),Q(this,`quaternionStart`,new rt),Q(this,`scaleStart`,new L),Q(this,`camera`),Q(this,`object`),Q(this,`enabled`,!0),Q(this,`axis`,null),Q(this,`mode`,`translate`),Q(this,`translationSnap`,null),Q(this,`rotationSnap`,null),Q(this,`scaleSnap`,null),Q(this,`space`,`world`),Q(this,`size`,1),Q(this,`dragging`,!1),Q(this,`showX`,!0),Q(this,`showY`,!0),Q(this,`showZ`,!0),Q(this,`changeEvent`,{type:`change`}),Q(this,`mouseDownEvent`,{type:`mouseDown`,mode:this.mode}),Q(this,`mouseUpEvent`,{type:`mouseUp`,mode:this.mode}),Q(this,`objectChangeEvent`,{type:`objectChange`}),Q(this,`intersectObjectWithRay`,(e,t,n)=>{let r=t.intersectObject(e,!0);for(let e=0;e(this.object=e,this.visible=!0,this)),Q(this,`detach`,()=>(this.object=void 0,this.visible=!1,this.axis=null,this)),Q(this,`reset`,()=>(this.enabled&&this.dragging&&this.object!==void 0&&(this.object.position.copy(this.positionStart),this.object.quaternion.copy(this.quaternionStart),this.object.scale.copy(this.scaleStart),this.dispatchEvent(this.changeEvent),this.dispatchEvent(this.objectChangeEvent),this.pointStart.copy(this.pointEnd)),this)),Q(this,`updateMatrixWorld`,()=>{this.object!==void 0&&(this.object.updateMatrixWorld(),this.object.parent===null?console.error(`TransformControls: The attached 3D object must be a part of the scene graph.`):this.object.parent.matrixWorld.decompose(this.parentPosition,this.parentQuaternion,this.parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this.worldScale),this.parentQuaternionInv.copy(this.parentQuaternion).invert(),this.worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this.cameraScale),this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld()}),Q(this,`pointerHover`,e=>{if(this.object===void 0||this.dragging===!0)return;this.raycaster.setFromCamera(e,this.camera);let t=this.intersectObjectWithRay(this.gizmo.picker[this.mode],this.raycaster);t?this.axis=t.object.name:this.axis=null}),Q(this,`pointerDown`,e=>{if(!(this.object===void 0||this.dragging===!0||e.button!==0)&&this.axis!==null){this.raycaster.setFromCamera(e,this.camera);let t=this.intersectObjectWithRay(this.plane,this.raycaster,!0);if(t){let e=this.space;if(this.mode===`scale`?e=`local`:(this.axis===`E`||this.axis===`XYZE`||this.axis===`XYZ`)&&(e=`world`),e===`local`&&this.mode===`rotate`){let e=this.rotationSnap;this.axis===`X`&&e&&(this.object.rotation.x=Math.round(this.object.rotation.x/e)*e),this.axis===`Y`&&e&&(this.object.rotation.y=Math.round(this.object.rotation.y/e)*e),this.axis===`Z`&&e&&(this.object.rotation.z=Math.round(this.object.rotation.z/e)*e)}this.object.updateMatrixWorld(),this.object.parent&&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,this.mouseDownEvent.mode=this.mode,this.dispatchEvent(this.mouseDownEvent)}}),Q(this,`pointerMove`,e=>{let t=this.axis,n=this.mode,r=this.object,i=this.space;if(n===`scale`?i=`local`:(t===`E`||t===`XYZE`||t===`XYZ`)&&(i=`world`),r===void 0||t===null||this.dragging===!1||e.button!==-1)return;this.raycaster.setFromCamera(e,this.camera);let a=this.intersectObjectWithRay(this.plane,this.raycaster,!0);if(a){if(this.pointEnd.copy(a.point).sub(this.worldPositionStart),n===`translate`)this.offset.copy(this.pointEnd).sub(this.pointStart),i===`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),i===`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&&(i===`local`&&(r.position.applyQuaternion(this.tempQuaternion.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)),i===`world`&&(r.parent&&r.position.add(this.tempVector.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(this.tempVector.setFromMatrixPosition(r.parent.matrixWorld))));else if(n===`scale`){if(t.search(`XYZ`)!==-1){let e=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(e*=-1),this.tempVector2.set(e,e,e)}else this.tempVector.copy(this.pointStart),this.tempVector2.copy(this.pointEnd),this.tempVector.applyQuaternion(this.worldQuaternionInv),this.tempVector2.applyQuaternion(this.worldQuaternionInv),this.tempVector2.divide(this.tempVector),t.search(`X`)===-1&&(this.tempVector2.x=1),t.search(`Y`)===-1&&(this.tempVector2.y=1),t.search(`Z`)===-1&&(this.tempVector2.z=1);r.scale.copy(this.scaleStart).multiply(this.tempVector2),this.scaleSnap&&this.object&&(t.search(`X`)!==-1&&(this.object.scale.x=Math.round(r.scale.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(n===`rotate`){this.offset.copy(this.pointEnd).sub(this.pointStart);let e=20/this.worldPosition.distanceTo(this.tempVector.setFromMatrixPosition(this.camera.matrixWorld));t===`E`?(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):t===`XYZE`?(this.rotationAxis.copy(this.offset).cross(this.eye).normalize(),this.rotationAngle=this.offset.dot(this.tempVector.copy(this.rotationAxis).cross(this.eye))*e):(t===`X`||t===`Y`||t===`Z`)&&(this.rotationAxis.copy(this.unit[t]),this.tempVector.copy(this.unit[t]),i===`local`&&this.tempVector.applyQuaternion(this.worldQuaternion),this.rotationAngle=this.offset.dot(this.tempVector.cross(this.eye).normalize())*e),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),i===`local`&&t!==`E`&&t!==`XYZE`?(r.quaternion.copy(this.quaternionStart),r.quaternion.multiply(this.tempQuaternion.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this.parentQuaternionInv),r.quaternion.copy(this.tempQuaternion.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),r.quaternion.multiply(this.quaternionStart).normalize())}this.dispatchEvent(this.changeEvent),this.dispatchEvent(this.objectChangeEvent)}}),Q(this,`pointerUp`,e=>{e.button===0&&(this.dragging&&this.axis!==null&&(this.mouseUpEvent.mode=this.mode,this.dispatchEvent(this.mouseUpEvent)),this.dragging=!1,this.axis=null)}),Q(this,`getPointer`,e=>{var t;if(this.domElement&&(t=this.domElement.ownerDocument)!=null&&t.pointerLockElement)return{x:0,y:0,button:e.button};{let t=e.changedTouches?e.changedTouches[0]:e,n=this.domElement.getBoundingClientRect();return{x:(t.clientX-n.left)/n.width*2-1,y:-(t.clientY-n.top)/n.height*2+1,button:e.button}}}),Q(this,`onPointerHover`,e=>{if(this.enabled)switch(e.pointerType){case`mouse`:case`pen`:this.pointerHover(this.getPointer(e));break}}),Q(this,`onPointerDown`,e=>{!this.enabled||!this.domElement||(this.domElement.style.touchAction=`none`,this.domElement.ownerDocument.addEventListener(`pointermove`,this.onPointerMove),this.pointerHover(this.getPointer(e)),this.pointerDown(this.getPointer(e)))}),Q(this,`onPointerMove`,e=>{this.enabled&&this.pointerMove(this.getPointer(e))}),Q(this,`onPointerUp`,e=>{!this.enabled||!this.domElement||(this.domElement.style.touchAction=``,this.domElement.ownerDocument.removeEventListener(`pointermove`,this.onPointerMove),this.pointerUp(this.getPointer(e)))}),Q(this,`getMode`,()=>this.mode),Q(this,`setMode`,e=>{this.mode=e}),Q(this,`setTranslationSnap`,e=>{this.translationSnap=e}),Q(this,`setRotationSnap`,e=>{this.rotationSnap=e}),Q(this,`setScaleSnap`,e=>{this.scaleSnap=e}),Q(this,`setSize`,e=>{this.size=e}),Q(this,`setSpace`,e=>{this.space=e}),Q(this,`update`,()=>{console.warn(`THREE.TransformControls: update function has no more functionality and therefore has been deprecated.`)}),Q(this,`connect`,e=>{e===document&&console.error(`THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.`),this.domElement=e,this.domElement.addEventListener(`pointerdown`,this.onPointerDown),this.domElement.addEventListener(`pointermove`,this.onPointerHover),this.domElement.ownerDocument.addEventListener(`pointerup`,this.onPointerUp)}),Q(this,`dispose`,()=>{var e,t,n,r,i,a;(e=this.domElement)==null||e.removeEventListener(`pointerdown`,this.onPointerDown),(t=this.domElement)==null||t.removeEventListener(`pointermove`,this.onPointerHover),(r=(n=this.domElement)?.ownerDocument)==null||r.removeEventListener(`pointermove`,this.onPointerMove),(a=(i=this.domElement)?.ownerDocument)==null||a.removeEventListener(`pointerup`,this.onPointerUp),this.traverse(e=>{let t=e;t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()})}),this.domElement=t,this.camera=e,this.gizmo=new JB,this.add(this.gizmo),this.plane=new YB,this.add(this.plane);let n=(e,t)=>{let n=t;Object.defineProperty(this,e,{get:function(){return n===void 0?t:n},set:function(t){n!==t&&(n=t,this.plane[e]=t,this.gizmo[e]=t,this.dispatchEvent({type:e+`-changed`,value:t}),this.dispatchEvent(this.changeEvent))}}),this[e]=t,this.plane[e]=t,this.gizmo[e]=t};n(`camera`,this.camera),n(`object`,this.object),n(`enabled`,this.enabled),n(`axis`,this.axis),n(`mode`,this.mode),n(`translationSnap`,this.translationSnap),n(`rotationSnap`,this.rotationSnap),n(`scaleSnap`,this.scaleSnap),n(`space`,this.space),n(`size`,this.size),n(`dragging`,this.dragging),n(`showX`,this.showX),n(`showY`,this.showY),n(`showZ`,this.showZ),n(`worldPosition`,this.worldPosition),n(`worldPositionStart`,this.worldPositionStart),n(`worldQuaternion`,this.worldQuaternion),n(`worldQuaternionStart`,this.worldQuaternionStart),n(`cameraPosition`,this.cameraPosition),n(`cameraQuaternion`,this.cameraQuaternion),n(`pointStart`,this.pointStart),n(`pointEnd`,this.pointEnd),n(`rotationAxis`,this.rotationAxis),n(`rotationAngle`,this.rotationAngle),n(`eye`,this.eye),t!==void 0&&this.connect(t)}},JB=class extends wt{constructor(){super(),Q(this,`isTransformControlsGizmo`,!0),Q(this,`type`,`TransformControlsGizmo`),Q(this,`tempVector`,new L(0,0,0)),Q(this,`tempEuler`,new re),Q(this,`alignVector`,new L(0,1,0)),Q(this,`zeroVector`,new L(0,0,0)),Q(this,`lookAtMatrix`,new N),Q(this,`tempQuaternion`,new rt),Q(this,`tempQuaternion2`,new rt),Q(this,`identityQuaternion`,new rt),Q(this,`unitX`,new L(1,0,0)),Q(this,`unitY`,new L(0,1,0)),Q(this,`unitZ`,new L(0,0,1)),Q(this,`gizmo`),Q(this,`picker`),Q(this,`helper`),Q(this,`rotationAxis`,new L),Q(this,`cameraPosition`,new L),Q(this,`worldPositionStart`,new L),Q(this,`worldQuaternionStart`,new rt),Q(this,`worldPosition`,new L),Q(this,`worldQuaternion`,new rt),Q(this,`eye`,new L),Q(this,`camera`,null),Q(this,`enabled`,!0),Q(this,`axis`,null),Q(this,`mode`,`translate`),Q(this,`space`,`world`),Q(this,`size`,1),Q(this,`dragging`,!1),Q(this,`showX`,!0),Q(this,`showY`,!0),Q(this,`showZ`,!0),Q(this,`updateMatrixWorld`,()=>{let e=this.space;this.mode===`scale`&&(e=`local`);let t=e===`local`?this.worldQuaternion:this.identityQuaternion;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 n=[];n=n.concat(this.picker[this.mode].children),n=n.concat(this.gizmo[this.mode].children),n=n.concat(this.helper[this.mode].children);for(let e=0;e.9&&(r.visible=!1)),this.axis===`Y`&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,0,Math.PI/2)),r.quaternion.copy(t).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`Z`&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,Math.PI/2,0)),r.quaternion.copy(t).multiply(this.tempQuaternion),Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`XYZE`&&(this.tempQuaternion.setFromEuler(this.tempEuler.set(0,Math.PI/2,0)),this.alignVector.copy(this.rotationAxis),r.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.zeroVector,this.alignVector,this.unitY)),r.quaternion.multiply(this.tempQuaternion),r.visible=this.dragging),this.axis===`E`&&(r.visible=!1)):r.name===`START`?(r.position.copy(this.worldPositionStart),r.visible=this.dragging):r.name===`END`?(r.position.copy(this.worldPosition),r.visible=this.dragging):r.name===`DELTA`?(r.position.copy(this.worldPositionStart),r.quaternion.copy(this.worldQuaternionStart),this.tempVector.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),this.tempVector.applyQuaternion(this.worldQuaternionStart.clone().invert()),r.scale.copy(this.tempVector),r.visible=this.dragging):(r.quaternion.copy(t),this.dragging?r.position.copy(this.worldPositionStart):r.position.copy(this.worldPosition),this.axis&&(r.visible=this.axis.search(r.name)!==-1));continue}r.quaternion.copy(t),this.mode===`translate`||this.mode===`scale`?((r.name===`X`||r.name===`XYZX`)&&Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(t).dot(this.eye))>.99&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),(r.name===`Y`||r.name===`XYZY`)&&Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(t).dot(this.eye))>.99&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),(r.name===`Z`||r.name===`XYZZ`)&&Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(t).dot(this.eye))>.99&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`XY`&&Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(t).dot(this.eye))<.2&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`YZ`&&Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(t).dot(this.eye))<.2&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`XZ`&&Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(t).dot(this.eye))<.2&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name.search(`X`)!==-1&&(this.alignVector.copy(this.unitX).applyQuaternion(t).dot(this.eye)<0?r.tag===`fwd`?r.visible=!1:r.scale.x*=-1:r.tag===`bwd`&&(r.visible=!1)),r.name.search(`Y`)!==-1&&(this.alignVector.copy(this.unitY).applyQuaternion(t).dot(this.eye)<0?r.tag===`fwd`?r.visible=!1:r.scale.y*=-1:r.tag===`bwd`&&(r.visible=!1)),r.name.search(`Z`)!==-1&&(this.alignVector.copy(this.unitZ).applyQuaternion(t).dot(this.eye)<0?r.tag===`fwd`?r.visible=!1:r.scale.z*=-1:r.tag===`bwd`&&(r.visible=!1))):this.mode===`rotate`&&(this.tempQuaternion2.copy(t),this.alignVector.copy(this.eye).applyQuaternion(this.tempQuaternion.copy(t).invert()),r.name.search(`E`)!==-1&&r.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.eye,this.zeroVector,this.unitY)),r.name===`X`&&(this.tempQuaternion.setFromAxisAngle(this.unitX,Math.atan2(-this.alignVector.y,this.alignVector.z)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),r.quaternion.copy(this.tempQuaternion)),r.name===`Y`&&(this.tempQuaternion.setFromAxisAngle(this.unitY,Math.atan2(this.alignVector.x,this.alignVector.z)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),r.quaternion.copy(this.tempQuaternion)),r.name===`Z`&&(this.tempQuaternion.setFromAxisAngle(this.unitZ,Math.atan2(this.alignVector.y,this.alignVector.x)),this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2,this.tempQuaternion),r.quaternion.copy(this.tempQuaternion))),r.visible=r.visible&&(r.name.indexOf(`X`)===-1||this.showX),r.visible=r.visible&&(r.name.indexOf(`Y`)===-1||this.showY),r.visible=r.visible&&(r.name.indexOf(`Z`)===-1||this.showZ),r.visible=r.visible&&(r.name.indexOf(`E`)===-1||this.showX&&this.showY&&this.showZ),r.material.tempOpacity=r.material.tempOpacity||r.material.opacity,r.material.tempColor=r.material.tempColor||r.material.color.clone(),r.material.color.copy(r.material.tempColor),r.material.opacity=r.material.tempOpacity,this.enabled?this.axis&&(r.name===this.axis||this.axis.split(``).some(function(e){return r.name===e})?(r.material.opacity=1,r.material.color.lerp(new Ct(1,1,1),.5)):(r.material.opacity*=.25,r.material.color.lerp(new Ct(1,1,1),.5))):(r.material.opacity*=.5,r.material.color.lerp(new Ct(1,1,1),.5))}super.updateMatrixWorld()});let e=new Ie({depthTest:!1,depthWrite:!1,transparent:!0,side:ie,fog:!1,toneMapped:!1}),t=new ue({depthTest:!1,depthWrite:!1,transparent:!0,linewidth:1,fog:!1,toneMapped:!1}),n=e.clone();n.opacity=.15;let r=e.clone();r.opacity=.33;let i=e.clone();i.color.set(16711680);let a=e.clone();a.color.set(65280);let o=e.clone();o.color.set(255);let s=e.clone();s.opacity=.25;let c=s.clone();c.color.set(16776960);let l=s.clone();l.color.set(65535);let u=s.clone();u.color.set(16711935),e.clone().color.set(16776960);let d=t.clone();d.color.set(16711680);let f=t.clone();f.color.set(65280);let p=t.clone();p.color.set(255);let m=t.clone();m.color.set(65535);let h=t.clone();h.color.set(16711935);let g=t.clone();g.color.set(16776960);let _=t.clone();_.color.set(7895160);let v=g.clone();v.opacity=.25;let y=new ft(0,.05,.2,12,1,!1),b=new Fe(.125,.125,.125),x=new yt;x.setAttribute(`position`,new $e([0,0,0,1,0,0],3));let S=(e,t)=>{let n=new yt,r=[];for(let n=0;n<=64*t;++n)r.push(0,Math.cos(n/32*Math.PI)*e,Math.sin(n/32*Math.PI)*e);return n.setAttribute(`position`,new $e(r,3)),n},C=()=>{let e=new yt;return e.setAttribute(`position`,new $e([0,0,0,1,1,1],3)),e},w={X:[[new z(y,i),[1,0,0],[0,0,-Math.PI/2],null,`fwd`],[new z(y,i),[1,0,0],[0,0,Math.PI/2],null,`bwd`],[new Ft(x,d)]],Y:[[new z(y,a),[0,1,0],null,null,`fwd`],[new z(y,a),[0,1,0],[Math.PI,0,0],null,`bwd`],[new Ft(x,f),null,[0,0,Math.PI/2]]],Z:[[new z(y,o),[0,0,1],[Math.PI/2,0,0],null,`fwd`],[new z(y,o),[0,0,1],[-Math.PI/2,0,0],null,`bwd`],[new Ft(x,p),null,[0,-Math.PI/2,0]]],XYZ:[[new z(new he(.1,0),s.clone()),[0,0,0],[0,0,0]]],XY:[[new z(new Mt(.295,.295),c.clone()),[.15,.15,0]],[new Ft(x,g),[.18,.3,0],null,[.125,1,1]],[new Ft(x,g),[.3,.18,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new z(new Mt(.295,.295),l.clone()),[0,.15,.15],[0,Math.PI/2,0]],[new Ft(x,m),[0,.18,.3],[0,0,Math.PI/2],[.125,1,1]],[new Ft(x,m),[0,.3,.18],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new z(new Mt(.295,.295),u.clone()),[.15,0,.15],[-Math.PI/2,0,0]],[new Ft(x,h),[.18,0,.3],null,[.125,1,1]],[new Ft(x,h),[.3,0,.18],[0,-Math.PI/2,0],[.125,1,1]]]},T={X:[[new z(new ft(.2,0,1,4,1,!1),n),[.6,0,0],[0,0,-Math.PI/2]]],Y:[[new z(new ft(.2,0,1,4,1,!1),n),[0,.6,0]]],Z:[[new z(new ft(.2,0,1,4,1,!1),n),[0,0,.6],[Math.PI/2,0,0]]],XYZ:[[new z(new he(.2,0),n)]],XY:[[new z(new Mt(.4,.4),n),[.2,.2,0]]],YZ:[[new z(new Mt(.4,.4),n),[0,.2,.2],[0,Math.PI/2,0]]],XZ:[[new z(new Mt(.4,.4),n),[.2,0,.2],[-Math.PI/2,0,0]]]},E={START:[[new z(new he(.01,2),r),null,null,null,`helper`]],END:[[new z(new he(.01,2),r),null,null,null,`helper`]],DELTA:[[new Ft(C(),r),null,null,null,`helper`]],X:[[new Ft(x,r.clone()),[-1e3,0,0],null,[1e6,1,1],`helper`]],Y:[[new Ft(x,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],`helper`]],Z:[[new Ft(x,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],`helper`]]},D={X:[[new Ft(S(1,.5),d)],[new z(new he(.04,0),i),[0,0,.99],null,[1,3,1]]],Y:[[new Ft(S(1,.5),f),null,[0,0,-Math.PI/2]],[new z(new he(.04,0),a),[0,0,.99],null,[3,1,1]]],Z:[[new Ft(S(1,.5),p),null,[0,Math.PI/2,0]],[new z(new he(.04,0),o),[.99,0,0],null,[1,3,1]]],E:[[new Ft(S(1.25,1),v),null,[0,Math.PI/2,0]],[new z(new ft(.03,0,.15,4,1,!1),v),[1.17,0,0],[0,0,-Math.PI/2],[1,1,.001]],[new z(new ft(.03,0,.15,4,1,!1),v),[-1.17,0,0],[0,0,Math.PI/2],[1,1,.001]],[new z(new ft(.03,0,.15,4,1,!1),v),[0,-1.17,0],[Math.PI,0,0],[1,1,.001]],[new z(new ft(.03,0,.15,4,1,!1),v),[0,1.17,0],[0,0,0],[1,1,.001]]],XYZE:[[new Ft(S(1,1),_),null,[0,Math.PI/2,0]]]},O={AXIS:[[new Ft(x,r.clone()),[-1e3,0,0],null,[1e6,1,1],`helper`]]},k={X:[[new z(new se(1,.1,4,24),n),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new z(new se(1,.1,4,24),n),[0,0,0],[Math.PI/2,0,0]]],Z:[[new z(new se(1,.1,4,24),n),[0,0,0],[0,0,-Math.PI/2]]],E:[[new z(new se(1.25,.1,2,24),n)]],XYZE:[[new z(new Kt(.7,10,8),n)]]},A={X:[[new z(b,i),[.8,0,0],[0,0,-Math.PI/2]],[new Ft(x,d),null,null,[.8,1,1]]],Y:[[new z(b,a),[0,.8,0]],[new Ft(x,f),null,[0,0,Math.PI/2],[.8,1,1]]],Z:[[new z(b,o),[0,0,.8],[Math.PI/2,0,0]],[new Ft(x,p),null,[0,-Math.PI/2,0],[.8,1,1]]],XY:[[new z(b,c),[.85,.85,0],null,[2,2,.2]],[new Ft(x,g),[.855,.98,0],null,[.125,1,1]],[new Ft(x,g),[.98,.855,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new z(b,l),[0,.85,.85],null,[.2,2,2]],[new Ft(x,m),[0,.855,.98],[0,0,Math.PI/2],[.125,1,1]],[new Ft(x,m),[0,.98,.855],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new z(b,u),[.85,0,.85],null,[2,.2,2]],[new Ft(x,h),[.855,0,.98],null,[.125,1,1]],[new Ft(x,h),[.98,0,.855],[0,-Math.PI/2,0],[.125,1,1]]],XYZX:[[new z(new Fe(.125,.125,.125),s.clone()),[1.1,0,0]]],XYZY:[[new z(new Fe(.125,.125,.125),s.clone()),[0,1.1,0]]],XYZZ:[[new z(new Fe(.125,.125,.125),s.clone()),[0,0,1.1]]]},j={X:[[new z(new ft(.2,0,.8,4,1,!1),n),[.5,0,0],[0,0,-Math.PI/2]]],Y:[[new z(new ft(.2,0,.8,4,1,!1),n),[0,.5,0]]],Z:[[new z(new ft(.2,0,.8,4,1,!1),n),[0,0,.5],[Math.PI/2,0,0]]],XY:[[new z(b,n),[.85,.85,0],null,[3,3,.2]]],YZ:[[new z(b,n),[0,.85,.85],null,[.2,3,3]]],XZ:[[new z(b,n),[.85,0,.85],null,[3,.2,3]]],XYZX:[[new z(new Fe(.2,.2,.2),n),[1.1,0,0]]],XYZY:[[new z(new Fe(.2,.2,.2),n),[0,1.1,0]]],XYZZ:[[new z(new Fe(.2,.2,.2),n),[0,0,1.1]]]},M={X:[[new Ft(x,r.clone()),[-1e3,0,0],null,[1e6,1,1],`helper`]],Y:[[new Ft(x,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],`helper`]],Z:[[new Ft(x,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],`helper`]]},ee=e=>{let t=new wt;for(let n in e)for(let r=e[n].length;r--;){let i=e[n][r][0].clone(),a=e[n][r][1],o=e[n][r][2],s=e[n][r][3],c=e[n][r][4];i.name=n,i.tag=c,a&&i.position.set(a[0],a[1],a[2]),o&&i.rotation.set(o[0],o[1],o[2]),s&&i.scale.set(s[0],s[1],s[2]),i.updateMatrix();let l=i.geometry.clone();l.applyMatrix4(i.matrix),i.geometry=l,i.renderOrder=1/0,i.position.set(0,0,0),i.rotation.set(0,0,0),i.scale.set(1,1,1),t.add(i)}return t};this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=ee(w)),this.add(this.gizmo.rotate=ee(D)),this.add(this.gizmo.scale=ee(A)),this.add(this.picker.translate=ee(T)),this.add(this.picker.rotate=ee(k)),this.add(this.picker.scale=ee(j)),this.add(this.helper.translate=ee(E)),this.add(this.helper.rotate=ee(O)),this.add(this.helper.scale=ee(M)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}},YB=class extends z{constructor(){super(new Mt(1e5,1e5,2,2),new Ie({visible:!1,wireframe:!0,side:ie,transparent:!0,opacity:.1,toneMapped:!1})),Q(this,`isTransformControlsPlane`,!0),Q(this,`type`,`TransformControlsPlane`),Q(this,`unitX`,new L(1,0,0)),Q(this,`unitY`,new L(0,1,0)),Q(this,`unitZ`,new L(0,0,1)),Q(this,`tempVector`,new L),Q(this,`dirVector`,new L),Q(this,`alignVector`,new L),Q(this,`tempMatrix`,new N),Q(this,`identityQuaternion`,new rt),Q(this,`cameraQuaternion`,new rt),Q(this,`worldPosition`,new L),Q(this,`worldQuaternion`,new rt),Q(this,`eye`,new L),Q(this,`axis`,null),Q(this,`mode`,`translate`),Q(this,`space`,`world`),Q(this,`updateMatrixWorld`,()=>{let e=this.space;switch(this.position.copy(this.worldPosition),this.mode===`scale`&&(e=`local`),this.unitX.set(1,0,0).applyQuaternion(e===`local`?this.worldQuaternion:this.identityQuaternion),this.unitY.set(0,1,0).applyQuaternion(e===`local`?this.worldQuaternion:this.identityQuaternion),this.unitZ.set(0,0,1).applyQuaternion(e===`local`?this.worldQuaternion:this.identityQuaternion),this.alignVector.copy(this.unitY),this.mode){case`translate`:case`scale`:switch(this.axis){case`X`:this.alignVector.copy(this.eye).cross(this.unitX),this.dirVector.copy(this.unitX).cross(this.alignVector);break;case`Y`:this.alignVector.copy(this.eye).cross(this.unitY),this.dirVector.copy(this.unitY).cross(this.alignVector);break;case`Z`:this.alignVector.copy(this.eye).cross(this.unitZ),this.dirVector.copy(this.unitZ).cross(this.alignVector);break;case`XY`:this.dirVector.copy(this.unitZ);break;case`YZ`:this.dirVector.copy(this.unitX);break;case`XZ`:this.alignVector.copy(this.unitZ),this.dirVector.copy(this.unitY);break;case`XYZ`:case`E`:this.dirVector.set(0,0,0);break}break;case`rotate`:default:this.dirVector.set(0,0,0)}this.dirVector.length()===0?this.quaternion.copy(this.cameraQuaternion):(this.tempMatrix.lookAt(this.tempVector.set(0,0,0),this.dirVector,this.alignVector),this.quaternion.setFromRotationMatrix(this.tempMatrix)),super.updateMatrixWorld()})}},XB=Object.defineProperty,ZB=(e,t,n)=>t in e?XB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QB=(e,t,n)=>(ZB(e,typeof t==`symbol`?t:t+``,n),n);const $B=new re(0,0,0,`YXZ`),eV=new L,tV={type:`change`},nV={type:`lock`},rV={type:`unlock`},iV=Math.PI/2;var aV=class extends Nt{constructor(e,t){super(),QB(this,`camera`),QB(this,`domElement`),QB(this,`isLocked`),QB(this,`minPolarAngle`),QB(this,`maxPolarAngle`),QB(this,`pointerSpeed`),QB(this,`onMouseMove`,e=>{if(!this.domElement||this.isLocked===!1)return;let t=e.movementX||e.mozMovementX||e.webkitMovementX||0,n=e.movementY||e.mozMovementY||e.webkitMovementY||0;$B.setFromQuaternion(this.camera.quaternion),$B.y-=t*.002*this.pointerSpeed,$B.x-=n*.002*this.pointerSpeed,$B.x=Math.max(iV-this.maxPolarAngle,Math.min(iV-this.minPolarAngle,$B.x)),this.camera.quaternion.setFromEuler($B),this.dispatchEvent(tV)}),QB(this,`onPointerlockChange`,()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(nV),this.isLocked=!0):(this.dispatchEvent(rV),this.isLocked=!1))}),QB(this,`onPointerlockError`,()=>{console.error(`THREE.PointerLockControls: Unable to use Pointer Lock API`)}),QB(this,`connect`,e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener(`mousemove`,this.onMouseMove),this.domElement.ownerDocument.addEventListener(`pointerlockchange`,this.onPointerlockChange),this.domElement.ownerDocument.addEventListener(`pointerlockerror`,this.onPointerlockError))}),QB(this,`disconnect`,()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener(`mousemove`,this.onMouseMove),this.domElement.ownerDocument.removeEventListener(`pointerlockchange`,this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener(`pointerlockerror`,this.onPointerlockError))}),QB(this,`dispose`,()=>{this.disconnect()}),QB(this,`getObject`,()=>this.camera),QB(this,`direction`,new L(0,0,-1)),QB(this,`getDirection`,e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),QB(this,`moveForward`,e=>{eV.setFromMatrixColumn(this.camera.matrix,0),eV.crossVectors(this.camera.up,eV),this.camera.position.addScaledVector(eV,e)}),QB(this,`moveRight`,e=>{eV.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(eV,e)}),QB(this,`lock`,()=>{this.domElement&&this.domElement.requestPointerLock()}),QB(this,`unlock`,()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=e,this.domElement=t,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,t&&this.connect(t)}},oV=Object.defineProperty,sV=(e,t,n)=>t in e?oV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cV=(e,t,n)=>(sV(e,typeof t==`symbol`?t:t+``,n),n);const lV=new oe,uV=new qt,dV=Math.cos(70*(Math.PI/180)),fV=(e,t)=>(e%t+t)%t;var pV=class extends Nt{constructor(e,t){super(),cV(this,`object`),cV(this,`domElement`),cV(this,`enabled`,!0),cV(this,`target`,new L),cV(this,`minDistance`,0),cV(this,`maxDistance`,1/0),cV(this,`minZoom`,0),cV(this,`maxZoom`,1/0),cV(this,`minPolarAngle`,0),cV(this,`maxPolarAngle`,Math.PI),cV(this,`minAzimuthAngle`,-1/0),cV(this,`maxAzimuthAngle`,1/0),cV(this,`enableDamping`,!1),cV(this,`dampingFactor`,.05),cV(this,`enableZoom`,!0),cV(this,`zoomSpeed`,1),cV(this,`enableRotate`,!0),cV(this,`rotateSpeed`,1),cV(this,`enablePan`,!0),cV(this,`panSpeed`,1),cV(this,`screenSpacePanning`,!0),cV(this,`keyPanSpeed`,7),cV(this,`zoomToCursor`,!1),cV(this,`autoRotate`,!1),cV(this,`autoRotateSpeed`,2),cV(this,`reverseOrbit`,!1),cV(this,`reverseHorizontalOrbit`,!1),cV(this,`reverseVerticalOrbit`,!1),cV(this,`keys`,{LEFT:`ArrowLeft`,UP:`ArrowUp`,RIGHT:`ArrowRight`,BOTTOM:`ArrowDown`}),cV(this,`mouseButtons`,{LEFT:Gt.ROTATE,MIDDLE:Gt.DOLLY,RIGHT:Gt.PAN}),cV(this,`touches`,{ONE:tt.ROTATE,TWO:tt.DOLLY_PAN}),cV(this,`target0`),cV(this,`position0`),cV(this,`zoom0`),cV(this,`_domElementKeyEvents`,null),cV(this,`getPolarAngle`),cV(this,`getAzimuthalAngle`),cV(this,`setPolarAngle`),cV(this,`setAzimuthalAngle`),cV(this,`getDistance`),cV(this,`getZoomScale`),cV(this,`listenToKeyEvents`),cV(this,`stopListenToKeyEvents`),cV(this,`saveState`),cV(this,`reset`),cV(this,`update`),cV(this,`connect`),cV(this,`dispose`),cV(this,`dollyIn`),cV(this,`dollyOut`),cV(this,`getScale`),cV(this,`setScale`),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>l.phi,this.getAzimuthalAngle=()=>l.theta,this.setPolarAngle=e=>{let t=fV(e,2*Math.PI),r=l.phi;r<0&&(r+=2*Math.PI),t<0&&(t+=2*Math.PI);let i=Math.abs(t-r);2*Math.PI-i{let t=fV(e,2*Math.PI),r=l.theta;r<0&&(r+=2*Math.PI),t<0&&(t+=2*Math.PI);let i=Math.abs(t-r);2*Math.PI-in.object.position.distanceTo(n.target),this.listenToKeyEvents=e=>{e.addEventListener(`keydown`,De),this._domElementKeyEvents=e},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener(`keydown`,De),this._domElementKeyEvents=null},this.saveState=()=>{n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=()=>{n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(r),n.update(),s=o.NONE},this.update=(()=>{let t=new L,i=new L(0,1,0),a=new rt().setFromUnitVectors(e.up,i),p=a.clone().invert(),m=new L,h=new rt,g=2*Math.PI;return function(){let _=n.object.position;a.setFromUnitVectors(e.up,i),p.copy(a).invert(),t.copy(_).sub(n.target),t.applyQuaternion(a),l.setFromVector3(t),n.autoRotate&&s===o.NONE&&k(D()),n.enableDamping?(l.theta+=u.theta*n.dampingFactor,l.phi+=u.phi*n.dampingFactor):(l.theta+=u.theta,l.phi+=u.phi);let v=n.minAzimuthAngle,y=n.maxAzimuthAngle;isFinite(v)&&isFinite(y)&&(v<-Math.PI?v+=g:v>Math.PI&&(v-=g),y<-Math.PI?y+=g:y>Math.PI&&(y-=g),v<=y?l.theta=Math.max(v,Math.min(y,l.theta)):l.theta=l.theta>(v+y)/2?Math.max(v,l.theta):Math.min(y,l.theta)),l.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,l.phi)),l.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(f,n.dampingFactor):n.target.add(f),n.zoomToCursor&&w||n.object.isOrthographicCamera?l.radius=ne(l.radius):l.radius=ne(l.radius*d),t.setFromSpherical(l),t.applyQuaternion(p),_.copy(n.target).add(t),n.object.matrixAutoUpdate||n.object.updateMatrix(),n.object.lookAt(n.target),n.enableDamping===!0?(u.theta*=1-n.dampingFactor,u.phi*=1-n.dampingFactor,f.multiplyScalar(1-n.dampingFactor)):(u.set(0,0,0),f.set(0,0,0));let b=!1;if(n.zoomToCursor&&w){let r=null;if(n.object instanceof At&&n.object.isPerspectiveCamera){let e=t.length();r=ne(e*d);let i=e-r;n.object.position.addScaledVector(S,i),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let e=new L(C.x,C.y,0);e.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/d)),n.object.updateProjectionMatrix(),b=!0;let i=new L(C.x,C.y,0);i.unproject(n.object),n.object.position.sub(i).add(e),n.object.updateMatrixWorld(),r=t.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),n.zoomToCursor=!1;r!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(r).add(n.object.position):(lV.origin.copy(n.object.position),lV.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(lV.direction))c||8*(1-h.dot(n.object.quaternion))>c?(n.dispatchEvent(r),m.copy(n.object.position),h.copy(n.object.quaternion),b=!1,!0):!1}})(),this.connect=e=>{n.domElement=e,n.domElement.style.touchAction=`none`,n.domElement.addEventListener(`contextmenu`,je),n.domElement.addEventListener(`pointerdown`,xe),n.domElement.addEventListener(`pointercancel`,Ce),n.domElement.addEventListener(`wheel`,Ee)},this.dispose=()=>{var e,t,r,i,a,o;n.domElement&&(n.domElement.style.touchAction=`auto`),(e=n.domElement)==null||e.removeEventListener(`contextmenu`,je),(t=n.domElement)==null||t.removeEventListener(`pointerdown`,xe),(r=n.domElement)==null||r.removeEventListener(`pointercancel`,Ce),(i=n.domElement)==null||i.removeEventListener(`wheel`,Ee),(a=n.domElement)==null||a.ownerDocument.removeEventListener(`pointermove`,Se),(o=n.domElement)==null||o.ownerDocument.removeEventListener(`pointerup`,Ce),n._domElementKeyEvents!==null&&n._domElementKeyEvents.removeEventListener(`keydown`,De)};let n=this,r={type:`change`},i={type:`start`},a={type:`end`},o={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},s=o.NONE,c=1e-6,l=new te,u=new te,d=1,f=new L,p=new Ae,m=new Ae,h=new Ae,g=new Ae,_=new Ae,v=new Ae,y=new Ae,b=new Ae,x=new Ae,S=new L,C=new Ae,w=!1,T=[],E={};function D(){return 2*Math.PI/60/60*n.autoRotateSpeed}function O(){return .95**n.zoomSpeed}function k(e){n.reverseOrbit||n.reverseHorizontalOrbit?u.theta+=e:u.theta-=e}function A(e){n.reverseOrbit||n.reverseVerticalOrbit?u.phi+=e:u.phi-=e}let j=(()=>{let e=new L;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),f.add(e)}})(),M=(()=>{let e=new L;return function(t,r){n.screenSpacePanning===!0?e.setFromMatrixColumn(r,1):(e.setFromMatrixColumn(r,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),f.add(e)}})(),N=(()=>{let e=new L;return function(t,r){let i=n.domElement;if(i&&n.object instanceof At&&n.object.isPerspectiveCamera){let a=n.object.position;e.copy(a).sub(n.target);let o=e.length();o*=Math.tan(n.object.fov/2*Math.PI/180),j(2*t*o/i.clientHeight,n.object.matrix),M(2*r*o/i.clientHeight,n.object.matrix)}else i&&n.object instanceof le&&n.object.isOrthographicCamera?(j(t*(n.object.right-n.object.left)/n.object.zoom/i.clientWidth,n.object.matrix),M(r*(n.object.top-n.object.bottom)/n.object.zoom/i.clientHeight,n.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),n.enablePan=!1)}})();function ee(e){n.object instanceof At&&n.object.isPerspectiveCamera||n.object instanceof le&&n.object.isOrthographicCamera?d=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),n.enableZoom=!1)}function P(e){ee(d/e)}function F(e){ee(d*e)}function I(e){if(!n.zoomToCursor||!n.domElement)return;w=!0;let t=n.domElement.getBoundingClientRect(),r=e.clientX-t.left,i=e.clientY-t.top,a=t.width,o=t.height;C.x=r/a*2-1,C.y=-(i/o)*2+1,S.set(C.x,C.y,1).unproject(n.object).sub(n.object.position).normalize()}function ne(e){return Math.max(n.minDistance,Math.min(n.maxDistance,e))}function re(e){p.set(e.clientX,e.clientY)}function R(e){I(e),y.set(e.clientX,e.clientY)}function ie(e){g.set(e.clientX,e.clientY)}function ae(e){m.set(e.clientX,e.clientY),h.subVectors(m,p).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(k(2*Math.PI*h.x/t.clientHeight),A(2*Math.PI*h.y/t.clientHeight)),p.copy(m),n.update()}function oe(e){b.set(e.clientX,e.clientY),x.subVectors(b,y),x.y>0?P(O()):x.y<0&&F(O()),y.copy(b),n.update()}function se(e){_.set(e.clientX,e.clientY),v.subVectors(_,g).multiplyScalar(n.panSpeed),N(v.x,v.y),g.copy(_),n.update()}function ce(e){I(e),e.deltaY<0?F(O()):e.deltaY>0&&P(O()),n.update()}function ue(e){let t=!1;switch(e.code){case n.keys.UP:N(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:N(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:N(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:N(-n.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),n.update())}function de(){if(T.length==1)p.set(T[0].pageX,T[0].pageY);else{let e=.5*(T[0].pageX+T[1].pageX),t=.5*(T[0].pageY+T[1].pageY);p.set(e,t)}}function fe(){if(T.length==1)g.set(T[0].pageX,T[0].pageY);else{let e=.5*(T[0].pageX+T[1].pageX),t=.5*(T[0].pageY+T[1].pageY);g.set(e,t)}}function pe(){let e=T[0].pageX-T[1].pageX,t=T[0].pageY-T[1].pageY,n=Math.sqrt(e*e+t*t);y.set(0,n)}function me(){n.enableZoom&&pe(),n.enablePan&&fe()}function he(){n.enableZoom&&pe(),n.enableRotate&&de()}function ge(e){if(T.length==1)m.set(e.pageX,e.pageY);else{let t=Pe(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);m.set(n,r)}h.subVectors(m,p).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(k(2*Math.PI*h.x/t.clientHeight),A(2*Math.PI*h.y/t.clientHeight)),p.copy(m)}function _e(e){if(T.length==1)_.set(e.pageX,e.pageY);else{let t=Pe(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);_.set(n,r)}v.subVectors(_,g).multiplyScalar(n.panSpeed),N(v.x,v.y),g.copy(_)}function ve(e){let t=Pe(e),r=e.pageX-t.x,i=e.pageY-t.y,a=Math.sqrt(r*r+i*i);b.set(0,a),x.set(0,(b.y/y.y)**+n.zoomSpeed),P(x.y),y.copy(b)}function ye(e){n.enableZoom&&ve(e),n.enablePan&&_e(e)}function be(e){n.enableZoom&&ve(e),n.enableRotate&&ge(e)}function xe(e){var t,r;n.enabled!==!1&&(T.length===0&&((t=n.domElement)==null||t.ownerDocument.addEventListener(`pointermove`,Se),(r=n.domElement)==null||r.ownerDocument.addEventListener(`pointerup`,Ce)),z(e),e.pointerType===`touch`?Oe(e):we(e))}function Se(e){n.enabled!==!1&&(e.pointerType===`touch`?ke(e):Te(e))}function Ce(e){var t,r,i;Me(e),T.length===0&&((t=n.domElement)==null||t.releasePointerCapture(e.pointerId),(r=n.domElement)==null||r.ownerDocument.removeEventListener(`pointermove`,Se),(i=n.domElement)==null||i.ownerDocument.removeEventListener(`pointerup`,Ce)),n.dispatchEvent(a),s=o.NONE}function we(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case Gt.DOLLY:if(n.enableZoom===!1)return;R(e),s=o.DOLLY;break;case Gt.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(n.enablePan===!1)return;ie(e),s=o.PAN}else{if(n.enableRotate===!1)return;re(e),s=o.ROTATE}break;case Gt.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(n.enableRotate===!1)return;re(e),s=o.ROTATE}else{if(n.enablePan===!1)return;ie(e),s=o.PAN}break;default:s=o.NONE}s!==o.NONE&&n.dispatchEvent(i)}function Te(e){if(n.enabled!==!1)switch(s){case o.ROTATE:if(n.enableRotate===!1)return;ae(e);break;case o.DOLLY:if(n.enableZoom===!1)return;oe(e);break;case o.PAN:if(n.enablePan===!1)return;se(e);break}}function Ee(e){n.enabled===!1||n.enableZoom===!1||s!==o.NONE&&s!==o.ROTATE||(e.preventDefault(),n.dispatchEvent(i),ce(e),n.dispatchEvent(a))}function De(e){n.enabled===!1||n.enablePan===!1||ue(e)}function Oe(e){switch(Ne(e),T.length){case 1:switch(n.touches.ONE){case tt.ROTATE:if(n.enableRotate===!1)return;de(),s=o.TOUCH_ROTATE;break;case tt.PAN:if(n.enablePan===!1)return;fe(),s=o.TOUCH_PAN;break;default:s=o.NONE}break;case 2:switch(n.touches.TWO){case tt.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;me(),s=o.TOUCH_DOLLY_PAN;break;case tt.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;he(),s=o.TOUCH_DOLLY_ROTATE;break;default:s=o.NONE}break;default:s=o.NONE}s!==o.NONE&&n.dispatchEvent(i)}function ke(e){switch(Ne(e),s){case o.TOUCH_ROTATE:if(n.enableRotate===!1)return;ge(e),n.update();break;case o.TOUCH_PAN:if(n.enablePan===!1)return;_e(e),n.update();break;case o.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;ye(e),n.update();break;case o.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;be(e),n.update();break;default:s=o.NONE}}function je(e){n.enabled!==!1&&e.preventDefault()}function z(e){T.push(e)}function Me(e){delete E[e.pointerId];for(let t=0;t{F(e),n.update()},this.dollyOut=(e=O())=>{P(e),n.update()},this.getScale=()=>d,this.setScale=e=>{ee(e),n.update()},this.getZoomScale=()=>O(),t!==void 0&&this.connect(t),this.update()}},mV=class extends pV{constructor(e,t){super(e,t),this.screenSpacePanning=!1,this.mouseButtons.LEFT=Gt.PAN,this.mouseButtons.RIGHT=Gt.ROTATE,this.touches.ONE=tt.PAN,this.touches.TWO=tt.DOLLY_ROTATE}};const hV=new rt,gV={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},_V={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},vV={9728:Qe,9729:It,9984:et,9985:Vt,9986:Et,9987:it},yV={33071:me,33648:Ke,10497:fe},bV={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},xV={POSITION:`position`,NORMAL:`normal`,TANGENT:`tangent`,...ez>=152?{TEXCOORD_0:`uv`,TEXCOORD_1:`uv1`,TEXCOORD_2:`uv2`,TEXCOORD_3:`uv3`}:{TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`},COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},SV={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},CV={CUBICSPLINE:void 0,LINEAR:ae,STEP:F},wV={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`},TV=new N,EV=new L;function DV(e,t,n,r,i,a){let o=2*Math.PI*i/4,s=Math.max(a-2*i,0),c=Math.PI/4;EV.copy(t),EV[r]=0,EV.normalize();let l=.5*o/(o+s),u=1-EV.angleTo(e)/c;return Math.sign(EV[n])===1?u*l:s/(o+s)+l+l*(1-u)}var OV=class extends Fe{constructor(e=1,t=1,n=1,r=2,i=.1){if(r=r*2+1,i=Math.min(e/2,t/2,n/2,i),super(1,1,1,r,r,r),r===1)return;let a=this.toNonIndexed();this.index=null,this.attributes.position=a.attributes.position,this.attributes.normal=a.attributes.normal,this.attributes.uv=a.attributes.uv;let o=new L,s=new L,c=new L(e,t,n).divideScalar(2).subScalar(i),l=this.attributes.position.array,u=this.attributes.normal.array,d=this.attributes.uv.array,f=l.length/6,p=new L,m=.5/r;for(let r=0,a=0;rt in e?PV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IV=(e,t,n)=>(FV(e,typeof t==`symbol`?t:t+``,n),n),LV=class extends ct{constructor(e){super(e)}load(e,t,n,r){let i=new Ze(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(e,e=>{if(typeof e!=`string`)throw Error(`unsupported data type`);let n=JSON.parse(e),r=this.parse(n);t&&t(r)},n,r)}loadAsync(e,t){return super.loadAsync(e,t)}parse(e){return new RV(e)}},RV=class{constructor(e){IV(this,`data`),this.data=e}generateShapes(e,t=100,n){let r=[],i={letterSpacing:0,lineHeight:1,...n},a=zV(e,t,this.data,i);for(let e=0,t=a.length;e(a=c.indexOf(n))&&o=e.byteLength||!(l=r(e)))&&t(1,`no header found`),(u=l.match(n))||t(3,`bad initial token`),c.valid|=1,c.programtype=u[1],c.string+=l+` +`;l=r(e),l!==!1;){if(c.string+=l+` +`,l.charAt(0)===`#`){c.comments+=l+` +`;continue}if((u=l.match(i))&&(c.gamma=parseFloat(u[1])),(u=l.match(a))&&(c.exposure=parseFloat(u[1])),(u=l.match(o))&&(c.valid|=2,c.format=u[1]),(u=l.match(s))&&(c.valid|=4,c.height=parseInt(u[1],10),c.width=parseInt(u[2],10)),c.valid&2&&c.valid&4)break}return c.valid&2||t(3,`missing format specifier`),c.valid&4||t(3,`missing image size specifier`),c},a=function(e,n,r){let i=n;if(i<8||i>32767||e[0]!==2||e[1]!==2||e[2]&128)return new Uint8Array(e);i!==(e[2]<<8|e[3])&&t(3,`wrong scanline width`);let a=new Uint8Array(4*n*r);a.length||t(4,`unable to allocate buffer space`);let o=0,s=0,c=4*i,l=new Uint8Array(4),u=new Uint8Array(c),d=r;for(;d>0&&se.byteLength&&t(1),l[0]=e[s++],l[1]=e[s++],l[2]=e[s++],l[3]=e[s++],(l[0]!=2||l[1]!=2||(l[2]<<8|l[3])!=i)&&t(3,`bad rgbe scanline format`);let n=0,r;for(;n128;if(i&&(r-=128),(r===0||n+r>c)&&t(3,`bad scanline data`),i){let t=e[s++];for(let e=0;e0?I.copy(k[k.length-1]):I.identity())}function r(e){let t=new ee,n=new Ae,r=new Ae,i=new Ae,o=!0,s=!1,c=e.getAttribute(`d`);if(c===``||c===`none`)return null;let l=c.match(/[a-df-z][^a-df-z]*/gi);for(let e=0,c=l.length;e0&&(n.copy(i),t.currentPath.currentPoint.copy(n),o=!0);break;default:console.warn(c)}s=!1}return t}function i(e){if(!(!e.sheet||!e.sheet.cssRules||!e.sheet.cssRules.length))for(let t=0;te.trim());for(let e=0;ee!==``));O[r[e]]=Object.assign(O[r[e]]||{},t)}}}function a(e,t,n,r,i,a,s,c){if(t==0||n==0){e.lineTo(c.x,c.y);return}r=r*Math.PI/180,t=Math.abs(t),n=Math.abs(n);let l=(s.x-c.x)/2,u=(s.y-c.y)/2,d=Math.cos(r)*l+Math.sin(r)*u,f=-Math.sin(r)*l+Math.cos(r)*u,p=t*t,m=n*n,h=d*d,g=f*f,_=h/p+g/m;if(_>1){let e=Math.sqrt(_);t=e*t,n=e*n,p=t*t,m=n*n}let v=p*g+m*h,y=(p*m-v)/v,b=Math.sqrt(Math.max(0,y));i===a&&(b=-b);let x=b*t*f/n,S=-b*n*d/t,C=Math.cos(r)*x-Math.sin(r)*S+(s.x+c.x)/2,w=Math.sin(r)*x+Math.cos(r)*S+(s.y+c.y)/2,T=o(1,0,(d-x)/t,(f-S)/n),E=o((d-x)/t,(f-S)/n,(-d-x)/t,(-f-S)/n)%(Math.PI*2);e.currentPath.absellipse(C,w,t,n,T,T+E,a===0,r)}function o(e,t,n,r){let i=e*n+t*r,a=Math.sqrt(e*e+t*t)*Math.sqrt(n*n+r*r),o=Math.acos(Math.max(-1,Math.min(1,i/a)));return e*r-t*n<0&&(o=-o),o}function s(e){let t=v(e.getAttribute(`x`)||0),n=v(e.getAttribute(`y`)||0),r=v(e.getAttribute(`rx`)||e.getAttribute(`ry`)||0),i=v(e.getAttribute(`ry`)||e.getAttribute(`rx`)||0),a=v(e.getAttribute(`width`)),o=v(e.getAttribute(`height`)),s=.448084975506,c=new ee;return c.moveTo(t+r,n),c.lineTo(t+a-r,n),(r!==0||i!==0)&&c.bezierCurveTo(t+a-r*s,n,t+a,n+i*s,t+a,n+i),c.lineTo(t+a,n+o-i),(r!==0||i!==0)&&c.bezierCurveTo(t+a,n+o-i*s,t+a-r*s,n+o,t+a-r,n+o),c.lineTo(t+r,n+o),(r!==0||i!==0)&&c.bezierCurveTo(t+r*s,n+o,t,n+o-i*s,t,n+o-i),c.lineTo(t,n+i),(r!==0||i!==0)&&c.bezierCurveTo(t,n+i*s,t+r*s,n,t+r,n),c}function c(e){function t(e,t,n){let a=v(t),o=v(n);i===0?r.moveTo(a,o):r.lineTo(a,o),i++}let n=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,r=new ee,i=0;return e.getAttribute(`points`).replace(n,t),r.currentPath.autoClose=!0,r}function l(e){function t(e,t,n){let a=v(t),o=v(n);i===0?r.moveTo(a,o):r.lineTo(a,o),i++}let n=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,r=new ee,i=0;return e.getAttribute(`points`).replace(n,t),r.currentPath.autoClose=!1,r}function u(e){let t=v(e.getAttribute(`cx`)||0),n=v(e.getAttribute(`cy`)||0),r=v(e.getAttribute(`r`)||0),i=new pe;i.absarc(t,n,r,0,Math.PI*2);let a=new ee;return a.subPaths.push(i),a}function d(e){let t=v(e.getAttribute(`cx`)||0),n=v(e.getAttribute(`cy`)||0),r=v(e.getAttribute(`rx`)||0),i=v(e.getAttribute(`ry`)||0),a=new pe;a.absellipse(t,n,r,i,0,Math.PI*2);let o=new ee;return o.subPaths.push(a),o}function f(e){let t=v(e.getAttribute(`x1`)||0),n=v(e.getAttribute(`y1`)||0),r=v(e.getAttribute(`x2`)||0),i=v(e.getAttribute(`y2`)||0),a=new ee;return a.moveTo(t,n),a.lineTo(r,i),a.currentPath.autoClose=!1,a}function p(e,t){t=Object.assign({},t);let n={};if(e.hasAttribute(`class`)){let t=e.getAttribute(`class`).split(/\s/).filter(Boolean).map(e=>e.trim());for(let e=0;e0&&t.premultiply(k[k.length-1]),I.copy(t),k.push(t),t}function b(e){let t=new Dt,n=A;if(e.nodeName===`use`&&(e.hasAttribute(`x`)||e.hasAttribute(`y`))){let n=v(e.getAttribute(`x`)),r=v(e.getAttribute(`y`));t.translate(n,r)}if(e.hasAttribute(`transform`)){let r=e.getAttribute(`transform`).split(`)`);for(let e=r.length-1;e>=0;e--){let i=r[e].trim();if(i===``)continue;let a=i.indexOf(`(`),o=i.length;if(a>0&&a=1){let e=t[0],r=0;t.length>=2&&(r=t[1]),n.translate(e,r)}break;case`rotate`:if(t.length>=1){let e=0,r=0,i=0;e=t[0]*Math.PI/180,t.length>=3&&(r=t[1],i=t[2]),j.makeTranslation(-r,-i),M.makeRotation(e),N.multiplyMatrices(M,j),j.makeTranslation(r,i),n.multiplyMatrices(j,N)}break;case`scale`:if(t.length>=1){let e=t[0],r=e;t.length>=2&&(r=t[1]),n.scale(e,r)}break;case`skewX`:t.length===1&&n.set(1,Math.tan(t[0]*Math.PI/180),0,0,1,0,0,0,1);break;case`skewY`:t.length===1&&n.set(1,0,0,Math.tan(t[0]*Math.PI/180),1,0,0,0,1);break;case`matrix`:t.length===6&&n.set(t[0],t[2],t[4],t[1],t[3],t[5],0,0,1);break}}t.premultiply(n)}}return t}function x(e,t){function n(e){F.set(e.x,e.y,1).applyMatrix3(t),e.set(F.x,F.y)}function r(e){let n=e.xRadius,r=e.yRadius,i=Math.cos(e.aRotation),a=Math.sin(e.aRotation),o=new L(n*i,n*a,0),s=new L(-r*a,r*i,0),c=o.applyMatrix3(t),l=s.applyMatrix3(t),u=A.set(c.x,l.x,0,c.y,l.y,0,0,0,1),d=j.copy(u).invert(),f=M.copy(d).transpose().multiply(d).elements,p=E(f[0],f[1],f[4]),m=Math.sqrt(p.rt1),h=Math.sqrt(p.rt2);if(e.xRadius=1/m,e.yRadius=1/h,e.aRotation=Math.atan2(p.sn,p.cs),!((e.aEndAngle-e.aStartAngle)%(2*Math.PI)<2**-52)){let n=j.set(m,0,0,0,h,0,0,0,1),r=M.set(p.cs,p.sn,0,-p.sn,p.cs,0,0,0,1),i=n.multiply(r).multiply(u),a=e=>{let{x:t,y:n}=new L(Math.cos(e),Math.sin(e),0).applyMatrix3(i);return Math.atan2(n,t)};e.aStartAngle=a(e.aStartAngle),e.aEndAngle=a(e.aEndAngle),S(t)&&(e.aClockwise=!e.aClockwise)}}function i(e){let n=w(t),r=T(t);e.xRadius*=n,e.yRadius*=r;let i=n>2**-52?Math.atan2(t.elements[1],t.elements[0]):Math.atan2(-t.elements[3],t.elements[4]);e.aRotation+=i,S(t)&&(e.aStartAngle*=-1,e.aEndAngle*=-1,e.aClockwise=!e.aClockwise)}let a=e.subPaths;for(let e=0,o=a.length;e2**-52}function w(e){let t=e.elements;return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function T(e){let t=e.elements;return Math.sqrt(t[3]*t[3]+t[4]*t[4])}function E(e,t,n){let r,i,a,o,s,c=e+n,l=e-n,u=Math.sqrt(l*l+4*t*t);return c>0?(r=.5*(c+u),s=1/r,i=e*s*n-t*s*t):c<0?i=.5*(c-u):(r=.5*u,i=-.5*u),a=l>0?l+u:l-u,Math.abs(a)>2*Math.abs(t)?(s=-2*t/a,o=1/Math.sqrt(1+s*s),a=s*o):Math.abs(t)===0?(a=1,o=0):(s=-.5*a/t,a=1/Math.sqrt(1+s*s),o=s*a),l>0&&(s=a,a=-o,o=s),{rt1:r,rt2:i,cs:a,sn:o}}let D=[],O={},k=[],A=new Dt,j=new Dt,M=new Dt,N=new Dt,P=new Ae,F=new L,I=new Dt,te=new DOMParser().parseFromString(e,`image/svg+xml`);return n(te.documentElement,{fill:`#000`,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:`miter`,strokeLineCap:`butt`,strokeMiterLimit:4}),{paths:D,xml:te.documentElement}}static createShapes(e){let t={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},n={loc:t.ORIGIN,t:0};function r(e,r,a,o){let s=e.x,c=r.x,l=a.x,u=o.x,d=e.y,f=r.y,p=a.y,m=o.y,h=(u-l)*(d-p)-(m-p)*(s-l),g=(c-s)*(d-p)-(f-d)*(s-l),_=(m-p)*(c-s)-(u-l)*(f-d),v=h/_,y=g/_;if(_===0&&h!==0||v<=0||v>=1||y<0||y>1)return null;if(h===0&&_===0){for(let l=0;l<2;l++)if(i(l===0?a:o,e,r),n.loc==t.ORIGIN){let e=l===0?a:o;return{x:e.x,y:e.y,t:n.t}}else if(n.loc==t.BETWEEN){let e=+(s+n.t*(c-s)).toPrecision(10),t=+(d+n.t*(f-d)).toPrecision(10);return{x:e,y:t,t:n.t}}return null}else{for(let s=0;s<2;s++)if(i(s===0?a:o,e,r),n.loc==t.ORIGIN){let e=s===0?a:o;return{x:e.x,y:e.y,t:n.t}}let l=+(s+v*(c-s)).toPrecision(10),u=+(d+v*(f-d)).toPrecision(10);return{x:l,y:u,t:v}}}function i(e,r,i){let a=i.x-r.x,o=i.y-r.y,s=e.x-r.x,c=e.y-r.y,l=a*c-s*o;if(e.x===r.x&&e.y===r.y){n.loc=t.ORIGIN,n.t=0;return}if(e.x===i.x&&e.y===i.y){n.loc=t.DESTINATION,n.t=1;return}if(l<-(2**-52)){n.loc=t.LEFT;return}if(l>2**-52){n.loc=t.RIGHT;return}if(a*s<0||o*c<0){n.loc=t.BEHIND;return}if(Math.sqrt(a*a+o*o)e.t<=l.t+2**-52&&e.t>=l.t-2**-52)===void 0&&(n.push(l),i.push(new Ae(l.x,l.y)))}}return i}function o(e,t,n){let r=new Ae;t.getCenter(r);let i=[];return n.forEach(t=>{t.boundingBox.containsPoint(r)&&a(e,t.points).forEach(e=>{i.push({identifier:t.identifier,isCW:t.isCW,point:e})})}),i.sort((e,t)=>e.point.x-t.point.x),i}function s(e,t,n,r,i){(i==null||i===``)&&(i=`nonzero`);let a=new Ae;e.boundingBox.getCenter(a);let s=[new Ae(n,a.y),new Ae(r,a.y)],c=o(s,e.boundingBox,t);c.sort((e,t)=>e.point.x-t.point.x);let l=[],u=[];c.forEach(t=>{t.identifier===e.identifier?l.push(t):u.push(t)});let d=l[0].point.x,f=[],p=0;for(;p0&&f[f.length-1]===u[p].identifier?f.pop():f.push(u[p].identifier),p++;if(f.push(e.identifier),i===`evenodd`){let t=f.length%2==0,n=f[f.length-2];return{identifier:e.identifier,isHole:t,for:n}}else if(i===`nonzero`){let n=!0,r=null,i=null;for(let e=0;e{let t=e.getPoints(),n=-999999999,r=999999999,i=-999999999,a=999999999;for(let e=0;en&&(n=o.y),o.yi&&(i=o.x),o.x=a&&(c=a-1),{curves:e.curves,points:t,isCW:St.isClockWise(t),identifier:-1,boundingBox:new Wt(new Ae(a,r),new Ae(i,n))}});u=u.filter(e=>e.points.length>1);for(let e=0;es(t,u,c,l,e.userData?e.userData.style.fillRule:void 0)),f=[];return u.forEach(e=>{if(!d[e.identifier].isHole){let t=new dt;t.curves=e.curves,d.filter(t=>t.isHole&&t.for===e.identifier).forEach(e=>{let n=u[e.identifier],r=new pe;r.curves=n.curves,t.holes.push(r)}),f.push(t)}}),f}static getStrokeStyle(e,t,n,r,i){return e=e===void 0?1:e,t=t===void 0?`#000`:t,n=n===void 0?`miter`:n,r=r===void 0?`butt`:r,i=i===void 0?4:i,{strokeColor:t,strokeWidth:e,strokeLineJoin:n,strokeLineCap:r,strokeMiterLimit:i}}static pointsToStroke(t,n,r,i){let a=[],o=[],s=[];if(e.pointsToStrokeWithBuffers(t,n,r,i,a,o,s)===0)return null;let c=new yt;return c.setAttribute(`position`,new $e(a,3)),c.setAttribute(`normal`,new $e(o,3)),c.setAttribute(`uv`,new $e(s,2)),c}static pointsToStrokeWithBuffers(e,t,n,r,i,a,o,s){let c=new Ae,l=new Ae,u=new Ae,d=new Ae,f=new Ae,p=new Ae,m=new Ae,h=new Ae,g=new Ae,_=new Ae,v=new Ae,y=new Ae,b=new Ae,x=new Ae,S=new Ae,C=new Ae,w=new Ae;n=n===void 0?12:n,r=r===void 0?.001:r,s=s===void 0?0:s,e=le(e);let T=e.length;if(T<2)return 0;let E=e[0].equals(e[T-1]),D,O=e[0],k,A=t.strokeWidth/2,j=1/(T-1),M=0,N,ee,P,F,I=!1,te=0,ne=s*3,L=s*2;re(e[0],e[1],c).multiplyScalar(A),h.copy(e[0]).sub(c),g.copy(e[0]).add(c),_.copy(h),v.copy(g);for(let n=1;n2**-52){let n=A/e;u.multiplyScalar(-n),d.subVectors(D,O),f.copy(d).setLength(n).add(u),C.copy(f).negate();let r=f.length(),i=d.length();d.divideScalar(i),p.subVectors(k,D);let a=p.length();switch(p.divideScalar(a),d.dot(C)=r&&n.push(e[t]);return n.push(e[e.length-1]),n}}};const WV=new _e,GV=new L;var KV=class extends ze{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type=`LineSegmentsGeometry`;let 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],n=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(n),this.setAttribute(`position`,new $e(e,3)),this.setAttribute(`uv`,new $e(t,2))}applyMatrix4(e){let t=this.attributes.instanceStart,n=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),n.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));let n=new Pe(t,6,1);return this.setAttribute(`instanceStart`,new Ne(n,3,0)),this.setAttribute(`instanceEnd`,new Ne(n,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e,t=3){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));let r=new Pe(n,t*2,1);return this.setAttribute(`instanceColorStart`,new Ne(r,t,0)),this.setAttribute(`instanceColorEnd`,new Ne(r,t,t)),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 ge(e.geometry)),this}fromLineSegments(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new _e);let e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),WV.setFromBufferAttribute(t),this.boundingBox.union(WV))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Ht),this.boundingBox===null&&this.computeBoundingBox();let e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(e!==void 0&&t!==void 0){let n=this.boundingSphere.center;this.boundingBox.getCenter(n);let r=0;for(let i=0,a=e.count;i + #include + #include + #include + + uniform float linewidth; + uniform vec2 resolution; + + attribute vec3 instanceStart; + attribute vec3 instanceEnd; + + #ifdef USE_COLOR + #ifdef USE_LINE_COLOR_ALPHA + varying vec4 vLineColor; + attribute vec4 instanceColorStart; + attribute vec4 instanceColorEnd; + #else + varying vec3 vLineColor; + attribute vec3 instanceColorStart; + attribute vec3 instanceColorEnd; + #endif + #endif + + #ifdef WORLD_UNITS + + varying vec4 worldPos; + varying vec3 worldStart; + varying vec3 worldEnd; + + #ifdef USE_DASH + + varying vec2 vUv; + + #endif + + #else + + varying vec2 vUv; + + #endif + + #ifdef USE_DASH + + uniform float dashScale; + attribute float instanceDistanceStart; + attribute float instanceDistanceEnd; + varying float vLineDistance; + + #endif + + void trimSegment( const in vec4 start, inout vec4 end ) { + + // trim end segment so it terminates between the camera plane and the near plane + + // conservative estimate of the near plane + float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column + float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column + 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() { + + #ifdef USE_COLOR + + vLineColor = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; + + #endif + + #ifdef USE_DASH + + vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; + vUv = uv; + + #endif + + float aspect = resolution.x / resolution.y; + + // camera space + vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); + vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); + + #ifdef WORLD_UNITS + + worldStart = start.xyz; + worldEnd = end.xyz; + + #else + + vUv = uv; + + #endif + + // special case for perspective projection, and segments that terminate either in, or behind, the camera plane + // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space + // but we need to perform ndc-space calculations in the shader, so we must address this issue directly + // perhaps there is a more elegant solution -- WestLangley + + bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column + + 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 ); + + } + + } + + // clip space + vec4 clipStart = projectionMatrix * start; + vec4 clipEnd = projectionMatrix * end; + + // ndc space + vec3 ndcStart = clipStart.xyz / clipStart.w; + vec3 ndcEnd = clipEnd.xyz / clipEnd.w; + + // direction + vec2 dir = ndcEnd.xy - ndcStart.xy; + + // account for clip-space aspect ratio + dir.x *= aspect; + dir = normalize( dir ); + + #ifdef WORLD_UNITS + + // get the offset direction as perpendicular to the view vector + vec3 worldDir = normalize( end.xyz - start.xyz ); + vec3 offset; + if ( position.y < 0.5 ) { + + offset = normalize( cross( start.xyz, worldDir ) ); + + } else { + + offset = normalize( cross( end.xyz, worldDir ) ); + + } + + // sign flip + if ( position.x < 0.0 ) offset *= - 1.0; + + float forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) ); + + // don't extend the line if we're rendering dashes because we + // won't be rendering the endcaps + #ifndef USE_DASH + + // extend the line bounds to encompass endcaps + start.xyz += - worldDir * linewidth * 0.5; + end.xyz += worldDir * linewidth * 0.5; + + // shift the position of the quad so it hugs the forward edge of the line + offset.xy -= dir * forwardOffset; + offset.z += 0.5; + + #endif + + // endcaps + if ( position.y > 1.0 || position.y < 0.0 ) { + + offset.xy += dir * 2.0 * forwardOffset; + + } + + // adjust for linewidth + offset *= linewidth * 0.5; + + // set the world position + worldPos = ( position.y < 0.5 ) ? start : end; + worldPos.xyz += offset; + + // project the worldpos + vec4 clip = projectionMatrix * worldPos; + + // shift the depth of the projected points so the line + // segments overlap neatly + vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; + clip.z = clipPose.z * clip.w; + + #else + + vec2 offset = vec2( dir.y, - dir.x ); + // undo aspect ratio adjustment + dir.x /= aspect; + offset.x /= aspect; + + // sign flip + if ( position.x < 0.0 ) offset *= - 1.0; + + // endcaps + if ( position.y < 0.0 ) { + + offset += - dir; + + } else if ( position.y > 1.0 ) { + + offset += dir; + + } + + // adjust for linewidth + offset *= linewidth; + + // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... + offset /= resolution.y; + + // select end + vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; + + // back to clip space + offset *= clip.w; + + clip.xy += offset; + + #endif + + gl_Position = clip; + + vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation + + #include + #include + #include + + } + `,fragmentShader:` + uniform vec3 diffuse; + uniform float opacity; + uniform float linewidth; + + #ifdef USE_DASH + + uniform float dashOffset; + uniform float dashSize; + uniform float gapSize; + + #endif + + varying float vLineDistance; + + #ifdef WORLD_UNITS + + varying vec4 worldPos; + varying vec3 worldStart; + varying vec3 worldEnd; + + #ifdef USE_DASH + + varying vec2 vUv; + + #endif + + #else + + varying vec2 vUv; + + #endif + + #include + #include + #include + #include + + #ifdef USE_COLOR + #ifdef USE_LINE_COLOR_ALPHA + varying vec4 vLineColor; + #else + varying vec3 vLineColor; + #endif + #endif + + 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 ); + + } + + void main() { + + #include + + #ifdef USE_DASH + + if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps + + if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX + + #endif + + float alpha = opacity; + + #ifdef WORLD_UNITS + + // Find the closest points on the view ray and the line segment + vec3 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; + + #ifndef USE_DASH + + #ifdef USE_ALPHA_TO_COVERAGE + + float dnorm = fwidth( norm ); + alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); + + #else + + if ( norm > 0.5 ) { + + discard; + + } + + #endif + + #endif + + #else + + #ifdef USE_ALPHA_TO_COVERAGE + + // artifacts appear on some hardware if a derivative is taken within a conditional + float 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 ); + + } + + #else + + if ( 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; + + } + + #endif + + #endif + + vec4 diffuseColor = vec4( diffuse, alpha ); + #ifdef USE_COLOR + #ifdef USE_LINE_COLOR_ALPHA + diffuseColor *= vLineColor; + #else + diffuseColor.rgb *= vLineColor; + #endif + #endif + + #include + + gl_FragColor = diffuseColor; + + #include + #include <${parseInt(Lt.replace(/\D+/g,``))>=154?`colorspace_fragment`:`encodings_fragment`}> + #include + #include + + } + `,clipping:!0}),this.isLineMaterial=!0,this.onBeforeCompile=function(){this.transparent?this.defines.USE_LINE_COLOR_ALPHA=`1`:delete this.defines.USE_LINE_COLOR_ALPHA},Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},worldUnits:{enumerable:!0,get:function(){return`WORLD_UNITS`in this.defines},set:function(e){e===!0?this.defines.WORLD_UNITS=``:delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashed:{enumerable:!0,get:function(){return`USE_DASH`in this.defines},set(e){!!e!=`USE_DASH`in this.defines&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH=``:delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(e){this.uniforms.dashOffset.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},alphaToCoverage:{enumerable:!0,get:function(){return`USE_ALPHA_TO_COVERAGE`in this.defines},set:function(e){!!e!=`USE_ALPHA_TO_COVERAGE`in this.defines&&(this.needsUpdate=!0),e===!0?(this.defines.USE_ALPHA_TO_COVERAGE=``,this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}};const YV=new mt,XV=new L,ZV=new L,QV=new mt,$V=new mt,eH=new mt,tH=new L,nH=new N,rH=new Ee,iH=new L,aH=new _e,oH=new Ht,sH=new mt;let cH,lH;function uH(e,t,n){return sH.set(0,0,-t,1).applyMatrix4(e.projectionMatrix),sH.multiplyScalar(1/sH.w),sH.x=lH/n.width,sH.y=lH/n.height,sH.applyMatrix4(e.projectionMatrixInverse),sH.multiplyScalar(1/sH.w),Math.abs(Math.max(sH.x,sH.y))}function dH(e,t){let n=e.matrixWorld,r=e.geometry,i=r.attributes.instanceStart,a=r.attributes.instanceEnd,o=Math.min(r.instanceCount,i.count);for(let r=0,s=o;ru&&$V.z>u)continue;if(QV.z>u){let e=QV.z-$V.z,t=(QV.z-u)/e;QV.lerp($V,t)}else if($V.z>u){let e=$V.z-QV.z,t=($V.z-u)/e;$V.lerp(QV,t)}QV.applyMatrix4(r),$V.applyMatrix4(r),QV.multiplyScalar(1/QV.w),$V.multiplyScalar(1/$V.w),QV.x*=i.x/2,QV.y*=i.y/2,$V.x*=i.x/2,$V.y*=i.y/2,rH.start.copy(QV),rH.start.z=0,rH.end.copy($V),rH.end.z=0;let o=rH.closestPointToPointParameter(tH,!0);rH.at(o,iH);let l=we.lerp(QV.z,$V.z,o),d=l>=-1&&l<=1,f=tH.distanceTo(iH)t)),o=Math.min(e.length,i);return a.slice(0,o).sort().map(t=>e[t])}shuffle(e){return e.map(e=>({value:e,sort:this._getNext()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e)}getMulberry32(e=0){return e>0&&e<1&&(e=Math.floor(e*2**16)),()=>{e+=1831565813;let t=e;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}};const UH=[gH,_H,vH,yH,bH],WH=we.lerp,GH=(e=0,t=zH)=>{let n=new HH(e).choice(UH);return t.map((t,r)=>{let i=new HH(e*(r*7907+1)+(typeof t.seed==`number`?t.seed:0)),a=i.int(t.length[0],t.length[1]);return Array.from({length:a}).fill(0).map(()=>{let e=n(i.rand());return{texture:i.defaultChoice(t.texture,BH.texture),size:WH(t.size[0],t.size[1],n(1-e)),distance:WH(t.distance[0],t.distance[1],e),color:i.defaultChoice(t.color,BH.color)}})}).flat()},KH=(e,t,n=void 0,r=void 0,i=BH)=>{if(e!==void 0&&e.length>0&&(typeof n==`number`||typeof r<`u`)){let a=GH(n??0,r??zH),o=a.length,s=e.length;return o>=s?a.map((n,r)=>Object.assign(n,t,rObject.assign({},i,n0){let n=Object.assign({},i,t);return e.map(e=>Object.assign({},n,e))}let a=r===void 0||r.length===0?zH:r;return GH(n??0,a).map(e=>Object.assign({},e,t))};function qH(e){return JH(e,(e,t)=>t in BH&&e!==void 0)}function JH(e,t){let n={};return Object.keys(e).forEach(r=>{t(e[r],r)&&(n[r]=e[r])}),n}const YH=Xt({__name:`component`,props:{scale:{default:1},elements:{default:void 0},seed:{default:void 0},seedProps:{default:void 0},color:{default:void 0},distance:{default:void 0},size:{default:void 0},texture:{default:void 0}},setup(e,{expose:t}){let n=e,r=B(),i=B([]),a=B(qH(n));t({instance:r});let o=new Ot,s=new NB,c=[],l=()=>{for(var e,t,n;c.length;)c.pop();(e=r.value)==null||e.children.forEach(e=>{`dispose`in e&&e.dispose()}),(t=r.value)==null||t.remove(...r.value.children),(n=r.value)==null||n.dispose()},u=e=>{if(typeof e.texture==`string`){let t=e.texture;e.texture=o.load(t),e.texture.name=t}return e.color=D(e.color),e},d=()=>{for(let e=i.value.length-1;e{c[t].size=e.size*n.scale})},f=()=>{for(;i.value.length>c.length;){let e={...u(i.value[c.length])};c.push(e),s.addElement(e)}i.value.forEach((e,t)=>{let n=c[t],{texture:r,size:i,distance:a,color:s}=e;if(typeof r==`string`){if(n.texture.name!==r){n.texture.dispose();let e=r;n.texture=o.load(e),n.texture.name=e}}else n.texture!==r&&(n.texture.dispose(),n.texture=r);n.size=i,n.distance=a,n.color=D(s)}),d()};return dn(()=>{l()}),Jt(()=>{var e;(e=r.value)==null||e.add(s),i.value=KH(n.elements,a.value,n.seed,n.seedProps)}),H(()=>[n.color,n.distance,n.size,n.texture],()=>{a.value={color:n.color,distance:n.distance,size:n.size,texture:n.texture}}),H(()=>[a.value,n.elements,n.seed,n.seedProps],()=>{i.value=KH(n.elements,a.value,n.seed,n.seedProps)}),H(()=>n.scale,()=>{d()}),H(()=>i.value,()=>{f()}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`lensflareRef`,ref:r},null,512))}}),XH=Xt({__name:`Levioso`,props:{speed:{default:1},rotationFactor:{default:1},floatFactor:{default:1},range:{default:()=>[-.1,.1]}},setup(e,{expose:t}){let n=e,r=B();t({instance:r});{let e=Math.random()*1e4,{onBeforeRender:t}=T(),i=e;t(({delta:e,invalidate:t})=>{if(!r.value)return;i+=e*n.speed;let a=i*.25,o=r.value;o.rotation.x=Math.cos(a)*.125*n.rotationFactor,o.rotation.y=Math.sin(a)*.125*n.rotationFactor,o.rotation.z=Math.sin(a)*.05*n.rotationFactor,o.position.y=we.mapLinear(Math.sin(a),-1,1,n.range[0],n.range[1])*n.floatFactor,t()})}return(e,t)=>(U(),V(`TresGroup`,Sn(e.$attrs,{ref_key:`groupRef`,ref:r}),[hn(e.$slots,`default`)],16))}}),ZH=[`render-order`],QH=Xt({__name:`component`,props:{id:{default:1},colorWrite:{type:Boolean,default:!0},depthWrite:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=e,r=B();function i(){var e,t;let i=Array.isArray((e=r.value)?.material)?r.value.material[0]:(t=r.value)?.material;i&&(i.colorWrite=n.colorWrite,i.depthWrite=n.depthWrite,i.stencilWrite=!0,i.stencilRef=n.id,i.stencilFunc=Pt,i.stencilFail=Ue,i.stencilZFail=Ue,i.stencilZPass=Ue)}return pn(i),t({instance:r}),(e,t)=>(U(),V(`TresMesh`,{ref_key:`meshRef`,ref:r,"render-order":-n.id},[hn(e.$slots,`default`)],8,ZH))}}),$H=Xt({__name:`MouseParallax`,props:{disabled:{type:Boolean,default:!1},factor:{default:2.5},ease:{default:.1},local:{type:Boolean,default:!1}},setup(e){let t=e,{camera:n,renderer:r}=be(),{disabled:i,factor:a,ease:o,local:s}=tn(t),c={};s.value&&(c.target=r.value.domElement,c.type=`client`);let{x:l,y:u}=RR(c),{width:d,height:f}=s.value?MR(r.value.domElement):BR(),p=B(),m=G(),h=G();H([a,o],()=>{m.value=Array.isArray(a.value)?a.value:[a.value,a.value],h.value=Array.isArray(o.value)?o.value:[o.value,o.value]},{immediate:!0});let g=yn(()=>(l.value/d.value-.5)*m.value[0]),_=yn(()=>-(u.value/f.value-.5)*m.value[1]),{onBeforeRender:v}=T();return v(({delta:e,invalidate:t})=>{i.value||!p.value||Number.isNaN(g.value)||Number.isNaN(_.value)||(p.value.position.x+=(g.value-p.value.position.x)*h.value[0]*e,p.value.position.y+=(_.value-p.value.position.y)*h.value[1]*e,t())}),H(()=>p.value,e=>e?.add(n.value)),(e,t)=>(U(),V(`TresGroup`,{ref_key:`cameraGroupRef`,ref:p},null,512))}}),eU=JR({screenspace:!1,color:new Ct(`black`),opacity:1,thickness:.05,size:new Ae(1,1)},`#include + #include + #include + uniform float thickness; + uniform bool screenspace; + uniform vec2 size; + void main() { + #if defined (USE_SKINNING) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + vec4 tNormal = vec4(normal, 0.0); + vec4 tPosition = vec4(transformed, 1.0); + #ifdef USE_INSTANCING + tNormal = instanceMatrix * tNormal; + tPosition = instanceMatrix * tPosition; + #endif + if (screenspace) { + vec3 newPosition = tPosition.xyz + tNormal.xyz * thickness; + gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0); + } else { + vec4 clipPosition = projectionMatrix * modelViewMatrix * tPosition; + vec4 clipNormal = projectionMatrix * modelViewMatrix * tNormal; + vec2 offset = normalize(clipNormal.xy) * thickness / size * clipPosition.w * 2.0; + clipPosition.xy += offset; + gl_Position = clipPosition; + } + }`,`uniform vec3 color; + uniform float opacity; + void main(){ + gl_FragColor = vec4(color, opacity); + #include + #include + }`),tU=Xt({__name:`component`,props:{color:{default:`black`},screenspace:{type:Boolean,default:!1},opacity:{default:1},transparent:{type:Boolean,default:!1},thickness:{default:.05},angle:{default:Math.PI},toneMapped:{type:Boolean,default:!0},polygonOffset:{type:Boolean,default:!1},polygonOffsetFactor:{default:0},renderOrder:{default:0}},setup(e,{expose:t}){let n=e,r=B();t({instance:r});let i=new eU({...n}),a=new Ae(1,1),o=0,s=null;function c(e){var t;let r=e.parent;if(!(!r||!r.geometry)&&(o!==n.angle||s!==r.geometry)){o=n.angle,s=r.geometry;let a=(t=e.children)?.[0];a&&(n.angle&&a.geometry.dispose(),e.remove(a)),r.skeleton?(a=new Bt,a.material=i,a.bind(r.skeleton,r.bindMatrix),e.add(a)):r.isInstancedMesh?(a=new ut(r.geometry,i,r.count),a.instanceMatrix=r.instanceMatrix,e.add(a)):(a=new z,a.material=i,e.add(a)),a.geometry=n.angle?nz(r.geometry,n.angle):r.geometry}}function l(){i.side=P,i.transparent=n.transparent,i.thickness=n.thickness,i.color=D(n.color),i.opacity=n.opacity,i.size=a,i.screenspace=n.screenspace,i.toneMapped=n.toneMapped,i.polygonOffset=n.polygonOffset,i.polygonOffsetFactor=n.polygonOffsetFactor}let u=w().sizes;return H(()=>[u.width.value,u.height.value],([e,t])=>{a.set(e,t)}),H(()=>[n.angle],()=>{r.value&&c(r.value)}),H(()=>[n.transparent,n.thickness,n.color,n.opacity,a,n.screenspace,n.toneMapped,n.polygonOffset,n.polygonOffsetFactor],()=>l(),{immediate:!0}),Jt(()=>c(r.value)),dn(()=>{var e;let t=(e=r.value)?.children[0];t&&(t.geometry.dispose(),i.dispose(),t.removeFromParent())}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`groupRef`,ref:r},null,512))}}),nU=[`args`],rU=Xt({__name:`PositionalAudio`,props:{ready:{type:Boolean,default:!1},url:{},distance:{default:2},helper:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},autoplay:{type:Boolean,default:!1},innerAngle:{default:360},outerAngle:{default:360},outerGain:{default:0}},emits:[`isPlaying`],async setup(e,{expose:t,emit:n}){let r,i,a=e,o=n,{ready:s,url:c,distance:l,helper:u,loop:d,autoplay:f,innerAngle:p,outerAngle:m,outerGain:h}=tn(a),{camera:g}=be(),_=B(null),v=B(null),y=B(null),b=sn(new Ye),x=()=>{var e,t,n;(e=_?.value)!=null&&e.isPlaying||((t=_?.value)==null||t.play(),o(`isPlaying`,(n=_?.value)?.isPlaying))},S=()=>{var e,t;(e=_?.value)!=null&&e.isPlaying&&(_.value.pause(),o(`isPlaying`,(t=_?.value)?.isPlaying))},C=()=>{var e;_.value&&(_.value.stop(),o(`isPlaying`,(e=_?.value)?.isPlaying))},w=()=>{if(!(_!=null&&_.value))return;C();let e=_.value;e.source&&e.disconnect()},T=()=>{var e,t;!(_!=null&&_.value)||!(v!=null&&v.value)||((e=v?.value)==null||e.dispose(),(t=_?.value)==null||t.remove(v?.value))},E=()=>{var e;if(_.value&&(_.value.setBuffer(y.value),_.value.setRefDistance(l.value),_.value.setLoop(d.value),_.value.setDirectionalCone(p.value,m.value,h.value),(e=v?.value)==null||e.update(),v!=null&&v.value)){let e=v.value.material[0];!e.visible&&m.value!==p.value&&(e.visible=!0)}},D=()=>{var e,t;E();let n=(e=_.value)?.parent,r=new _e().setFromObject(n),i=(r.max.z-r.min.z)*2;v.value=new hH(_.value,i,32,16),(t=_?.value)==null||t.add(v.value),v.value.update()},O=()=>{var e;(e=g?.value)==null||e.remove(b),w(),T()};return t({instance:_,play:x,stop:C,pause:S,dispose:O}),y.value=([r,i]=_n(()=>ye(Oe,c.value)),r=await r,i(),r),H(_,()=>{_!=null&&_.value&&(u.value&&D(),s.value&&f&&x())}),H(u,()=>{u.value?D():T()}),H(s,()=>{s.value&&E(),f.value&&s.value&&x(),!f.value&&s.value&&C()}),H([l,d,y,p,m,h,f],()=>{E()}),Jt(()=>{var e;(e=g?.value)==null||e.add(b)}),$t(()=>{O()}),(e,t)=>(U(),V(`TresPositionalAudio`,Sn({ref_key:`positionalAudioRef`,ref:_,args:[W(b)]},e.$attrs),null,16,nU))}}),iU=[`args`,`material-uniforms-color-value`],aU=Xt({__name:`Reflector`,props:{color:{default:`#333`},textureWidth:{default:512},textureHeight:{default:512},clipBias:{default:0},multisample:{default:4},shader:{default:TB.ReflectorShader}},setup(e,{expose:t}){let n=e,{extend:r,invalidate:i}=be(),a=B();r({Reflector:TB});let{color:o,textureWidth:s,textureHeight:c,clipBias:l,multisample:u,shader:d}=tn(n);return H(n,()=>i()),t({instance:a}),(e,t)=>(U(),V(`TresReflector`,{ref_key:`reflectorRef`,ref:a,args:[void 0,{textureWidth:W(s),textureHeight:W(c),clipBias:W(l),multisample:W(u),shader:W(d)}],"material-uniforms-color-value":W(o)},[hn(e.$slots,`default`,{},()=>[t[0]||=K(`TresPlaneGeometry`,{args:[5,5]},null,-1)])],8,iU))}}),oU=[`position-z`],sU=Xt({__name:`ScreenSpace`,props:{depth:{default:-1}},setup(e,{expose:t}){let n=B();return T().onBeforeRender(({camera:e})=>{n.value&&(n.value.quaternion.copy(e.quaternion),n.value.position.copy(e.position))}),t({instance:n}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`outerRef`,ref:n},[K(`TresGroup`,{"position-z":-e.depth},[hn(e.$slots,`default`)],8,oU)],512))}}),cU=[`args`,`center`],lU=Xt({__name:`Text3D`,props:{font:{},text:{},size:{default:.5},height:{default:.2},curveSegments:{default:5},bevelEnabled:{type:Boolean,default:!0},bevelThickness:{default:.05},bevelSize:{default:.02},bevelOffset:{default:0},bevelSegments:{default:4},center:{type:Boolean,default:!1},needUpdates:{type:Boolean,default:!1}},async setup(e,{expose:t}){let n,r,i=e,{center:a,font:o,text:s,needUpdates:c,size:l,height:u,curveSegments:d,bevelEnabled:f,bevelThickness:p,bevelSize:m,bevelOffset:h,bevelSegments:g}=tn(i),{extend:_,invalidate:v}=be();H(i,()=>v()),_({TextGeometry:kV});let y=new LV,b=xn(),x=yn(()=>{var e;return s!=null&&s.value?s.value:b.default?(e=b.default()[0].children)?.trim():c.value?``:`TresJS`}),S=B();t({instance:S});let C=([n,r]=_n(()=>new Promise((e,t)=>{try{typeof o.value==`string`?y.load(o.value,t=>{e(t)}):e(o.value)}catch(e){t(console.error(`cientos`,e))}})),n=await n,r(),n),w=yn(()=>({font:C,size:cn(l),height:cn(u),curveSegments:cn(d),bevelEnabled:cn(f),bevelThickness:cn(p),bevelSize:cn(m),bevelOffset:cn(h),bevelSegments:cn(g)}));return pn(()=>{S.value&&c.value&&(S.value.geometry.dispose(),S.value.geometry=new kV(x.value,w.value),a.value&&S.value.geometry.center())}),(e,t)=>W(o)?(U(),V(`TresMesh`,{key:0,ref_key:`text3DRef`,ref:S},[x.value?(U(),V(`TresTextGeometry`,{key:0,args:[x.value,w.value],center:W(a)},null,8,cU)):Zt(``,!0),hn(e.$slots,`default`)],512)):Zt(``,!0)}});function uU(e){let t=G(null),{height:n,width:r,settings:i,depth:a,autoRender:o=G(!0)}=en(e)?tn(e):tn(an(e)),{onBeforeRender:s}=T(),{camera:c,renderer:l,scene:u,sizes:d,invalidate:f}=be();return H(()=>[r?.value,d.width.value,n?.value,d.height.value],()=>{var e;(e=t.value)==null||e.dispose(),t.value=new ve(r?.value||d.width.value,n?.value||d.height.value,{minFilter:It,magFilter:It,type:j,...i?.value}),a!=null&&a.value&&(t.value.depthTexture=new lt(r?.value||d.width.value,n?.value||d.height.value,Be)),f()},{immediate:!0}),s(()=>{o.value&&(l.value.setRenderTarget(t.value),l.value.clear(),l.value.render(u.value,c.value),l.value.setRenderTarget(null))},1/0),$t(()=>{var e;(e=t.value)==null||e.dispose()}),t}const dU=Xt({__name:`component`,props:{width:{},height:{},depth:{type:Boolean,default:!1},settings:{default:void 0},autoRender:{type:Boolean,default:!0}},setup(e,{expose:t}){let n=uU(e);return t({instance:n}),()=>{}}}),fU=(e,t=16,n,r,i)=>{let a=new Float32Array(t*16),o=G(new I(a,16));return(()=>{if(!e)return;let a=new WB(e);r&&a.setWeightAttribute(r),a.build();let s=new L,c=new L,l=new Ct,u=new wt;e.updateMatrixWorld(!0);for(let r=0;ro()),pn(()=>{var e,t;i.value=n.instanceMesh??(e=r.value)?.children.find(e=>Object.prototype.hasOwnProperty.call(e,`instanceMatrix`)),a.value=n.mesh??(t=r.value)?.children.find(e=>e.type===`Mesh`),fU(a.value,n.count,i.value,n.weight,n.transform)}),t({samplerRef:r}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`samplerRef`,ref:r},[hn(e.$slots,`default`)],512))}}),mU=new L,hU=new L,gU=new L,_U=(e,t,n)=>{let r=n.width/2,i=n.height/2;t.updateMatrixWorld(!1);let a=e.project(t);return a.x=a.x*r+r,a.y=-(a.y*i)+i,a},vU=(e,t,n,r=1)=>{let i=mU.set(e.x/n.width*2-1,-(e.y/n.height)*2+1,r);return i.unproject(t),i},yU=(e,t,n,r)=>{let i=_U(gU.copy(e),n,r),a=0;for(let o=0;o<2;++o){let s=hU.copy(i).setComponent(o,i.getComponent(o)+t),c=vU(s,n,r,s.z);a=Math.max(a,e.distanceTo(c))}return a},bU=Xt({__name:`ScreenSizer`,setup(e,{expose:t}){let n=new L,r=B(),i=B(),a=w().sizes,o=yn(()=>({width:a.width.value,height:a.height.value}));return T().onBeforeRender(({camera:e})=>{let t=i.value;if(!t)return;let r=yU(t.getWorldPosition(n),1,e,o.value);t.scale.setScalar(r)}),t({instance:r}),(e,t)=>(U(),V(`TresObject3D`,{ref_key:`outerRef`,ref:r},[K(`TresObject3D`,{ref_key:`innerRef`,ref:i},[hn(e.$slots,`default`)],512)],512))}}),xU=[`color`],SU=Xt({__name:`Edges`,props:{color:{default:`#ff0000`},threshold:{default:15}},setup(e,{expose:t}){let n=e,{color:r,threshold:i}=tn(n),a=B(),o=G(null),s=G(1);return t({instance:a}),H(()=>[a.value,i.value],()=>{if(a.value){let e=a.value.parent;if(e&&`geometry`in e&&e.geometry instanceof yt){let t=e.geometry;(t!==o.value||i.value!==s.value)&&(o.value=t,s.value=i.value,a.value.geometry=new pt(t,i.value))}}}),(e,t)=>(U(),V(`TresLineSegments`,Sn({ref_key:`lineSegmentsRef`,ref:a},e.$attrs),[hn(e.$slots,`default`,{},()=>[K(`TresLineBasicMaterial`,{color:W(r)},null,8,xU)])],16))}}),CU={sunset:`venice/venice_sunset_1k.hdr`,studio:`studio/poly_haven_studio_1k.hdr`,city:`city/canary_wharf_1k.hdr`,umbrellas:`outdoor/outdoor_umbrellas_1k.hdr`,night:`outdoor/satara_night_1k.hdr`,forest:`outood/mossy_forest_1k.hdr`,snow:`outdoor/snowy_forest_path_01_1k.hdr`,dawn:`kiara/kiara_1_dawn_1k.hdr`,hangar:`indoor/small_hangar_01_1k.hdr`,urban:`indoor/abandoned_games_room_02_1k.hdr`,modern:`city/modern_buildings_2_1k.hdr`,shangai:`city/shanghai_bund_1k.hdr`},wU=`https://raw.githubusercontent.com/Tresjs/assets/main/textures/hdr/`;function TU(e){return e instanceof re?e:Array.isArray(e)?new re(e[0],e[1],e[2]):typeof e==`number`?new re(e,e,e):e instanceof L||typeof e==`object`&&`x`in e&&`y`in e&&`z`in e?new re(e.x,e.y,e.z):null}function EU(e){e.traverse(e=>{e instanceof z&&e.material&&(e.material.needsUpdate=!0)})}async function DU(e,t){let{scene:n,invalidate:r}=be(),{preset:i,blur:a,files:o=G([]),path:s=G(``),background:c,backgroundIntensity:l=G(1),environmentIntensity:u=G(1),backgroundRotation:d=G([0,0,0]),environmentRotation:f=G([0,0,0]),syncMaterials:p=G(!1)}=tn(e);H(e,()=>{r()});let m=G(null),h=yn(()=>Array.isArray(o.value)),g=yn(()=>h.value?kt:VV);return H([o,s],async([e,t])=>{if(e&&e.length>0&&!(i!=null&&i.value)){try{let n=await ye(g.value,h.value?[...W(e)]:W(e),e=>{t&&e.setPath(W(t))});m.value=Array.isArray(n)?n[0]:n}catch(e){throw Error(`Failed to load environment map: ${e}`)}m.value&&(m.value.mapping=h.value?M:ce)}},{immediate:!0}),H(m,e=>{n.value&&e&&(n.value.environment=e)},{immediate:!0}),H([c,m],([e,r])=>{if(n.value){let i=t!=null&&t.value?t.value.texture:r;i&&(n.value.background=e?i:null)}},{immediate:!0}),H(()=>a?.value,e=>{n.value&&e&&(n.value.backgroundBlurriness=e)},{immediate:!0}),H(()=>l?.value,e=>{n.value&&(n.value.backgroundIntensity=e??1)},{immediate:!0}),H(()=>u?.value,e=>{n.value&&(n.value.environmentIntensity=e??1)},{immediate:!0}),H(()=>d?.value,e=>{if(n.value){let t=TU(e);t&&(n.value.backgroundRotation=t)}},{immediate:!0}),H(()=>f?.value,e=>{if(n.value&&!(p!=null&&p.value)){let t=TU(e);t&&(n.value.environmentRotation=t,EU(n.value))}},{immediate:!0}),H(()=>i?.value,async e=>{if(e&&e in CU){let t=wU,n=CU[e];try{let e=await ye(VV,n,e=>{e.setPath(t)});m.value=Array.isArray(e)?e[0]:e}catch(e){throw Error(`Failed to load environment map: ${e}`)}m.value&&(m.value.mapping=ce),r()}else if(e&&!(e in CU))throw Error(`Preset must be one of: ${Object.keys(CU).join(`, `)}`)},{immediate:!0}),H([p,d],([e,t])=>{if(e&&n.value){let e=TU(t);e&&(n.value.environmentRotation=e,EU(n.value))}},{immediate:!0}),m} +/*! +* camera-controls +* https://github.com/yomotsu/camera-controls +* (c) 2017 @yomotsu +* Released under the MIT License. +*/ +const OU={LEFT:1,RIGHT:2,MIDDLE:4},$=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768}),kU={NONE:0,IN:1,OUT:-1};function AU(e){return e.isPerspectiveCamera}function jU(e){return e.isOrthographicCamera}const MU=Math.PI*2,NU=Math.PI/2,PU=1e-5,FU=Math.PI/180;function IU(e,t,n){return Math.max(t,Math.min(n,e))}function LU(e,t=PU){return Math.abs(e)0==p>u&&(p=u,n.value=(p-u)/a),p}function UU(e,t,n,r,i=1/0,a,o){r=Math.max(1e-4,r);let s=2/r,c=s*a,l=1/(1+c+.48*c*c+.235*c*c*c),u=t.x,d=t.y,f=t.z,p=e.x-u,m=e.y-d,h=e.z-f,g=u,_=d,v=f,y=i*r,b=y*y,x=p*p+m*m+h*h;if(x>b){let e=Math.sqrt(x);p=p/e*y,m=m/e*y,h=h/e*y}u=e.x-p,d=e.y-m,f=e.z-h;let S=(n.x+s*p)*a,C=(n.y+s*m)*a,w=(n.z+s*h)*a;n.x=(n.x-s*S)*l,n.y=(n.y-s*C)*l,n.z=(n.z-s*w)*l,o.x=u+(p+S)*l,o.y=d+(m+C)*l,o.z=f+(h+w)*l;let T=g-e.x,E=_-e.y,D=v-e.z,O=o.x-g,k=o.y-_,A=o.z-v;return T*O+E*k+D*A>0&&(o.x=g,o.y=_,o.z=v,n.x=(o.x-g)/a,n.y=(o.y-_)/a,n.z=(o.z-v)/a),o}function WU(e,t){t.set(0,0),e.forEach(e=>{t.x+=e.clientX,t.y+=e.clientY}),t.x/=e.length,t.y/=e.length}function GU(e,t){return jU(e)?(console.warn(`${t} is not supported in OrthographicCamera`),!0):!1}var KU=class{constructor(){this._listeners={}}addEventListener(e,t){let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){let n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners[e];if(n!==void 0){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}removeAllEventListeners(e){if(!e){this._listeners={};return}Array.isArray(this._listeners[e])&&(this._listeners[e].length=0)}dispatchEvent(e){let t=this._listeners[e.type];if(t!==void 0){e.target=this;let n=t.slice(0);for(let t=0,r=n.length;t{},this._enabled=!0,this._state=$.NONE,this._viewport=null,this._changedDolly=0,this._changedZoom=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._isDragging=!1,this._dragNeedsUpdate=!0,this._activePointers=[],this._lockedPointer=null,this._interactiveArea=new DOMRect(0,0,1,1),this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._lastDollyDirection=kU.NONE,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new ZU.Vector3,this._focalOffsetVelocity=new ZU.Vector3,this._zoomVelocity={value:0},this._truckInternal=(e,t,n)=>{let r,i;if(AU(this._camera)){let n=nW.copy(this._camera.position).sub(this._target),a=this._camera.getEffectiveFOV()*FU,o=n.length()*Math.tan(a*.5);r=this.truckSpeed*e*o/this._elementRect.height,i=this.truckSpeed*t*o/this._elementRect.height}else if(jU(this._camera)){let n=this._camera;r=e*(n.right-n.left)/n.zoom/this._elementRect.width,i=t*(n.top-n.bottom)/n.zoom/this._elementRect.height}else return;this.verticalDragToForward?(n?this.setFocalOffset(this._focalOffsetEnd.x+r,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(r,0,!0),this.forward(-i,!0)):n?this.setFocalOffset(this._focalOffsetEnd.x+r,this._focalOffsetEnd.y+i,this._focalOffsetEnd.z,!0):this.truck(r,i,!0)},this._rotateInternal=(e,t)=>{let n=MU*this.azimuthRotateSpeed*e/this._elementRect.height,r=MU*this.polarRotateSpeed*t/this._elementRect.height;this.rotate(n,r,!0)},this._dollyInternal=(e,t,n)=>{let r=.95**(-e*this.dollySpeed),i=this._sphericalEnd.radius,a=this._sphericalEnd.radius*r,o=IU(a,this.minDistance,this.maxDistance),s=o-a;this.infinityDolly&&this.dollyToCursor?this._dollyToNoClamp(a,!0):(this.infinityDolly&&!this.dollyToCursor&&this.dollyInFixed(s,!0),this._dollyToNoClamp(o,!0)),this.dollyToCursor&&(this._changedDolly+=(this.infinityDolly?a:o)-i,this._dollyControlCoord.set(t,n)),this._lastDollyDirection=Math.sign(-e)},this._zoomInternal=(e,t,n)=>{let r=.95**(e*this.dollySpeed),i=this._zoom,a=this._zoom*r;this.zoomTo(a,!0),this.dollyToCursor&&(this._changedZoom+=a-i,this._dollyControlCoord.set(t,n))},typeof ZU>`u`&&console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."),this._camera=t,this._yAxisUpSpace=new ZU.Quaternion().setFromUnitVectors(this._camera.up,$U),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=$.NONE,this._target=new ZU.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new ZU.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=new ZU.Spherical().setFromVector3(nW.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._lastDistance=this._spherical.radius,this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._lastZoom=this._zoom,this._nearPlaneCorners=[new ZU.Vector3,new ZU.Vector3,new ZU.Vector3,new ZU.Vector3],this._updateNearPlaneCorners(),this._boundary=new ZU.Box3(new ZU.Vector3(-1/0,-1/0,-1/0),new ZU.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlCoord=new ZU.Vector2,this.mouseButtons={left:$.ROTATE,middle:$.DOLLY,right:$.TRUCK,wheel:AU(this._camera)?$.DOLLY:jU(this._camera)?$.ZOOM:$.NONE},this.touches={one:$.TOUCH_ROTATE,two:AU(this._camera)?$.TOUCH_DOLLY_TRUCK:jU(this._camera)?$.TOUCH_ZOOM_TRUCK:$.NONE,three:$.TOUCH_TRUCK};let r=new ZU.Vector2,i=new ZU.Vector2,a=new ZU.Vector2,o=e=>{if(!this._enabled||!this._domElement)return;if(this._interactiveArea.left!==0||this._interactiveArea.top!==0||this._interactiveArea.width!==1||this._interactiveArea.height!==1){let t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}let t=e.pointerType===`mouse`?(e.buttons&OU.LEFT)===OU.LEFT?OU.LEFT:(e.buttons&OU.MIDDLE)===OU.MIDDLE?OU.MIDDLE:(e.buttons&OU.RIGHT)===OU.RIGHT?OU.RIGHT:null:null;if(t!==null){let e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}if((e.buttons&OU.LEFT)===OU.LEFT&&this._lockedPointer)return;let n={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:t};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.removeEventListener(`pointerup`,c),this._domElement.ownerDocument.addEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.addEventListener(`pointerup`,c),this._isDragging=!0,f(e)},s=e=>{e.cancelable&&e.preventDefault();let t=e.pointerId,n=this._lockedPointer||this._findPointerById(t);if(n){if(n.clientX=e.clientX,n.clientY=e.clientY,n.deltaX=e.movementX,n.deltaY=e.movementY,this._state=0,e.pointerType===`touch`)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else (!this._isDragging&&this._lockedPointer||this._isDragging&&(e.buttons&OU.LEFT)===OU.LEFT)&&(this._state|=this.mouseButtons.left),this._isDragging&&(e.buttons&OU.MIDDLE)===OU.MIDDLE&&(this._state|=this.mouseButtons.middle),this._isDragging&&(e.buttons&OU.RIGHT)===OU.RIGHT&&(this._state|=this.mouseButtons.right);p()}},c=e=>{let t=this._findPointerById(e.pointerId);if(!(t&&t===this._lockedPointer)){if(t&&this._disposePointer(t),e.pointerType===`touch`)switch(this._activePointers.length){case 0:this._state=$.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else this._state=$.NONE;m()}},l=-1,u=e=>{if(!this._domElement||!this._enabled||this.mouseButtons.wheel===$.NONE)return;if(this._interactiveArea.left!==0||this._interactiveArea.top!==0||this._interactiveArea.width!==1||this._interactiveArea.height!==1){let t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}if(e.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===$.ROTATE||this.mouseButtons.wheel===$.TRUCK){let e=performance.now();l-e<1e3&&this._getClientRect(this._elementRect),l=e}let t=XU?-1:-3,n=e.deltaMode===1?e.deltaY/t:e.deltaY/(t*10),r=this.dollyToCursor?(e.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,i=this.dollyToCursor?(e.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case $.ROTATE:this._rotateInternal(e.deltaX,e.deltaY),this._isUserControllingRotate=!0;break;case $.TRUCK:this._truckInternal(e.deltaX,e.deltaY,!1),this._isUserControllingTruck=!0;break;case $.OFFSET:this._truckInternal(e.deltaX,e.deltaY,!0),this._isUserControllingOffset=!0;break;case $.DOLLY:this._dollyInternal(-n,r,i),this._isUserControllingDolly=!0;break;case $.ZOOM:this._zoomInternal(-n,r,i),this._isUserControllingZoom=!0;break}this.dispatchEvent({type:`control`})},d=t=>{if(!(!this._domElement||!this._enabled)){if(this.mouseButtons.right===e.ACTION.NONE){let e=t instanceof PointerEvent?t.pointerId:0,n=this._findPointerById(e);n&&this._disposePointer(n),this._domElement.ownerDocument.removeEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.removeEventListener(`pointerup`,c);return}t.preventDefault()}},f=e=>{if(this._enabled){if(WU(this._activePointers,tW),this._getClientRect(this._elementRect),r.copy(tW),i.copy(tW),this._activePointers.length>=2){let e=tW.x-this._activePointers[1].clientX,t=tW.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t);a.set(0,n);let r=(this._activePointers[0].clientX+this._activePointers[1].clientX)*.5,o=(this._activePointers[0].clientY+this._activePointers[1].clientY)*.5;i.set(r,o)}if(this._state=0,!e)this._lockedPointer&&(this._state|=this.mouseButtons.left);else if(`pointerType`in e&&e.pointerType===`touch`)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else !this._lockedPointer&&(e.buttons&OU.LEFT)===OU.LEFT&&(this._state|=this.mouseButtons.left),(e.buttons&OU.MIDDLE)===OU.MIDDLE&&(this._state|=this.mouseButtons.middle),(e.buttons&OU.RIGHT)===OU.RIGHT&&(this._state|=this.mouseButtons.right);((this._state&$.ROTATE)===$.ROTATE||(this._state&$.TOUCH_ROTATE)===$.TOUCH_ROTATE||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE)&&(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),((this._state&$.TRUCK)===$.TRUCK||(this._state&$.TOUCH_TRUCK)===$.TOUCH_TRUCK||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK)&&(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),((this._state&$.DOLLY)===$.DOLLY||(this._state&$.TOUCH_DOLLY)===$.TOUCH_DOLLY||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE)&&(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),((this._state&$.ZOOM)===$.ZOOM||(this._state&$.TOUCH_ZOOM)===$.TOUCH_ZOOM||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE)&&(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),((this._state&$.OFFSET)===$.OFFSET||(this._state&$.TOUCH_OFFSET)===$.TOUCH_OFFSET||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET)&&(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:`controlstart`})}},p=()=>{if(!this._enabled||!this._dragNeedsUpdate)return;this._dragNeedsUpdate=!1,WU(this._activePointers,tW);let e=this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement?this._lockedPointer||this._activePointers[0]:null,t=e?-e.deltaX:i.x-tW.x,n=e?-e.deltaY:i.y-tW.y;if(i.copy(tW),((this._state&$.ROTATE)===$.ROTATE||(this._state&$.TOUCH_ROTATE)===$.TOUCH_ROTATE||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE)&&(this._rotateInternal(t,n),this._isUserControllingRotate=!0),(this._state&$.DOLLY)===$.DOLLY||(this._state&$.ZOOM)===$.ZOOM){let e=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,t=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0,i=this.dollyDragInverted?-1:1;(this._state&$.DOLLY)===$.DOLLY?(this._dollyInternal(i*n*YU,e,t),this._isUserControllingDolly=!0):(this._zoomInternal(i*n*YU,e,t),this._isUserControllingZoom=!0)}if((this._state&$.TOUCH_DOLLY)===$.TOUCH_DOLLY||(this._state&$.TOUCH_ZOOM)===$.TOUCH_ZOOM||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE){let e=tW.x-this._activePointers[1].clientX,t=tW.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t),r=a.y-n;a.set(0,n);let o=this.dollyToCursor?(i.x-this._elementRect.x)/this._elementRect.width*2-1:0,s=this.dollyToCursor?(i.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&$.TOUCH_DOLLY)===$.TOUCH_DOLLY||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET?(this._dollyInternal(r*YU,o,s),this._isUserControllingDolly=!0):(this._zoomInternal(r*YU,o,s),this._isUserControllingZoom=!0)}((this._state&$.TRUCK)===$.TRUCK||(this._state&$.TOUCH_TRUCK)===$.TOUCH_TRUCK||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK)&&(this._truckInternal(t,n,!1),this._isUserControllingTruck=!0),((this._state&$.OFFSET)===$.OFFSET||(this._state&$.TOUCH_OFFSET)===$.TOUCH_OFFSET||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET)&&(this._truckInternal(t,n,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:`control`})},m=()=>{WU(this._activePointers,tW),i.copy(tW),this._dragNeedsUpdate=!1,(this._activePointers.length===0||this._activePointers.length===1&&this._activePointers[0]===this._lockedPointer)&&(this._isDragging=!1),this._activePointers.length===0&&this._domElement&&(this._domElement.ownerDocument.removeEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.removeEventListener(`pointerup`,c),this.dispatchEvent({type:`controlend`}))};this.lockPointer=()=>{!this._enabled||!this._domElement||(this.cancel(),this._lockedPointer={pointerId:-1,clientX:0,clientY:0,deltaX:0,deltaY:0,mouseButton:null},this._activePointers.push(this._lockedPointer),this._domElement.ownerDocument.removeEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.removeEventListener(`pointerup`,c),this._domElement.requestPointerLock(),this._domElement.ownerDocument.addEventListener(`pointerlockchange`,h),this._domElement.ownerDocument.addEventListener(`pointerlockerror`,g),this._domElement.ownerDocument.addEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.addEventListener(`pointerup`,c),f())},this.unlockPointer=()=>{var e,t,n;this._lockedPointer!==null&&(this._disposePointer(this._lockedPointer),this._lockedPointer=null),(e=this._domElement)==null||e.ownerDocument.exitPointerLock(),(t=this._domElement)==null||t.ownerDocument.removeEventListener(`pointerlockchange`,h),(n=this._domElement)==null||n.ownerDocument.removeEventListener(`pointerlockerror`,g),this.cancel()};let h=()=>{this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement||this.unlockPointer()},g=()=>{this.unlockPointer()};this._addAllEventListeners=e=>{this._domElement=e,this._domElement.style.touchAction=`none`,this._domElement.style.userSelect=`none`,this._domElement.style.webkitUserSelect=`none`,this._domElement.addEventListener(`pointerdown`,o),this._domElement.addEventListener(`pointercancel`,c),this._domElement.addEventListener(`wheel`,u,{passive:!1}),this._domElement.addEventListener(`contextmenu`,d)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction=``,this._domElement.style.userSelect=``,this._domElement.style.webkitUserSelect=``,this._domElement.removeEventListener(`pointerdown`,o),this._domElement.removeEventListener(`pointercancel`,c),this._domElement.removeEventListener(`wheel`,u,{passive:!1}),this._domElement.removeEventListener(`contextmenu`,d),this._domElement.ownerDocument.removeEventListener(`pointermove`,s,{passive:!1}),this._domElement.ownerDocument.removeEventListener(`pointerup`,c),this._domElement.ownerDocument.removeEventListener(`pointerlockchange`,h),this._domElement.ownerDocument.removeEventListener(`pointerlockerror`,g))},this.cancel=()=>{this._state!==$.NONE&&(this._state=$.NONE,this._activePointers.length=0,m())},n&&this.connect(n),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction=`none`,this._domElement.style.userSelect=`none`,this._domElement.style.webkitUserSelect=`none`):(this.cancel(),this._domElement.style.touchAction=``,this._domElement.style.userSelect=``,this._domElement.style.webkitUserSelect=``))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}set interactiveArea(e){this._interactiveArea.width=IU(e.width,0,1),this._interactiveArea.height=IU(e.height,0,1),this._interactiveArea.x=IU(e.x,0,1-this._interactiveArea.width),this._interactiveArea.y=IU(e.y,0,1-this._interactiveArea.height)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}rotate(e,t,n=!1){return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+t,n)}rotateAzimuthTo(e,t=!1){return this.rotateTo(e,this._sphericalEnd.phi,t)}rotatePolarTo(e,t=!1){return this.rotateTo(this._sphericalEnd.theta,e,t)}rotateTo(e,t,n=!1){this._isUserControllingRotate=!1;let r=IU(e,this.minAzimuthAngle,this.maxAzimuthAngle),i=IU(t,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=r,this._sphericalEnd.phi=i,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);let a=!n||RU(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&RU(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(a)}dolly(e,t=!1){return this.dollyTo(this._sphericalEnd.radius-e,t)}dollyTo(e,t=!1){return this._isUserControllingDolly=!1,this._lastDollyDirection=kU.NONE,this._changedDolly=0,this._dollyToNoClamp(IU(e,this.minDistance,this.maxDistance),t)}_dollyToNoClamp(e,t=!1){let n=this._sphericalEnd.radius;if(this.colliderMeshes.length>=1){let t=this._collisionTest(),r=RU(t,this._spherical.radius);if(!(n>e)&&r)return Promise.resolve();this._sphericalEnd.radius=Math.min(e,t)}else this._sphericalEnd.radius=e;this._needsUpdate=!0,t||(this._spherical.radius=this._sphericalEnd.radius);let r=!t||RU(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(r)}dollyInFixed(e,t=!1){this._targetEnd.add(this._getCameraDirection(aW).multiplyScalar(e)),t||this._target.copy(this._targetEnd);let n=!t||RU(this._target.x,this._targetEnd.x,this.restThreshold)&&RU(this._target.y,this._targetEnd.y,this.restThreshold)&&RU(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(n)}zoom(e,t=!1){return this.zoomTo(this._zoomEnd+e,t)}zoomTo(e,t=!1){this._isUserControllingZoom=!1,this._zoomEnd=IU(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,t||(this._zoom=this._zoomEnd);let n=!t||RU(this._zoom,this._zoomEnd,this.restThreshold);return this._changedZoom=0,this._createOnRestPromise(n)}pan(e,t,n=!1){return console.warn("`pan` has been renamed to `truck`"),this.truck(e,t,n)}truck(e,t,n=!1){this._camera.updateMatrix(),oW.setFromMatrixColumn(this._camera.matrix,0),sW.setFromMatrixColumn(this._camera.matrix,1),oW.multiplyScalar(e),sW.multiplyScalar(-t);let r=nW.copy(oW).add(sW),i=rW.copy(this._targetEnd).add(r);return this.moveTo(i.x,i.y,i.z,n)}forward(e,t=!1){nW.setFromMatrixColumn(this._camera.matrix,0),nW.crossVectors(this._camera.up,nW),nW.multiplyScalar(e);let n=rW.copy(this._targetEnd).add(nW);return this.moveTo(n.x,n.y,n.z,t)}elevate(e,t=!1){return nW.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+nW.x,this._targetEnd.y+nW.y,this._targetEnd.z+nW.z,t)}moveTo(e,t,n,r=!1){this._isUserControllingTruck=!1;let i=nW.set(e,t,n).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),this._needsUpdate=!0,r||this._target.copy(this._targetEnd);let a=!r||RU(this._target.x,this._targetEnd.x,this.restThreshold)&&RU(this._target.y,this._targetEnd.y,this.restThreshold)&&RU(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(a)}lookInDirectionOf(e,t,n,r=!1){let i=nW.set(e,t,n).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius).add(this._targetEnd);return this.setPosition(i.x,i.y,i.z,r)}fitToBox(e,t,{cover:n=!1,paddingLeft:r=0,paddingRight:i=0,paddingBottom:a=0,paddingTop:o=0}={}){let s=[],c=e.isBox3?pW.copy(e):pW.setFromObject(e);c.isEmpty()&&(console.warn(`camera-controls: fitTo() cannot be used with an empty box. Aborting`),Promise.resolve());let l=zU(this._sphericalEnd.theta,NU),u=zU(this._sphericalEnd.phi,NU);s.push(this.rotateTo(l,u,t));let d=nW.setFromSpherical(this._sphericalEnd).normalize(),f=gW.setFromUnitVectors(d,eW),p=RU(Math.abs(d.y),1);p&&f.multiply(_W.setFromAxisAngle($U,l)),f.multiply(this._yAxisUpSpaceInverse);let m=mW.makeEmpty();rW.copy(c.min).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.min).setX(c.max.x).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.min).setY(c.max.y).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.max).setZ(c.min.z).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.min).setZ(c.max.z).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.max).setY(c.min.y).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.max).setX(c.min.x).applyQuaternion(f),m.expandByPoint(rW),rW.copy(c.max).applyQuaternion(f),m.expandByPoint(rW),m.min.x-=r,m.min.y-=a,m.max.x+=i,m.max.y+=o,f.setFromUnitVectors(eW,d),p&&f.premultiply(_W.invert()),f.premultiply(this._yAxisUpSpace);let h=m.getSize(nW),g=m.getCenter(rW).applyQuaternion(f);if(AU(this._camera)){let e=this.getDistanceToFitBox(h.x,h.y,h.z,n);s.push(this.moveTo(g.x,g.y,g.z,t)),s.push(this.dollyTo(e,t)),s.push(this.setFocalOffset(0,0,0,t))}else if(jU(this._camera)){let e=this._camera,r=e.right-e.left,i=e.top-e.bottom,a=n?Math.max(r/h.x,i/h.y):Math.min(r/h.x,i/h.y);s.push(this.moveTo(g.x,g.y,g.z,t)),s.push(this.zoomTo(a,t)),s.push(this.setFocalOffset(0,0,0,t))}return Promise.all(s)}fitToSphere(t,n){let r=[],i=`isObject3D`in t?e.createBoundingSphere(t,hW):hW.copy(t);if(r.push(this.moveTo(i.center.x,i.center.y,i.center.z,n)),AU(this._camera)){let e=this.getDistanceToFitSphere(i.radius);r.push(this.dollyTo(e,n))}else if(jU(this._camera)){let e=this._camera.right-this._camera.left,t=this._camera.top-this._camera.bottom,a=2*i.radius,o=Math.min(e/a,t/a);r.push(this.zoomTo(o,n))}return r.push(this.setFocalOffset(0,0,0,n)),Promise.all(r)}setLookAt(e,t,n,r,i,a,o=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=kU.NONE,this._changedDolly=0;let s=rW.set(r,i,a),c=nW.set(e,t,n);this._targetEnd.copy(s),this._sphericalEnd.setFromVector3(c.sub(s).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,o||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));let l=!o||RU(this._target.x,this._targetEnd.x,this.restThreshold)&&RU(this._target.y,this._targetEnd.y,this.restThreshold)&&RU(this._target.z,this._targetEnd.z,this.restThreshold)&&RU(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&RU(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&RU(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(l)}lerpLookAt(e,t,n,r,i,a,o,s,c,l,u,d,f,p=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=kU.NONE,this._changedDolly=0;let m=nW.set(r,i,a),h=rW.set(e,t,n);dW.setFromVector3(h.sub(m).applyQuaternion(this._yAxisUpSpace));let g=iW.set(l,u,d),_=rW.set(o,s,c);fW.setFromVector3(_.sub(g).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(m.lerp(g,f));let v=fW.theta-dW.theta,y=fW.phi-dW.phi,b=fW.radius-dW.radius;this._sphericalEnd.set(dW.radius+b*f,dW.phi+y*f,dW.theta+v*f),this.normalizeRotations(),this._needsUpdate=!0,p||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));let x=!p||RU(this._target.x,this._targetEnd.x,this.restThreshold)&&RU(this._target.y,this._targetEnd.y,this.restThreshold)&&RU(this._target.z,this._targetEnd.z,this.restThreshold)&&RU(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&RU(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&RU(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(x)}setPosition(e,t,n,r=!1){return this.setLookAt(e,t,n,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,r)}setTarget(e,t,n,r=!1){let i=this.getPosition(nW),a=this.setLookAt(i.x,i.y,i.z,e,t,n,r);return this._sphericalEnd.phi=IU(this._sphericalEnd.phi,this.minPolarAngle,this.maxPolarAngle),a}setFocalOffset(e,t,n,r=!1){this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,t,n),this._needsUpdate=!0,r||this._focalOffset.copy(this._focalOffsetEnd);let i=!r||RU(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&RU(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&RU(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(i)}setOrbitPoint(e,t,n){this._camera.updateMatrixWorld(),oW.setFromMatrixColumn(this._camera.matrixWorldInverse,0),sW.setFromMatrixColumn(this._camera.matrixWorldInverse,1),cW.setFromMatrixColumn(this._camera.matrixWorldInverse,2);let r=nW.set(e,t,n),i=r.distanceTo(this._camera.position),a=r.sub(this._camera.position);oW.multiplyScalar(a.x),sW.multiplyScalar(a.y),cW.multiplyScalar(a.z),nW.copy(oW).add(sW).add(cW),nW.z+=i,this.dollyTo(i,!1),this.setFocalOffset(-nW.x,nW.y,-nW.z,!1),this.moveTo(e,t,n,!1)}setBoundary(e){if(!e){this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),this._needsUpdate=!0;return}this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,t,n,r){if(e===null){this._viewport=null;return}this._viewport=this._viewport||new ZU.Vector4,typeof e==`number`?this._viewport.set(e,t,n,r):this._viewport.copy(e)}getDistanceToFitBox(e,t,n,r=!1){if(GU(this._camera,`getDistanceToFitBox`))return this._spherical.radius;let i=e/t,a=this._camera.getEffectiveFOV()*FU,o=this._camera.aspect;return((r?i>o:it.pointerId===e)}_findPointerByMouseButton(e){return this._activePointers.find(t=>t.mouseButton===e)}_disposePointer(e){this._activePointers.splice(this._activePointers.indexOf(e),1)}_encloseToBoundary(e,t,n){let r=t.lengthSq();if(r===0)return e;let i=rW.copy(t).add(e),a=this._boundary.clampPoint(i,iW).sub(i),o=a.lengthSq();if(o===0)return e.add(t);if(o===r)return e;if(n===0)return e.add(t).add(a);{let r=1+n*o/t.dot(a);return e.add(rW.copy(t).multiplyScalar(r)).add(a.multiplyScalar(1-n))}}_updateNearPlaneCorners(){if(AU(this._camera)){let e=this._camera,t=e.near,n=e.getEffectiveFOV()*FU,r=Math.tan(n*.5)*t,i=r*e.aspect;this._nearPlaneCorners[0].set(-i,-r,0),this._nearPlaneCorners[1].set(i,-r,0),this._nearPlaneCorners[2].set(i,r,0),this._nearPlaneCorners[3].set(-i,r,0)}else if(jU(this._camera)){let e=this._camera,t=1/e.zoom,n=e.left*t,r=e.right*t,i=e.top*t,a=e.bottom*t;this._nearPlaneCorners[0].set(n,i,0),this._nearPlaneCorners[1].set(r,i,0),this._nearPlaneCorners[2].set(r,a,0),this._nearPlaneCorners[3].set(n,a,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1)||GU(this._camera,`_collisionTest`))return e;let t=this._getTargetDirection(aW);vW.lookAt(QU,t,this._camera.up);for(let n=0;n<4;n++){let r=rW.copy(this._nearPlaneCorners[n]);r.applyMatrix4(vW);let i=iW.addVectors(this._target,r);yW.set(i,t),yW.far=this._spherical.radius+1;let a=yW.intersectObjects(this.colliderMeshes);a.length!==0&&a[0].distance{let t=()=>{this.removeEventListener(`rest`,t),e()};this.addEventListener(`rest`,t)}))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(`.dampingFactor has been deprecated. use smoothTime (in seconds) instead.`),0}set dampingFactor(e){console.warn(`.dampingFactor has been deprecated. use smoothTime (in seconds) instead.`)}get draggingDampingFactor(){return console.warn(`.draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.`),0}set draggingDampingFactor(e){console.warn(`.draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.`)}static createBoundingSphere(e,t=new ZU.Sphere){let n=t,r=n.center;pW.makeEmpty(),e.traverseVisible(e=>{e.isMesh&&pW.expandByObject(e)}),pW.getCenter(r);let i=0;return e.traverseVisible(e=>{if(!e.isMesh)return;let t=e,n=t.geometry.clone();n.applyMatrix4(t.matrixWorld);let a=n.attributes.position;for(let e=0,t=a.count;e!!(e&&e.isPerspectiveCamera),SW=e=>!!(e&&e.isOrthographicCamera),CW=`min-polar-angle.max-polar-angle.min-azimuth-angle.max-azimuth-angle.distance.min-distance.max-distance.infinity-dolly.min-zoom.max-zoom.smooth-time.dragging-smooth-time.max-speed.azimuth-rotate-speed.polar-rotate-speed.dolly-speed.dolly-drag-inverted.truck-speed.dolly-to-cursor.drag-to-offset.vertical-drag-to-forward.boundary-friction.rest-threshold.collider-meshes.args.mouse-buttons.touches`.split(`.`),wW=(e,t)=>({left:bW.ACTION.ROTATE,middle:bW.ACTION.DOLLY,right:bW.ACTION.TRUCK,wheel:xW(e)?bW.ACTION.DOLLY:SW(e)?bW.ACTION.ZOOM:bW.ACTION.NONE,...t}),TW=(e,t)=>({one:bW.ACTION.TOUCH_ROTATE,two:xW(e)?bW.ACTION.TOUCH_DOLLY_TRUCK:SW(e)?bW.ACTION.TOUCH_ZOOM_TRUCK:bW.ACTION.NONE,three:bW.ACTION.TOUCH_TRUCK,...t}),EW=Xt({__name:`CameraControls`,props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},minPolarAngle:{default:0},maxPolarAngle:{default:Math.PI},minAzimuthAngle:{default:-1/0},maxAzimuthAngle:{default:1/0},distance:{default:()=>be().camera.value.position.z},minDistance:{default:2**-52},maxDistance:{default:1/0},infinityDolly:{type:Boolean,default:!1},minZoom:{default:.01},maxZoom:{default:1/0},smoothTime:{default:.25},draggingSmoothTime:{default:.125},maxSpeed:{default:1/0},azimuthRotateSpeed:{default:1},polarRotateSpeed:{default:1},dollySpeed:{default:1},dollyDragInverted:{type:Boolean,default:!1},truckSpeed:{default:2},dollyToCursor:{type:Boolean,default:!1},dragToOffset:{type:Boolean,default:!1},verticalDragToForward:{type:Boolean,default:!1},boundaryFriction:{default:0},restThreshold:{default:.01},colliderMeshes:{default:()=>[]},mouseButtons:{default:()=>wW(be().camera.value)},touches:{default:()=>TW(be().camera.value)}},emits:[`change`,`start`,`end`],setup(e,{expose:t,emit:n}){let r=e,i=n,{makeDefault:a,minPolarAngle:o,maxPolarAngle:s,minAzimuthAngle:c,maxAzimuthAngle:l,distance:u,minDistance:d,maxDistance:f,infinityDolly:p,minZoom:m,maxZoom:h,smoothTime:g,draggingSmoothTime:_,maxSpeed:v,azimuthRotateSpeed:y,polarRotateSpeed:b,dollySpeed:x,dollyDragInverted:S,truckSpeed:C,dollyToCursor:w,dragToOffset:E,verticalDragToForward:D,boundaryFriction:O,restThreshold:k,colliderMeshes:A}=tn(r),j={Box3:_e,MathUtils:{clamp:we.clamp},Matrix4:N,Quaternion:rt,Raycaster:Te,Sphere:Ht,Spherical:te,Vector2:Ae,Vector3:L,Vector4:mt};bW.install({THREE:j});let{camera:M,renderer:ee,extend:P,controls:F,invalidate:I}=be();H(r,()=>{I()});let ne=yn(()=>wW(r.camera||M.value,r.mouseButtons)),re=yn(()=>TW(r.camera||M.value,r.touches)),R=B(null);P({CameraControls:bW}),pn(()=>{ie(),R.value&&a.value?F.value=R.value:F.value=null});function ie(){DR(R.value,`update`,()=>{i(`change`,R.value),I()}),DR(R.value,`controlend`,()=>i(`end`,R.value)),DR(R.value,`controlstart`,()=>i(`start`,R.value))}let{onBeforeRender:ae}=T();return ae(({delta:e,invalidate:t})=>{var n,r;(n=R.value)!=null&&n.enabled&&((r=R.value)==null||r.update(e),t())}),dn(()=>{R.value&&R.value.disconnect()}),t({instance:R}),(e,t)=>(e.camera||W(M))&&(e.domElement||W(ee))?(U(),V(`TresCameraControls`,{key:0,ref_key:`controlsRef`,ref:R,"min-polar-angle":W(o),"max-polar-angle":W(s),"min-azimuth-angle":W(c),"max-azimuth-angle":W(l),distance:W(u),"min-distance":W(d),"max-distance":W(f),"infinity-dolly":W(p),"min-zoom":W(m),"max-zoom":W(h),"smooth-time":W(g),"dragging-smooth-time":W(_),"max-speed":W(v),"azimuth-rotate-speed":W(y),"polar-rotate-speed":W(b),"dolly-speed":W(x),"dolly-drag-inverted":W(S),"truck-speed":W(C),"dolly-to-cursor":W(w),"drag-to-offset":W(E),"vertical-drag-to-forward":W(D),"boundary-friction":W(O),"rest-threshold":W(k),"collider-meshes":W(A),args:[e.camera||W(M),e.domElement||W(ee).domElement],"mouse-buttons":ne.value,touches:re.value},null,8,CW)):Zt(``,!0)}}),DW=Xt({__name:`KeyboardControls`,props:{makeDefault:{type:Boolean,default:!0},camera:{},domElement:{},moveSpeed:{default:.2},selector:{}},emits:[`isLock`,`change`],setup(e,{expose:t,emit:n}){let r=e,i=n,{moveSpeed:a}=tn(r),{camera:o,controls:s,renderer:c,invalidate:l}=be();H(r,()=>{l()});let u=G(0),d=G(0),{KeyW:f,KeyA:p,KeyS:m,KeyD:h,Up:g,Down:_,Left:v,Right:y}=IR();pn(()=>{p.value||v.value?u.value=-a.value:h.value||y.value?u.value=a.value:u.value=0,f.value||g.value?d.value=a.value:m.value||_.value?d.value=-a.value:d.value=0}),t({instance:s});let b=e=>i(`isLock`,e),x=e=>i(`change`,e),S=new L,C=new L,w=new rt,E=(e,t)=>{var n;if(!((n=o.value)!=null&&n.position)&&!S)return;let r=o.value,a=e*.001;r?.translateZ(-t),w.set(C.x*a,C.y*a,C.z*a,1).normalize(),r?.quaternion.multiply(w),(u.value||d.value)&&i(`change`,s.value)},{onBeforeRender:D}=T();return D(({delta:e,invalidate:t})=>{var n;s.value instanceof aV&&(n=s.value)!=null&&n.isLocked&&(E(e,d.value),s.value.moveRight(u.value),t())}),(e,t)=>(U(),mn(W(NW),{selector:e.selector,"make-default":e.makeDefault,camera:e.camera||W(o),"dom-element":e.domElement||W(c).domElement,onIsLock:b,onChange:x},null,8,[`selector`,`make-default`,`camera`,`dom-element`]))}}),OW=[`args`,`auto-rotate`,`auto-rotate-speed`,`enable-damping`,`damping-factor`,`enable-pan`,`key-pan-speed`,`keys`,`max-azimuth-angle`,`min-azimuth-angle`,`max-polar-angle`,`min-polar-angle`,`min-distance`,`max-distance`,`min-zoom`,`max-zoom`,`enable-zoom`,`zoom-speed`,`enable-rotate`,`rotate-speed`],kW=Xt({__name:`MapControls`,props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},target:{},enableDamping:{type:Boolean,default:!0},dampingFactor:{default:.05},autoRotate:{type:Boolean,default:!1},autoRotateSpeed:{default:2},enablePan:{type:Boolean,default:!0},keyPanSpeed:{default:7},keys:{},maxAzimuthAngle:{default:1/0},minAzimuthAngle:{default:-1/0},maxPolarAngle:{default:Math.PI},minPolarAngle:{default:0},minDistance:{default:0},maxDistance:{default:1/0},minZoom:{default:0},maxZoom:{default:1/0},touches:{},enableZoom:{type:Boolean,default:!0},zoomSpeed:{default:1},enableRotate:{type:Boolean,default:!0},rotateSpeed:{default:1}},emits:[`change`,`start`,`end`],setup(e,{expose:t,emit:n}){let r=e,{autoRotate:i,autoRotateSpeed:a,enableDamping:o,dampingFactor:s,enablePan:c,keyPanSpeed:l,maxAzimuthAngle:u,minAzimuthAngle:d,maxPolarAngle:f,minPolarAngle:p,minDistance:m,maxDistance:h,minZoom:g,maxZoom:_,enableZoom:v,zoomSpeed:y,enableRotate:b,rotateSpeed:x}=tn(r),{camera:S,renderer:C,extend:w,controls:E,invalidate:D}=be();H(r,()=>{D()});let O=B(null);w({MapControls:mV}),H(E,e=>{e&&r.makeDefault?E.value=e:E.value=null});let{onBeforeRender:k}=T();return k(({invalidate:e})=>{O.value&&(o.value||i.value)&&(O.value.update(),e())}),dn(()=>{O.value&&O.value.dispose()}),t({instance:O}),(e,t)=>(e.camera||W(S))&&(e.domElement||W(C))?(U(),V(`TresMapControls`,{key:0,ref_key:`controlsRef`,ref:O,args:[e.camera||W(S),e.domElement||W(C).domElement],"auto-rotate":W(i),"auto-rotate-speed":W(a),"enable-damping":W(o),"damping-factor":W(s),"enable-pan":W(c),"key-pan-speed":W(l),keys:e.keys,"max-azimuth-angle":W(u),"min-azimuth-angle":W(d),"max-polar-angle":W(f),"min-polar-angle":W(p),"min-distance":W(m),"max-distance":W(h),"min-zoom":W(g),"max-zoom":W(_),"enable-zoom":W(v),"zoom-speed":W(y),"enable-rotate":W(b),"rotate-speed":W(x)},null,8,OW)):Zt(``,!0)}}),AW=[`target`,`auto-rotate`,`auto-rotate-speed`,`enable-damping`,`damping-factor`,`enable-pan`,`key-pan-speed`,`keys`,`max-azimuth-angle`,`min-azimuth-angle`,`max-polar-angle`,`min-polar-angle`,`min-distance`,`max-distance`,`min-zoom`,`max-zoom`,`touches`,`enable-zoom`,`zoom-speed`,`enable-rotate`,`rotate-speed`,`mouse-buttons`,`args`],jW=Xt({__name:`OrbitControls`,props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},target:{default:()=>[0,0,0]},enableDamping:{type:Boolean,default:!0},dampingFactor:{default:.05},autoRotate:{type:Boolean,default:!1},autoRotateSpeed:{default:2},enablePan:{type:Boolean,default:!0},keyPanSpeed:{default:7},keys:{},maxAzimuthAngle:{default:1/0},minAzimuthAngle:{default:-1/0},maxPolarAngle:{default:Math.PI},minPolarAngle:{default:0},minDistance:{default:0},maxDistance:{default:1/0},minZoom:{default:0},maxZoom:{default:1/0},touches:{default:()=>({ONE:tt.ROTATE,TWO:tt.DOLLY_PAN})},enableZoom:{type:Boolean,default:!0},zoomSpeed:{default:1},enableRotate:{type:Boolean,default:!0},rotateSpeed:{default:1},mouseButtons:{default:()=>({LEFT:Gt.ROTATE,MIDDLE:Gt.DOLLY,RIGHT:Gt.PAN})}},emits:[`change`,`start`,`end`],setup(e,{expose:t,emit:n}){let r=e,i=n,{makeDefault:a,autoRotate:o,autoRotateSpeed:s,enableDamping:c,dampingFactor:l,enablePan:u,keyPanSpeed:d,maxAzimuthAngle:f,minAzimuthAngle:p,maxPolarAngle:m,minPolarAngle:h,minDistance:g,maxDistance:_,minZoom:v,maxZoom:y,enableZoom:b,zoomSpeed:x,enableRotate:S,touches:C,rotateSpeed:w,target:E,mouseButtons:D}=tn(r),{camera:O,renderer:k,extend:A,controls:j,invalidate:M}=be(),N=B(null);A({OrbitControls:pV}),H(N,e=>{ee(),e&&a.value?j.value=e:j.value=null});function ee(){DR(N.value,`change`,()=>{i(`change`,N.value),M()}),DR(N.value,`start`,()=>i(`start`,N.value)),DR(N.value,`end`,()=>i(`end`,N.value))}let{onBeforeRender:P}=T();return P(({invalidate:e})=>{N.value&&(c.value||o.value)&&(N.value.update(),o.value&&e())}),dn(()=>{N.value&&N.value.dispose()}),t({instance:N}),(e,t)=>(e.camera||W(O))&&(e.domElement||W(k))?(U(),V(`TresOrbitControls`,{key:0,ref_key:`controlsRef`,ref:N,target:W(E),"auto-rotate":W(o),"auto-rotate-speed":W(s),"enable-damping":W(c),"damping-factor":W(l),"enable-pan":W(u),"key-pan-speed":W(d),keys:e.keys,"max-azimuth-angle":W(f),"min-azimuth-angle":W(p),"max-polar-angle":W(m),"min-polar-angle":W(h),"min-distance":W(g),"max-distance":W(_),"min-zoom":W(v),"max-zoom":W(y),touches:W(C),"enable-zoom":W(b),"zoom-speed":W(x),"enable-rotate":W(S),"rotate-speed":W(w),"mouse-buttons":W(D),args:[e.camera||W(O),e.domElement||W(k).domElement]},null,8,AW)):Zt(``,!0)}}),MW=[`args`],NW=Xt({__name:`PointerLockControls`,props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},selector:{}},emits:[`isLock`,`change`],setup(e,{expose:t,emit:n}){let r=e,i=n,{camera:a,renderer:o,extend:s,controls:c,invalidate:l}=be();H(r,()=>{l()});let u=B(null),d;s({PointerLockControls:aV});let f=e=>{i(`isLock`,e)};return H(u,e=>{e&&r.makeDefault?c.value=e:c.value=null,d=document.getElementById(r.selector||``)||o.value.domElement,DR(d,`click`,()=>{u.value&&(u.value.lock(),u.value.addEventListener(`lock`,()=>f(!0)),u.value.addEventListener(`unlock`,()=>f(!1)),l())})}),dn(()=>{let e=u.value;e&&(e.removeEventListener(`lock`,()=>f(!0)),e.removeEventListener(`unlock`,()=>f(!1)),e.dispose())}),t({instance:c}),(e,t)=>(e.camera||W(a))&&(e.domElement||W(o))?(U(),V(`TresPointerLockControls`,{key:0,ref_key:`controlsRef`,ref:u,args:[e.camera||W(a),e.domElement||W(o).domElement]},null,8,MW)):Zt(``,!0)}}),PW=Xt({__name:`ScrollControls`,props:{pages:{default:4},distance:{default:4},smoothScroll:{default:.1},horizontal:{type:Boolean,default:!1},htmlScroll:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{expose:t,emit:n}){let r=e,i=n,{logWarning:a}=O();r.smoothScroll<0&&a(`SmoothControl must be greater than zero`),r.pages<0&&a(`Pages must be greater than zero`);let{camera:o,controls:s,renderer:c,invalidate:l}=be();H(r,()=>{l()});let u=B(),d=document.createElement(`div`),{y:f}=zR(),{x:p,y:m,isScrolling:h}=PR(d),{height:g,width:_}=BR(),v=0,y=G(!1),b=G(0),x=G(0),S=G(0),C=r.horizontal?`x`:`y`,w=H(o,e=>{if(y.value){w();return}v=r.horizontal?e?.position.x||0:e?.position.y||0,y.value=!0},{immediate:!0});H(h,e=>{s.value&&(s.value.enabled=!e)},{immediate:!0}),H(f,e=>{!h.value&&!r.htmlScroll||(x.value=e/g.value/(S.value/g.value-1),b.value=-1*x.value,i(`update:modelValue`,x.value))}),H(m,e=>{x.value=e/g.value/(S.value/g.value),b.value=-1*x.value,i(`update:modelValue`,x.value)}),H(p,e=>{x.value=e/_.value/(S.value/_.value-1),b.value=+x.value,i(`update:modelValue`,x.value)}),H(c,e=>{var t,n;let i=e?.domElement;if(r.htmlScroll&&e!=null&&e.domElement)i!=null&&i.style.width&&i!=null&&i.style.position&&i!=null&&i.style.top&&i!=null&&i.style.left&&(i.style.width=`100%`,i.style.position=`fixed`,i.style.zIndex=` -99999`,i.style.top=`0`,i.style.left=`0`),S.value=document.body.scrollHeight;else{let a=document.createElement(`div`),o=document.createElement(`div`);d.style[r.horizontal?`overflowX`:`overflowY`]=`auto`,d.style[r.horizontal?`overflowY`:`overflowX`]=`hidden`,d.style.position=`absolute`,d.style.width=`100%`,d.style.height=` 100%`,d.style.top=`0`,d.style.left=`0`,d.classList.add(`scrollContainer`),a.style.position=`sticky`,a.style.top=`0px`,a.style.left=`0px`,a.style.width=`100%`,a.style.height=`100%`,a.style.overflow=`hidden`,d.appendChild(a),o.style.height=r.horizontal?`100%`:`${g.value*r.pages}px`,o.style.width=r.horizontal?`${_.value*r.pages}px`:`100vw`,o.style.pointerEvents=`none`,i.style.position=`fixed`,i.style.zIndex=`0`,i!=null&&i.style.width&&(i.style.width=`100%`),d.appendChild(o),e!=null&&e.domElement.parentNode&&(e.domElement.parentNode.style.position=`relative`),(n=(t=e?.domElement)?.parentNode)==null||n.appendChild(d),S.value=r.horizontal?_.value*r.pages:g.value*r.pages}},{immediate:!0});let{onBeforeRender:E}=T();return E(({invalidate:e})=>{var t;if((t=o.value)!=null&&t.position){let t=(b.value*r.distance-o.value.position[C]+v)*r.smoothScroll;o.value.position[C]+=t,u.value.children.length>0&&(u.value.position[C]+=t),e()}}),t({instance:u}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`wrapperRef`,ref:u},[hn(e.$slots,`default`)],512))}}),FW=[`object`,`args`,`mode`,`enabled`,`axis`,`translation-snap`,`rotation-snap`,`scale-snap`,`space`,`size`,`show-x`,`show-y`,`show-z`],IW=Xt({__name:`TransformControls`,props:{object:{},camera:{},mode:{default:`translate`},enabled:{type:Boolean,default:!0},axis:{default:`XYZ`},translationSnap:{},rotationSnap:{},scaleSnap:{},space:{default:`world`},size:{default:1},showX:{type:Boolean,default:!0},showY:{type:Boolean,default:!0},showZ:{type:Boolean,default:!0}},emits:[`dragging`,`change`,`mouseDown`,`mouseUp`,`objectChange`],setup(e,{expose:t,emit:n}){let r=e,i=n,{object:a,mode:o,enabled:s,axis:c,translationSnap:l,rotationSnap:u,scaleSnap:d,space:f,size:p,showX:m,showY:h,showZ:g}=tn(r),_=B(null),{controls:v,camera:y,renderer:b,extend:x,invalidate:S}=be();H([a,o,s,c,l,u,d,f,p,m,h,g],()=>{S()}),x({TransformControls:qB});let C=()=>{S(),i(`change`)},w=e=>{v.value&&(v.value.enabled=!e.value),S(),i(`dragging`,e.value)},T=()=>{S(),i(`mouseDown`)},E=()=>{S(),i(`mouseDown`)},D=()=>{S(),i(`objectChange`)};function O(){DR(_.value,`change`,C),DR(_.value,`dragging-changed`,w),DR(_.value,`mouseDown`,T),DR(_.value,`mouseUp`,E),DR(_.value,`objectChange`,D)}return H(_,e=>{e&&O()}),dn(()=>{_.value&&_.value.dispose()}),t({instance:_}),(e,t)=>{var n;return(e.camera||W(y))&&W(b)?(U(),V(`TresTransformControls`,{ref_key:`controlsRef`,ref:_,key:(n=e.camera||W(y))?.uuid,object:W(a),args:[e.camera||W(y),W(b).domElement],mode:W(o),enabled:W(s),axis:W(c),"translation-snap":W(l),"rotation-snap":W(u),"scale-snap":W(d),space:W(f),size:W(p),"show-x":W(m),"show-y":W(h),"show-z":W(g),visible:!0},null,8,FW)):Zt(``,!0)}}}),LW=[`geometry`,`render-order`],RW=Xt({__name:`component`,props:{src:{},skipStrokes:{type:Boolean,default:!1},skipFills:{type:Boolean,default:!1},fillMaterial:{},strokeMaterial:{},fillMeshProps:{},strokeMeshProps:{},depth:{default:`renderOrder`}},setup(e,{expose:t}){let n=e;class r extends UV{load(e,t,n,r){let i=Array.isArray(e)?e[0]:e;super.load(i,t,n,r)}}let{src:i,skipStrokes:a,skipFills:o,fillMaterial:s,strokeMaterial:c,fillMeshProps:l,strokeMeshProps:u,depth:d}=tn(n),f=B(),p=B([]),m=B([]);t({instance:f}),pn(async()=>h(i.value).then(e=>m.value=e.paths)),H([o,a,s,c,m],_);async function h(e){let t=e.startsWith(`e.geometry.dispose())}function _(){var e,t,r;g();let i=[],[s,c]=(()=>{let e={flat:!1,renderOrder:!1,offsetZ:!0},t={flat:0,renderOrder:0,offsetZ:.025},n=d.value;return typeof n==`number`?[!0,n]:[e[n],t[n]]})(),l=0;for(let u of m.value){let d=(e=u.userData)?.style??{},f=Object.assign({color:d.fill,opacity:d.fillOpacity,transparent:!0,side:ie,depthWrite:s},n.fillMaterial);if(!o.value&&d.fill!==void 0&&d.fill!==`none`)for(let e of UV.createShapes(u)){let t=new gt(e);t.scale(1,-1,1),c&&t.translate(0,0,l++*c),i.push({geometry:t,material:f,isStroke:!1})}if(!a.value&&d.stroke!==void 0&&d.stroke!==`none`){let e=Object.assign({color:(t=u.userData)?.style.stroke,opacity:(r=u.userData)?.style.strokeOpacity,transparent:!0,side:ie,depthWrite:s},n.strokeMaterial);for(let t of u.subPaths){let n=t.getPoints().map(e=>new Ae(e.x,-e.y)),r=UV.pointsToStroke(n,d||`none`);c&&r.translate(0,0,l++*c),i.push({geometry:r,material:e,isStroke:!0})}}}p.value=i}return(e,t)=>(U(),V(`TresGroup`,{ref_key:`svgRef`,ref:f},[(U(!0),V(vn,null,fn(p.value,({geometry:e,material:t,isStroke:n},r)=>(U(),V(`TresMesh`,Sn({key:`${r}`,ref_for:!0},W(n?u:l),{geometry:e,"render-order":W(d)===`renderOrder`?r:0}),[K(`TresMeshBasicMaterial`,Sn({ref_for:!0},t),null,16)],16,LW))),128))],512))}});function zW(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}function BW(e){throw Error(`Could not dynamically require "`+e+`". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.`)}var VW={exports:{}},HW;function UW(){return HW||(HW=1,function(e,t){(function(t){e.exports=t()})(function(){return function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var c=typeof BW==`function`&&BW;if(!s&&c)return c(o,!0);if(a)return a(o,!0);throw Error(`Cannot find module '`+o+`'`)}s=n[o]={exports:{}},t[o][0].call(s.exports,function(e){var n=t[o][1][e];return i(n||e)},s,s.exports,e,t,n,r)}return n[o].exports}for(var a=typeof BW==`function`&&BW,o=0;o>16),c((65280&r)>>8),c(255&r);return i==2?c(255&(r=l(e.charAt(n))<<2|l(e.charAt(n+1))>>4)):i==1&&(c((r=l(e.charAt(n))<<10|l(e.charAt(n+1))<<4|l(e.charAt(n+2))>>2)>>8&255),c(255&r)),a},e.fromByteArray=function(e){var t,n,r,i,a=e.length%3,o=``;function s(e){return`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charAt(e)}for(t=0,r=e.length-a;t>18&63)+s(i>>12&63)+s(i>>6&63)+s(63&i);switch(a){case 1:o=(o+=s((n=e[e.length-1])>>2))+s(n<<4&63)+`==`;break;case 2:o=(o=(o+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+`=`}return o}})(n===void 0?this.base64js={}:n)}).call(this,e(`lYpoI2`),typeof self<`u`?self:typeof window<`u`?window:{},e(`buffer`).Buffer,arguments[3],arguments[4],arguments[5],arguments[6],`/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js`,`/node_modules/gulp-browserify/node_modules/base64-js/lib`)},{buffer:3,lYpoI2:11}],3:[function(e,t,n){(function(t,r,i,a,o,s,c,l,u){var d=e(`base64-js`),f=e(`ieee754`);function i(e,t,n){if(!(this instanceof i))return new i(e,t,n);var r,a,o,s,c=typeof e;if(t===`base64`&&c==`string`)for(e=(s=e).trim?s.trim():s.replace(/^\s+|\s+$/g,``);e.length%4!=0;)e+=`=`;if(c==`number`)r=A(e);else if(c==`string`)r=i.byteLength(e,t);else{if(c!=`object`)throw Error(`First argument needs to be a number, array or string.`);r=A(e.length)}if(i._useTypedArrays?a=i._augment(new Uint8Array(r)):((a=this).length=r,a._isBuffer=!0),i._useTypedArrays&&typeof e.byteLength==`number`)a._set(e);else if(j(s=e)||i.isBuffer(s)||s&&typeof s==`object`&&typeof s.length==`number`)for(o=0;o>8,n%=256,r.push(n),r.push(t);return r}(t),e,n,r)}function h(e,t,n){var r=``;n=Math.min(e.length,n);for(var i=t;i>>0)):(t+1>>0),i}function v(e,t,n,r){if(r||(L(typeof n==`boolean`,`missing or invalid endian`),L(t!=null,`missing offset`),L(t+1>>8*(r?a:1-a)}function C(e,t,n,r,i){if(i||(L(t!=null,`missing value`),L(typeof r==`boolean`,`missing or invalid endian`),L(n!=null,`missing offset`),L(n+3>>8*(r?a:3-a)&255}function w(e,t,n,r,i){i||(L(t!=null,`missing value`),L(typeof r==`boolean`,`missing or invalid endian`),L(n!=null,`missing offset`),L(n+1this.length&&(r=this.length);var a=(r=e.length-t=this.length))return this[e]},i.prototype.readUInt16LE=function(e,t){return g(this,e,!0,t)},i.prototype.readUInt16BE=function(e,t){return g(this,e,!1,t)},i.prototype.readUInt32LE=function(e,t){return _(this,e,!0,t)},i.prototype.readUInt32BE=function(e,t){return _(this,e,!1,t)},i.prototype.readInt8=function(e,t){if(t||(L(e!=null,`missing offset`),L(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},i.prototype.readInt16LE=function(e,t){return v(this,e,!0,t)},i.prototype.readInt16BE=function(e,t){return v(this,e,!1,t)},i.prototype.readInt32LE=function(e,t){return y(this,e,!0,t)},i.prototype.readInt32BE=function(e,t){return y(this,e,!1,t)},i.prototype.readFloatLE=function(e,t){return b(this,e,!0,t)},i.prototype.readFloatBE=function(e,t){return b(this,e,!1,t)},i.prototype.readDoubleLE=function(e,t){return x(this,e,!0,t)},i.prototype.readDoubleBE=function(e,t){return x(this,e,!1,t)},i.prototype.writeUInt8=function(e,t,n){n||(L(e!=null,`missing value`),L(t!=null,`missing offset`),L(t=this.length||(this[t]=e)},i.prototype.writeUInt16LE=function(e,t,n){S(this,e,t,!0,n)},i.prototype.writeUInt16BE=function(e,t,n){S(this,e,t,!1,n)},i.prototype.writeUInt32LE=function(e,t,n){C(this,e,t,!0,n)},i.prototype.writeUInt32BE=function(e,t,n){C(this,e,t,!1,n)},i.prototype.writeInt8=function(e,t,n){n||(L(e!=null,`missing value`),L(t!=null,`missing offset`),L(t=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},i.prototype.writeInt16LE=function(e,t,n){w(this,e,t,!0,n)},i.prototype.writeInt16BE=function(e,t,n){w(this,e,t,!1,n)},i.prototype.writeInt32LE=function(e,t,n){T(this,e,t,!0,n)},i.prototype.writeInt32BE=function(e,t,n){T(this,e,t,!1,n)},i.prototype.writeFloatLE=function(e,t,n){E(this,e,t,!0,n)},i.prototype.writeFloatBE=function(e,t,n){E(this,e,t,!1,n)},i.prototype.writeDoubleLE=function(e,t,n){D(this,e,t,!0,n)},i.prototype.writeDoubleBE=function(e,t,n){D(this,e,t,!1,n)},i.prototype.fill=function(e,t,n){if(t||=0,n||=this.length,L(typeof(e=typeof(e||=0)==`string`?e.charCodeAt(0):e)==`number`&&!isNaN(e),`value is not a number`),L(t<=n,`end < start`),n!==t&&this.length!==0){L(0<=t&&t`},i.prototype.toArrayBuffer=function(){if(typeof Uint8Array>`u`)throw Error(`Buffer.toArrayBuffer not supported in this browser`);if(i._useTypedArrays)return new i(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t=t.length||i>=e.length);i++)t[i+n]=e[i];return i}function F(e){try{return decodeURIComponent(e)}catch{return`�`}}function I(e,t){L(typeof e==`number`,`cannot write a non-number as a number`),L(0<=e,`specified a negative value for writing an unsigned value`),L(e<=t,`value is larger than maximum value for type`),L(Math.floor(e)===e,`value has a fractional component`)}function te(e,t,n){L(typeof e==`number`,`cannot write a non-number as a number`),L(e<=t,`value larger than maximum allowed value`),L(n<=e,`value smaller than minimum allowed value`),L(Math.floor(e)===e,`value has a fractional component`)}function ne(e,t,n){L(typeof e==`number`,`cannot write a non-number as a number`),L(e<=t,`value larger than maximum allowed value`),L(n<=e,`value smaller than minimum allowed value`)}function L(e,t){if(!e)throw Error(t||`Failed assertion`)}i._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=O.get,e.set=O.set,e.write=O.write,e.toString=O.toString,e.toLocaleString=O.toString,e.toJSON=O.toJSON,e.copy=O.copy,e.slice=O.slice,e.readUInt8=O.readUInt8,e.readUInt16LE=O.readUInt16LE,e.readUInt16BE=O.readUInt16BE,e.readUInt32LE=O.readUInt32LE,e.readUInt32BE=O.readUInt32BE,e.readInt8=O.readInt8,e.readInt16LE=O.readInt16LE,e.readInt16BE=O.readInt16BE,e.readInt32LE=O.readInt32LE,e.readInt32BE=O.readInt32BE,e.readFloatLE=O.readFloatLE,e.readFloatBE=O.readFloatBE,e.readDoubleLE=O.readDoubleLE,e.readDoubleBE=O.readDoubleBE,e.writeUInt8=O.writeUInt8,e.writeUInt16LE=O.writeUInt16LE,e.writeUInt16BE=O.writeUInt16BE,e.writeUInt32LE=O.writeUInt32LE,e.writeUInt32BE=O.writeUInt32BE,e.writeInt8=O.writeInt8,e.writeInt16LE=O.writeInt16LE,e.writeInt16BE=O.writeInt16BE,e.writeInt32LE=O.writeInt32LE,e.writeInt32BE=O.writeInt32BE,e.writeFloatLE=O.writeFloatLE,e.writeFloatBE=O.writeFloatBE,e.writeDoubleLE=O.writeDoubleLE,e.writeDoubleBE=O.writeDoubleBE,e.fill=O.fill,e.inspect=O.inspect,e.toArrayBuffer=O.toArrayBuffer,e}}).call(this,e(`lYpoI2`),typeof self<`u`?self:typeof window<`u`?window:{},e(`buffer`).Buffer,arguments[3],arguments[4],arguments[5],arguments[6],`/node_modules/gulp-browserify/node_modules/buffer/index.js`,`/node_modules/gulp-browserify/node_modules/buffer`)},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(e,t,n){(function(n,r,i,a,o,s,c,l,u){var i=e(`buffer`).Buffer,d=4,f=new i(d);f.fill(0),t.exports={hash:function(e,t,n,r){for(var a=t(function(e,t){e.length%d!=0&&(n=e.length+(d-e.length%d),e=i.concat([e,f],n));for(var n,r=[],a=t?e.readInt32BE:e.readInt32LE,o=0;oh?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var n=1732584193,r=-271733879,i=-1732584194,a=271733878,o=0;o>>32-i,n)}function m(e,t,n,r,i,a,o){return p(t&n|~t&r,e,t,i,a,o)}function h(e,t,n,r,i,a,o){return p(t&r|n&~r,e,t,i,a,o)}function g(e,t,n,r,i,a,o){return p(t^n^r,e,t,i,a,o)}function _(e,t,n,r,i,a,o){return p(n^(t|~r),e,t,i,a,o)}function v(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}t.exports=function(e){return d.hash(e,f,16)}}).call(this,e(`lYpoI2`),typeof self<`u`?self:typeof window<`u`?window:{},e(`buffer`).Buffer,arguments[3],arguments[4],arguments[5],arguments[6],`/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js`,`/node_modules/gulp-browserify/node_modules/crypto-browserify`)},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(e,t,n){(function(e,n,r,i,a,o,s,c,l){t.exports=function(e){for(var t,n=Array(e),r=0;r>>((3&r)<<3)&255;return n}}).call(this,e(`lYpoI2`),typeof self<`u`?self:typeof window<`u`?window:{},e(`buffer`).Buffer,arguments[3],arguments[4],arguments[5],arguments[6],`/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js`,`/node_modules/gulp-browserify/node_modules/crypto-browserify`)},{buffer:3,lYpoI2:11}],8:[function(e,t,n){(function(n,r,i,a,o,s,c,l,u){var d=e(`./helpers`);function f(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var n,r,i,a=Array(80),o=1732584193,s=-271733879,c=-1732584194,l=271733878,u=-1009589776,d=0;d>16)+(t>>16)+(n>>16)<<16|65535&n}function m(e,t){return e<>>32-t}t.exports=function(e){return d.hash(e,f,20,!0)}}).call(this,e(`lYpoI2`),typeof self<`u`?self:typeof window<`u`?window:{},e(`buffer`).Buffer,arguments[3],arguments[4],arguments[5],arguments[6],`/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js`,`/node_modules/gulp-browserify/node_modules/crypto-browserify`)},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(e,t,n){(function(n,r,i,a,o,s,c,l,u){function d(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function f(e,t){var n,r=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],i=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],a=Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var o,s,c=0;c>>t|e<<32-t},h=function(e,t){return e>>>t};t.exports=function(e){return p.hash(e,f,32,!0)}}).call(this,e(`lYpoI2`),typeof self<`u`?self:typeof window<`u`?window:{},e(`buffer`).Buffer,arguments[3],arguments[4],arguments[5],arguments[6],`/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js`,`/node_modules/gulp-browserify/node_modules/crypto-browserify`)},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(e,t,n){(function(e,t,r,i,a,o,s,c,l){n.read=function(e,t,n,r,i){var a,o,s=8*i-r-1,c=(1<>1,u=-7,d=n?i-1:0,f=n?-1:1,i=e[t+d];for(d+=f,a=i&(1<<-u)-1,i>>=-u,u+=s;0>=-u,u+=r;0>1,d=i===23?2**-24-2**-77:0,f=r?0:a-1,p=r?1:-1,a=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(r=2**-o)<1&&(o--,r*=2),2<=(t+=1<=o+u?d/r:d*2**(1-u))*r&&(o++,r/=2),l<=o+u?(s=0,o=l):1<=o+u?(s=(t*r-1)*2**i,o+=u):(s=t*2**(u-1)*2**i,o=0));8<=i;e[n+f]=255&s,f+=p,s/=256,i-=8);for(o=o<>= ++ -- << >> <= >= == != && || += -= *= /= %= &= ^^ ^= |= ( ) [ ] . ! ~ * / % + - < > & ^ | ? : = , ; { }`.split(` `)),YW}var QW,$W;function eG(){return $W||($W=1,QW=`abs.acos.all.any.asin.atan.ceil.clamp.cos.cross.dFdx.dFdy.degrees.distance.dot.equal.exp.exp2.faceforward.floor.fract.gl_BackColor.gl_BackLightModelProduct.gl_BackLightProduct.gl_BackMaterial.gl_BackSecondaryColor.gl_ClipPlane.gl_ClipVertex.gl_Color.gl_DepthRange.gl_DepthRangeParameters.gl_EyePlaneQ.gl_EyePlaneR.gl_EyePlaneS.gl_EyePlaneT.gl_Fog.gl_FogCoord.gl_FogFragCoord.gl_FogParameters.gl_FragColor.gl_FragCoord.gl_FragData.gl_FragDepth.gl_FragDepthEXT.gl_FrontColor.gl_FrontFacing.gl_FrontLightModelProduct.gl_FrontLightProduct.gl_FrontMaterial.gl_FrontSecondaryColor.gl_LightModel.gl_LightModelParameters.gl_LightModelProducts.gl_LightProducts.gl_LightSource.gl_LightSourceParameters.gl_MaterialParameters.gl_MaxClipPlanes.gl_MaxCombinedTextureImageUnits.gl_MaxDrawBuffers.gl_MaxFragmentUniformComponents.gl_MaxLights.gl_MaxTextureCoords.gl_MaxTextureImageUnits.gl_MaxTextureUnits.gl_MaxVaryingFloats.gl_MaxVertexAttribs.gl_MaxVertexTextureImageUnits.gl_MaxVertexUniformComponents.gl_ModelViewMatrix.gl_ModelViewMatrixInverse.gl_ModelViewMatrixInverseTranspose.gl_ModelViewMatrixTranspose.gl_ModelViewProjectionMatrix.gl_ModelViewProjectionMatrixInverse.gl_ModelViewProjectionMatrixInverseTranspose.gl_ModelViewProjectionMatrixTranspose.gl_MultiTexCoord0.gl_MultiTexCoord1.gl_MultiTexCoord2.gl_MultiTexCoord3.gl_MultiTexCoord4.gl_MultiTexCoord5.gl_MultiTexCoord6.gl_MultiTexCoord7.gl_Normal.gl_NormalMatrix.gl_NormalScale.gl_ObjectPlaneQ.gl_ObjectPlaneR.gl_ObjectPlaneS.gl_ObjectPlaneT.gl_Point.gl_PointCoord.gl_PointParameters.gl_PointSize.gl_Position.gl_ProjectionMatrix.gl_ProjectionMatrixInverse.gl_ProjectionMatrixInverseTranspose.gl_ProjectionMatrixTranspose.gl_SecondaryColor.gl_TexCoord.gl_TextureEnvColor.gl_TextureMatrix.gl_TextureMatrixInverse.gl_TextureMatrixInverseTranspose.gl_TextureMatrixTranspose.gl_Vertex.greaterThan.greaterThanEqual.inversesqrt.length.lessThan.lessThanEqual.log.log2.matrixCompMult.max.min.mix.mod.normalize.not.notEqual.pow.radians.reflect.refract.sign.sin.smoothstep.sqrt.step.tan.texture2D.texture2DLod.texture2DProj.texture2DProjLod.textureCube.textureCubeLod.texture2DLodEXT.texture2DProjLodEXT.textureCubeLodEXT.texture2DGradEXT.texture2DProjGradEXT.textureCubeGradEXT`.split(`.`)),QW}var tG,nG;function rG(){if(nG)return tG;nG=1;var e=JW();return tG=e.slice().concat(`layout.centroid.smooth.case.mat2x2.mat2x3.mat2x4.mat3x2.mat3x3.mat3x4.mat4x2.mat4x3.mat4x4.uvec2.uvec3.uvec4.samplerCubeShadow.sampler2DArray.sampler2DArrayShadow.isampler2D.isampler3D.isamplerCube.isampler2DArray.usampler2D.usampler3D.usamplerCube.usampler2DArray.coherent.restrict.readonly.writeonly.resource.atomic_uint.noperspective.patch.sample.subroutine.common.partition.active.filter.image1D.image2D.image3D.imageCube.iimage1D.iimage2D.iimage3D.iimageCube.uimage1D.uimage2D.uimage3D.uimageCube.image1DArray.image2DArray.iimage1DArray.iimage2DArray.uimage1DArray.uimage2DArray.image1DShadow.image2DShadow.image1DArrayShadow.image2DArrayShadow.imageBuffer.iimageBuffer.uimageBuffer.sampler1DArray.sampler1DArrayShadow.isampler1D.isampler1DArray.usampler1D.usampler1DArray.isampler2DRect.usampler2DRect.samplerBuffer.isamplerBuffer.usamplerBuffer.sampler2DMS.isampler2DMS.usampler2DMS.sampler2DMSArray.isampler2DMSArray.usampler2DMSArray`.split(`.`)),tG}var iG,aG;function oG(){if(aG)return iG;aG=1;var e=eG();return e=e.slice().filter(function(e){return!/^(gl\_|texture)/.test(e)}),iG=e.concat(`gl_VertexID.gl_InstanceID.gl_Position.gl_PointSize.gl_FragCoord.gl_FrontFacing.gl_FragDepth.gl_PointCoord.gl_MaxVertexAttribs.gl_MaxVertexUniformVectors.gl_MaxVertexOutputVectors.gl_MaxFragmentInputVectors.gl_MaxVertexTextureImageUnits.gl_MaxCombinedTextureImageUnits.gl_MaxTextureImageUnits.gl_MaxFragmentUniformVectors.gl_MaxDrawBuffers.gl_MinProgramTexelOffset.gl_MaxProgramTexelOffset.gl_DepthRangeParameters.gl_DepthRange.trunc.round.roundEven.isnan.isinf.floatBitsToInt.floatBitsToUint.intBitsToFloat.uintBitsToFloat.packSnorm2x16.unpackSnorm2x16.packUnorm2x16.unpackUnorm2x16.packHalf2x16.unpackHalf2x16.outerProduct.transpose.determinant.inverse.texture.textureSize.textureProj.textureLod.textureOffset.texelFetch.texelFetchOffset.textureProjOffset.textureLodOffset.textureProjLod.textureProjLodOffset.textureGrad.textureGradOffset.textureProjGrad.textureProjGradOffset`.split(`.`)),iG}var sG,cG;function lG(){if(cG)return sG;cG=1,sG=b;var e=JW(),t=ZW(),n=eG(),r=rG(),i=oG(),a=999,o=9999,s=0,c=1,l=2,u=3,d=4,f=5,p=6,m=7,h=8,g=9,_=10,v=11,y=[`block-comment`,`line-comment`,`preprocessor`,`operator`,`integer`,`float`,`ident`,`builtin`,`keyword`,`whitespace`,`eof`,`integer`];function b(b){var x=0,S=0,C=a,w,T,E=[],D=[],O=1,k=0,A=0,j=!1,M=!1,N=``,ee;b||={};var P=n,F=e;b.version===`300 es`&&(P=i,F=r);for(var I={},te={},x=0;x0)continue;i=e.slice(0,1).join(``)}return ne(i),A+=i.length,E=E.slice(i.length),E.length}while(!0)}function ue(){return/[^a-fA-F0-9]/.test(w)?(ne(E.join(``)),C=a,x):(E.push(w),T=w,x+1)}function de(){return w===`.`||/[eE]/.test(w)?(E.push(w),C=f,T=w,x+1):w===`x`&&E.length===1&&E[0]===`0`?(C=v,E.push(w),T=w,x+1):/[^\d]/.test(w)?(ne(E.join(``)),C=a,x):(E.push(w),T=w,x+1)}function fe(){return w===`f`&&(E.push(w),T=w,x+=1),/[eE]/.test(w)||(w===`-`||w===`+`)&&/[eE]/.test(T)?(E.push(w),T=w,x+1):/[^\d]/.test(w)?(ne(E.join(``)),C=a,x):(E.push(w),T=w,x+1)}function pe(){if(/[^\d\w_]/.test(w)){var e=E.join(``);return C=te[e]?h:I[e]?m:p,ne(E.join(``)),C=a,x}return E.push(w),T=w,x+1}}return sG}var uG,dG;function fG(){if(dG)return uG;dG=1;var e=lG();uG=t;function t(t,n){var r=e(n),i=[];return i=i.concat(r(t)),i=i.concat(r(null)),i}return uG}var pG=fG();const mG=zW(pG);var hG,gG;function _G(){if(gG)return hG;gG=1,hG=e;function e(e){for(var t=[],n=0;n=0;i--){if(n(e[i]))return i;if(r&&r(e[i]))return-1}return-1}}function t(e){return function(t){return t.type===`operator`&&(!e||t.data===e)}}function n(e){return e.type!==`whitespace`}return bG}var CG=SG();const wG=zW(CG);function TG(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}function EG(e){var t=TG(e,`string`);return typeof t==`symbol`?t:String(t)}function DG(e,t,n){return t=EG(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OG(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kG(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function jG(e,t){if(e==null)return{};var n=AG(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function MG(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function NG(e,t){for(var n=0;n`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function BG(e,t){if(t&&(typeof t==`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return FG(e)}function VG(e){var t=zG();return function(){var n=RG(e),r;if(t){var i=RG(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return BG(this,r)}}var HG={position:`csm_Position`,positionRaw:`csm_PositionRaw`,pointSize:`csm_PointSize`,fragColor:`csm_FragColor`,diffuseColor:`csm_DiffuseColor`,normal:`csm_Normal`,roughness:`csm_Roughness`,metalness:`csm_Metalness`,emissive:`csm_Emissive`,ao:`csm_AO`,bump:`csm_Bump`,depthAlpha:`csm_DepthAlpha`},UG,WG,GG=(UG={},DG(UG,`${HG.normal}`,{"#include ":` + vec3 objectNormal = ${HG.normal}; + #ifdef USE_TANGENT + vec3 objectTangent = vec3( tangent.xyz ); + #endif + `}),DG(UG,`${HG.position}`,{"#include ":` + vec3 transformed = ${HG.position}; + `}),DG(UG,`${HG.positionRaw}`,{"#include ":` + vec4 csm_internal_positionUnprojected = ${HG.positionRaw}; + mat4x4 csm_internal_unprojectMatrix = projectionMatrix * modelViewMatrix; + #ifdef USE_INSTANCING + csm_internal_unprojectMatrix = csm_internal_unprojectMatrix * instanceMatrix; + #endif + csm_internal_positionUnprojected = inverse(csm_internal_unprojectMatrix) * csm_internal_positionUnprojected; + vec3 transformed = csm_internal_positionUnprojected.xyz; + `}),DG(UG,`${HG.pointSize}`,{"gl_PointSize = size;":` + gl_PointSize = ${HG.pointSize}; + `}),DG(UG,`${HG.diffuseColor}`,{"#include ":` + #include + diffuseColor = ${HG.diffuseColor}; + `}),DG(UG,`${HG.fragColor}`,{"#include ":` + #include + gl_FragColor = ${HG.fragColor}; + `}),DG(UG,`${HG.emissive}`,{"vec3 totalEmissiveRadiance = emissive;":` + vec3 totalEmissiveRadiance = ${HG.emissive}; + `}),DG(UG,`${HG.roughness}`,{"#include ":` + #include + roughnessFactor = ${HG.roughness}; + `}),DG(UG,`${HG.metalness}`,{"#include ":` + #include + metalnessFactor = ${HG.metalness}; + `}),DG(UG,`${HG.ao}`,{"#include ":` + #include + reflectedLight.indirectDiffuse *= 1. - ${HG.ao}; + `}),DG(UG,`${HG.bump}`,{"#include ":` + #include + + vec3 csm_internal_orthogonal = ${HG.bump} - (dot(${HG.bump}, normal) * normal); + vec3 csm_internal_projectedbump = mat3(csm_internal_vModelViewMatrix) * csm_internal_orthogonal; + normal = normalize(normal - csm_internal_projectedbump); + `}),DG(UG,`${HG.depthAlpha}`,{"gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );":` + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity * ${HG.depthAlpha} ); + `,"gl_FragColor = packDepthToRGBA( fragCoordZ );":` + gl_FragColor = packDepthToRGBA( fragCoordZ ); + gl_FragColor.a *= ${HG.depthAlpha}; + `}),UG),KG=(WG={},DG(WG,`${HG.position}`,{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = projectionMatrix * modelViewMatrix * vec4( ${HG.position}, 1.0 ); + `}),DG(WG,`${HG.positionRaw}`,{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = ${HG.position}; + `}),DG(WG,`${HG.diffuseColor}`,{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = ${HG.diffuseColor}; + `}),DG(WG,`${HG.fragColor}`,{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = ${HG.fragColor}; + `}),WG),qG=` + +#ifdef IS_VERTEX + // csm_Position & csm_PositionRaw + #ifdef IS_UNKNOWN + vec3 csm_Position = vec3(0.0); + vec4 csm_PositionRaw = vec4(0.0); + vec3 csm_Normal = vec3(0.0); + #else + vec3 csm_Position = position; + vec4 csm_PositionRaw = projectionMatrix * modelViewMatrix * vec4(position, 1.); + vec3 csm_Normal = normal; + #endif + + // csm_PointSize + #ifdef IS_POINTSMATERIAL + float csm_PointSize = size; + #endif +#else + // csm_DiffuseColor & csm_FragColor + #if defined IS_UNKNOWN || defined IS_SHADERMATERIAL || defined IS_MESHDEPTHMATERIAL || defined IS_MESHNORMALMATERIAL || defined IS_SHADOWMATERIAL + vec4 csm_DiffuseColor = vec4(1.0, 0.0, 1.0, 1.0); + vec4 csm_FragColor = vec4(1.0, 0.0, 1.0, 1.0); + #else + #ifdef USE_MAP + vec4 _csm_sampledDiffuseColor = texture2D(map, vMapUv); + + #ifdef DECODE_VIDEO_TEXTURE + // inline sRGB decode (TODO: Remove this code when https://crbug.com/1256340 is solved) + _csm_sampledDiffuseColor = vec4(mix(pow(_csm_sampledDiffuseColor.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), _csm_sampledDiffuseColor.rgb * 0.0773993808, vec3(lessThanEqual(_csm_sampledDiffuseColor.rgb, vec3(0.04045)))), _csm_sampledDiffuseColor.w); + #endif + + vec4 csm_DiffuseColor = vec4(diffuse, opacity) * _csm_sampledDiffuseColor; + vec4 csm_FragColor = vec4(diffuse, opacity) * _csm_sampledDiffuseColor; + #else + vec4 csm_DiffuseColor = vec4(diffuse, opacity); + vec4 csm_FragColor = vec4(diffuse, opacity); + #endif + #endif + + // csm_Emissive, csm_Roughness, csm_Metalness + #if defined IS_MESHSTANDARDMATERIAL || defined IS_MESHPHYSICALMATERIAL + vec3 csm_Emissive = emissive; + float csm_Roughness = roughness; + float csm_Metalness = metalness; + #endif + + // csm_AO + #if defined IS_MESHSTANDARDMATERIAL || defined IS_MESHPHYSICALMATERIAL || defined IS_MESHBASICMATERIAL || defined IS_MESHLAMBERTMATERIAL || defined IS_MESHPHONGMATERIAL || defined IS_MESHTOONMATERIAL + float csm_AO = 0.0; + #endif + + // csm_Bump + #if defined IS_MESHLAMBERTMATERIAL || defined IS_MESHMATCAPMATERIAL || defined IS_MESHNORMALMATERIAL || defined IS_MESHPHONGMATERIAL || defined IS_MESHPHYSICALMATERIAL || defined IS_MESHSTANDARDMATERIAL || defined IS_MESHTOONMATERIAL || defined IS_SHADOWMATERIAL + vec3 csm_Bump = vec3(0.0); + #endif + + float csm_DepthAlpha = 1.0; +#endif +`,JG=` + varying mat4 csm_internal_vModelViewMatrix; +`,YG=` + csm_internal_vModelViewMatrix = modelViewMatrix; +`,XG=` + varying mat4 csm_internal_vModelViewMatrix; +`,ZG=` + +`,QG,$G=(QG={},DG(QG,`${HG.position}`,`*`),DG(QG,`${HG.positionRaw}`,`*`),DG(QG,`${HG.normal}`,`*`),DG(QG,`${HG.pointSize}`,[`PointsMaterial`]),DG(QG,`${HG.diffuseColor}`,`*`),DG(QG,`${HG.fragColor}`,`*`),DG(QG,`${HG.emissive}`,[`MeshStandardMaterial`,`MeshPhysicalMaterial`]),DG(QG,`${HG.roughness}`,[`MeshStandardMaterial`,`MeshPhysicalMaterial`]),DG(QG,`${HG.metalness}`,[`MeshStandardMaterial`,`MeshPhysicalMaterial`]),DG(QG,`${HG.ao}`,[`MeshStandardMaterial`,`MeshPhysicalMaterial`,`MeshBasicMaterial`,`MeshLambertMaterial`,`MeshPhongMaterial`,`MeshToonMaterial`]),DG(QG,`${HG.bump}`,[`MeshLambertMaterial`,`MeshMatcapMaterial`,`MeshNormalMaterial`,`MeshPhongMaterial`,`MeshPhysicalMaterial`,`MeshStandardMaterial`,`MeshToonMaterial`,`ShadowMaterial`]),DG(QG,`${HG.depthAlpha}`,`*`),QG),eK=[`baseMaterial`,`fragmentShader`,`vertexShader`,`uniforms`,`patchMap`,`cacheKey`,`silent`],tK=function(e,t,n){return e.split(t).join(n)},nK=function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,`\\$&`)},rK=function(e,t){return RegExp(`\\b${nK(t)}\\b`).test(e)};function iK(e){try{new e}catch(e){if(e.message.indexOf(`is not a constructor`)>=0)return!1}return!0}function aK(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;Object.assign(e,t);var r=Object.getPrototypeOf(t);Object.entries(Object.getOwnPropertyDescriptors(r)).filter(function(e){var t=typeof e[1].get==`function`,n=typeof e[1].set==`function`,r=typeof e[1].value==`function`,i=e[0]===`constructor`;return(t||n||r)&&!i}).forEach(function(t){if(typeof e[t[0]]==`function`){n||console.warn(`Function ${t[0]} already exists on CSM, renaming to base_${t[0]}`);var r=`base_${t[0]}`;e[r]=t[1].value.bind(e);return}Object.defineProperty(e,t[0],t[1])})}function oK(e){var t=e.toString().trim(),n=t.substring(t.indexOf(`{`)+1,t.lastIndexOf(`}`));return n.trim().length===0}function sK(e){return e.replace(/\s/g,``)}function cK(e,t,n){var r=e.lastIndexOf(t);return r===-1?e:e.substring(0,r)+n+e.substring(r+t.length)}var lK=function(e){LG(n,e);var t=VG(n);function n(e){var r,i=e.baseMaterial,a=e.fragmentShader,o=e.vertexShader,s=e.uniforms,c=e.patchMap,l=e.cacheKey,u=e.silent,d=jG(e,eK);MG(this,n);var f;if(iK(i)?f=new i(d):(f=i,Object.assign(f,d)),f.type===`RawShaderMaterial`)throw Error(`CustomShaderMaterial does not support RawShaderMaterial`);r=t.call(this),aK(FG(r),f,u),r.__csm={patchMap:c||{},fragmentShader:a||``,vertexShader:o||``,cacheKey:l,baseMaterial:i,instanceID:we.generateUUID(),type:f.type,isAlreadyExtended:!oK(f.onBeforeCompile),cacheHash:``,silent:u},r.uniforms=kG(kG({},r.uniforms||{}),s||{});var p=r.__csm,m=p.fragmentShader,h=p.vertexShader,g=r.uniforms;return r.__csm.cacheHash=r.getCacheHash(),r.generateMaterial(m,h,g),r}return PG(n,[{key:`update`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.uniforms=e.uniforms||this.uniforms,Object.assign(this.__csm,e);var t=this.__csm,n=t.fragmentShader,r=t.vertexShader,i=this.uniforms,a=this.getCacheHash();this.__csm.cacheHash=a,this.generateMaterial(n,r,i)}},{key:`clone`,value:function(){var e={baseMaterial:this.__csm.baseMaterial,fragmentShader:this.__csm.fragmentShader,vertexShader:this.__csm.vertexShader,uniforms:this.uniforms,silent:this.__csm.silent,patchMap:this.__csm.patchMap,cacheKey:this.__csm.cacheKey},t=new this.constructor(e);return Object.assign(this,t),t}},{key:`getCacheHash`,value:function(){var e=this.__csm,t=e.fragmentShader,n=e.vertexShader,r=this.uniforms,i=Object.values(r).reduce(function(e,t){var n=t.value;return e+JSON.stringify(n)},``),a=sK(t)+sK(n)+i;return a.trim().length>0?GW(a):this.customProgramCacheKey()}},{key:`generateMaterial`,value:function(e,t,n){var r=this,i=this.parseShader(e),a=this.parseShader(t);this.uniforms=n||{},this.customProgramCacheKey=function(){return r.__csm.cacheHash};var o=function(e){try{if(i){var t=r.patchShader(i,e.fragmentShader,!0);e.fragmentShader=r.getMaterialDefine()+t}if(a){var n=r.patchShader(a,e.vertexShader);e.vertexShader=`#define IS_VERTEX; +`+n,e.vertexShader=r.getMaterialDefine()+e.vertexShader}e.uniforms=kG(kG({},e.uniforms),r.uniforms),r.uniforms=e.uniforms}catch(e){console.error(e)}};if(this.__csm.isAlreadyExtended){var s=this.onBeforeCompile;this.onBeforeCompile=function(e,t){s(e,t),o(e)}}else this.onBeforeCompile=o;this.needsUpdate=!0}},{key:`patchShader`,value:function(e,t,n){var r=this,i=t,a=kG(kG({},this.getPatchMapForMaterial()),this.__csm.patchMap);Object.keys(a).forEach(function(t){Object.keys(a[t]).forEach(function(n){var o=$G[t],s=r.__csm.type;if(t===`*`||rK(e.main,t))if(!o||Array.isArray(o)&&o.includes(s)||o===`*`)i=tK(i,n,a[t][n]);else throw Error(`CSM: ${t} is not available in ${s}. Shader cannot compile.`)})}),i=i.replace(`void main() {`,` + #ifndef CSM_IS_HEAD_DEFAULTS_DEFINED + ${n?XG:JG} + #define CSM_IS_HEAD_DEFAULTS_DEFINED 1 + #endif + + ${e.header} + + void main() { + #ifndef CSM_IS_DEFAULTS_DEFINED + ${qG} + #define CSM_IS_DEFAULTS_DEFINED 1 + #endif + + #ifndef CSM_IS_MAIN_DEFAULTS_DEFINED + ${n?ZG:YG} + #define CSM_IS_MAIN_DEFAULTS_DEFINED 1 + #endif + + // CSM_START + `);var o=this.__csm.isAlreadyExtended,s=i.includes(`// CSM_END`);return i=o&&s?cK(i,`// CSM_END`,` + // CSM_END + ${e.main} + // CSM_END + `):i.replace(`// CSM_START`,` + // CSM_START + ${e.main} + // CSM_END + `),i=e.defines+i,i}},{key:`parseShader`,value:function(e){if(e){var t=e.replace(/\/\*\*(.*?)\*\/|\/\/(.*?)\n/gm,``),n=mG(t),r=wG(n),i=r.map(function(e){return e.name}).indexOf(`main`),a=yG(n.slice(0,i>=0?r[i].outer[0]:void 0)),o=i>=0?this.getShaderFromIndex(n,r[i].body):``;return{defines:``,header:a,main:o}}}},{key:`getMaterialDefine`,value:function(){var e=this.__csm.type;return e?`#define IS_${e.toUpperCase()}; +`:`#define IS_UNKNOWN; +`}},{key:`getPatchMapForMaterial`,value:function(){switch(this.__csm.type){case`ShaderMaterial`:return KG;default:return GG}}},{key:`getShaderFromIndex`,value:function(e,t){return yG(e.slice(t[0],t[1]))}}]),n}(ne),uK=class extends vt{constructor(e={}){super(e),dR(this,`_time`),dR(this,`_factor`),this.setValues(e),this._time={value:0},this._factor={value:1}}onBeforeCompile(e){e.uniforms||={},e.uniforms.time=this._time,e.uniforms.factor=this._factor,e.vertexShader=` + uniform float time; + uniform float factor; + ${e.vertexShader} + `,e.vertexShader=e.vertexShader.replace(`#include `,`float theta = sin( time + position.y ) / 2.0 * factor; + float c = cos( theta ); + float s = sin( theta ); + mat3 m = mat3( c, 0, s, 0, 1, 0, -s, 0, c ); + vec3 transformed = vec3( position ) * m; + vNormal = vNormal * m;`)}get time(){return this._time.value}set time(e){this._time.value=e}get factor(){return this._factor.value}set factor(e){this._factor.value=e}};const dK=[`factor`],fK=Xt({__name:`index`,props:{speed:{default:1},factor:{default:1}},setup(e,{expose:t}){let n=e,r=B(),{extend:i,invalidate:a}=be();i({MeshWobbleMaterial:uK}),H(n,()=>a());let{onBeforeRender:o}=T();return o(({elapsed:e,invalidate:t})=>{r.value&&(r.value.time=e*n?.speed,t())}),t({instance:r}),(e,t)=>(U(),V(`TresMeshWobbleMaterial`,Sn({ref_key:`materialRef`,ref:r,factor:e.factor},e.$attrs),null,16,dK))}}),pK=Xt({name:`BakeShadows`,setup(){let{renderer:e}=be();pn(()=>{e.value.shadowMap.autoUpdate=!1,e.value.shadowMap.needsUpdate=!0})}});var mK=`void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); +}`,hK=`#include + +void main() { + vec2 center = vec2(0., 1.); + float rotation = 0.0; + + + + float size = 0.03; + + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + + gl_Position = projectionMatrix * mvPosition; +}`;const gK=new L(0,0,0),_K=new L(0,0,0),vK=new L(0,0,0);function yK(e,t,n){let r=gK.setFromMatrixPosition(e.matrixWorld);r.project(t);let i=n.width/2,a=n.height/2;return[(Number.isNaN(r.x)?0:r.x)*i+i,-(r.y*a)+a,r.z]}function bK(e,t){let n=gK.setFromMatrixPosition(e.matrixWorld),r=_K.setFromMatrixPosition(t.matrixWorld),i=n.sub(r),a=t.getWorldDirection(vK);return i.angleTo(a)>Math.PI/2}function xK(e,t,n,r){let i=gK.setFromMatrixPosition(e.matrixWorld),a=i.clone();a.project(t),n.setFromCamera(new Ae(a.x,a.y),t);let o=n.intersectObjects(r,!0);if(o.length>0){let e=o[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function TK(e,t,n=``){let r=`matrix3d(`;for(let n=0;n!==16;n++)r+=wK(t[n]*e.elements[n])+(n===15?`)`:`,`);return n+r}const EK=(e=>t=>TK(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),DK=(e=>(t,n)=>TK(t,e(n),`translate(-50%,-50%)`))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]),OK=[`geometry`,`material`],kK=Xt({__name:`HTML`,props:{geometry:{default:new Mt},material:{},as:{default:`div`},transform:{type:Boolean,default:!1},portal:{},wrapperClass:{},eps:{default:1e-4},distanceFactor:{},fullscreen:{type:Boolean},center:{type:Boolean},pointerEvents:{default:`auto`},sprite:{type:Boolean,default:!1},zIndexRange:{default:()=>[16777271,0]},occlude:{type:[Object,null,Array,Boolean,String]}},emits:[`onOcclude`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=xn(),o=wn(),s=G(),c=G(),{geometry:l,material:u,as:d,transform:f,portal:p,wrapperClass:m,eps:h,distanceFactor:g,fullscreen:_,center:v,pointerEvents:y,sprite:b,occlude:x,zIndexRange:S}=tn(r),{renderer:C,scene:w,camera:E,raycaster:D,sizes:O}=be(),k=yn(()=>document.createElement(d.value)),A=G([0,0,0]),j=G(0),M=G(),N=yn(()=>f.value?{position:`absolute`,top:0,left:0,width:`${O.width.value}px`,height:`${O.height.value}px`,transformStyle:`preserve-3d`,pointerEvents:`none`,zIndex:2}:{position:`absolute`,transform:v.value?`translate3d(-50%,-50%,0)`:`none`,..._.value&&{top:-O.height.value/2,left:-O.width.value/2,width:`${O.width.value}px`,height:`${O.height.value}px`},zIndex:2,...Object.assign({},o.style)}),ee=yn(()=>({position:`absolute`,pointerEvents:y.value})),P=G(null),F=G(!1),I=yn(()=>x?.value&&x?.value!==`blending`||Array.isArray(x?.value)&&x?.value.length&&ln(x.value[0]));H(()=>x,({value:e})=>{e===`blending`?(k.value.style.zIndex=`${Math.floor(S.value[0]/2)}`,k.value.style.position=`absolute`,k.value.style.pointerEvents=`none`):(k.value.style.zIndex=null,k.value.style.position=null,k.value.style.pointerEvents=null)}),H(()=>{var e;return[s.value,C.value,O.width.value,O.height.value,(e=a.default)?.call(a)]},([e,t])=>{var n,r,i,s,l,u;if(e&&t){let d=p?.value||t.domElement;if((n=w.value)==null||n.updateMatrixWorld(),f.value)k.value.style.cssText=`position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;`;else{let t=yK(e,E.value,{width:O.width.value,height:O.height.value});k.value.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${t[0]}px,${t[1]}px,0);transform-origin:0 0;`}d&&!k.value.parentNode&&((r=d.parentNode)==null||r.appendChild(k.value)),f.value?M.value=Cn(`div`,{id:`outer`,style:N.value},[Cn(`div`,{id:`inner`,style:ee.value},[Cn(`div`,{key:(i=c.value)?.uuid,id:w?.value.uuid,class:o.class,style:o.style},(s=a.default)?.call(a))])]):M.value=Cn(`div`,{key:(l=c.value)?.uuid,id:w?.value.uuid,style:N.value},(u=a.default)?.call(a)),xt(M.value,k.value)}}),pn(()=>{m!=null&&m.value&&(k.value.className=m.value)});let te=G(!0),{onBeforeRender:ne}=T();ne(({invalidate:e})=>{var t,n,r,a,u,d,p;if(e(),s.value&&E.value&&C.value){(t=E.value)==null||t.updateMatrixWorld(),s.value.updateWorldMatrix(!0,!1);let e=f.value?A.value:yK(s.value,E.value,{width:O.width.value||0,height:O.height.value||0});if(f.value||Math.abs(j.value-E.value.zoom)>h.value||Math.abs(A.value[0]-e[0])>h.value||Math.abs(A.value[1]-e[1])>h.value||Math.abs(A.value[2]-e[2])>h.value){let t=bK(s.value,E.value),a=!1;I.value&&(Array.isArray(x?.value)?a=x?.value:x?.value!==`blending`&&(a=[w.value]));let o=te.value;if(a){let e=xK(s.value,E.value,D.value,a);te.value=e&&!t}else te.value=!t;o!==te.value&&(i(`onOcclude`,!te.value),k.value.style.display=te.value?`block`:`none`);let c=Math.floor(S.value[0]/2),l=x!=null&&x.value?I.value?[S.value[0],c]:[c-1,0]:S.value;if(k.value.style.zIndex=`${CK(s.value,E.value,l)}`,f.value){let[e,t]=[O.width.value/2,O.height.value/2],i=E.value.projectionMatrix.elements[5]*t,{isOrthographicCamera:a,top:o,left:c,bottom:l,right:u}=E.value,d=EK(E.value.matrixWorldInverse),f=a?`scale(${i})translate(${wK(-(u+c)/2)}px,${wK((o+l)/2)}px)`:`translateZ(${i}px)`,p=s.value.matrixWorld;if(b.value&&(p=E.value.matrixWorldInverse.clone().transpose().copyPosition(p).scale(s.value.scale),p.elements[3]=p.elements[7]=p.elements[11]=0,p.elements[15]=1),k.value.style.width=`${O.width.value}px`,k.value.style.height=`${O.height.value}px`,k.value.style.perspective=a?``:`${i}px`,(n=M.value)!=null&&n.el&&(r=M.value)!=null&&r.children&&Array.isArray(M.value.children)){M.value.el.style.transform=`${f}${d}translate(${e}px,${t}px)`;let n=M.value.children[0];n&&n.el&&(n.el.style.transform=DK(p,1/((g?.value||10)/400)))}}else{let t=g?.value===void 0?1:SK(s.value,E.value)*g?.value;k.value.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}}A.value=e,j.value=E.value.zoom}if(!I.value&&c.value&&!F.value)if(f.value){if((a=M.value)!=null&&a.el&&(u=M.value)!=null&&u.children){let e=((d=M.value)?.children)[0];if(e!=null&&e.clientWidth&&e!=null&&e.clientHeight){let{isOrthographicCamera:t}=E.value;if(t||l)o.scale&&(Array.isArray(o.scale)?o.scale instanceof L?c.value.scale.copy(o.scale.clone().divideScalar(1)):c.value.scale.set(1/o.scale[0],1/o.scale[1],1/o.scale[2]):c.value.scale.setScalar(1/o.scale));else{let t=(g?.value||10)/400,n=e.clientWidth*t,r=e.clientHeight*t;c.value.scale.set(n,r,1)}F.value=!0}}}else{let e=k.value.children[0];if(e!=null&&e.clientWidth&&e!=null&&e.clientHeight){let t=e.clientWidth*1,n=e.clientHeight*1;c.value.scale.set(t,n,1),F.value=!0}P.value.lookAt((p=E.value)?.position)}});let re=yn(()=>({vertexShader:f.value?void 0:hK,fragmentShader:mK})),R=yn(()=>{let e=re.value;return u.value||new at({vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,side:ie})});return dn(()=>{R.value&&R.value.dispose(),k.value.remove()}),t({instance:s}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`groupRef`,ref:s},[W(x)&&!I.value?(U(),V(`TresMesh`,{key:0,ref_key:`meshRef`,ref:c,geometry:W(l),material:R.value},null,8,OK)):Zt(``,!0)],512))}});var AK={exports:{}},jK=AK.exports,MK;function NK(){return MK||(MK=1,function(e,t){(function(t,n){e.exports=n()})(jK,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;to+1e3&&(c.update(1e3*s/(e-o),100),o=e,s=0,u)){var t=performance.memory;u.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,c=48*o,l=3*o,u=2*o,d=3*o,f=15*o,p=74*o,m=30*o,h=document.createElement(`canvas`);h.width=s,h.height=c,h.style.cssText=`width:80px;height:48px`;var g=h.getContext(`2d`);return g.font=`bold `+9*o+`px Helvetica,Arial,sans-serif`,g.textBaseline=`top`,g.fillStyle=n,g.fillRect(0,0,s,c),g.fillStyle=t,g.fillText(e,l,u),g.fillRect(d,f,p,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,p,m),{dom:h,update:function(c,_){r=Math.min(r,c),i=Math.max(i,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(a(c)+` `+e+` (`+a(r)+`-`+a(i)+`)`,l,u),g.drawImage(h,d+o,f,p-o,m,d,f,p-o,m),g.fillRect(d+p-o,f,o,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+p-o,f,o,a((1-c/_)*m))}}},e})}(AK)),AK.exports}var PK=NK();const FK=zW(PK),IK=Xt({name:`Stats`,props:{showPanel:{type:Number,default:0}},setup(e,{expose:t}){let n=new FK;t({instance:n});let r=document.body;n.showPanel(e.showPanel||0),r?.appendChild(n.dom);let{onBeforeRender:i,onAfterRender:a}=T();i(()=>n.begin(),-1/0),a(()=>n.end(),1/0),dn(()=>{r?.removeChild(n.dom)})}});var LK=class{constructor(e,t,n){this.name=e,this.fg=t,this.bg=n,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`,this.context=this.canvas.getContext(`2d`),this.initializeCanvas()}createGradient(){if(!this.context)throw Error(`No context`);let e=this.context.createLinearGradient(0,this.GRAPH_Y,0,this.GRAPH_Y+this.GRAPH_HEIGHT),t,n=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,n),e}initializeCanvas(){this.context&&(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.fg,this.context.fillRect(this.GRAPH_X,this.GRAPH_Y,this.GRAPH_WIDTH,this.GRAPH_HEIGHT),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,n,r,i=0){if(!this.context||!this.gradient)return;let a=Math.min(1/0,e),o=Math.max(n,e);r=Math.max(r,t),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} (${a.toFixed(i)}-${parseFloat(o.toFixed(i))})`,this.TEXT_X,this.TEXT_Y),this.context.drawImage(this.canvas,this.GRAPH_X+this.PR,this.GRAPH_Y,this.GRAPH_WIDTH-this.PR,this.GRAPH_HEIGHT,this.GRAPH_X,this.GRAPH_Y,this.GRAPH_WIDTH-this.PR,this.GRAPH_HEIGHT);let s=this.GRAPH_HEIGHT-(1-t/r)*this.GRAPH_HEIGHT;s>0&&(this.context.globalAlpha=1,this.context.fillStyle=this.gradient,this.context.fillRect(this.GRAPH_X+this.GRAPH_WIDTH-this.PR,this.GRAPH_Y+this.GRAPH_HEIGHT-s,this.PR,s))}};const RK=class e{constructor({trackGPU:t=!1,logsPerSecond:n=30,samplesLog:r=60,samplesGraph:i=10,precision:a=2,minimal:o=!1,horizontal:s=!0,mode:c=0}={}){this.gl=null,this.ext=null,this.activeQuery=null,this.gpuQueries=[],this.threeRendererPatched=!1,this.frames=0,this.renderCount=0,this.isRunningCPUProfiling=!1,this.totalCpuDuration=0,this.totalGpuDuration=0,this.totalGpuDurationCompute=0,this.totalFps=0,this.gpuPanel=null,this.gpuPanelCompute=null,this.averageFps={logs:[],graph:[]},this.averageCpu={logs:[],graph:[]},this.averageGpu={logs:[],graph:[]},this.averageGpuCompute={logs:[],graph:[]},this.handleClick=e=>{e.preventDefault(),this.showPanel(++this.mode%this.dom.children.length)},this.handleResize=()=>{this.resizePanel(this.fpsPanel,0),this.resizePanel(this.msPanel,1),this.gpuPanel&&this.resizePanel(this.gpuPanel,2),this.gpuPanelCompute&&this.resizePanel(this.gpuPanelCompute,3)},this.mode=c,this.horizontal=s,this.minimal=o,this.trackGPU=t,this.samplesLog=r,this.samplesGraph=i,this.precision=a,this.logsPerSecond=n,this.dom=document.createElement(`div`),this.initializeDOM(),this.beginTime=performance.now(),this.prevTime=this.beginTime,this.prevCpuTime=this.beginTime,this.fpsPanel=this.addPanel(new e.Panel(`FPS`,`#0ff`,`#002`),0),this.msPanel=this.addPanel(new e.Panel(`CPU`,`#0f0`,`#020`),1),this.setupEventListeners()}initializeDOM(){this.dom.style.cssText=` + position: fixed; + top: 0; + left: 0; + opacity: 0.9; + z-index: 10000; + ${this.minimal?`cursor: pointer;`:``} + `}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}this.handleThreeRenderer(e)||await this.handleWebGPURenderer(e)||this.initializeWebGL(e)}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&&(e.backend.trackTimestamp=!0,await e.hasFeatureAsync(`timestamp-query`)&&this.initializeWebGPUPanels()),this.info=e.info,!0):!1}initializeWebGPUPanels(){this.gpuPanel=this.addPanel(new e.Panel(`GPU`,`#ff0`,`#220`),2),this.gpuPanelCompute=this.addPanel(new e.Panel(`CPT`,`#e1e1e1`,`#212121`),3)}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 e.Panel(`GPU`,`#ff0`,`#220`),2)))}begin(){this.isRunningCPUProfiling||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)}update(){this.info?this.processWebGPUTimestamps():this.processGpuQueries(),this.endProfiling(`cpu-started`,`cpu-finished`,`cpu-duration`),this.updateAverages(),this.resetCounters()}processWebGPUTimestamps(){this.totalGpuDuration=this.info.render.timestamp,this.totalGpuDurationCompute=this.info.compute.timestamp,this.addToAverage(this.totalGpuDurationCompute,this.averageGpuCompute)}updateAverages(){this.addToAverage(this.totalCpuDuration,this.averageCpu),this.addToAverage(this.totalGpuDuration,this.averageGpu)}resetCounters(){this.renderCount=0,this.totalCpuDuration===0&&this.beginProfiling(`cpu-started`),this.totalCpuDuration=0,this.totalFps=0,this.beginTime=this.endInternal()}resizePanel(e,t){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=t*e.WIDTH/e.PR+`px`):(e.canvas.style.left=`0px`,e.canvas.style.top=t*e.HEIGHT/e.PR+`px`))}addPanel(e,t){return e.canvas&&(this.dom.appendChild(e.canvas),this.resizePanel(e,t)),e}showPanel(e){for(let t=0;t{if(this.gl){let n=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT_AVAILABLE),r=this.gl.getParameter(this.ext.GPU_DISJOINT_EXT);if(n&&!r){let n=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT)*1e-6;this.totalGpuDuration+=n,this.gl.deleteQuery(e.query),this.gpuQueries.splice(t,1)}}}))}endInternal(){this.frames++;let e=(performance||Date).now(),t=e-this.prevTime;if(e>=this.prevCpuTime+1e3/this.logsPerSecond){let n=Math.round(this.frames*1e3/t);this.addToAverage(n,this.averageFps),this.updatePanel(this.fpsPanel,this.averageFps,0),this.updatePanel(this.msPanel,this.averageCpu,this.precision),this.updatePanel(this.gpuPanel,this.averageGpu,this.precision),this.gpuPanelCompute&&this.updatePanel(this.gpuPanelCompute,this.averageGpuCompute),this.frames=0,this.prevCpuTime=e,this.prevTime=e}return e}addToAverage(e,t){t.logs.push(e),t.logs.length>this.samplesLog&&t.logs.shift(),t.graph.push(e),t.graph.length>this.samplesGraph&&t.graph.shift()}beginProfiling(e){window.performance&&(window.performance.mark(e),this.isRunningCPUProfiling=!0)}endProfiling(e,t,n){if(window.performance&&t&&this.isRunningCPUProfiling){window.performance.mark(t);let r=performance.measure(n,e,t);this.totalCpuDuration+=r.duration,this.isRunningCPUProfiling=!1}}updatePanel(e,t,n=2){if(t.logs.length>0){let r=0,i=.01;for(let e=0;ei&&(i=t.logs[e]);let a=0,o=.01;for(let e=0;eo&&(o=t.graph[e]);e&&e.update(r/Math.min(t.logs.length,this.samplesLog),a/Math.min(t.graph.length,this.samplesGraph),i,o,n)}}get domElement(){return this.dom}patchThreeRenderer(e){let t=e.render,n=this;e.render=function(e,r){n.begin(),t.call(this,e,r),n.end()},this.threeRendererPatched=!0}};RK.Panel=LK;let zK=RK;const BK=Xt({name:`StatsGl`,props:[`logsPerSecond`,`samplesLog`,`samplesGraph`,`precision`,`horizontal`,`minimal`,`mode`],setup(e,{expose:t}){let n=new zK({logsPerSecond:e.logsPerSecond,samplesLog:e.samplesLog,samplesGraph:e.samplesGraph,precision:e.precision,horizontal:e.horizontal,minimal:e.minimal,mode:e.mode});t({instance:n});let r=document.body,i=n.dom||n.container;r?.appendChild(i);let{renderer:a}=be(),{onAfterRender:o}=T();n.init(a.value),o(()=>n.update(),1/0),dn(()=>{r?.removeChild(i)})}}),{logError:VK}=O(),HK=[`args`],UK=[`color`],WK=Xt({__name:`Box`,props:{args:{default:()=>[1,1,1]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{invalidate:r}=be(),{args:i,color:a}=tn(n);H(i,()=>r());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`boxRef`,ref:o},e.$attrs),[K(`TresBoxGeometry`,{args:W(i)},null,8,HK),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(a)},null,8,UK)])],16))}}),GK=[`object`],KK=Xt({__name:`Line2`,props:{points:{},vertexColors:{default:null},color:{default:`white`},lineWidth:{default:1},worldUnits:{type:Boolean,default:!1},alphaToCoverage:{type:Boolean,default:!1},dashed:{type:Boolean,default:!1},dashSize:{default:1},gapSize:{default:1},dashScale:{default:1},dashOffset:{default:0}},setup(e,{expose:t}){let n=e;function r(e,t){if(!e||e.length===0)return Array.from({length:t}).fill(D(n.color));if(e.length===1)return Array.from({length:t}).fill(D(e[0]));if(e.length===t)return e.map(D);let r=t-1,i=e.map(D);closed&&i.push(i[0].clone());let a=[i[0]],o=r/(i.length-1);for(let e=1;eArray.isArray(n.vertexColors));function u(e,t){e.color=D(t.color),e.linewidth=t.lineWidth,e.alphaToCoverage=t.alphaToCoverage,e.worldUnits=t.worldUnits,e.vertexColors=Array.isArray(t.vertexColors),e.dashed=t.dashed,e.dashScale=t.dashScale,e.dashSize=t.dashSize,e.dashOffset=t.dashOffset,e.gapSize=t.gapSize,e.needsUpdate=!0}function d(e,t,n){let i=t.map(e=>e instanceof L?[e.x,e.y,e.z]:e instanceof Ae?[e.x,e.y,0]:Array.isArray(e)&&e.length===2?[e[0],e[1],0]:e).flat();e.setPositions(i.flat());let a=r(n,t.length).map(e=>e.toArray()).flat();e.setColors(a),o.computeLineDistances()}u(i,n),d(a,n.points,n.vertexColors),o.computeLineDistances(),H(()=>[n.color,n.lineWidth,n.alphaToCoverage,n.worldUnits,l,n.dashed,n.dashScale,n.dashSize,n.dashOffset],()=>{u(i,n),c()}),H(()=>[n.points,n.vertexColors],()=>{d(a,n.points,n.vertexColors),c()}),H(()=>[s.height,s.width],()=>{i.resolution=new Ae(s.width.value,s.height.value),c()}),dn(()=>{a.dispose(),i.dispose()});let f=B();return t({instance:f}),(e,t)=>(U(),V(`primitive`,{ref:f.value,object:W(o)},null,8,GK))}}),qK=Xt({__name:`CatmullRomCurve3`,props:{segments:{default:20},closed:{type:Boolean,default:!1},curveType:{default:`centripetal`},tension:{default:.5},points:{},vertexColors:{},color:{},lineWidth:{},alphaToCoverage:{type:Boolean},dashed:{type:Boolean},dashSize:{},dashScale:{},dashOffset:{},gapSize:{},worldUnits:{type:Boolean}},setup(e,{expose:t}){let n=e;function r(e,t,n,r){let i=e.map(e=>e instanceof L?e:new L(...e));return new Le(i,t,n,r)}function i(e,t){return e.getPoints(t)}let a=yn(()=>r(n.points,n.closed,n.curveType,n.tension)),o=yn(()=>i(a.value,n.segments)),s=B();return t({instance:s}),(e,t)=>(U(),mn(KK,{ref:s.value,points:o.value,"vertex-colors":n.vertexColors,color:n.color,"line-width":n.lineWidth,"alpha-to-coverage":n.alphaToCoverage,dashed:n.dashed,"dash-size":n.dashSize,"dash-scale":n.dashScale,"dash-offset":n.dashOffset,"gap-size":n.gapSize,"world-units":n.worldUnits},null,8,[`points`,`vertex-colors`,`color`,`line-width`,`alpha-to-coverage`,`dashed`,`dash-size`,`dash-scale`,`dash-offset`,`gap-size`,`world-units`]))}}),JK=[`args`],YK=[`color`],XK=Xt({__name:`Circle`,props:{args:{default:()=>[1,32,0,Math.PI*2]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`circleRef`,ref:o},e.$attrs),[K(`TresCircleGeometry`,{args:W(r)},null,8,JK),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,YK)])],16))}}),ZK=[`args`],QK=[`color`],$K=Xt({__name:`Cone`,props:{args:{default:()=>[1,1,12,12,!1,0,Math.PI*2]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`coneRef`,ref:o},e.$attrs),[K(`TresConeGeometry`,{args:W(r)},null,8,ZK),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,QK)])],16))}}),eq=[`args`],tq=[`color`],nq=Xt({__name:`Cylinder`,props:{args:{default:()=>[1,1,1,32,1,!1,0,Math.PI*2]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`cylinderRef`,ref:o},e.$attrs),[K(`TresCylinderGeometry`,{args:W(r)},null,8,eq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,tq)])],16))}}),rq=[`args`],iq=[`color`],aq=Xt({__name:`Dodecahedron`,props:{args:{default:()=>[1,0]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),a=B(),{invalidate:o}=be();return H(r,()=>o()),t({instance:a}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`dodecahedronRef`,ref:a},e.$attrs),[K(`TresDodecahedronGeometry`,{args:W(r)},null,8,rq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,iq)])],16))}}),oq=[`args`],sq=[`color`],cq=Xt({__name:`Icosahedron`,props:{args:{default:()=>[1,0]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`icosahedronRef`,ref:o},e.$attrs),[K(`TresIcosahedronGeometry`,{args:W(r)},null,8,oq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,sq)])],16))}}),lq=[`args`],uq=[`color`],dq=Xt({__name:`Octahedron`,props:{args:{default:()=>[1,0]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`octahedronRef`,ref:o},e.$attrs),[K(`TresOctahedronGeometry`,{args:W(r)},null,8,lq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,uq)])],16))}}),fq=[`rotation`],pq=[`args`],mq=[`color`],hq=Xt({__name:`Plane`,props:{args:{default:()=>[1,1]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`planeRef`,ref:o,rotation:[-Math.PI/2,0,0]},e.$attrs),[K(`TresPlaneGeometry`,{args:W(r)},null,8,pq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,mq)])],16,fq))}}),gq=[`args`],_q=[`color`],vq=Xt({__name:`Ring`,props:{args:{default:()=>[.5,1,32]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`ringRef`,ref:o},e.$attrs),[K(`TresRingGeometry`,{args:W(r)},null,8,gq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,_q)])],16))}}),yq=[`args`],bq=[`color`],xq=Xt({__name:`RoundedBox`,props:{args:{default:()=>[1,1,1,2,.1]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a,extend:o}=be();o({RoundedBoxGeometry:OV}),H(r,()=>a());let s=B();return t({instance:s}),(e,t)=>(U(),V(`TresMesh`,{ref_key:`roundedBoxRef`,ref:s},[K(`TresRoundedBoxGeometry`,{args:W(r)},null,8,yq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,bq)])],512))}}),Sq=[`args`],Cq=[`color`],wq=Xt({__name:`Sphere`,props:{args:{default:()=>[2,32,16]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`sphereRef`,ref:o},e.$attrs),[K(`TresSphereGeometry`,{args:W(r)},null,8,Sq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,Cq)])],16))}}),Tq=[`geometry`],Eq=[`color`],Dq=Xt({__name:`Superformula`,props:{widthSegments:{default:32},heightSegments:{default:32},numArmsA:{default:4},expA:{default:()=>[40,1.3,.9]},numArmsB:{default:4},expB:{default:()=>[40,1.3,.9]},color:{default:`white`}},setup(e,{expose:t}){let n=e,{invalidate:r}=be(),{cos:i,sin:a,abs:o}=Math,s=B(),c=B(n.color);function l(e,t){let n=new yt,r=e*t,i=new Float32Array(Array.from({length:3*r}).fill(0)),a=new Float32Array(Array.from({length:3*r}).fill(0)),o=[];for(let n=0;nn.color,()=>c.value=n.color),H(()=>[n.widthSegments,n.heightSegments],()=>{s.value&&s.value.dispose(),s.value=l(n.widthSegments,n.heightSegments),r()},{immediate:!0}),H(()=>[n.numArmsA,n.expA[0],n.expA[1],n.expA[2],n.numArmsB,n.expB[0],n.expB[1],n.expB[2]],()=>{d(s.value,n.numArmsA,n.expA[0],n.expA[1],n.expA[2],n.numArmsB,n.expB[0],n.expB[1],n.expB[2],n.widthSegments,n.heightSegments),r()},{immediate:!0}),dn(()=>{s.value&&s.value.dispose()});let f=B();return t({instance:f}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`superformulaRef`,ref:f},e.$attrs,{geometry:s.value}),[hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:c.value},null,8,Eq)])],16,Tq))}}),Oq=[`rotation`],kq=[`args`],Aq=[`color`],jq=Xt({__name:`Tetrahedron`,props:{args:{default:()=>[1,0]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),a=B();return t({instance:a}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`tetrahedronRef`,ref:a,rotation:[-Math.PI/2,0,0]},e.$attrs),[K(`TresTetrahedronGeometry`,{args:W(r)},null,8,kq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,Aq)])],16,Oq))}}),Mq=[`args`],Nq=[`color`],Pq=Xt({__name:`Torus`,props:{args:{default:()=>[1,1,16,80]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`torusRef`,ref:o},e.$attrs),[K(`TresTorusGeometry`,{args:W(r)},null,8,Mq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,Nq)])],16))}}),Fq=[`args`],Iq=[`color`],Lq=Xt({__name:`TorusKnot`,props:{args:{default:()=>[1,.4,64,8]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`torusKnotRef`,ref:o},e.$attrs),[K(`TresTorusKnotGeometry`,{args:W(r)},null,8,Fq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,Iq)])],16))}}),Rq=[`args`],zq=[`color`],Bq=Xt({__name:`Tube`,props:{args:{default:()=>[new Re(new L(-1,0,0),new L(0,1,0),new L(1,0,0)),20,.2,8,!1]},color:{default:`#ffffff`}},setup(e,{expose:t}){let n=e,{args:r,color:i}=tn(n),{invalidate:a}=be();H(r,()=>a());let o=B();return t({instance:o}),(e,t)=>(U(),V(`TresMesh`,Sn({ref_key:`tubeRef`,ref:o},e.$attrs),[K(`TresTubeGeometry`,{args:W(r)},null,8,Rq),hn(e.$slots,`default`,{},()=>[K(`TresMeshBasicMaterial`,{color:W(i)},null,8,zq)])],16))}}),Vq=Xt({__name:`Align`,props:{top:{type:Boolean},right:{type:Boolean},bottom:{type:Boolean},left:{type:Boolean},front:{type:Boolean},back:{type:Boolean},disable:{type:Boolean},disableX:{type:Boolean},disableY:{type:Boolean},disableZ:{type:Boolean},precise:{type:Boolean,default:!0},onAlign:{},cacheKey:{default:void 0}},setup(e,{expose:t}){let n=e,r=B(),i=B(),a=B(),o=new _e,s=new L,c=new Ht;function l(){if(!i.value||!a.value||!r.value)return;i.value.matrixWorld.identity(),o.setFromObject(a.value,n.precise);let e=o.max.x-o.min.x,t=o.max.y-o.min.y,l=o.max.z-o.min.z;o.getCenter(s),o.getBoundingSphere(c);let u=n.top?t/2:n.bottom?-t/2:0,d=n.left?-e/2:n.right?e/2:0,f=n.front?l/2:n.back?-l/2:0;i.value.position.set(n.disable||n.disableX?0:-s.x+d,n.disable||n.disableY?0:-s.y+u,n.disable||n.disableZ?0:-s.z+f),typeof n.onAlign<`u`&&n.onAlign({parent:r.value.parent,container:r.value,width:e,height:t,depth:l,boundingBox:o,boundingSphere:c,center:s,verticalAlignment:u,horizontalAlignment:d,depthAlignment:f})}let u=null,d=null,f=T();return pn(()=>{u?.(),u=null;let e=cn(n.cacheKey);e===d&&d!=null||(d=e,n.cacheKey===null||n.cacheKey===void 0?u=f.onBeforeRender(()=>{l()}).off:l())}),t({instance:r,update:l}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`ref`,ref:r},[K(`TresGroup`,{ref_key:`outer`,ref:i},[K(`TresGroup`,{ref_key:`inner`,ref:a},[hn(e.$slots,`default`)],512)],512)],512))}}),Hq=[`receive-shadow`,`rotation`],Uq=[`args`],Wq=Xt({__name:`Backdrop`,props:{floor:{default:.25},segments:{default:20},receiveShadow:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=e,r=e=>e===0?0:2**(10*e-10),{floor:i,segments:a,receiveShadow:o}=tn(n),s=G(null);H([a,i,s],([e,t,n])=>{if(!n||e===null)return;let i=0,a=e/e/2,o=n.attributes.position;for(let n=0;n(U(),V(`TresGroup`,Sn({ref_key:`backdropRef`,ref:c},e.$attrs),[K(`TresMesh`,{"receive-shadow":W(o),rotation:[-Math.PI/2,0,Math.PI/2]},[K(`TresPlaneGeometry`,{ref_key:`planeRef`,ref:s,args:[1,1,W(a),W(a)]},null,8,Uq),hn(e.$slots,`default`,{},()=>[t[0]||=K(`TresMeshStandardMaterial`,{color:8421504,side:2},null,-1)])],8,Hq)],16))}}),Gq=[`object`],Kq=Xt({__name:`ContactShadows`,props:{opacity:{default:1},blur:{default:1},color:{default:`#000000`},tint:{default:void 0},scale:{default:10},width:{default:1},height:{default:1},far:{default:10},smooth:{type:Boolean,default:!0},resolution:{default:512},frames:{default:1/0},depthWrite:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=e;function r(e,t,n){n.blurPlane.visible=!0,n.blurPlane.material=n.horizontalBlurMaterial,n.horizontalBlurMaterial.uniforms.tDiffuse.value=n.renderTarget.texture,n.horizontalBlurMaterial.uniforms.h.value=e/256,t.setRenderTarget(n.renderTargetBlur),t.render(n.blurPlane,n.shadowCamera),n.blurPlane.material=n.verticalBlurMaterial,n.verticalBlurMaterial.uniforms.tDiffuse.value=n.renderTargetBlur.texture,n.verticalBlurMaterial.uniforms.v.value=e/256,t.setRenderTarget(n.renderTarget),t.render(n.blurPlane,n.shadowCamera),n.blurPlane.visible=!1}function i(e,t,n,i){let{renderTarget:a,shadowCamera:o,depthMaterial:s}=i,c=t.background;t.background=null,t.overrideMaterial=s;let l=n.getClearAlpha();n.setClearAlpha(0),n.setRenderTarget(a),n.render(t,o),t.overrideMaterial=null,r(e.blur,n,i),e.smooth&&r(e.blur*.4,n,i),n.setRenderTarget(null),n.setClearAlpha(l),t.background=c}function a(e){let t=new Tt,n=new ve(e.resolution,e.resolution);n.texture.generateMipmaps=!1;let r=new ve(e.resolution,e.resolution);r.texture.generateMipmaps=!1;let i=new Mt(e.width,e.height).rotateX(Math.PI/2),a=new Ie({map:n.texture,opacity:e.opacity,transparent:!0,depthWrite:e.depthWrite,color:new Ct(e.color??`black`)}),o=new z(i,a);t.add(o),o.scale.y=-1;let s=new z(i);s.visible=!1,t.add(s);let c=new le(-e.width/2,e.width/2,e.height/2,-e.height/2,0,.3);c.rotation.x=Math.PI/2,t.add(c);let l=new _t,u=new at(AV);u.depthTest=!1;let d=new at(jV);return d.depthTest=!1,{renderTarget:n,renderTargetBlur:r,shadowCamera:c,depthMaterial:l,horizontalBlurMaterial:u,verticalBlurMaterial:d,shadowGroup:t,plane:o,blurPlane:s}}function o(e,t){let n=t.shadowCamera;n.left=-e.width/2,n.right=e.width/2,n.top=e.height/2,n.bottom=-e.height/2,n.far=e.far;let r=e.width*(Array.isArray(e.scale)?e.scale[0]:e.scale||1),i=e.height*(Array.isArray(e.scale)?e.scale[1]:e.scale||1);t.shadowGroup.scale.set(r,e.far,i)}function s(e,t){t.renderTarget.dispose(),t.renderTargetBlur.dispose(),t.renderTarget=new ve(e,e),t.renderTarget.texture.generateMipmaps=!1,t.renderTargetBlur=new ve(e,e),t.renderTargetBlur.texture.generateMipmaps=!1,t.plane.material.map=t.renderTarget.texture}function c(e,t){t.plane.material.color=new Ct(e.color??`black`),t.depthMaterial.dispose(),t.depthMaterial=new _t,t.depthMaterial.onBeforeCompile=function(t){let n=e.tint?new Ct(e.tint):new Ct(`white`),{r,g:i,b:a}=n,o=t.fragmentShader.replace(`gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );`,`gl_FragColor = vec4( ${r}, ${i}, ${a}, ( 1.0 - fragCoordZ ) * opacity);`);t.fragmentShader=o}}let{onBeforeRender:l}=T(),u=a(n),d=0,f=()=>d=d>=n.frames?n.frames-1:d;return l(({renderer:e,scene:t,invalidate:r})=>{d[n.opacity,n.depthWrite,n.blur,n.smooth],()=>{u.plane.material.opacity=n.opacity??1,u.plane.material.depthWrite=n.depthWrite??!1,f()},{immediate:!0}),H(()=>[n.color,n.tint],()=>{c(n,u),f()},{immediate:!0}),H(()=>[n.resolution],()=>{s(n.resolution,u),f()}),H(()=>[n.width,n.height,n.scale,n.far],()=>{o(n,u),f()},{immediate:!0}),dn(()=>{for(let e of Object.values(u))e&&`dispose`in e&&typeof e.dispose==`function`&&e.dispose()}),t({instance:u.shadowGroup}),(e,t)=>(U(),V(`primitive`,{object:W(u).shadowGroup},null,8,Gq))}}),qq=Xt({__name:`Fit`,props:{into:{default:()=>new _e(new L(-.5,-.5,-.5),new L(.5,.5,.5))},precise:{type:Boolean,default:!1}},setup(e,{expose:t}){let n=e,{invalidate:r}=be(),i=B(new Tt),a=B(new Tt);function o(e,t){if(i.value.position.set(0,0,0),i.value.updateMatrixWorld(),a.value.scale.set(1,1,1),a.value.updateMatrixWorld(),!a.value.children.length||e===null)return;let{box3:n,use:o}=s(e,t),c=new _e;a.value.children.forEach(e=>c.expandByObject(e,t));let l=c.getSize(new L),u=n.getSize(new L),d=Math.min(u.x/l.x,u.y/l.y,u.z/l.z);a.value.scale.setScalar(d===1/0?1:d),a.value.updateMatrixWorld();let f=i.value.worldToLocal(c.getCenter(new L));if(o.position){let e=i.value.worldToLocal(n.getCenter(new L));i.value.position.copy(e.sub(f.multiplyScalar(d)))}else i.value.position.copy(f.sub(f.multiplyScalar(d)));r()}function s(e,t){return typeof e==`number`?e=new L(e,e,e):Array.isArray(e)&&(e=new L(...e)),e&&`isVector3`in e&&e.isVector3?{box3:new _e(new L(0,0,0),e),use:{position:!1}}:e&&`isBox3`in e&&e.isBox3?{box3:e,use:{position:!0}}:e&&`isObject3D`in e&&e.isObject3D?{box3:new _e().setFromObject(e,t??!1),use:{position:!0}}:{box3:new _e(new L(-.5,-.5,-.5),new L(.5,.5,.5)),use:{position:!0}}}H(()=>[n.into,n.precise],()=>o(n.into,n.precise)),Jt(()=>{o(n.into,n.precise),Yt().then(()=>{o(n.into,n.precise)})});let c=B();return t({instance:c,fit:(e=new _e(new L(-.5,-.5,-.5),new L(.5,.5,.5)),t=!1)=>{o(e,t)},update:()=>o(n.into,n.precise)}),(e,t)=>(U(),V(`TresGroup`,{ref_key:`outer`,ref:c},[K(`TresGroup`,{ref_key:`middle`,ref:i},[K(`TresGroup`,{ref_key:`inner`,ref:a},[hn(e.$slots,`default`)],512)],512)],512))}}),Jq=[`side`,`cell-size`,`section-size`,`cell-color`,`section-color`,`cell-thickness`,`section-thickness`,`fade-distance`,`fade-strength`,`fade-from`,`infinite-grid`,`follow-camera`],Yq=[`args`],Xq=Xt({__name:`Grid`,props:{cellSize:{default:.5},cellThickness:{default:.5},cellColor:{default:`#000000`},sectionSize:{default:1},sectionThickness:{default:1},sectionColor:{default:`#0000ff`},followCamera:{type:Boolean,default:!1},infiniteGrid:{type:Boolean,default:!1},fadeDistance:{default:100},fadeStrength:{default:1},fadeFrom:{default:1},side:{default:P},args:{}},setup(e){let t=e,n=JR({cellSize:.5,sectionSize:1,fadeDistance:100,fadeStrength:1,fadeFrom:1,cellThickness:.5,sectionThickness:1,cellColor:new Ct,sectionColor:new Ct,infiniteGrid:!1,followCamera:!1,worldCamProjPosition:new L,worldPlanePosition:new L},` + varying vec3 localPosition; + varying vec4 worldPosition; + + uniform vec3 worldCamProjPosition; + uniform vec3 worldPlanePosition; + uniform float fadeDistance; + uniform bool infiniteGrid; + uniform bool followCamera; + + void main() { + localPosition = position.xzy; + if (infiniteGrid) localPosition *= 1.0 + fadeDistance; + + worldPosition = modelMatrix * vec4(localPosition, 1.0); + if (followCamera) { + worldPosition.xyz += (worldCamProjPosition - worldPlanePosition); + localPosition = (inverse(modelMatrix) * worldPosition).xyz; + } + + gl_Position = projectionMatrix * viewMatrix * worldPosition; + } + `,` + varying vec3 localPosition; + varying vec4 worldPosition; + + uniform vec3 worldCamProjPosition; + uniform float cellSize; + uniform float sectionSize; + uniform vec3 cellColor; + uniform vec3 sectionColor; + uniform float fadeDistance; + uniform float fadeStrength; + uniform float fadeFrom; + uniform float cellThickness; + uniform float sectionThickness; + + float getGrid(float size, float thickness) { + vec2 r = localPosition.xz / size; + vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r); + float line = min(grid.x, grid.y) + 1.0 - thickness; + return 1.0 - min(line, 1.0); + } + + void main() { + float g1 = getGrid(cellSize, cellThickness); + float g2 = getGrid(sectionSize, sectionThickness); + + vec3 from = worldCamProjPosition*vec3(fadeFrom); + float dist = distance(from, worldPosition.xyz); + float d = 1.0 - min(dist / fadeDistance, 1.0); + vec3 color = mix(cellColor, sectionColor, min(1.0, sectionThickness * g2)); + + gl_FragColor = vec4(color, (g1 + g2) * pow(d, fadeStrength)); + gl_FragColor.a = mix(0.75 * gl_FragColor.a, gl_FragColor.a, g2); + if (gl_FragColor.a <= 0.0) discard; + + #include + #include + } + `);A({GridMaterial:n});let r=B(new z),i=new qt,a=new L(0,1,0),o=new L(0,0,0);return T().onBeforeRender(e=>{i.setFromNormalAndCoplanarPoint(a,o).applyMatrix4(r.value.matrixWorld);let t=r.value.material,n=t.uniforms.worldCamProjPosition,s=t.uniforms.worldPlanePosition;i.projectPoint(e.camera.position,n.value),s.value.set(0,0,0).applyMatrix4(r.value.matrixWorld)}),(e,n)=>(U(),V(`TresMesh`,{ref_key:`ref`,ref:r,"frustum-culled":!1},[K(`TresGridMaterial`,{transparent:!0,"extensions-derivatives":!0,side:t.side,"cell-size":t.cellSize,"section-size":t.sectionSize,"cell-color":t.cellColor,"section-color":t.sectionColor,"cell-thickness":t.cellThickness,"section-thickness":t.sectionThickness,"fade-distance":t.fadeDistance,"fade-strength":t.fadeStrength,"fade-from":t.fadeFrom,"infinite-grid":t.infiniteGrid,"follow-camera":t.followCamera},null,8,Jq),K(`TresPlaneGeometry`,{args:t.args},null,8,Yq)],512))}}),Zq=[`rotation-x`,`args`],Qq=Xt({__name:`Ocean`,props:{textureWidth:{default:512},textureHeight:{default:512},waterNormals:{default:`https://raw.githubusercontent.com/Tresjs/assets/main/textures/water-normals/Water_1_M_Normal.jpg`},sunDirection:{default:()=>new L},sunColor:{default:16777215},waterColor:{default:7695},distortionScale:{default:3.7},size:{default:1},clipBias:{default:0},alpha:{default:1},side:{default:He}},async setup(e,{expose:t}){let n,r,i=e,{textureWidth:a,textureHeight:o,waterNormals:s,sunDirection:c,sunColor:l,waterColor:u,distortionScale:d,size:f,clipBias:p,alpha:m,side:h}=tn(i),{extend:g,scene:_}=be();g({Water:FB});let v=B(),y=B(),b=_.value.fog!==void 0;t({instance:v}),_.value.traverse(e=>{Object.prototype.hasOwnProperty.call(e,`isSky`)&&(y.value=e)}),Jt(async()=>{if(await Yt(),y.value){let e=y.value.material.uniforms.sunPosition.value;v.value.material.uniforms.sunDirection.value.copy(e)}});let{normalMap:x}=([n,r]=_n(()=>E({normalMap:s.value})),n=await n,r(),n);x.wrapS=x.wrapT=fe;let{onBeforeRender:S}=T();return S(({delta:e,invalidate:t})=>{v.value.material.uniforms.time.value+=e,t()}),(e,t)=>(U(),V(`TresWater`,{ref_key:`waterRef`,ref:v,"rotation-x":-Math.PI/2,args:[void 0,{textureWidth:W(a),textureHeight:W(o),waterNormals:W(x),sunDirection:W(c),sunColor:W(l),waterColor:W(u),distortionScale:W(d),fog:b,size:W(f),clipBias:W(p),alpha:W(m),side:W(h)}]},[hn(e.$slots,`default`,{},()=>[t[0]||=K(`TresPlaneGeometry`,{args:[1e4,1e4]},null,-1)])],8,Zq))}}),$q=[`size`,`color`,`alpha-map`,`map`,`opacity`,`alpha-test`,`depth-write`,`transparent`,`size-attenuation`],eJ=[`position`,`velocity`],tJ=Xt({__name:`Precipitation`,props:{size:{default:.1},area:{default:()=>[10,10,20]},color:{default:16777215},map:{},alphaMap:{},alphaTest:{default:.01},opacity:{default:.8},count:{default:5e3},speed:{default:.1},randomness:{default:.5},depthWrite:{type:Boolean,default:!1},transparent:{type:Boolean,default:!0},sizeAttenuation:{type:Boolean,default:!0}},setup(e,{expose:t}){let n=e,{size:r,area:i,color:a,alphaMap:o,map:s,opacity:c,alphaTest:l,depthWrite:u,transparent:d,sizeAttenuation:f,count:p,speed:m,randomness:h}=tn(n),g=B(),_=[],v=[],y=()=>{_=new Float32Array(p.value*3);for(let e=0;e{v=new Float32Array(p.value*2);for(let e=0;e{b(),y()});let x=B(null),S=B(null);pn(async()=>{pn(async()=>{if(typeof o.value==`string`){let e=await E({alphaMap:o.value});x.value=e.alphaMap}else x.value=o.value??null;if(typeof s.value==`string`){let e=await E({map:s.value});S.value=e.map}else S.value=s.value??null})});let{onBeforeRender:C}=T();C(({invalidate:e})=>{var t,n;if((t=g.value)!=null&&t.attributes.position.array&&(n=g.value)!=null&&n.attributes.position.count){let t=g.value.attributes.position.array;for(let e=0;e=i.value[0]/2)&&(t[e*3]=t[e*3]*-1),(t[e*3+1]<=-i.value[1]/2||t[e*3+1]>=i.value[1]/2)&&(t[e*3+1]=t[e*3+1]*-1)}g.value.attributes.position.needsUpdate=!0,e()}});let w=B();return t({instance:w}),(e,t)=>(U(),V(`TresPoints`,{ref_key:`pointsRef`,ref:w},[K(`TresPointsMaterial`,{size:W(r),color:W(a),"alpha-map":x.value,map:S.value,opacity:W(c),"alpha-test":W(l),"depth-write":W(u),transparent:W(d),"size-attenuation":W(f)},null,8,$q),K(`TresBufferGeometry`,{ref_key:`geometryRef`,ref:g,position:[W(_),3],velocity:[W(v)]},null,8,eJ)],512))}}),nJ=[`object`,`material-uniforms-turbidity-value`,`material-uniforms-rayleigh-value`,`material-uniforms-mieCoefficient-value`,`material-uniforms-mieDirectionalG-value`,`material-uniforms-sunPosition-value`,`scale`],rJ=Xt({__name:`Sky`,props:{turbidity:{default:3.4},rayleigh:{default:3},mieCoefficient:{default:.005},mieDirectionalG:{default:.7},elevation:{default:.6},azimuth:{default:180},distance:{default:45e4}},setup(e,{expose:t}){let n=e,{invalidate:r}=be();H(n,()=>r());let i=B(),a=new VB,o=yn(()=>s(n.azimuth,n.elevation));function s(e,t){let n=we.degToRad(90-t),r=we.degToRad(e);return new L().setFromSphericalCoords(1,n,r)}return t({instance:i,sunPosition:o.value}),(e,t)=>(U(),V(`primitive`,{ref_key:`skyRef`,ref:i,object:W(a),"material-uniforms-turbidity-value":n.turbidity,"material-uniforms-rayleigh-value":n.rayleigh,"material-uniforms-mieCoefficient-value":n.mieCoefficient,"material-uniforms-mieDirectionalG-value":n.mieDirectionalG,"material-uniforms-sunPosition-value":o.value,scale:n.distance},null,8,nJ))}}),iJ=[`position`],aJ=[`position`],oJ=[`scale`],sJ=[`map`,`depth-test`,`color-space`,`color`,`opacity`],cJ=Xt({__name:`Smoke`,props:{color:{default:`#ffffff`},opacity:{default:.5},speed:{default:.4},width:{default:10},depth:{default:1.5},segments:{default:20},texture:{default:`https://raw.githubusercontent.com/Tresjs/assets/main/textures/clouds/defaultCloud.png`},depthTest:{type:Boolean,default:!0}},async setup(e,{expose:t}){let n,r,i=e,{width:a,depth:o,segments:s,texture:c,color:l,depthTest:u,opacity:d,speed:f}=tn(i),p=B(),m=B();t({instance:p});let h=[s].map((e,t)=>({x:a.value/2-Math.random()*a.value,y:a.value/2-Math.random()*a.value,scale:.4+Math.sin((t+1)/s.value*Math.PI)*((.2+Math.random())*10),density:Math.max(.2,Math.random()),rotation:Math.max(.002,.005*Math.random())*f.value})),g=(e,t)=>e/6*t*d.value,{map:_}=([n,r]=_n(()=>E({map:c.value})),n=await n,r(),n),{renderer:v,camera:y}=be(),b=yn(()=>{var e;return(e=v.value)?.outputColorSpace}),{onBeforeRender:x}=T();return x(({invalidate:e})=>{var t,n;p.value&&y.value&&m.value&&((t=m.value)==null||t.children.forEach((e,t)=>{e.rotation.z+=h[t].rotation}),p.value.lookAt((n=y.value)?.position),e())}),(e,t)=>(U(),V(`TresGroup`,Sn({ref_key:`smokeRef`,ref:p},e.$attrs),[K(`TresGroup`,{ref_key:`groupRef`,ref:m,position:[0,0,W(s)/2*W(o)]},[(U(!0),V(vn,null,fn(W(h),({scale:e,x:t,y:n,density:r},i)=>(U(),V(`TresMesh`,{key:`${i}`,position:[t,n,-i*W(o)]},[K(`TresPlaneGeometry`,{scale:[e,e,e],rotation:[0,0,0]},null,8,oJ),K(`TresMeshStandardMaterial`,{map:W(_),"depth-test":W(u),"color-space":b.value,color:W(l),"depth-write":!1,transparent:``,opacity:g(e,r)},null,8,sJ)],8,aJ))),128))],8,iJ)],16))}}),lJ=` +return PCSS( shadowMap, shadowCoord ); +`,uJ=Xt({__name:`SoftShadows`,props:{size:{default:25},samples:{default:10},focus:{default:0}},setup(e){let t=e,n=({focus:e=0,size:t=25,samples:n=10}={})=>` +#define PENUMBRA_FILTER_SIZE float(${t}) +#define RGB_NOISE_FUNCTION(uv) (randRGB(uv)) +vec3 randRGB(vec2 uv) { + return vec3( + fract(sin(dot(uv, vec2(12.75613, 38.12123))) * 13234.76575), + fract(sin(dot(uv, vec2(19.45531, 58.46547))) * 43678.23431), + fract(sin(dot(uv, vec2(23.67817, 78.23121))) * 93567.23423) + ); +} + +vec3 lowPassRandRGB(vec2 uv) { + // 3x3 convolution (average) + // can be implemented as separable with an extra buffer for a total of 6 samples instead of 9 + vec3 result = vec3(0); + result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, -1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, 0.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, +1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, -1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, 0.0)); + result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, +1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, -1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, 0.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, +1.0)); + result *= 0.111111111; // 1.0 / 9.0 + return result; +} +vec3 highPassRandRGB(vec2 uv) { + // by subtracting the low-pass signal from the original signal, we're being left with the high-pass signal + // hp(x) = x - lp(x) + return RGB_NOISE_FUNCTION(uv) - lowPassRandRGB(uv) + 0.5; +} + + +vec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) { + const float goldenAngle = 2.399963f; // radians + float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount)); + float theta = float(sampleIndex) * goldenAngle + angle; + float sine = sin(theta); + float cosine = cos(theta); + return vec2(cosine, sine) * r; +} +float penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation + return (zReceiver - zBlocker) / zBlocker; +} +float findBlocker(sampler2D shadowMap, vec2 uv, float compare, float angle) { + float texelSize = 1.0 / float(textureSize(shadowMap, 0).x); + float blockerDepthSum = float(${e}); + float blockers = 0.0; + + int j = 0; + vec2 offset = vec2(0.); + float depth = 0.; + + #pragma unroll_loop_start + for(int i = 0; i < ${n}; i ++) { + offset = (vogelDiskSample(j, ${n}, angle) * texelSize) * 2.0 * PENUMBRA_FILTER_SIZE; + depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset)); + if (depth < compare) { + blockerDepthSum += depth; + blockers++; + } + j++; + } + #pragma unroll_loop_end + + if (blockers > 0.0) { + return blockerDepthSum / blockers; + } + return -1.0; +} + + +float vogelFilter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius, float angle) { + float texelSize = 1.0 / float(textureSize(shadowMap, 0).x); + float shadow = 0.0f; + int j = 0; + vec2 vogelSample = vec2(0.0); + vec2 offset = vec2(0.0); + #pragma unroll_loop_start + for (int i = 0; i < ${n}; i++) { + vogelSample = vogelDiskSample(j, ${n}, angle) * texelSize; + offset = vogelSample * (1.0 + filterRadius * float(${t})); + shadow += step( zReceiver, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) ); + j++; + } + #pragma unroll_loop_end + return shadow * 1.0 / ${n}.0; +} + +float PCSS (sampler2D shadowMap, vec4 coords) { + vec2 uv = coords.xy; + float zReceiver = coords.z; // Assumed to be eye-space z in this code + float angle = highPassRandRGB(gl_FragCoord.xy).r * PI2; + float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver, angle); + if (avgBlockerDepth == -1.0) { + return 1.0; + } + float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth); + return vogelFilter(shadowMap, uv, zReceiver, 1.25 * penumbraRatio, angle); +}`,r=xe.shadowmap_pars_fragment,{renderer:i,scene:a,camera:o}=w();function s(e,t){let i=r;i=i.replace(`#ifdef USE_SHADOWMAP`,`#ifdef USE_SHADOWMAP + ${n(t)}`),i=i.replace(`#if defined( SHADOWMAP_TYPE_PCF )`,`${lJ} + #if defined( SHADOWMAP_TYPE_PCF )`),xe.shadowmap_pars_fragment=i,e.shadowMap.enabled=!0}function c(e,t,n){t.traverse(t=>{var n,r;`material`in t&&t.material&&(e.properties.remove(t.material),typeof t.material==`object`&&`dispose`in t.material&&typeof t.material.dispose==`function`&&((r=(n=t.material).dispose)==null||r.call(n)))}),e.info.programs&&(e.info.programs.length=0),e.compile(t,n)}return dn(()=>{o.value&&(xe.shadowmap_pars_fragment=r,c(i.value,a.value,o.value))}),H(t,()=>{o.value&&(s(i.value,t),c(i.value,a.value,o.value))},{immediate:!0}),(e,t)=>(U(),V(`TresGroup`))}});var dJ=class extends wt{constructor(){super(),dR(this,`virtualScene`,null),this.virtualScene=new je}add(...e){return this.virtualScene.add(...e),this}dispose(){this.virtualScene.traverse(e=>{e instanceof z&&(e.geometry.dispose(),e.material.dispose(),e.material.map&&e.material.map.dispose(),this.virtualScene.remove(e))}),this.virtualScene=null}};const fJ=Xt({__name:`component`,props:{background:{type:[Boolean,String],default:!1},blur:{default:0},files:{default:()=>[]},path:{default:``},preset:{default:void 0},resolution:{default:256},near:{default:1},far:{default:1e3},frames:{default:1/0},backgroundIntensity:{default:1},backgroundRotation:{},environmentIntensity:{default:1},environmentRotation:{},syncMaterials:{type:Boolean}},async setup(e,{expose:t}){let n,r,i=e,a=G(null);t({texture:a});let{extend:o,renderer:s,scene:c}=be();o({EnvironmentScene:dJ});let l=null,u=G(null),d=null,f=G(null),p=([n,r]=_n(()=>DU(i,u)),n=await n,r(),n),{onBeforeRender:m}=T(),h=1;m(()=>{if(d&&f.value&&u.value&&(i.frames===1/0||h{if(e&&t!=null&&t.virtualScene){let n=rn(t).virtualScene,r=n.children.find(e=>e instanceof z&&e.userData.isEnvironment);r||(r=new z(new Fe(1,1,1),new Ie({side:P})),r.userData.isEnvironment=!0,n.add(r)),n.background=e,n.backgroundBlurriness=i.blur}},{immediate:!0});let g=e=>{e&&l!=null&&l.length?(c.value.environment=e.texture,i.background&&(c.value.background=e.texture)):p.value&&(c.value.environment=p.value,i.background&&(c.value.background=p.value))};return H(p,()=>{u.value&&g(u.value)},{immediate:!0,deep:!0}),H(()=>xn().default,e=>{var t;if(e&&(l=e(),Array.isArray(l)&&l.length>0)){o({EnvironmentScene:dJ}),u.value=new ot(i.resolution),u.value.texture.type=j,d=new ke(i.near,i.far,u.value),g(u.value);return}(t=u.value)==null||t.dispose(),u.value=null,g()},{immediate:!0,deep:!0}),a.value=p.value,dn(()=>{var e,t;(e=f.value)==null||e.dispose(),(t=u.value)==null||t.dispose()}),(e,t)=>u.value?(U(),V(`TresEnvironmentScene`,{key:0,ref_key:`environmentScene`,ref:f},[hn(e.$slots,`default`)],512)):Zt(``,!0)}}),pJ={key:0,args:[0,1,64]},mJ={key:1,args:[.5,1,64]},hJ={key:2},gJ=[`tone-mapped`,`map`,`side`,`color`],_J=Xt({__name:`index`,props:{args:{default:null},form:{default:`rect`},toneMapped:{type:Boolean,default:!1},map:{default:null},intensity:{default:1},color:{default:new Ct(16777215)}},setup(e,{expose:t}){let n=e,r=G(),i=G();return pn(()=>{r.value&&(r.value.color.copy(new Ct(n.color)),r.value.color.multiplyScalar(n.intensity),r.value.needsUpdate=!0)}),t({mesh:i}),(e,t)=>(U(),V(`TresMesh`,{ref_key:`mesh`,ref:i},[e.form===`circle`?(U(),V(`TresRingGeometry`,pJ)):e.form===`ring`?(U(),V(`TresRingGeometry`,mJ)):e.form===`rect`?(U(),V(`TresPlaneGeometry`,hJ)):(U(),mn(n.form,{key:3,args:e.args},null,8,[`args`])),K(`TresMeshBasicMaterial`,{ref_key:`material`,ref:r,"tone-mapped":e.toneMapped,map:e.map,side:W(ie),color:e.color},null,8,gJ)],512))}});var vJ=Xt({__name:`Model`,props:{model:{},idleAnimation:{},loadAnimations:{},position:{},paused:{type:Boolean}},emits:[`loadModelProgress`,`error`],setup(e,{expose:t,emit:n}){let r=e,i=n,a,o=G(),s=G(),{scene:c}=be(),{onBeforeRender:l}=T(),u=Vn(),d=Rn(),f=G();H(()=>r.position,([e,t,n])=>{o.value&&o.value.scene.position.set(e,t,n)}),Jt(async()=>{if(c.value)try{let e=await Ln(r.model,{scene:c.value,lookAt:!0,position:r.position,onProgress:e=>i(`loadModelProgress`,Number.parseFloat((100*(e.loaded/e.total)).toFixed(2)))});if(!e){console.warn(`No VRM model loaded`);return}let t=await zn(r.idleAnimation),n=await Bn(e,t);if(!n){console.warn(`No VRM animation loaded`);return}s.value=new De(e.scene),s.value.clipAction(n).play(),f.value=In(e),o.value=e,a=l(({delta:e})=>{s.value?.update(e),o.value?.update(e),u.update(o.value,e),d.update(o.value,e),f.value?.update(e)}).off}catch(e){i(`error`,e)}}),dn(()=>{a?.(),o.value&&(o.value.scene.removeFromParent(),Hn.deepDispose(o.value.scene))}),t({setExpression(e){f.value?.setEmotionWithResetAfter(e,1e3)}});let{pause:p,resume:m}=T();return H(()=>r.paused,e=>{e?p():m()}),(e,t)=>hn(e.$slots,`default`)}}),yJ=vJ;const bJ=[`position`],xJ={absolute:``,bottom:`3`,right:`3`},SJ={flex:`~ row`,"cursor-pointer":``},CJ=[`checked`,`aria-checked`],wJ={key:0,"min-w":`50vw`,z:`{h.value?.setExpression(e)}}),(e,t)=>(U(),mn(s,{relative:``},{default:Qt(({height:e,width:n})=>[Cn(W(k),{alpha:!0,antialias:!0,width:n,height:e},{default:Qt(()=>[Cn(W(jW)),K(`TresPerspectiveCamera`,{position:[c.value,u.value,d.value]},null,8,bJ),t[14]||=K(`TresDirectionalLight`,{color:16777215,intensity:1.2,position:[1,1,1]},null,-1),t[15]||=K(`TresAmbientLight`,{color:16777215,intensity:1.5},null,-1),Cn(yJ,{ref_key:`modelRef`,ref:h,model:r.model,"idle-animation":r.idleAnimation,position:[f.value,p.value,m.value],paused:r.paused,onLoadModelProgress:t[0]||=e=>i(`loadModelProgress`,e),onError:t[1]||=e=>i(`error`,e)},null,8,[`model`,`idle-animation`,`position`,`paused`])]),_:2,__:[14,15]},1032,[`width`,`height`]),K(`div`,xJ,[K(`div`,SJ,[K(`label`,{class:Dn([a.value?`bg-neutral-300 dark:bg-neutral-200`:`bg-neutral-100 dark:bg-neutral-700`]),transition:`all ease-in-out duration-500`,text:`lg neutral-500 dark:neutral-400`,"m-1":``,"h-fit":``,"w-fit":``,"cursor-pointer":``,"appearance-none":``,"gap-1":``,"rounded-lg":``,"rounded-md":``,"border-none":``,"p-2":``,"outline-none":``},[gn(K(`input`,{"onUpdate:modelValue":t[2]||=e=>a.value=e,checked:a.value,"aria-checked":a.value,name:`showLive2DViewerInspector`,type:`checkbox`,"appearance-none":``,"outline-none":``,hidden:``},null,8,CJ),[[bt,a.value]]),t[16]||=K(`div`,{"select-none":``},[K(`div`,{"i-solar:bug-bold-duotone":``})],-1)],2)]),Cn(W(g),null,{default:Qt(()=>[a.value?(U(),V(`div`,wJ,[K(`div`,TJ,[K(`div`,EJ,[K(`span`,null,En(W(_)(`stage.viewers.debug-menu.vrm.model.title`)),1)]),Cn(l,{"h-fit":``,"w-full":``,flex:`~ col`,border:`~ gray/25 rounded-lg`,divide:`y dashed gray/25`,"of-clip":``,"shadow-sm":``},{label:Qt(()=>[K(`span`,DJ,En(W(_)(`stage.viewers.debug-menu.vrm.camera`)),1)]),default:Qt(()=>[K(`div`,OJ,[t[17]||=K(`div`,{text:`neutral-400 dark:neutral-500`},[K(`span`,null,`X`)],-1),K(`label`,kJ,[Cn(Yn,{modelValue:c.value,"onUpdate:modelValue":t[3]||=e=>c.value=e,min:-10,max:10,step:.01},null,8,[`modelValue`])]),K(`div`,AJ,[K(`span`,null,En(c.value),1)]),t[18]||=K(`div`,{text:`neutral-400 dark:neutral-500`},[K(`span`,null,`Y`)],-1),K(`label`,jJ,[Cn(Yn,{modelValue:u.value,"onUpdate:modelValue":t[4]||=e=>u.value=e,min:-10,max:10,step:.01},null,8,[`modelValue`])]),K(`div`,MJ,[K(`span`,null,En(u.value),1)]),t[19]||=K(`div`,{text:`neutral-400 dark:neutral-500`},[K(`span`,null,`Z`)],-1),K(`label`,NJ,[Cn(Yn,{modelValue:d.value,"onUpdate:modelValue":t[5]||=e=>d.value=e,min:-10,max:10,step:.01},null,8,[`modelValue`])]),K(`div`,PJ,[K(`span`,null,En(d.value),1)])])]),_:1}),Cn(l,{"h-fit":``,"w-full":``,flex:`~ col`,border:`~ gray/25 rounded-lg`,divide:`y dashed gray/25`,"of-clip":``,"shadow-sm":``},{label:Qt(()=>[K(`span`,FJ,En(W(_)(`stage.viewers.debug-menu.vrm.model.title`)),1)]),default:Qt(()=>[K(`div`,IJ,[t[20]||=K(`div`,{text:`neutral-400 dark:neutral-500`},[K(`span`,null,`X`)],-1),K(`label`,LJ,[Cn(Yn,{modelValue:f.value,"onUpdate:modelValue":t[6]||=e=>f.value=e,min:-10,max:10,step:.01},null,8,[`modelValue`])]),K(`div`,RJ,[K(`span`,null,En(f.value),1)]),t[21]||=K(`div`,{text:`neutral-400 dark:neutral-500`},[K(`span`,null,`Y`)],-1),K(`label`,zJ,[Cn(Yn,{modelValue:p.value,"onUpdate:modelValue":t[7]||=e=>p.value=e,min:-10,max:10,step:.01},null,8,[`modelValue`])]),K(`div`,BJ,[K(`span`,null,En(p.value),1)]),t[22]||=K(`div`,{text:`neutral-400 dark:neutral-500`},[K(`span`,null,`Z`)],-1),K(`label`,VJ,[Cn(Yn,{modelValue:m.value,"onUpdate:modelValue":t[8]||=e=>m.value=e,min:-10,max:10,step:.01},null,8,[`modelValue`])]),K(`div`,HJ,[K(`span`,null,En(m.value),1)])])]),_:1}),K(`div`,UJ,[K(`span`,null,En(W(_)(`stage.viewers.debug-menu.emotions`)),1)]),K(`div`,WJ,[K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:t[9]||=e=>h.value?.setExpression(`neutral`)},En(W(_)(`stage.viewers.debug-menu.emotions-btn.neutral`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:t[10]||=e=>h.value?.setExpression(`surprised`)},En(W(_)(`stage.viewers.debug-menu.emotions-btn.surprised`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:t[11]||=e=>h.value?.setExpression(`sad`)},En(W(_)(`stage.viewers.debug-menu.emotions-btn.sad`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:t[12]||=e=>h.value?.setExpression(`angry`)},En(W(_)(`stage.viewers.debug-menu.emotions-btn.angry`)),1),K(`button`,{"rounded-lg":``,bg:`neutral-100/70 dark:neutral-800/50`,"px-2":``,"py-1":``,"backdrop-blur-sm":``,onClick:t[13]||=e=>h.value?.setExpression(`happy`)},En(W(_)(`stage.viewers.debug-menu.emotions-btn.happy`)),1)])])])):Zt(``,!0)]),_:1})])]),_:1}))}}),KJ=GJ;const qJ={relative:``},JJ={"h-full":``,"w-full":``};var YJ=Xt({__name:`Stage`,props:{paused:{type:Boolean,default:!1},focusAt:{},xOffset:{},yOffset:{},scale:{default:1}},setup(o){let s=G(),c=G(),{stageView:l}=d(We()),{mouthOpenSize:u}=d(i()),{audioContext:f,calculateVolume:p}=r(),{onBeforeMessageComposed:m,onBeforeSend:h,onTokenLiteral:g,onTokenSpecial:x,onStreamEnd:S,onAssistantResponseEnd:C}=Tn(),w=Fn(),T=G(),E=G(!1),D=G(!1),O=n({handlers:[e=>new Promise(t=>{let n=f.createBufferSource();n.buffer=e.data.audioBuffer,n.connect(f.destination),n.connect(T.value),E.value=!0,n.start(0),n.onended=()=>{E.value=!1,t()}})]}),k=Pn(),{ssmlEnabled:A,activeSpeechProvider:j,activeSpeechModel:M,activeSpeechVoice:N,pitch:ee}=d(k);async function P(e){try{if(!j.value){console.warn(`No active speech provider configured`);return}if(!N.value){console.warn(`No active speech voice configured`);return}let t=w.getProviderInstance(j.value);if(!t){console.error(`Failed to initialize speech provider`);return}let n=w.getProviderConfig(j.value),r=A.value?k.generateSSML(e.data,N.value,{...n,pitch:ee.value}):e.data,i=await a({...t.speech(M.value,n),input:r,voice:N.value.id}),o=await f.decodeAudioData(i);await O.add({audioBuffer:o,text:e.data})}catch(e){console.error(`Speech generation failed:`,e)}}let F=n({handlers:[P]});F.on(`add`,e=>{console.debug(`ttsQueue added`,e)});let I=e(F),{live2dCurrentMotion:te}=d(We()),ne=n({handlers:[async e=>{if(l.value===`3d`){let t=b[e.data];if(!t)return;await c.value.setExpression(t)}else l.value===`2d`&&(te.value={group:y[e.data]})}]}),L=t(ne);L.onHandlerEvent(`emotion`,e=>{console.debug(`emotion detected`,e)});let re=Kn();re.onHandlerEvent(`delay`,e=>{console.debug(`delay detected`,e)});function R(){requestAnimationFrame(R),E.value&&(u.value=p(T.value,`linear`))}function ie(){D.value||(R(),f.resume(),D.value=!0)}function ae(){T.value||=f.createAnalyser()}return m(async()=>{ae(),ie()}),h(async()=>{te.value={group:v}}),g(async e=>{await I.add(e)}),x(async e=>{await re.add(e),await L.add(e)}),S(async()=>{await re.add(_)}),C(async e=>{}),dn(()=>{D.value=!1}),Jt(async()=>{s.value=cR({connection:{bundles:qn()}}),await s.value.execute(`CREATE TABLE memory_test (vec FLOAT[768]);`)}),(e,t)=>(U(),V(`div`,qJ,[K(`div`,JJ,[W(l)===`2d`?(U(),mn(Nh,{key:0,"focus-at":e.focusAt,"mouth-open-size":W(u),"min-w":`50%